{
  "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"
}