Save JSON from a cron job or GitHub Action
Save a JSON result from a scheduled job to a stable URL, then read it from a static page or another script. This guide uses jstash JSON Bins for a s…
Tech news from the best sources
Save a JSON result from a scheduled job to a stable URL, then read it from a static page or another script. This guide uses jstash JSON Bins for a s…
We publish a handful of technical articles every day on our company blog, and every article gets two real photographs: a cover and one inline image.…
Last month Claude Code told me it had added a regression test. The commit landed. The PR merged. Two days later a bug slipped through — the test was…
Most people have at some point hammered Ctrl-C at a terminal while a shell loop carried on regardless, one iteration after another, and put it down…
A Command That Matched Zero Files Still Exits 0: How to Catch Silent CI Failures Every engineer has felt the cold dread of pushing a critical fix, w…
Jira 32,767 characters limit: find the description and comment data a JCMA migration lost Key takeaways END STATE: a reviewed JSON plan and a dry-ru…
Your OpenCode whitelist is a list of promises made by other people's APIs. This is about the small bash tool I wrote to check them — and one bug in…
Disclosure first I sell the five-line core of this post for $4 as snapshot.sh , part of DevToolkit ( https://payhip.com/b/aEn8M ), so I am not neutr…
Disclosure first I sell the script quoted in the second half of this post for $4 (DevToolkit, https://payhip.com/b/aEn8M ), so I am not neutral abou…
Note: These are my learning notes from my current phase. I am keeping them as I wrote them so I can look back and see my progress. watched a 1 hour…
How to Automate Git Add, Commit, and Push with a Bash Script I automated one of the repetitive tasks in my development workflow. While working on a…
No Python. No Node. Just Bash and jq. an AI assistant that runs in your terminal, chats with an LLM, and can search the web, check the weather, fetc…
Most "what's my IP" sites are built for browsers. Call them from a script and you get a full HTML page back, or you're asked to sign up for an API k…
Last time I wrote about using a probe to decide which jobs to stop first when the quota runs dry . This post is about the problem sitting right next…
At a previous employer I went looking for a shell script and found eleven of it. Not eleven copies, but eleven variants, each one someone's improvem…
Six months ago my side business made ¥0 a month. This month it's ¥1.2M, running on an autonomous setup built with Claude Code. And here's the thing…
Disclaimer: AI helped me write this since I am not that good with words :) Claude wrote this, mid-task, while refactoring something unrelated: sed -…
I went from ¥100k a month as a student to ¥600k juggling side gigs, then to ¥0 after a layoff—and six months of building an autonomous Claude Code e…
You copy a command from a Stack Overflow answer, a blog post, or an AI assistant. It has six stacked flags. It works. You move on — without ever rea…
I've been building a Bash 5.3 in pure Go — no CGo, one static binary — on top of mvdan/sh , mostly so the same scripts run on Windows. It passes all…
Let's say you're using Bash and you have a directory like this: $ ls aaa-bbb-ccc You want to move to this directory, but you only remember bbb in th…
Last time I wrote about how many jobs you should re-run the moment your quota comes back . This post goes back a few days earlier, to a quieter and…
You don't always need a computer to test a website or run a small development project. With Termux , your Android phone can run a local development…
A listener nobody remembered starting held port 3000 on my own machine since spring. One ss flag named the owner without root — and showed why 'list…
In one day of post-deploy verification I hit three failures that all looked like "production is broken" and none of which were: zsh's tied path arra…
canonical_url: https://theprettyrejectsguidetotechnology.blogspot.com/2026/08/nightmare-on-linux-st.html A quick one from my ongoing series on what…
A full disk is a common reason for random service crashes in Linux. Here is a quick 3-step checklist to find and fix it: Check disk usage Find which…
Our integration suite had been green for eleven weeks. That is not a boast, it is the symptom. A colleague onboarding to the repo wrote a deliberate…
Last time I wrote about picking out and reaping only the "orphaned Chrome" processes . This time it's the monitoring script sitting right next to it…
I had a gut feeling that my general-purpose subagent was the slow one. Then I measured it: 18 seconds on average, faster than Explore at 22. The rea…