( \_
( \ " )
(~_ " /__)
____`/`_____
hi!
ian@ianhenderson.org
@ianh@mastodon.social
https://github.com/ianh
panic#9031 panic9031
software
owl - a parser generator for visibly pushdown languages (try it online!)
dezip - browse (and search) source code directly from an archive url
games (making)
you drove off the road! (july 2023) - a rule deduction puzzle game with racing elements
many wordls (january 2022) - multiplayer wordle
$2000-$3fff (december 2014) - a commodore 64 program which displays its entire memory on the screen, then draws missiles into it (source code)
games (playing)
critelli.technology - tools for the opus magnum community
custom panels using puzzle mechanics from the witness
conceptual web stuff
0rise (november 2023) - a clock synchronized to sunrise and sunset
hypernav (november 2022) - hierarchical navigation ui in the band model of the hyperbolic plane (try it on your phone!)
arithmesnek (may 2022) - encoding a snake game in a single integer
window-scatter (january 2021) - window management idea
numberbrush (january 2018) - a steadily-increasing number is repurposed into a felt-like interactive material
4x4 (pre-2018) - fun with hover states
technical notes
a size-generic pointer type for C (september 2024)
sending balanced events over a lossy channel (september 2024)
how the RSS feed for this site works (october 2023)
cutting squares into similar rectangles using a computer program (february 2023)
protocols and formats
yay (december 2023) - a system for creating simple-to-parse file formats that look and feel similar to YAML
wmc (september 2022) - a file format which describes its own structure via webassembly (demo)
sutf8 (may 2018) - a structured text encoding
writing
software longevity (july 2023)
other
[zooming] CLIP Guided Diffusion HQ (512x512 edit) (august 2021) - CLIP guided diffusion with a cool recursive zoom effect
amiga kickstart vector graphics in javascript (march 2021)
xoxo (august 2020) - a looping animation
DisplayScript (2016) - a programming language designed for making user interfaces