Hey, I'm Ian and I make websites
This is my digital garden, where I write about making websites, creating games and other creative adventures.
Latest posts
All 41 posts-
GRD041
#159Filed today
I use AI at work, why not in my game
Players review bomb games made with AI and the stores label them. I build software with AI at work, so I find it odd that my own game should be any different.
-
GRD040
#74AFiled 3 weeks ago
Stati 2 started as four bug reports
I filed four bug reports about Stati's templates in one afternoon, each with a fix. Two hours later I threw the fixes away and broke the template API instead.
-
GRD039
#319Filed 4 weeks ago
@stati/images: responsive images and link preview cards for Stati
AVIF and WebP at several widths, and an Open Graph card for every page drawn without a browser. It ships as a separate package, and I had my reasons.
-
GRD038
#238Filed 4 months ago
The dev server got slower with every save
Windows eating file writes, a watcher that watched too much, and the instruments I built into Stati so the next slowdown shows up on a pull request instead of in my hands.
-
GRD037
#6B1Filed 6 months ago
What Stati is, and what it isn't
Where a small, TypeScript-first static site generator fits next to Astro, Eleventy and Hugo, and when you should pick one of those instead.
Fig. 2
- Link to or from the latest 5 · 5
- Link between older posts · 16
Random snippets
-
SNP059
Sign your commits with your SSH key
Verified badges on GitHub without setting up GPG.
6 lines of sh in 2 blocks, 4 lines of explanation.
#64B -
SNP094
Upsert in PostgreSQL
Insert a row, or update it if it already exists, in one statement.
6 lines of sql in 2 blocks, 5 lines of explanation.
#591 -
SNP127
LLM prompt for reviewing a pull request
A second pair of eyes before you ask a human for theirs.
22 lines of md in 1 block, 3 lines of explanation.
#53B -
SNP105
Breadcrumbs from stati.nav
getBreadcrumbs() starts at the page's own folder. findNode() gives the whole trail.
27 lines of eta in 2 blocks, 9 lines of explanation.
#591 -
SNP039
MariaDB in Docker for local development
A database for the project that you can throw away and recreate in a second.
17 lines of yaml and sh in 2 blocks, 4 lines of explanation.
#952
Fig. 3
- Code · 78 lines in 9 blocks
- Explanation · 25 lines
- Notes · 0