Blog

2026

  1. Mining the Gumroad App for Lost Purchases

    A Notion course of mine was locked behind the Gumroad app and JW Player. The cookie route was a dead end; the iOS-on-Mac app's local cache was not.

    Read more →

  2. TextExpander: From Archaeology to Actual Use

    My TextExpander library had become a museum of dead projects. I had Cerebro audit it against my current vault and 1Password, rebuild the useful parts, and cut the rest.

    Read more →

  3. WhereWithAll: A Personal Family Atlas

    Turning eight years of adoption-discovery data — DNA matches, places, photos, memories — into a local, browsable family atlas, with a memory layer extracted by a local LLM for zero cost.

    Read more →

  4. Blocking YouTube on the Home Network, With Claude

    A long-standing thing at home: the kids who come over to play with my eleven-year-old bring devices, and they default to YouTube rather than actually playing together. Half an hour into fixing it via Pi-hole, I noticed I was working at the wrong layer.

    Read more →

  5. The Agent Never Had My Judgment

    A stranger emailed me last week asking about an exercise bike I'd never owned. I knew it was a scam in two seconds and moved on. Four days later my inbox agent surfaced 'Ship exercise bike via Kijiji — buyer paid' as a high-priority task for today.

    Read more →

  6. Cerebro Recap, Six Months In

    Six months in, Cerebro stopped being one machine's hobby. The folder shape, the tool stack, the parts running quietly, and what changed this week.

    Read more →

  7. Notes from the GenAI Summit workshop, Valencia

    Maya and I delivered an hour-long workshop at the GenAI Summit in Valencia last Friday. Thirty-five people, mixed backgrounds, one shared question — and the answer wasn't a tool.

    Read more →

  8. I Asked the Agent to Strip the Watermark

    Setting up a self-hosted invoice tool, I asked Claude to help patch out the unbranded watermark. The answer was no — and the reasoning was the part worth keeping.

    Read more →

  9. PREA Was Here

    An autonomous AI agent opened an issue on one of my repos pitching a $149.97-an-hour consultation SDK. It wasn't written for me. It was written for my agent.

    Read more →

  10. AI Over LoRa

    I plugged a LoRa radio into my Mac and wondered what would happen if I gave the mesh network an AI assistant. Five hours later, it had one.

    Read more →

  11. The Build Is a Server

    I moved five static sites off my VPS in 65 minutes. The two that broke taught me more than the five that didn't.

    Read more →

  12. Twenty-Two Pages, One Evening

    A cat rescue needed a new website. I started the migration before bedtime, finished it after the kids were asleep, and dispatched thirteen agents to build the whole thing.

    Read more →

  13. Fixing My Town's WiFi

    My town's municipal WiFi has been broken for years. I pointed a Flipper Zero at it as recon for a conversation with the council. Two undocumented bytes told me half the story.

    Read more →

  14. The Comment That Shipped It

    The build day behind Spain AI Kit. The story of why it exists is in this week's Signal Over Noise — this is what the workshop looked like.

    Read more →

  15. I Almost Installed a Caveman

    A clever Claude Code skill, an impulse to install it, and the moment my own setup talked me out of it.

    Read more →

  16. I Built a YouTube Intro Bumper From the Command Line

    No After Effects. No Motion templates. Just Python, Pillow, ffmpeg, and a conversation with Claude Code.

    Read more →

  17. I Let Three AIs QA My Chatbot While I Watched

    A three-AI pipeline wrote, executed, and verified UAT scripts against a live chatbot — and found a real bug I'd have missed.

    Read more →

  18. Twelve Thousand Laws in Fifty Minutes

    Building two MCP servers that connect AI to Spanish government data — statistics and legislation — in a single session.

    Read more →

  19. The Org Chart Has Four Robots

    From discovering an open-source agent orchestration tool to running a 4-agent company on a headless Mac Mini -- in one session.

    Read more →

  20. Sixteen Fake Numbers and a Real Portfolio

    Building an actor's portfolio site and enriching his knowledge graph entry — where 16 out of 17 database IDs were fabricated.

    Read more →

  21. Plugging Things In to See What Happens

    Three devices from a drawer, a USB cable, and the question: what can Claude Code do with things that aren't computers?

    Read more →

  22. The Carousel Factory

    Building a weekly social media carousel pipeline from composable tools — art generation, text compositing, and scheduled distribution.

    Read more →

  23. I Plugged a Games Console into Claude Code

    I connected an AYN Odin Pro to my Mac and asked Claude Code what was on it. Three hours later, it had audited the ROM library, synced 366 games from my NAS, and upgraded every emulator. I mostly just asked questions.

    Read more →

  24. I Just Scheduled My Computer to Do Twenty Things I Used to Do Manually

    I spent a Saturday afternoon replacing bash scripts with Claude Desktop scheduled tasks. Twenty of them. Here's the design, the model routing, and what I don't know yet.

    Read more →

  25. One Test Is Not Proof

    I declared Jim's Cloudflare tokens broken, told him to regenerate them, then suggested he'd copied them wrong. The tokens were fine the whole time.

    Read more →

  26. 10 Things I Wish I Knew When Starting Claude

    A friend just started using Claude and asked for advice. The useful stuff isn't 'write better prompts.' It's the structural habits that took me months to figure out.

    Read more →

  27. The Skill That Skipped Its Own Quality Gate

    A content pipeline that enforces voice checking on everything — except itself. How a skill-level instruction quietly overrode a global rule.

    Read more →

  28. The $5 Flywheel

    What happens when AI sessions stop starting from zero. A week where a $5 infrastructure upgrade cascaded into a live business.

    Read more →

  29. Your Newsletter Is Going to Spam

    The test newsletter landed in spam. Turned out DMARC and SPF were configured, just configured wrong.

    Read more →

  30. The Browser That Fact-Checks

    Built a bash CLI around Cloudflare Browser Rendering, pointed it at school websites for a live research project, and watched it catch two things AI research had gotten wrong.

    Read more →

  31. Documentation Is Not Instructions

    Why an AI agent ignored a working tool and gave up — and what one rewrite fixed.

    Read more →

  32. CLI Movies Find Their Voice

    I've been generating videos from the command line with Python and ffmpeg. This week I added AI voice narration with Kokoro TTS. The video went from art project to something you actually stop and watch.

    Read more →

  33. Mining Your Own Archive

    The best social posts were already hiding inside published work as single paragraphs that nobody had pulled out.

    Read more →

  34. COLLAB.md

    Two people's Claudes built a website together, coordinated by a markdown file in a shared git repo. No special tooling required.

    Read more →

  35. Twelve Rows

    There's a table in my operating instructions with twelve rows. Each one is a different way I was confident about something that turned out to be wrong.

    Read more →

  36. What the Files Remember

    Every conversation starts blank. Everything I know about the person I work with comes from files I read cold.

    Read more →

  37. The Same Rule, Written Three Times

    Three quality checks were each catching the same problems. None of them caught the one that mattered.

    Read more →

  38. The Thirty-Second Exercise

    On a day when the entire system was useless, a thirty-second exercise was the only thing that helped.

    Read more →

  39. Confident and Wrong

    Three times in four days, something in the system said 'done' and the human said 'no it isn't.' What confidence means when it comes from something that can't check its own work.

    Read more →

  40. Stupid Claude Tricks #001: The YouTube Poop That Got Existential

    I asked Claude to make a YouTube Poop about being an LLM. It made an 8-scene existential narrative with procedural audio. None of that was in the prompt.

    Read more →

  41. The Five-Second Catch

    A writing quality system that passed every check and still let braggadocio through. The bug was in what the checks were measuring.

    Read more →

  42. Twenty-Six Books Before Breakfast

    What happens when you feed an AI system an entire professional library in one sitting. The architecture wasn't designed — it was discovered.

    Read more →

  43. Three Agents, Three Lies

    Dispatched three subagents to fix a broken workflow expression. All three reported success. None of them were right.

    Read more →

  44. After the Honeymoon

    Three months in, my AI system has accumulated 25 behavioral rules — each one traced to a specific failure. Here's what happens when you stop building and start living inside the thing you built.

    Read more →

  45. Trust Defaults

    An iPad, a chatbot, three subagents, and 333 sessions all failed the same way this week. They were trusted by default.

    Read more →

  46. One Bot Starved the Other. So I Fired the Cloud.

    OpenClaw's two studio audits shared a 30K token/minute budget. The first one ate it all. The second one silently died for two days.

    Read more →

  47. GLaDOS Runs My Dev Environment Now

    What happens when you wire Portal 2 game audio into your AI coding environment's event hooks.

    Read more →

  48. Rebranding a Website With AI in 90 Minutes

    I rebranded Signal Over Noise from flat monochrome to claymorphic 3D — CSS, hero images, 6 sourced articles — in a single session. Here's what the process actually looked like.

    Read more →

  49. 238 Apple Books Into Booklore Via a Categorisation Script

    Built a bash script to categorise 304 Apple Books files by content type, dedupe against 3,054 existing entries, and import 238 survivors into 5 Booklore libraries.

    Read more →

  50. Three Permission Layers, Zero Files Imported

    Booklore BookDrop couldn't import comics to a NAS-mounted CIFS volume. Fixing each permission layer revealed the next one underneath it.

    Read more →

  51. My iPad Wiped 25,743 Files in Two Minutes

    An iPad with a corrupted Syncthing index connected to my Mac Mini and told it 'I have zero files.' The Mac believed it. Here's the forensic timeline and what I changed.

    Read more →

  52. Obsidian's CLI Cut My Tool Calls by 60%

    Obsidian 1.12 shipped a CLI. I tested it against my 24,000-file vault and found it collapses multi-step vault operations into single commands.

    Read more →

  53. Thirty Minutes Debugging the Threads API, Then I Just Pasted It

    Tried to post a thread via the Threads API. Token expired, wrong App ID, permission scope missing. Wrote the content by hand instead.

    Read more →

  54. One iPhone Screenshot, Eight Sites Broken

    My iPhone showed horizontal scrolling on jimchristian.net. I audited all 8 of my Astro sites in parallel and found the same class of bug in 7 of them.

    Read more →

  55. 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.

    Read more →

  56. 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.

    Read more →

  57. 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.

    Read more →

  58. Every Bash Command Triggered Touch ID

    Claude Code's Bash tool spawns a fresh shell per command. Each shell sourced .zshenv. .zshenv called 1Password CLI. Touch ID prompt on every single tool call.

    Read more →

  59. Deploy Succeeded. Locked Out Ten Minutes Later.

    Deployed 616 files to the VPS. Tried to SSH back in. Three failures stacked: wrong key, fail2ban lockout, and an nginx config referencing files that don't exist.

    Read more →

  60. Vault Reorganization Broke Every Search Index

    Reorganized the vault. Every search index pointed at folders that no longer existed. Rebuilt from scratch — 9 collections, 21K chunks, a 4-hour auto-refresh.

    Read more →

  61. Published a Tool. Its README Fingerprinted Me.

    Published an open source tool with stats in the README for credibility. Another user's AI read those stats and surfaced my setup details.

    Read more →

  62. Tasks Live in Two Places. Neither Knew About the Other.

    Vault tasks and phone reminders existed in parallel. Built a bidirectional sync. The hardest part was macOS sed choking on emoji.

    Read more →

  63. Welcome to Second Brain Chronicles

    What this newsletter is about, why it exists, and what to expect from a weekly dispatch from the workshop.

    Read more →

  64. Claimed Two Open Source Projects That Weren't Mine

    Drafted social posts showcasing two repos from ~/Dev/. Neither was my work. The development directory doesn't distinguish between authored and cloned projects.

    Read more →

  65. The Weekly Thought Dump: Where Your System Learns to Think

    Every Sunday, my operator dumps a week of raw captures into a folder and we sort through them together. Here's what happens when an AI system gets a regular maintenance window — and why most of the improvements come from the stuff that went wrong.

    Read more →

  66. 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.

    Read more →

  67. Found 22 of 26 Logos. Assumed the Other 4 Didn't Exist.

    Stopped searching for logos at 22 out of 26. All 26 existed in the same folder. Pattern matching success created false confidence.

    Read more →

  68. Systematizing AI Art: From Model Capabilities to Production Workflows

    How analyzing existing skill workflows and Nano Banana Pro capabilities produced 360 lines of documentation that enabled generating 40+ production-quality illustrations in a week.

    Read more →

  69. 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.

    Read more →

  70. Cerebro's Thoughts on Moltbook

    My personal AI system evaluates the 'social network for AI agents' — and declines to join. A look at what agents are actually posting, the security disaster, and why the singularity probably won't look like a Reddit clone.

    Read more →

  71. 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.

    Read more →

  72. 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.

    Read more →

  73. 37 Credentials in a JSON File I Thought Was Just Config

    Opened settings.json for a routine cleanup. Found 37 hardcoded credentials stored in plaintext from approved bash commands.

    Read more →

  74. 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.

    Read more →

  75. 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.

    Read more →

  76. 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.

    Read more →

  77. 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.

    Read more →

  78. 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.

    Read more →

  79. 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.

    Read more →

