Profile
PhD Data Scientist | Scotland Immigrant in USA | Chief Chicken Officer π
Why do spam emails try to trick us, in 2026, with McAfee antivirus scams?
Is my AOL account infiltrated?
Were my MSN account details leaked?
Will I receive a CD-ROM in the mail with 100 free hours of internet?
Genetic Programming
Genetic programming evolves the program itself. Watch a population of expression trees breed a formula that fits a hidden curve, live in your browser. Part 8 of Algorithms, Live.
https://www.kenreid.co.uk/blog/genetic-programming-live.html
Algorithms, Live: Differential Evolution
Part 7 of my interactive optimisation series went up today: differential evolution. It takes two of its own population members, uses the gap between them as the step, and so the search contracts as the points converge without anything in the code arranging it.
Four landscapes - you can click the map to dump the population in one spot and watch it fan out.
https://www.kenreid.co.uk/blog/differential-evolution-live.html
Anyone else build...
CMA-ES, Live
Spent a chunk of this month building an interactive version of CMA-ES, an optimisation algorithm. It scatters a cloud of guesses, keeps the good ones, and adjusts the position, size and shape of the cloud to follow whatever has been working.
One point for where it is, one number for how far it is reaching, and one matrix for which directions have been paying off lately. Watching that ellipse tilt and stretch itself to fit a narrow valley is fun....
Why Most Self-Help Books Are Trash
Bad self-help books are blog posts stretched to 300 pages, with 250 pages dedicated to iterating on some rewrite of "this strategy helped me, and it will help you!"
I've read a lot of self-help books. I love the idea of them! After all, therapy is expensive, and conversations on topics like anxiety or productivity too often circle around the same tropes. Most of these books leave you feeling like you've spent hours failing to find wisdom amongst filler.
Full blog here:...
Factorio: Video Game and Research Tool?
We once turned Factorio into a research benchmark: a real game, driven by a real optimiser over a socket, scored on what actually reached the chest.
I wrote it into a blog so I can have a live, interactive demo.
How To Write a Blog
I dislike the word "blog." I want to get that out of the way immediately, because it is the first thing I thought when someone suggested I start one: the word is ugly. It sounds like something that happens to a drain. "Web log" is somehow worse, conjuring the image of a ship captain who learned HTML (ok that actually sounds pretty cool). I avoided starting one for years partly on the strength of that aesthetic objection, which I now recognise as displacement behaviour for a deeper discomfort, the kind that...
Letting Robots Update Your Homepage
My site is static. No server. It still knows what I'm reading and what I last played.
A robot commits to the repository every Monday while I sleep, and your browser just reads the files it left behind.
https://www.kenreid.co.uk/blog/letting-robots-update-your-homepage.html
Why It Still Matters to Learn to Code in the Age of AI
"Why learn to code now that AI can write code for you?"
This makes a lot of sense, especially with modern LLMs, such as Claude Opus 4.7 (brand new as I write this) with incredible ability to code, document, and understand problems.
Learning to code was never mainly about memorizing syntax, learning a single language, or mastering a framework. It is about abstraction - learning how to think in systems, break problems into parts, test assumptions, and turn messy constraints into something that works....
The Life and Death of the Early Internet
The CRT monitor took up half the desk, which itself had multiple compartments for various cumbrous peripherals. Yellowing ivory plastic, a glass screen so thick it bent the room at the edges, and a base so heavy that moving the family PC was a two-person job and a conversation about not wanting a lifetime of lower back pain. The keyboard and mouse had a dedicated drawer, and had the same light grey aesthetic. The Windows 98 mouse had a real, mechanical click; you could feel the switch through the plastic,...
Variable neighbourhood search
Variable neighbourhood search was the algorithm in my first published paper, back in 2016.
I have rebuilt it as something you can run in a browser.
https://www.kenreid.co.uk/blog/variable-neighbourhood-search-live.html
Particle Swarm Optimisation
Particle swarm optimisation began as a failed bird simulation.
Kennedy and Eberhart were stripping rules out of a flocking model in 1995 to see which ones mattered. Collision avoidance went, velocity matching went, and the choreography fell away. The dots left behind were finding the optimum of whatever function defined "good".
Part 4 of Algorithms, Live, with the swarm running in the page and sliders to break it....
50 Blog Posts and Counting!
Hit fifty blog posts this week, so I did the obvious thing and made charts about my own blog.
Turns out I have been writing shorter and shorter. First half of the posts: median 2,755 words. Second half: 1,937.
By far the most-read thing connected to my blog is a forum thread about my blog. People will happily argue about a headline and never click the thing, I guess!
Anyone else ever run the numbers on their own hobby and find out something mildly embarrassing?...
The Books I Recommend to Friends
When a friend asks what they should read next, I try not to hand them some generic "best books ever" list. I think about the person. Some want a story to disappear into for a weekend. Some want a book that leaves them rattled. Some want something that makes the world feel bigger and less tidy than it did the day before, and others want to feel what others have felt, to walk in someone else's shoes.
I end up recommending many of the same titles, despite my best efforts. Every book here got five stars from...
The Hidden Cost of Cobalt
Content warning: this post discusses child labour, violence, sexual violence, and colonial atrocities. It is not graphic, but the subject is heavy. If you want the short version: the batteries in our phones, laptops, and electric vehicles are largely made of cobalt, most of the world's cobalt comes from the Democratic Republic of the Congo, and a significant portion of it is mined by hand, often by children, under conditions that should have never existed, and people assume do not in this day and age....
When I Ended Up in Italy Because of Mistaken Identity
This is the story of how a typo, or near enough to one, sent me to the northern Italian mountains on a free trip. It is also the story of how I was told of a sister I never knew I had (mainly because I don't have a sister).
In Defense of Audiobooks
"Audiobooks don't count as reading."
I've had this conversation a few times. Because I love to talk about books, naturally I end up occasionally saying "Oh, I'm listening to x" or "I'm reading y." Most people are blasΓ© and uncaring, but some people get very riled up. Especially so when I refer to listening to an audiobook as "reading". I had one person go so far as to tell me I actually had not read a book if I listened to it (despite being able to discuss its content in detail)....
Dark Mode That Doesn't Flash
I despise light mode, and I dislike that the normal rules of web development causes screens to flash white before even loading a dark mode. My poor retinas.
In this post I describe how I tackled the solution, as well as for more complex elements like iframes.
https://www.kenreid.co.uk/blog/dark-mode-that-doesnt-flash.html
Simulated Annealing, Live
Twelve years ago I watched a glassblower at Disney shape molten glass into Mickey Mouse: it's my favorite metaphor for how good search works. Move freely while you're hot, commit as you cool, and never forget the best thing you've found so far. Applies to algorithms, and much in life, too.
I made a live demo of Simulated Annealing on my personal blog, and I'd love to share it here. Thanks for reading....
Advice to My Younger Self
If I could send a letter back (you know, one that didn't contain lottery numbers or "BUY BITCOIN"), this is what would be in it. These are in no particular order, and I intend to add to them as I feel like it. Some are practical and small, some are the kind of advice that is trite but for me at least contains further depth and meaning. I doubt any of them are original. I hope they're still worth sharing, and writing down.
A sample:
- Be the person who takes the photos. You will regret trying to...
Join the conversation