All the Posts
I’ve been writing about building stuff and measuring stuff for a few years now, you can find all the articles I’ve written here. Alternatively if you’re in a particular mood you can also browse by Tag .
2025
Migrating from Ghost to Hugo
·1618 words·8 mins
Code
DevOps
In June 2025 migrated this blog from Ghost to Hugo. Here’s why and how.
Table Paws for Nursery Table
·658 words·4 mins
3D Printing
DIY
Our table legs were too short to allow me to use some donated drawers underneath for our nursery. Rather than using boring table leg extensions, I printed something fun instead. The feet were a great success, using AI was… less so.
2024
Building a wooden surfboard with Ondanova surfboards in Portugal
·664 words·4 mins
Wood
DIY
Taking some time between jobs, I headed down to Lisbon to build my own wooden surfboard with Antoine at Ondanova surfboards.
2023
SQLFluff Performance in 2023
·1688 words·8 mins
SQLFluff
Analytics
Code
Most of the focus of getting to 2.0.0 was on accuracy and robustness, however much of the focus since has been on performance and speed. This post is a little peek behind the curtain of how we went about that, and what some of the biggest improvements have been.
2022
SQLFluff 1.0.0
·454 words·3 mins
SQLFluff
Analytics
Today we released SQLFluff 1.0.0, the first stable release of SQLFluff.
Modding a Razer Chroma X
·1928 words·10 mins
DIY
3D Printing
A dive into PCIe and taking a dremel to a Razer eGPU enclosure in search of stable Gigabit Ethernet.
Big data doesn't mean it's the right data.
·943 words·5 mins
Data
Analytics
People
The information you have is not the information you want. The information you want is not the information you have.
Analytics is Subjective
·955 words·5 mins
Data
Analytics
People
…or at least can never be “purely” objective.
The Data Storytellers Podcast S02E05: Alan Cruickshank, Head of Data @ tails.com
·120 words·1 min
Data
Analytics
The kind of ‘courage’ I’m talking about at the end doesn’t need to be loud. Often courage is presented as just the knight on a horse leading the charge, but I think courage can also be a quiet confidence that doesn’t let an issue drop, or just asking the question that nobody is asking at the right time.
Too much visibility?
·1237 words·6 mins
Data
Analytics
People
There is a balance to be played in the role of any person who is responsible for metrics and measurement. How to approach the perennial question: “can you make me a dashboard/report so I can see X”.
The fable of the number wizard
·1771 words·9 mins
Data
Analytics
People
Once upon a time, there was a company of tailors… and so she drew up a position for a number wizard…
2021
Coalesce 2021: this is just the beginning
·50 words·1 min
Data
Analytics
People
SQLFluff
This year I spoke at the Coalesce 2021 conference about a topic a bit broader than just SQL linting or data in small businesses.
3D Printed Speakers.
·500 words·3 mins
Wood
DIY
3D Printing
Audio
I printed a set of the Back-Loaded Horn Speaker V2.0 by guppyk from Thingiverse. They’re pretty good, but the I think I was pushing the capabilities of the printer a little far.
Lockdown Guitar Building
·609 words·3 mins
DIY
Wood
Stuck in another lockdown I embarked on building a guitar. Things came out pretty well.
The Python Podcast: Episode 318 - Keep Your Analytics Lint Free With SQLFluff
↗
↖
SQLFluff
In June, I had a great chat with the team at the Podcast.__init__ (aka the Python Podcast) about linting, SQL and open source projects.
Hanging Cartwheel Light
·744 words·4 mins
Wood
DIY
We wanted a statement light for our new flat, but didn’t want to spend hundreds of pounds. I made one out of some scrap wood.
Reclaimed wooden workbench.
·578 words·3 mins
Wood
DIY
An old tabletop, some reclaimed construction timber and some very big dovetails.
2020
SQLFluff @ Coalesce 2020
·4696 words·23 mins
SQLFluff
Code
The dbt project at tails.com has over 600 models and 66k lines of code. With multiple contributors to a project and varying SQL backgrounds, it’s really difficult to maintain consistent readability and comprehension across a codebase like that by hand.
The Zen of Good Cable Management
·648 words·4 mins
3D Printing
Design
I already feel less stressed.
Dry-Box for Sensitive Filament
·282 words·2 mins
3D Printing
Design
PETG printing badly? Maybe you also need a dry box.
Growing Business Analytics on a Shoestring - Part 2
·3957 words·19 mins
Data
Code
People
Analytics
Following on from part 1, we go from getting serious into philosophy as we track our growing analytics function.
The Data Storytellers Podcast S01E44: Alan Cruickshank, Head of Data @ tails.com
·60 words·1 min
Data
People
A rambling tour through life in small businesses and the importance of culture and leadership in data organisations.
Joinery Guitar Stand
·452 words·3 mins
Wood
DIY
Had some spare wood lying around and needed a new guitar stand. I try my hand at some traditional joinery.
Why is Data like Bread?
·930 words·5 mins
Data
People
Analytics
Many people are rediscovering bread, and many organisations are rediscovering data. Both are things that people are devoting considerable time and attention to right now to provide reassurance, grounding and direction in what is otherwise a bewildering time.
A logo for sqlfluff
·623 words·3 mins
Design
SQLFluff
For around a year I’ve been working on SQLFluff, a SQL linter to keep up with the growing place of analytics code as a store of business definitions. This post isn’t about why I wrote it, but it is about how to start making it a bit more appealing.
Reclaimed Shelves
·844 words·4 mins
DIY
Design
Wood
The Croydon wood recycling centre is a great place, given everyone is locked down during the Covid19 pandemic, it’s been a great time to make progress on some home improvement. This project involved… a lot of sanding.
DataIQ 100 2020
·853 words·5 mins
Data
People
I was very humbled to be included in the DataIQ 100 for 2020. This is a repost of the bio included in that.
2019
Continuous Deployment for Ghost Themes
·1535 words·8 mins
Code
DevOps
My journey to upgrading Ghost and setting up continuous deployment for a custom Ghost theme using CircleCi.
SQL in 2019
·481 words·3 mins
Code
Analytics
Data
SQLFluff
SQL has been around for a long time, as a language for communicating with databases, as a communication protocol. More recently with the rise of data as a business function, or a domain in it’s own right SQL has also become an invaluable tool for defining the structure of data.
Hub & Spoken #33: Data from scratch, a blessing or a curse?
·51 words·1 min
Data
Analytics
People
In this episode of the Hub and Spoken podcast, I have a chat with Jason Foster at Cynozure, discussing building data functions from scratch in a fast-paced business.
London dbt meetup: 18 Months of dbt @ tails.com
Data
Analytics
Alan presenting on the dbt setup at tails.com in one of the early London dbt meetups. Talking about continuous deployment, testing, alerting, and making charts on top of your dbt runs.
Enforcing DBT Dependencies in Snowflake
·836 words·4 mins
Code
Analytics
DevOps
Data
If you use dbt and Snowflake, we made a dbt package you can use to make sure that you keep your dependencies tidy and understandable.
CNC Mini Mill: Part 3 - Leadscrews, Leadscrews everywhere...
·656 words·4 mins
CNC
Design
3D Printing
If one screw doesn’t give you the stiffness you want, then why not add some more?
Extruders: Small is difficult
·538 words·3 mins
3D Printing
Design
Designing a new, smaller, compact direct drive extruder for the hypercube was hard.
CNC Mini Mill: Part 2 - change of plan
·448 words·3 mins
CNC
Design
We set out back in August to build a CNC Mini Mill using an old tumble drier motor. Here’s how the plan changed.
2018
Growing Business Analytics on a Shoestring - Part 1
·2611 words·13 mins
Code
Analytics
People
Data
Lots has been written about data functions with lots of tools and budget. In startup-land that’s not an option. This is the story of how we’ve done Business Analytics on a Shoestring.
CNC Mini Mill: Part 1
·1042 words·5 mins
CNC
Design
How hard can it be. I mean, building a dasktop CNC Mini Mill from scratch, without access to an existing mill or lathe. If nothing else I’ll learn something along the way…
Codeship & Baking Arguments
·468 words·3 mins
Code
DevOps
In Codeship, CI environment variables aren’t available at container build time. Here we use build arguments to achieve the same end and bake CI variables into containers.