Laurence Tratt: Blog
Laurence Tratt
- Posts
- 157 from 19 Nov 2004 to 30 Jun 2026
- Posting
- monthly (13 in the last year)
- Kind
- personal blog
- Feed
- https://tratt.net/laurie/blog/blog.rss
2026 10
2025 10
- Upcoming Talk in London
- Async and Finaliser Deadlocks
- What Context Can Bring to Terminal Mouse Clicks
- Why Firsts Matter
- LLM Inflation
- Comparing the Glove80 and Maltron keyboards
- The LLM-for-software Yo-yo
- The Fifth Kind of Optimisation
- Better Shell History Search
- Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?
2024 9
- Structured Editing and Incremental Parsing
- How I Prepare to Make a Video on Programming
- pizauth: HTTPS redirects
- Recording and Processing Spoken Word
- Why the Circular Specification Problem and the Observer Effect Are Distinct
- What Factors Explain the Nature of Software?
- Laurence Tratt: Some Reflections on Writing Unix Daemons
- Laurence Tratt: Faster Shell Startup With Shell Switching
- Laurence Tratt: Choosing What To Read
2023 22
- Laurence Tratt: Debugging A Failing Hotkey
- Laurence Tratt: How Often Should We Sharpen Our Tools?
- Laurence Tratt: Four Kinds of Optimisation
- Laurence Tratt: Minor Advances in Knowledge Are Still a Worthwhile Goal
- Laurence Tratt: How Hard is it to Adapt a Memory Allocator to CHERI?
- Laurence Tratt: "Programming" and "Programmers" Mean Different Things to Different People
- Laurence Tratt: pizauth: First Stable Release
- Laurence Tratt: The Need to Explain
- Laurence Tratt: Two Stories for "What is CHERI?"
- Laurence Tratt: My Interview with Eelco Visser on Parsing
- Laurence Tratt: Why Split Lexing and Parsing Into Two Separate Phases?
- Laurence Tratt: Displaying My Washing Machine's Remaining Time With curl, jq, and pizauth
- Laurence Tratt: pizauth: dump and restore
- Laurence Tratt: How Big Should a Programming Language Be?
- Laurence Tratt: Rust's Two Kinds of 'Assert' Make for Better Code
- Laurence Tratt: Scheduling my Electricity Usage
- Laurence Tratt: Why Aren't Programming Language Specifications Comprehensive?
- Laurence Tratt: Distinguishing an Interpreter from a Compiler
- Laurence Tratt: try_repeat released
- Laurence Tratt: Why We Need to Know LR and Recursive Descent Parsing Techniques
- Laurence Tratt: Compiled and Interpreted Languages: Two Ways of Saying Tomato
- Laurence Tratt: Software Security Research Position
2022 34
- Laurence Tratt: How Might Generative AI Change Programming?
- Laurence Tratt: pizauth: differentiating transient from permanent errors
- Laurence Tratt: November Links
- Laurence Tratt: More Evidence for Problems in VM Warmup
- Laurence Tratt: What is a Research Summer School?
- Laurence Tratt: October Links
- Laurence Tratt: pizauth: another alpha release
- Laurence Tratt: UML: My Part in its Downfall
- Laurence Tratt: September Links
- Laurence Tratt: pizauth, an OAuth2 token requester daemon, in alpha
- Laurence Tratt: A Week of Bug Reporting
- Laurence Tratt: August Links
- Laurence Tratt: Making a Video of a Single Window
- Laurence Tratt: Two researcher jobs in soft-dev
- Laurence Tratt: Another Reorganisation
- Laurence Tratt: July Links
- Laurence Tratt: What's the Most Portable Way to Include Binary Blobs in an Executable?
- Laurence Tratt: CHERITech22 and PLISS 2022
- Laurence Tratt: How I Clean my Glasses
- Laurence Tratt: June Links
- Laurence Tratt: What Metric to Use When Benchmarking?
- Laurence Tratt: Chance, Luck, and Risk
- Laurence Tratt: What Makes a Good Research Proposal?
- Laurence Tratt: May Links
- Laurence Tratt: Multiplicity Choices Are Hard to Model and Change
- Laurence Tratt: Using a "Proper" Camera as a Webcam
- Laurence Tratt: Programming Style Influences
- Laurence Tratt: snare: a Minimalistic GitHub Webhooks Runner
- Laurence Tratt: April Links
- Laurence Tratt: Where do Research Problems Come From?
- Laurence Tratt: Practising Programming
- Laurence Tratt: Making Rust a Better Fit for CHERI and Other Platforms
- Laurence Tratt: When is a Blog a Blog?
- few such tools
2021 5
2020 5
2019 2
2018 4
2017 1
2016 2
2015 1
2014 3
2013 4
2012 3
2011 6
- Laurence Tratt: Problems with Software 3: Creating Crises Where There Aren't Any
- Laurence Tratt: Problems with Software 2: Failing to Use the Computing Lever
- read the previous article here
- Laurence Tratt: Problems with Software 1: Confusing Problems Whose Solutions Are Easy to State With Problems Whose Solutions Are Easy to Realise
- read the previous article here
- Laurence Tratt: Parsing: The Solved Problem That Isn't
2010 3
2009 5
2008 5
2007 6
- Laurence Tratt: Some Lessons Learned from Icon
- Experiences with an Icon-like expression evaluation system
- Laurence Tratt: How Difficult is it to Write a Compiler?
- Laurence Tratt: When Are Macros Useful?
- Laurence Tratt: Filling in a Gap
- Laurence Tratt: Are Multicore Processors the Root of a New Software Crisis?