Engelen Open Source


Blog

I try to follow something akin to POSSE, meaning I plan to post copies of things I published elsewhere here as well.

Adventure in the Linux Kernel

When I started debugging this issue, I had no idea how far down the rabbithole would go!

A few months ago, I was writing an end-to-end test for the Nextcloud integration with OnlyOffice under NixOS, to be run in a QEMU virtual machine. Curiously, my test suffered from corrupt reads from a host folder that was mounted into the VM. That was the start of a journey that led me deep into the Linux Kernel.

read more...

Hack42 @ WHY2025

Al sinds 1989 wordt in Nederland iedere 4 jaar een grote hackersbijeenkomst georganiseerd, sinds de tweede editie in de vorm van een meerdaags kampeerevenement. Iedere editie vindt het evenement zichzelf opnieuw uit, inclusief nieuwe naam. HAR2009 gaf de start aan de eerste Nederlandse hackerspaces, waaronder Hack42. De nieuwste editie, WHY2025, was een paar weken geleden een groot succes – en Hack42 was weer goed vertegenwoordigd.

The NixOS village on sunny WHY2025

read more...

NixNL meetup: Software Freedom Day

Op 21 September, Software Freedom Day, verwelkomden we de Nederlandse Nix Meetup (NixNL) bij Hack42: rond de 20 geïnteresseerden, zowel bekende gezichten uit de community als nieuwe.

Het formele programma bestond uit een presentatie van raboof over hoe Nix mooi samengaat met software freedom, en van Adriel Matei over zijn framework om een neovim-configuratie te genereren vanuit Nix.

Een groep Nix-geinteresseerden in de lounge

Na de presentaties bleef het nog lang gezellig, en zijn er al allerlei plannen gesmeed voor de volgende meetup. We kijken ernaar uit!

read more...

Talking with Halla Rempt about the past and future of Krita

Krita celebrates its 25th birthday. For the occasion, I visited Halla Rempt, who is the lead maintainer of the Krita project and loves to talk about how the project grew and what the future looks like. During Software Freedom Day events, this video can be the occasion to discuss sustainable Free Software Development.

read more...

WiFi-repeater met Liminix

In een vorig blog hebben we een seriële aansluiting gesoldeerd aan een WiFi-router om het boot-proces te kunnen volgen en beinvloeden. Het uiteindelijke doel is Liminix te installeren op deze router. Gelukkig is deze router al goed ondersteund onder OpenWRT, dus dat is een mooi beginpunt.

OpenWRT-upgrade

Liminix is qua kernel gebaseerd op OpenWRT. Helaas zat Liminix nog op een oude OpenWRT-snapshot met Linux 5.15.71, waaronder deze router nog niet goed ondersteund wordt. Daarom hebben we eerst de OpenWRT in Liminix geupdate naar v23.05.2 met kernel 5.15.137.

read more...

I Love Free Software Day 2024

“I Love Free Software Day” is een leuke positieve campagne van de Free Software Foundation Europe (FSFE) om op valentijnsdag de mensen te bedanken die vrije software mogelijk maken. Met vele bijeenkomsten is het ook een goede gelegenheid om gezellig samen te komen. In Nederland was er een workshop in Den Haag en een bijeenkomst bij Hack42.

Group picture of attendees (except for photographer)

De bijeenkomst begon met een rondleiding voor iedereen die nog niet in de hackerspace was geweest. Toen konden we echt beginnen. Eerst een voorstelronde onder het genot van stukken pizza. Iedereen vertelde over persoonlijk ervaringen met vrije software en over de software en mensen die een bedankje verdienden.

read more...

WiFi-router met aanhangsel

Om meer inzicht te krijgen in het boot-proces, en later aan de slag te gaan met custom firmware zoals OpenWrt en Liminix, wilden we graag toegang tot de seriele poort van deze WiFi-router:

TP-Link Archer AX23 with a serial-USB connector sticking out of it

Hiervoor hebben we eerst het doosje opengemaakt en zijn op zoek gegaan naar de juiste contacten. Dit was nog niet gedocumenteerd, maar de vier niet-aangesloten contacten op een rijtje waren een goede gok. Met de multimeter was goed te zien dat het tweede contact de GND was, de andere drie contacten allemaal zo rond de 3.3v zaten. Met de ‘frequency’-setting van de multimeter was goed te zien dat het laatste contact het meest ’noisy’ was, waaraan we afleidden dat dat waarschijnlijk de TX was. Het derde contact had een net iets zwakkere stroom dan de eerste, dus RX.

read more...

MCH2022: Reproducible Builds for Trustworthy Binaries

At the 2022 edition of the quadrennial large Dutch hacker camp, MCH2022, I had the pleasure of telling the story of how Reproducible Builds help software authors and distributors create trustworthy binaries:

read more...

J-Fall: Trace Deeper: Stack Unwinding

When you hit a failure (or breakpoint) in the Java Virtual Machine, it shows a stack trace of the Java code. You can do the same for C code with the gdb debugger. But what if you want to do both at the same time? This talks shows off a gdb plugin that will show you a trace combining the Java stack and the native stack inside the JVM:

read more...

Curry On: Strategies for Streaming

When designing a streaming system, you can generally use a ‘push’ or a ‘pull’ approach. In this talk I explain the trade-offs, and motivate the ‘pull-to-push’ model used in Pekko/Akka Streams

read more...

Strange Loop: CRDTs Illustrated

CRDTs are a distributed data structure. While conceptually simple, it can be tricky to get a good intuition for them at first. This talk, which I was honored to give at the amazing Strange Loop conference, might help:

read more...

The Man in the Middle

Transparante HTTPS-proxy op de firewall

Om gebruikers in bedrtjfsnetwerken te beschermen tegen de gevaren van het web, wordt meestal gebruik gemaakt van een firewall. Moderne firewalls zetten niet meer alleen poorten open en dicht, maar kijken ook naar de inhoud van pakketten: bijvoorbeeld om ‘goed’ HTTP-verkeer te onderscheiden van ‘slecht’ HTTP verkeer. Dit levert een uitdaging op bij versleutelde verbindingen, zoals bijvoorbeeld HTTPS. Door de firewall op te laten treden als Certificate Authority kan ook dit versleutelde verkeer op een verantwoorde manier worden gescreend. Wie regelmatis op het net surft kent de gevaren: louche sites proberen je ertoe te verleiden om virussen, dialers en andere malware te installeren. Thuis moeten gebruikers zichzelf tegen dit soort aanvallen wapenen met behulp van virusscanners en personal firewalls – vaak met wisselend succes. In een bedrijfssituatie is het de moeite waard om de werkplekken centrall te beschermen, bijvoorbeeld door gebruik te maken van een firewall op netwerkniveau. Een infectie in een bedrijf kost in het gunstigste geval alleen wat tijd, maar kan in het ergste geval leiden tot grote storingen of het uitlekken van vertrouwelijke informatie.

read more...