Hey, just wanted to mention I’m basically doing okay. Working as a contractor for the ADCRR, the organization that runs Arizona’s prison system. That’s a little weird. I’m not writing code. I mean—I am writing code, but not for work. Work is commissary stuff: process inmate orders, make sure they get those orders. I finally get to do customer service again. The customers are nice, and so are the coworkers. Hobby code is mostly cycling through Ruby, Lisp-like languages, and Odin. I l...| HomeonRandom Geekery
I have questions for folks using code assistants and other AI developer tooling. Don’t worry. These are workflow questions, not ethics questions. We can talk about those another time. ℹ️ Cognitive bias disclaimer If you answer, you’re talking to someone who usually puts air quotes around “AI.” I read every update from Ed Zitron beginning to end, often in one sitting. So not exactly a friendly audience. But I’m leaving the air quotes out today. So not an actively hostile audience...| HomeonRandom Geekery
I just made Quarto part of my Hugo site building workflow. import arrow arrow.utcnow().to("local").format(arrow.FORMAT_RSS) 'Fri, 28 Feb 2025 18:50:36 -0700' The Quarto tool provides a workflow for publishing technical and scientific documents in Markdown, complete with code execution in multiple languages. You can use Jupyter notebooks or Markdown files. You can use it for papers, books, dashboards, nerdy blogs, and nerdy Web sites. Stuff even cooler than an Arrow timestamp. Overall, a nice ...| HomeonRandom Geekery
I made Astro build my .htaccess file for server-side redirects with Apache. With over a decade as Random Geekery, my site— Look I’m gonna go straight to the code and do the explanation after. If you need this information, you need it now. Put your generating logic in a GET function exported from src/pages/ENDPOINT.js. src/pages/htaccess.jsimport { getCollection } from "astro:content"exportasyncfunction GET(context) { const posts =await getCollection("posts") const directiveText = posts.ma...| HomeonRandom Geekery
Hey I already switched this blog over to Astro. Why not keep trying new and interestingly uncomfortable things? So now all the site styles are done with Tailwind classes. Well. Most of them. Still some of the more interesting CSS I haven’t figure out how to map over. Will I stick with it? As always, I have no idea. So hey while it has my attention: use Astro’s class:list directive to pass Tailwind class names up the component chain. Here’s a tidied-up example. Please forgive my beginner...| HomeonRandom Geekery
What I built my blog with Astro. Let’s use Vitest to do some basic quality checks for it. What we aren’t doing I’m not trying to catch every possible issue. I’m not trying to automate the entire process, or work testing into my CI/CD pipeline. This is me, at my laptop, making sure my blog is in good shape before an update goes live. If you care about CI/CD integration or end-to-end testing, you probably already have a defined workflow. Take what you need from this post, and adapt it t...| HomeonRandom Geekery
What I did I just rebuilt my quarter-century blog with Astro! Well. There’s neglected corners and ideas I have not yet implemented. Enough of it works that I feel comfortable posting it anyways. It is a personal site. Perfect is the enemy of the “ehh, good enough.” We must imagine Sisyphus having fun with his Web site. "Under construction icon-red" by AnonymousUnknown author is licensed under CC BY 3.0.| HomeonRandom Geekery
What? I wrote a Nushell script that updates my Logseq workflow note with a current list of installed plugins. Why? Logseq plugins are installed at the user level, and do not currently sync across machines with a Git-based workflow. If I want a consistent workflow—and I do—I need to maintain this list myself, ideally somewhere that I can reference later. Also, I could work this on-demand script into other workflows, processing elements of my Logseq setup without needing to interact with th...| HomeonRandom Geekery
Jots Been exploring alternate ways to process and publish these notes, with Logseq and Org Mode as the leading options. Meanwhile I shouldn’t let the site itself get too dusty. Weekly snapshots were getting boring but monthly might have been a little overkill on spacing things out. We’re going on vacation! Well, Mrs Geek is on vacation. I get to go along too, because she likes me. Got somebody to look after the house and the critters while we check out casinos, shows, and some funky art e...| HomeonRandom Geekery
Jots| randomgeekery.org
lastmod | randomgeekery.org
2025-09-18| randomgeekery.org
Having ongoing discussions about URL parsing differences as a basis for a #curl security vulnerability report made me check when I wrote my “my URL isn’t your URL” blog post.| randomgeekery.org
Roughly one month| randomgeekery.org
Using the Webmention.io API| randomgeekery.org