Home
>
Blog
≡
 
Home
>
Blog
email
Mastodon
Twitter
Mastodon
Twitter
email updates
:
Failed to subscribe: please load page and try again
Sending...
All blog posts
My Interview with Eelco Visser on Parsing
(May 16 2023)
Why Split Lexing and Parsing Into Two Separate Phases?
(May 2 2023)
Displaying My Washing Machine's Remaining Time With curl, jq, and pizauth
(April 11 2023)
pizauth: dump and restore
(April 3 2023)
How Big Should a Programming Language Be?
(March 23 2023)
Rust's Two Kinds of 'Assert' Make for Better Code
(March 16 2023)
Scheduling my Electricity Usage
(March 5 2023)
Why Aren't Programming Language Specifications Comprehensive?
(February 16 2023)
Distinguishing an Interpreter from a Compiler
(January 26 2023)
try_repeat released
(January 25 2023)
Why We Need to Know LR and Recursive Descent Parsing Techniques
(January 17 2023)
Compiled and Interpreted Languages: Two Ways of Saying Tomato
(January 10 2023)
Software Security Research Position
(January 9 2023)
How Might Generative AI Change Programming?
(December 15 2022)
pizauth: differentiating transient from permanent errors
(December 14 2022)
November Links
(November 30 2022)
More Evidence for Problems in VM Warmup
(November 15 2022)
What is a Research Summer School?
(November 10 2022)
October Links
(November 1 2022)
pizauth: another alpha release
(October 20 2022)
UML: My Part in its Downfall
(October 3 2022)
September Links
(October 1 2022)
pizauth, an OAuth2 token requester daemon, in alpha
(September 28 2022)
A Week of Bug Reporting
(August 31 2022)
August Links
(August 30 2022)
Making a Video of a Single Window
(August 9 2022)
Two researcher jobs in soft-dev
(August 8 2022)
Another Reorganisation
(August 1 2022)
July Links
(July 31 2022)
What's the Most Portable Way to Include Binary Blobs in an Executable?
(July 25 2022)
CHERITech22 and PLISS 2022
(July 19 2022)
How I Clean my Glasses
(July 13 2022)
June Links
(July 1 2022)
What Metric to Use When Benchmarking?
(June 30 2022)
Chance, Luck, and Risk
(June 15 2022)
What Makes a Good Research Proposal?
(June 8 2022)
May Links
(May 31 2022)
Multiplicity Choices Are Hard to Model and Change
(May 26 2022)
Using a "Proper" Camera as a Webcam
(May 17 2022)
Programming Style Influences
(May 10 2022)
snare: a Minimalistic GitHub Webhooks Runner
(May 4 2022)
April Links
(April 30 2022)
Where do Research Problems Come From?
(April 28 2022)
Practising Programming
(April 20 2022)
Making Rust a Better Fit for CHERI and Other Platforms
(April 13 2022)
When is a Blog a Blog?
(April 11 2022)
Static Integer Types
(June 22 2021)
Automatic Video Editing
(March 23 2021)
The Evolution of a Research Paper
(January 19 2021)
Automatic Syntax Error Recovery
(November 17 2020)
Stick or Twist?
(October 7 2020)
Which Parsing Approach?
(September 15 2020)
Alternative Sources of Advice
(May 6 2020)
Minimum Times Tend to Mislead When Benchmarking
(August 15 2019)
A Quick Look at Trait Objects in Rust
(February 12 2019)
Why Aren’t More Users More Happy With Our VMs? Part 2
(September 19 2018)
Why Aren’t More Users More Happy With Our VMs? Part 1
(September 5 2018)
What I’ve Learnt So Far About Writing Research Papers
(January 10 2018)
What Challenges and Trade-Offs do Optimising Compilers Face?
(June 22 2017)
Fine-grained Language Composition
(September 21 2016)
Debugging Layers
(July 28 2015)
An Editor for Composed Programs
(August 20 2014)
The Bootstrapped Compiler and the Damage Done
(December 4 2013)
Relative and Absolute Levels
(September 24 2013)
General Purpose Programming Languages' Speed of Light
(April 9 2013)
Another Non-Argument in Type Systems
(October 25 2012)
Server Failover For the Cheap and Forgetful
(August 2 2012)
Fast Enough VMs in Fast Enough Time
(February 8 2012, last updated February 7 2013)
Problems with Software 3: Creating Crises Where There Aren't Any
(June 28 2011)
Problems with Software 2: Failing to Use the Computing Lever
(June 7 2011)
Problems with Software 1: Confusing Problems Whose Solutions Are Easy to State With Problems Whose Solutions Are Easy to Realise
(April 19 2011)
Parsing: The Solved Problem That Isn't
(March 15 2011)
In Praise of the Imperfect
(August 25 2010)
A Modest Attempt to Help Prevent Unnecessary Static / Dynamic Typing Debates
(April 7 2010, last updated April 8 2010)
A Proposal for Error Handling
(December 14 2009)
The Missing Level of Abstraction?
(September 15 2009)
Good Programmers are Good Sysadmins are Good Programmers
(March 20 2009)
How can C Programs be so Reliable?
(November 11 2008)
Free Text Geocoding
(September 1 2008)
Extended Backtraces
(June 2 2008)
Designing Sane Scoping Rules
(March 3 2008)
Some Lessons Learned from Icon
(December 3 2007, last updated October 26 2010)
How Difficult is it to Write a Compiler?
(August 9 2007)
When Are Macros Useful?
(May 11 2007)
Filling in a Gap
(March 21 2007)
Are Multicore Processors the Root of a New Software Crisis?
(January 18 2007)
The High Risk of Novel Language Features
(November 21 2006, last updated January 26 2008)
Evolving DSLs
(October 17 2006)
More Meta Matters
(August 30 2006)
Strategies for Dealing With E-mail
(June 26 2006)
Debugging Driven Development
(March 26 2006)
Make Exceptions Work For You
(January 29 2006)
Home Directory Synchronization
(December 10 2005)
SREP
(October 3 2005, last updated October 7 2005)
Metacircularity
(September 12 2005, last updated September 17 2005)
Timing setjmp, and the Joy of Standards
(July 21 2005)
Text is Dead They Say
(June 16 2005, last updated January 27 2008)
The Importance of Syntax
(May 1 2005)
Predicting the Future of Computing
(January 31 2005)
Tail Call Optimization
(December 21 2004, last updated April 4 2006)
Language Orientated Programming
(November 19 2004)
Home
>
Blog
≡
 
Home
>
Blog
email
Mastodon
Twitter
Mastodon
Twitter