All blogs / Software / engineering practice
Austin Z. Henley's Blog
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
2025 13
- I canceled my book deal
- Langjam Gamejam: Build a programming language and then use it to make a game in 7 days
- The design space of AI coding tools
- My startup diary: Techstars
- We are starting a company to rethink email
- Baby's first type checker
- Assessing students in the era of AI
- 100 blog posts, 6 years, 5 million views
- What makes a good side project?
- The fastest way to detect a vowel in a string
- Mapping latitude and longitude to country, state, or city
- Where are the proactive AI coding tools?
- The design of software engineering course projects
2024 17
- My 25-year adventure in AI and ML
- Mirror: An LLM-powered programming-by-example programming language
- Ad hoc tools for gathering prompt context
- Evaluating your AI models in the wild
- The blog posts I haven't written (yet)
- Can ChatGPT do data science?
- Rejoining academia
- Optimizing a bignum library for fun
- Making a bignum library for fun
- CodeAid: A classroom deployment of an LLM-based programming assistant
- Exploring 50 user interfaces for AI code suggestions
- How I would redesign Copilot Workspace
- Mistakes that data science students make
- Learning to code with and without AI
- Acquired in 99 days
- Satirical ways to measure academics
- The pain points of building a copilot
2023 19
- Leaving Microsoft
- Machine learning of GUIs at scale
- A raycasting engine in 7 easy steps
- Particle playground
- Stopping at 90%
- Bespoke GUIs on the fly
- PM is the choose-your-own-adventure role
- Why I started (and stopped) making games
- My first superoptimizer
- Data wrangling with Data Wrangler
- The future of programming: Research at CHI 2023
- What does a research grant pay for?
- Don't trap me in a chat window
- Hofstadter: An esoteric programming language with concurrency, regex, and web requests
- AI-generated code needs permission labels
- Papers on the UX of AI programming assistants
- Natural language is the lazy user interface
- The pain points of teaching computer science
- My first experience using Swift, SwiftUI, and XCode
2022 18
- Challenging algorithms and data structures every programmer should try
- My future teaching statement
- Does experience make you a better programmer?
- Programming as play
- Coding with Copilot for acceleration and exploration
- Why is it hard to learn another programming language?
- Monthly obsessions
- An AI assistant for command line errors
- Measuring demand for a feature: An economics approach
- My HCI toolbox: Methods for designing and evaluating UIs
- Learning HTML was too hard so I made a compiler instead
- Computational notebooks research at CHI 2022
- Take my app ideas
- The project with a single 11,000-line code file
- Amplifying others
- A study guide for software engineering students
- What a $500,000 grant proposal looks like
- Leaving academia
2021 16
- Lessons from my PhD
- "This project will only take 2 hours"
- Paradox of the perfect code editor
- When users never use the features they asked for
- Building solutions to problems that no one knows exist yet
- Technical blogs worth reading
- Gamification, life, and the pursuit of a gold badge
- Stack Overflow knows your future problem
- Why I prefer making useless stuff
- An inquisitive code editor: Overcome bugs before you know you have them
- A theory of how developers seek information
- All my career rejections
- Navigate your code like it's 2021
- Why is it so hard to see code from 5 minutes ago?
- Python strings are immutable, but only sometimes
- Can you make a basic web app without googling? I can't
2020 12
- More challenging projects every programmer should try
- Progress bars still lie: Please fix them
- List of human-centered software engineering dissertations
- Parsing RISC-V assembly
- Useful functions for game development
- Implementing cosine in C from scratch
- Let's make a Teeny Tiny compiler, part 3
- Let's make a Teeny Tiny compiler, part 2
- Let's make a Teeny Tiny compiler, part 1
- Books I recommend to my software engineering students
- Hey Dropbox, why can't I compare file versions like this?
- What's wrong with computational notebooks?
2019 9
- Going viral on Reddit and Hacker News
- Challenging projects every programmer should try
- Design patterns for hacking together prototypes: Facilitator
- Design patterns for hacking together prototypes: Catch All
- Design patterns for hacking together prototypes: Object Dictionaries
- Is optional null better?
- The 8 lessons I learned from releasing 8 video games
- Quick start guide to research on human factors of software engineering
- Type inference has usability problems