CV
Skills
- Natural Languages
- English, Dutch, Spanish en German.
- Computer Languages
- Ruby, C, assembly (x86, AMD64, MIPS, and PowerPC), Common Lisp, Perl, Scheme, PHP, OCaml, Python, Java, C++, Smalltalk, BASIC, JavaScript, SQL (PostgreSQL, SQLite, MySQL, and Sybase), HTML, XHTML, XML en CSS.
- Operating Systems
- GNU/Linux (Debian, Ubuntu, RHEL, Gentoo, Slackware), OpenBSD, Mac OS X, NetBSD, DOS (MS-DOS and FreeDOS) en Microsoft Windows (2000 and XP).
- Standards
- C89, C99, FTP, gzip (RFC 1952), HTML, HTTP, IEEE 802.3 (Ethernet), IMAP, IPv4, IPv6, IRC (RFC 1459), Maildir, mbox, OpenGL, POP3, POSIX, SMTP, TCP (TCP/IP), UDP, XHTML en XML.
- Software
- Apache, BibTeX, CUPS, Doxygen, Emacs, Exim, Foremost, GDB, Ghostscript, Git, GNU Binutils (as, objdump, etc.), GPG, Iconv, Java Memory Profiler, LaTeX, Lex, Mailvisa, MaraDNS, Netcat, NetPBM, NMap, OpenSSH (ssh, scp, etc.), OpenSSL, Polipo, Privoxy, PSUtils, RCS, RSync, RubyGems, Sendmail, Splint, Subversion, Tiger (security tool), Troff, Yacc, Wget, Wireshark, cURL, indent, iptables, ltrace, make, ping, rdiff-backup, strace, traceroute, standard Unix commands (awk, cron, find, grep, mknod, renice, sed, etc.) en X11 (Xlib, xmodmap, xrdb, xvidtune, xwd, etc.).
Professional Experience
ProgrammerTriOpSys
http://www.triopsys.nl/September 2007 —
TriOpSys is an automation company that specializes in designing, building and controlling mission-critical IT systems. Application domains include public order and security, traffic management, defense and aerospace, and service and maintenance.
-
Helped deploy a new information system at all police departments in the Netherlands. Responsible for interoperability with other systems at multiple organizations.
-
Developed high-performance, memory-efficient XML-readers and -writers to process large volumes of XML under real-time constraints.
-
Helped design and implement multiple traffic data processing applications for the Dutch department of transportation.
DeveloperNoxa BV
http://www.noxa.nl/March 2007
Noxa operates a number of websites on behalf of the CareerNetwork Holding. Among the sites operated by Noxa are studentenwerk.nl, careernetwork.nl, scholierenwerk.nl, stagehulp.nl, parttimewerk.nl, and kamerhulp.nl.
-
Helped re-implement high-traffic websites with Ruby on Rails
-
Wrote RSpec tests
-
Helped improve my colleagues' knowledge and understanding of Ruby
DeveloperGong Reflections BV
http://www.gong.nl/February 2005 — December 2005
Gong is a company that matches skillful students with jobs made available by Gong's corporate customers. I redesigned Gong's database and the web interface to it, implemented the new design, migrated the data from the old database, and maintained the new database and web interface.
WebmasterScooterFreaks
http://www.scooter-freaks.nl/May 2004 — September 2004
ScooterFreaks is a website for everything related to (motor) scooters. I rewrote large portions of the website using PHP, XHTML, and CSS, and sanitized the database access code.
WebmasterVerdonck, Klooster & Associates
http://www.vka.nl/June 2000 — December 2001
Verdonck, Klooster & Associates is a consultancy firm. I redesigned and re-implemented their website using PHP, XHTML, and CSS and performed regular maintenance and frequent updates. I also developed a web interface to the MySQL database used to manage mailing lists.
Education
Master of ScienceUniversity of Twente
September 2003 — January 2007
- Subjects
- compiler construction, functional programming, advanced programming concepts, protocol engineering, mobile and wireless networking, concurrent and distributed programming, modeling and analysis of concurrent systems, hardware/software co-design, embedded computer architectures, advanced logic, lambda calculus, linear algebra, code theory, encryption, security, fault-tolerant digital systems, instrumentation of embedded systems, testing techniques, system validation, graph theory en algorithms, data structures, and complexity.
- Thesis
- Ahoy: A Proximity-Based Discovery Protocol. Describes the design and implementation of an efficient, decentralized service discovery protocol for mobile ad-hoc networks, based on attenuated Bloom filters.
-
Designed and implemented a simple programming language and compiler
-
Performed a short research project on forward error correction as an alternative to retransmits for achieving reliable transmission
-
Implemented a SPIN-like model checker
ExchangeUniversity of California, Davis
January 2002 — June 2002
- Subjects
- C++, artificial intelligence, MIPS assembly language, design and implementation of operating systems, Spanish en analytical philosophy.
-
Implemented a lottery scheduler in the MINIX 2.0 kernel
Bachelor of Arts in Sciences and HumanitiesUniversity College Utrecht
September 2000 — May 2003
- Subjects
- object-oriented programming using Java, databases, e-commerce, XML, XSLT, Spanish, linguistics, electrodynamics en neuroscience.
-
Designed a method to represent a Java-like object model in SQL
-
Implemented an e-commerce protocol
Software I Have Written
- The Voodoo Compiler
- a compiler for the Voodoo programming language, a low-level abstraction providing a single target for native code generation.
- TurboVM
- a small and simple virtual machine with a RISC instruction set, useful as a compilation target for programming languages.
- Alchemist
- a code generation library that can be used to programmatically generate machine code.
- muhttpd
- a simple webserver supporting HTTP, HTTPS, static pages, CGI scripts, and handlers based on MIME type.
- Mailvisa
- a Bayesian spam filter with good precision, recall, and memory usage.
- Ahoy
- an efficient, decentralized service discovery protocol for mobile ad-hoc networks (part of my Master's thesis).
- libagc
- a stop-and-copy garbage collector that supports finalizers and can be extended with new types at run time.
- fectp (not released yet)
- a reliable transport protocol based on forward error correction; useful on high-latency links.
I have implemented DCC file transfers for the Pidgin instant messaging client (formerly known as Gaim). I have also developed and maintained various websites.