Laurence Tratt
banner
ltratt.bsky.social
Laurence Tratt
@ltratt.bsky.social
Shopify / Royal Academy of Engineering Research Chair in Language Engineering. https://tratt.net/laurie/
New post: "Async and finaliser deadlocks", based on an accidental poke from a recent episode of the excellent @oxide.computer podcast tratt.net/laurie/blog/...
November 12, 2025 at 11:28 AM
Somewhat delayed because of Covid, I'm finally going to give my "inaugural lecture", which is a short, hopefully accessible, public talk: in my case "Some things I've learned about software"! All are welcome!
November 7, 2025 at 10:42 AM
One thing pizauth could really do with is zsh completion: we have bash and fish but not yet zsh. PRs welcome! github.com/ltratt/pizau...
October 30, 2025 at 4:53 PM
New post: "What Context Can Bring to Terminal Mouse Clicks", explaining how one can click on filenames with line numbers in my terminal and have the "correct" editor instance jump to that file and line. A hack, or pragmatic use of existing tools? You decide! tratt.net/laurie/blog/...
October 29, 2025 at 2:06 PM
grmtools-0.14.0 is out github.com/softdevteam/... -- mostly "quality of life" changes that e.g. make understanding errors easier, but there are a few minor breaking changes that meant the version bump was necessary.
October 22, 2025 at 7:55 PM
I've been using Alacritty for a fair while, but a very useful feature doesn't seem likely to be accepted (github.com/alacritty/al...) so it's time to move on. I need a modern terminal which run commands on matched text and sends me the terminal title. Any suggestions?
October 22, 2025 at 3:32 PM
As someone who came to modal editing rather late, I'm still unsure whether it's a good idea -- but I'm used to it now! This post has an interesting argument, pointing out how few programs are modal, and what we might learn from that. buttondown.com/hillelwayne/...
Modal editing is a weird historical contingency we have through sheer happenstance
If vi didn't exist, it would not have been invented.
buttondown.com
October 22, 2025 at 9:47 AM
Are there any benchmarks (etc) which show the costs of the SysV x64 ABI relative to a somewhat-or-perfectly-optimal ABI for that program? [Not for single microbenchmarks, because I can definitely create horrible overheads there, but on larger programs / benchmarks.]
October 20, 2025 at 3:22 PM
Although I'd prefer it if the trees stayed green all year around, if the leaves are going to fall, I'm rather happy that they do so in such a colourful way. It brings a new way of looking at old favourites.
October 19, 2025 at 7:51 AM
Here's a visualisation of the evolution of our "Garbage Collection for Rust: The Finalizer Frontier" paper. The animation renders each git commit in the paper's history as a frame, with the time of the commit shown in the bottom right. The full hi-res version can be found at youtu.be/zC866HybCp8
October 15, 2025 at 1:28 PM
New paper with @jakehughes.uk : Garbage Collection for Rust: The Finalizer Frontier. There are lots of GCs for Rust: we tried pushing as far as we could in a new direction, particularly looking at what can be done about the headache that is finalizers.
October 15, 2025 at 12:02 PM
Stourhead's Pantheon looked rather fine yesterday.
October 13, 2025 at 7:03 AM
One surprising thing about writing a compiler is the variance in day-to-day productivity. Some days I write fewer than 10LoC. Some days, like today, 1500LoC is possible. Even more surprisingly, the former days are much more taxing than the latter!
October 8, 2025 at 5:18 PM
Train announcements continue to surprise: "we're running late because a train ahead hit a swan".
September 30, 2025 at 9:50 AM
I sometimes wonder to myself: what do normal folk think when they see the result of a (classic) software bug like the below?
September 29, 2025 at 9:04 AM
Another person has left a negative review for our local graveyard.
September 25, 2025 at 7:56 AM
New post: Why Firsts Matter tratt.net/laurie/blog/...
September 16, 2025 at 10:03 AM
I like articles which challenge our assumptions, even when I only partly agree with them. This article posits that type systems in programming languages are a poor substitute for different architectures of software systems. programmingsimplicity.substack.com/p/type-check...
September 5, 2025 at 11:00 AM
When I upgraded my OpenSSH a couple of weeks back, I started getting some surprising (to me) warnings when using GitHub. I'm not sure I'd enjoy being the person who has to upgrade the fleet of servers that are now being fingered as culprits!
August 22, 2025 at 7:14 AM
Register allocation is one of those things that seems like it should take 2 days to implement. Everyone I've ever spoken to about it has found all sorts of surprises that cause those 2 days to balloon. This great post will save future folk much time! bernsteinbear.com/blog/linear-...
August 13, 2025 at 7:33 AM
I have been a Unix user for a... long time... yet only today did I accidentally discover that `:` is a built-in shell no-opt.
August 12, 2025 at 1:44 PM
Finally, 3 years and 3 months after I bought a Framework laptop, there is an update for the (frankly, pretty poor) BIOS. But... it doesn't work. It says it does, but nothing is updated. Thankfully I eventually stumbled on this post community.frame.work/t/unable-to-... -- what a pallava!
August 11, 2025 at 8:20 AM
New post: LLM Inflation tratt.net/laurie/blog/...
August 6, 2025 at 9:58 AM
New post: Comparing the Glove80 and Maltron keyboards tratt.net/laurie/blog/...
July 22, 2025 at 10:13 AM
The LLM-for-software Yo-yo tratt.net/laurie/blog/...
July 14, 2025 at 9:39 AM