Blog
Deep dives into software development, homelab infrastructure, and continuous learning.
Series
Version 2: Talos Kubernetes
Build a production-grade Kubernetes homelab with Talos Linux, GitOps, Intel Arc GPU transcoding, and secure remote access.
Set 1
Algorithm practice problems with Python solutions, covering arrays, trees, graphs, and more.
Categories
Recent Articles
MetalLB Talos L2 Fix
Enable MetalLB L2 announcements on Talos Linux clusters where all nodes are control planes.
Factorio Security Hardening
Enable Factorio.com user verification to prevent player impersonation on your server.
Factorio Server Management
Manage Factorio server: RCON commands for admin tasks, backups, mods, and diagnostics.
Minecraft playit.gg Public Access
Add playit.gg tunnels to your Minecraft server for public access without VPN.
Minecraft Import Existing World
Import an existing Minecraft world and plugins into your Kubernetes server.
Minecraft Bedrock Support
Enable Bedrock Edition support on your Minecraft Java server with Geyser.
Minecraft Server Management
Manage Minecraft server: RCON commands, whitelist management, backups, and plugin administration.
Flux Helm Image Updates
Check for container image updates and apply them through GitOps by updating HelmRelease image tags.
Factorio Kubernetes Server
Deploy a Factorio dedicated server on Kubernetes with Tailscale private access.
Factorio playit.gg Public Access
Add playit.gg UDP tunnels to your Factorio server for friends to connect without Tailscale.
Factorio Import Existing Save
Import an existing Factorio world save into your Kubernetes server.
Minecraft Paper Server
Deploy a Minecraft Paper server on Kubernetes with persistent storage and Tailscale access.
Tailscale High Availability
Configure Tailscale with multiple subnet router replicas across control plane nodes for automatic failover.
Talos Cluster Expansion and HA
Expand the cluster with additional nodes and enable high availability by promoting all nodes to control plane for etcd quorum.
Tailscale Mac Bastion Host
Set up a Mac as a bastion host for remote homelab access via SSH when the Kubernetes subnet router is unavailable.
Tailscale ACL and Subnet Routes
Add new cluster nodes to Tailscale subnet routing by updating ACL autoApprovers and the Connector manifest.
Talos Upgrade and Extensions
Update Talos configuration on a running cluster—adding extensions, changing settings, and triggering node upgrades.
Talos Kubernetes Homelab Series
Build a Kubernetes homelab with Talos Linux, Flux GitOps, Intel Arc GPU transcoding, and secure remote access via Tailscale.
GEEKOM Mini PC Cluster Hardware
Hardware specs for a Kubernetes homelab: GEEKOM XT15 MEGA mini PCs with Intel Arc 140T GPUs, UNAS Pro NAS, and UniFi networking.
UniFi Flat Network Setup
Network topology and IP scheme for a Kubernetes homelab using UniFi Dream Machine Pro with static IPs and MetalLB pool allocation.
Talos Linux USB Installation
Install Talos Linux on bare metal GEEKOM mini PCs from bootable USB with BIOS setup for Wake on LAN and maintenance mode.
Talhelper Cluster Bootstrap
Generate Talos machine configs with talhelper, apply them to nodes, and bootstrap a Kubernetes cluster with Intel GPU extensions.
SOPS and Age GitOps Secrets
Set up a Git repository with SOPS and age encryption for storing Kubernetes secrets securely in version control with 1Password.
MetalLB, Longhorn, and Ingress-NGINX
Deploy core Kubernetes infrastructure: MetalLB load balancer, Longhorn distributed storage, and NGINX ingress controller via GitOps.
Flux CD Kubernetes GitOps
Bootstrap Flux CD for pull-based GitOps deployments with SOPS decryption for encrypted secrets in Git.
Tailscale Kubernetes Subnet Router
Configure Tailscale operator with subnet routing for secure remote kubectl and talosctl access from anywhere.
Intel Arc Kubernetes DRA
Configure Intel Arc 140T GPUs with Kubernetes Dynamic Resource Allocation for native GPU scheduling and allocation.
Plex Intel GPU Transcoding
Deploy Plex Media Server on Kubernetes with Intel Arc GPU hardware transcoding and Longhorn persistent storage.
Optimizing the Canvas
Optimizing your operating system for software development
Caesar Cipher Encryptor
Learn how to implement an efficient Caesar Cipher encryption algorithm in Python, including handling alphabet wrapping and optimizing for space and time complexity.
Insertion Sort
A comprehensive guide to implementing and optimizing the insertion sort algorithm in Python, ideal for beginners and intermediate programmers seeking to understand fundamental sorting techniques.
Selection Sort
Explore the Selection Sort algorithm: implementation, optimization, and performance analysis. Ideal for programmers seeking to understand fundamental sorting techniques and iterative code improvement.
Palindrome Check
Master palindrome checking algorithms in Python, from basic implementations to optimized solutions. Ideal for programmers looking to enhance their string manipulation skills.
Find Three Largest Numbers
Learn how to implement an efficient solution in Python to find and return the three largest integers from a given array, with insights on optimization and algorithmic thinking.
Bubble Sort
A comprehensive guide to implementing and optimizing the Bubble Sort algorithm in Python, ideal for beginners and intermediate programmers seeking to understand fundamental sorting techniques.
Binary Search
A comprehensive guide to implementing and optimizing the Binary Search algorithm in Python, ideal for programmers seeking to understand efficient search techniques.
Nth Fibonacci
Learn how to calculate the nth Fibonacci number in Python, utilizing iterative and efficient approaches while optimizing for space and time complexity.
Product Sum
Learn how to efficiently calculate the product sum of a special array in Python, utilizing recursion to handle nested arrays and optimize for both time and space complexity.
Removing Duplicates
Master the technique of removing duplicates from a sorted linked list in Python, exploring both iterative and recursive approaches with optimization considerations.
Middle Node
Learn efficient techniques to locate the middle node of a linked list in Python, including recursive and iterative approaches with optimization considerations.
Tandem Bicycle
Learn how to calculate the total speed of a tandem bicycle in Python, considering different pairing strategies for maximum and minimum speeds.
Optimal Freelancing
Learn how to determine the maximum profit from freelance jobs with varying deadlines in a 7-day window, exploring efficient algorithmic approaches and optimization techniques.
Class Photos
Learn how to validate class photos with height constraints in Python, ensuring proper student arrangement based on shirt color and height.
Minimum Waiting Time
Learn how to minimize the total waiting time for a series of queries in Python by using sorting and optimal strategies.
Depth First Search
A comprehensive guide on implementing an efficient depth-first search method on a tree-like structure in Python, exploring recursive approaches and optimization techniques.
Evaluate Expression Tree
Learn to implement and optimize a method for evaluating binary expression trees in Python, exploring recursive and iterative approaches with operation mapping techniques.
Node Depths
A comprehensive guide to calculating the sum of node depths in a Binary Tree using Python, exploring recursive and iterative approaches with space and time optimizations.
Find Closest Value in BST
Explore efficient algorithms to find the closest value to a target in a Binary Search Tree (BST), comparing recursive and iterative approaches.
Branch Sums
Explore efficient algorithms to calculate and return the sum of all branches in a binary tree, from left to right.
Non-Constructible Change
A comprehensive guide on efficiently finding the minimum sum that cannot be constructed from a given array of coin values in Python, exploring various approaches and optimizations.
Transpose Matrix
A comprehensive guide on efficiently transposing a 2D array (matrix) in Python, exploring various approaches and optimizations.
Tournament Winner
An in-depth guide on efficiently determining the winner of a tournament given the results of multiple competitions in Python, exploring various approaches and optimizations.
Sorted Squared Array
A comprehensive guide on efficiently returning the squares of an array of integers sorted in ascending order, exploring various approaches and optimizations in Python.
Two Number Sum
Explore multiple approaches to solve the "Two Number Sum" problem in Python, comparing their time and space efficiency.
Validate Subsequence
A comprehensive guide on efficiently determining if one array is a subsequence of another in Python, exploring various approaches and optimizations.
Typescript Cell
Setting up a client side playground
Setting the Stage
What I use when setting up a computer for software development
In the Pursuit of Done
My thoughts on perfectionism and how it can harm
A Journey into Engineering
A tinkerer's tale of stumbling into software engineering