Personal Software Projects

Besides my work at the university and the web authoring, web design and web programming I did as a freelancer for many years, I work on several side projects for learning purposes and recreation. This is not meant to be an advertisement to read or use these. But it's a part of me and if you are curious, feel free to have a look. :-)

  • Contenticious (Repository) is a very simple file-system based content management system on top of the fabulous Perl web framework Mojolicious. It is able to either serve the resulting website or can generate static web content. This site is also generated by Contenticious, via Travis CI, hosted on GitHub Pages.
  • PerLisp is a statically-scoped lisp interpreter written in Perl which is able to run a dynamically-scoped lisp interpreter written in lisp which is able to run itself inside PerLisp. It also features some non-standard features, for example auto-currying (inspired by Haskell). For the German Perl magazine I wrote an article about how it could be a good idea to develop a programming language interpreter by yourself.
  • EventStore::Tiny (Repository) is a minimal event store implementation I wrote to get my hands dirty with event sourcing. I also tried to use best practices in terms of documentation, continuous unit, integration, coverage and documentation testing and got contributions from two well-known perl hackers on day one after the first release to CPAN. The Perl code profiler Devel::NYTProf proved to be extremely useful while debugging this possibly super-slow event store stuff.
  • Clerical twitter services - inspired by the one and only @big_ben_clock (which is awesome, but not in my timezone) I built a web service in 2009 that allows twitter users to make their accounts tweet like a clock (example: @frauenkirche_dd). I used the same web service to bring some local and important german churches to life on twitter. In terms of publicity the @koelner_dom was the most successful one (about 13200 followers in September 2017). The story was featured by at least one big German TV station (on twitter, but ... TV station!), Cologne's most important newspaper on the first page and I even was on air on a local radio station in Cologne. In April 2017, the local cathedral was in the news because the diocese announced it would report my @paulusdom account as fake after trying to contact me for three days. The issue was discussed in a local newspaper and finally dropped.
  • REE (Regular Expression Engine, WIP) is a simple regular expression compiler which offers some inspection. I also wrote a simple web interface for this engine for better inspection.
  • tGit (teaching/tiny/toy git, WIP) is a version control system framework similar to git, so its core is a hash-based file system. This will be used to explore advanced concepts of the version control universe, for example merging strategies.

There are various other small projects including a self-contained URL website generator, a viral social media "game" generator, a concept map / ontology creation and analysis tool, a file-system-based markdown note app and others not mentioned here.