Non-commercial code
Own(ed) projects
For many projects described below I maintain a repository on git.sthu.org:
-
A heap of code snippets and smaller projects in different programming languages. Most for fun, but a few are serious.
-
Libstick is a persistent homology library written in C++.
-
A simple mail queue for SMTP clients (like msmtp) that do not feature a mail queue.
-
A tool that takes a job specification from a database, runs the job, collects and stores data from the job’s output, and repeats until all jobs are processed. Multiple instances of paralleljobs can be run against the same database.
-
A simple backup tool that creates full, differential and incremental tarballs of user-configured file sets. Each tarball belongs to an epoch (e.g. hour, day, week, month, year) and sitarba keeps for each epoch a configurable number of backups.
-
joydevmap is a small userspace tool to change the axis and button mappings of joysticks and gamepads in Linux.
-
hrwcc: a self-compiling C compiler
As a student I implemented in cooperation with my two co-workers a self-compiling C compiler as an exercise for the compiler construction class. Of course, we did not implement the whole ANSI C99 standard or something comparable. However, our language subset is rich enough to implement a C compiler in it. That is, our compiler can compile its own source code: it is self-compiling.
-
hrwOS: a simple x86 operating system
In the operating systems class I attended as a student we were challenged to implement a basic operating system. Together with my two co-workers we implemented a x86 operating system based on the GeekOS project. In order to finish this project one needs to implement a virtual memory system with paging and swapping, a scheduler, a file system, and inter process communication. Our operating system is finally able to run concurrent ELF binaries build by gcc.
-
pyGDB: a pygtk interface for gdb in connection with gvim
A few years ago I started to implement a GTK interface to gdb which works together with the gvim editor. Due to the lack of time this project is unmaintained. Its corresponding site is still online to prevent dead links.
-
A little tool to compute WEP passphrases based on the code of WepAttack.
-
A development tool for logical circuits which I wrote as teenager when I attended school in the years 2001-2002. The HTELA project is written in C++ using the MFC and comprises roughly 30.000 lines of code.
Within HTELA one can draw schematic layouts of digital circuits in a graphical development environment. A circuit may contain simple gates such as AND, OR, input, output, various kinds of flip flops, counters, shift registers and the like. In particular, one can use a HTELA file as a complex gate in another HTELA project. HTELA is capable of analyzing the flow of the binary signals within the circuit and also considered temporal delays at the gates. The user can define delays for each input and output of a gate. Hence, one can emulate various flip flops or even memory chips using basic NAND gates and let HTELA simulate the flow of the binary values through the circuit for a given input signal at the input gates. Additionally, for combinatorial circuits HTELA is able to compute truth tables and boolean expressions. Moreover, HTELA is able to generate a circuit by providing a truth table or an consistent timing diagram.
Github and Gitlab
My github and gitlab accounts mostly contain forks of others’ projects for which I contributed some features or fixes, e.g.
- awesome-wm-widgets
- cheatsheets
- conky
- gdb-dashboard
- git-latexdiff
- git-tools
- gruvbox
- laptop-mode-tools
- latex-unicoder.vim
- markdown-latex
- neosnippets-snippets
- offlineimap
- sage-on-gentoo
- vim-clang
- vim-mail
More open-source code
Some other projects to which I made some more or less serious contributions: