What happened to WebAssembly
Where are they now? You won't believe her new look!
The latest blog posts to take off on Hacker News. 4,387 posts.
Where are they now? You won't believe her new look!
Last time I wrote about profiling in Zig on Apple Silicon, I touched on PMU counter profiling. This time I decided to go further and create my own tool to fetch all available counters for Apple Silicon processors (M1, M2, and later). Brief explanation of PMU counters PMU (Performance Monitoring Unit) counters are…
To kick off 2026, I had clear objectives in mind: decommissioning my trusty VPS and setting up its successor. Embracing a complete paradigm shift, I built myself a container-centric, declarative, and low-maintenance setup for the years to come.
My personal website and blog
Recently Ben Hoyt published a blog post claiming that contrary to popular belief, I/O is not the bottleneck in typical programming interview problems such as counting word frequencies from a stream. Sequential read speed has come a long way, while CPU speed has stagnated.
How we built memchunk - a blazing fast text chunking library using SIMD and memchr for RAG pipelines
Wayland is the successor to the X server (X11, Xorg) to implement the graphics stack on Linux. The Wayland project was actually started in 2008, a year before I created the i3 tiling window manager for X11 in 2009 — but for the last 18 years (!), Wayland was never usable on my computers. I don’t want to be stuck on…
Lots of the CVE world seems to focus on “security bugs” but I’ve found that it is not all that well known exactly how the Linux kernel security process works. I gave a talk about this back in 2023 and at other conferences since then, attempting to explain how it works, but I also thought it would be good to explain…
Prototyping a Home NAS with RAID1 on FreeBSD on a virtual machine: system installation via SSH with bsdinstall, configuring ZFS mirror and working with datasets
Happy New Year, and Welcome to Gas Town!
How I enabled the PowerVR GPU on the TH1520 SoC by writing the missing kernel drivers.
Years ago, I maintained a big C++ codebase at my day job. This product was the bread winner for the company and offered a public HTTP API for online payments. We are talking billions of euros of processed payments a year.
Introducing kv, a statically allocated key/value server.
A problem I experienced when pursuing my PhD and submitting academic articles was that I had built solutions to problems that required dramatic scale to be effective and worthwhile. Responses to my publication submissions often claimed such problems did not exist; however, I had observed them during my time within…
If someone had told me 12 months ago what was going to happen this past year, I wouldn’t have believed them. Skipping swiftly past all the political, economic and social turmoil, I come to th…
> In banking, telecom, and payments, reliability is not a nice to have. It is table stakes. The most reliable systems I have worked on reduce entire classes of bugs before the code even runs. Function...
This is a follow-up to making the rav1d video decoder 1% faster, where we compared profiler snapshots of rav1d (the Rust implementation) and dav1d (the C …
In preparation for a future project, I was thinking about at the unix find utility . It operates a file system hierarchies, with basic operations selected and filtered using a specialized expression language. Users compose operations using unary and binary operators, grouping with parentheses for precedence. find may…
I bought a MacBook Air M2. As of writing, it's very affordable with the 16 GB RAM, 256 GB SSD, 13.6" model available for $750. As of writing, also Asahi Linux doesn't support anything newer than M2.
Sometimes compilers can surprise and delight even a jaded old engineer like me
Time seems simple. But we engineers lose sleep over something as basic as keeping clocks in sync. Here’s why…
Ever since I got AMD, Intel, and Nvidia graphics cards to run on a Raspberry Pi, I had a nagging question: What's the point? The Raspberry Pi only has 1 lane of PCIe Gen 3 bandwidth available for a connection to an eGPU. That's not much. Especially considering a modern desktop has at least one slot with 16 lanes of…
What does a relational database designed specifically for local SSDs look like? Postgres, MySQL, SQLite and many others were invented in the 90s and 00s, the era of spinning disks. A local NVMe SSD has ~1000x improvement in both throughput and latency. Design decisions like write-ahead logs, large page sizes, and…
Recently a colleague mentioned building NixOS images that run unchanged on multiple architectures. Given the past adventures on this blog with systemd-repart and cross-compiling NixOS, I decide to give this a go.
Don't you love misleading documentation?
The Linux kernel has a feature where you can tune the behavior of memory allocations: the vm.overcommit_memory sysctl. When overcommit is enabled (sadly, this is the default), the kernel will typically return a mapping when brk(2) or mmap(2) is called to increase a program’s heap size, regardless of whether or not…
Model minimalistically Start from a tiny core, and always keep a working model as you extend. Your default should be omission. Add a compone...
A programming blog written by Vaxry.
ICU gets Unicode right and pays for it. This post shows a different approach: fold-safe windows, SIMD probes, and verifiers for fast UTF‑8 search.
Because your $5 microcontroller needed to run UNIX