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.

Semantic Search

At work, we recently released a big new feature I’ve spent the past few weeks and months working on; semantic search. Given all of your uploaded documents, allow natural language questions against them. Here’s some post-release thoughts.

Continue reading »


I have a bit of a secret, a way to keep dev enjoyable/actually do some chores in between the stream of sales driven development feature requests and the (luckily rare) bug reports. I call them submarine tasks.

Continue reading »