All Articles

Webinar: AI Can Do (Most Of) Your Work

Webinar: AI Can Do (Most Of) Your Work

October 2026
AI can now take a decent crack at almost anything you give it. In March I showed how I gave it all my context so it could. Since then I have learned that the real question is which work you should hand over, and which is still yours.
Read more →

Explore a series

All series, including the archive →

More articles

2026

2 Oct - (I Think Whilst) Writing With AI

24 Sep - Ship Like an Engineer Without Writing Any Code

24 Sep - Time To Hire An AI Head

21 Sep - Call It Machine Intelligence

16 Sep - AI Decisions Just Got 100 Times Cheaper

11 Sep - (I Am No Longer) Coding With AI

11 Sep - AI Progress Is Accelerating. Here Is Why It Feels Slow

10 Sep - Webinar: Make Your AI Rollout Stick

9 Sep - Prompt Evals Alone Are Useless

27 Aug - A Thousand Flowers Is Not Enough

19 Aug - Software Factories Can Handle UX

13 Aug - The Harness Is The Bottleneck

28 Jul - Intelligence Cost Is Collapsing

9 Jul - Webinar: What CEOs Must Do Next About AI

30 Jun - Don't Just Give Everyone an AI

23 Jun - Slice Your Job Into Skills

17 Jun - Skills Are Meant For Sharing

5 Jun - Stop Saving Tokens. Start Writing Scripts.

4 Jun - Webinar: Escape the Great AI Lock-In

19 May - I Don't Want an AI God

15 May - Open Models Are Ready

14 May - Webinar: Unblock Your Team

12 May - Polished Consensus Is Boring

10 May - Ralph In One Line, No Setup

7 May - Engineering in 2028

1 May - What To Put In Your AI Knowledge Base

22 Apr - How I Use AI to Code

17 Apr - Truman Would Have Taken Over AI by Now

10 Apr - Build An AI Knowledge Base From Scratch

8 Apr - Ralph Loops Live at AI Engineer Europe 2026

26 Mar - Webinar: AI Has a People Problem

20 Mar - Stop Prompting, Start Briefing

13 Mar - Feedback Is the New Bottleneck

9 Mar - The AI Leadership Lab at CTO Craft

5 Mar - Webinar: Let AI Do Your Work

26 Feb - Lockbox: Constrain Your Bots To Set Them Free

24 Feb - Code Review Is Dying

18 Feb - Your Bot Is Your Responsibility

5 Feb - AI Guardrails Do Not Work (Yet)

5 Feb - Webinar: Ship While You Sleep

3 Feb - Run Claude Code From Your Phone

3 Feb - Don't Let Your CEO Install OpenClaw

2 Feb - Dial-Up AI Is Ending

27 Jan - AI Must Be Line Managed

25 Jan - Skills Are Claude Code's Secret Weapon

21 Jan - AI Is Still Searching for a Home

16 Jan - Where Did My Day Go? A Claude Code Skill for Remembering

15 Jan - Stop AI Stealing From You

14 Jan - Running Ralph Loops Is Easy

13 Jan - Your Agent Orchestrator Is Too Clever

8 Jan - Webinar: Are We Behind in AI?

2025

31 Dec - My AI Predictions for 2026

15 Dec - See Three Kings Of Inference Spar

15 Dec - The Missing Peer Group for AI Leaders

12 Dec - ChatGPT Is Terraforming Earth

9 Dec - The Slow And Dangerous Loss Of Self

8 Dec - OpenAI's Code Red Is Your Window

4 Dec - Why AI-First Teams Still Ship Slowly

27 Nov - AI Slop Is Real. Model Collapse Isn't.

25 Nov - How to React to a New Frontier Model

6 Nov - Claude Code Is For Everything

23 Oct - Who wants a browser?

21 Oct - Which Coding Agent Is Best? (Head-to-Head Test)

16 Oct - Ditch Autocomplete

14 Oct - AI Teams Need Tortoises Not Hares

7 Oct - AgentKit Helps Its Competitors

2 Oct - Why Your AI Output Is Slop

19 Sep - AI Is Consistently Mediocre. That's Why It's Valuable.

4 Sep - How Not to Screw Up Your AI Rollout

29 Aug - Chatbots Are the Wrong Tool for AI Writing

28 Aug - Coding with AI: How To Do It Well And What It Means For The Industry

8 Aug - Independent Coding Agents Aren't Ready

7 Aug - Is AI Unshippable? (Lessons from Doing It)

6 Aug - Doing Real Work with AI Just Became 150x Cheaper

31 Jul - Parallel AI Agents Create Unusable Code

9 Jul - Beyond the Demo: Building LLM Applications That Actually Ship

2 Jul - You Should Kill Your Prompts

6 Jun - AI Needs More From You

5 Jun - The AI Tools Actually Worth Using

24 May - How I Make Complex AI Changes

15 May - Four Hours, One AI App, Many Lessons

12 May - AI Might Save Software Craft

6 May - Hiring Startup Engineers: a field manual

1 May - Graph RAG is the Future

