2026
Obsidian CLI + Claude Code: Fewer Tool Calls, Faster Vault Operations
Obsidian 1.12 ships a CLI that talks to the running app. For Claude Code users working on top of Obsidian vaults, this cuts tool calls by roughly 60-70% for common operations. Here's how to set it up and what changes.
Three Open Source Updates, One Friday
A community-contributed calendar performance fix, a media server bug squash, and a Goodhart's Law check for AI project metrics. All shipped today, none of them planned.
claude-art-skill: A Visual Content System for Claude Code
I built a complete image generation system for Claude Code that lives in ~/.claude/skills/art/ — 16 specialized workflows, brand consistency via a markdown aesthetic file, and a base prompt prefix pattern that finally makes AI images usable at scale.
Your Claude Code Setup Is Quietly Breaking
I ran a diagnostic on my 200+ component Claude Code ecosystem and found 17 critical issues hiding in plain sight. Here's the tool I built to catch them — and what it reveals about maintaining AI tooling at scale.
Vibecoding a Theme Switcher and More with Claude
A live coding session where I pair-programmed with Claude to add a theme switcher, social sharing, drop caps, and fix a bunch of contrast issues. Chaos ensued.
I Built a Weather System, Then Deleted It All
I spent an evening building CSS weather overlays for my site's hero images — rain, fog, night tinting. Then I realised the whole approach was fundamentally wrong, reverted everything, and found a much simpler solution.
Rebuilding My Site: From WordPress to a Static Astro Site with AI
How I migrated from WordPress to Astro, imported years of content, set up redirects, defined a claymorphic design system, and built an AI agent to help me develop websites.
AI As a Co-Operating System
Most people use AI as a tool. I use it as an operating system — one that runs alongside me, not just for me. Here's how I built Cerebro.
The AntiSlop: Open Source AI Writing Detection That Actually Fixes Things
I've released The AntiSlop — a Claude Code skill that detects 35+ AI writing patterns and rewrites the problems. Not just detection. Fixes.
Claude Code "Lessons Learned" Skill
Every mistake is a chance to make your Claude Code setup smarter—if you capture the lesson right. The Lessons Learned skill runs a 7-phase retrospective that doesn't just analyze what went wrong, it implements the fix before you move on.
My MCP Server Collection for Claude Code
I've released eight MCP servers that connect Claude to services I use daily—calendar, email marketing, analytics, media management, and more. Here's the full collection.
The Borg Agent: Stop Copying Claude Code Skills Blindly
I built a Claude Code agent that analyses external Claude setups and intelligently assimilates their features into your system. It handles naming conflicts, missing dependencies, and adaptation automatically.
Voice Editor: A Claude Code Skill for Authentic AI Writing
I built a Claude Code skill that transforms generic AI output into writing that sounds like me. Here's how the 6-pass editing workflow works and why the 30-40% edit rule matters.
2025
Building Book-Powered AI Agents with Calibre and Claude Code
Web search is great for current events. But when you need depth — the kind of insight that comes from a carefully curated book collection — web results fall short. What if your AI agents could search your personal library instead?
Teaching Claude to Read My Book Collection
I built a system to index my 1,700 ebook Calibre library into ChromaDB so Claude can search my actual books instead of paraphrasing from general knowledge.
Building an AI-Powered WordPress Publishing Pipeline with Claude Code
I built a WordPress plugin and MCP server that lets Claude publish directly from Obsidian to my blog. Draft, tell Claude to publish, done.
From Remote Access to Agentic OS: Two Weeks with Claude Code
What started as remote terminal access to my Obsidian vault evolved into something like an operating system—specialised agents, MCP servers, and automated workflows.
Signal Over Noise Themes for Ghostty and Obsidian
I created matching themes for Ghostty terminal and Obsidian with a mid-century modern palette—teal, burnt orange, and cream. Here's the colour system and how to install them.
Updating my Claude setup to support remote work
I set up Claude Code on my home server with Tailscale and Syncthing so I can access my Obsidian vault from anywhere—iPad, phone, or any device with a terminal.
Behind the Screens: Optimising My Newsletter With AI
I spent an hour with Comet and Claude auditing a year's worth of Signal Over Noise newsletter strategy—timing, audience, and growth opportunities.
Outdoor Summer Cinema
We took the kids to see Pixar's Elio at our local outdoor cinema. Bats flickering through the projector beam as the moon rose—properly magical.
Cold Brew With Lemon and Dalgona at Home: Simple Summer Coffee Experiments
Valencia hit 40°C so I traded hot coffee for cold brew with lemon and 2-minute Dalgona whipped coffee over ice.
Perplexity does video generation now
Testing Perplexity's new video generation—I asked it to make me go Super Saiyan and achieve my final form. Plus eating spaghetti.
Thoughts on Claude
Notes on using Claude with MCP servers, Obsidian, and Things 3—including why I have to remind Claude what time it is.
One of these days I'll be sick of playing Balatro
But today is not that day.
A quick spin with ElevenMusic
Testing ElevenLabs' new music generation tool—I tried to create a Counting Crows-style album with AI prompts.
EOS Webcam Utility Pro is a joke
Canon turned their COVID-era webcam software into a subscription cash grab. My EOS M200 deserves better.
Creating my tone of voice with Claude
I gave Claude my book manuscript and asked it to create a writing style guide. It came back with 2,500 words capturing how I actually write.
Behind the Screens - generating a comic with Sora
I used Sora to generate a four-panel comic illustrating AI's mechanical writing patterns for my newsletter on spotting AI-generated text.
Scaling back to WordPress
I'm leaving Squarespace for WordPress. I want to write locally in Obsidian and automate publishing—something Squarespace just can't do.
Remote Resilience Hub Wins at Hack the Future 2025
Our team won at the Hack the Future climate resilience hackathon in Tallinn—we built a toolkit to support Valencia's remote workers during crises like floods and power outages.
Photo Journal - Tallinn
Late arrival into Tallinn after a Munich layover, Eurovision on the radio, and a driver who'd be back at 2am for the Turkey flights.
Snickernomics
I tracked Snickers prices across my Estonia trip—€4.49 in Valencia airport, €2.00 in Tallinn Station, €1.99 in Frankfurt. Airport markup is real.
Using ChatGPT to Untangle My Web Hosting Costs
My hosting invoices were a mess of active domains, abandoned projects, and mystery services. I used ChatGPT to finally audit what I was paying for.
I Let OpenAI's New Terminal Agent Fix My Media Server
OpenAI's Codex CLI analyzed and fixed my media server configuration with natural language commands. Saved me hours of manual debugging.
Another day, another argument with AI.
Screenshot of me arguing with AI. Again.
Scary Pockets / Magazine
Sleep-deprived in a cafe, pleasantly surprised to see Jack Conte, Ben Folds and Scary Pockets on the TV screen.
AI Granny Takes on Phone Scammers
Daisy the AI chatbot wastes scammers' time so humans don't have to. This is the way.
Having fun with Make.com automations
Building automations for Gmail auto-responses with ChatGPT and automated podcast marketing to BlueSky.
Goodbye my friend.
In memory of Dante Tiberius, 2006-2025.
Moon and Jupiter
A night sky photo capturing the moon and Jupiter together.
2024
Photo Journal - London
Flying over flood-devastated Riba-Roja, pub dinners in Brook Green, goofy shots with my nephew, and working on the newsletter at 35,000 feet.
Found: Gladiator v Paddington
The crossover nobody asked for but everyone secretly wanted.
The Rise of Bluesky: A Privacy-Focused Alternative in the Social Media Landscape
Bluesky's post-election surge and commitment to not using content for AI training marks a shift in what users expect from social platforms.
Gaining Visibility in AI-Driven Results
SEO is evolving into GEO - generative engine optimisation. How to make your content visible in ChatGPT and Perplexity responses.
Mastering AI Interaction
Moving beyond 'act like an expert' - crafting detailed AI personas and prompts that unlock more useful, relevant responses.
Can You Outsmart a Troll by Thinking Like One?
Learning to identify misinformation by playing the Bad News game - stepping into the shoes of a disinformation producer to build mental defenses.
The AI Search Race
ChatGPT's new search features signal a shifting landscape, but Perplexity's head start shows OpenAI isn't the only player in the AI search game.
The Tanya Tate Romance Scam
When a romance scammer posing as an adult film star tried to catfish me on Google Chat, I kept them talking for two weeks. It did not go well for them.
2023
2021
iOS Shortcuts
A collection of sound effect shortcuts for iPhone and Apple Watch — Charlie Brown, Bonanza, Police Squad, Star Trek, and Mission Impossible.
iOS Shortcuts: Personal Soundtrack
Three Apple Watch shortcuts that play sound effects through the speaker — sad Charlie Brown music, the Bonanza theme for horsey rides, and the Police Squad intro for making an entrance.
iOS Automation: Set Random Wallpaper Every Day
A simple iOS Shortcuts automation that changes your lock screen wallpaper every morning to a random photo from a shared family album.
2020
Four Quick Links for Tuesday
Elmer Fudd loses his gun, African tales streamed from home by Unicorn Theatre, the Hive Pocket board game, and teaming up in Minecraft Dungeons.
Building a Tadpole Camera with Raspberry Pi
Setting up a live camera feed on tadpoles using a Pimoroni Octocam kit and MotionEye OS - broadcasting to Tanooki's schoolfriends as part of their unit on Living Things.
Origami Foxes
Recording an origami fox tutorial for Tanooki's schoolmates during lockdown - tying into the maths topic on symmetry with a fun hands-on activity.
A Week with the Magic Keyboard for iPad Pro 12.9
First impressions after a week with Apple's Magic Keyboard for the 12.9-inch iPad Pro - covering typing, trackpad, viewing angles, USB-C passthrough and the missing Escape key.
Don't Squish the Fish
Resuming morning notes during the UK lockdown - finding regularity and sanity in small routines while juggling three kids learning from home.
Work from Home, Stay Productive, Stay Sane
Practical advice for working from home during the Covid-19 outbreak. Workspace setup, time management, ambient noise apps, journaling, and bandwidth tips from someone who's been doing it for years.
Spies in Disguise
A fun family cinema trip over the Christmas holidays - Will Smith and Tom Holland find non-lethal ways to save the world, and morning notes resume for the new year.
2019
Slack-like Emoji on macOS and iOS with MacMoji
MacMoji brings Slack-style inline emoji typing to all your Apple devices - a dead simple productivity extension that syncs across devices via text replacement.
A New Spin on Playing Pokemon
Inventing simplified Pokemon card game rules with role-playing dice - teaching maths, scorekeeping, and managing bedtime expectations through creative gameplay.
Apple Watch Tickle Detector
Inventing a bedtime routine hack using the Apple Watch flashlight as a 'tickle detector' with three states - standby, scanning, and error mode.
I Am a Horrible Goose
Untitled Goose Game is a delightful masterpiece born from a workplace Slack joke - terrorising a young boy, stealing his glasses, and honking with glee.
Using the JBL Clip 3 Portable Bluetooth Speaker
A review of the JBL Clip 3 - a rugged, waterproof portable speaker with a built-in carabiner that's become indispensable for school runs, kitchen listening and daily life.
Mad Libs with Twine
Exploring where coding and literature intersect - recreating the classic Mad Libs car game in Twine to teach coding basics like variables.
Parenting with Old Technology
Using an old iPod Classic, iPlayer downloads and a conversion pipeline to give a toddler screen-free entertainment — without resorting to burning CDs like it's the late nineties.
Listening: Bryant Oden
Discovering the huge body of work behind 'The Duck Song' - Bryant Oden's Songdrops albums are packed with brilliant sing-along songs for pre-schoolers.
Speaking at the Bradford Literature Festival 2019
Speaking about How to Think Like a Coder and coding-related topics at the Bradford Literature Festival, a cultural and literary extravaganza celebrating the written and spoken word.
Adventure Time
Collecting Adventure Time comics with Tanooki - the outstanding 'Choose Your Own Adventure Time' storyline and reading aloud with questionable Lemongrab impressions.
Yoshi's Crafted World (Switch)
A charming co-op game for the Nintendo Switch that's perfect for playing with kids - text-heavy dialogue, no time limits, and genuinely fun for adults too.
Free Comic Book Day 2019
Taking the kids to our local comic shop for Free Comic Book Day and discovering some great new reads.
I Think You Should Leave
A quick binge of Tim Robinson's hilariously unhinged Netflix sketch show - insanely funny and definitely not one for the kids.
Brushing Teeth with Hey Duggee
Using the Hey Duggee toothbrushing song as a parenting hack to make brushing teeth fun.
Pocket Operator Resources
A curated collection of tutorials, walkthroughs, and YouTube channels for getting started with Teenage Engineering's Pocket Operator synthesisers.
Top Ten Songs of 2018
My personal top ten songs of 2018, from Childish Gambino to Anderson .Paak.
2018
Banana Pancakes
My go-to sugar-free weekend breakfast recipe for banana pancakes that the whole family loves.
Google Assistant and Porn Blocking on Raspberry Pi
Building a Google AIY Voice Kit with a three-year-old, then using Pi-Hole to block ads and inappropriate content across the entire home network.
8BitDo Wireless Controllers for Nintendo Switch
A recommendation for the 8BitDo N30 Pro wireless controller as a great alternative to Joy-Cons for the Nintendo Switch.
Dragon Choices Dev Log #1
Building an interactive fiction game with Twine - first dev log covering story branching and the creative process.
Dragon Choices
A short interactive fiction adventure game built with Twine, featuring dragons and branching storylines.
Cooking With Link
How Zelda: Breath of the Wild inspired my son to get interested in real-world cooking through in-game recipes.
Distracting Kids with Mixed Reality
Using augmented reality apps to distract a poorly kid who was having trouble moving his neck.
More Stargazing: Supermoon
Catching the supermoon from London with the neighbours, even if we missed the blood moon eclipse.
Stargazing
Taking advantage of clear London skies for some amateur stargazing and planet spotting with the family.
Planetary Dev Log #1
Exploring low-barrier VR and AR experiences for kids, from Google Cardboard to WebVR experiments.
2017
How to Think Like a Coder (Without Even Trying!)
A back-to-basics guide on coding for absolute beginners. Shortlisted for the ALCS Educational Writer's Award 2018 and selected as Book Aid International's Book of the Month.
Raspberry Pi Pirate Radio
Broadcasting music and read-along stories to a Fisher Price radio over FM using a Raspberry Pi. A fun weekend project for controlling what your kids listen to.
Send More
A short story about an intergalactic robot named Bob, generated from Rory's Story Cubes. Written during commutes over the space of a week.
2014
The Sad Decline of the London Trocadero
Pepsi Max Drop, Quasar laser tag, MechWarrior VR in the basement. The Trocadero was where we blew our allowances. Visiting its ghost was always a disappointment.
Kids and Computers in the 80s vs Today
The 'digital native' myth is inexcusable bullshit. A 1984 Sesame Street episode and a modern Kids React video prove we're all immigrants and natives at the same time.
3D Scanning LEGO R2D2 into Minecraft with an Xbox 360 Kinect
Using an Xbox 360 Kinect, Skanect, binvox and MCEdit to 3D scan a LEGO R2D2 and drop it into a Minecraft world. Also: scanning kids' heads and 3D printing them.
Daily Logging with Launch Center Pro, Drafts and Day One
A semi-automated daily journaling workflow across iPhone, iPad and Mac using Launch Center Pro, Editorial, Drafts, Dropbox and Day One.
My Automation and Workflows
A 2014 deep-dive into the automation toolkit: Editorial, Hazel, Launch Center Pro, Keyboard Maestro, Slogger, Drafts, and the glue that holds it all together.
2013
Headless Pis over VNC
Setting up headless Raspberry Pis for a school programming club. No monitors needed — just power, Ethernet, and tightvncserver.
Welcome Robot at Stanford
An iPad-only stop-motion animation made during lunch break that ended up in a Stanford University talk. Take that, 'consumption device' argument.