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

Filter
  1. 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#writing
  2. TIL: 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 hand
  3. A 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#communication
  4. AI 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#opinion
  5. TIL: `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 hand
  6. GraphQL 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