Homelab
Persistent storage with Rook-Ceph
Deploying Rook-Ceph on bare-metal Kubernetes for distributed persistent storage, so your data survives pod restarts and node failures.
Homelab
Deploying Rook-Ceph on bare-metal Kubernetes for distributed persistent storage, so your data survives pod restarts and node failures.
C++
A real-world experience report on using C++20 modules in a 250-file game engine project. What works, what breaks across MSVC, Clang, and GCC, and patterns that help. · More
Homelab
Setting up Flux for GitOps on a bare-metal Kubernetes cluster: how reconciliation works, repository structures, and managing cluster state from Git. · More
Homelab
Deploying Kubernetes on bare-metal CoreOS nodes using Kubespray and Ansible, including CRI and CNI configuration and dual-stack networking. · More
27 Dec 2024/ Homelab
Installing Fedora CoreOS for a Kubernetes-ready base system using Ignition config files and the Butane transpiler, with common settings and pitfalls.
23 Dec 2024/ Homelab
How to build a bare-metal Kubernetes cluster at home: picking the right hardware, planning the architecture, and getting everything ready for deployment.
09 Dec 2023/ Programming
Splitting and remapping integer intervals to solve Advent of Code 2023 day 5. A step-by-step breakdown of the algorithm in Python.
04 Dec 2023/ Programming
Advent of Code 2023 day 4: how a scratchcard puzzle leads to an accidental O(n!) algorithm, and how memoization brings it back to linear time.
04 Apr 2023/ GameDev
Initializing the Vulkan graphics API: creating an instance, selecting devices, and taking the first steps toward rendering in a C++ game engine.
07 Feb 2023/ GameDev
High-level architecture of a Vulkan-based game renderer: the graphics pipeline, models, shaders, textures, and how they all fit together.
12 Jan 2023/ GameDev
Adding structured logging to a C++ game engine using Boost.Log with sinks, formatters, and severity levels, wrapped in a clean C++20 module.
11 Jan 2023/ GameDev
Starting a voxel game engine from scratch with C++, Vulkan, Visual Studio, and vcpkg. Project structure, dependencies, and initial setup.
23 Sept 2022/ Cloud
Azure API Management's built-in roles don't cover the common case: letting teams manage their own APIs without service-level access. Here's a custom role that does.
14 Jun 2022/ C++
How Linux system calls work under the hood: from user space to kernel space, the x64 calling convention, and implementing syscalls directly in assembly.
28 Mar 2022/ C++
Before C++23, operator[] couldn't take multiple parameters. This C++20 utility class enables multi-dimensional indexing like matrix[x][y] using templates.
20 Mar 2022/ IT
The Office 365 student installer doesn't let you choose which apps to install. The Office Deployment Tool lets you pick exactly the ones you need.
11 Mar 2022/ Misc
How to set up a YubiKey for 2FA, sign your git commits with PGP, and use PIV smart card authentication on Windows. A comprehensive guide.
03 Oct 2021/ C++
C++ enum classes don't support bitwise operators like |, & and ^ out of the box. Here's how to enable them using a constexpr-friendly EnumBitset wrapper.