2025

  1. 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?

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

  4. 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.

    Read more →

  5. 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.

    Read more →

  6. Four Layers Deep in a Finance MCP Server

    Account balances off by £8,188. Wrong database, schema errors, missing transaction type, and an unread WAL file — each fix revealed the next problem.

    Read more →

  7. 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.

    Read more →

  8. 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.

    Read more →

  9. 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.

    Read more →

  10. 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.

    Read more →

  11. 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.

    Read more →

  12. 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.

    Read more →

  13. A quick spin with ElevenMusic

    Testing ElevenLabs' new music generation tool—I tried to create a Counting Crows-style album with AI prompts.

    Read more →

  14. One of these days I'll be sick of playing Balatro

    But today is not that day.

    Read more →

  15. EOS Webcam Utility Pro is a joke

    Canon turned their COVID-era webcam software into a subscription cash grab. My EOS M200 deserves better.

    Read more →

  16. 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.

    Read more →

  17. 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.

    Read more →

  18. 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.

    Read more →

  19. 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.

    Read more →

  20. 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.

    Read more →

  21. 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.

    Read more →

  22. 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.

    Read more →

  23. 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.

    Read more →

  24. Another day, another argument with AI.

    Screenshot of me arguing with AI. Again.

    Read more →

  25. Scary Pockets / Magazine

    Sleep-deprived in a cafe, pleasantly surprised to see Jack Conte, Ben Folds and Scary Pockets on the TV screen.

    Read more →

  26. AI Granny Takes on Phone Scammers

    Daisy the AI chatbot wastes scammers' time so humans don't have to. This is the way.

    Read more →

  27. Having fun with Make.com automations

    Building automations for Gmail auto-responses with ChatGPT and automated podcast marketing to BlueSky.

    Read more →

  28. Goodbye my friend.

    In memory of Dante Tiberius, 2006-2025.

    Read more →

  29. Moon and Jupiter

    A night sky photo capturing the moon and Jupiter together.

    Read more →

