Projects
This page lists some of my more interesting projects.
For a more complete list, see my GitHub page.
AssertThat
An experiment to bring AssertJ-style assertions to Swift. The idea is to create and easy-to-extend library for easy-to-read assertions. This is achieved by making heavy use of Swift extensions and generics.
Poker Hand Evaluator
A small Swift library that implements a relatively fast five-card poker hand evaluator. This works by assigning a value to each hand, and using look-up tables and a perfect hash function to calculate the value of a given hand. It can be used to calculate the value of a hand and, as a consequence, compare the values of poker hands. There is also a Java version.
Blob Game
A small game written in Python. As a blob, try to avoid the ghosts as long as you can. This uses the Pyxel library for retro-style graphics.
Tracklin
A small time tracker written in Kotlin, using JavaFX. It is currently a bit limited, but can do basic time tracking of tasks, detect idle time, and export the tracked hours as a CSV file. This is based on an older version written in Java, which itself is based on an even older version written in Python and Tkinter.
Gaussian Cluster Generator
Written for my MSc thesis research, this little script generates two-dimensional Gaussian clusters based on the parameters you give it. In my thesis, I used it to generate nested clusters of points and then attempted to find the centroids.
React Native Bundle Extractor
Helper for extracting the JavaScript bundle file generated by React Native from an Android APK file. The bundle file is minimized, but easy to transform into a relatively readable format, making the entire application logic understandable. The point of this project was to show how easy (just one command) it is for potential attackers to extract the application code from any app written in React Native.
Farbfeld module for Python
A small module for reading and writing files using the Farbfeld image format.