Adding Go's defer to the TypeScript Compiler
Forking tsc to support Go's defer.
Andrew Healey's blog and personal website. Software engineer, writer, creator.
Forking tsc to support Go's defer.
Exploring how compilers lower ordinary loops into explicit data-parallel kernels.
Building a tiny JavaScript runtime on top of QuickJS with timers, file I/O, and an event loop.
I built a tiny shell in C to learn what fork, execvp, and dup2 are doing under the hood.
Building a fair, cancelable semaphore in Go and the subtle concurrency issues involved.
A solver for The New York's Times' daily Pips puzzle.
A bytecode compiler and VM for a Forth-like language.
Sliding around a cave and hitting opcodes.
Rewriting a word counting program five times until it's 494x faster.
Increasing performance by reducing thread scheduling overhead and lock contention.
A very fast du -sh clone for macOS.
FUSE filesystem where file operations are handled by an LLM.
Writing a game solver for Queuedle.
A daily word-sliding puzzle game inspired by Wordle and Scrabble.
Brief introduction to chess bitboards and move generation with animations.
Building a package manager with a fast install step.
Chess, card games, and Lua.
Extending my Lisp compiler and adding a fast virtual machine.
Visualizations and techniques for different maze generation algorithms.
Using ptrace to intercept and modify a process's getrandom syscall.
Exploring patterns and systems for creating realtime browser games.
Smaller programs that do less work.
Transpiling Lisp to JavaScript using Rust.
Creating my own developer tooling, and some thoughts on line profilers.
Shrinking demo data by a factor of 13x.
Making my programming language 4000x quicker, and adding a static type checker.
Building a demo player for coaches and analysts to visualize CS2 gameplay.
Building a fast boolean expression evaluation engine.
Using seccomp and setrlimit to build a Python sandbox.
The highest user-joy-per-visit than any other project I'll ever work on.
Using Vercel's Build Output API to explore some framework ideas.
Thoughts and reflections on my six week batch.
An overview of the sandboxing landscape, and some experiments with Deno.
How I added three new features to my text editor.
Writing my own quirky version of nano using the 2D game engine Ebitengine.
Rewriting library code to speed up my interpreter benchmark by 28%.
Extending an existing tree-walk interpreter step by step.
Sharing files with my friends from the terminal.
Building a guessing game for popular open source projects.
A few ideas I tried. Including flamegraphs, fast HTTP routing, and infinite chess.
Artificial life and Langton's ant.
Shipping a speedy key/value store for datasets larger than memory.
Creating an automated solver for Sokoban puzzles.
Writing a fast file searching program and benchmarking it.
I wrote a program that sends cats to my phone when I'm sad at the computer.
Using Web Workers and WebAssembly to build a speedy UI.
What is the minimum amount of features I need to not hate my life during this festive season?
WebAssembly meets 16000 HTML checkboxes.
The sensation of incremental progress when programming with Rust.
Writing an interpreter from scratch.