Software engineering is a profession, and it is an art.
I like the art of system design and coding. I respect complexity, I love to simplify.
I have a keen interest for the magic behind the scenes: fault tolerance, network technology, scalable and distributed systems.
As a scientist by heart and education, I love data and have things to say and thoughts about numerical data analysis, statistics, and machine learning.
At the core of software engineering, I like to focus on defining what correct behavior is, on creating clear concepts, on code readability and quality, on testing, and on maintainability. Balanced against business needs: I love to ship it, to get feedback.
I believe that long-term maintenance of software with a large user base teaches many important lessons.
I constantly learn and like to discover new things!
Open source software projects that I created and maintain:
- gipc, providing gevent-cooperative child processes and inter-process communication. Used by Quantopian, Ajenti, Chronology, GDriveFS and others.
- WP-GeSHi-Highlight, a syntax highlighting plugin for WordPress, used by more than 1.000 websites.
- python-cmdline-bootstrap, a structure template for Python command line applications, simplifying release and distribution via setuptools/PyPI/pip for Python 2 and 3.
- goeffel, a tool for measuring the resource utilization of a specific process over time.
A selection of articles I have published through my blog
- Reading files line by line in C++ using ifstream: dealing correctly with badbit, failbit, eofbit, and perror()
- Distributing a Python command line application
- Sharing state in AngularJS: be aware of $watch issues and race conditions during app initialization
- Discourse Docker container: send mail through Exim
- Building numpy and scipy with Intel compilers and Intel MKL on a 64 bit machine
- A command line argument is raw binary data. It comes with limitations and needs interpretation
- Data analysis with pandas: enjoy the awesome
- In-memory SQLite database and Flask: a threading trap
- Setting up Torque (PBS) for GPU job scheduling
- Recover a gzipped HTML response from the browser cache
Much more to be found in the technology category of my blog.
Web services that I created and maintain:
- Songkick events for Google’s Knowledge Graph, extracts tour dates for a certain artist from Songkick and converts the data to a special JSON-LD format, applicable for showing events in Google’s Knowledge Graph. Used by Milky Chance, The Black Feathers and others.
Open source software projects that I have contributed to:
- gevent, a coroutine-based network library
- pandas, a data analysis and manipulation library for Python
- Radicale, a CalDAV/CardDAV server
- ldap3, a Python LDAP library
- gunicorn, a Python WSGI (HTTP) Server
- Falcon, a Python web framework
- pysaml2, a Python SAML library
- python3-saml, another Python SAML library
- docker-openldap, a docker image to run OpenLDAP
- Twitter Bootstrap
- Open Babel
Stale/idle software projects that I have created:
- timegaps, a command line program for thinning out a collection of items, whereas the “time gaps” between accepted items become larger with increasing age of items. Useful for implementing backup retention policies.
- molecular-structure-comparison, a Python framework for analyzing molecular structures, featuring, for instance, a DBSCAN clustering method with automatic parameter optimization, and a simple PDB file format parser.
- beautiful-readme, creating a mobile-friendly static website from your README file.
- clobi, a job scheduling system supporting virtual machines in multiple Infrastructure-as-a-Service computing clouds, developed in the course of my Google Summer of Code 2009.
- AWSAC, Amazon Web Services for ATLAS Computing.
- Fotobatch, for renaming, resizing, and turning many digital photos with only one click.
- Keks, a highly decoupled micro job queuing system based on Python, Redis, and gevent.
- Schlonz, a Python program for building modern static image galleries using cutting-edge HTML5 techniques and some of the best Lightbox and image gallery techniques available.
- latexletter, a Python module that provides a simple abstraction for the creation of LaTeX letters based on template files.
- Galleria Classicmod, a free theme for Galleria, providing, among others, a fullscreen option.