Projects

I'm one of a handful of people behind the /dev/collective blog here on hvergi.net, where we try to provide useful content on programming, computer science, software engineering and some tech stuff.

CCS in Haskell

On this page you can find the Haskell source code for a rudimentary model checker for CCS and (non-recursive) HML, as well as a PDF file describing the implementation. The plan is that this can serve as a basis for myself and other people to experiment with model checking algorithms.


I've also been involved in a few open source efforts. Unfortunately I haven't found much time for these since starting school again.

PyAMF and RTMPy

PyAMF is a Python implementation of the AMF (Action Message Format) protocol. AMF is a compact binary protocol designed for communication between a Flash client and a server. PyAMF enables Python programmers to act both as clients and servers against other AMF endpoints. It als includes a generic remoting component for major Python web-platforms that allows easy RPC between a Flash/Flex client and a Python powered web server.

RTMPy is a planned implementation of RTMP (Real Time Messaging Protocol) as a Twisted protocol, built on top of PyAMF. RTMP provides bi-directional multiplexed data streams between a client and a server, supporting among others RPC, remote objects and real-time audio and video streaming.

Pretty much all of the work that goes into these project nowadays is done by my good friends Thijs Triemstra and Nick Joyce.

Smaller contributions

I contributed some code to the MochiKit JavaScript library, namely the Selector module, which I ported from Prototype. While MochiKit is in a sort of stasis at the moment, I try to watch the mailing-list for any maintenance requests for that module.

I've also left some marks on the StacklessExamples wiki, a repository of example code for Stackless Python. Namely, I integrated Richard Tew's socket module with the WSGI server from CherryPy, resulting in StacklessWSGI, a web server that processes each request with a dedicated tasklet.