Entries tagged with "tech"

Data Prisons

I’m slowly pulling data into the new HybridLogic. In the process I’m realising a. how many other services I use, even after culling them a few years ago, and b. how many services now are complete and utter data prisons.

Continue reading »

Ruffling Digi27

2005-05-22. That’s the timestamp in the first docblock on digi27.com. Feels like an eternity ago. The site is… bad. Twenty year younger me was not a good coder (so some things don’t change). But as part of the fallout from Apple killing Flash, Digi27 has kind of been pointless for a while.

Continue reading »

Project Book Retro

It’s four years since the first commit to Work Project #2. With over 10,000 commits, thousands of deployments, a couple of hours downtime, and lots of paying customers (please more though), I wanted to take a second to look back on all of the many decisions. What was good, what was crap. Do again, change next time?

Continue reading »


Many years ago, I had to make a website. Slightly different to the normal websites we were churning out. It would be used in 5,000 locations, across 160 countries, by about 30 million people (at the time) a month. It showed weather, local news, and more content specific to each location. At the time Amazon EC2 was two years old, scaling was a still unsolved problem, and we had to make this thing bulletproof.

Continue reading »


HybridLogic, my little corner of the Internet, turned 18 a few months ago. I wanted to make a little list of things this site has used, or not used, that have come and gone in that time. No order or rhyme, just thoughts.

Continue reading »


I spent the day building out some wood framing, ready for plasterboard with my Dad. It’s always good, learning skills that are so different to everything I do just sat on a computer. I also got to learn about the difference between joinery, and cabinetry.

Continue reading »

CTEs are Fracking Magical

We have a cron job. It runs frequently, looking for rows that have changed, or their parent relationships that have changed, or grandparents. There’s millions of rows. These cron jobs were causing tablescans of 200K+ rows each time. Replica latency was horrible.

CTEs and a few well-placed indexes. Down to only scanning rows needed. Weirdly just indexes and joins/subqueries didn’t help.

This post sponsored by me pulling my hair out staring at DB graphs for three days.