Master of Computer Science
Focus on Distributed Systems.
Philips Electronics, Eindhoven, The Netherlands — One year, 2003–2004
Sector Information and Software Technology, group Software Architecting
The design of a framework to test and experiment with different approaches to Quality of Service and graceful degradation in wireless video streaming. Implementation based on GStreamer, adding RTP network streaming and using layered video streams, with increasing quality. Thesis.
Ericsson Radio Labs, Stockholm, Sweden — Three months, 2000
The design of a robust Voice over IP application, resistant to packet loss as a result over radio (GSM) transmission. This application was to be used in existing test bed that simulates radio transmissions including interference. The goal of the larger project was to reduce traffic size made up by IP/UDP/RTP header information, while being able to resynchronize despite significant packet loss.
Mailgun / Rackspace — May 2013–present
San Francisco (CA) / San Antonio (TX), USA – Remote
As Software Engineer, I have been responsible for a variety of Mailgun's back-end services, most notably:
Mochi Media — December 2011–March 2013
San Francisco, California, USA – Remote
Mochi Media was the largest online games network in the world. They provided products and services for managing the distribution of games, to track usage and support in-game advertising and micro-transactions.
As Platform Engineer I was responsible for maintaining and improving the Python and Erlang based back-end systems for serving up ads and supporting services. Some larger projects I have been involved in are:
The logging and graphing projects proved to significantly cut down on the amount of effort and time needed to track down issues and allow us to detect new problems faster. Besides that we were able to cut down on technical debt by replacing or removing related existing custom code and suboptimal services.
Mediamatic Lab — November 2007–December 2011
Amsterdam, The Netherlands – Partially Remote
My role was to architect and implement new features to PHP-based anyMeta. A large part of these has been to connect different instances of anyMeta into a federation using open technologies like Atom, OpenID, OAuth, XRDS and Jabber/XMPP. Related physical world projects involved RFID and Arduino controller boards. Parts of these enhancements have been built using Twisted in Python.
Jaiku — March–October 2007
Helsinki, Finland – Remote
Jaiku was the name of an online service that was developed by a company with the same name, prior to being acquired by Google in October 2007. The service provided users the ability to share their online presence and location with other people, and keep them updated on new photos, trips, blog entries and other social objects they create within other services. All these updates are aggregated into a so-called activity streams. Aspects of Jaiku have influenced what eventually grew to be Google Plus
Besides the website, the service could be accessed through a mobile client for Nokia Series 60 phones, a mobile version of the website, SMS and Instant Messaging (IM). My work focused on the IM interface, based on Jabber/XMPP and more general backend programming on top of Twisted, a framework for networked applications in Python. I was also involved with developing a way to let the service interoperate with other social networking services using open protocols and formats, such as XMPP and Atom, in a near-real time fashion.
Technische Universiteit Eindhoven — 2004–2007
Department Mechanical Engineering, group Systems Engineering
Eindhoven, The Netherlands
Aid researchers by designing and implementing software that supplements their research. Most of the work is focussed on developing models of (parts of) industrial machines. The χ modeling language is a formalism that borrows from process algebra and automata for describing descrete event, timed and hybrid systems. The χ tooling project provides tools to simulated χ models or translate them to other formalisms for analysis of properties. In addition, the models can be used as part of the design and execution of a new system. This is referred to as Model Based Engineering.
Network Administrator and Software Developer
OLM and subsidiaries — 1998–2003
Eindhoven, The Netherlands
Worked as network administrator of the OLM server park, maintain web and database servers, e-mail, firewalls for the Virtual Communities developed by OLM like SmulWeb, ReisWeb, VrouwZijn, SportWeb and Born2Chill in the Netherlands, Belgium and Germany.
Relevant private projects
Jabber/XMPP — 2000–present
XMPP Council — 2004–2013
XSF Board — 2013–present
Jabber is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time.
Jabber's base protocols have been standardised within the IETF as the eXtensible Messaging and Presence Protocol or XMPP. The XMPP Standards Foundation (XSF) builds open standards on top of XMPP in its XMPP Extension Protocol (XEP) series and is the unifying entity in the Jabber community.
I am a founding Member of the XSF, have served on its XMPP Council that manages the XMPP standards process for 9 years, and have been Director of the XSF since 2013. I have co-authored the Jabber Publish-Subscribe XEP and several related specifications. I also developed Wokkel, Idavoll, and Mimír, a hybrid Web/Jabber news service, and host several experiments at ralphm.net.
Twisted — 2004–present
Twisted is an event-driven framework for building networked applications in Python. It implements several network protocols, and I am the module owner of the Jabber implementation.
DJOE — 1993–2001
De Jonge Onderzoekers Eindhoven (DJOE, The Young Scientists, Eindhoven) is a non-profit organisation that provides a laboratory for 12–20 year olds to get acquainted in various technical fields, among which Physics, Electronics, Chemistry, Mechanical Engineering and Computer Science. As a participant, I was UNIX system administrator from 1994–2000 and also served on the board for about three years.