The log
Learning in public, one entry at a time
A builder's lab notebook: short, frequent, unfinished on purpose. Most of what I actually learn is too small to survive being called a post, which is exactly why it belongs here.
✦ how to read this
Entries drafted with a model are marked ✦ and show the prompt that started them. Entries that used no model say so as well. The marking only means something because both halves exist.
By the numbers
6 entries
3 co-written
3 by hand
Feed
This site is now co-written with AI — on purpose
The 2027 rebuild keeps a public log of what I learn, marks what AI helped with, and shows the prompts. Here's why.
“Help me turn these rough notes about rebuilding my portfolio into a short log entry about keeping an AI-assisted learning log in public. Keep it honest, first person, under 150 words.”
✦ co-written with GLM, edited by hand
#meta#ai#writingTIL: Tauri is a webview, not a browser
Shipping a Tauri app taught me why 'it works in Chrome' is not the same as 'it works in Tauri'.
#tauri#desktop#rust✎ by handA good prompt is just a good ticket
Writing requirements for an AI model and writing tickets for a teammate turn out to be the same skill.
“I keep noticing that my best AI results come from prompts that look like good issue tickets. Interview me about this observation, then help me condense the pattern into a short log entry.”
✦ co-written with GLM, edited by hand
#ai#workflow#communicationAI is a linter for thinking, not a replacement for it
My rule after a year of AI-assisted coding: the model drafts, I decide. And I decide better when I make it argue.
“Challenge this claim of mine: 'AI is a linter for thinking, not a replacement for it.' Steelman the opposite view, then help me write a 120-word log entry that survives your best objection.”
✦ co-written with GLM, edited by hand
#ai#opinionTIL: `satisfy` says 'check me, don't change me'
The difference between `as` and `satisfy` in TypeScript, in one sentence I finally got right.
#typescript#til✎ by handGraphQL fragments are a DX superpower I underused
At the day job I finally leaned into colocated fragments — and deleted a pile of hand-maintained query types.
#graphql#react#frontend✎ by hand
showing 6 of 6