Laurens Holst résumé

Personalia

A few words about me: As a developer I have healthy focus on sound development principles and practices, and am always on the look-out to learn more.

I would consider myself an “agile” developer and apply many of its practices in my daily work, such as unit testing, incremental implementation and refactoring, and code review. I aim to get things done quickly, but not at the expense of quality. When creating architecture my focus is not on complicated frameworks, but on light-weight approaches which result in clean and extensible code.

I am also a person who cares about the development process and the quality of the code that is delivered, and you can expect me to help drive initiatives and give clear and constructive feedback. For example, at Backbase I have been the driving factor in establishing a code review process.

Education

  1. VWO, N&T profile, Goois Lyceum, Bussum
  2. Computer Science, Utrecht University (no degree)
    Course highlights:
    • Imperative / functional / distributed programming
    • Programming and correctness
    • Graphics / 3D modelling
    • Advanced database systems
    • Data mining
  3. Foreign exchange program, Kyoto University, Japan

Natural languages

  1. Dutch – native speaker
  2. English – fluent writing, good speaking
  3. German – moderate reading
  4. French – moderate reading
  5. Japanese – basic understanding

Have worked in an international English-speaking environment at Backbase, and also lived a year among international students in Japan.

Programming languages

  1. Primarily: Javascript, Java, XHTML, CSS, XML technologies, PHP, SQL, Z80 assembly
  2. Familiar with: Scala, Ruby, Python, C# & .NET, Haskell and C++
  3. Platforms: Windows, Mac OS X, Linux, Android and the Web

I do not have a specific preference for programming language or environment; I am senior in the area of web technologies, but am also interested in other fields. I don’t consider learning a new language or environment an obstacle.

Work experience

2011-now: Rough Cookie — Senior Game Developer

Rough Cookie is a Dutch mobile game development company, and a daughter company of San Francisco-based ngmoco:) and the Japanese social game giant DeNA.

2004-2011: Backbase — Senior Developer

Backbase is an internet technology company based in Amsterdam, the Netherlands. The company has two main products, one is an AJAX framework based on XML and XHTML, and nowadays the company is focusing on portal software. In addition to product development they also provide related services. I started at Backbase as a part-time student, and when I left I was working as a full-time senior developer in the R&D department.

During my employment at Backbase I have worked in many different areas, amongst others JavaScript and XML programming, web application architecture and development, technical writing, testing, and on-site consulting for a few other companies. I have specialised in web technologies and standards, and have also implemented several of them, such as CSS Selectors, XML Schema Datatypes, an XML DOM, and a forms framework.

As a senior developer, within the team I am leading in architecture and keeping a close eye on quality.

My contributions to Backbase products:

Personal projects

I have also worked on a lot of personal projects. Since about 1996 I have been involved in a number of Z80 assembly projects for the MSX computer, amongst others a disk magazine, music disks and several tools and never-finished games.

More recently I have been doing projects in a variety of development environments. Mostly related to web and XML technologies as that’s where my interests have focused the last couple of years. I often spend time reading blogs about the latest technologies and reading up on interesting standards and specifications, and also participate in discussion fora like mailing lists, etc.

For a complete list see the projects page on my website. Below are some highlights.

2010-now: GAIA tool
A desktop tool to view the Roland GAIA SH-01 synthesizer’s settings and edit patches. One of the highlights is that it lets you edit arpeggio patterns, something the device can’t do out of the box. Written in Java, using an MVC architecture.
2008-now: CSS selectors
A CSS Selectors matching and querying implementation in Javascript. It is used in the Backbase AJAX framework but was developed in my own time.
2008-now: Grauw-lib
A JavaScript framework with strong OOP architecture and providing a foundation for using OOP in JavaScript, while trying to stay true to the language. Also contains a unit testing framework, MVC classes and URI parsing and resolving functionality.
2007: EVEMon
I’ve made a number of contributions to the EVEMon project, a game information monitor and character development planner tool for the EVE Online MMORPG game. It is written in C# on Microsoft’s .NET platform.
2006-2007: Fuji forum
An open source forum project, which originally started out as a university software project. On the back-end the forum has a RESTful architecture which outputs different formats depending on the request. On the front-end it is an AJAX application which sports both a multi-page and single-page interface. One of the features was that you could associate events with threads, which would then show up in an integrated calendar control. After the course ended development did not continue for much longer though.
2005: WinLIRC plugin for musikCube
A plugin for musikCube to control the music player with home-built LIRC remote control receivers. Written in C.
2004-2008: Firefox Dutch localisation
I have long contributed to the Firefox Dutch localisation, translating and correcting many strings as well as reviewing other translators’ changes. I’d like to think that I’ve significantly contributed to bringing the original sub-par localisation up to the high quality level where it is today.
2004-now: Personal website
In 2004 I created a new personal website. It is a home-grown weblog system built with PHP and MySQL, and in addition to opinions on things that interest me, it serves up my development project pages and infrastructure (Mercurial repositories). Currently the site is hosted on a Linux VPS, which has also given me a certain level of Linux administration knowledge.
2003-now: MSX Assembly Page
Together with some other people I started the MSX Assembly Page, a comprehensive source of information for MSX programmers. I am the author of the design and most of its content. On this site, in the Track disk magazine, and with Backbase, I have gained a decent amount of experience writing technical documentation and articles.
2003-2004: Guru Logic game project
A port of the GameBoy Advance game to MSX, with approval from the rights-holder Compile. Within the team I worked on the animation engine used by the intro and story demos, and converted graphics for those. My personal interest in the project waned because it was not original work, and I did not find porting very interesting. The project was unfortunately never completed.
2004: Tiger hash implementation for Z80
Tiger is a 64-bit hash algorithm, which I implemented on the Z80 out of interest. It was supposed to scale well on CPUs with less bits, and it was interesting to see how the performance measured up to other then-more modern platforms.
2000-2001: MSX Resource Center community site
For about a year I have done ASP and MSSQL work at the www.msx.org community site, where I created amongst others the forums at the time. They have switched to a PHP based system since then, so little of it remains :(.
1999-2008: MSX fair Bussum
For 10 years I organised an MSX fair in Bussum, one of the largest remaining MSX fairs in the Netherlands. On this yearly fair, people with an interest in the MSX computer system gathered to meet up and see new products and developments.

Aside from these development-related activities, I am a fan of all things Japanese, and have studied one year abroad in Japan. I also enjoy movies and American TV series, as well as playing games and musical instruments.

Grauw