Three years on: how 'Terraform, OpenTF, and the Shrinking Gap' panned out
Read more →Three years ago I wrote about how I saw things panning out with Terraform and other parts of the Hashi stack in response to Hashicorp introducing the BUSL licence. Let's see how that panned out 3 years on.
…Per Ardua Ad Astro
Read more →I have moved my Website from Hugo to Astro, 4 years after a migration from Wordpress. This article describes the experience. Short version: I am pleased with the result, after 4 years of frustration I can finally get things working how I want them to on the deployed site.
…So Long Sam, Bye-bye Language Lock-in
Read more →Games Notification
Read more →This site is alive but I've been busy with life and writing casual browser games as opposed to casual essays recently. Here's a selection of what's available at the moment. These also appear at Web Applications - there have been several recently.
…From Zero to Production in a New Language in One Day
Read more →"You can't rely on AI to write 'proper' production code" - or can you? I recently had to write my first Java service for production use, with zero prior Java experience and a week's deadline. In the event, I delivered it in a day using AI acceleration. Since I'm not sure that I can share details of that project, I'm showing how I did it by recreating the same approach with a React app - from zero experience to in-production code in a single day. The running implementation is here and the code is here
…Architecting a Serverless API with Authentication
Read more →Here I designed and built out an architected API, able to support a (notional at this stage!) mobile application. I went from a toy-level application to a fully implemented serverless API with OpenAPI spec, encryption, authentication, testing, both free and premium tier features, and documentation. This article covers the journey at a high level, focussing on the lessons learned. I'm a big fan of incrementalism/iteration as a development approach. Not just in the sense of the Minimally Viable Product meme, but also as a method for decomposition- perhaps the most important skill for an architect or developer. I hope to show how that worked well here.
…Python Wordsearch - A Request Fulfilled
Read more →A short article but with a fun angle that you can share in 😄. Sometimes when I have time on my hands I try the coding kata approach- thinking of a challenge and coding that up. Here I came across a request on the PythonLearning subreddit by the user Mysterious_Lab5934 asking for a WordSearch generator in Python for print output. I decided to create one - code here. This took maybe an hour with LLM acceleration, most of that yak-shaving for an 'optimum' result.
…Taking a Peek at Pulumi
Read more →Coming from a background of mostly Terraform, some CloudFormation/SAM, and a sample of CDK, I took a look at Pulumi (Python) - a comparable Infrastructure-as-code solution using general purpose programming languages rather than its own - by way of an example project. This article is about my experiences with it. Other people have already covered the general case of going from Terraform to Pulumi pretty well. Because of this I am only looking at the bits that stood out to me in this case. Short version - Pulumi is really nice, especially for intermediate features like programming logic and data manipulation.
…Modularising My Mini Monolith with Microservices
Read more →How involved is it to break down a monolith into microservices? Is it worth it? Is serverless better than Kubernetes? Here's my example of breaking up my own Kubernetes 'mini monolith' into microservices and you can see both the before and after, together with my thoughts on it below. A deployed running example service is currently (August 2024) available here although I don't promise to keep it running there.
…A Web App with ArgoCD
Read more →I recently transformed a command line desktop application into a web app and successfully deployed it to Kubernetes. You can find the code here and run it locally with Docker, or deploy it via Helm or ArgoCD to your Kubernetes cluster.
…
