![](/static/images/build/a031cdde-42d5-4c39-9ee9-d87df9a89387-cover_854.png)
Misadventures in managing a Minecraft Modpack with GitHub Actions
![](/static/images/build/cd89d2a9-01c2-4323-8a9b-efdd6fcdd5c7-cover_2000.png)
CSS spritesheets for the modern age
![](/static/images/build/7e5b4f8e-0d96-4bc0-a9e1-932e9049838d-cover_2304.png)
Iterables and Iterators: a lazy approach to collections
![](/static/images/build/a29f3a66-c8be-4cb7-806b-b755073c0d0c-cover_1200.png)
How I’ve been hosting my projects in 2022
![](/static/images/build/8cab9c31-ccb8-4075-9e20-8af69176f8c3-cover_1920.jpeg)
A developer’s introduction to Kubernetes
Will anything replace Javascript?
![](/static/images/build/057c4112-5b11-4a31-815c-30ff293867a7-cover_1920.jpeg)
The Thin Controller, or the time I wrote a microfrontend framework
![](/static/images/build/10df5f20-982c-4e2a-9a7d-cb42180a1a43-cover_1399.jpeg)
A quick thought on AC:Valhalla’s open world
![](/static/images/build/59313d2c-e7fa-4e0d-a24d-32cb9eec0be8-cover_1920.png)
Linkdrop, my personal link bookmarking thing
![](/static/images/build/1c2d63a1-28d1-495e-99d7-54561a4743aa-cover_1920.png)
Manually suspending a component in React
![](/static/images/build/8b73294e-a1f8-4576-bd2b-0a4644c52798-cover_1000.png)
The password regex
![](/static/images/build/67d0fff5-2293-43e2-8158-653cd48742b7-cover_2048.png)
Removing Javascript from a Next.js site... and then adding it back in
![](/static/images/build/3af98b36-fcc5-4720-ba8a-ee0eb082c978-cover_1200.png)
Using cloudflared and Terraform to expose services in Kubernetes
![](/static/images/build/a2502022-a142-416e-ad69-be3dc5cc4fed-cover_1500.png)