Skip to main content

Ben Cromwell

Signposting

# TL;DR

Be a good custodian and make sure people can find stuff.

# Don’t

“But the plans were on display…”

“On display? I eventually had to go down to the cellar to find them.”

“That’s the display department.”

“With a flashlight.”

“Ah, well, the lights had probably gone.”

“So had the stairs.”

“But look, you found the notice, didn’t you?”

“Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard’.”

Migrating From Ghost to Hugo

I’ve migrated this blog from Ghost to Hugo. Primarily because it’s updated so infrequently that every time I even thought about maybe writing something (yes, very committal) Ghost would need an update. Most recently, and the final straw, was it got stuck in a dependency loop of needing a Node upgrade but needing a Ghost update first but to do that also needed a Ghost CLI update and that needed a newer version of Node but without the older Ghost CLI installed it couldn’t be upgraded to the point where it could be upgraded or something or something and before you know it you’ve entered a Franz Kafka novel.

Git history is Tralfamadorian

Or, why I dislike squash merges.

Tralfamadorians have the ability to experience reality in four dimensions; meaning, roughly, that they have total access to past, present, and future; they are able to perceive any point in time at will.

Kurt Vonnegut

The code usually tells you the what and sometimes the how. It doesn’t often delve into the why.

That’s where the git commit messages come in. Squash merges tend to at worst eradicate them and at best jumble them into one single large commit message comprised of every squashed message. That makes it a lot harder to get to the meaning of what you were trying to find out, that led you to open a line of code’s associated git log in the first place.

Migrating unknown unmanaged infrastructure into a managed Ansible-based IaC

I had a VPS on a popular developer-centric cloud platform. It started out life as Ubuntu 14, several years ago, and predates my learning about IaC, Terraform and Ansible. After starting work at a hosting company, I thought I may as well migrate my stuff over. And so, the headache of how to do so without forgetting anything began.

I use it for my personal projects and there’s a lot of old stuff on there. Old source code, active source code, old databases, active databases, random backups.

Water-Scrum-Fail

It wasn’t waterfall. It wasn’t scrum. It was both and it was neither and it was doomed to fail from the get-go.

Once you’ve been doing this for a while, you’ll understand that pretty much every aspect of the discipline, at least in a professional setting, has a trade-off.

To put it as simply as possible, we can’t have everything, we can’t do everything. At some point time, money, deadline pressure, prioritisation of other projects or one from a myriad of other concerns will cause us to have to make some tough decisions.