AnkiPandas
Anki is one of the most popular flashcard system for spaced repetition learning, pandas is the most popular python package for data analysis and manipulation. So what could be better than to bring both together? With AnkiPandas
you can use pandas
to easily analyze or manipulate your Anki flashcards.
GNN tracking
This open source project uses graph neural networks to reconstruct charged particle trajectories in particle detectors (โtrackingโ). Batteries are included: The package implements the whole processing pipeline, several models and approaches, and the evaluation of the final performance metrics. Built around pytorch lightning, the models are easy to train and to restore. By using hooks and callbacks, everything remains modular and maintainable.
Wandb offline sync hook
Many large scientific compute clusters are built around login and compute nodes (allocated by a workload manager). Often, the compute nodes do not have direct access to the Internet and cannot communicate with cloud-based services. This package provides a convenient way to work around this problem when synchronizing data to Weights & Biases, a machine-learning experiment tracker.
wandb-osh
uses a shared file system to forward synchronization requests to a node with Internet access
Sunburst
Sunburst
is a package to create sunburst plots/ring charts/hierarchical pie charts with matplotlib.
ClusterKinG
This package provides a flexible yet easy to use framework to cluster sets of histograms (or other higher dimensional data) and to select benchmark points representing each cluster. The package particularly focuses on use cases in high energy physics. A physics use case has been demonstrated in this paper.
ClusterKinG
: clustering of a a three dimensional parameter space results in three distinct clusters. Benchmark points are highlighted with enlarged markers.
Piezo Puzzle
An interactive birthday puzzle with a piezo buzzer operated by an atmega8 MCU. Different values can be selected on a rotary dial. For each selected value, letter combinations are communicated with morse code. Once their meaning is understood, they can be brought in the right order to get a code. After this code has been entered, three dial values play different birthday songs.
Codenames
Experimental/educational online implementation of Codenames, a popular word game. Czech Games Edition have since released an official (and much more complete) online version, so play that instead.
ppserver
A small flask server that helps to keep track of story lines and characters (NPCs) in my pen & paper game. The underlying data is collaboratively maintained in google sheets.
InspiderWeb
InspiderWeb is a tool to analyze networks of papers referencing and citing each other. It automatically looks up the relationship of papers based on information from inspirehep (a large database for papers in high energy physics), then uses the dot language to describe the resulting network. The result can then be plotted by the Graphviz Package and similar programs. Example of a large network of papers. InspiderWeb comes with an easy to use command line interface, but can also be used as a python package to allow for further customization.
Teaching Material
- Paradigms & Patterns: Lecture slides (both as LaTeX source code and as rendered pdfs) and exercises for a course taught originally at iCSC 2020 to more than 500 participants.
- Everything you didn't know you needed: A collection of tips and tricks for python, the command line and more.
- Collaborative Programming with GitHub
- HEP Fitting Tutorial: Jupyter notebooks for tutorials on fitting for high energy physics.
Various projects
- RandomFileTree: Create a random file/directory tree/structure in python for testing purposes.
-
jekyll-relative-url-check: Enforce that all URLs in your Jekyll setup are relative to
site.baseurl
- Verzettler: Non-linear, non-hierarchical knowledge management: Helper scripts for your Zettelkasten.
- video-frame-merger: Overlay the moving elements of video frames to condense a whole motion into one still image.
Anki Plug-ins
-
Template tester: The styling of Anki's flashcards is governed by templates written in
HTML
andCSS
. This is a small tool to batch generate previews of templates for different user input cases, which comes in handy when maintaining multiple and complicated templates. - Ignore duplicates: Customize how and when Anki flags cards as duplicates.
- Sync fields: Add-on to synchronize information/field values between different cards/notes, e.g. including information/mnemonics about the kanji used in Japanese words also on the cards of Japanese words that use them (and add these as exemplary use cases to the kanji cards). Requires substantial configuration.
- Merge notes: Plug-in to merge a set of notes (flashcards) into another set of notes. Rudimentary Add-on intended for one time use!
- cbcImport: Adds a new toolbar to Anki's Add Card dialog to load .csv files and then cycle through them, adding cards/vocabulary items step by step.
- Readings Audio: Add Kunyomi/Onyomi audio to kanji readings flashcards in Anki. Currently not completely functional.
- Reset Fields: Adds a button to reset all fields in the editor window in Anki.
-
Templates: The styling of Anki's flashcards is governed by templates written in
HTML
andCSS
. Here are the ones I am using to learn Japanese.
.csv
files to speed up adding cards, while still being able to make changes case by case.Other tools for learning Japanese
- RTK Lookup: For people who learn kanji with the books from James Heisig (Remembering The Kanji). A little command line interface that allows to look up multiple kanji by keyword (or parts of it), by parts of the story/mnemonic or by frame number.
- rtk-table-tools: Generates beautiful posters of all JLPT kanji! Also includes a web scraper to get additional information for that purpose.