All blogs / Software / engineering practice
Gavin D. Howard
I am a member of The Church of Jesus Christ of Latter-day Saints, a husband, and a computing system designer. This is my professional blog and has only my professional writing.
- Posts
- 110 from 1 May 2018 to 15 Mar 2026
- Posting
- now and then (3 in the last year)
- Kind
- personal blog
- Feed
- https://gavinhoward.com/index.xml
2026 2
2025 4
2024 20
- Advent of Code 2024: Getting Started
- To Broadcast or Not to Broadcast: A Nuanced Perspective
- Rewriting Rust: A Response
- Curing the Framework Curse
- A Better OS Design 2: Microkernel Performance
- Is Crowdstrike the Final Straw?
- Why I Hope Rust Does Not Oxidize Everything
- A Plan for Professionalism
- My Programming Journey
- A New Architecture for a GUI Framework
- A Better OS Design
- Traits, Destructors, "Higher RAII," and Exceptions
- What Rust Got Wrong on Formal Verification
- A Grateful Open Letter to JeanHeyd Meneide
- You Do Not Need Systemd to Replace Sudo
- What Computers Cannot Do: The Consequences of Turing-Completeness
- Build System Schism: The Curse of Meta Build Systems
- How Yzena Versions Software and Interfaces
- Version Interfaces, Not Implementations
- No, Tech Debt Is Not Malpractice
2023 23
- Is "Source Available" Really That Bad?
- Code Is Not Technical Debt
- Am I a Good C Programmer?
- A Decade of Developing a Programming Language: A Response Response
- How to Fund FOSS, Save It from the CRA, and Improve Cybersecurity
- Your Loved Ones Are Prisoners, and You Made the Chain
- An Open Letter to Cryptographers: Please Work Together
- He Who Gives Up Correctness for Performance Deserves Neither
- Lessons Learned as a User 3: Prepare for the Future
- The Scourge of 00UB
- I Have Blocked OpenAI
- I Have Split My Blog
- How Yzena Versions Software
- How I Made a Monorepo
- An Apology to the Gentoo Authors
- The Most Annoying Math Problem
- AI Evangelists Scare Me
- Programming Will Always Use Text
- Justifying a Backwards Design Decision for Yao
- Why I Use C When I Believe in Memory Safety
- Make the Leap Second First-Class: An Open Letter to the International Telecommunication Union
- A Git Sin: Re-Signing an Entire Git Repo
- My Code Conquered Another OS!
2022 9
- We Must Professionalize Programming to Preserve Society and Computing Freedom
- Technical Debt Costs More Than You Think, or My Software Development Process
- Dispelling AI Myths and Rhetoric
- Windows Will Die: 90 Minutes to Do 5 Minutes of Work
- I Believe Zig Has Function Colors
- I Am a Fool: First Adventures in Multi-Threading
- Goodbye, Kitty
- The Law of Strict Licenses
- The Social Contract of Open Source
2021 15
- Is It Even Worth Working on FOSS Anymore?
- My Whitepaper About GitHub Copilot
- "Static Linking Considered Harmful" Considered Harmful
- Comments on Cosmopolitan and Culture
- Projects in the Pipeline
- Poisoning GitHub Copilot and Machine Learning
- Software Developers Are the Problem and the Solution
- Counting Words in C with Yc
- My First Programs
- A dc Script for Easter
- Lessons Learned as a User 2: Eat Your Own Dog Food
- Lessons Learned as a User 1: Ease Matters
- Setting Aside an Idea: Decentralized Identities
- Rust, Zig, and the Futility of "Replacing" C
- Adventures in Backing Up Data with ZFS
2020 14
- Testing the Feasibility of Hardware Pipes 2: Exploring Designs
- My Development Environment and How I Got There
- The Software Industry Is Broken
- Decentralizing the Internet and Other Ideas
- Testing the Feasibility of Hardware Pipes
- An Interesting Idea About Factoring Integers
- Software Engineer Body of Knowledge
- I Am Moving Away from GitHub
- Computing Is Broken and How to Fix It
- Another Reason to Hate Patents
- Head in the Hurricane: Securing a Web Server
- Designing the Hundred-Year Language
- Designing a Type System
- What Yzena Is
2019 15
- Values for Yao
- Designing for Good Thoughts
- Smart Devices Are Dangerous
- Structured Concurrency Definition
- Performance Matters: Jekyll vs Hugo
- bc/dc Tips and Tricks
- bc PRNG
- Finishing Software
- Verifying a Safety Number in Signal
- Shrinking a Website
- Auditing Software Is Hard
- Pointers in Yao
- Why Perfect Software Is Nearly Impossible
- Link-Time Optimization vs Single-File Code
- Better Hiring Practices