Blogs / Personal blogs

Ian Henry

ianthehenry.com

I had another idea for a musical instrument, and I think it worked out pretty well.

Popular posts
12
Total points
2,874
HN comments
1,328
Rank
#503 personal

Visit ianthehenry.com → RSS feedOn Hacker News Mar 2021 – Jun 2026

Software Engineering 11Tools & Productivity 5Programming Languages 4Math & Algorithms 1Hardware & Electronics 1Games & Graphics 1

1

Why Janet? (2023)

I never thought it could happen to me. I mean, parentheses? In this day and age? But for the past couple years, my go-to programming language for fun side projects has been a little Lisp dialect called Janet. (print "hey janet") I like Janet so much that I wrote an entire book about it, and put it on The Internet for…

2

A different kind of keyboard

I’ve always been attracted to chording keyboards in theory, but I lack whatever childhood musical training is required to wrap my fingers around them. So I made something else: an arpeggio keyboard. Peggi is an eight-key keyboard that fits on the back of your phone. While chording keyboards require you to press…

4

How to Learn Nix

It's like a Let's Play, but for obscure software documentation. I tried to learn Nix, and it was pretty hard. I kept a diary of every command I tried, every wrong assumption that I made, and every realization that I had along the way.

5

Janet for Mortals (2023)

I wrote a book. It’s called Janet for Mortals, and it’s free, and it’s on the internet, and you can read it right now. And you should read it right now, instead of reading this blog post, because this blog post is not very interesting if you haven’t read the book. Heck, this blog post is not very interesting even if…

6

Building Bauble

I made something that I think is pretty neat, and I want to tell you about it. This is a little hot air balloon made out of alternating layers of brass and bronze that stack together with these angled facets: It’s 3D printed, sort of, but it really is solid metal – it’s not a metallic filament. It’s made by “lost wax…

7

Visualizing Delaunay Triangulation

Take a look at this: This is a triangulation of a set of random points, such that all the points are connected to one another, all of the faces are triangles, and the edges include the convex hull of the points. I would like to claim that this is not a very “good” triangulation. This algorithm tends to produce lots of…

9

The Problem with Macros

So we’re supposed to be writing a game, right? But in order to make progress, we have to fix a bug. And in order to fix the bug, we have to write a test. And in order to write a test, we have to write a test framework. And in order to write a test framework, we have to understand a thing or two about macros. Okay. So…

10

How to Learn Nix

Five years ago, I migrated my VPS from Arch Linux to NixOS. I had no idea what I was doing. I had never used Nix before. I thought I could figure it out. Five years later, I’m still running NixOS. And I still have no idea how it works.

12

Quote-unquote "macros"

You’ve probably seen this Python 101 thing before: @memoized def fib(n): if n <= 1: return n return fib(n - 1) + fib(n - 2) Leaving aside the absurdity of computing Fibonacci numbers recursively, it’s a common first introduction to Python decorators and higher-order functions. fib is just a function, and memoized…