Compressing Icelandic name declension patterns into a 3.27 kB trie
How I used a compressed trie data structure to encode Icelandic declension data.
How I used a compressed trie data structure to encode Icelandic declension data.
News post: Gleam v1.9.0 released
An exploration of the layout models of TeX and Typst.
An investigation into The Games; Winter Challenge
I posted about adding pthread_cancel use in curl about three weeks ago, we released this in curl 8.16.0 and it blew up right in our faces. Now, with #18540 we are ripping it out again. What happened? short recap pthreads define “Cancelation points”, a list of POSIX functions where a pthread may be cancelled. In…
Learning how the IMAP protocol actually works
A simple strategy of having LLMs write fuzz tests and build up a port in topological order seems effective at automating porting from C to Rust.
It's a bit of a silly post, because syntax is the least interesting detail about the language, but, still, I can't stop thinking how Zig gets this detail just right for the class of curly-braced languages, and, well, now you'll have to think about that too.
I needed to choose a framework for a mobile-first app at work. I started comparing Next.js, SolidStart, and SvelteKit, then expanded to 10 frameworks. The measurements revealed dramatic differences in bundle sizes, performance, and the real cost of framework choices.
What are you going to do when you add a new kind?
UPDATED: 2025-02-15: Fixed some bugs in the examples and pointed out that you don't usually just want to panic on memory allocation failure.
What I’ve learned in my first few hours using Gleam for a small project.
Golang might just be the best language for building AI agents.
A week ago, I knew absolutely nothing about Swift. Today, I have a working iOS app sitting on my Mac and my test device
Jujutsu (jj), a new version control system written in Rust, has popped up on my radar a few times over the past year. Looked interesting based on a cursory look, but being actually pretty satisfied with Git, and not having major problems with it, I haven’t checked it out. That is, until last week, when I finally…
Automatically erase memory to prevent secret leaks.
I first started programming Java at IBM back in 1999 as a Pre-University Employee. If I remember correctly, we had Java 1.1.8 installed at that time, but were moving to Java 1.2 (“Java 2”), which w…
Matyáš Racek's blog
Get details on our discovery of a critical vulnerability in GitHub Copilot Chat.
Programming languages have rapidly evolved in recent years. But in software development, the new often meets the old, and the scaffolding that OS gives for running new processes hasn’t changed much since Unix.
My presentation from the inaugural Better Software Conference, with notes.
File parsers in Go contain unexpected behaviors that can lead to serious security vulnerabilities. This post examines how JSON, XML, and YAML parsers in Go handle edge cases in ways that have repeatedly resulted in high-impact security issues in production systems. We explore three real-world attack scenarios…
For the first time, RL researchers discover malicious locally-installed npm packages infecting other legitimate packages.
Learn how Linux/FFmpeg C partial codebase is organized to be extensible and act as if it were meant to have “polymorphism”. Specifically, we’re going to briefly explore how Linux …
You are a software engineer. Don't become a prompt refiner.
People rant about having to learn algorithmic questions for interviews. I get it — interview system is broken, but you ought to learn binary search at least.
How RL training will scale up to thousands of diverse environments, similar to how pretraining scaled up text corpora.
We recently ran across a strange higgs-bugson that manifested itself in a critical system that stores and distributes the firm’s trading activity data, calle...
How we handle 92 million compilations a year without everything catching fire