Michiel

Blog posts and open-source work

About

Michiel

  • Software engineer
  • michiel@tweedegolf.com

Michiel has a degree in Cyber Security, but his experience ranges from web development to programming verification (which is how he was introduced to Rust, btw.)

At Tweede golf, Michiel has recently been working on Pendulum (adding GPS support to ntpd-rs and investigating the vulnerability of NTP) and our Rust Interop Guide.

In his spare time, he likes to play music (drums, synthesizer) or do some web development.

Increasingly more organizations are reviewing their dependencies on foreign software and IT services from countries like the US. One broad necessity for many organizations is sending automated emails, possibly with high volume, be it for password resets, order confirmations, or routine notifications. Remails, a new European Mail Transfer Agent, can help you send these emails reliably without the need to rely on big tech. In this blog post, we tell the story of how we built Remails from a single binary proof-of-concept to a highly available, scalable cloud application.
The Dutch Electoral Council (known as the Kiesraad in Dutch) are developing Abacus: new open-source software for computing election results. We looked into how we can verify the correctness of the algorithm used for seat apportionment. In this blog post, we will discuss various ways of verifying software in Rust, from unit testing to model-based verification and fuzzing. In particular, property-based fuzzing turned out to be very useful for finding bugs in the seat apportionment algorithm.
Java is one of the most commonly used programming languages that we have not yet discussed in our Rust Interop Guide. In this article, we will discuss three different methods to call Rust code from Java: JNI, JNR-FFI and Project Panama. We will show the differences between these methods and we will do some basic benchmarking to compare their performance. These methods not only work for Java but also for other JVM languages like Kotlin. Here we will mainly focus on Java, but Kotlin examples are available in the Kotlin branch of our GitHub repository.

Open-source work

Show all

Abacus

Abacus is the new application (currently in development) to support the paper-based vote counting process for all Dutch election results and the distribution of seats.

It is being built open-source by the Dutch Electoral Council (Dutch: Kiesraad). Our engineers have joined the Electoral Council developer team for both frontend and backend development.