Archive for the 'Projects' Category

Interesting Programming Languages

One personal goal this winter is to do more programming in beautiful languages.

At this moment I am quite excited about Python 3, Perl 6, and Go. Read the rest of this entry »

My First FreeBSD Port

A nice surprise last week: textproc/libcrm114 became my first official FreeBSD port.  :-)

Read the rest of this entry »

Helpful Books to Understand the Architecture of Snort

Every now and then the Snort mailing lists get “homework questions” like how to learn about the program’s architecture. IMHO the most helpful books for a more detailed insight are:

Read the rest of this entry »


As the name says CUnit is an xUnit implementation for the C programming language.

In comparison to dynamic programming languages the test organization requires much more manual glue code. Because C has no introspection one has to register every test case manually. Likewise there is no support for utilities like mock object generation or annotations.

On the other hand unit tests can be very useful in C, for example when implementing data structures. Test cases may isolate null pointer dereferencing and one can use valgrind on them to detect memory leaks at the lowest level.

Read the rest of this entry »

PDFs und Spezifikations-Auslegung

Aus einer fixen Idee heraus habe ich mir ein Perlskript geschrieben um PDFs zu signieren. Und wie sich das für einen 750-Seiten-ISO-Standard gehört bleiben im Datenformat so einige Angaben interpretationsbedürftig. %-)
Read the rest of this entry »


I released my first CPAN module.

I finally played with libcrm114, a C library that implements several text classification algorithms. It is a potential replacement for the mailreaver.crm tool, which is the basis for my SpamAssassin plugin. Read the rest of this entry »

NotToDo List

I decided to shorten my ever expanding “eternal ToDo list”, because I realized I simply will not have enough free time for all my ideas. I put this list of abandoned projects online because maybe you want to work on them, or someone else might find them useful and pay me to work on them.  ;-)

  • syslog-sign library: take the syslog-sign code from syslogd and turn it into a general library to sign arbitrary streams of text or packets.
  • timestamping: extend syslogd or the syslog-sign library to include qualified timestamps.
  • PEAR::Payment_SEPA: write a free library to read and generate SEPA credit transfer messages, basically the next generation of Payment_DTA. Problem is it’s a big XML base specification and customer-to-bank messages may still use different formats; leading to the secondary problem that validation services to test such an implementation are expensive.
  • Puppet package plugin for FreeBSD to use portmaster instead of portupgrade.

Design and Implementation of an IPv6 Plugin for the Snort Intrusion Detection System

Nach einem Schreib-Endspurt im August und folgender Schreib-Faulheit im September soll es auch hier mal wieder weitergehen. Und bevor sich wirklich neue Themen finden, gibt’s noch ein paar übriggebliebene Notizen zu meiner Diplomarbeit: Design and Implementation of an IPv6 Plugin for the Snort Intrusion Detection System.

[Short english explanation:] I finished my diploma thesis: Design and Implementation of an IPv6 Plugin for the Snort Intrusion Detection System.