Deploying GitHub Self-Hosted Runners on Your Home Kubernetes Cluster with ARC
If you followed my last post, Building a Home Lab Kubernetes Cluster with Old Hardware and k3s, you now have a proper x86 Kubernetes cluster…
Building a Home Lab Kubernetes Cluster with Old Hardware and k3s
If you’ve read my previous post about building a Raspberry Pi k3s cluster, you know I’m a huge fan of home labs. There’s something uniquely…
How Does the Python Virtual Environment Work?
When you start working with Python, one of the first recommendations you’ll hear is to use a “virtual environment.” But what exactly is a…
Deep Dive - How Chunked Transfer Encoding Works
Chunked transfer encoding is a key HTTP/1.1 feature that allows servers to stream data incrementally without knowing the total size of the…
Upgrading sahansera.dev to Gatsby 5
How I Upgraded My Blog to Gatsby V5 The time is now 1:45 AM and I’m finally done upgrading my blog to Gatsby V5. It’s been one heck of a…
Streaming APIs with FastAPI and Next.js - Part 2
In Part 1, we explored how to stream data into a React component using modern browser APIs. Now it’s time to build the other half: the…
Streaming APIs with FastAPI and Next.js - Part 1
Streaming data in the browser is one of those things that feels magical the first time you see it: data appears live - no need to wait for…
My plans for sahansera.dev in 2024
Reflecting Back on 2023 It’s no secret that my blogging took a backseat this year - becoming a first-time dad has been a joyful, yet the…
Basics of Apache Kafka - An Overview
A few months ago I wrote an article on setting up a local Apache Kafka instance. In this article, I will briefly introduce Apache Kafka and…
Serverless Go with Azure Functions and GitHub Actions
In this article, we are going to learn how to host a serverless Go web service with Azure Functions leveraging custom handlers in Azure…