Curriculum Vitæ

Personalia

Name Ralph Meijer
Location Eindhoven
Contact via email or offline Jabber

Education

Master of Computer Science

Technische Universiteit Eindhoven — 2004

Focus on Distributed Systems.

Master's project

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.

Internship

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.

Employment

Senior Developer

Mediamatic Lab, Amsterdam, The Netherlands — November 2007-Present

Mediamatic Lab builds web-based social networks, communities and connections with the physical world. The social networks are built on top of the Community Management System anyMeta.

My role is 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.

Software Engineer

Jaiku, Helsinki, Finland — March-October 2007

Jaiku is 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 provides 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.

Besides the website, the service can 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.

Scientific Programmer

Technische Universiteit Eindhoven, Eindhoven, The Netherlands — 2004-2007

Department Mechanical Engineering, group Systems Engineering

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.

Worked on:

  • Python based simulator for χ.
  • Translations from χ to Promela, Uppaal and μCRL using ASF+SDF, a specification language for defining syntax and semantics of languages.
  • A way to execute parts of χ models in combination with realizations (e.g. in hardware) using Twisted and Jabber technologies.

Network Administrator and Software Developer

OLM and subsidiaries, Eindhoven, The Netherlands — 1998-2003

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.

Also developed a Personal TV Guide (previously available at tvgids.nl) and a one-time login system and identity system for all communities called Wereld.

Relevant private projects

Jabber

2000-present

From jabber.org:

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 and currently serving on its XMPP Council, that manages the XMPP standards process. 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.

I give presentations and manage booths at conferences like FOSDEM and EuroOSCON.

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.

Skills

Natural Languages
Dutch and English, both fluent in writing and speaking.
Programming languages
Python, PHP, Javascript, Perl, C, and C++, among others including assembly for a number of architectures.
Database administration and development
PostgreSQL, MySQL, Oracle.
System administration
FreeBSD, GNU/Linux, SunOS/Solaris, Novell.
Network administration
UTP and BNC cabling, Cisco Routers and Managed Switches, DHCP, firewalls, traffic shapers, bridges, DNS, NFS, Apache web server, Sendmail and Postfix mail servers.
Network Protocols
IP, TCP, UDP, RTP, HTTP, SMTP, XMPP/Jabber
Web development
(X)HTML, XML, XSLT, XPATH, CSS, RSS, Atom, SOAP, XML-RPC.