24 Apr - I Built Kaijo to Fix Unreliable AI

22 Apr - The AI Agent Opportunity Is Too Big to Ignore

14 Apr - The AI Climate Panic Is Wrong

7 Apr - Rehearse Hard Conversations with AI

1 Apr - Always Be Unblocking

27 Mar - Why Time Units Beat Story Points Every Time

26 Mar - Startup Success Stories Are Flawed

25 Mar - How To Get Clarity With a New Tech Team

15 Feb - How to Rebrand Your Mobile App (Without Breaking Everything)

10 Feb - How To Avoid Bad Startup Culture

9 Feb - Prompting Sucks (And What We Can Do About It)

22 Jan - Founder mode is emergency surgery

2024

13 Dec - How to Build a Robust LLM Application

6 Dec - Why Hybrid Work Works

1 Dec - The Job Is Not To Build

25 Nov - Your Code Is A Liability

22 Nov - The First Thing A Startup CTO Must Do

19 Nov - Blogging again after a long hiatus

2017

30 Dec - A new adventure

19 Nov - Ealdorlight: A Kickstarter retrospective

6 Jun - Ealdorlight's Kickstarter is live at 4pm today

10 May - How Ealdorlight's story stands out

28 Apr - Ealdorlight Kickstarter on 6th June, Sol Trader 1.3 released

31 Mar - Introducing: Ealdorlight

22 Feb - What's next for Sol Trader and me

6 Jan - How to lead your life

2016

28 Jun - 5 ways I screwed up Sol Trader's launch: a post-mortem

4 May - Extreme YAGNI: How BDD nails your prototyping stage

9 Feb - Gossip: the best new Sol Trader feature for ages

28 Jan - The top 5 space games of 2015

25 Jan - Sol Trader at EGX Rezzed: 7-9 April 2016

12 Jan - The cunning plans of Sol Trader

1 Jan - Full disclosure: Sol Trader conversation upgrades

2015

24 Dec - The Sol Trader Christmas Eve update: moddable missions

2 Dec - New Sol Trader beta: the science of blame and unforgiveness

27 Nov - Modelling opinions and prejudices in Sol Trader

11 Nov - Sol Trader combat preview

2 Oct - Why (I hope) I will weather the Indiepocalypse

21 Sep - Sol Trader Kickstarter now live!

18 Sep - Three days to go

3 Sep - Gossip as a game mechanic

19 Aug - How to add live code reload to your game

1 Aug - Why I wrote Sol Trader's GUI code from scratch

22 Jul - Sol Trader will be at EGX in September!

18 Jul - 3 new screenshots of Sol Trader's new interface

17 Jul - Trailer: How it will feel to move around Sol Trader's cities

24 Jun - How Sol Trader uses information as currency

17 Jun - The difference review and planning makes to indie development

10 Jun - How to quickly add bloom to your game engine

3 Jun - The huge difference a good Entity System could make to your game

27 May - How tone of voice works in Sol Trader's dialogue system

20 May - Never, ever, ever, ever, ever give up

13 May - How dialogue works in Sol Trader

6 May - How face generation works in Sol Trader

28 Apr - How I'm using Proxemics in Sol Trader's game design

22 Apr - Why I ditched all the build tools in favour of a simple script

15 Apr - How to choose between realism and fun in game design

8 Apr - Your abstractions are a liability

1 Apr - How I doubled the speed of my game by giving up on C++

25 Mar - 4 things every space game must have

18 Mar - After a long journey, Sol Trader has been greenlit!

11 Mar - Why video game coders don't use TDD, and why it matters

7 Jan - 7 things I've learnt in 3 years coding my first indie game

7 Jan - New for 2015: Sol Trader now on Kickstarter

2014

2 Dec - Why you can scale agile with the right attitudes

4 Aug - Why BDD works solo, and why that matters for everyone

8 Jul - How not to check in temporary code

7 May - How to decide whether a tool is right for you

16 Apr - 4 questions to discover if you're *really* agile...

14 Apr - How to layer context into your features using Real Narrative

12 Feb - Make Cucumber features more readable with this one weird trick

2013

26 Nov - How to give BDD a chance

19 Nov - BDD Kickstart is dead. Long live...

11 Nov - How I learned to stop worrying and love (some) detailed Cucumber features

7 Oct - Use Markdown to send HTML email via Mutt: now working on iOS mail

19 Sep - The toolchain of dreams

2 Sep - Extreme isolation part 3: coding a CRUD app (with full example)

29 Aug - BDD: How to deal stories into features

9 Aug - Why Continuous Delivery and BDD play so nicely

6 Aug - Introducing Card Pirates

16 Jul - Extreme isolation part 2: separate the domain from the changes

17 Jun - Rack::Usermanual - Cucumber features as in-app user manual

14 May - Slides for "Leading software teams well"

9 May - Extreme isolation in web apps: part 1

26 Apr - Features are documentation, not tests

6 Mar - BDD without tools: testing shell script

7 Feb - The perils of curiosity

21 Jan - "Project velocity is a useless metric." Discuss.

16 Jan - That's not BDD, that's just Cucumber

