Recent Posts
Struggling with AI coding agents
→
// 42 words on 15 March 2026.
Optimizing Content for Agents
→
// 74 words on 14 March 2026.
My Disability
// 72 words on 14 March 2026.
2026 Archive
OSINT Tools
// 150 words on 9 March 2026.
The web is bearable with RSS
→
// 202 words on 8 March 2026.
1Password is going up in price
→
// 145 words on 2 March 2026.
Monthly Mixtape - Feb 2026
// 196 words on 27 February 2026.
Never Buy an .online Domain
→
// 88 words on 25 February 2026.
How fast did ME develop for you?
// 94 words on 24 February 2026.
GDPR is a failure
→
// 95 words on 23 February 2026.
The AI Vampire
→
// 285 words on 22 February 2026.
Release Version 1.7
// 315 words on 21 February 2026.
Quoting Jim Nielsen on Apple
→
// 14 words on 30 January 2026.
Politics and the English Language
→
// 76 words on 30 January 2026.
Backseat Software
→
// 92 words on 30 January 2026.
Monthly Mixtape - Jan 2026
// 194 words on 23 January 2026.
2026 the year of micro apps
→
// 122 words on 16 January 2026.
2025 Archive
Monthly Mixtape - Dec 2025
// 209 words on 20 December 2025.
Monthly Mixtape - Nov 2025
// 221 words on 30 November 2025.
Keeping it simple
→
// 26 words on 30 November 2025.
Good engineering management is a fad
→
// 268 words on 30 November 2025.
Cash ISA cut – devil in the detail
→
// 74 words on 30 November 2025.
Monotype font licencing shake-down
→
// 20 words on 20 November 2025.
Monthly Mixtape - Oct 2025
// 236 words on 26 October 2025.
Key Offers for October 2025
// 122 words on 24 October 2025.
“What to Do When Before You Die”
// 501 words on 21 October 2025.
Hacker Laws
→
// 37 words on 13 October 2025.
Diagnosis
// 66 words on 13 October 2025.
Free the web
// 215 words on 9 October 2025.
Why NetNewsWire Is Not a Web App
→
// 67 words on 5 October 2025.
Recommended RSS readers
→
// 74 words on 5 October 2025.
Monthly Mixtape - Sep 2025
// 174 words on 5 October 2025.
Apple on the Digital Markets Act
→
// 64 words on 4 October 2025.
Myalgic encephalomyelitis (ME/CFS)
→
// 500 words on 1 October 2025.
Wake-Up Call
→
// 56 words on 23 September 2025.
Apple Sports expands
→
// 61 words on 23 September 2025.
Monthly Mixtape - Aug 2025
// 218 words on 9 September 2025.
Talk on Burner Phones
→
// 611 words on 25 August 2025.
Castro adds device sync
→
// 117 words on 12 August 2025.
Monthly Mixtape - July 2025
// 117 words on 2 August 2025.
Kill the Newsletter!
→
// 188 words on 2 August 2025.
Phone battery issues
// 318 words on 29 July 2025.
Dia Browser Takes
// 234 words on 29 July 2025.
Tomoz App Launched
// 46 words on 27 July 2025.
Rebranding and design costs
→
// 226 words on 2 July 2025.
Natural Language Web
→
// 75 words on 29 June 2025.
Context engineering
→
// 73 words on 29 June 2025.
New GitHub Copilot limits
→
// 53 words on 27 June 2025.
Build for the Web
→
// 119 words on 25 June 2025.
Ongoing Offers- June 2025
// 117 words on 19 June 2025.
Monthly Mixtape - June 2025
// 171 words on 19 June 2025.
Announcing Hiyd Extension
// 75 words on 19 June 2025.
Context Rot from AI
→
// 165 words on 19 June 2025.
Hiyd Release version 1.1.0
// 37 words on 16 June 2025.
Announcing my first iOS app
// 115 words on 11 June 2025.
The promise that wasn’t kept
→
// 203 words on 8 June 2025.
Moving from Notion to Obsidian
→
// 119 words on 8 June 2025.
It is not your codebase
→
// 116 words on 8 June 2025.
Text is the new gold.
→
// 243 words on 8 June 2025.
Markdown export in Apple Notes
→
// 46 words on 8 June 2025.
Sam and Jony introduce io
→
// 77 words on 2 June 2025.
It is the System Stupid
→
// 214 words on 2 June 2025.
Octopus doubles down on Seccl
→
// 32 words on 21 May 2025.
Quoting Bryan Finster
→
// 118 words on 15 May 2025.
Developers as Suppliers
→
// 90 words on 15 May 2025.
Monthly Mixtape - May 2025
// 151 words on 7 May 2025.
Change is a constant
»
// 40 words on 4 May 2025.
Attitude is a choice
»
// 35 words on 4 May 2025.
Redis is Open Source again
→
// 100 words on 1 May 2025.
Giving software away for free
→
// 212 words on 1 May 2025.
RSS Feed Generation
// 222 words on 28 April 2025.
People are not good at maths
→
// 86 words on 28 April 2025.
Lyrical juxtaposition
// 77 words on 18 April 2025.
AI crawler wars threaten the web
→
// 191 words on 8 April 2025.
Lessons learned by Emmett Shear
→
// 684 words on 6 April 2025.
Time Management
// 381 words on 5 April 2025.
The Evolution of Management
→
// 325 words on 5 April 2025.
TDD where did it all go wrong?
→
// 1702 words on 5 April 2025.
Ask for Advice Not Permission
→
// 528 words on 5 April 2025.
Amazon Leadership principles
→
// 786 words on 5 April 2025.
57 startup lessons
→
// 1673 words on 5 April 2025.
44 engineering management lessons
→
// 1133 words on 5 April 2025.
Start with Why by Simon Sinek
// 955 words on 4 April 2025.
Mob Programming Patterns
→
// 774 words on 4 April 2025.
Meditations by Marcus Aurelius
// 780 words on 4 April 2025.
How I split stories
→
// 52 words on 4 April 2025.
Grit by Angela Duckworth
// 779 words on 4 April 2025.
Using GitHub CoPilot
// 218 words on 3 April 2025.
Is Raycast still European-owned
→
// 61 words on 2 April 2025.
Human sorting improved
→
// 111 words on 2 April 2025.
Monthly Mixtape - April 2025
// 200 words on 1 April 2025.
Incomplete JSON Pretty Printer
→
// 41 words on 29 March 2025.
A plea for pragmatic ambition
→
// 269 words on 29 March 2025.
Great piece from Chase McCoy
→
// 155 words on 26 March 2025.
Check Your Public IP Address
// 45 words on 26 March 2025.
Software Engineering Problems
// 144 words on 24 March 2025.
Football Narratives
// 633 words on 23 March 2025.
Boys need role models
→
// 67 words on 19 March 2025.
Pitching for equality
→
// 62 words on 16 March 2025.
In Praise of Normal Engineers
→
// 46 words on 16 March 2025.
How I manage my todos as a CEO
→
// 199 words on 16 March 2025.
Monthly Mixtape - March 2025
// 140 words on 28 February 2025.
Optimising for Teams
// 156 words on 24 February 2025.
Optimising for Speed and Quality
// 465 words on 24 February 2025.
Optimising for Learning
// 110 words on 24 February 2025.
Optimising for Alignment
// 87 words on 24 February 2025.
Dora Assessment Template
// 306 words on 24 February 2025.
Resilient Management
// 5908 words on 23 February 2025.
Monthly Mixtape - Feb 2025
// 145 words on 23 February 2025.
The Lean Startup
// 4751 words on 23 February 2025.
State of the Castro app 2024
→
// 128 words on 21 February 2025.
The Wheel of Life
// 93 words on 18 February 2025.
The five-minute coach framework
// 514 words on 18 February 2025.
Sprint Review Q and A
// 467 words on 18 February 2025.
One-to-one Checklist
→
// 954 words on 18 February 2025.
The Johari Window
// 273 words on 18 February 2025.
Four Stages of Competence
// 226 words on 18 February 2025.
Four habits that derail listening
// 291 words on 18 February 2025.
Five step coaching habit
// 153 words on 18 February 2025.
Confidence and Competence
// 120 words on 18 February 2025.
Monkey Management
// 454 words on 17 February 2025.
The Discovery Questionnaire
// 276 words on 17 February 2025.
PRACTICE coaching Model
// 652 words on 16 February 2025.
Seven Coaching Questions
// 110 words on 16 February 2025.
Leadership is Language
→
// 340 words on 16 February 2025.
DORA Key Capabilities
// 1372 words on 16 February 2025.
GOOD one-to-one template
// 126 words on 16 February 2025.
First one-to-one
// 134 words on 16 February 2025.
Energy Investment Model
// 260 words on 16 February 2025.
BICEP core needs
→
// 346 words on 16 February 2025.
Netflix and Apple TV
→
// 67 words on 15 February 2025.
Measure team health with Petals
→
// 86 words on 15 February 2025.
Heat Death of the Internet
→
// 120 words on 15 February 2025.
Better by next Friday
→
// 102 words on 15 February 2025.
The Newman List
»
// 415 words on 11 February 2025.
K is for K.I.S.S.
→
// 90 words on 10 February 2025.
Introducing slash green
// 67 words on 10 February 2025.
How To Create Your Own Luck
→
// 348 words on 10 February 2025.
Castro adds transcript support
→
// 56 words on 8 February 2025.
Raycast Adds Hyperkey
// 80 words on 4 February 2025.
What Makes a Good Team
→
// 126 words on 1 February 2025.
Public Statement
// 37 words on 1 February 2025.
How to Write Good Runbooks
→
// 82 words on 1 February 2025.
Load the default OS font with CSS
→
// 149 words on 26 January 2025.
GOV Forms through the ages
→
// 80 words on 19 January 2025.
Magic Links and Passkeys
→
// 382 words on 6 January 2025.
Budgetary ideas for 2025
// 80 words on 4 January 2025.
Picks of the year 2024
// 301 words on 1 January 2025.
2024 Archive
Make the state more like a start up
→
// 240 words on 29 December 2024.
Fixing DNS and MX records with Cybaa
→
// 102 words on 20 December 2024.
SMURF Beyond the Test Pyramid
→
// 68 words on 9 November 2024.
GOVForms in motion
→
// 41 words on 7 November 2024.
Interviewing for Evidence
→
// 82 words on 31 October 2024.
If you use JavaScript
→
// 106 words on 29 September 2024.
Castro Podcast app is back
→
// 62 words on 29 September 2024.
Apple silicon Mac mini 5 port
→
// 62 words on 29 September 2024.
Women's super league broadcasting
// 112 words on 29 September 2024.
WhatsApp channel launched
// 10 words on 17 September 2024.
In Praise of Small Pull Requests
→
// 451 words on 14 September 2024.
Printing music with CSS Grid
→
// 82 words on 8 May 2024.
Finding an ISDN in Drafts
// 15 words on 7 May 2024.
Jokes about Job Searching
// 172 words on 27 March 2024.
Observations of Leadership
→
// 115 words on 10 March 2024.
Managing Technical Debt
→
// 83 words on 10 March 2024.
2023 Archive
Canon TDD - by Kent Beck
→
// 71 words on 17 December 2023.
Zwift Annual Memberships
→
// 59 words on 6 December 2023.
More news on Castro.
→
// 47 words on 2 December 2023.
Podcast app Castro may be dying
→
// 275 words on 30 November 2023.
This morning in my work email
→
// 75 words on 13 November 2023.
Candidate Interview questions
// 82 words on 1 November 2023.
Do one small high quality thing
»
// 15 words on 21 October 2023.
The Worst Programmer I Know
→
// 114 words on 13 October 2023.
Learn and Test DMARC
→
// 36 words on 8 October 2023.
Recipe - Lentil Bolognese
// 79 words on 3 September 2023.
Job titles by age
// 35 words on 3 September 2023.
Donner Dinner Party Game
// 28 words on 3 September 2023.
Competence Quote
»
// 119 words on 3 September 2023.
Gloucester council data breach
→
// 56 words on 12 August 2023.
A Beginners Guide to API Testing
→
// 53 words on 12 August 2023.
Offshore fund used by Roman
→
// 2 words on 14 July 2023.
10 Money Rules for Everyone
// 527 words on 13 July 2023.
Deleted Reddit account
// 30 words on 17 June 2023.
Curated interview process
// 833 words on 23 May 2023.
12 QA Interview questions
// 173 words on 14 April 2023.
The Making of a Manager
→
// 44 words on 7 April 2023.
2022 Archive
100 ways to improve your life
→
// 37 words on 10 December 2022.
Some ways to get better at debugging
→
// 92 words on 17 September 2022.
Free share offer
→
// 24 words on 3 September 2022.
Thinking in Bets
→
// 69 words on 24 July 2022.
Seccl hires Adam Jones as CTO
→
// 55 words on 21 July 2022.
Career checkup template
→
// 52 words on 12 June 2022.
Start test names with should
→
// 230 words on 6 June 2022.
We need to talk
// 354 words on 6 June 2022.
Handling Defects
// 88 words on 27 May 2022.
Math support in Markdown
→
// 49 words on 21 May 2022.
Gender pay gap at UK unicorns
→
// 43 words on 16 May 2022.
UO is just as important as UX
→
// 34 words on 15 May 2022.
Agile User Story Estimation
→
// 33 words on 15 May 2022.
Agile Team Tooling
// 32 words on 13 May 2022.
Service cookbooks
→
// 142 words on 8 May 2022.
The Anatomy of a one-to-one
→
// 66 words on 7 May 2022.
Psychological Safety
→
// 33 words on 7 May 2022.
Personal Development Plans
→
// 47 words on 7 May 2022.
Exit Interviews Are a Trap
→
// 66 words on 7 May 2022.
Wildcard proxy for everyone
→
// 39 words on 6 May 2022.
The Not Doing List
→
// 111 words on 6 May 2022.
Those Get The App Banners
→
// 39 words on 2 May 2022.
Charles' Rules of Argument
→
// 18 words on 2 May 2022.
Laws of the Game
// 58 words on 2 May 2022.
Questions for the Team
→
// 33 words on 1 May 2022.
Email Routing Insights
→
// 58 words on 1 May 2022.
Shift Left Security
→
// 72 words on 30 April 2022.
Tests should build confidence
→
// 129 words on 25 April 2022.
Running My Business From an iPad
→
// 79 words on 25 April 2022.
Why checking an AC isn’t enough
→
// 62 words on 24 April 2022.
Dragon Age Induction Board
→
// 17 words on 24 April 2022.
A Personal Growth Framework
→
// 75 words on 23 April 2022.
Highway Maintenance
// 650 words on 17 March 2022.
New year, new career
// 1305 words on 28 January 2022.
Vegan Cheesecake
// 156 words on 3 January 2022.
2021 Archive
Typescript For Pythonistas
// 9 words on 20 December 2021.
The Bank Switch Dance
// 544 words on 25 November 2021.
Runbooks and Playbooks
// 126 words on 7 May 2021.
2020 Archive
YouTube video workflow
// 73 words on 22 December 2020.
Everyday health rules
// 63 words on 17 December 2020.
List sorting tool
// 12 words on 11 October 2020.
Regular expressions tool
// 21 words on 11 October 2020.
Reverse lines online tool
// 5 words on 4 October 2020.
Learning Classes in Python
// 357 words on 5 September 2020.
2019 Archive
2018 Archive
Creamy Vegan Potato Leek Soup
// 381 words on 12 December 2018.
Michy hits double figures
// 28 words on 28 January 2018.
Youth players feature
// 33 words on 28 January 2018.
Willian makes 50
// 23 words on 24 January 2018.
Chelsea take early control
// 38 words on 24 January 2018.
Hazard nets 100 and 101
// 20 words on 24 January 2018.
Chelsea draw 3 straight
// 25 words on 15 January 2018.
Alvaro big chances
// 28 words on 4 January 2018.
Pedro from range
// 18 words on 1 January 2018.
Spanish scorers continue
// 35 words on 1 January 2018.
Willian versus Stoke
// 23 words on 1 January 2018.
Chelsea out shoot Stoke
// 15 words on 1 January 2018.
Books read in 2017
// 129 words on 1 January 2018.
2017 Archive
Cycle time - a metric for scrum
// 113 words on 21 December 2017.
Types of DevOps metrics
// 90 words on 21 December 2017.
Top Apps for 2017
// 114 words on 21 December 2017.
Slow down in scrum
// 125 words on 21 December 2017.
JavaScript cheatsheets
// 8 words on 21 December 2017.
Cesar passing numbers
// 33 words on 15 December 2017.
Chelsea face Barcelona again
// 25 words on 11 December 2017.
Messi against Chelsea
// 21 words on 11 December 2017.
Morata heads above
// 31 words on 3 December 2017.
Azpilicueta passing stats
// 24 words on 3 December 2017.
Chelsea out shoot Swansea
// 22 words on 30 November 2017.
Cesar Azpilicueta consistency
// 19 words on 25 November 2017.
Willian super sub
// 26 words on 25 November 2017.
Liverpool denies Conte
// 21 words on 25 November 2017.
Hazard dribbles against Liverpool
// 19 words on 25 November 2017.
Morata sets Chelsea record
// 30 words on 24 November 2017.
Chelsea Ladies reach last eight
// 28 words on 15 November 2017.
The Case For RSS
// 55 words on 10 November 2017.
Chelsea record wins over Utd
// 20 words on 5 November 2017.
Chelsea dominate United
// 22 words on 5 November 2017.
Morata heads winner
// 27 words on 5 November 2017.
Cesc the centurion
// 19 words on 31 October 2017.
Chelsea lose in Europe
// 22 words on 31 October 2017.
Morata most involved
// 21 words on 30 October 2017.
Eden has 5 in 5 against Cherries
// 26 words on 28 October 2017.
Hazard 3 goals in 3
// 23 words on 28 October 2017.
Rüdiger nets first goal for club
// 36 words on 26 October 2017.
Setting up an online account
// 175 words on 23 October 2017.
Pizza base recipe
// 205 words on 17 October 2017.
Bread and Butter Pudding
// 251 words on 17 October 2017.
Mute filters for Tweetbot
// 509 words on 16 October 2017.
Drafts App web capture
// 55 words on 16 October 2017.
iOS Apps for Productivity
// 10 words on 16 October 2017.
News consumption and read later.
// 165 words on 15 October 2017.
Value over urgency
// 54 words on 13 October 2017.
Setting up a new scrum team
// 68 words on 1 August 2017.
2016 Archive
2015 Archive
The Sweet Setup
// 894 words on 7 September 2015.
Man City Programme 2015
// 16 words on 16 August 2015.
Stamford Shed - interview
// 1337 words on 22 July 2015.
Ultimate Fan Live - PSG vs Chelsea
»
// 930 words on 17 February 2015.
2014 Archive
Eaglesbeak -Pre-season 2013-2014
→
// 479 words on 29 July 2014.
Eaglesbeak - Post-match reaction
→
// 194 words on 28 March 2014.
2013 Archive
Eaglesbeak - A bridge too far
→
// 1235 words on 18 December 2013.
Eaglesbeak - Post-match reaction
→
// 1150 words on 15 December 2013.
Chelsea Ladies - Ward moves on
// 893 words on 11 November 2013.
Chelsea Ladies - Doncaster
// 895 words on 6 August 2013.
2012 Archive