All Posts

Does company growth push you into having more repos?

I’ve been thinking about the problems associated with having hundreds (thousands) of repositories in my current job leading the data function at Time Out. Now, I know this problem is...

On high trust in the workplace

Working in many startups I’ve noticed trends for environments that seem to succeed versus those that don’t. One thing that stands out to me is enabling and keeping high trust....

Terraform Modules inputs/outputs

Balancing example code when teaching always feels like tricky business. If you take real world examples then they might be too lengthy in code and too verbose to explain. On...

Terraform's Immutability

I recently did a teaching session on terraform at work and it was a good reminder of how excellent the hashicorp documentation is.

DBT's Jinja

I’ve seen some great examples of jinja in recent years outside of web development. Airbyte’s connector development for example has some nice jinja templating going on. They enable you to...

Data Engineering Interviews

I recently started a new job (an exciting few months, as shortly after my last post my partner and I went to Japan.. got engaged! Then work began). So I’ve...

ABCs

In my last post I gave an example of a class you’d only inherit and not directly instantiate and so it seemed worthwhile to write a bit about abtract base...

Slots

In a previous post I joked about how misleading dynamic assignments of attributes can be when using descriptors like property. Something that’s a useful way to ensure you don’t (accidentally...

Descriptors

As the documentation tells us, a descriptor is just something that implements the __get__, __set__ or __delete__ method(s). You’ve probably used them yourself and not known it - examples include...

Properties

There are various cool python builtins and property is one of them. It’s pretty much an easy way to implement a descriptor using method decoration. In python we don’t actually...

Cursed python

There was a really amusing (and informative?) video someone linked a few weeks ago on Reddit for horrifying python to get you fired. I would recommend watching it because it’s...

Funky method reassignments

I saw this kind of example recently and thought it was funky. I wrote out an example