2024-11-27: | Blog: Structured Editing and Incremental Parsing |
2024-11-25: | Blog: How I Prepare to Make a Video on Programming |
2024-11-10: | Blog: pizauth: HTTPS redirects |
2024-11-10: | pizauth-1.0.6 released |
2024-08-21: | Blog: Recording and Processing Spoken Word |
2024-07-27: | pizauth-1.0.5 released |
2024-07-25: | snare-0.4.11 released |
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: HTTPS redirects |
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 |