2024
September
August
July
June
- Jun 14: A Plan for Professionalism
- Jun 5: My Programming Journey
May
- May 29: A New Architecture for a GUI Framework
- May 24: A Better OS Design
- May 23: Traits, Destructors, "Higher RAII," and Exceptions
- May 22: What Rust Got Wrong on Formal Verification
- May 22: A Grateful Open Letter to JeanHeyd Meneide
- May 7: You Do Not Need Systemd to Replace Sudo
March
- Mar 26: What Computers Cannot Do: The Consequences of Turing-Completeness
- Mar 19: Build System Schism: The Curse of Meta Build Systems
February
January
- Jan 18: No, Tech Debt Is Not Malpractice
2023
December
- Dec 27: Is "Source Available" Really That Bad?
- Dec 20: Code Is Not Technical Debt
- Dec 13: Am I a Good C Programmer?
- Dec 1: A Decade of Developing a Programming Language: A Response Response
November
- Nov 28: How to Fund FOSS, Save It from the CRA, and Improve Cybersecurity
- Nov 5: Your Loved Ones Are Prisoners, and You Made the Chain
October
- Oct 26: An Open Letter to Cryptographers: Please Work Together
- Oct 22: He Who Gives Up Correctness for Performance Deserves Neither
September
August
- Aug 18: The Scourge of 00UB
- Aug 18: I Have Blocked OpenAI
- Aug 4: I Have Split My Blog
July
- Jul 10: How Yzena Versions Software
- Jul 10: How I Made a Monorepo
June
April
- Apr 24: The Most Annoying Math Problem
- Apr 24: AI Evangelists Scare Me
February
- Feb 26: Programming Will Always Use Text
- Feb 20: Justifying a Backwards Design Decision for Yao
- Feb 4: Why I Use C When I Believe in Memory Safety
- Feb 4: Make the Leap Second First-Class: An Open Letter to the International Telecommunication Union
- Feb 3: A Git Sin: Re-Signing an Entire Git Repo
- Feb 3: My Code Conquered Another OS!
2022
October
- Oct 28: We Must Professionalize Programming to Preserve Society and Computing Freedom
- Oct 24: Technical Debt Costs More Than You Think, or My Software Development Process
- Oct 20: Dispelling AI Myths and Rhetoric
September
April
March
February
- Feb 10: Goodbye, Kitty
January
- Jan 14: The Law of Strict Licenses
- Jan 9: The Social Contract of Open Source
2021
December
October
- Oct 27: My Whitepaper About GitHub Copilot
- Oct 1: "Static Linking Considered Harmful" Considered Harmful
September
July
June
April
- Apr 7: Counting Words in C with Yc
- Apr 3: My First Programs
- Apr 2: A dc Script for Easter
March
- Mar 31: Lessons Learned as a User 2: Eat Your Own Dog Food
- Mar 31: Lessons Learned as a User 1: Ease Matters
- Mar 31: Setting Aside an Idea: Decentralized Identities
February
January
- Jan 29: Dynamic Linking Needs to Die
2020
December
- Dec 26: Testing the Feasibility of Hardware Pipes 2: Exploring Designs
- Dec 14: My Development Environment and How I Got There
August
- Aug 20: The Software Industry Is Broken
July
May
April
- Apr 8: I Am Moving Away from GitHub
February
- Feb 19: Computing Is Broken and How to Fix It
- Feb 19: Another Reason to Hate Patents
- Feb 17: Head in the Hurricane: Securing a Web Server
January
- Jan 31: Designing the Hundred-Year Language
- Jan 31: Designing a Type System
- Jan 17: What Yzena Is
2019
December
- Dec 25: Values for Yao
- Dec 25: Designing for Good Thoughts
- Dec 22: Smart Devices Are Dangerous
- Dec 16: Structured Concurrency Definition
- Dec 15: Performance Matters: Jekyll vs Hugo
- Dec 1: bc/dc Tips and Tricks
November
- Nov 28: bc PRNG
- Nov 24: Finishing Software
- Nov 23: Verifying a Safety Number in Signal
- Nov 21: Shrinking a Website
- Nov 15: Auditing Software Is Hard
August
- Aug 24: Pointers in Yao
- Aug 24: Why Perfect Software Is Nearly Impossible
- Aug 13: Link-Time Optimization vs Single-File Code
July
- Jul 20: Better Hiring Practices
2018
November
- Nov 6: PL Design 4: Features
- Nov 6: PL Design 3: Reducing Bugs
- Nov 6: PL Design 2: Reducing Friction
- Nov 5: Code of Conduct for Yzena
August
- Aug 16: PL Design 1: Principles
- Aug 14: Tech Crises
May