Thoughts on Computer Science, Politics and Philosophy


Me Welcome! My name is Nicolas Lenz, or Eisfunke. I’m a master student of computer science at Technical University of Dortmund in Germany.

Contact & Links

There are a lot of places where one can contact and/or find me online.

About Me


I’m 23 and live in Dortmund, Germany where I’m a master student of computer science at TU Dortmund University.

My main interests are science, computer science and politics (see below), also space exploration, history, philosophy, city and traffic planning.

I’m chairman of the student body of the computer science faculty at my university and I participate in the FOSS-AG.

I enjoy cycling, my main means of mobility is my e-bike. Mostly with my girlfriend and sometimes with my parents or other people I do Geocaching, an outdoor game using GPS where one solves puzzles and other stuff to find hidden boxes called “geocaches”.

Moreover, as a computer geek I’m of course into computer games as well, mainly strategy and management games like Cities: Skylines, Europa Universalis or Stellaris. Apart from that I’m fond of simulations like Kerbal Space Program or Elite: Dangerous. These two games are where I mainly got my liking of astronomy, space exploration and rocket science from.

I also like photography, mainly landscapes, streets and architecture, and also computer graphics (see below). When I’m somewhere with enough wind, I love kite flying.

Science & Computer Science

I love science, scientific method, learning and explaining things. I am a skepticist and rationalist: I strive to question all my knowledge and my beliefs and and back them up with rational reasoning.

I study computer science at TU Dortmund University in Germany.

My special interests lie in the fields of functional programming, lambda calculus, type systems, formal languages and grammars, programming language design and theory, category theory and algebraic/inductive/recursive data structures.

One of my key passions is teaching and explaining the things I learn. I work as a tutor at my university, I sometimes do talks for the FOSS-AG, where I also organized a workshop about functional programming. I’m currently organizing a bigger workshop about functional programming (in German) for fun.

I enjoy the practical stuff as well: programming (preferably functional), Linux, server administration, continuous integration, data/communication security and free/libre and open source software in general. I administrate a home server (which this web page runs on) and write software for fun, most of it openly available under free licenses.

Take a look at my GitLab for my software and more. Some of my favorite projects include:

  • Lightfold, a very young and experimental functional programming language with a dependent type system implemented in Haskell. I started development in my bachelor thesis.
  • Nebelhorn, a static site generator using Pandoc. This website is generated with Nebelhorn.
  • Mock and the corresponding Telegram bot. Mock is a GReAt HAsKeLL tOOl to traNSFoRm TExt into different styles.

Sometimes I also engage in graphics, mostly in a systematic-programmatic way. I love fractals and their recursive nature. Some examples:

  • My personal Eisfunke logo that is defined as an recursive fractal.
  • The Lightfold logo that I constructed precisely from a few base parameters using geometrics.
  • My fractal snowflakes generated from recursive grammars called “lindenmayer systems”.
  • The color palette used for this website. The colors are generated systematically from a few base parameters in the CIELUV colorspace in order to look uniform and harmonic.


Work in progress


CC-BY-SA-4.0 Unless marked otherwise, the content and source code of this blog are licensed under a Creative Commons Attribution-ShareAlike 4.0 license.

The header image is of the autobahn A81 in Geisingen, Germany. The image is in the public domain and taken from https://www.goodfreephotos.com/astrophotography/milky-way-stars-over-the-lighted-highway.jpg.php.

The Eisfunke logo in the header is subject to some usage terms, see the link.

The fonts used are Raleway as main sans serif font, Zilla Slab as Slab Serif font for continuous text and Iosevka in a custom variant as monospace code font.


This blog is built with Nebelhorn. That means that I write the articles and pages using simple Markdown syntax.

You can browse the source files of this website on my GitLab. If you find any errors, even spelling mistakes, please open an issue or even open a merge request and I’ll look into it.

I deploy this website using GitLab Pages. That means: I can change something on my PC, directly in my GitLab or even on my mobile phone. I push the change using Git. Then my server automatically builds the website through GitLab CI/CD using the latest version of Nebelhorn. Finally, it is published right here. It takes less than 20 seconds from upload to publishing.

The published site is static and guaranteed to be completely cookie- and JavaScript-free (I don’t like JavaScript).

Under the hood Nebelhorn is written in Haskell using Pandoc, a really great universal document converter. For more information about how Nebelhorn works under the hood look at its project site.