Archived news

RSS feed: whole site
2024-05-31:Blog: Why the Circular Specification Problem and the Observer Effect Are Distinct
2024-05-14:Blog: What Factors Explain the Nature of Software?
2024-04-02:snare-0.4.10 released
2024-03-08:supuner-0.3 released
2024-02-28:Blog: Some Reflections on Writing Unix Daemons
2024-02-04:pizauth-1.0.4 released
2024-01-16:Blog: Faster Shell Startup With Shell Switching
2024-01-08:snare-0.4.9 released
2024-01-04:Blog: Choosing What To Read
2023-12-27:hk-0.3.2 released
2023-12-13:Blog: Debugging A Failing Hotkey
2023-12-13:hk-0.3.1 released
2023-12-04:Blog: How Often Should We Sharpen Our Tools?
2023-11-28:pizauth-1.0.3 released
2023-11-14:Blog: Four Kinds of Optimisation
2023-10-12:pizauth-1.0.2 released
2023-10-03:Blog: Minor Advances in Knowledge Are Still a Worthwhile Goal
2023-09-18:Blog: How Hard is it to Adapt a Memory Allocator to CHERI?
2023-08-23:Blog: "Programming" and "Programmers" Mean Different Things to Different People
2023-08-14:pizauth-1.0.1 released
2023-08-13:pizauth-1.0.0 released
2023-08-13:Blog: pizauth: First Stable Release
2023-07-18:Blog: The Need to Explain
2023-07-05:Blog: Two Stories for "What is CHERI?"
2023-05-29:pizauth-0.3.0 released
2023-05-16:Blog: My Interview with Eelco Visser on Parsing
2023-05-15:'Picking a CHERI Allocator: Security and Performance Considerations' paper added
2023-05-02:Blog: Why Split Lexing and Parsing Into Two Separate Phases?
2023-04-11:Blog: Displaying My Washing Machine's Remaining Time With curl, jq, and pizauth
2023-04-03:Blog: pizauth: dump and restore
2023-04-03:pizauth-0.2.2 released
2023-03-23:Blog: How Big Should a Programming Language Be?
2023-03-22:extsmail-2.8 released
2023-03-16:Blog: Rust's Two Kinds of 'Assert' Make for Better Code
2023-03-11:pizauth-0.2.1 released
2023-03-08:snare-0.4.8 released
2023-03-05:Blog: Scheduling my Electricity Usage
2023-02-16:Blog: Why Aren't Programming Language Specifications Comprehensive?
2023-02-06:snare-0.4.7 released
2023-01-29:try_repeat-0.2.0 released
2023-01-26:Blog: Distinguishing an Interpreter from a Compiler
2023-01-25:Blog: try_repeat released
2023-01-25:try_repeat-0.1.0 released
2023-01-17:Blog: Why We Need to Know LR and Recursive Descent Parsing Techniques
2023-01-10:Blog: Compiled and Interpreted Languages: Two Ways of Saying Tomato
2023-01-09:Blog: Software Security Research Position
2023-01-03:hk-0.3.0 released
2022-12-15:Blog: How Might Generative AI Change Programming?
2022-12-14:pizauth-0.2.0 released
2022-12-14:Blog: pizauth: differentiating transient from permanent errors
2022-11-30:Blog: November Links
2022-11-15:Blog: More Evidence for Problems in VM Warmup
2022-11-10:Blog: What is a Research Summer School?
2022-11-01:Blog: October Links
2022-10-20:pizauth-0.1.1 released
2022-10-20:Blog: pizauth: another alpha release
2022-10-19:extsmail-2.7 released
2022-10-03:Blog: UML: My Part in its Downfall
2022-10-01:Blog: September Links
2022-09-29:pizauth-0.1.0 released
2022-09-28:Blog: pizauth, an OAuth2 token requester daemon, in alpha
2022-08-31:Blog: A Week of Bug Reporting
2022-08-30:Blog: August Links
2022-08-20:hk-0.2.0 released
2022-08-09:Blog: Making a Video of a Single Window
2022-08-08:Blog: Two researcher jobs in soft-dev
2022-08-04:extsmail-2.6 released
2022-08-01:Blog: Another Reorganisation
2022-07-31:Blog: July Links
2022-07-25:Blog: What's the Most Portable Way to Include Binary Blobs in an Executable?
2022-07-19:Blog: CHERITech22 and PLISS 2022
2022-07-13:Blog: How I Clean my Glasses
2022-07-01:Blog: June Links
2022-06-30:Blog: What Metric to Use When Benchmarking?
2022-06-15:Blog: Chance, Luck, and Risk
2022-06-08:Blog: What Makes a Good Research Proposal?
2022-05-31:Blog: May Links
2022-05-26:Blog: Multiplicity Choices Are Hard to Model and Change
2022-05-17:Blog: Using a "Proper" Camera as a Webcam
2022-05-10:Blog: Programming Style Influences
2022-05-04:Blog: snare: a Minimalistic GitHub Webhooks Runner
2022-04-30:Blog: April Links
2022-04-28:Blog: Where do Research Problems Come From?
2022-04-20:Blog: Practising Programming
2022-04-13:Blog: Making Rust a Better Fit for CHERI and Other Platforms
2022-04-11:Blog: When is a Blog a Blog?
2022-02-09:snare-0.4.5 released
2022-02-09:snare-0.4.6 released
2022-02-04:Research Associate in Programming Languages / Virtual Machines job available in soft-dev
2021-12-20:cmdseq-0.2 released
2021-12-20:hk-0.1.0 released
2021-10-26:snare-0.4.4 released
2021-08-08:extsmail-2.5 released
2021-06-22:Blog: Static Integer Types
2021-06-11:snare-0.4.3 released
2021-03-23:Blog: Automatic Video Editing
2021-03-17:snare-0.4.2 released
2021-03-01:Virtual Machine Warmup Blows Hot and Cold
2021-01-19:Blog: The Evolution of a Research Paper
2020-12-03:snare-0.4.1 released
2020-11-17:Blog: Automatic Syntax Error Recovery
2020-10-07:Blog: Stick or Twist?
2020-09-15:Blog: Which Parsing Approach?
2020-07-06:Don't Panic! Better, Fewer, Syntax Errors for LR Parsers
2020-05-13:snare-0.4.0 released
2020-05-06:Blog: Alternative Sources of Advice
2020-03-08:snare-0.3.0 released
2020-03-02:snare-0.2.0 released
2020-02-17:supuner-0.2 released
2020-02-13:snare-0.1.0 released
2020-01-31:extsmail-2.4 released
2019-10-14:extsmail-2.3 released
2019-09-23:'Default Disambiguation for Online Parsers' paper added
2019-08-15:Blog: Minimum Times Tend to Mislead When Benchmarking
2019-05-26:rerun_except 0.1.0 released
2019-05-04:lang_tester 0.1.0 released
2019-02-12:Blog: A Quick Look at Trait Objects in Rust
2018-12-13:grmtools 0.1.0 released
2018-11-30:extsmail-2.2 released
2018-09-19:Blog: Why Aren’t More Users More Happy With Our VMs? Part 2
2018-09-05:Blog: Why Aren’t More Users More Happy With Our VMs? Part 1
2018-06-03:multitime 1.4 released
2018-01-10:Blog: What I’ve Learnt So Far About Writing Research Papers
2017-11-25:extsmail-2.1 released
2017-10-19:S-REPLS 8 at King's announced
2017-10-11:Virtual Machine Warmup Blows Hot and Cold
2017-06-22:Blog: What Challenges and Trade-Offs do Optimising Compilers Face?
2017-05-01:Modelling Homogeneous Generative Meta-programming
2016-09-21:Blog: Fine-grained Language Composition
2016-07-07:Fine-grained Language Composition: A Case Study
2016-07-07:Making an Embedded DBMS JIT-friendly
2016-07-06:Virtual Machines Summer School videos now available
2016-01-28:Virtual Machines Summer School 2016 (2016-05-31 until 2016-06-03) announced
2016-01-01:cmdseq-0.1 released
2015-08-21:Approaches to Interpreter Composition
2015-07-28:Blog: Debugging Layers
2015-03-31:Fine-grained Language Composition
2015-03-06:Program Logics for Homogeneous Generative Run-Time Meta-Programming
2014-11-12:extsmail-2.0 released
2014-08-20:Blog: An Editor for Composed Programs
2014-08-20:Eco: A Language Composition Editor
2014-06-20:extsmail-1.9 released
2014-05-29:extsmail-1.8 released
2014-03-12:extsmail-1.7 released
2014-02-25:Converge 2.1 released
2014-02-22:multitime 1.3 released
2014-02-18:packagesbootstrap 1.3 released
2013-12-04:Blog: The Bootstrapped Compiler and the Damage Done
2013-09-24:Blog: Relative and Absolute Levels
2013-09-17:Unipycation: a case study in cross-language tracing
2013-08-17:Detecting ambiguity in programming language grammars
2013-07-31:Storage strategies for collections in dynamically typed languages
2013-06-04:Parsing Composed Grammars with Language Boxes
2013-04-09:Blog: General Purpose Programming Languages' Speed of Light
2013-03-06:The Impact of Meta-Tracing on VM Design and Implementation
2013-01-28:Formal announcement of the Software Development Team's formation
2012-12-15:multitime 1.2 released
2012-11-17:extsmail-1.6 released
2012-10-25:Blog: Another Non-Argument in Type Systems
2012-10-23:multitime 1.1 released
2012-10-07:Search-Based Ambiguity Detection in Context-Free Grammars
2012-09-24:multitime 1.0 released
2012-08-21:Experimental Assessment of Software Metrics Using Automated Refactoring
2012-08-02:Blog: Server Failover For the Cheap and Forgetful
2012-07-31:Converge 2.0 released
2012-07-09:extsmail-1.5 released
2012-02-08:Blog: Fast Enough VMs in Fast Enough Time
2011-10-02:New Unix utility: multitime
2011-09-01:I've moved to King's College London
2011-06-28:Blog: Problems with Software 3: Creating Crises Where There Aren't Any
2011-06-19:supuner-0.1 released
2011-06-18:extsmail-1.4 released
2011-06-07:Blog: Problems with Software 2: Failing to Use the Computing Lever
2011-06-01:Converge 1.2 released
2011-05-30:Two new, small, Unix-only releases: xcage and supuner
2011-04-19:Blog: Problems with Software 1: Confusing Problems Whose Solutions Are Easy to State With Problems Whose Solutions Are Easy to Realise
2011-04-15:Follow me on twitter @laurencetratt
2011-04-07:What Role for Static Analysis in Malware Detection?
2011-04-04:Slicing State Based Models
2011-03-15:Blog: Parsing: The Solved Problem That Isn't
2010-10-26:Direct left-recursive parsing expressing grammars
2010-08-25:Blog: In Praise of the Imperfect
2010-08-18:Experiences with an Icon-like Expression Evaluation System
2010-05-30:extsmail-1.3 released
2010-04-07:Blog: A Modest Attempt to Help Prevent Unnecessary Static / Dynamic Typing Debates
2010-03-03:I've moved to Middlesex University
2010-02-07:Comparative study of DSL tools
2009-12-14:Blog: A Proposal for Error Handling
2009-09-24:extsmail-1.2 released
2009-09-15:Blog: The Missing Level of Abstraction?
2009-09-08:Converge 1.1 released
2009-08-22:Language Factories
2009-04-29:extsmail-1.1 released
2009-03-20:Blog: Good Programmers are Good Sysadmins are Good Programmers
2009-01-05:extsmail-1.0 released
2008-12-11:extsmail-0.3 released
2008-11-20:extsmail-0.2 released
2008-11-11:Blog: How can C Programs be so Reliable?
2008-11-11:extsmail-0.1 released
2008-09-01:Blog: Free Text Geocoding
2008-06-02:Blog: Extended Backtraces
2008-03-03:Blog: Designing Sane Scoping Rules
2007-12-10:Blog: Some Lessons Learned from Icon
2007-08-09:Blog: How Difficult is it to Write a Compiler?
2007-05-11:Blog: When Are Macros Useful?
2007-03-21:Blog: Filling in a Gap
2007-01-18:Blog: Are Multicore Processors the Root of a New Software Crisis?
2006-11-21:Blog: The High Risk of Novel Language Features
2006-10-17:Blog: Evolving DSLs
2006-08-30:Blog: More Meta Matters
2006-06-26:Blog: Strategies for Dealing With E-mail
2006-03-26:Blog: Debugging Driven Development
2006-01-29:Blog: Make Exceptions Work For You
2005-12-10:Blog: Home Directory Synchronization
2005-10-03:Blog: SREP
2005-09-12:Blog: Metacircularity
2005-07-21:Blog: Timing setjmp, and the Joy of Standards
2005-06-16:Blog: Text is Dead They Say
2005-05-01:Blog: The Importance of Syntax
2005-01-31:Blog: Predicting the Future of Computing
2004-12-21:Blog: Tail Call Optimization
2004-11-19:Blog: Language Orientated Programming