Configuration formats that humans can read and maintain, are hard for scripts to edit safely. With the new patch feature, RCL now has a principled way to enable safe, automated edits.| ruudvanasseldonk.com
I revoked my former PGP/GPG key on July 29, 2025.| ruudvanasseldonk.com
In this post I explore the design space of adding floats to RCL, a gradually typed configuration language. With floats in place, RCL is finally a true json superset.| ruudvanasseldonk.com
Building connections with other people is what makes life fun. When humans communicate through LLM-written text, we lose that.| ruudvanasseldonk.com
In this post I share resources for learning more about AI alignment, and why misalignment is a risk that I take seriously.| Ruud van Asseldonk
When shuffling a playlist, a true shuffle is rarely what we want, because it might play the same artist twice in a row. In this post I introduce an algorithm that avoids this when possible.| Ruud van Asseldonk
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.| Ruud van Asseldonk
Using strong types, or putting units in names, is a small effort that can make a tremendous difference for code readability.| Ruud van Asseldonk
A swap at an automated market maker is not like a market order, it behaves more like a limit order. This is the change of perspective that MEV is forcing us to make.| Ruud van Asseldonk
When requirements change, an append-only data model of immutable facts is more useful than a mutable data model that models the problem domain.| Ruud van Asseldonk
I am adding a type system to RCL, my configuration language. In part 4, we look at how the typechecker is implemented in Rust, and at how it is able to generate good error messages.| ruudvanasseldonk.com
I am adding a type system to RCL, my configuration language. The type system is based on ideas from other systems. In part 3, I highlight prior work, and I contrast RCL’s type system with that of other configuration languages.| ruudvanasseldonk.com
I am adding a type system to RCL, my configuration language. In part 1, I explain what I want from the type system.| ruudvanasseldonk.com
I am adding a type system to RCL, my configuration language. In part 2, I explain how the type system works. It is based on lattices and features a generalized subtype check.| ruudvanasseldonk.com
I was fed up with the poor opportunities for abstraction in configuration formats. The many configuration languages that exist already were not invented here, so I wrote my own, at first just for fun. But then it became useful.| ruudvanasseldonk.com