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