← hn_top_posts_title_improve

Run Detail

fb00dbe0-4fc1-473f-b08f-4095acf9df8f
success

Started

2026-03-01 20:54:43

Finished

2026-03-01 20:56:00

Steps

s1 rss success 2026-03-01 20:54:43 → 2026-03-01 20:54:44
Input (2 bytes)
[]
Output (12682 bytes)
[
  {
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  }
]
s2 llm_route success 2026-03-01 20:54:44 → 2026-03-01 20:54:51
Input (12682 bytes)
[
  {
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  }
]
Output (13022 bytes)
[
  {
    "_branch": "fail",
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "_branch": "fail",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "_branch": "fail",
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "_branch": "fail",
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "_branch": "fail",
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "_branch": "fail",
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "pass",
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "_branch": "fail",
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "_branch": "pass",
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "_branch": "pass",
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "_branch": "fail",
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "_branch": "pass",
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "_branch": "pass",
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "_branch": "pass",
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "_branch": "pass",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "_branch": "pass",
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "_branch": "pass",
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "_branch": "pass",
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "_branch": "fail",
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  }
]
s3 llm_route success 2026-03-01 20:54:51 → 2026-03-01 20:55:01
Input (12682 bytes)
[
  {
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  }
]
Output (13022 bytes)
[
  {
    "_branch": "fail",
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "_branch": "fail",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "_branch": "fail",
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "_branch": "fail",
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "_branch": "fail",
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "_branch": "pass",
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "fail",
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "_branch": "fail",
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "_branch": "fail",
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "_branch": "fail",
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "_branch": "fail",
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "_branch": "fail",
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "_branch": "fail",
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "_branch": "fail",
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "_branch": "fail",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "_branch": "fail",
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "_branch": "fail",
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "_branch": "fail",
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "_branch": "fail",
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  }
]
s4 http success 2026-03-01 20:55:01 → 2026-03-01 20:55:01
Input (1174 bytes)
[
  {
    "_branch": "pass",
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  }
]
Output (13566 bytes)
[
  {
    "_branch": "pass",
    "author": "surprisetalk",
    "content": "Lil' Fun Langs' Guts\nI'm still thinking about those lil' fun langs. How do they\nwork? What's inside them? Do I need my pancreas? What if I don't want to\nnormalize my IR? Is laziness a virtue?\nHaskell-esque languages may look alike, but they differ across many dimensions:\n\nstrict vs. lazy\ncurried vs. bland\nbootstrapped vs. hosted\ninterpreted vs. compiled\nnominal vs. structural types\npretty vs. ugly errors\n\nMost implementations use standard compilation phases:\n\nLexing: Source → Token stream\nParsing: Tokens → Surface AST\nDesugaring: Surface AST → Core AST\nType Inference: Core AST → Typed AST\nPattern Match Compile: Typed AST → Case trees\nNormalization (ANF/K): Typed AST → Normalized IR\nOptimization: Normalized IR → Normalized IR\nClosure Conversion: Normalized IR → Closure-explicit\nIR\nCode Generation: Closure IR → Target\n(asm/bytecode/C/LLVM)\nRegister Allocation: Virtual regs → Physical regs\n(if native)\nRuntime System: GC, primitives, entry point\n\n\nStrict vs. Lazy\nIn strict evaluation, arguments are evaluated before being passed to a function.\nIn lazy evaluation, arguments are only evaluated if their value is actually\nneeded; the result is cached, so the work happens at most once.\n-- lazy eval returns `3` without applying `foo`\nlength [ 1, foo 2, 4 ]\n\n\n\nAspect\nStrict (ML, OCaml)\nLazy (Haskell)\n\n\n\n\nNormalization\nANF / K-normal form\nSTG / thunks required\n\n\nClosure conversion\nStandard flat closures\nClosures + thunks + update frames\n\n\nCode generation\nStraightforward\nRequires eval/apply or push/enter\n\n\nMemory management\nValues are always evaluated\nMay contain unevaluated thunks\n\n\nTail calls\nSimple (jump)\nComplex (enters, updates)\n\n\nDebugging\nEasy (call stack is meaningful)\nHard (thunks obscure control flow)\n\n\nRuntime complexity\nSimpler (~200 LOC C)\nMore complex (~500–2000 LOC C)\n\n\n\nStrict evaluation is the simple choice. If you want laziness, Peyton Jones's\nSTG machine\nis the standard approach. MicroHs sidesteps the STG machine by compiling\ndirectly to combinatory logic with graph reduction.\nLazy evaluation also unlocks infinite collections — you can define an infinite\nlist and consume only what you need.\nCurried vs. Bland\n\n\n\nStyle\nExamples\nImplementation cost\n\n\n\n\nCurried\nHaskell, Ben Lynn, MicroHs\nFree in combinator backends; native backends need arity analysis to avoid allocating a closure per argument\n\n\nBland\nMinCaml, OCaml (internally), Grace, EYG\nSimpler codegen -- multi-arg functions are just functions that take tuples or multiple params\n\n\n\nIn a curried language, f x y is ((f) x) y: two function applications. If\nyour backend doesn't detect that f always takes two arguments (arity\nanalysis), you pay for a heap allocation on every multi-argument call.\nBootstrapped vs. Hosted\n\n  I tried to teach myself to play the guitar. But I'm a horrible teacher —\n  because I do not know how to play a guitar.\n  — Mitch Hedberg\n\nMost compilers are written in an existing language (e.g. C, Rust, Haskell,\nOCaml) and lean on that host's ecosystem for parsing libraries, build tools, and\npackage management.\nA bootstrapped compiler compiles itself. You write the compiler in the language\nit compiles, then use an earlier version of the compiler (or a minimal seed\nruntime) to build the next version. Your language becomes self-sustaining; the\ncompiler is its own test suite.\nThere are many exemplary self-hosted languages to study:\n\nMicroHs is a Haskell compiler that compiles Haskell to combinators. The\ncombinator reducer is implemented in C. The compiler is written in Haskell and\ncan compile itself. Bootstrapping requires only a C compiler -- no\npre-existing Haskell installation.\nBen Lynn starts with a minimal runtime in C (~350 LOC), then constructs\nincreasingly capable compilers, each written in the subset that the previous\none can compile. Each stage is ~100–300 LOC of the language being defined. The\ntotal chain is ~2000 LOC + 350 LOC C.\n\n  C runtime (350 LOC)\n    → compiler₁: lambda calculus + integers\n    → compiler₂: + let, letrec, ADTs\n    → compiler₃: + type inference\n    → compiler₄: + pattern matching\n    → compiler₅: + type classes\n    → ...\n    → compilerₙ: near-Haskell-98\n\nNewt is a dependently typed language whose compiler is written in Newt,\ntargeting JavaScript. It bootstraps by keeping the generated JS checked in.\nThis works best when your target is a high-level runtime (JS, JVM) rather than\nnative code.\n\nInterpreted vs. Compiled\nAn interpreter executes the program directly by walking its AST or stepping\nthrough bytecode. A compiler translates the program into another language (e.g.\nx86, C, JS) and lets that target handle execution.\nThe boundary here is blurry. Bytecode VMs compile to an intermediate\n    form. \"Transpilers\" compile to source code rather than machine instructions.\n\n\n\nStrategy\nExamples\nLOC estimate\nTrade-off\n\n\n\n\nTree-walking interpreter\nPLZoo poly, Eff, Frank, Grace, 1ML\n50–200\nSimplest. No codegen, no runtime. Slow (10–100× native)\n\n\nBytecode VM\nOCaml (ZINC), Tao, PLZoo miniml\n200–500\nMiddle ground. Portable, reasonable speed. Write ~30–50 instructions\n\n\nNative compilation\nMinCaml, mlml, AQaml\n500–1500\nFast execution, but you own register allocation, calling conventions, ABI\n\n\nTranspile to C\nKoka, Scrapscript, Chicken, Austral\n200–500\nBest of both worlds -- portable native speed, C compiler does the hard parts\n\n\nTranspile to JS/Go\nNewt, SOSML, Borgo\n200–400\nWeb/ecosystem deployment, but you inherit the target's performance model\n\n\nCombinator reduction\nBen Lynn, MicroHs\n100–300\nNo closures, no registers. Graph reduction evaluator in C. Simple but slow\n\n\n\nLil' fun langs are usually interpreters. Without\ncompilation, you can skip closure conversion, register allocation, and runtime\nsystems. The leap from interpreter to compiler costs ~500–2000 LOC.\nNominal vs. Structural Types\ntype Meters  = Int\ntype Seconds = Int\n\n-- Nominal:     Meters ≠ Seconds  (different names)\n-- Structural:  Meters = Seconds  (same shape)\n\n\n\n",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "http_status": 200,
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "content": "This is a brief guide to my new art project microgpt, a single file of 200 lines of pure Python with no dependencies that trains and inferences a GPT. This file contains the full algorithmic content of what is needed: dataset of documents, tokenizer, autograd engine, a GPT-2-like neural network architecture, the Adam optimizer, training loop, and inference loop. Everything else is just efficiency. I cannot simplify this any further. This script is the culmination of multiple projects (micrograd, makemore, nanogpt, etc.) and a decade-long obsession to simplify LLMs to their bare essentials, and I think it is beautiful 🥹. It even breaks perfectly across 3 columns:\n\n\n  \n\n\nWhere to find it:\n\n\n  This GitHub gist has the full source code: microgpt.py\n  It’s also available on this web page: https://karpathy.ai/microgpt.html\n  Also available as a Google Colab notebook\n\n\nThe following is my guide on stepping an interested reader through the code.\n\nDataset\n\nThe fuel of large language models is a stream of text data, optionally separated into a set of documents. In production-grade applications, each document would be an internet web page but for microgpt we use a simpler example of 32,000 names, one per line:\n\n# Let there be an input dataset `docs`: list[str] of documents (e.g. a dataset of names)\nif not os.path.exists('input.txt'):\n    import urllib.request\n    names_url = 'https://raw.githubusercontent.com/karpathy/makemore/refs/heads/master/names.txt'\n    urllib.request.urlretrieve(names_url, 'input.txt')\ndocs = [l.strip() for l in open('input.txt').read().strip().split('\\n') if l.strip()] # list[str] of documents\nrandom.shuffle(docs)\nprint(f\"num docs: {len(docs)}\")\n\n\nThe dataset looks like this. Each name is a document:\n\nemma\nolivia\nava\nisabella\nsophia\ncharlotte\nmia\namelia\nharper\n... (~32,000 names follow)\n\n\nThe goal of the model is to learn the patterns in the data and then generate similar new documents that share the statistical patterns within. As a preview, by the end of the script our model will generate (“hallucinate”!) new, plausible-sounding names. Skipping ahead, we’ll get:\n\nsample  1: kamon\nsample  2: ann\nsample  3: karai\nsample  4: jaire\nsample  5: vialan\nsample  6: karia\nsample  7: yeran\nsample  8: anna\nsample  9: areli\nsample 10: kaina\nsample 11: konna\nsample 12: keylen\nsample 13: liole\nsample 14: alerin\nsample 15: earan\nsample 16: lenne\nsample 17: kana\nsample 18: lara\nsample 19: alela\nsample 20: anton\n\n\nIt doesn’t look like much, but from the perspective of a model like ChatGPT, your conversation with it is just a funny looking “document”. When you initialize the document with your prompt, the model’s response from its perspective is just a statistical document completion.\n\nTokenizer\n\nUnder the hood, neural networks work with numbers, not characters, so we need a way to convert text into a sequence of integer token ids and back. Production tokenizers like tiktoken (used by GPT-4) operate on chunks of characters for efficiency, but the simplest possible tokenizer just assigns one integer to each unique character in the dataset:\n\n# Let there be a Tokenizer to translate strings to discrete symbols and back\nuchars = sorted(set(''.join(docs))) # unique characters in the dataset become token ids 0..n-1\nBOS = len(uchars) # token id for the special Beginning of Sequence (BOS) token\nvocab_size = len(uchars) + 1 # total number of unique tokens, +1 is for BOS\nprint(f\"vocab size: {vocab_size}\")\n\n\nIn the code above, we collect all unique characters across the dataset (which are just all the lowercase letters a-z), sort them, and each letter gets an id by its index. Note that the integer values themselves have no meaning at all; each token is just a separate discrete symbol. Instead of 0, 1, 2 they might as well be different emoji. In addition, we create one more special token called BOS (Beginning of Sequence), which acts as a delimiter: it tells the model “a new document starts/ends here”. Later during training, each document gets wrapped with BOS on both sides: [BOS, e, m, m, a, BOS]. The model learns that BOS initates a new name, and that another BOS ends it. Therefore, we have a final vocavulary of 27 (26 possible lowercase characters a-z and +1 for the BOS token).\n\nAutograd\n\nTraining a neural network requires gradients: for each parameter in the model, we need to know “if I nudge this number up a little, does the loss go up or down, and by how much?”. The computation graph has many inputs (the model parameters and the input tokens) but funnels down to a single scalar output: the loss (we’ll define exactly what the loss is below). Backpropagation starts at that single output and works backwards through the graph, computing the gradient of the loss with respect to every input. It relies on the chain rule from calculus. In production, libraries like PyTorch handle this automatically. Here, we implement it from scratch in a single class called Value:\n\nclass Value:\n    __slots__ = ('data', 'grad', '_children', '_local_grads')\n\n    def __init__(self, data, children=(), local_grads=()):\n        self.data = data                # scalar value of this node calculated during forward pass\n        self.grad = 0                   # derivative of the loss w.r.t. this node, calculated in backward pass\n        self._children = children       # children of this node in the computation graph\n        self._local_grads = local_grads # local derivative of this node w.r.t. its children\n\n    def __add__(self, other):\n        other = other if isinstance(other, Value) else Value(other)\n        return Value(self.data + other.data, (self, other), (1, 1))\n\n    def __mul__(self, other):\n        other = other if isinstance(other, Value) else Value(other)\n        return Value(self.data * other.data, (self, other), (other.data, self.data))\n\n    def __pow__(self, other): return Value(self.data**other, (self,), (other * self.data**(other-1),))\n    def log(self): return Value(math.log(self.dat",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "http_status": 200,
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  }
]
s5 llm_format success 2026-03-01 20:55:01 → 2026-03-01 20:55:55
Input (26587 bytes)
[
  {
    "_branch": "fail",
    "author": "earthboundkid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://health.aws.amazon.com/health/status\"\u003ehttps://health.aws.amazon.com/health/status\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209781\"\u003ehttps://news.ycombinator.com/item?id=47209781\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 28\u003c/p\u003e\n\u003cp\u003e# Comments: 4\u003c/p\u003e\n",
    "link": "https://health.aws.amazon.com/health/status",
    "published": "2026-03-01T19:24:30Z",
    "title": "AWS Middle East Central Down, apparently struck in war"
  },
  {
    "_branch": "fail",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://xcancel.com/cabsav456/status/2027937130995921119\"\u003ehttps://xcancel.com/cabsav456/status/2027937130995921119\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47209773\"\u003ehttps://news.ycombinator.com/item?id=47209773\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 51\u003c/p\u003e\n\u003cp\u003e# Comments: 29\u003c/p\u003e\n",
    "link": "https://xcancel.com/cabsav456/status/2027937130995921119",
    "published": "2026-03-01T19:22:47Z",
    "title": "A new account made over $515,000 betting on the U.S. strike against Iran"
  },
  {
    "_branch": "fail",
    "author": "birdculture",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://servo.org/blog/2026/02/28/january-in-servo/\"\u003ehttps://servo.org/blog/2026/02/28/january-in-servo/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208744\"\u003ehttps://news.ycombinator.com/item?id=47208744\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 24\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://servo.org/blog/2026/02/28/january-in-servo/",
    "published": "2026-03-01T17:31:29Z",
    "title": "January in Servo: preloads, better forms, details styling, and more"
  },
  {
    "_branch": "fail",
    "author": "ejholmes",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\"\u003ehttps://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47208398\"\u003ehttps://news.ycombinator.com/item?id=47208398\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 98\u003c/p\u003e\n\u003cp\u003e# Comments: 71\u003c/p\u003e\n",
    "link": "https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html",
    "published": "2026-03-01T16:54:49Z",
    "title": "When does MCP make sense vs CLI?"
  },
  {
    "_branch": "fail",
    "author": "stevehiehn",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://github.com/shiehn/sas-audio-processor\"\u003ehttps://github.com/shiehn/sas-audio-processor\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207806\"\u003ehttps://news.ycombinator.com/item?id=47207806\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 19\u003c/p\u003e\n\u003cp\u003e# Comments: 1\u003c/p\u003e\n",
    "link": "https://github.com/shiehn/sas-audio-processor",
    "published": "2026-03-01T15:52:02Z",
    "title": "Show HN: Audio Toolkit for Agents"
  },
  {
    "_branch": "fail",
    "author": "surprisetalk",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "pass",
    "author": "gradus_ad",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.sciencedaily.com/releases/2026/02/260228093456.htm\"\u003ehttps://www.sciencedaily.com/releases/2026/02/260228093456.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207404\"\u003ehttps://news.ycombinator.com/item?id=47207404\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 131\u003c/p\u003e\n\u003cp\u003e# Comments: 42\u003c/p\u003e\n",
    "link": "https://www.sciencedaily.com/releases/2026/02/260228093456.htm",
    "published": "2026-03-01T15:09:55Z",
    "title": "New iron nanomaterial wipes out cancer cells without harming healthy tissue"
  },
  {
    "_branch": "fail",
    "author": "glth",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://glthr.com/XML-fundamental-to-Claude\"\u003ehttps://glthr.com/XML-fundamental-to-Claude\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207236\"\u003ehttps://news.ycombinator.com/item?id=47207236\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 90\u003c/p\u003e\n\u003cp\u003e# Comments: 43\u003c/p\u003e\n",
    "link": "https://glthr.com/XML-fundamental-to-Claude",
    "published": "2026-03-01T14:52:22Z",
    "title": "Why XML Tags Are So Fundamental to Claude"
  },
  {
    "_branch": "pass",
    "author": "oli5679",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://ghostty.org/docs\"\u003ehttps://ghostty.org/docs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47206009\"\u003ehttps://news.ycombinator.com/item?id=47206009\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 413\u003c/p\u003e\n\u003cp\u003e# Comments: 184\u003c/p\u003e\n",
    "link": "https://ghostty.org/docs",
    "published": "2026-03-01T12:13:03Z",
    "title": "Ghostty – Terminal Emulator"
  },
  {
    "_branch": "pass",
    "author": "nickk81",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://99helpers.com/tools/ad-supported-chat\"\u003ehttps://99helpers.com/tools/ad-supported-chat\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205890\"\u003ehttps://news.ycombinator.com/item?id=47205890\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 357\u003c/p\u003e\n\u003cp\u003e# Comments: 219\u003c/p\u003e\n",
    "link": "https://99helpers.com/tools/ad-supported-chat",
    "published": "2026-03-01T11:49:01Z",
    "title": "I built a demo of what AI chat will look like when it's \"free\" and ad-supported"
  },
  {
    "_branch": "fail",
    "author": "LukeB42",
    "description": "\n\u003cp\u003eVertex is a 1kloc SPA framework containing everything you need from React, Ractive-Load and jQuery while still being jQuery-compatible.\u003cp\u003evertex.js is a single, self-contained file with no build step and no dependencies.\u003cp\u003eAlso exhibits the curious quality of being faster than over a decade of engineering at Facebook in some cases: \u003ca href=\"https://files.catbox.moe/sqei0d.png\" rel=\"nofollow\"\u003ehttps://files.catbox.moe/sqei0d.png\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205659\"\u003ehttps://news.ycombinator.com/item?id=47205659\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 23\u003c/p\u003e\n\u003cp\u003e# Comments: 16\u003c/p\u003e\n",
    "link": "https://lukeb42.github.io/vertex-manual.html",
    "published": "2026-03-01T11:05:28Z",
    "title": "Show HN: Vertex.js – A 1kloc SPA Framework"
  },
  {
    "_branch": "pass",
    "author": "chromy",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://atlas.flexport.com/\"\u003ehttps://atlas.flexport.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205637\"\u003ehttps://news.ycombinator.com/item?id=47205637\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 121\u003c/p\u003e\n\u003cp\u003e# Comments: 30\u003c/p\u003e\n",
    "link": "https://atlas.flexport.com/",
    "published": "2026-03-01T11:01:17Z",
    "title": "Flightradar24 for Ships"
  },
  {
    "_branch": "pass",
    "author": "joelsiks",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\"\u003ehttps://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47205129\"\u003ehttps://news.ycombinator.com/item?id=47205129\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 102\u003c/p\u003e\n\u003cp\u003e# Comments: 19\u003c/p\u003e\n",
    "link": "https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/",
    "published": "2026-03-01T09:27:34Z",
    "title": "Why is the first C++ (m)allocation always 72 KB?"
  },
  {
    "_branch": "pass",
    "author": "mschnell",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://mlu-explain.github.io/decision-tree/\"\u003ehttps://mlu-explain.github.io/decision-tree/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204964\"\u003ehttps://news.ycombinator.com/item?id=47204964\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 313\u003c/p\u003e\n\u003cp\u003e# Comments: 56\u003c/p\u003e\n",
    "link": "https://mlu-explain.github.io/decision-tree/",
    "published": "2026-03-01T08:55:52Z",
    "title": "Decision trees – the unreasonable power of nested decision rules"
  },
  {
    "_branch": "pass",
    "author": "doener",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://claude.com/import-memory\"\u003ehttps://claude.com/import-memory\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204571\"\u003ehttps://news.ycombinator.com/item?id=47204571\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 480\u003c/p\u003e\n\u003cp\u003e# Comments: 223\u003c/p\u003e\n",
    "link": "https://claude.com/import-memory",
    "published": "2026-03-01T07:36:52Z",
    "title": "Switch to Claude without starting over"
  },
  {
    "_branch": "pass",
    "author": "vismit2000",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://modernaicourse.org\"\u003ehttps://modernaicourse.org\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47204559\"\u003ehttps://news.ycombinator.com/item?id=47204559\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 178\u003c/p\u003e\n\u003cp\u003e# Comments: 44\u003c/p\u003e\n",
    "link": "https://modernaicourse.org",
    "published": "2026-03-01T07:35:03Z",
    "title": "10-202: Introduction to Modern AI (CMU)"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  },
  {
    "_branch": "pass",
    "author": "golfer",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://twitter.com/OpenAI/status/2027846016423321831\"\u003ehttps://twitter.com/OpenAI/status/2027846016423321831\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47200420\"\u003ehttps://news.ycombinator.com/item?id=47200420\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 738\u003c/p\u003e\n\u003cp\u003e# Comments: 401\u003c/p\u003e\n",
    "link": "https://twitter.com/OpenAI/status/2027846016423321831",
    "published": "2026-02-28T21:24:16Z",
    "title": "We do not think Anthropic should be designated as a supply chain risk"
  },
  {
    "_branch": "pass",
    "author": "adilmoujahid",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://help.obsidian.md/sync/headless\"\u003ehttps://help.obsidian.md/sync/headless\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47197267\"\u003ehttps://news.ycombinator.com/item?id=47197267\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 552\u003c/p\u003e\n\u003cp\u003e# Comments: 182\u003c/p\u003e\n",
    "link": "https://help.obsidian.md/sync/headless",
    "published": "2026-02-28T16:31:53Z",
    "title": "Obsidian Sync now has a headless client"
  },
  {
    "_branch": "fail",
    "author": "asontha",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\"\u003ehttps://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47183907\"\u003ehttps://news.ycombinator.com/item?id=47183907\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 0\u003c/p\u003e\n\u003cp\u003e# Comments: 0\u003c/p\u003e\n",
    "link": "https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae",
    "published": "2026-02-27T18:37:53Z",
    "title": "Kyber (YC W23) Is Hiring an Enterprise Account Executive"
  },
  {
    "_branch": "pass",
    "author": "surprisetalk",
    "content": "Lil' Fun Langs' Guts\nI'm still thinking about those lil' fun langs. How do they\nwork? What's inside them? Do I need my pancreas? What if I don't want to\nnormalize my IR? Is laziness a virtue?\nHaskell-esque languages may look alike, but they differ across many dimensions:\n\nstrict vs. lazy\ncurried vs. bland\nbootstrapped vs. hosted\ninterpreted vs. compiled\nnominal vs. structural types\npretty vs. ugly errors\n\nMost implementations use standard compilation phases:\n\nLexing: Source → Token stream\nParsing: Tokens → Surface AST\nDesugaring: Surface AST → Core AST\nType Inference: Core AST → Typed AST\nPattern Match Compile: Typed AST → Case trees\nNormalization (ANF/K): Typed AST → Normalized IR\nOptimization: Normalized IR → Normalized IR\nClosure Conversion: Normalized IR → Closure-explicit\nIR\nCode Generation: Closure IR → Target\n(asm/bytecode/C/LLVM)\nRegister Allocation: Virtual regs → Physical regs\n(if native)\nRuntime System: GC, primitives, entry point\n\n\nStrict vs. Lazy\nIn strict evaluation, arguments are evaluated before being passed to a function.\nIn lazy evaluation, arguments are only evaluated if their value is actually\nneeded; the result is cached, so the work happens at most once.\n-- lazy eval returns `3` without applying `foo`\nlength [ 1, foo 2, 4 ]\n\n\n\nAspect\nStrict (ML, OCaml)\nLazy (Haskell)\n\n\n\n\nNormalization\nANF / K-normal form\nSTG / thunks required\n\n\nClosure conversion\nStandard flat closures\nClosures + thunks + update frames\n\n\nCode generation\nStraightforward\nRequires eval/apply or push/enter\n\n\nMemory management\nValues are always evaluated\nMay contain unevaluated thunks\n\n\nTail calls\nSimple (jump)\nComplex (enters, updates)\n\n\nDebugging\nEasy (call stack is meaningful)\nHard (thunks obscure control flow)\n\n\nRuntime complexity\nSimpler (~200 LOC C)\nMore complex (~500–2000 LOC C)\n\n\n\nStrict evaluation is the simple choice. If you want laziness, Peyton Jones's\nSTG machine\nis the standard approach. MicroHs sidesteps the STG machine by compiling\ndirectly to combinatory logic with graph reduction.\nLazy evaluation also unlocks infinite collections — you can define an infinite\nlist and consume only what you need.\nCurried vs. Bland\n\n\n\nStyle\nExamples\nImplementation cost\n\n\n\n\nCurried\nHaskell, Ben Lynn, MicroHs\nFree in combinator backends; native backends need arity analysis to avoid allocating a closure per argument\n\n\nBland\nMinCaml, OCaml (internally), Grace, EYG\nSimpler codegen -- multi-arg functions are just functions that take tuples or multiple params\n\n\n\nIn a curried language, f x y is ((f) x) y: two function applications. If\nyour backend doesn't detect that f always takes two arguments (arity\nanalysis), you pay for a heap allocation on every multi-argument call.\nBootstrapped vs. Hosted\n\n  I tried to teach myself to play the guitar. But I'm a horrible teacher —\n  because I do not know how to play a guitar.\n  — Mitch Hedberg\n\nMost compilers are written in an existing language (e.g. C, Rust, Haskell,\nOCaml) and lean on that host's ecosystem for parsing libraries, build tools, and\npackage management.\nA bootstrapped compiler compiles itself. You write the compiler in the language\nit compiles, then use an earlier version of the compiler (or a minimal seed\nruntime) to build the next version. Your language becomes self-sustaining; the\ncompiler is its own test suite.\nThere are many exemplary self-hosted languages to study:\n\nMicroHs is a Haskell compiler that compiles Haskell to combinators. The\ncombinator reducer is implemented in C. The compiler is written in Haskell and\ncan compile itself. Bootstrapping requires only a C compiler -- no\npre-existing Haskell installation.\nBen Lynn starts with a minimal runtime in C (~350 LOC), then constructs\nincreasingly capable compilers, each written in the subset that the previous\none can compile. Each stage is ~100–300 LOC of the language being defined. The\ntotal chain is ~2000 LOC + 350 LOC C.\n\n  C runtime (350 LOC)\n    → compiler₁: lambda calculus + integers\n    → compiler₂: + let, letrec, ADTs\n    → compiler₃: + type inference\n    → compiler₄: + pattern matching\n    → compiler₅: + type classes\n    → ...\n    → compilerₙ: near-Haskell-98\n\nNewt is a dependently typed language whose compiler is written in Newt,\ntargeting JavaScript. It bootstraps by keeping the generated JS checked in.\nThis works best when your target is a high-level runtime (JS, JVM) rather than\nnative code.\n\nInterpreted vs. Compiled\nAn interpreter executes the program directly by walking its AST or stepping\nthrough bytecode. A compiler translates the program into another language (e.g.\nx86, C, JS) and lets that target handle execution.\nThe boundary here is blurry. Bytecode VMs compile to an intermediate\n    form. \"Transpilers\" compile to source code rather than machine instructions.\n\n\n\nStrategy\nExamples\nLOC estimate\nTrade-off\n\n\n\n\nTree-walking interpreter\nPLZoo poly, Eff, Frank, Grace, 1ML\n50–200\nSimplest. No codegen, no runtime. Slow (10–100× native)\n\n\nBytecode VM\nOCaml (ZINC), Tao, PLZoo miniml\n200–500\nMiddle ground. Portable, reasonable speed. Write ~30–50 instructions\n\n\nNative compilation\nMinCaml, mlml, AQaml\n500–1500\nFast execution, but you own register allocation, calling conventions, ABI\n\n\nTranspile to C\nKoka, Scrapscript, Chicken, Austral\n200–500\nBest of both worlds -- portable native speed, C compiler does the hard parts\n\n\nTranspile to JS/Go\nNewt, SOSML, Borgo\n200–400\nWeb/ecosystem deployment, but you inherit the target's performance model\n\n\nCombinator reduction\nBen Lynn, MicroHs\n100–300\nNo closures, no registers. Graph reduction evaluator in C. Simple but slow\n\n\n\nLil' fun langs are usually interpreters. Without\ncompilation, you can skip closure conversion, register allocation, and runtime\nsystems. The leap from interpreter to compiler costs ~500–2000 LOC.\nNominal vs. Structural Types\ntype Meters  = Int\ntype Seconds = Int\n\n-- Nominal:     Meters ≠ Seconds  (different names)\n-- Structural:  Meters = Seconds  (same shape)\n\n\n\n",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"https://taylor.town/scrapscript-001\"\u003ehttps://taylor.town/scrapscript-001\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47207531\"\u003ehttps://news.ycombinator.com/item?id=47207531\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 22\u003c/p\u003e\n\u003cp\u003e# Comments: 2\u003c/p\u003e\n",
    "http_status": 200,
    "link": "https://taylor.town/scrapscript-001",
    "published": "2026-03-01T15:23:42Z",
    "title": "Lil' Fun Langs' Guts"
  },
  {
    "_branch": "pass",
    "author": "tambourine_man",
    "content": "This is a brief guide to my new art project microgpt, a single file of 200 lines of pure Python with no dependencies that trains and inferences a GPT. This file contains the full algorithmic content of what is needed: dataset of documents, tokenizer, autograd engine, a GPT-2-like neural network architecture, the Adam optimizer, training loop, and inference loop. Everything else is just efficiency. I cannot simplify this any further. This script is the culmination of multiple projects (micrograd, makemore, nanogpt, etc.) and a decade-long obsession to simplify LLMs to their bare essentials, and I think it is beautiful 🥹. It even breaks perfectly across 3 columns:\n\n\n  \n\n\nWhere to find it:\n\n\n  This GitHub gist has the full source code: microgpt.py\n  It’s also available on this web page: https://karpathy.ai/microgpt.html\n  Also available as a Google Colab notebook\n\n\nThe following is my guide on stepping an interested reader through the code.\n\nDataset\n\nThe fuel of large language models is a stream of text data, optionally separated into a set of documents. In production-grade applications, each document would be an internet web page but for microgpt we use a simpler example of 32,000 names, one per line:\n\n# Let there be an input dataset `docs`: list[str] of documents (e.g. a dataset of names)\nif not os.path.exists('input.txt'):\n    import urllib.request\n    names_url = 'https://raw.githubusercontent.com/karpathy/makemore/refs/heads/master/names.txt'\n    urllib.request.urlretrieve(names_url, 'input.txt')\ndocs = [l.strip() for l in open('input.txt').read().strip().split('\\n') if l.strip()] # list[str] of documents\nrandom.shuffle(docs)\nprint(f\"num docs: {len(docs)}\")\n\n\nThe dataset looks like this. Each name is a document:\n\nemma\nolivia\nava\nisabella\nsophia\ncharlotte\nmia\namelia\nharper\n... (~32,000 names follow)\n\n\nThe goal of the model is to learn the patterns in the data and then generate similar new documents that share the statistical patterns within. As a preview, by the end of the script our model will generate (“hallucinate”!) new, plausible-sounding names. Skipping ahead, we’ll get:\n\nsample  1: kamon\nsample  2: ann\nsample  3: karai\nsample  4: jaire\nsample  5: vialan\nsample  6: karia\nsample  7: yeran\nsample  8: anna\nsample  9: areli\nsample 10: kaina\nsample 11: konna\nsample 12: keylen\nsample 13: liole\nsample 14: alerin\nsample 15: earan\nsample 16: lenne\nsample 17: kana\nsample 18: lara\nsample 19: alela\nsample 20: anton\n\n\nIt doesn’t look like much, but from the perspective of a model like ChatGPT, your conversation with it is just a funny looking “document”. When you initialize the document with your prompt, the model’s response from its perspective is just a statistical document completion.\n\nTokenizer\n\nUnder the hood, neural networks work with numbers, not characters, so we need a way to convert text into a sequence of integer token ids and back. Production tokenizers like tiktoken (used by GPT-4) operate on chunks of characters for efficiency, but the simplest possible tokenizer just assigns one integer to each unique character in the dataset:\n\n# Let there be a Tokenizer to translate strings to discrete symbols and back\nuchars = sorted(set(''.join(docs))) # unique characters in the dataset become token ids 0..n-1\nBOS = len(uchars) # token id for the special Beginning of Sequence (BOS) token\nvocab_size = len(uchars) + 1 # total number of unique tokens, +1 is for BOS\nprint(f\"vocab size: {vocab_size}\")\n\n\nIn the code above, we collect all unique characters across the dataset (which are just all the lowercase letters a-z), sort them, and each letter gets an id by its index. Note that the integer values themselves have no meaning at all; each token is just a separate discrete symbol. Instead of 0, 1, 2 they might as well be different emoji. In addition, we create one more special token called BOS (Beginning of Sequence), which acts as a delimiter: it tells the model “a new document starts/ends here”. Later during training, each document gets wrapped with BOS on both sides: [BOS, e, m, m, a, BOS]. The model learns that BOS initates a new name, and that another BOS ends it. Therefore, we have a final vocavulary of 27 (26 possible lowercase characters a-z and +1 for the BOS token).\n\nAutograd\n\nTraining a neural network requires gradients: for each parameter in the model, we need to know “if I nudge this number up a little, does the loss go up or down, and by how much?”. The computation graph has many inputs (the model parameters and the input tokens) but funnels down to a single scalar output: the loss (we’ll define exactly what the loss is below). Backpropagation starts at that single output and works backwards through the graph, computing the gradient of the loss with respect to every input. It relies on the chain rule from calculus. In production, libraries like PyTorch handle this automatically. Here, we implement it from scratch in a single class called Value:\n\nclass Value:\n    __slots__ = ('data', 'grad', '_children', '_local_grads')\n\n    def __init__(self, data, children=(), local_grads=()):\n        self.data = data                # scalar value of this node calculated during forward pass\n        self.grad = 0                   # derivative of the loss w.r.t. this node, calculated in backward pass\n        self._children = children       # children of this node in the computation graph\n        self._local_grads = local_grads # local derivative of this node w.r.t. its children\n\n    def __add__(self, other):\n        other = other if isinstance(other, Value) else Value(other)\n        return Value(self.data + other.data, (self, other), (1, 1))\n\n    def __mul__(self, other):\n        other = other if isinstance(other, Value) else Value(other)\n        return Value(self.data * other.data, (self, other), (other.data, self.data))\n\n    def __pow__(self, other): return Value(self.data**other, (self,), (other * self.data**(other-1),))\n    def log(self): return Value(math.log(self.dat",
    "description": "\n\u003cp\u003eArticle URL: \u003ca href=\"http://karpathy.github.io/2026/02/12/microgpt/\"\u003ehttp://karpathy.github.io/2026/02/12/microgpt/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eComments URL: \u003ca href=\"https://news.ycombinator.com/item?id=47202708\"\u003ehttps://news.ycombinator.com/item?id=47202708\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePoints: 1488\u003c/p\u003e\n\u003cp\u003e# Comments: 261\u003c/p\u003e\n",
    "http_status": 200,
    "link": "http://karpathy.github.io/2026/02/12/microgpt/",
    "published": "2026-03-01T01:39:26Z",
    "title": "Microgpt"
  }
]
Output (6876 bytes)
[
  {
    "text": "# Hacker News Digest — Selected High-Point Posts (newest first)\n\nBelow are concise summaries suitable for email. Each item shows the final title (original title in parentheses if changed), the link, a one-sentence summary, and the published date.\n\n- **AWS Middle East Central Down, apparently struck in war**  \n  Link: https://health.aws.amazon.com/health/status  \n  Summary: AWS Health shows the Middle East (Central) region is down and reports — as noted in the thread — indicate it may have been affected by war-related strikes.  \n  Published: 2026-03-01T19:24:30Z\n\n- **A new account made over $515,000 betting on the U.S. strike against Iran**  \n  Link: https://xcancel.com/cabsav456/status/2027937130995921119  \n  Summary: A social-posted report claims a newly created account profited over $515k from bets placed anticipating a U.S. strike on Iran; the thread links to the account/status for details.  \n  Published: 2026-03-01T19:22:47Z\n\n- **January in Servo: preloads, better forms, details styling, and more**  \n  Link: https://servo.org/blog/2026/02/28/january-in-servo/  \n  Summary: Monthly Servo update summarizing work on preloads, improved form handling, styling details, and other engine-level improvements.  \n  Published: 2026-03-01T17:31:29Z\n\n- **When does MCP make sense vs CLI?**  \n  Link: https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html  \n  Summary: Discussion comparing the trade-offs between using an MCP (Model Control Plane) and command-line interfaces, outlining scenarios where each is appropriate.  \n  Published: 2026-03-01T16:54:49Z\n\n- **Show HN: Audio Toolkit for Agents**  \n  Link: https://github.com/shiehn/sas-audio-processor  \n  Summary: A GitHub project providing an audio-processing toolkit aimed at agent workflows and audio-based tooling.  \n  Published: 2026-03-01T15:52:02Z\n\n- **How small functional languages are implemented** (Lil' Fun Langs' Guts)  \n  Link: https://taylor.town/scrapscript-001  \n  Summary: Survey of implementation choices for tiny functional languages covering compilation phases (lex/parse/desugar/type/IR/codegen), strict vs lazy semantics, curried vs multi-arg calling, bootstrapping, interpreter vs compiler trade-offs, and runtime implications.  \n  Published: 2026-03-01T15:23:42Z\n\n- **New iron nanomaterial wipes out cancer cells without harming healthy tissue**  \n  Link: https://www.sciencedaily.com/releases/2026/02/260228093456.htm  \n  Summary: ScienceDaily reports researchers developed an iron-based nanomaterial that in lab tests selectively destroys cancer cells while sparing healthy tissue.  \n  Published: 2026-03-01T15:09:55Z\n\n- **Why XML Tags Are So Fundamental to Claude**  \n  Link: https://glthr.com/XML-fundamental-to-Claude  \n  Summary: Argument that XML-style tags are particularly effective for instructing Anthropic's Claude model and form an important prompting/formatting primitive (discussion post).  \n  Published: 2026-03-01T14:52:22Z\n\n- **Ghostty – Terminal Emulator**  \n  Link: https://ghostty.org/docs  \n  Summary: Documentation for Ghostty, a terminal emulator project (project docs linked).  \n  Published: 2026-03-01T12:13:03Z\n\n- **I built a demo of what AI chat will look like when it's \"free\" and ad-supported**  \n  Link: https://99helpers.com/tools/ad-supported-chat  \n  Summary: Demo showing an ad-supported AI chat experience to illustrate how ads could be integrated into otherwise free conversational products.  \n  Published: 2026-03-01T11:49:01Z\n\n- **Show HN: Vertex.js – A 1kloc SPA Framework**  \n  Link: https://lukeb42.github.io/vertex-manual.html  \n  Summary: Vertex.js is a ~1k-line, dependency-free SPA framework that claims React-like features and competitive performance in some benchmarks.  \n  Published: 2026-03-01T11:05:28Z\n\n- **Flightradar24 for Ships**  \n  Link: https://atlas.flexport.com/  \n  Summary: Flexport's Atlas provides ship-tracking and logistics visibility analogous to Flightradar24 for aircraft.  \n  Published: 2026-03-01T11:01:17Z\n\n- **Why is the first C++ (m)allocation always 72 KB?**  \n  Link: https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/  \n  Summary: Deep-dive investigating why initial C/C++ (m)alloc allocations commonly come out to ~72 KB and the allocator/OS behaviors behind it.  \n  Published: 2026-03-01T09:27:34Z\n\n- **Decision trees – the unreasonable power of nested decision rules**  \n  Link: https://mlu-explain.github.io/decision-tree/  \n  Summary: Explanation of why nested decision rules (decision trees) remain powerful and interpretable for a wide range of tasks despite their simplicity.  \n  Published: 2026-03-01T08:55:52Z\n\n- **Switch to Claude without starting over**  \n  Link: https://claude.com/import-memory  \n  Summary: Claude's import-memory feature lets users migrate or import prior assistant memory/content so they can switch to Claude without losing context.  \n  Published: 2026-03-01T07:36:52Z\n\n- **10-202: Introduction to Modern AI (CMU)**  \n  Link: https://modernaicourse.org  \n  Summary: Course homepage for CMU's Introduction to Modern AI (10-202), offering lecture materials and resources.  \n  Published: 2026-03-01T07:35:03Z\n\n- **MicroGPT: 200-line Python GPT training and inference** (Microgpt)  \n  Link: http://karpathy.github.io/2026/02/12/microgpt/  \n  Summary: Single-file ~200-line pure-Python implementation that includes tokenizer, autograd, GPT-like architecture, Adam optimizer, training loop, and demo (e.g., generates sample names); links to gist/Colab included.  \n  Published: 2026-03-01T01:39:26Z\n\n- **We do not think Anthropic should be designated as a supply chain risk**  \n  Link: https://twitter.com/OpenAI/status/2027846016423321831  \n  Summary: OpenAI tweet stating the view that Anthropic should not be designated a supply chain risk.  \n  Published: 2026-02-28T21:24:16Z\n\n- **Obsidian Sync now has a headless client**  \n  Link: https://help.obsidian.md/sync/headless  \n  Summary: Obsidian added a headless (CLI) Sync client to enable syncing without the GUI, useful for servers and scriptable setups.  \n  Published: 2026-02-28T16:31:53Z\n\n- **Kyber (YC W23) Is Hiring an Enterprise Account Executive**  \n  Link: https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae  \n  Summary: Job posting for an Enterprise Account Executive at Kyber (YC W23); the listing link contains role details.  \n  Published: 2026-02-27T18:37:53Z\n\n---\nNotes: where fetched article content existed (MicroGPT and Lil' Fun Langs' Guts) I proposed shorter, more specific titles and included synthesis from the article content; other items use the original titles and the provided descriptions/links. Missing detailed article text for most posts — summaries are based on the link/title/description available."
  }
]
s6 email success 2026-03-01 20:55:55 → 2026-03-01 20:55:59
Input (6876 bytes)
[
  {
    "text": "# Hacker News Digest — Selected High-Point Posts (newest first)\n\nBelow are concise summaries suitable for email. Each item shows the final title (original title in parentheses if changed), the link, a one-sentence summary, and the published date.\n\n- **AWS Middle East Central Down, apparently struck in war**  \n  Link: https://health.aws.amazon.com/health/status  \n  Summary: AWS Health shows the Middle East (Central) region is down and reports — as noted in the thread — indicate it may have been affected by war-related strikes.  \n  Published: 2026-03-01T19:24:30Z\n\n- **A new account made over $515,000 betting on the U.S. strike against Iran**  \n  Link: https://xcancel.com/cabsav456/status/2027937130995921119  \n  Summary: A social-posted report claims a newly created account profited over $515k from bets placed anticipating a U.S. strike on Iran; the thread links to the account/status for details.  \n  Published: 2026-03-01T19:22:47Z\n\n- **January in Servo: preloads, better forms, details styling, and more**  \n  Link: https://servo.org/blog/2026/02/28/january-in-servo/  \n  Summary: Monthly Servo update summarizing work on preloads, improved form handling, styling details, and other engine-level improvements.  \n  Published: 2026-03-01T17:31:29Z\n\n- **When does MCP make sense vs CLI?**  \n  Link: https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html  \n  Summary: Discussion comparing the trade-offs between using an MCP (Model Control Plane) and command-line interfaces, outlining scenarios where each is appropriate.  \n  Published: 2026-03-01T16:54:49Z\n\n- **Show HN: Audio Toolkit for Agents**  \n  Link: https://github.com/shiehn/sas-audio-processor  \n  Summary: A GitHub project providing an audio-processing toolkit aimed at agent workflows and audio-based tooling.  \n  Published: 2026-03-01T15:52:02Z\n\n- **How small functional languages are implemented** (Lil' Fun Langs' Guts)  \n  Link: https://taylor.town/scrapscript-001  \n  Summary: Survey of implementation choices for tiny functional languages covering compilation phases (lex/parse/desugar/type/IR/codegen), strict vs lazy semantics, curried vs multi-arg calling, bootstrapping, interpreter vs compiler trade-offs, and runtime implications.  \n  Published: 2026-03-01T15:23:42Z\n\n- **New iron nanomaterial wipes out cancer cells without harming healthy tissue**  \n  Link: https://www.sciencedaily.com/releases/2026/02/260228093456.htm  \n  Summary: ScienceDaily reports researchers developed an iron-based nanomaterial that in lab tests selectively destroys cancer cells while sparing healthy tissue.  \n  Published: 2026-03-01T15:09:55Z\n\n- **Why XML Tags Are So Fundamental to Claude**  \n  Link: https://glthr.com/XML-fundamental-to-Claude  \n  Summary: Argument that XML-style tags are particularly effective for instructing Anthropic's Claude model and form an important prompting/formatting primitive (discussion post).  \n  Published: 2026-03-01T14:52:22Z\n\n- **Ghostty – Terminal Emulator**  \n  Link: https://ghostty.org/docs  \n  Summary: Documentation for Ghostty, a terminal emulator project (project docs linked).  \n  Published: 2026-03-01T12:13:03Z\n\n- **I built a demo of what AI chat will look like when it's \"free\" and ad-supported**  \n  Link: https://99helpers.com/tools/ad-supported-chat  \n  Summary: Demo showing an ad-supported AI chat experience to illustrate how ads could be integrated into otherwise free conversational products.  \n  Published: 2026-03-01T11:49:01Z\n\n- **Show HN: Vertex.js – A 1kloc SPA Framework**  \n  Link: https://lukeb42.github.io/vertex-manual.html  \n  Summary: Vertex.js is a ~1k-line, dependency-free SPA framework that claims React-like features and competitive performance in some benchmarks.  \n  Published: 2026-03-01T11:05:28Z\n\n- **Flightradar24 for Ships**  \n  Link: https://atlas.flexport.com/  \n  Summary: Flexport's Atlas provides ship-tracking and logistics visibility analogous to Flightradar24 for aircraft.  \n  Published: 2026-03-01T11:01:17Z\n\n- **Why is the first C++ (m)allocation always 72 KB?**  \n  Link: https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/  \n  Summary: Deep-dive investigating why initial C/C++ (m)alloc allocations commonly come out to ~72 KB and the allocator/OS behaviors behind it.  \n  Published: 2026-03-01T09:27:34Z\n\n- **Decision trees – the unreasonable power of nested decision rules**  \n  Link: https://mlu-explain.github.io/decision-tree/  \n  Summary: Explanation of why nested decision rules (decision trees) remain powerful and interpretable for a wide range of tasks despite their simplicity.  \n  Published: 2026-03-01T08:55:52Z\n\n- **Switch to Claude without starting over**  \n  Link: https://claude.com/import-memory  \n  Summary: Claude's import-memory feature lets users migrate or import prior assistant memory/content so they can switch to Claude without losing context.  \n  Published: 2026-03-01T07:36:52Z\n\n- **10-202: Introduction to Modern AI (CMU)**  \n  Link: https://modernaicourse.org  \n  Summary: Course homepage for CMU's Introduction to Modern AI (10-202), offering lecture materials and resources.  \n  Published: 2026-03-01T07:35:03Z\n\n- **MicroGPT: 200-line Python GPT training and inference** (Microgpt)  \n  Link: http://karpathy.github.io/2026/02/12/microgpt/  \n  Summary: Single-file ~200-line pure-Python implementation that includes tokenizer, autograd, GPT-like architecture, Adam optimizer, training loop, and demo (e.g., generates sample names); links to gist/Colab included.  \n  Published: 2026-03-01T01:39:26Z\n\n- **We do not think Anthropic should be designated as a supply chain risk**  \n  Link: https://twitter.com/OpenAI/status/2027846016423321831  \n  Summary: OpenAI tweet stating the view that Anthropic should not be designated a supply chain risk.  \n  Published: 2026-02-28T21:24:16Z\n\n- **Obsidian Sync now has a headless client**  \n  Link: https://help.obsidian.md/sync/headless  \n  Summary: Obsidian added a headless (CLI) Sync client to enable syncing without the GUI, useful for servers and scriptable setups.  \n  Published: 2026-02-28T16:31:53Z\n\n- **Kyber (YC W23) Is Hiring an Enterprise Account Executive**  \n  Link: https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae  \n  Summary: Job posting for an Enterprise Account Executive at Kyber (YC W23); the listing link contains role details.  \n  Published: 2026-02-27T18:37:53Z\n\n---\nNotes: where fetched article content existed (MicroGPT and Lil' Fun Langs' Guts) I proposed shorter, more specific titles and included synthesis from the article content; other items use the original titles and the provided descriptions/links. Missing detailed article text for most posts — summaries are based on the link/title/description available."
  }
]
Output (6876 bytes)
[
  {
    "text": "# Hacker News Digest — Selected High-Point Posts (newest first)\n\nBelow are concise summaries suitable for email. Each item shows the final title (original title in parentheses if changed), the link, a one-sentence summary, and the published date.\n\n- **AWS Middle East Central Down, apparently struck in war**  \n  Link: https://health.aws.amazon.com/health/status  \n  Summary: AWS Health shows the Middle East (Central) region is down and reports — as noted in the thread — indicate it may have been affected by war-related strikes.  \n  Published: 2026-03-01T19:24:30Z\n\n- **A new account made over $515,000 betting on the U.S. strike against Iran**  \n  Link: https://xcancel.com/cabsav456/status/2027937130995921119  \n  Summary: A social-posted report claims a newly created account profited over $515k from bets placed anticipating a U.S. strike on Iran; the thread links to the account/status for details.  \n  Published: 2026-03-01T19:22:47Z\n\n- **January in Servo: preloads, better forms, details styling, and more**  \n  Link: https://servo.org/blog/2026/02/28/january-in-servo/  \n  Summary: Monthly Servo update summarizing work on preloads, improved form handling, styling details, and other engine-level improvements.  \n  Published: 2026-03-01T17:31:29Z\n\n- **When does MCP make sense vs CLI?**  \n  Link: https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html  \n  Summary: Discussion comparing the trade-offs between using an MCP (Model Control Plane) and command-line interfaces, outlining scenarios where each is appropriate.  \n  Published: 2026-03-01T16:54:49Z\n\n- **Show HN: Audio Toolkit for Agents**  \n  Link: https://github.com/shiehn/sas-audio-processor  \n  Summary: A GitHub project providing an audio-processing toolkit aimed at agent workflows and audio-based tooling.  \n  Published: 2026-03-01T15:52:02Z\n\n- **How small functional languages are implemented** (Lil' Fun Langs' Guts)  \n  Link: https://taylor.town/scrapscript-001  \n  Summary: Survey of implementation choices for tiny functional languages covering compilation phases (lex/parse/desugar/type/IR/codegen), strict vs lazy semantics, curried vs multi-arg calling, bootstrapping, interpreter vs compiler trade-offs, and runtime implications.  \n  Published: 2026-03-01T15:23:42Z\n\n- **New iron nanomaterial wipes out cancer cells without harming healthy tissue**  \n  Link: https://www.sciencedaily.com/releases/2026/02/260228093456.htm  \n  Summary: ScienceDaily reports researchers developed an iron-based nanomaterial that in lab tests selectively destroys cancer cells while sparing healthy tissue.  \n  Published: 2026-03-01T15:09:55Z\n\n- **Why XML Tags Are So Fundamental to Claude**  \n  Link: https://glthr.com/XML-fundamental-to-Claude  \n  Summary: Argument that XML-style tags are particularly effective for instructing Anthropic's Claude model and form an important prompting/formatting primitive (discussion post).  \n  Published: 2026-03-01T14:52:22Z\n\n- **Ghostty – Terminal Emulator**  \n  Link: https://ghostty.org/docs  \n  Summary: Documentation for Ghostty, a terminal emulator project (project docs linked).  \n  Published: 2026-03-01T12:13:03Z\n\n- **I built a demo of what AI chat will look like when it's \"free\" and ad-supported**  \n  Link: https://99helpers.com/tools/ad-supported-chat  \n  Summary: Demo showing an ad-supported AI chat experience to illustrate how ads could be integrated into otherwise free conversational products.  \n  Published: 2026-03-01T11:49:01Z\n\n- **Show HN: Vertex.js – A 1kloc SPA Framework**  \n  Link: https://lukeb42.github.io/vertex-manual.html  \n  Summary: Vertex.js is a ~1k-line, dependency-free SPA framework that claims React-like features and competitive performance in some benchmarks.  \n  Published: 2026-03-01T11:05:28Z\n\n- **Flightradar24 for Ships**  \n  Link: https://atlas.flexport.com/  \n  Summary: Flexport's Atlas provides ship-tracking and logistics visibility analogous to Flightradar24 for aircraft.  \n  Published: 2026-03-01T11:01:17Z\n\n- **Why is the first C++ (m)allocation always 72 KB?**  \n  Link: https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/  \n  Summary: Deep-dive investigating why initial C/C++ (m)alloc allocations commonly come out to ~72 KB and the allocator/OS behaviors behind it.  \n  Published: 2026-03-01T09:27:34Z\n\n- **Decision trees – the unreasonable power of nested decision rules**  \n  Link: https://mlu-explain.github.io/decision-tree/  \n  Summary: Explanation of why nested decision rules (decision trees) remain powerful and interpretable for a wide range of tasks despite their simplicity.  \n  Published: 2026-03-01T08:55:52Z\n\n- **Switch to Claude without starting over**  \n  Link: https://claude.com/import-memory  \n  Summary: Claude's import-memory feature lets users migrate or import prior assistant memory/content so they can switch to Claude without losing context.  \n  Published: 2026-03-01T07:36:52Z\n\n- **10-202: Introduction to Modern AI (CMU)**  \n  Link: https://modernaicourse.org  \n  Summary: Course homepage for CMU's Introduction to Modern AI (10-202), offering lecture materials and resources.  \n  Published: 2026-03-01T07:35:03Z\n\n- **MicroGPT: 200-line Python GPT training and inference** (Microgpt)  \n  Link: http://karpathy.github.io/2026/02/12/microgpt/  \n  Summary: Single-file ~200-line pure-Python implementation that includes tokenizer, autograd, GPT-like architecture, Adam optimizer, training loop, and demo (e.g., generates sample names); links to gist/Colab included.  \n  Published: 2026-03-01T01:39:26Z\n\n- **We do not think Anthropic should be designated as a supply chain risk**  \n  Link: https://twitter.com/OpenAI/status/2027846016423321831  \n  Summary: OpenAI tweet stating the view that Anthropic should not be designated a supply chain risk.  \n  Published: 2026-02-28T21:24:16Z\n\n- **Obsidian Sync now has a headless client**  \n  Link: https://help.obsidian.md/sync/headless  \n  Summary: Obsidian added a headless (CLI) Sync client to enable syncing without the GUI, useful for servers and scriptable setups.  \n  Published: 2026-02-28T16:31:53Z\n\n- **Kyber (YC W23) Is Hiring an Enterprise Account Executive**  \n  Link: https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae  \n  Summary: Job posting for an Enterprise Account Executive at Kyber (YC W23); the listing link contains role details.  \n  Published: 2026-02-27T18:37:53Z\n\n---\nNotes: where fetched article content existed (MicroGPT and Lil' Fun Langs' Guts) I proposed shorter, more specific titles and included synthesis from the article content; other items use the original titles and the provided descriptions/links. Missing detailed article text for most posts — summaries are based on the link/title/description available."
  }
]
s7 slack success 2026-03-01 20:55:59 → 2026-03-01 20:56:00
Input (6876 bytes)
[
  {
    "text": "# Hacker News Digest — Selected High-Point Posts (newest first)\n\nBelow are concise summaries suitable for email. Each item shows the final title (original title in parentheses if changed), the link, a one-sentence summary, and the published date.\n\n- **AWS Middle East Central Down, apparently struck in war**  \n  Link: https://health.aws.amazon.com/health/status  \n  Summary: AWS Health shows the Middle East (Central) region is down and reports — as noted in the thread — indicate it may have been affected by war-related strikes.  \n  Published: 2026-03-01T19:24:30Z\n\n- **A new account made over $515,000 betting on the U.S. strike against Iran**  \n  Link: https://xcancel.com/cabsav456/status/2027937130995921119  \n  Summary: A social-posted report claims a newly created account profited over $515k from bets placed anticipating a U.S. strike on Iran; the thread links to the account/status for details.  \n  Published: 2026-03-01T19:22:47Z\n\n- **January in Servo: preloads, better forms, details styling, and more**  \n  Link: https://servo.org/blog/2026/02/28/january-in-servo/  \n  Summary: Monthly Servo update summarizing work on preloads, improved form handling, styling details, and other engine-level improvements.  \n  Published: 2026-03-01T17:31:29Z\n\n- **When does MCP make sense vs CLI?**  \n  Link: https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html  \n  Summary: Discussion comparing the trade-offs between using an MCP (Model Control Plane) and command-line interfaces, outlining scenarios where each is appropriate.  \n  Published: 2026-03-01T16:54:49Z\n\n- **Show HN: Audio Toolkit for Agents**  \n  Link: https://github.com/shiehn/sas-audio-processor  \n  Summary: A GitHub project providing an audio-processing toolkit aimed at agent workflows and audio-based tooling.  \n  Published: 2026-03-01T15:52:02Z\n\n- **How small functional languages are implemented** (Lil' Fun Langs' Guts)  \n  Link: https://taylor.town/scrapscript-001  \n  Summary: Survey of implementation choices for tiny functional languages covering compilation phases (lex/parse/desugar/type/IR/codegen), strict vs lazy semantics, curried vs multi-arg calling, bootstrapping, interpreter vs compiler trade-offs, and runtime implications.  \n  Published: 2026-03-01T15:23:42Z\n\n- **New iron nanomaterial wipes out cancer cells without harming healthy tissue**  \n  Link: https://www.sciencedaily.com/releases/2026/02/260228093456.htm  \n  Summary: ScienceDaily reports researchers developed an iron-based nanomaterial that in lab tests selectively destroys cancer cells while sparing healthy tissue.  \n  Published: 2026-03-01T15:09:55Z\n\n- **Why XML Tags Are So Fundamental to Claude**  \n  Link: https://glthr.com/XML-fundamental-to-Claude  \n  Summary: Argument that XML-style tags are particularly effective for instructing Anthropic's Claude model and form an important prompting/formatting primitive (discussion post).  \n  Published: 2026-03-01T14:52:22Z\n\n- **Ghostty – Terminal Emulator**  \n  Link: https://ghostty.org/docs  \n  Summary: Documentation for Ghostty, a terminal emulator project (project docs linked).  \n  Published: 2026-03-01T12:13:03Z\n\n- **I built a demo of what AI chat will look like when it's \"free\" and ad-supported**  \n  Link: https://99helpers.com/tools/ad-supported-chat  \n  Summary: Demo showing an ad-supported AI chat experience to illustrate how ads could be integrated into otherwise free conversational products.  \n  Published: 2026-03-01T11:49:01Z\n\n- **Show HN: Vertex.js – A 1kloc SPA Framework**  \n  Link: https://lukeb42.github.io/vertex-manual.html  \n  Summary: Vertex.js is a ~1k-line, dependency-free SPA framework that claims React-like features and competitive performance in some benchmarks.  \n  Published: 2026-03-01T11:05:28Z\n\n- **Flightradar24 for Ships**  \n  Link: https://atlas.flexport.com/  \n  Summary: Flexport's Atlas provides ship-tracking and logistics visibility analogous to Flightradar24 for aircraft.  \n  Published: 2026-03-01T11:01:17Z\n\n- **Why is the first C++ (m)allocation always 72 KB?**  \n  Link: https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/  \n  Summary: Deep-dive investigating why initial C/C++ (m)alloc allocations commonly come out to ~72 KB and the allocator/OS behaviors behind it.  \n  Published: 2026-03-01T09:27:34Z\n\n- **Decision trees – the unreasonable power of nested decision rules**  \n  Link: https://mlu-explain.github.io/decision-tree/  \n  Summary: Explanation of why nested decision rules (decision trees) remain powerful and interpretable for a wide range of tasks despite their simplicity.  \n  Published: 2026-03-01T08:55:52Z\n\n- **Switch to Claude without starting over**  \n  Link: https://claude.com/import-memory  \n  Summary: Claude's import-memory feature lets users migrate or import prior assistant memory/content so they can switch to Claude without losing context.  \n  Published: 2026-03-01T07:36:52Z\n\n- **10-202: Introduction to Modern AI (CMU)**  \n  Link: https://modernaicourse.org  \n  Summary: Course homepage for CMU's Introduction to Modern AI (10-202), offering lecture materials and resources.  \n  Published: 2026-03-01T07:35:03Z\n\n- **MicroGPT: 200-line Python GPT training and inference** (Microgpt)  \n  Link: http://karpathy.github.io/2026/02/12/microgpt/  \n  Summary: Single-file ~200-line pure-Python implementation that includes tokenizer, autograd, GPT-like architecture, Adam optimizer, training loop, and demo (e.g., generates sample names); links to gist/Colab included.  \n  Published: 2026-03-01T01:39:26Z\n\n- **We do not think Anthropic should be designated as a supply chain risk**  \n  Link: https://twitter.com/OpenAI/status/2027846016423321831  \n  Summary: OpenAI tweet stating the view that Anthropic should not be designated a supply chain risk.  \n  Published: 2026-02-28T21:24:16Z\n\n- **Obsidian Sync now has a headless client**  \n  Link: https://help.obsidian.md/sync/headless  \n  Summary: Obsidian added a headless (CLI) Sync client to enable syncing without the GUI, useful for servers and scriptable setups.  \n  Published: 2026-02-28T16:31:53Z\n\n- **Kyber (YC W23) Is Hiring an Enterprise Account Executive**  \n  Link: https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae  \n  Summary: Job posting for an Enterprise Account Executive at Kyber (YC W23); the listing link contains role details.  \n  Published: 2026-02-27T18:37:53Z\n\n---\nNotes: where fetched article content existed (MicroGPT and Lil' Fun Langs' Guts) I proposed shorter, more specific titles and included synthesis from the article content; other items use the original titles and the provided descriptions/links. Missing detailed article text for most posts — summaries are based on the link/title/description available."
  }
]
Output (6886 bytes)
[
  {
    "ok": true,
    "text": "# Hacker News Digest — Selected High-Point Posts (newest first)\n\nBelow are concise summaries suitable for email. Each item shows the final title (original title in parentheses if changed), the link, a one-sentence summary, and the published date.\n\n- **AWS Middle East Central Down, apparently struck in war**  \n  Link: https://health.aws.amazon.com/health/status  \n  Summary: AWS Health shows the Middle East (Central) region is down and reports — as noted in the thread — indicate it may have been affected by war-related strikes.  \n  Published: 2026-03-01T19:24:30Z\n\n- **A new account made over $515,000 betting on the U.S. strike against Iran**  \n  Link: https://xcancel.com/cabsav456/status/2027937130995921119  \n  Summary: A social-posted report claims a newly created account profited over $515k from bets placed anticipating a U.S. strike on Iran; the thread links to the account/status for details.  \n  Published: 2026-03-01T19:22:47Z\n\n- **January in Servo: preloads, better forms, details styling, and more**  \n  Link: https://servo.org/blog/2026/02/28/january-in-servo/  \n  Summary: Monthly Servo update summarizing work on preloads, improved form handling, styling details, and other engine-level improvements.  \n  Published: 2026-03-01T17:31:29Z\n\n- **When does MCP make sense vs CLI?**  \n  Link: https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html  \n  Summary: Discussion comparing the trade-offs between using an MCP (Model Control Plane) and command-line interfaces, outlining scenarios where each is appropriate.  \n  Published: 2026-03-01T16:54:49Z\n\n- **Show HN: Audio Toolkit for Agents**  \n  Link: https://github.com/shiehn/sas-audio-processor  \n  Summary: A GitHub project providing an audio-processing toolkit aimed at agent workflows and audio-based tooling.  \n  Published: 2026-03-01T15:52:02Z\n\n- **How small functional languages are implemented** (Lil' Fun Langs' Guts)  \n  Link: https://taylor.town/scrapscript-001  \n  Summary: Survey of implementation choices for tiny functional languages covering compilation phases (lex/parse/desugar/type/IR/codegen), strict vs lazy semantics, curried vs multi-arg calling, bootstrapping, interpreter vs compiler trade-offs, and runtime implications.  \n  Published: 2026-03-01T15:23:42Z\n\n- **New iron nanomaterial wipes out cancer cells without harming healthy tissue**  \n  Link: https://www.sciencedaily.com/releases/2026/02/260228093456.htm  \n  Summary: ScienceDaily reports researchers developed an iron-based nanomaterial that in lab tests selectively destroys cancer cells while sparing healthy tissue.  \n  Published: 2026-03-01T15:09:55Z\n\n- **Why XML Tags Are So Fundamental to Claude**  \n  Link: https://glthr.com/XML-fundamental-to-Claude  \n  Summary: Argument that XML-style tags are particularly effective for instructing Anthropic's Claude model and form an important prompting/formatting primitive (discussion post).  \n  Published: 2026-03-01T14:52:22Z\n\n- **Ghostty – Terminal Emulator**  \n  Link: https://ghostty.org/docs  \n  Summary: Documentation for Ghostty, a terminal emulator project (project docs linked).  \n  Published: 2026-03-01T12:13:03Z\n\n- **I built a demo of what AI chat will look like when it's \"free\" and ad-supported**  \n  Link: https://99helpers.com/tools/ad-supported-chat  \n  Summary: Demo showing an ad-supported AI chat experience to illustrate how ads could be integrated into otherwise free conversational products.  \n  Published: 2026-03-01T11:49:01Z\n\n- **Show HN: Vertex.js – A 1kloc SPA Framework**  \n  Link: https://lukeb42.github.io/vertex-manual.html  \n  Summary: Vertex.js is a ~1k-line, dependency-free SPA framework that claims React-like features and competitive performance in some benchmarks.  \n  Published: 2026-03-01T11:05:28Z\n\n- **Flightradar24 for Ships**  \n  Link: https://atlas.flexport.com/  \n  Summary: Flexport's Atlas provides ship-tracking and logistics visibility analogous to Flightradar24 for aircraft.  \n  Published: 2026-03-01T11:01:17Z\n\n- **Why is the first C++ (m)allocation always 72 KB?**  \n  Link: https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/  \n  Summary: Deep-dive investigating why initial C/C++ (m)alloc allocations commonly come out to ~72 KB and the allocator/OS behaviors behind it.  \n  Published: 2026-03-01T09:27:34Z\n\n- **Decision trees – the unreasonable power of nested decision rules**  \n  Link: https://mlu-explain.github.io/decision-tree/  \n  Summary: Explanation of why nested decision rules (decision trees) remain powerful and interpretable for a wide range of tasks despite their simplicity.  \n  Published: 2026-03-01T08:55:52Z\n\n- **Switch to Claude without starting over**  \n  Link: https://claude.com/import-memory  \n  Summary: Claude's import-memory feature lets users migrate or import prior assistant memory/content so they can switch to Claude without losing context.  \n  Published: 2026-03-01T07:36:52Z\n\n- **10-202: Introduction to Modern AI (CMU)**  \n  Link: https://modernaicourse.org  \n  Summary: Course homepage for CMU's Introduction to Modern AI (10-202), offering lecture materials and resources.  \n  Published: 2026-03-01T07:35:03Z\n\n- **MicroGPT: 200-line Python GPT training and inference** (Microgpt)  \n  Link: http://karpathy.github.io/2026/02/12/microgpt/  \n  Summary: Single-file ~200-line pure-Python implementation that includes tokenizer, autograd, GPT-like architecture, Adam optimizer, training loop, and demo (e.g., generates sample names); links to gist/Colab included.  \n  Published: 2026-03-01T01:39:26Z\n\n- **We do not think Anthropic should be designated as a supply chain risk**  \n  Link: https://twitter.com/OpenAI/status/2027846016423321831  \n  Summary: OpenAI tweet stating the view that Anthropic should not be designated a supply chain risk.  \n  Published: 2026-02-28T21:24:16Z\n\n- **Obsidian Sync now has a headless client**  \n  Link: https://help.obsidian.md/sync/headless  \n  Summary: Obsidian added a headless (CLI) Sync client to enable syncing without the GUI, useful for servers and scriptable setups.  \n  Published: 2026-02-28T16:31:53Z\n\n- **Kyber (YC W23) Is Hiring an Enterprise Account Executive**  \n  Link: https://www.ycombinator.com/companies/kyber/jobs/59yPaCs-enterprise-account-executive-ae  \n  Summary: Job posting for an Enterprise Account Executive at Kyber (YC W23); the listing link contains role details.  \n  Published: 2026-02-27T18:37:53Z\n\n---\nNotes: where fetched article content existed (MicroGPT and Lil' Fun Langs' Guts) I proposed shorter, more specific titles and included synthesis from the article content; other items use the original titles and the provided descriptions/links. Missing detailed article text for most posts — summaries are based on the link/title/description available."
  }
]