The Art && Science of Ruby
It's an art ... it's a science ... it's creative ... it's engineering ...
Latest~~~~
-
720
It's not gone rogue
Those "rogue" LLMs are not rogue
-
719
Here's to the weird ones
the misfits, the rebels, the rubyists
-
718
Zum Clankenhaus
So I currently have three clankers working for me, currently, all built using Claude Code. However, only one of them works in the traditional "here is…
-
717
mockdown - a simple drawing application
I've been using mockdown a lot recently.
It's a free drawing app - but instead of recording pixels or vectors, it just records plain text.
Which m…
-
716
Winston Fathead
This is Winston Fathead. He died yesterday.
He arrived at our house in September 2014 - this is him, on the day of his arrival, sleeping on the c…
- 715 User Interface Design When I was a kid I always wanted to be a creative type. I loved writing, I loved drawing, I loved music. I decided I was going to be a musician (and I…
-
714
Turnips and Gherkins
This video shows my current process for enhancing an existing feature using Claude Code.
The key things to note:
* I spend a fair amount of time…
- 713 AI Doomer vs AI Booster Quoting Nilesh Jasani The speed of this pivot was breathtaking. The skeptics changed their arguments with the terrified fervor of late converts. …
-
712
Easy to read, Easy to write
I got my first "professional" software development job in 1998. I put professional in quotes because it was a bit of a mess - a tiny place with one gu…
-
711
Writing code with LLMs (February 2026 edition)
Writing code with LLMs (February 2026 edition)
At the start of the year, I said to Mahhek, a fellow developer "you need to learn how to use these co…
-
710
Do you need a driving licence?
The other day, I asked Cher, my OpenClaw instance if it could read my email and notify me if something important came in. It said it would be easy; th…
-
709
Vibes and Engineering
The Jobs Crisis
My job, as I have known it for the past twenty-five years, is no more.
As someone who's only ever worked at small companies [1] or…
-
708
The future of software
Now, when it comes to technology, I'm actually pretty conservative.
There have only really been two key moments where I've got excited about technol…
-
707
Things that Happened - January 2026, Week Three
More family stuff to deal with. And work has mainly been a mixture of frustration and LLMs.
Sporadically
For Site Manager I took great care setti…
-
706
Things that happened - January 2026, Week Two
(Published a few days after week two).
I've been reading the Murderbot books and I've been pretty hooked. My wife started reading them, then the ser…
-
705
Things that happened - January 2026, Week One
Claude builds a UI
I did a sketch on my iPad, showing a dashboard in both desktop and mobile layouts.
I gave it to Claude, with a short descriptio…
-
704
Oh 25
I've never written an annual review before. Mainly because I have zero memory and everything passes by in a blur. But this year I'm going to give it a…
-
703
Outside In: the return
Recently I've returned to "outside in" style development.
This used to be really popular ten to fifteen years ago, but kind of vanished. I suspect t…
- 702 LLMs for Software Developers (notes from my talk at NWRUG) I recently gave a talk at the North West Ruby User Group about how I use LLMs for software development. This was an update on a previous demo I had gi…
- 701 The Mongolian startup defying Big Tech Egune AI, is part of a growing movement to build LLMs in low-resource languages to expand AI access for underserved populations. Despite a shortage of…
- 700 What is a business, then? But what makes me absolutely furious is that the greediest, most do-nothing cohort of the money-movers have spent decades creating the myth that now t…
- 699 We think that with AI we can replace all of our junior people in our company I was at a leadership group and people were telling me "We think that with AI we can replace all of our junior people in our company." I was like, "Th…
- 698 Using LLMs for software development (summer '25 update) (Or, "My big revelation about LLMs and software development") A few months ago, I did a demo of Claude Code at the Northwest Ruby User Group. I had …
-
697
Eulogy
(or "Software will never be the same again")
A few weeks back I watched the latest series (seven) of Black Mirror. I'm never fully convinced by Char…
-
696
Vibe coding with Claude Code
I've been trying out Vibe Coding.
There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, …
- 695 Devcontainers This is a vastly oversimplifed and technically inaccurate description of how to use devcontainers to make software development easier. I'm writing it …
- 694 Operations - documenting complex business logic as easy to read ruby code First of all - a quick question: am I stupid? The idea behind Operations seems so simple and so natural to me, I'm really surprised that no-one seems …
-
693
A vastly oversimplified explanation of public-private key encryption
Years ago, I worked at a hosting company called Brightbox. Being a hosting company and being responsible for their customer's data meant that security…
-
692
Using AI for fun and profit
(It might not be fun. And there won't be any profit)
In Collabor8Online we have "automations". These are sort of like pipelines but very specific to…
- 691 Things I have learnt in the last week (or, in some cases, things I already knew but never really cared about) Microsoft Word's .docx format is officially called the "Office Open XML Form…
- 690 How I accidentally became a data-scientist Or why Ben Brereton-Diaz changed his name. I've never really been in to data and statistics. I'm not great at maths and it gets tiring figuring thin…
- 689 An exercise in Test Driven Development: Kata No. 9 An exercise in Test Driven Development: Kata No. 9 You Aren't Going to Need it - until you do Last night, at the North West Ruby Group, we did an …
- 688 Hiring Developers from Upwork I was just involved in a discussion on Reddit, where someone was asking for advice about getting hired on Upwork. That prompted another response from …
-
687
Plumbing
My new gem, Plumbing.
- Pipelines (functional-style data transformations)
- Rubber Ducks (type-checking the ruby way)
- Actors (safe concurrency an…
- 686 Why I don't miss Minitest I've just got back from BrightonRuby, which was excellent. Lots of great talks, meeting up with old friends and making some new ones. A big thank you …
-
685
Functional Pipelines
Before we begin, two bits of houskeeping:
* Firstly, I've been up against mega-deadlines for the last few weeks, so I missed a post last week. I ca…
-
684
Dynamic versus Static types (or ruby against the world)
Where we're at
As I mentioned last time, the code in front of me doesn't really match the code I was describing as I was writing the previous articl…
-
683
This is a shit tutorial
I just went back and re-read some of the earlier articles in this series. I'm sat here looking at the code I've written and there's a ton of stuff I w…
-
682
How to halve your support costs
When you freelance, or work in a small company, support is a big cost. It’s a big cost in big companies but they can afford to hire people to deal wit…
-
681
The database is an implementation detail
"The database is an implementation detail - agree?"
That should get some reactions!!!
And the answer is "sort of".
Some back-story
But first…