Blog
Activation Functions
Part 2 of 2 in Foundations of AIActivation functions explained: their role in neural network learning, evolution from step functions to ReLU and beyond, and why non‑linearity enables deep learning.
Perceptrons
Part 1 of 2 in Foundations of AIAn overview of Rosenblatt’s 1958 perceptron — how it works, where it fails, and its influence on modern neural networks.
Strategies for CI/CD at scale
Part 2 of 2 in Sudoblark Best PracticesA write-up of my thoughts of CI/CD at scale as presented at various talks and conferences.
A write-up of my thoughts of how to apply data structures and algorithms to terraform, as presented at various talks and conferences.
Refactoring monsternames to be cloud-native with data-structure driven terraform
A while back I wrote a post about about to manage GitHub with Terraform and GitHub… I think I’m finally ready to release the source code to the general public.
A little primer on said pattern, with some quite silly examples.
Setup an OpenAPI definition of monsternames, and use GitOps to publish a SwaggerUI behind API Gateway.
The goal? Have a single GitHub repository as the single source-of-truth for the GitHub configuration of the Sudoblark Organisation.
Knuckle down and get some proper, modern, Infrastructure management in place for Sudoblark AWS. After all, I’ve setup Cloud infrastructures from scratch for many organisations why not my own?.
Many moons ago I decided to try and make a text-based, roguelite, game for the terminal. But then life got in the way, so it never really worked out.
This article aims to show how you can use a general-purpose, recursive, algorithm to paginate pretty much any RESTAPI out there