10 Jan - Dependency injection != Inversion of Control

3 Jan - BDD Kickstart: London and 2013 plans

2012

11 Dec - Cucumber: keeping the build passing

23 Nov - Scenarios are not Acceptance Criteria

15 Nov - Cucumber: the integration testing trap

7 Nov - Should we store state in our steps?

30 Oct - How to write a great story

25 Oct - The simplest Cucumber project ever

4 Oct - Delegated tasks are a team anti-pattern

28 Sep - Your framework is a liability

27 Sep - OStatus: what I've learnt in 24 hours

26 Sep - OStatus: like Twitter, but open

25 Sep - Job titles are a team anti-pattern

21 Sep - Introducing Morning Pages

20 Sep - Never leave a failing test

19 Sep - Cucumber isn't a testing tool

18 Sep - The power of good naming

17 Sep - Showroom software

14 Sep - Task assignment is a team anti-pattern

13 Sep - The power of feedback

27 Jul - Kickstart your team on BDD

15 May - Waxing Lyrical on Pathfinding

14 May - Attempting validated learning with Sol Trader

2 May - Sol Trader now in Alpha

16 Apr - A fresh take on DCI with C++ (with example)

23 Mar - Sol Trader: a continuous deployment story

17 Feb - On coding defensively

14 Feb - Sol Trader: on lighting

2 Feb - Effective bloom in OpenGL for Sol Trader

16 Jan - Switching Sol Trader from Ruby to C++: one week on

8 Jan - Why I switched from Ruby back to C++

3 Jan - Introducing Sol Trader

2011

14 Dec - A cache-busting http server script in ruby

8 Dec - Feature writing: multiple actors

6 Dec - How I'm testing iPhone apps: part 2

1 Dec - How I'm testing iPhone apps: part 1

17 Oct - Your tests are lying to you

15 Sep - Layers of abstraction: writing great cucumber code

12 Sep - Kanogo: vapourware to beta in 24 hours

6 Sep - Pin in the map: customisable pin icons

5 Sep - Layers of abstraction: combining BDD and UX

30 Aug - e-petitions: handling traffic

22 Aug - Work with me

29 Jul - e-petitions: deconstructed

26 May - Lean code: slides and feedback

17 May - Don't miss your greatest achievement

9 May - The Principle of Scattered Work

6 May - On Flow, and Katas

4 May - On Office Politics

18 Apr - Cucumbers with personality

15 Apr - A formula of motivation

12 Apr - Are apprenticeships scalable?

5 Apr - The team is the atomic unit of success

5 Apr - Certification: recommendation mass produced

4 Apr - On the nature of time

1 Apr - Pomodoros help you refactor

31 Mar - Are coding katas really worth it?

30 Mar - Learning to say Yes

29 Mar - Truly indispensable people

28 Mar - Pomodoros done (hopefully) right

25 Mar - Eden Development has closed

2010

16 Nov - How to get Spork working NOW on Rails 3, Rspec 2 and Cucumber

2 Nov - How I'm writing my book using Vim, Git and Ruby

18 Oct - Call for coders: Children's Future International

29 Jul - My Polyphasic Sleep Experiment

22 Jul - Card Of The Day: Actually Do Retrospective Actions

12 Jul - 750words.com + GTD = Focus

23 May - How to test your node.js app

21 May - User Experience Is Everything

16 May - Leancamp Report

12 May - Every Ash Cloud Has A Silver Lining

29 Mar - Announcing edash

22 Mar - Multiple CI Joes with Rack and Passenger

22 Mar - Radiating status at Eden

17 Mar - Five things I learnt from Corey Haines

8 Mar - Archivey the Robot

7 Mar - Introducing Pushy - github notifications to google wave

21 Feb - BBC Talk on A Philosophy of Software

11 Feb - The Story Card Is Not The Story

27 Jan - Pairing works for everything

15 Jan - Driving out feature ambiguity

2009

29 Dec - Old blog articles from yesteryear

23 Dec - R.I.P. Web 1.0

20 Dec - Snakes and Ladders Kata

15 Dec - Craftsmanship vs. Apprenticeship

14 Dec - Jekyll, the blog engine of kings

14 Dec - Welcome

2006

24 Oct - SVG Planner

11 Apr - Spring Richclient ~ That's a wrap

1 Apr - Spring Richclient ~ A Journey

9 Mar - Spring Richclient ~ Session Eight ~ Such a bind

2 Mar - Spring Richclient ~ Session Seven ~ Beating the Command Framework into Submission

16 Feb - TDD ~ The Tortoise and the Hare

10 Feb - Spring Richclient ~ Session Six ~ The View

3 Feb - Spring Richclient ~ Session Five ~ Applications, windows, views

28 Jan - Spring Richclient ~ Session One ~ Beans, Shmeans and services

26 Jan - Spring Richclient ~ Session Three ~ How did that work then?

24 Jan - Spring Richclient ~ Session Two ~ Hello World

23 Jan - Spring Richclient ~ Session One ~ Making Petclinic work

23 Jan - Spring Richclient ~ Introduction