2025-06-18
zb beta released
www.zombiezen.com/blog/2025/06/zb-beta-releasezb is a tool for reproducibly building software, similar to Bazel.
(See the comparison page if you’re curious to know the differences.)
When a software build process is reproducible,
it will produce the exact same output
when given the same inputs.
Reproducibility is a desirable property for a software build process to have:
it simplifies debugging,
it enables build speed-ups,
and it is essential for digital supply chain security.
However, reproducibility is a difficult goal to achieve.
2025-06-16
CSS Classes considered harmful
www.keithcirkel.co.uk/css-classes-considered-harmfulThe solution to all of these problems
I humbly put forward that modern web development provides us all the utilities to move away from class names and implement something much more robust, with some fairly straightforward changes:
Attributes
Attributes allow us to parameterise a component using a key-value representation, very similar to Map<string, T>. Browsers come with a wealth of selector functions to parse the values of an attribute.
2025-04-29
No-engine gamedev using Odin + Raylib
zylinski.se/posts/no-engine-gamedev-using-odin-and-raylibGames can be made in many different ways. Many games are made using big, general purpose game engines such as Unity and Godot. I enjoy using the Odin Programming Language combined with Raylib.
Odin is a C-like programming language and Raylib is library for drawing graphics, checking input and playing sounds. So it’s just a program that uses a simple library, no engine!
There are no objectively best ways to create games.
2025-03-13
Building interactive web pages with Guile Hoot
spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html2025-01-21
Algebraic Effects for the Rest of Us
overreacted.io/algebraic-effects-for-the-rest-of-us2024-09-25
in which interactive development saves the day
technomancy.us/1892024-09-19
Blogging in Djot instead of Markdown
www.jonashietala.se/blog/2024/02/02/blogging_in_djot_instead_of_markdown2024-07-03
Announcing wcurl: a curl wrapper to download files
samueloph.dev/blog/announcing-wcurl-a-curl-wrapper-to-download-files2024-06-26
A (more) Modern CSS Reset
piccalil.li/blog/a-more-modern-css-resetA reckless introduction to Hindley-Milner type inference
reasonableapproximation.net/2019/05/05/hindley-milner.html2024-06-19
Avoiding complexity with systemd
mgdm.net/weblog/systemdUsing systemd to avoid having to write some risky code
Pimalaya
pimalaya.orgOfficial website of the Pimalaya project.
2024-06-14
Nix as a WebAssembly build tool
determinate.systems/posts/nix-wasmPutting Go's Context package into context
blog.meain.io/2024/golang-contextlitterbox - IRC logger
git.causal.agency/litterbox/about2024-06-13
Macaroons Escalated Quickly
fly.io/blog/macaroons-escalated-quicklyAPI Tokens: A Tedious Survey
fly.io/blog/api-tokens-a-tedious-surveyComparison between types of API tokens.
Arena allocator tips and tricks
nullprogram.com/blog/2023/09/272024-06-11
gamja: Simple IRC web client
sr.ht/~emersion/gamja2024-06-10
On Dependency Usage in Rust
landaire.net/on-dependency-usage-in-rustRust and Node aren't bad for encouraging dependency use -- your favorite language's tools just suck.