Archives

2023

How does the bluetooth stack works?
Using Caddy webserver to mock a backend
HTTP Authentication: a client-server story
Learning from your shell history
Webservers: overview and migration from Apache httpd to Caddy
TN5250 Terminal UI: retrospective and Web UI attempt
Maven: lifecycles, phases, bindings and plugins
State of GTK 3 and 4 programming in Python
SQL: Speed difference when GROUP BY and WINDOW functions are equivalent
Java to Native Code: it's so easy (uber jar)
Java to Native Code: it's so easy (no dependencies)
Hanukkah of Data 2022: Puzzle 8
Hanukkah of Data 2022: Puzzle 7
Hanukkah of Data 2022: Puzzle 6
Hanukkah of Data 2022: Puzzle 5
Hanukkah of Data 2022: Puzzle 4
Hanukkah of Data 2022: Puzzle 3
Hanukkah of Data 2022: Puzzle 2
Hanukkah of Data 2022: Puzzle 1
Splitting a file on lines matching a pattern

2022

Handcrafting a Docker Image
Truly Static Binaries
The German Deposit System

2021

Reducing this blog size again
Experience Being Deaf
Slow NixOS Startup
Backup Strategy with Borg
Mockito's performance cost
Altruistic Design
When will Unicode be full?
FZF: how to use jqplay.org in a terminal
FZF: interactivity as a service or how to make ssh interactive

2020

The problem with using exceptions for validation
Stop abusing regexps, use parser combinators instead
Reducing this blog size
Essence of astronomy binoculars shopping
Make UIs Fast Again
JSON processing with Jq made simpler
Reliability of Sequential Layers

2019

Anything as a service: business ideas
From Example-based unit-tests to property testing
How Many Unit-tests?
Java: The Expression Problem & Object Algebras
Book review: Humble Pi, by Matt Parker
Java: refactoring logic & impure functions for unit-tests
Life's Short

2018

When will we be ready to talk with aliens?
How to live long and prosper
Beyond Foreign Function Interfaces