The Curious Engineer

All blogs / Compilers

Andrew Healey's Blog

healeycodes.com

Andrew Healey's blog and personal website. Software engineer, writer, creator.

CompilersPerformance / optimizationLisp / Clojure / SchemeGo

Posts
130 from 1 Jan 2019 to 24 Oct 2026
Posting
monthly (8 in the last year)
Kind
personal blog
Feed
https://healeycodes.com/feed.xml

2026 7

  1. Decompiling Fast Food Tycoon 2: Drawing the World
  2. What Makes LLM Tokenization Slow?
  3. 128 articles
  4. Adding Go's defer to the TypeScript Compiler
  5. A Tiny Compiler for Data-Parallel Kernels
  6. Building a Runtime with QuickJS
  7. Building a Shell

2025 12

  1. A Fair, Cancelable Semaphore in Go
  2. Solving NYT's Pips Puzzle
  3. Compiling a Forth
  4. Icepath: a 2D Programming Language
  5. Counting Words at SIMD Speed
  6. Optimizing My Disk Usage Program
  7. Maybe the Fastest Disk Usage Program on macOS
  8. Filesystem Backed by an LLM
  9. Solving Queuedle
  10. How I Made Queuedle
  11. Visualizing Chess Bitboards
  12. Installing NPM Packages Very Quickly

2024 9

  1. Building Game Prototypes with LÖVE
  2. Compiling Lisp to Bytecode and Running It
  3. Generating Mazes
  4. Making Python Less Random
  5. 2D Multiplayer From Scratch
  6. Lisp Compiler Optimizations
  7. Lisp to JavaScript Compiler
  8. Adding a Line Profiler to My Language
  9. Compressing CS2 Demos

2023 12

  1. A Custom WebAssembly Compiler
  2. Rendering Counter-Strike Demos in the Browser
  3. Porting Boolrule To Rust
  4. Running Untrusted Python Code
  5. Building Family Websites
  6. My Own Python Web Framework
  7. My Time At The Recurse Center
  8. Sandboxing JavaScript Code
  9. Implementing Highlighting, Search, and Undo
  10. Making a Text Editor with a Game Engine
  11. Profiling and Optimizing an Interpreter
  12. Adding For Loops to an Interpreter

2022 8

  1. A Personal File Share CLI
  2. CodeGuessr
  3. Recent Projects I Didn't Finish
  4. Virtual Ants
  5. Implementing Bitcask, a Log-Structured Hash Table
  6. Building and Solving Sokoban
  7. Beating grep with Go
  8. When I'm Sad My Computer Sends Me Cats

2021 10

  1. Designing a Code Playground for Adventlang
  2. Designing a Programming Language for Advent of Code
  3. DOOM Rendered via Checkboxes
  4. Porting Niceware to Rust
  5. Creating the Golfcart Programming Language
  6. Listening to Satellites with my Raspberry Pi
  7. Computer Vision and Embroidery
  8. GeoGuessing with Deep Learning
  9. WebAssembly Search Tools for Static Sites
  10. Generating Text With Markov Chains

2020 17

  1. Personal Websites and Internet Writing
  2. Building My Own Chess Engine
  3. Writing Software for an Among Us League
  4. Learning the Ink Programming Language
  5. Privacy Focused Analytics From Scratch
  6. Boids in WebAssembly Using Go
  7. Creating Randomness Without Math.random
  8. A Practical Introduction to Graphs (Network Diagrams)
  9. Polyfilling the Fetch API for Old Browsers and Node.js
  10. The Flow of Knowledge in a Team (or Why I Dig Tickets)
  11. Adding Comments to Gatsby with Netlify Serverless Functions + GitHub
  12. Hacking Together an E-ink Dashboard
  13. How I'm Working Remotely
  14. Twitter Ticker Tape with a POS58 Receipt Printer
  15. Book Review: The Developer's Guide to Content Creation
  16. DEV Article Analysis
  17. Gatsby Sparks Joy

