Digital Garden

A digital garden is a collection of evolving notes and ideas. Unlike blog posts which are polished and complete, these are living documents that grow over time. Some are fresh seedlings, others are budding, and a few have matured into evergreen references.

Seedling — Fresh, rough ideas Budding — Growing and taking shape Evergreen — Mature, stable reference

Passwordless Ssh Setup

Feb 3

Thinkcentre Static Ip Setup

Feb 3
prometheus monitoring node-exporter observability linux metrics

How Prometheus Monitoring Works: From /proc to Dashboard

Deep dive into how metrics flow from Linux kernel to Grafana dashboards - covering node_exporter, scraping, time-series storage, and visualization

Updated Jan 29
homelab ansible prometheus monitoring debugging devops

The Prometheus Config Conflict: When Ansible Playbooks Fight

How multiple Ansible playbooks overwriting the same configuration file led to monitoring jobs mysteriously disappearing

Updated Jan 29
homelab prometheus monitoring architecture devops service-discovery

File-Based Service Discovery: Solving Prometheus Config Conflicts

How Prometheus's file-based service discovery pattern enables independent, composable monitoring configuration

Updated Jan 29
homelab sre resilience monitoring self-healing devops

Self-Healing Architecture: Building Resilient Infrastructure

How the homelab automatically recovers from failures using systemd restart policies, container health checks, and graceful degradation patterns.

Updated Jan 27
iot ruby smart-home tapo networking

Building a Tapo Smart Plug Client from Scratch

A practical guide to building your own Ruby client for controlling TP-Link Tapo P110 smart plugs, with working code examples and troubleshooting tips

Updated Jan 19
iot reverse-engineering cryptography networking tapo smart-home

Reverse Engineering the Tapo KLAP Protocol

A deep dive into how TP-Link Tapo smart devices are discovered on the network and authenticated using the KLAP protocol - covering UDP broadcast discovery, two-phase handshake authentication, and AES-128-CBC encryption

Updated Jan 19
encryption cryptography klap authentication security iot

Understanding Encryption and KLAP Authentication

A beginner-friendly guide to encryption concepts from first principles, building up to understanding how Tapo's KLAP protocol works

Updated Jan 19
homelab nas storage planning

NAS Planning: Exploring Storage Options

Evaluating options for a home NAS setup, including considerations for using a MacBook Pro without battery for 24/7 operation

Updated Jan 18
mqtt http iot architecture networking

Why MQTT is the Right Choice for IoT (vs. HTTP)

An architectural comparison of MQTT and HTTP, explaining why MQTT's design is superior for IoT and real-time data streaming applications.

Updated Jan 13
iot architecture mqtt timescaledb grafana esp32 proxmox

TSI-Telemetry Application Architecture

A detailed look at the end-to-end data flow of the TSI-Telemetry project, from the in-car ESP32 cluster to the Proxmox-hosted backend.

Updated Jan 13
proxmox lxc docker timescaledb python mqtt telemetry homelab

TSI-Telemetry Backend Setup on Proxmox LXC

A concise guide detailing the deployment of Docker, TimescaleDB, and the Python MQTT bridge within Proxmox LXC containers for the TSI-Telemetry project.

Updated Jan 13
esp-now esp32 iot networking architecture

What is ESP-NOW? Solving IoT Race Conditions

An explanation of the ESP-NOW protocol and how it was used in the TSI-Telemetry project to create a reliable, low-latency link between two ESP32s, separating concerns and avoiding WiFi/BLE conflicts.

Updated Jan 13
homelab proxmox virtualization sre networking platform-engineering

Homelab v2: The Proxmox Architecture

Redesigning the homelab from the ground up with Proxmox VE to learn virtualization, platform engineering, and advanced networking.

Updated Jan 11
proxmox docker deployment homelab

Proxmox VM Deployment

Docker Compose deployment guide for running the TSI-Telemetry backend stack on a Proxmox virtual machine with TimescaleDB, Grafana, and MQTT bridge.

Updated Jan 12
tailscale networking homelab

Tailscale Subnet Router Explained

How Tailscale's subnet router feature lets you access your entire home network from anywhere in the world

Updated Jan 10
networking homelab pi-hole tailscale

Homelab Networking: The Office Building Analogy

Understanding Pi-hole DNS and Tailscale remote access through a simple office building metaphor

Updated Jan 9
homelab networking linux self-hosting

Homelab v1: The Fundamentals (Legacy Reference)

Original homelab plan before pivoting to Proxmox - kept as reference material

Updated Jan 9
pi-hole networking homelab dns

Pi-hole High Availability

Strategies to handle Pi-hole outages and avoid single points of failure in your DNS setup

Updated Jan 9
raspberry-pi networking linux

Raspberry Pi Static IP Setup

How to assign a permanent IP address to your Raspberry Pi for server use

Updated Jan 9
ssh linux security homelab

SSH Authentication & Configuration

Managing SSH keys and config files for passwordless access to multiple servers

Updated Jan 9
iot architecture mqtt timescaledb

TSI-Telemetry Architecture

System architecture diagram showing ESP32, MQTT broker, TimescaleDB, and Grafana data flow

Updated Jan 7
mqtt python timescaledb iot telemetry

MQTT to TimescaleDB Bridge Script

A Python script that subscribes to HiveMQ Cloud MQTT broker and writes car telemetry data to TimescaleDB for storage and visualization.

Updated Jan 7
cpp esp32 arduino programming

C++ Primer for ESP32

A beginner-friendly guide to understanding C++ concepts used in ESP32 Arduino firmware, covering structs, classes, pointers, and Arduino-specific patterns.

Updated Jan 7
esp32 microcontroller iot bluetooth wifi

ESP32 Microcontroller Basics

Overview of the ESP32 microcontroller covering specifications, power consumption, dual-core architecture, memory layout, and BLE/WiFi capabilities for IoT projects.

Updated Jan 7
grafana visualization timescaledb dashboard

Grafana Dashboard Setup

Configuration guide for setting up Grafana dashboards to visualize real-time car telemetry data from TimescaleDB, including gauge panels and time series queries.

Updated Jan 7
mqtt hivemq iot cloud esp32

HiveMQ Cloud MQTT Broker

Setup and usage guide for HiveMQ Cloud as a managed MQTT broker, enabling ESP32 devices on mobile hotspots to communicate with home servers through the cloud.

Updated Jan 7
mqtt iot networking

MQTT Protocol

Understanding the lightweight publish/subscribe messaging protocol for IoT devices

Updated Jan 7
iot esp32 mqtt automotive

TSI-Telemetry Project Overview

Real-time automotive telemetry system capturing OBD-II diagnostics from a VW Polo GT TSI

Updated Jan 7
telemetry esp32 devlog iot

TSI-Telemetry Setup Log

Chronological development log documenting the step-by-step setup of the car telemetry system including infrastructure, ESP32 firmware, and troubleshooting.

Updated Jan 7
mqtt streaming architecture iot telemetry

Real-Time Data Streaming Architecture

Detailed explanation of how telemetry data flows from car ECU through ESP32, MQTT broker, and database to Grafana dashboard in near real-time.

Updated Jan 7
timescaledb postgresql database time-series

TimescaleDB for Time-Series Telemetry

Guide to using TimescaleDB as the time-series database for storing car telemetry data, covering installation, hypertables, useful queries, and data retention.

Updated Jan 7
troubleshooting esp32 mqtt wifi debugging

TSI-Telemetry Troubleshooting Guide

Solutions to common issues encountered during TSI-Telemetry development including WiFi, MQTT, BLE, Grafana, and database problems.

Updated Jan 7