View all of my projects on github!


Visualize networks of citations.
Source on Github License Travis Build Status
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.
InspiderWeb rendering of a network of but a few papers.
Example with very few nodes. Every green node corresponds to a paper from inspirehep, labeled e.g. by the inspirehep citation keys. If saved as a pdf, the nodes are furthermore clickable and open the corresponding paper. Connection between the nodes correspond to citations. Papers can furthermore be ordered by years.

Hierarchical Pie Charts

Package for matplotlib/pyplot.
Source on Github License Travis Build Status Documentation
HPie is a module to create Ring Charts/Hierarchical Pie Charts (also called Multilevel Pie Charts or Sunburst Charts) together with the matplotlib/pyplot package. Quoting Wikipedia:
A ring chart, also known as a sunburst chart or a multilevel pie chart, is used to visualize hierarchical data, depicted by concentric circles. The circle in the center represents the root node, with the hierarchy moving outward from the center. A segment of the inner circle bears a hierarchical relationship to those segments of the outer circle which lie within the angular sweep of the parent segment.
More documentation is available on and github.
Hierarchical Pie Plot generated with my package
Hierarchical Pie Plot generated with my package (and but few lines of code), similar to the diagrams shown by disk usage monitors. Each wedge corresponds to a folder, with the angle of the wedge proportional to its size. If a folder contains a subfolder, the latter is placed "on top" of the folder. Files that are in the folders therefore show up as "missing wedges". Wedges that are too small can be ignored.

Anki Plug-ins

Plug-ins & Templates for learning Japanese with Anki
Anki is a spaced repetition flashcard program that boasts high customizability with Add-ons. Here are a few things I have been working on, while going through the various stages of trying to learn Japanese.
  • Template tester: The styling of Anki's flashcards is governed by templates written in HTML and CSS. 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.
    Source on Github License Travis Build Status
  • Ignore duplicates: Customize how and when Anki flags cards as duplicates.
    Source on Github License
  • 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.
    Source on Github License
  • Merge notes: Plug-in to merge a set of notes (flashcards) into another set of notes. Rudimentary Add-on intended for one time use!
    Source on Github License
  • 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.
    Source on Github License
  • Readings Audio: Add Kunyomi/Onyomi audio to kanji readings flashcards in Anki. Currently not completely functional.
    Source on Github License
  • Reset Fields: Adds a button to reset all fields in the editor window in Anki.
    Source on Github License
  • Templates: The styling of Anki's flashcards is governed by templates written in HTML and CSS. Here are the ones I am using to learn Japanese.
    Source on Github License
A new toolbar for Anki's 'Add Card' dialog from the addon cbcImport
A new toolbar for Anki's 'Add Card' dialog (the three framed rows of buttons/labels/checkboxes at the bottom of the dialog) created by cbcImport, allowing to cycle through .csv files to speed up adding cards, while still being able to make changes case by case.
A new toolbar for Anki's 'Add Card' dialog from the addon cbcImport
Dialog from the Readings Audio plugin, that aims to add onyomi/kunyomi audio to kanji reading flashcards.


Other/old stuff.
  • 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.
    Source on Github License