skip navigation

Projects

This is where I put some of the strange things I worked on. All these things were supposed to make me rich, but failed at some point.

Software projects

Chrome extension to block Google click tracking
Google tracks clicks on search results to collect information about its users. This extension for Google Chrome changes the search result page to point directly to real target sites, bypassing Google's click tracking system.

Instruction timing and scheduling for the LEON3 processor
The LEON3 is a 32-bit microprocessor which implements the SPARC V8 instruction set. This article takes a look at instruction cycle timing of the LEON3. It also describes a LEON3-specific instruction scheduler for GCC.

Maximum Weighted Matching
Matching is a problem from graph theory. It was solved more than four decades ago, but putting that solution in a computer program is an interesting challenge in itself.

Retro: a PC/XT emulator
Retro is a PC/XT emulator written in Java. It is capable of booting DOS and running several games.

WPA key calculation: From passphrase to hexadecimal key
A short explanation of the algorithm that is used to compute the binary WPA key from a given passphrase.

FPGA projects

FPGA board
Digilent Spartan-3 starter board with Xilinx XC3S200 chip.

An FPGA (Field Programmable Gate Array) is a reprogrammable chip. You could program it today to be a digital clock, and reprogram it tomorrow to be a microprocessor instead. Unlike a normal computer program, a “program” for an FPGA is not a sequence of instructions but rather a description of how the logic gates in the chip should be connected to each other and to I/O pins. Development boards with an FPGA are relatively cheap and can be ordered from several online shops. The FPGA board on the picture is a Digilent board with a Xilinx FPGA.

3n+1 iteration on an FPGA
This project uses FPGAs to test the 3n+1 conjecture for a large range of numbers. This is a nice example where the inherent parallellism in the FPGA gives it an advantage over a microprocessor. I also wrote an article comparing the performance of 3n+1 verification on an FPGA to a 64-bit CPU.

USB data transfer core
This project provides a VHDL implementation of a USB 2.0 serial data transfer core. It is intended to be used in FPGA projects where a simple (RS232-like) means of communication between the FPGA and a host system is needed.

Electronics projects

Frequency of the power grid
Measuring the frequency of the power grid. Is it really 50 Hz?

Completed Abandoned Retired projects

FreeDOS bootfloppies
A set of bootfloppy images based on FreeDOS 1.0, but specially prepared to be compatible with an original IBM PC (XT).

ibcrack
A password recovery utility for the Dutch tax calculation software.

digidsnoop
A utility that snoops DigiD login codes from other users when they run the Dutch tax calculation software.


2012-03-04 Joris van Rantwijk