2019 55

  1. Hardest JavaScript Puzzle I've Ever Solved
  2. Let's Build a CAPTCHA Generator with Node.js
  3. Cloning Memcached with Go
  4. My First Golang Program
  5. I Built a Bot to Try and Get Money Back From My Internet Provider
  6. My Experience with Pair Programming
  7. An Introduction to Caching on the Web, With Examples in Python
  8. What If I Want My Website to Last for 100 Years?
  9. A Tutorial on Tricking Google: Encoding Messages in Apostrophes
  10. Your First Open-Source Pull Request: a Walkthrough
  11. Refactoring JavaScript for Performance and Readability (with Examples!)
  12. Saving Data in JavaScript Without a Database
  13. Interview Question: Implement a Progress Bar
  14. Solving Puzzles With High-Performance JavaScript
  15. A Tiny Project, From Inception to Deployment
  16. Continuous Deployment to Glitch via GitHub Webhooks
  17. Fun With Linear Time: My Favorite Algorithm
  18. What They Don't Teach You at a Computer Science Masters
  19. The Weird Rules I Set Myself That Got Me a Job
  20. How to Write an Awesome GitHub README
  21. Talking to Python from JavaScript (and Back Again!)
  22. Learn the Storage API by Building a Note Taking App (Tutorial)
  23. Embed Your Latest DEV Posts Anywhere (Tutorial)
  24. Build a Python Bot to Find Your Website's Dead Links (Tutorial)
  25. Answered: What the Heck is Code Golf?
  26. JavaScript One-Liners That Make Me Excited
  27. Need a Friend? Write a Reddit Bot with Python to Follow You Around (Tutorial)
  28. Earn a Build Passing Badge on GitHub! Testing Your Express App with Travis CI (Tutorial)
  29. Coding a Live Cam for the Raspberry Pi in Python (Tutorial)
  30. How Flappy Bird Got Me My Start in Software
  31. A Day in the Life of a Mediumly Productive Software Engineer
  32. Kicking Butt and Taking Names With WebSockets (Tutorial)
  33. Two Things About My First In-house Software Job That I Didn't See Coming
  34. Creating Cute GitHub Badges Based Off a Project's Mood (Node.js)
  35. Real-Time Streaming of Every Emoji Posted as a Comment to Reddit.com
  36. I Ported Sudoku to Your URL Bar and It Plays like a Dream
  37. Cloning Dominos Order Tracker as a Microservice with Node.js and Firebase!
  38. Benchmarking WebSocket Servers with Python!
  39. Leetcode - Episode 17 - Moving, Shaking, and Folding (3 x E)
  40. Leetcode - Episode 16 - Pretty Efficient (3 x E)
  41. Leetcode - Episode 15 - Three Tree Qs (3 x E)
  42. Leetcode - Episode 14 - Short, Easy Solutions (3 x E)
  43. Leetcode - Episode 13 - Finding My Stride (3 x M)
  44. Leetcode - Episode 12 - Starting Early (3 x E)
  45. Leetcode - Episode 11 - Faster than 99.17% (1 x M, 2 x E)
  46. Leetcode - Episode 10 - Short Solutions (1 x M, 2 x E)
  47. Leetcode - Episode 9 - Trudging Through (3x E)
  48. Leetcode - Episode 8 - Breaking Out Some Mediums (3x M, 1x E)
  49. Leetcode - Episode 7 - Getting More Pythonic (3x E)
  50. Leetcode - Episode 6 - Progressively Harder (3x E)
  51. Leetcode - Episode 5 - Fastest Solutions Yet (3x E)
  52. Leetcode - Episode 4 - gnivloS melborP (3x E)
  53. Leetcode - Episode 3 - The Streak Continues (3x E)
  54. Leetcode - Episode 2 - Three More Easys
  55. Leetcode - Episode 1 - Three Easys