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