{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Grizzlebit",
  "home_page_url": "https://www.grizzlebit.com/",
  "feed_url": "https://www.grizzlebit.com/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": "Galup",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eA morning walk around Galup.\u003c/p\u003e\n\u003cdiv class=\"gallery\"\u003e\n\n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-31-galup/20260324-lcaq2-1007860_hu_bd4bfae43b433847.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-31-galup/20260324-lcaq2-1007860_hu_7894f27579e4b1b.jpg\" width=\"800\" height=\"534\" alt=\"Galup walking path\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-31-galup/20260324-lcaq2-1007865_hu_a6aaf34b7b2f9ce.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-31-galup/20260324-lcaq2-1007865_hu_5683f5de931c13a.jpg\" width=\"800\" height=\"534\" alt=\"Egret by Galup\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \u003c/div\u003e\n\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/posts/2026/03-31-galup/\"\u003e🔗\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/my-photos/\"\u003eMy Photos\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/posts/2026/03-31-galup/",
      "url": "https://www.grizzlebit.com/posts/2026/03-31-galup/",
      "date_published": "2026-03-31T08:38:40+08:00",
      "date_modified": "2026-03-31T08:41:33+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Leica Photo Workshop",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eI spent last weekend shooting in Fremantle on a \u003ca href=\"https://leica-akademie.com.au\"\u003eLeica Akademie\u003c/a\u003e workshop with \u003ca href=\"https://www.jessemarlow.com\"\u003eJesse Marlow\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eJesse was a fantastic coach and guide.\u003c/p\u003e\n\u003cp\u003eI had a wicked time and managed to get a few keepers to boot.\u003c/p\u003e\n\u003cdiv class=\"gallery\"\u003e\n\n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007643_hu_b2cb7987b14e4800.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007643_hu_66b4a678dddb8ca7.jpg\" width=\"800\" height=\"534\" alt=\"Fremantle street in Golden Hour\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007582_hu_c2e7562718ff006b.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007582_hu_dd11ceac41a8b03c.jpg\" width=\"800\" height=\"534\" alt=\"On the street\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007345_hu_6ef356c203a6545c.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007345_hu_19f011501e3f0439.jpg\" width=\"800\" height=\"534\" alt=\"Leaning against a wall\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007541_hu_94211df1f1ea6d67.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007541_hu_c05a9b82597f1a0b.jpg\" width=\"800\" height=\"534\" alt=\"Shoppers\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007391_hu_9ca06bfd9e41c6ef.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260321-lcaq2-1007391_hu_46e53a977447a887.jpg\" width=\"800\" height=\"534\" alt=\"In the trees\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-25-leica-photo-workshop/20260322-lcaq2-1007832_hu_87c779aaf3023628.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-25-leica-photo-workshop/20260322-lcaq2-1007832_hu_b616a33f8d46b02f.jpg\" width=\"800\" height=\"534\" alt=\"Over the Fremantle bridge\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \u003c/div\u003e\n\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/posts/2026/03-25-leica-photo-workshop/\"\u003e🔗\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/my-photos/\"\u003eMy Photos\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/photography/\"\u003ePhotography\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/posts/2026/03-25-leica-photo-workshop/",
      "url": "https://www.grizzlebit.com/posts/2026/03-25-leica-photo-workshop/",
      "date_published": "2026-03-25T09:08:59+08:00",
      "date_modified": "2026-03-25T09:16:20+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Sunsets",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eSome recent sunsets.\u003c/p\u003e\n\u003cdiv class=\"gallery\"\u003e\n\n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-20-sunsets/20260320-fj100s-7791_hu_34a1b0cfbb8ba23b.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-20-sunsets/20260320-fj100s-7791_hu_453144d22a87bd0e.jpg\" width=\"800\" height=\"600\" alt=\"Cloudy out the back\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-20-sunsets/20260313-fj100s-7750_hu_586422db7474bfa9.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-20-sunsets/20260313-fj100s-7750_hu_bc822ea0a8bcc84a.jpg\" width=\"800\" height=\"600\" alt=\"Airy\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-20-sunsets/20260319-lcaq2-1007298_hu_7c95bf25ab31084c.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-20-sunsets/20260319-lcaq2-1007298_hu_ffe8c759d1503b32.jpg\" width=\"800\" height=\"534\" alt=\"Over the fence\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-20-sunsets/20260308-fj100s-7746_hu_8ae67eb8cc4f0c44.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-20-sunsets/20260308-fj100s-7746_hu_a2e5610be447e58e.jpg\" width=\"800\" height=\"600\" alt=\"Blanket cloud\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-20-sunsets/20260308-fj100s-7741_hu_4ebd1bde8715164e.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-20-sunsets/20260308-fj100s-7741_hu_ff6b5ac369fd7884.jpg\" width=\"800\" height=\"600\" alt=\"All cloud\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \u003c/div\u003e\n\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/posts/2026/03-20-sunsets/\"\u003e🔗\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/my-photos/\"\u003eMy Photos\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/posts/2026/03-20-sunsets/",
      "url": "https://www.grizzlebit.com/posts/2026/03-20-sunsets/",
      "date_published": "2026-03-20T19:00:08+08:00",
      "date_modified": "2026-03-20T19:05:01+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eSpent thirty minutes cleaning up my Lightroom catalog.\u003c/p\u003e\n\u003cp\u003eSpent two hours fixing all the things I broke while cleaning up.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/notes/2026/03-10-peim/\"\u003e🔗\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/notes/2026/03-10-peim/",
      "url": "https://www.grizzlebit.com/notes/2026/03-10-peim/",
      "date_published": "2026-03-10T17:02:45+08:00",
      "date_modified": "2026-03-10T17:04:11+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Lens Testing",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eTesting \u003ca href=\"https://www.fujifilm-x.com/en-au/products/lenses/gf110mmf2-r-lm-wr/\"\u003emy new lens\u003c/a\u003e on some building textures.\u003c/p\u003e\n\u003cdiv class=\"gallery\"\u003e\n\n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7703_hu_8758a7903bc96a89.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7703_hu_765ddb829db71878.jpg\" width=\"800\" height=\"600\" alt=\"WA Museum\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7699_hu_71662166a32b41b2.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7699_hu_4b090ed2b3ec4a4d.jpg\" width=\"800\" height=\"600\" alt=\"State Library\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7723_hu_17494eca619d0d64.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7723_hu_95eb0c42a53b5a4c.jpg\" width=\"800\" height=\"600\" alt=\"Central Park Tower\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7722_hu_afc1a2625faf4992.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/03-08-lens-testing/20260306-fj100s-7722_hu_4ddfa656303c263e.jpg\" width=\"800\" height=\"600\" alt=\"St George Terrace\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \u003c/div\u003e\n\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/posts/2026/03-08-lens-testing/\"\u003e🔗\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/my-photos/\"\u003eMy Photos\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/posts/2026/03-08-lens-testing/",
      "url": "https://www.grizzlebit.com/posts/2026/03-08-lens-testing/",
      "date_published": "2026-03-08T11:59:11+08:00",
      "date_modified": "2026-03-08T12:30:10+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\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\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"
      }]
    }
    
    , {
      
      "title": "Decryption's Notes on Money and Investing ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003edecryption:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eOver a decade ago I got into FIRE - Financial Independence, Retire Early. I\u0026rsquo;m currently in the position where I\u0026rsquo;m closer to the end of a FIRE journey than the start, so here\u0026rsquo;s a big dump of knowledge on various finance topics relevant to me. This post exists primarily so I can get it out of my head and stop thinking about it.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eA well written summary with loads of references.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-decryptions-notes-on-money-and-investing/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/finance/\"\u003eFinance\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://blog.decryption.net.au/posts/money.html",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-decryptions-notes-on-money-and-investing/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-decryptions-notes-on-money-and-investing/",
      "date_published": "2026-02-26T09:30:24+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Burnout Is Breaking a Sacred Pact ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eCate Hall:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eIt’s easy to extend this framework to explain burnout. You can think of the rider and the elephant as having agreed to a sacred pact: In exchange for doing what the rider asks, the elephant is promised certain rewards. When things are going well, the needs of both rider and elephant are satisfied, even if the balance isn’t exactly even day-to-day.\u003c/p\u003e\n\u003cp\u003eBurnout results when the rider asks the elephant, over and over again, to commit a tremendous amount of energy to a task, but then fails to provide the reward the elephant is expecting. As a result, the link between effort and reward breaks for the elephant, with catastrophic consequences for the rider.\u003c/p\u003e\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-burnout-is-breaking-a-sacred-pact/\"\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://usefulfictions.substack.com/p/burnout-is-breaking-a-sacred-pact",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-burnout-is-breaking-a-sacred-pact/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-burnout-is-breaking-a-sacred-pact/",
      "date_published": "2026-02-26T09:27:06+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Open Source Tests as a Threat to Your Business Model ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eSimon Willison:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eIt\u0026rsquo;s become very apparent over the past few months that a comprehensive test suite is enough to build a completely fresh implementation of any open source library from scratch, potentially in a different language.\u003c/p\u003e\n\u003cp\u003eThis has worrying implications for open source projects with commercial business models. Here\u0026rsquo;s an example of a response: tldraw, the outstanding collaborative drawing library, are moving their test suite to a private repository.\u003c/p\u003e\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-26-open-source-tests-as-a-threat-to-your-business-model/\"\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://simonwillison.net/2026/Feb/25/closed-tests/",
      
      "id": "https://www.grizzlebit.com/links/2026/02-26-open-source-tests-as-a-threat-to-your-business-model/",
      "url": "https://www.grizzlebit.com/links/2026/02-26-open-source-tests-as-a-threat-to-your-business-model/",
      "date_published": "2026-02-26T09:24:59+08:00",
      "date_modified": "2026-02-26T09:40:44+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eMy kid: \u0026ldquo;When the moon hits your eye like a big pizza pie, that\u0026rsquo;s a moron.\u0026rdquo;\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/notes/2026/02-15-kpip/\"\u003e🔗\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/notes/2026/02-15-kpip/",
      "url": "https://www.grizzlebit.com/notes/2026/02-15-kpip/",
      "date_published": "2026-02-15T15:31:19+08:00",
      "date_modified": "2026-02-15T15:31:29+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Noah Kalina's Photo Archive ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eIt\u0026rsquo;s great to see Noah\u0026rsquo;s work collected again.\u003c/p\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-08-noah-kalinas-photo-archive/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/photography/\"\u003ePhotography\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://archive.noahkalina.com",
      
      "id": "https://www.grizzlebit.com/links/2026/02-08-noah-kalinas-photo-archive/",
      "url": "https://www.grizzlebit.com/links/2026/02-08-noah-kalinas-photo-archive/",
      "date_published": "2026-02-08T17:55:30+08:00",
      "date_modified": "2026-02-08T17:56:05+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "Direct Current Data Centers ↬",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eCasey Handmer, Matt Weickert:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis post explains our current views on how humanity will achieve Kardashev Level 1 status by exploiting the full energy resources of an entire planet. More specifically, how pure solar+batteries will power AI scaleup beyond gas turbine manufacturing limits.\u003c/p\u003e\u003c/blockquote\u003e\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/links/2026/02-08-direct-current-data-centers/\"\u003e↬\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/science/\"\u003eScience\u003c/a\u003e, \u003ca href=\"https://www.grizzlebit.com/tags/technology/\"\u003eTechnology\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      "external_url": "https://caseyhandmer.wordpress.com/2026/01/30/direct-current-data-centers/",
      
      "id": "https://www.grizzlebit.com/links/2026/02-08-direct-current-data-centers/",
      "url": "https://www.grizzlebit.com/links/2026/02-08-direct-current-data-centers/",
      "date_published": "2026-02-08T17:52:29+08:00",
      "date_modified": "2026-02-08T17:56:05+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
    , {
      
      "title": "January",
      "content_html": "\u003cdiv\u003e\n  \u003cp\u003eHitting the streets and Margaret River in January.\u003c/p\u003e\n\u003cdiv class=\"gallery\"\u003e\n\n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20251124-lcaq2-1006975_hu_82531df9c09a6eff.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20251124-lcaq2-1006975_hu_e819b935ddbb75c6.jpg\" width=\"800\" height=\"534\" alt=\"Smoking\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20251124-lcaq2-1006953_hu_61000e65ee9e55f.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20251124-lcaq2-1006953_hu_2180cf0c85b00629.jpg\" width=\"800\" height=\"534\" alt=\"Curbside collection\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260113-lcaq2-1007220_hu_78d36552c79fa9b1.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260113-lcaq2-1007220_hu_f28969e512d295d2.jpg\" width=\"800\" height=\"534\" alt=\"Melted bin\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260130-1190_hu_b291c7aa86279d5f.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260130-1190_hu_8310491ef230d33b.jpg\" width=\"800\" height=\"1067\" alt=\"Hatchback\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20251124-lcaq2-1006966_hu_c5d96ea15232d342.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20251124-lcaq2-1006966_hu_240bb43d7721f536.jpg\" width=\"800\" height=\"534\" alt=\"Apollo\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20251125-lcaq2-1006986_hu_5c7789aaa0ea78fc.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20251125-lcaq2-1006986_hu_4e8582270f886337.jpg\" width=\"800\" height=\"534\" alt=\"Dead growth\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260106-fj100s-7591_hu_5cb1803d159463e1.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260106-fj100s-7591_hu_375de5f420d22ea9.jpg\" width=\"800\" height=\"600\" alt=\"Office corner\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260110-lcaq2-1007159_hu_36f9e6262dcf14f9.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260110-lcaq2-1007159_hu_1e024be1e5e567b5.jpg\" width=\"800\" height=\"534\" alt=\"Ropes\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260110-lcaq2-1007187_hu_ee1f62beebde1be.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260110-lcaq2-1007187_hu_ad875ab99714db7e.jpg\" width=\"800\" height=\"534\" alt=\"Chicken\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \n\n  \u003cdiv class=\"gallery-item\"\u003e\u003cfigure\u003e\n      \u003ca href=\"/posts/2026/02-04-january/20260110-lcaq2-1007213_hu_4204253a3c92ed8b.jpg\"\u003e\n        \u003cimg loading=\"lazy\"\n          src=\"/posts/2026/02-04-january/20260110-lcaq2-1007213_hu_70b918a1ce710732.jpg\" width=\"800\" height=\"534\" alt=\"Hungry dog\"\u003e\n      \u003c/a\u003e\n      \u003c/figure\u003e\n  \u003c/div\u003e\n  \u003c/div\u003e\n\n\n  \u003cp\u003e\n    \n    \u003ca href=\"https://www.grizzlebit.com/posts/2026/02-04-january/\"\u003e🔗\u003c/a\u003e\n     ∙ Tagged in \u003ca href=\"https://www.grizzlebit.com/tags/my-photos/\"\u003eMy Photos\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n",
      
      "id": "https://www.grizzlebit.com/posts/2026/02-04-january/",
      "url": "https://www.grizzlebit.com/posts/2026/02-04-january/",
      "date_published": "2026-02-04T07:51:35+08:00",
      "date_modified": "2026-02-04T08:47:29+08:00",
      "authors": [{
        "name": "Ray Grasso"
      }]
    }
    
  ]
}
