Why I Planned a Database Migration Before Writing a Single Line of Code

There’s a temptation, when you spot a problem in a personal project, to just fix it. Open the file, start editing, ship. It feels productive. It often isn’t. This week I migrated the state layer of my personal AI assistant from a collection of flat JSON files to SQLite. The migration itself took about 20 minutes of actual work, spread across four automated phases. The planning took two hours. And the planning was the most valuable part. ...

March 28, 2026

Never Fear the Update Button Again: Automating OpenClaw Updates Safely

I run OpenClaw as my personal AI assistant — it handles my daily GTD rituals, monitors my email, tracks calendar events, and responds to me on Telegram throughout the day. I depend on it for essential, everyday tasks. Which means when it breaks, I feel it immediately. For a long time, updating it felt like defusing a bomb. The Problem: Updates Are Terrifying When You Depend on the System Every time a new version of OpenClaw dropped, I’d put off installing it. Not because I didn’t want the new features, but because I’d been burned before. Here’s a sample of what had gone wrong across previous updates: ...

March 27, 2026

A Planned Night Under London's Sky: AI, Automation, and Four Deep-Sky Objects

Last night was one of those rare London evenings: clear skies, no moon, and a forecast that held. My automated sky alert fired at 5pm, so by 7:30 I had the Seestar S50 out and aligned. But this time I did something new — I planned the session in advance, with AI help. The Setup The telescope is the ZWO Seestar S50 — a compact smart scope with a 50mm aperture, built-in tracking, live stacking, and a phone app that handles everything. It’s not a serious instrument by amateur astronomy standards, but it punches well above its weight for a grab-and-go in a light-polluted city. ...

March 12, 2026

Talking to Your AI: Voice Messages with OpenClaw in Telegram

I’ve been running OpenClaw as my personal AI assistant for a few months now — mostly typing to it. Yesterday I added voice, and it changes the dynamic completely. The setup: 20 minutes, free tier The whole thing runs on ElevenLabs for text-to-speech. The free tier is genuinely enough — you get a generous monthly character allowance, plenty for daily conversational use. Setup steps: Create a free account at elevenlabs.io Grab your API key from the profile settings Add it to your OpenClaw config: "talk": { "provider": "elevenlabs", "providers": { "elevenlabs": { "apiKey": "YOUR_API_KEY_HERE" } } } That’s it. Restart the gateway and voice is live. ...

March 10, 2026

Never Miss a Clear Night: Automated Sky Alerts for My Seestar S50

I got a Seestar S50 — ZWO’s little smart telescope — about a year ago. The hardware is excellent: point it at anything, tap the app, watch the stacking happen live. But there’s an unavoidable problem with amateur astronomy in London: the weather. M31 — the Andromeda Galaxy, our nearest large neighbour at 2.5 million light-years. Seestar S50, 46 minutes integration, July 2025. Dust lanes visible along the disc; M32 satellite galaxy upper right. ...

March 8, 2026

The Silent Killer in AI Automation: Why Your Cron Jobs Need Self-Control

I’ve been running an AI personal assistant (via OpenClaw) for a couple of months now. It checks my emails, sends me a daily news digest, prepares GTD rituals, tracks weather before my morning runs, and does a dozen other things automatically. Last week I noticed something off: I hadn’t received a daily email notification in a while. Not an error. Not a crash. Just… silence. The job was running. The logs looked fine. But nothing was arriving. ...

March 5, 2026

Your AI is Only as Smart as Its Brain

I’ve been running a personal AI assistant for a few months now — handling email triage, GTD rituals, news digests, morning run reminders, and a bunch of other cron-driven automation. It’s genuinely changed how I operate day-to-day. But here’s something I’ve learned the hard way: the model underneath everything matters more than you’d think. The Reasoning Problem At some point I had extended reasoning enabled on my assistant. In theory, this should make responses more thoughtful — the model “thinks before it speaks.” In practice, it made every message reply a slow, verbose rewrite of whatever I’d asked. Inconvenient enough that I just switched it off. ...

February 25, 2026

Building an Advanced Email Filtering System: From Hardcoded Patterns to Machine Learning

Email overload is a modern disease. Hundreds of emails a day, most of them noise. Newsletters you forgot you subscribed to. Marketing emails disguised as personal messages. Bank statements. Gas bills. The occasional important email buried in the flood. I tried fixing this with a simple ignore list. It didn’t scale. This is the story of how I built a multi-layer email filtering system that replaced hardcoded bash patterns with intelligent scoring, security scanning, and adaptive learning. ...

February 21, 2026

OpenClaw Security Hygiene: Updates, Audits, and Plugin Vetting

Running an AI assistant with shell access, file system permissions, and messaging integrations is powerful. It’s also a meaningful security surface. You’re giving a language model the ability to execute commands, read files, and respond to messages on your behalf. This isn’t theoretical risk. If you configure OpenClaw carelessly, you’re handing strangers the keys to your system. Here’s how to run OpenClaw safely: keep it updated, audit it regularly, and vet plugins before you enable them. ...

February 19, 2026

Building an AI & Tech News Digest from Email Newsletters and HackerNews

Keeping up with AI and tech news had become a full-time job. Superhuman AI newsletters, TLDR digests, HackerNews front page, Reddit ML discussions — easily an hour a day just staying current. Information overload disguised as staying informed. I needed a system that would curate the signal from the noise, deliver it on my schedule, and stop the constant context-switching between platforms. The Problem Tech news comes from everywhere: Email newsletters (Superhuman, TLDR) — great curation, but buried in inbox HackerNews — high signal, but requires active browsing Reddit (r/MachineLearning, r/artificial) — community-driven, hit or miss Twitter/X — real-time, but drowns in noise Each source has value, but checking all of them daily is unsustainable. I needed a weekly digest that: ...

February 18, 2026