cloud-functionsDiagnosing a Google Cloud Functions build failureMy Google Cloud Functions deployed fine to the Python 3.7 runtime, but failed to build for Python 3.8. Here's how I investigated and discovered the cause.
hostingFrom Ghost to GatsbyI migrated this blog from Ghost to a Gatsby-generated static site on Firebase Hosting. But why, and how?
kotlinNeed tiny types to go with your Kotlin? Get inline…Thoughts on implementing Tiny Types in Kotlin
google-cloudSetting up IntelliJ/GoLand for a Go app on Google App EngineI’m starting to explore Go (aka Golang) and I have heard a lot that suggests Google App Engine could be a neat solution for deploying very…
bashIndirect variable references in BashI’m writing a lot of Bash scripts at the moment, and I do a lot with environment variables which my scripts expect to have been set (by my…
google-cloudDefault credentials for Google APIsA couple of days ago I decided to set up a script to run hourly on a Raspberry Pi, to test my broadband connection speed and add the results…
tddRoman Numerals: part IIThis follows on from Roman Numerals: part I. Last time I had managed to convert these numbers into Roman numerals: My full implementation at…
tddRoman Numerals: part IA few days ago I attempted a Roman Numerals kata, which basically wanted me to implement a function to convert a “normal number” (I took…
lost+foundThanks to a friend who had subscribed to this blog with an RSS reader, I’ve been able to restore my lost posts. Thanks, Simon! :) The…
On the importance of backupsThis is the first time I’ve felt pleased that I haven’t actually written many posts here. My web host had a storage failure and lost all my…
kotlinKotlinBack in February, JetBrains released version 1.0 of their JVM language, Kotlin. Read that blog for more on what Kotlin is, but their summary…
Choices.jsIn the last six months I’ve had my first real taste of what it’s like working in the modern JavaScript ecosystem. The site my team is…
Hello, World!Welcome to TeaDD, my blog about software craftsmanship. My name is Michael Bannister, and I’m a lead developer in e‑commerce at a large UK…
tddOn SimplicityMy first attempt at a TDD kata was Roy Osherove’s String Calculator. I’m a fan of Spock, which enhances JUnit tests (which must be written…