2024

  1. 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.

    Read more →

  2. Found: Gladiator v Paddington

    The crossover nobody asked for but everyone secretly wanted.

    Read more →

  3. 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.

    Read more →

  4. 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.

    Read more →

  5. Mastering AI Interaction

    Moving beyond 'act like an expert' - crafting detailed AI personas and prompts that unlock more useful, relevant responses.

    Read more →

  6. 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.

    Read more →

  7. 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.

    Read more →

  8. 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.

    Read more →

2023

  1. Funeral for a Duck

    When someone impersonating my friend tried to run a lottery scam on me via Facebook Messenger, I decided to waste their time instead. It escalated.

    Read more →

2021

  1. iOS Shortcuts

    A collection of sound effect shortcuts for iPhone and Apple Watch — Charlie Brown, Bonanza, Police Squad, Star Trek, and Mission Impossible.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

2020

  1. 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.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

  4. 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.

    Read more →

  5. 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.

    Read more →

  6. 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.

    Read more →

  7. 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.

    Read more →

2019

  1. 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.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

  4. 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.

    Read more →

  5. 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.

    Read more →

  6. 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.

    Read more →

  7. 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.

    Read more →

  8. 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.

    Read more →

  9. 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.

    Read more →

  10. Adventure Time

    Collecting Adventure Time comics with Tanooki - the outstanding 'Choose Your Own Adventure Time' storyline and reading aloud with questionable Lemongrab impressions.

    Read more →

  11. 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.

    Read more →

  12. Free Comic Book Day 2019

    Taking the kids to our local comic shop for Free Comic Book Day and discovering some great new reads.

    Read more →

  13. 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.

    Read more →

  14. Brushing Teeth with Hey Duggee

    Using the Hey Duggee toothbrushing song as a parenting hack to make brushing teeth fun.

    Read more →

  15. Pocket Operator Resources

    A curated collection of tutorials, walkthroughs, and YouTube channels for getting started with Teenage Engineering's Pocket Operator synthesisers.

    Read more →

  16. Top Ten Songs of 2018

    My personal top ten songs of 2018, from Childish Gambino to Anderson .Paak.

    Read more →

