{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Links on Grizzlebit",
  "home_page_url": "https://www.grizzlebit.com/links/",
  "feed_url": "https://www.grizzlebit.com/links/feed.json",
  "icon": "http://www.grizzlebit.com/images/icon.png",
  "favicon": "https://www.grizzlebit.com/images/favicon-32x32.png",
  "authors": [
    {
      "name": "Ray Grasso",
      "url": "https://raygrasso.com"
    }
  ],
  "language": "en",
  "items": [
    
     {
      
      "title": "Should You Use AI for a Task? ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eBruce Schneier:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAt work, if your job is to move a bunch of heavy things from one side of the room to another, you should use whatever assistive tech you have on hand: a wagon, a forklift \u0026hellip; even an AI-powered robot. But at the gym, it makes no sense for that robot to lift weights for you. The point of weightlifting isn’t to move heavy things across the room; it’s to actually lift those heavy things. The same analysis holds for any task an AI can do for you. If it’s work – if the task has to be done and no one cares how – then it’s fine to use AI assistance. But if the task is more like the gym, and how the task is done is at least as important, then it probably doesn’t make sense to use AI.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/08-07-should-you-use-ai-for-a-task/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/ai/\"\u003eAI\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://www.theguardian.com/commentisfree/2026/jul/24/should-you-use-ai",
      
      "id": "https://www.grizzlebit.com/links/2026/08-07-should-you-use-ai-for-a-task/",
      "url": "https://www.grizzlebit.com/links/2026/08-07-should-you-use-ai-for-a-task/",
      "date_published": "2026-08-07T17:59:28+08:00",
      "date_modified": "2026-08-07T19:36:45+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "40 Interesting Facts About Australia ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eAndrew Kemp:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eBetween 150 and 500 million people may have lived and died in Australia before 1788 (British colonisation).\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI always enjoy these kinds of posts.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/08-07-40-interesting-facts-about-australia/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/trivia/\"\u003eTrivia\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://ozhistoryandpolitics.substack.com/p/40-interesting-facts-about-australian",
      
      "id": "https://www.grizzlebit.com/links/2026/08-07-40-interesting-facts-about-australia/",
      "url": "https://www.grizzlebit.com/links/2026/08-07-40-interesting-facts-about-australia/",
      "date_published": "2026-08-07T17:38:44+08:00",
      "date_modified": "2026-08-07T18:02:35+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Absolutely Understand Guitar ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eI\u0026rsquo;m back on my learning guitar jag. This set of theory videos is great.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-absolutely-understand-guitar/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/music/\"\u003eMusic\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://www.youtube.com/@absolutelyunderstandguitar60",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-absolutely-understand-guitar/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-absolutely-understand-guitar/",
      "date_published": "2026-07-26T13:38:14+08:00",
      "date_modified": "2026-08-12T19:40:04+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "In Defense of Mandates ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eCharity Majors:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThe mandate is one way of putting organizational muscle behind a decision. It’s a funding mechanism. It works by acknowledging that “hey, we are all going to be a little slower for a bit while we figure this out, and it will be annoying and expensive and we accept that.”\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWithout funding and a mandate, you’re effectively telling your employees to build these skills in their spare time, if they can and if they feel like it. Which is the same as telling them “this is NOT a priority, we are NOT willing to fund it.”\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-in-defense-of-mandates/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/work-culture/\"\u003eWork Culture\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://charity.wtf/p/in-defense-of-ai-mandates",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-in-defense-of-mandates/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-in-defense-of-mandates/",
      "date_published": "2026-07-26T13:32:32+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Sending Your IP to Frontier Labs ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eBen Thompson:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWhat Karp is driving at is the flip-side of the points I am making above: the challenge for enterprises when it comes to using the frontier models is not simply that tokens are expensive, but that they are potentially giving valuable data to the labs who, in the long run, have an economic imperative to move up the stack and own the customer directly.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-sending-your-ip-to-frontier-labs/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/ai/\"\u003eAI\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/business/\"\u003eBusiness\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://stratechery.com/2026/openai-hacks-hugging-face-what-happened-alignment-and-paper-clips/",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-sending-your-ip-to-frontier-labs/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-sending-your-ip-to-frontier-labs/",
      "date_published": "2026-07-26T13:29:19+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "The Conversation Is the Commit ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eChad Fowler:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWhy are humans allowed to edit the output at all? If you care about provenance—about being able to trace every line of code back to a decision—then manual edits are a problem. They break the chain. They introduce code that has no record, no explanation, no origin you can inspect. So you end up in an uncomfortable place: You don’t just prefer that agents write the code. You require it. Not because agents are better programmers. But because they are the only way to guarantee that every change passes through a process that can be captured, inspected, and replayed. Humans don’t stop participating. They just move up a level. They define intent. They shape constraints. They review outcomes. But they don’t write the code directly anymore. Because the moment they do, the system forgets how it got there.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-the-conversation-is-the-commit/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/ai/\"\u003eAI\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/software-engineering/\"\u003eSoftware Engineering\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://aicoding.leaflet.pub/3mhxvpam4z22z",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-the-conversation-is-the-commit/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-the-conversation-is-the-commit/",
      "date_published": "2026-07-26T13:27:38+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "The Cost of SPAs ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eKore Nordmann:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis shape matters because the single biggest cost of the SPA model is that it duplicates the server. State lives twice, once in the database and once in the client store. Rendering logic lives twice, as templates on the server and components on the client. And between the two halves you must now build and version an API which exists only to feed your own frontend. For an application which is genuinely client-state-heavy, like a collaborative editor or a design tool, this duplication buys responsiveness you cannot get any other way, and it is worth every line. For a catalog with a search box it is pure overhead.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-the-cost-of-spas/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/software-engineering/\"\u003eSoftware Engineering\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://kore-nordmann.de/blog/htmx-and-web-components-instead-of-react.html",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-the-cost-of-spas/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-the-cost-of-spas/",
      "date_published": "2026-07-26T13:25:08+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Superpowers ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eI keep my agent skills and plugins minimal. This set of software development agent skills hits a sweet spot.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-superpowers/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/ai/\"\u003eAI\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/tools/\"\u003eTools\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://github.com/obra/superpowers",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-superpowers/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-superpowers/",
      "date_published": "2026-07-26T13:19:59+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Last.fm MCP Server ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eHandy to connect your listening history to an LLM to generate some custom playlists.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-last-fm-mcp-server/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/music/\"\u003eMusic\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/software/\"\u003eSoftware\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://lastfm-mcp.com/",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-last-fm-mcp-server/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-last-fm-mcp-server/",
      "date_published": "2026-07-26T13:16:59+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Working With Product Managers ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eSean Goedecke:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWhen a product manager says that something is critical, engineers generally have to shrug and say “sure, I guess”. This obviously requires a lot of trust. What’s a little less obvious is that this trust is continually broken by both sides. Every single product manager has been told thousands of times that technical task X is technically impossible or would be disastrous, only for that task to end up being done fairly smoothly and successfully. Every single engineer has been told thousands of times that requirement X is absolutely critical and worth going to enormous effort for, only for that requirement to be silently dropped or changed with no apology.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-working-with-product-managers/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/product-development/\"\u003eProduct Development\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/teamwork/\"\u003eTeamwork\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://www.seangoedecke.com/working-with-product-managers/",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-working-with-product-managers/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-working-with-product-managers/",
      "date_published": "2026-07-26T13:15:03+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Lolgato ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eA handy utility for controlling Elgato lights.\u003c/p\u003e\n\u003cp\u003eThe feature to switch your lights on and off with your camera state is killer.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-26-lolgato/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/software/\"\u003eSoftware\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://github.com/raine/lolgato",
      
      "id": "https://www.grizzlebit.com/links/2026/07-26-lolgato/",
      "url": "https://www.grizzlebit.com/links/2026/07-26-lolgato/",
      "date_published": "2026-07-26T13:12:43+08:00",
      "date_modified": "2026-07-26T13:40:32+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "What Happened to the Frontend? ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eDavid Poblador i Garcia:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWhich is to say, after two decades and forty-four meters of build tools and bundlers and hydration schemes, the industry sprinted in a giant circle and arrived, slightly out of breath, back at something that looks an awful lot like the file you uploaded over FTP. The instinct didn\u0026rsquo;t expire. The ground moved, for real reasons, and then it moved back.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eA journey in and out of the heart of darkness.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/07-13-what-happened-to-the-frontend/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/software-engineering/\"\u003eSoftware Engineering\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://davidpoblador.com/deep-dives/what-happened-to-the-frontend/",
      
      "id": "https://www.grizzlebit.com/links/2026/07-13-what-happened-to-the-frontend/",
      "url": "https://www.grizzlebit.com/links/2026/07-13-what-happened-to-the-frontend/",
      "date_published": "2026-07-13T11:40:30+08:00",
      "date_modified": "2026-07-13T11:42:52+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Backseat Software ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eA nicely laid out story of how we got where we are in software product design.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-backseat-software/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/product-development/\"\u003eProduct Development\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://blog.mikeswanson.com/backseat-software/",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-backseat-software/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-backseat-software/",
      "date_published": "2026-02-26T09:37:47+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Mitchell Hashimoto's AI Adoption Journey ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eMitchell Hashimoto:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is my journey of how I found value in AI tooling and what I\u0026rsquo;m trying next with it. In an ocean of overly dramatic, hyped takes, I hope this represents a more nuanced, measured approach to my views on AI and how they\u0026rsquo;ve changed over time.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-mitchell-hashimotos-ai-adoption-journey/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/ai/\"\u003eAI\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://mitchellh.com/writing/my-ai-adoption-journey",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-mitchell-hashimotos-ai-adoption-journey/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-mitchell-hashimotos-ai-adoption-journey/",
      "date_published": "2026-02-26T09:36:11+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Eleven Interesting Things From Derek Thompson ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eDerek Thompson:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eStalin and Hitler: Both terrible, but also mutually destructive. Cancer and Alzheimer’s: Also both terrible and also, weirdly, mutually destructive. Apparently—and I never knew this—Alzheimer’s patients rarely have cancer. Doctors have studied the association for years without understanding the root cause. Maybe it’s mere selection effect, where people who don’t get cancer survive long enough to get dementia. Or maybe something more interesting is happening.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-eleven-interesting-things-from-derek-thompson/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/health/\"\u003eHealth\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://www.derekthompson.org/p/the-11-most-interesting-ideas-i-read",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-eleven-interesting-things-from-derek-thompson/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-eleven-interesting-things-from-derek-thompson/",
      "date_published": "2026-02-26T09:33:49+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
  ]
}
