{
"path": "/3mfcw2sq72c2c",
"site": "at://did:plc:aurnkk6uy6axy66uqaq6dqy6/site.standard.publication/3m6gjuzizxc27",
"tags": [],
"$type": "site.standard.document",
"title": "Homer's car is the perfect LLM-coding metaphor",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019c7c62-8dc9-7990-a681-7b2906398c86",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.image",
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreiauuq6nhm4riodfihamvnrs7ylpsujokkzdmlsgdgi3inadqsqqhu"
},
"mimeType": "image/webp",
"size": 58312
},
"aspectRatio": {
"width": 985,
"height": 739
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 1,
"facets": [
{
"index": {
"byteEnd": 60,
"byteStart": 31
},
"features": [
{
"uri": "https://en.wikipedia.org/wiki/Oh_Brother,_Where_Art_Thou%3F",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "The 3 Reasons Homer's car from \"Oh Brother, Where Art Thou?\" is the perfect metaphor for agentic LLM-coding"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "1: Homer doesn't know anything about making cars (no domain knowledge)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "2: The R&D department of his brother's car company gives him the ability to do kinda anything within the limits of physics (like claude code supercharges me within the world of bits)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "3: nobody ever pushes back on his dumb ideas! "
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 1,
"facets": [],
"plaintext": "My Ridiculous/Silly/Embarrassing/Sloppy Recent Projects"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.image",
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreifp3xbaetmqropplpr3ojvtqmddzwwksonjugxp4gjxxzmxm5fcly"
},
"mimeType": "image/png",
"size": 441015
},
"aspectRatio": {
"width": 1584,
"height": 1244
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"id": "019c7c9a-638f-7ee9-9e67-f8fc1dc05b6b",
"$type": "pub.leaflet.blocks.page"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I am on a $100/month Claude plan. I've hit my limits, barely, each of the last two weeks. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Working like this is definitely a kind of mania. Tiring in a way you can't quite put your finger on, almost like spending the day playing some obscure sport that requires muscle groups you don't normally activate. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I am no longer coding to make anything lasting. I am now coding to explore ideas and to teach myself how to use these new tools. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Geoffrey Huntley (of the Ralph method) describes working this way as like throwing pottery. While I've never thrown a pot, that metaphor has been in my brain as I've worked, and I see my projects in this directory kind of like pots that I've made learning to practice a technique (none of them are particularly museum-quality or even symmetrical). "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 1,
"facets": [],
"plaintext": "LLM hot takes"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "This blog post has no structure, and I apologize. Here are some hot takes: "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "RIP Python as super language"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Until not that long ago Python was my best friend/favorite/ride or die. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "It's virtues:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "readability"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "friendliness to beginners"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "but also onramp into more high performance/specific stuff for scientists (who may be code novices)"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Now, though...you're kidding yourself if you think new-to-code/novices people are not going to use LLMs like crazy. And personally typescript is my go-to LLM language for web compatibility + type safety + tooling. Is there even going to be a new lingua franca language for normies? I think that's an honest question, whether there will be one. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "RIP (eventually) traditional open source"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "What does it mean to collaborate as a heavy agentic coder? More forking? \"Have your agent talk to my agent\"? "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I don't know. I think a good start would be just more dialog (& that's a big part of why I'm writing/streaming/sharing these days). I would very much like to pair program with others who use LLMs differently than I do. Maybe have a conversation that we record and turn into a spec that then we both craft into software, and then compare notes? DMs are open. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Protocols matter more/can be superchargers "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Specificity matters so much for prompting. \"Make {my stupid app} compatible with the ATProto so users can upload {the stupid thing my stupid app lets them do} to their PDS and share if they like\" is kind of an awesome hack for adding a lot of carefully vetted specific engineering secret sauce to your project. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
}
]
},
{
"id": "019c7c9a-638f-7ee9-9e67-f8fc1dc05b6b",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 1,
"facets": [],
"plaintext": "I want more details about the slop"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 13,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "arch-thinkpad is notes/a plan to to put arch on my thinkpad. I gave up because I don't know that I want to be an arch person after all. And right now (fortunately or unfortunately) LLMs are so central to my workflow, and my mac is set up nicely with wisper-flow & other goodies so I don't want to go to all the trouble. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "_template is a starter repo for Ralphing, with the basic files all set up. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 23,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "context-window-research I don't remember what that was. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "firehose-db-bench needs attention at some point...I had claude benchmark sqlite vs postgres, with my instructions to \"drive sqlite into the ditch\" while ingesting the firehose. I think it did it, I need to go thru the results. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 16,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "fisheye-research is just me asking how that british train tiktok guy gets that angle of his face that's all distorted. Just a gopro turned upside down I think? "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 79,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "jakes-band, jakes-bandv2, looping-app-v{1-4}, composable-synth, piano, mpk-mini...that's all digital synth stuff. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The current iteration is: "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.image",
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreieufsok5bc6k4zed5rmzyssgsmcs6omb6m7ddfawofxup434slve4"
},
"mimeType": "image/png",
"size": 236314
},
"aspectRatio": {
"width": 1364,
"height": 1818
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "rust backend"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "browser quasi-frontend (raw js) "
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "looping as first-class thing. Componentized so I can layer some things. Takes MPK-mini + microphone as inputs. Heavily, heavily customizing software to match MPK-mini EXACTLY. Have had to remind agent of that many times, that this is bespoke software for one user with one device. "
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 15,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "nl-spec-website...that was me thinking how cool it would be to make markdown files I could give to a stranger, including a template they could fill out (think: about section paragraph, list of social links, etc). And the deliverable woudl be something ANYONE coudl trhow to a free LLM and get a legit personal website back. Still interested in this idea! "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 10,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "pod-player...had it try to make an RSS style podcast client for my android. Gave up because I don't want to have to do a bunch of manual stuff on my phone...then back to llm...then back to phone to test manually. Also not at all confident it'd be better than existing apps (I use spotify. I still like the spotify UI a lot. I will leave spotify when I find something where the UI is as good as spotify. idk why I like the spotify UI but I do. )"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "protocol-browsers...made a nostr and farcaster browser in the style of the many excellent ATProto + ActivityPub browsers. It worked, but then I hit wall where...I don't know those other ecosystems well enough to be able to know what to even ask for/what directions to explore in. Probably will come back to this, maybe with LLM-assisted refactor"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 13,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "ralph-sandbox...research on LLM sandboxing approaches"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 10,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "reorganize reorganizing my computer. Felt dangerous, probably was, but worked very very well + was immediately glad I did it. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 12,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "simple-music ... sibling of pod-player. Gave up for same reasons. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 12,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "site-blocker...I have no idea"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 14,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 90,
"byteStart": 17
},
"features": [
{
"uri": "https://skyboard.dev/board/did:plc:aurnkk6uy6axy66uqaq6dqy6/3mej6lm5dmk2e",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "skyboard-admin...https://skyboard.dev/board/did:plc:aurnkk6uy6axy66uqaq6dqy6/3mej6lm5dmk2e (I know this is public. I am okay with that. Steal my ideas. Please.) "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 10,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "wikisurfer...a weird wikipedia browser that lets you use arrow keys to go article to article by like...most recently edited or least recently edited or a bunch of other stuff. Was slow. Was kinda spamming wikipedia apis. Wasn't delightful so didn't keep iterating. Still an interesting idea there. I love wikipedia and would love a project where I could get more familiar with their internals. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "wonder-robots. This one I should just do. I own two wonder dash robots (you can buy them on ebay for $40 ish), they have awesome APIs, they were a fun MCP project a year ago, wanna keep iterating (but again...world of atoms not bits, not ideal for LLMs). "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Phew! "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 37,
"byteStart": 26
},
"features": [
{
"uri": "https://jklb.social",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "And I didn't even mention jklb.social. Or a jpg glitch app I put quite a few iterations into. "
}
}
]
}
]
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiauuq6nhm4riodfihamvnrs7ylpsujokkzdmlsgdgi3inadqsqqhu"
},
"mimeType": "image/webp",
"size": 58312
},
"bskyPostRef": {
"cid": "bafyreifvzmxfuwsparb72l6zssaxdjcd5igswsclfiw3alqoer3g5wcspq",
"uri": "at://did:plc:aurnkk6uy6axy66uqaq6dqy6/app.bsky.feed.post/3mfcw2wnpnk2c",
"commit": {
"cid": "bafyreiguk3ieze2ggy3dzbacndqfe4czoje4eezqehkgsvdhlein25vhou",
"rev": "3mfcw2wsxbq22"
},
"validationStatus": "valid"
},
"description": "stop the search. We've found the perfect metaphor",
"publishedAt": "2026-02-20T20:09:53.302Z"
}