Portfolio

On this page you can find some major projects I created or was part of (that I can mention). A demo is available for download for some of these projects.

TomTom NavKit

NavKit is TomTom's off-the-shelf, easy-to-integrate navigation engine, enabling OEMs and Tier1 suppliers to develop customised Connected Navigation Systems.

NavKit has approximately 20 teams with approximately 200 developers in total working on approximately 7 million lines of C++ (with parts in C, Java and Python) and built using CMake targeting Linux, Android, OS X, iOS and QNX.

My role in this was Tech Lead for the team responsible for providing map information and keeping the map up-to-date.

Infor LN UI

Infor LN UI is the web-based UI for Infor's ERP product, Infor LN, the successor to Baan ERP. The UI was a replacement for an applet-based UI and interacted with a UI-independent back-end and targeted all major browsers at the time: Internet Explorer, Chrome, Firefox and Safari.

The UI consisted of both of a library of reusable company-style-consistent widgets and an integration layer with the backend.

My role in the UI team was to prototype the UI from the ground up and implement new widgets and functionality.

LN UI was built in Java with Google Web Toolkit, with sections of Javascript, HTML and CSS.

FUSE

FUSE is a 3D RTS engine I started to develop as a personal experiment to produce a game and toolset that shared a common engine, ensuring that every change in the engine would affect both the game as well as every tool.

Although this project is unfinished, a working (partial) Map Editor is included for demonstration. It does not support saving files, but the heightmap, textures and nature settings can be manipulated and it shows a hardcoded tank to demonstrate shadows and basic animation.

Using Visual Studio 2008, the engine is (mainly) OS-independently written in C++ and uses DirectX 9. The tools are written in C# for Windows and use FreeImage. C++/CLI is used to glue the two layers together. The total size is approximately 30,000 lines.

Download: Demo (Windows, ZIP, 7 MB)

Petrolution Mod Tools

The Petrolution Mod Tools are a set of (unofficial) tools I created to assist modders of the first games developed by Petroglyph Games. The tools vary from a string and a VFS editor to a particle editor and a 3D asset viewer. I started these tools on popular demand from the community after reverse engineering Petroglyph's file formats due to a lack of official mod tools after the release of their first game. Nowadays, they can also be found on GitHub.

Using Visual Studio 2008, the tools were written in C++ and use DirectX 9 and the Win32 API. The total size is approximately 54,000 lines.

Download: Demo (Windows, ZIP, 5 MB)

CiviC

Written to assist a course about compiler development at the University of Amsterdam, CiviC is a toolchain consisting of a compiler, assembler and VM for a C-based language called Civilized C (CivC).

It is written in C++ and uses GNU autotools. The total size is approximately 8000 lines.

MGSim

MGSim is a microgrid simulator that I originally created as the graduation project for my M.Sc. I continued to develop it as part of my Ph.D. studies. MGSim is a cycle-accurate simulator for a system-on-chip of multithreaded cores. It accurately simulates the hardware down to the pipeline stages, register file, caches and memory latencies. It was developed to research and evaluate a new software and hardware multithreading model that is being developed at the University of Amsterdam. It has since made it's way onto GitHub.

It is written in C++ and uses GNU autotools. The total size is approximately 42,000 lines.

OSLDR

Written as an unreleased hobby project during my studies, osldr is a stage-2 bootloader that is able to boot operating systems from files in the ELF, PE/COFF, Multiboot file format, or from disk directly by loading as a bootsector. It only supports the FAT file format for reading from disks. It features an editable boot.ini file and a boot menu where the user can select one of the configured operating systems.

It is written in C and GNU assembler and uses GNU make. The total size is approximately 7000 lines.