Portrait photo

Christian Funder Sommerlund

zero3 [at] zero3 [dot] dk

Minor side projects

2016 - now


Source code / Executable script

Python script for finding the Windows Installer (.msi) that installed a specific file.

Major university projects

2015 - 2016


(Source code to be available when I get around digging it up)

For my (never finished) master's thesis, I implemented a software framework for biomarker discovery in bioinformatics. It consists of a customizable Java machine learning backend accompanied by a user-friendly web frontend for managing experiments. It integrates with WEKA and Cognitive Foundry.



Report, source code

TimetableScheduler is a an individual study activity I did during my computer science master's degree. It solves the so-called university timetabling problem at Faculty of Science at University of Southern Denmark using integer programming. The code is written in Java and uses the Gurobi Optimizer.



Report, source code

Genejector is my computer science bachelor thesis. It is a framework prototype for doing all kinds of crazy new things with genetic programming in Java. Notable features includes context reflection, data structures, on-the-fly compilation and injection and execution sandboxing. The implementation is written in Java and uses no third party libraries.

Mixed university goodies


NavBot - Bot pathfinding in Counter-Strike


Mini assignment about implementing A* searching in the HPB bot framework. Most interestingly, perhaps, is the short summary of Half-Life bot history I included in the report.

The first and only assignment I did on computer graphics and OpenGL while at the university. CoverMaze is basically a tiny turn-based game. You are trying to find your way through a 3D maze full of movie covers on the walls while being hunted by Cookie Monster. The latest movie covers are downloaded from the interwebs on startup!


A log-structured file system in FUSE

Report + video + source code

For this operating systems assignment, I implemented a log-structured file system in FUSE (Filesystem in Userspace). The implementation is written in C.


Intelligent study area map

Poster, report

With thousands of students sharing hundreds of study areas on campus, how would you find a suitable one right now? For my first-year project, I worked with 4 other students in setting up a wireless sensor network to answer this question. We equipped study areas with sensors capable of measuring temperature and noise and used the data to build an online map of study areas color coded in real-time by their quality.

Ancient stuff

2009 - 2010

Windows installer for the Freenet project

Project website, Source code

I made a custom Windows installer for the Freenet open-source project in the scripting language AutoHotkey. Notable features included UAC elevation, custom user account creation, service installation, a user-friendly GUI, a tray manager and an update script. Note that the project has change a lot since then, and no longer uses the installer.

2004 - 2008

HLGuard and The Z Project

Website archive, archived feature list

At the age of 15, I took over development of the Half-Life Guard anti-cheat system together with a Welsh friend (hi ZepheR!). Through trial and error, we released several major updates with new features such as a skywalk blocker and detection of burst fire cheating. At its peak, HLGuard was running on around 900 game servers, most of them Counter-Strike 1.6. We hosted HLGuard and several other smaller projects through our umbrella organization 'The Z Project' until our paths diverged several years later.

2003 - 2004

Zero's AdminMod Plugins

Executables + source code, website archive

The very first things I ever programmed, and released to the world, were AdminMod plugins for Counter-Strike and other Half-Life based games. The plugins do various funny things, like teleporting players to each other and making players glow if they do not have the required anti-cheat client running. A local copy of the .amx (binaries) and .sma (sources) files are linked above, and Internet Archive has a semi-broken copy of the website available, also linked above.