{
  "type": "miscellanea",
  "draft": false,
  "title": "Miscellanea for 2025-10-25",
  "time": "23:59:00-07:00",
  "slug": "miscellanea",
  "tags": [
    "miscellanea",
    "golang",
    "claude",
    "rust"
  ],
  "attachments": [],
  "year": "2025",
  "month": "10",
  "day": "25",
  "isDir": false,
  "date": "2025-10-26T06:59:00.000Z",
  "postName": "2025-10-25",
  "html": "<ul>\n<li>Hello world!</li>\n<li>I've been on a roll lately with ginning up little utilities with golang:<ul>\n<li><a href=\"https://github.com/lmorchard/feedspool-go\">feedspool-go</a>: A CLI tool for managing RSS/Atom feeds with SQLite storage and static website generation.</li>\n<li><a href=\"https://github.com/lmorchard/linkding-to-opml\">linkding-to-opml</a>: Quick &amp; dirty tool to turn Linkding bookmarks into an OPML file of feed subscriptions</li>\n<li><a href=\"https://github.com/lmorchard/feed-to-mastodon\">feed-to-mastodon</a>: A command-line tool that fetches RSS/Atom feeds and posts new entries to Mastodon with customizable templates.</li>\n</ul>\n</li>\n<li>These each follow a similar pattern:<ul>\n<li>They're each written in go, distributed as a standalone CLI binary with YAML configuration and a SQLite database.</li>\n<li>I'm using GitHub Actions to run lint, test, and build rolling releases across Linux, macOS, and Windows.</li>\n<li>I'm leaning on Claude Code to do boring boilerplate work and draft unit tests</li>\n</ul>\n</li>\n<li>If I keep this up, I'm thinking I might need to throw together something like <a href=\"https://tools.simonwillison.net/\">tools.simonwillison.net</a> to inventory these things as I accumulate them.<ul>\n<li>It's kind of addicting to throw a boilerplate spec doc at Claude Code, go make coffee while it spews out all the usual code for one of these tools, then come back and sort of not-quite-vibe all the desired features into existence.</li>\n<li>I'm feeling the mental dread cost of little ideas go way, way down.</li>\n<li>Like, I went from thinking \"something like feed-to-mastodon would be nice to have\" to having a first version of feed-to-mastodon in the span of 45 minutes.</li>\n<li>That first-version hump and all the initial startup ceremony is usually what stops me from starting.</li>\n</ul>\n</li>\n<li>Also, for some reason, I've been avoiding golang for my side-projects.<ul>\n<li>I'm not sure why? I think maybe I thought Rust was more solid for this stuff and turned my nose up at golang?</li>\n<li>Though Rust is definitely solid, I'm finding golang to be way less ceremonial for these quick and dirty little tools.</li>\n<li>The ceremony in Rust is also a frequent bouncer for me, especially when the stakes are so low.</li>\n<li>I'm also finding the self-contained binary delivered by golang to be a lot easier to manage than node.js or Python scripts that pull in so many dependencies just to get running on a new server.</li>\n<li>I'm also really appreciating the built-in stuff like <a href=\"https://pkg.go.dev/text/template\">text/template</a>, to the point that I'm now even eyeing up my <a href=\"https://blog.lmorchard.com/2020/05/25/diy-easy-blog-oven/\">Easy-Blog Oven</a> and considering rewriting my blog's static site generator, currently implemented in node.js. (uh oh)</li>\n</ul>\n</li>\n</ul>\n",
  "body": "\n- Hello world!\n- I've been on a roll lately with ginning up little utilities with golang:\n\t- [feedspool-go](https://github.com/lmorchard/feedspool-go): A CLI tool for managing RSS/Atom feeds with SQLite storage and static website generation.\n\t- [linkding-to-opml](https://github.com/lmorchard/linkding-to-opml): Quick & dirty tool to turn Linkding bookmarks into an OPML file of feed subscriptions\n\t- [feed-to-mastodon](https://github.com/lmorchard/feed-to-mastodon): A command-line tool that fetches RSS/Atom feeds and posts new entries to Mastodon with customizable templates.\n- These each follow a similar pattern:\n\t- They're each written in go, distributed as a standalone CLI binary with YAML configuration and a SQLite database.\n\t- I'm using GitHub Actions to run lint, test, and build rolling releases across Linux, macOS, and Windows.\n\t- I'm leaning on Claude Code to do boring boilerplate work and draft unit tests\n- If I keep this up, I'm thinking I might need to throw together something like [tools.simonwillison.net](https://tools.simonwillison.net/) to inventory these things as I accumulate them.\n\t- It's kind of addicting to throw a boilerplate spec doc at Claude Code, go make coffee while it spews out all the usual code for one of these tools, then come back and sort of not-quite-vibe all the desired features into existence.\n\t- I'm feeling the mental dread cost of little ideas go way, way down.\n\t- Like, I went from thinking \"something like feed-to-mastodon would be nice to have\" to having a first version of feed-to-mastodon in the span of 45 minutes.\n\t- That first-version hump and all the initial startup ceremony is usually what stops me from starting.\n- Also, for some reason, I've been avoiding golang for my side-projects.\n\t- I'm not sure why? I think maybe I thought Rust was more solid for this stuff and turned my nose up at golang?\n\t- Though Rust is definitely solid, I'm finding golang to be way less ceremonial for these quick and dirty little tools.\n\t- The ceremony in Rust is also a frequent bouncer for me, especially when the stakes are so low.\n\t- I'm also finding the self-contained binary delivered by golang to be a lot easier to manage than node.js or Python scripts that pull in so many dependencies just to get running on a new server.\n\t- I'm also really appreciating the built-in stuff like [text/template](https://pkg.go.dev/text/template), to the point that I'm now even eyeing up my [Easy-Blog Oven](https://blog.lmorchard.com/2020/05/25/diy-easy-blog-oven/) and considering rewriting my blog's static site generator, currently implemented in node.js. (uh oh)",
  "parentPath": "./content/posts/2025",
  "path": "2025/10/25/miscellanea",
  "needsBuild": true,
  "prevPostPath": "2025/10/25/gotosocial-cloudfront-redirect",
  "prevPostTitle": "GoToSocial split-domain redirects for a static website on AWS CloudFront",
  "nextPostPath": "2025/10/30/w44",
  "nextPostTitle": "2025 Week 44"
}