The Curious Engineer

All blogs / Software / engineering practice

Austin Z. Henley's Blog

austinhenley.com/blog.html

Technical blog covering software engineering, academia, product design, and usability.

Software / engineering practiceAI / MLCompilersDev tools / editors / IDEs

Posts
113 from 11 Nov 2016 to 6 Sep 2026
Posting
monthly (8 in the last year)
Kind
personal blog
Feed
https://austinhenley.com/blog/feed.rss

2026 6

  1. Making a Python interpreter in 1024 bytes
  2. You probably use AI because your colleagues use AI
  3. Automating my job away
  4. Academia, startups, big tech, and back again
  5. Dear researchers: Is AI all you've got?
  6. Simulating the ladybug clock puzzle

2025 13

  1. I canceled my book deal
  2. Langjam Gamejam: Build a programming language and then use it to make a game in 7 days
  3. The design space of AI coding tools
  4. My startup diary: Techstars
  5. We are starting a company to rethink email
  6. Baby's first type checker
  7. Assessing students in the era of AI
  8. 100 blog posts, 6 years, 5 million views
  9. What makes a good side project?
  10. The fastest way to detect a vowel in a string
  11. Mapping latitude and longitude to country, state, or city
  12. Where are the proactive AI coding tools?
  13. The design of software engineering course projects

2024 17

  1. My 25-year adventure in AI and ML
  2. Mirror: An LLM-powered programming-by-example programming language
  3. Ad hoc tools for gathering prompt context
  4. Evaluating your AI models in the wild
  5. The blog posts I haven't written (yet)
  6. Can ChatGPT do data science?
  7. Rejoining academia
  8. Optimizing a bignum library for fun
  9. Making a bignum library for fun
  10. CodeAid: A classroom deployment of an LLM-based programming assistant
  11. Exploring 50 user interfaces for AI code suggestions
  12. How I would redesign Copilot Workspace
  13. Mistakes that data science students make
  14. Learning to code with and without AI
  15. Acquired in 99 days
  16. Satirical ways to measure academics
  17. The pain points of building a copilot

2023 19

  1. Leaving Microsoft
  2. Machine learning of GUIs at scale
  3. A raycasting engine in 7 easy steps
  4. Particle playground
  5. Stopping at 90%
  6. Bespoke GUIs on the fly
  7. PM is the choose-your-own-adventure role
  8. Why I started (and stopped) making games
  9. My first superoptimizer
  10. Data wrangling with Data Wrangler
  11. The future of programming: Research at CHI 2023
  12. What does a research grant pay for?
  13. Don't trap me in a chat window
  14. Hofstadter: An esoteric programming language with concurrency, regex, and web requests
  15. AI-generated code needs permission labels
  16. Papers on the UX of AI programming assistants
  17. Natural language is the lazy user interface
  18. The pain points of teaching computer science
  19. My first experience using Swift, SwiftUI, and XCode

2022 18

  1. Challenging algorithms and data structures every programmer should try
  2. My future teaching statement
  3. Does experience make you a better programmer?
  4. Programming as play
  5. Coding with Copilot for acceleration and exploration
  6. Why is it hard to learn another programming language?
  7. Monthly obsessions
  8. An AI assistant for command line errors
  9. Measuring demand for a feature: An economics approach
  10. My HCI toolbox: Methods for designing and evaluating UIs
  11. Learning HTML was too hard so I made a compiler instead
  12. Computational notebooks research at CHI 2022
  13. Take my app ideas
  14. The project with a single 11,000-line code file
  15. Amplifying others
  16. A study guide for software engineering students
  17. What a $500,000 grant proposal looks like
  18. Leaving academia

2021 16

  1. Lessons from my PhD
  2. "This project will only take 2 hours"
  3. Paradox of the perfect code editor
  4. When users never use the features they asked for
  5. Building solutions to problems that no one knows exist yet
  6. Technical blogs worth reading
  7. Gamification, life, and the pursuit of a gold badge
  8. Stack Overflow knows your future problem
  9. Why I prefer making useless stuff
  10. An inquisitive code editor: Overcome bugs before you know you have them
  11. A theory of how developers seek information
  12. All my career rejections
  13. Navigate your code like it's 2021
  14. Why is it so hard to see code from 5 minutes ago?
  15. Python strings are immutable, but only sometimes
  16. Can you make a basic web app without googling? I can't

2020 12

  1. More challenging projects every programmer should try
  2. Progress bars still lie: Please fix them
  3. List of human-centered software engineering dissertations
  4. Parsing RISC-V assembly
  5. Useful functions for game development
  6. Implementing cosine in C from scratch
  7. Let's make a Teeny Tiny compiler, part 3
  8. Let's make a Teeny Tiny compiler, part 2
  9. Let's make a Teeny Tiny compiler, part 1
  10. Books I recommend to my software engineering students
  11. Hey Dropbox, why can't I compare file versions like this?
  12. What's wrong with computational notebooks?

2019 9

  1. Going viral on Reddit and Hacker News
  2. Challenging projects every programmer should try
  3. Design patterns for hacking together prototypes: Facilitator
  4. Design patterns for hacking together prototypes: Catch All
  5. Design patterns for hacking together prototypes: Object Dictionaries
  6. Is optional null better?
  7. The 8 lessons I learned from releasing 8 video games
  8. Quick start guide to research on human factors of software engineering
  9. Type inference has usability problems

2018 2

  1. What I got from 5 internships during grad school
  2. Faculty interview questions I asked and got asked

2016 1

  1. My favorite Wikipedia articles about science