Reorient GitHub Pull Requests Around Changesets
Mitchell Hashimoto proposes reorienting GitHub Pull Requests around immutable changesets to solve common review workflow problems.
Mitchell Hashimoto is a software developer and co-founder of HashiCorp, now working on Ghostty, a modern terminal emulator. He previously led and built major DevOps tools like Terraform, Vault, and Consul, and shares insights from engineering and aviation.
45 articles from this blog
Mitchell Hashimoto proposes reorienting GitHub Pull Requests around immutable changesets to solve common review workflow problems.
Ghostty terminal emulator devlog covering GUI improvements, beta growth, and a discovered Vim bug related to TERM variable handling.
Mitchell Hashimoto introduces Ghostty, a new terminal emulator written in Zig, and discusses useful Zig programming patterns.
Third devlog for Ghostty terminal emulator, covering community updates, a talk announcement, and deep dive into keyboard input handling challenges.
A developer log for Ghostty, a terminal emulator, covering community updates, licensing plans, and a technical deep dive into implementing non-native fullscreen on macOS.
First devlog for Ghostty, a new GPU-accelerated, cross-platform terminal emulator, discussing its tech stack and shell integration features.
Mitchell Hashimoto shares his method for staying motivated and completing large technical projects by breaking them into tangible, demo-able chunks.
A technical guide on building a native, cross-platform GUI application by integrating Zig business logic with SwiftUI for the macOS frontend.
The article distinguishes between interactive and transactional prompting, arguing that prompt engineering is most valuable for transactional, objective tasks with LLMs.
Explains how to use Nix with Dockerfiles to create consistent, reproducible environments across development, CI, and production.
Explores the difference between rigorous prompt engineering and amateur 'blind prompting' for language models, advocating for a systematic, test-driven approach.
Analyzes the rise of AI as a platform shift, comparing its early stages to the historical growth and evolution of cloud computing.
A guide by Mitchell Hashimoto on a systematic approach to understanding and contributing to complex software projects, from becoming a user to making your first change.
A deep dive into the internal workings of the Zig programming language's built-in build system, explaining its two-stage compilation process and declarative API.
Explains the Zig compiler's Sema stage, which converts untyped ZIR to fully typed AIR intermediate representation, including comptime evaluation.
Explains the Zig compiler's AstGen stage, which converts Abstract Syntax Trees (AST) into the untyped Zig Intermediate Representation (ZIR).
A deep dive into the Zig compiler's parser, explaining how it constructs an Abstract Syntax Tree (AST) using MultiArrayLists.
Explains how tokenization works in the Zig compiler, detailing the tokenizer's structure, usage, and key properties like being allocation-free.
Benchmarking and analysis of filesystem performance for shared folders in VirtualBox and VMware virtual machines, including NFS.
Announcing Packer, an open-source tool for creating identical machine images for multiple platforms like AWS AMIs and Vagrant boxes.