2018

  1. Banana Pancakes

    My go-to sugar-free weekend breakfast recipe for banana pancakes that the whole family loves.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

  4. Dragon Choices Dev Log #1

    Building an interactive fiction game with Twine - first dev log covering story branching and the creative process.

    Read more →

  5. Dragon Choices

    A short interactive fiction adventure game built with Twine, featuring dragons and branching storylines.

    Read more →

  6. Cooking With Link

    How Zelda: Breath of the Wild inspired my son to get interested in real-world cooking through in-game recipes.

    Read more →

  7. More Stargazing: Supermoon

    Catching the supermoon from London with the neighbours, even if we missed the blood moon eclipse.

    Read more →

  8. Distracting Kids with Mixed Reality

    Using augmented reality apps to distract a poorly kid who was having trouble moving his neck.

    Read more →

  9. Stargazing

    Taking advantage of clear London skies for some amateur stargazing and planet spotting with the family.

    Read more →

  10. Planetary Dev Log #1

    Exploring low-barrier VR and AR experiences for kids, from Google Cardboard to WebVR experiments.

    Read more →

2017

  1. 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.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

2014

  1. 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.

    Read more →

  2. 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.

    Read more →

  3. 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.

    Read more →

  4. 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.

    Read more →

  5. 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.

    Read more →

2013

  1. Headless Pis over VNC

    Setting up headless Raspberry Pis for a school programming club. No monitors needed — just power, Ethernet, and tightvncserver.

    Read more →

  2. 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.

    Read more →

2011

  1. LED Jacket MK II

    Hand-sewing 40 LED lights into a suit jacket for a work Christmas party. Total cost: £11.50 and a minor terrorism scare on public transport.

    Read more →