Articles
If you want to get notified about new articles, there's an RSS feed.
2026-08-05Martinaise source code
2026-08-02I bound a book
2026-02-17How to manage memory using a stacky heap
2026-02-16Orchard: A programming environment
2026-01-13How to layout structs compactly
2025-11-03Dungbeetle: A mini computer
2025-10-28Switch chains
2025-08-17I spray-painted my bike
2025-05-12Types in Plum
2025-05-08Plum: A functional programming language
2024-10-10In defense of leaky abstractions
2024-09-19Soil: A byte code
2024-09-16Or: An underrated language construct
2024-08-16Zig's two languages
2024-08-15This blog uses Martinaise
2024-04-01I built a modular shelf
2024-02-05Thoughts on Zig
2024-01-11Martinaise
2023-12-05Why Candy doesn't have built-in concurrency anymore
2023-12-04Concurrency in Candy
2023-09-29The Candy compiler pipeline
2023-08-14Solving Kakuros
2023-08-06Candy
2023-07-18I built a guitar stand
2022-05-21Mehl: A syntax experiment
2022-04-15Increasing awareness of energy consumption in Jupyter Notebooks
2022-03-21Encouraging people to be more careful in situations with high infection risk
2022-02-22Meta strings
2022-01-23An alternative to writing safe code without static types
2021-12-29Electric piano + MIDI + iPad = fun
2021-11-12Templating engine? No thanks.
2021-10-05Hacking the Gira HomeServer
2021-09-12Reverse engineering the Gira HomeServer
2021-08-14This blog uses no blogging framework
2021-07-18Why this website has no dark mode toggle
2020-10-09Chunky
2020-10-08Chest