<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gábor Lepsényi — Field Notes from a Curious System</title>
    <link>https://gaborl.hu</link>
    <atom:link href="https://gaborl.hu/feed.xml" rel="self" type="application/rss+xml" />
    <description>Deep technical field notes on AI, Raspberry Pi, DevOps, homelabs, and gaming.</description>
    <language>en</language>
    <managingEditor>noreply@gaborl.hu (Gábor Lepsényi)</managingEditor>
    <item>
      <title>Raspberry Pi 5 as a Local LLM Server</title>
      <link>https://gaborl.hu/articles/raspberry-pi-5-llm-server</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-5-llm-server</guid>
      <pubDate>Mon, 15 Jun 2026 09:00:00 GMT</pubDate>
      <description>A practical, measured look at running local language models on a Raspberry Pi 5: which model sizes and quantization levels are realistic, what power and thermal limits to expect, and when a mini-PC is the better call.</description>
      <category>ai</category>
    </item>
    <item>
      <title>VLANs for a Small Homelab Without Unnecessary Complexity</title>
      <link>https://gaborl.hu/articles/vlans-for-a-small-homelab</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/vlans-for-a-small-homelab</guid>
      <pubDate>Thu, 28 May 2026 09:00:00 GMT</pubDate>
      <description>How to introduce VLANs into a small homelab without turning a hobby network into an unmaintainable maze — plus the recovery steps for when segmentation locks you out.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Observability at Home</title>
      <link>https://gaborl.hu/articles/raspberry-pi-observability</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-observability</guid>
      <pubDate>Mon, 20 Apr 2026 09:00:00 GMT</pubDate>
      <description>Building home observability on Raspberry Pi without drowning the SD card: what to collect, what to skip, and how to keep the stack lighter than the workloads it watches.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Running Local AI Without Heating the Entire House</title>
      <link>https://gaborl.hu/articles/running-local-ai-efficiently</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/running-local-ai-efficiently</guid>
      <pubDate>Thu, 12 Mar 2026 09:00:00 GMT</pubDate>
      <description>A measurement-first look at running local language models at home: where quantization helps, what power draw actually looks like, and when the cloud still wins.</description>
      <category>ai</category>
    </item>
    <item>
      <title>Debugging Noisy I2C Buses on Arduino</title>
      <link>https://gaborl.hu/articles/debugging-noisy-i2c-buses-on-arduino</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/debugging-noisy-i2c-buses-on-arduino</guid>
      <pubDate>Tue, 18 Feb 2025 09:00:00 GMT</pubDate>
      <description>I2C works great on a breadboard demo and then starts failing once real cable lengths and motor noise show up. I now treat I2C reliability as a physical-layer problem first and a software problem second.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Low-Power Sleep Patterns for Arduino Field Nodes</title>
      <link>https://gaborl.hu/articles/low-power-sleep-patterns-for-arduino-field-nodes</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/low-power-sleep-patterns-for-arduino-field-nodes</guid>
      <pubDate>Thu, 06 Feb 2025 09:00:00 GMT</pubDate>
      <description>Battery-powered Arduino projects fail in two ways: unstable wake cycles and hidden current draw. I start by listing every component in active and sleep state, then I budget power in milliamp-hours before writing firmware.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Building a Modbus Greenhouse Controller with Arduino</title>
      <link>https://gaborl.hu/articles/building-a-modbus-greenhouse-controller-with-arduino</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/building-a-modbus-greenhouse-controller-with-arduino</guid>
      <pubDate>Mon, 03 Feb 2025 09:00:00 GMT</pubDate>
      <description>For greenhouse automation, I wanted a protocol that survives long cable runs and noisy environments. Modbus RTU over RS485 is still one of the best options for this type of deployment.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Reliable SD Card Data Logging on Arduino</title>
      <link>https://gaborl.hu/articles/reliable-sd-card-data-logging-on-arduino</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/reliable-sd-card-data-logging-on-arduino</guid>
      <pubDate>Sun, 26 Jan 2025 09:00:00 GMT</pubDate>
      <description>Writing to SD cards looks straightforward until you hit power interruptions. I lost enough logs to treat write integrity as a first-class feature. My format is append-only CSV with periodic file sync.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Tuning PID Motor Control on Arduino Without Guesswork</title>
      <link>https://gaborl.hu/articles/tuning-pid-motor-control-on-arduino-without-guesswork</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/tuning-pid-motor-control-on-arduino-without-guesswork</guid>
      <pubDate>Mon, 20 Jan 2025 09:00:00 GMT</pubDate>
      <description>PID tuning by trial-and-error is slow and inconsistent. I now tune from measured step responses and keep every run logged. First, I characterize the motor and load using open-loop PWM sweeps.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Versioned EEPROM Settings on Arduino</title>
      <link>https://gaborl.hu/articles/versioned-eeprom-settings-on-arduino</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/versioned-eeprom-settings-on-arduino</guid>
      <pubDate>Sun, 12 Jan 2025 09:00:00 GMT</pubDate>
      <description>As firmware evolves, stored settings formats change. If EEPROM layout is not versioned, upgrades can silently load garbage and produce hard-to-diagnose behavior.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Kiosk Mode for Reliable Signage</title>
      <link>https://gaborl.hu/articles/raspberry-pi-kiosk-mode-for-reliable-signage</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-kiosk-mode-for-reliable-signage</guid>
      <pubDate>Wed, 08 Jan 2025 09:00:00 GMT</pubDate>
      <description>A kiosk device needs predictable behavior after power cuts and network drops. My Raspberry Pi setup starts from a minimal OS image with only the packages required for display and remote maintenance.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Running an MQTT Edge Broker on Raspberry Pi</title>
      <link>https://gaborl.hu/articles/running-an-mqtt-edge-broker-on-raspberry-pi</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/running-an-mqtt-edge-broker-on-raspberry-pi</guid>
      <pubDate>Mon, 30 Dec 2024 09:00:00 GMT</pubDate>
      <description>Cloud-only IoT pipelines are brittle during connectivity outages. I prefer running a local MQTT broker on Raspberry Pi and forwarding data upstream when possible.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>A Raspberry Pi Camera Timelapse Pipeline</title>
      <link>https://gaborl.hu/articles/a-raspberry-pi-camera-timelapse-pipeline</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/a-raspberry-pi-camera-timelapse-pipeline</guid>
      <pubDate>Thu, 19 Dec 2024 09:00:00 GMT</pubDate>
      <description>Timelapse projects become messy when image capture, storage cleanup, and rendering are manual. On Raspberry Pi, I run the whole flow as scheduled services.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Secure Remote Access to Raspberry Pi with WireGuard</title>
      <link>https://gaborl.hu/articles/secure-remote-access-to-raspberry-pi-with-wireguard</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/secure-remote-access-to-raspberry-pi-with-wireguard</guid>
      <pubDate>Sun, 15 Dec 2024 09:00:00 GMT</pubDate>
      <description>Exposing SSH or dashboards directly to the internet is unnecessary risk for small deployments. WireGuard gives a cleaner and safer remote access model.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Systemd Service Patterns for Raspberry Pi Projects</title>
      <link>https://gaborl.hu/articles/systemd-service-patterns-for-raspberry-pi-projects</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/systemd-service-patterns-for-raspberry-pi-projects</guid>
      <pubDate>Wed, 11 Dec 2024 09:00:00 GMT</pubDate>
      <description>Once Raspberry Pi projects move from prototype to unattended deployment, process supervision matters more than application code.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Raspberry Pi I2C Diagnostics in Mixed Sensor Setups</title>
      <link>https://gaborl.hu/articles/raspberry-pi-i2c-diagnostics-in-mixed-sensor-setups</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-i2c-diagnostics-in-mixed-sensor-setups</guid>
      <pubDate>Thu, 28 Nov 2024 09:00:00 GMT</pubDate>
      <description>Mixed sensor stacks on Raspberry Pi frequently fail because of address collisions and inconsistent voltage assumptions. I now audit every module before wiring.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Arduino Sensor Node Architecture That Survives Real Deployments</title>
      <link>https://gaborl.hu/articles/arduino-sensor-node-architecture-that-survives-real-deployments</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/arduino-sensor-node-architecture-that-survives-real-deployments</guid>
      <pubDate>Tue, 26 Nov 2024 09:00:00 GMT</pubDate>
      <description>Small Arduino prototypes often fail when moved into real environments. The cause is rarely one major bug. It is usually the accumulation of power noise, slow memory leaks, missing timeouts, and weak recovery behavior.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Homelab Observability Stack from Zero</title>
      <link>https://gaborl.hu/articles/raspberry-pi-homelab-observability-stack-from-zero</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-homelab-observability-stack-from-zero</guid>
      <pubDate>Thu, 14 Nov 2024 09:00:00 GMT</pubDate>
      <description>Most Raspberry Pi projects run fine until they do not. Without metrics and logs, troubleshooting becomes guesswork. This post describes a minimal but production-like observability stack that fits on Pi hardware.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Rust Tokio Gateway Architecture for Device Fleets</title>
      <link>https://gaborl.hu/articles/rust-tokio-gateway-architecture-for-device-fleets</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/rust-tokio-gateway-architecture-for-device-fleets</guid>
      <pubDate>Tue, 12 Nov 2024 09:00:00 GMT</pubDate>
      <description>A gateway service sits between unreliable devices and downstream reliable infrastructure. If the gateway collapses under burst load or network instability, the whole system suffers.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Building Fast Serial CLI Tools in Rust</title>
      <link>https://gaborl.hu/articles/building-fast-serial-cli-tools-in-rust</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/building-fast-serial-cli-tools-in-rust</guid>
      <pubDate>Sun, 03 Nov 2024 09:00:00 GMT</pubDate>
      <description>Serial debugging is still central in embedded work, and Rust is excellent for building reliable terminal tooling. I structure serial utilities as pipelines: read bytes, frame messages, parse the protocol, then route structured events out.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Designing a Fail-Safe Pump Controller with Arduino</title>
      <link>https://gaborl.hu/articles/designing-a-fail-safe-pump-controller-with-arduino</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/designing-a-fail-safe-pump-controller-with-arduino</guid>
      <pubDate>Wed, 30 Oct 2024 09:00:00 GMT</pubDate>
      <description>A pump controller is not a toy project once water, pressure, and unattended operation are involved. The goal is not just controlling a relay.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Backup and Disaster Recovery That Actually Works</title>
      <link>https://gaborl.hu/articles/raspberry-pi-backup-and-disaster-recovery-that-actually-works</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-backup-and-disaster-recovery-that-actually-works</guid>
      <pubDate>Fri, 18 Oct 2024 09:00:00 GMT</pubDate>
      <description>Many Pi setups claim to have backups but fail the first real restore. A backup is only valid if recovery has been tested against realistic failure scenarios.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Rust no_std Patterns for Embedded Systems</title>
      <link>https://gaborl.hu/articles/rust-no-std-patterns-for-embedded-systems</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/rust-no-std-patterns-for-embedded-systems</guid>
      <pubDate>Tue, 15 Oct 2024 09:00:00 GMT</pubDate>
      <description>Writing `no_std` Rust firmware requires different habits than server Rust. Memory is constrained, timing is strict, and panic strategy must be deliberate.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Embedded State Machines in Rust</title>
      <link>https://gaborl.hu/articles/embedded-state-machines-in-rust</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/embedded-state-machines-in-rust</guid>
      <pubDate>Thu, 03 Oct 2024 09:00:00 GMT</pubDate>
      <description>Many firmware bugs are actually invalid state transitions. Rust helps by making state explicit and hard to misuse, modelling each controller state as an enum variant with transitions that consume the old state and return the next one.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>A Lightweight IoT API in Rust with Axum</title>
      <link>https://gaborl.hu/articles/a-lightweight-iot-api-in-rust-with-axum</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/a-lightweight-iot-api-in-rust-with-axum</guid>
      <pubDate>Mon, 30 Sep 2024 09:00:00 GMT</pubDate>
      <description>For small IoT backends, Axum provides enough structure without heavy framework overhead. My baseline service exposes ingestion, latest status, and historical query endpoints.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Error Handling Patterns in Rust: anyhow + thiserror</title>
      <link>https://gaborl.hu/articles/error-handling-patterns-in-rust-anyhow-thiserror</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/error-handling-patterns-in-rust-anyhow-thiserror</guid>
      <pubDate>Mon, 23 Sep 2024 09:00:00 GMT</pubDate>
      <description>A common mistake in Rust projects is mixing application and library error styles. I use `thiserror` for typed library errors and `anyhow` for top-level binaries. Libraries expose specific variants so callers can branch by cause.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Rust Cross-Compilation for ARM Targets</title>
      <link>https://gaborl.hu/articles/rust-cross-compilation-for-arm-targets</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/rust-cross-compilation-for-arm-targets</guid>
      <pubDate>Wed, 18 Sep 2024 09:00:00 GMT</pubDate>
      <description>Cross-compiling Rust is easy to start and hard to standardize across teams. I treat toolchains as part of the project, not local machine state. Target triples, linker config, and environment variables live in versioned project files.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Testing Hardware Abstractions in Rust</title>
      <link>https://gaborl.hu/articles/testing-hardware-abstractions-in-rust</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/testing-hardware-abstractions-in-rust</guid>
      <pubDate>Mon, 09 Sep 2024 09:00:00 GMT</pubDate>
      <description>Hardware abstraction layers are where embedded code often becomes difficult to test. I design traits around capabilities, then keep business logic independent from concrete drivers.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Arduino Sensor Calibration and Filtering Playbook</title>
      <link>https://gaborl.hu/articles/arduino-sensor-calibration-and-filtering-playbook</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/arduino-sensor-calibration-and-filtering-playbook</guid>
      <pubDate>Sat, 31 Aug 2024 09:00:00 GMT</pubDate>
      <description>Many embedded dashboards look stable only because noise is hidden by aggressive averaging. That is not the same as accurate measurement.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Edge AI Camera Pipeline: Practical Design</title>
      <link>https://gaborl.hu/articles/raspberry-pi-edge-ai-camera-pipeline-practical-design</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-edge-ai-camera-pipeline-practical-design</guid>
      <pubDate>Thu, 22 Aug 2024 09:00:00 GMT</pubDate>
      <description>Running AI inference on Raspberry Pi is possible, but stable operation needs careful pipeline design. Most failures come from bottlenecks in capture, preprocessing, or storage, not from the model itself.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Special Project: RiverSentinel Water Quality Mesh</title>
      <link>https://gaborl.hu/articles/special-project-riversentinel-water-quality-mesh</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-riversentinel-water-quality-mesh</guid>
      <pubDate>Tue, 20 Aug 2024 09:00:00 GMT</pubDate>
      <description>RiverSentinel was designed for environmental monitoring teams that need faster incident detection than manual sampling can provide, but also need evidence quality high enough for response workflows.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Special Project: Garage Microgrid Orchestrator</title>
      <link>https://gaborl.hu/articles/special-project-garage-microgrid-orchestrator</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-garage-microgrid-orchestrator</guid>
      <pubDate>Fri, 09 Aug 2024 09:00:00 GMT</pubDate>
      <description>This project started with a practical question: can a small home lab run like a disciplined microgrid instead of a set of independent devices fighting each other?</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Rust Testing Pyramid for Hardware-Connected Projects</title>
      <link>https://gaborl.hu/articles/rust-testing-pyramid-for-hardware-connected-projects</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/rust-testing-pyramid-for-hardware-connected-projects</guid>
      <pubDate>Thu, 01 Aug 2024 09:00:00 GMT</pubDate>
      <description>Hardware-connected software fails at boundaries: timing edges, flaky links, and rare protocol states. A strong test strategy must combine fast feedback with realistic integration checks.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Special Project: CNCSense Retrofitted Predictive Maintenance</title>
      <link>https://gaborl.hu/articles/special-project-cncsense-retrofitted-predictive-maintenance</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-cncsense-retrofitted-predictive-maintenance</guid>
      <pubDate>Tue, 30 Jul 2024 09:00:00 GMT</pubDate>
      <description>CNCSense was built to solve a common manufacturing pain: legacy machines fail without enough warning, and maintenance teams are forced into reactive firefighting.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>ESP32 Wi-Fi Recovery Patterns for Unstable Networks</title>
      <link>https://gaborl.hu/articles/esp32-wifi-recovery-patterns-for-unstable-networks</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/esp32-wifi-recovery-patterns-for-unstable-networks</guid>
      <pubDate>Fri, 19 Jul 2024 09:00:00 GMT</pubDate>
      <description>Many ESP32 projects run perfectly on a developer desk and collapse once deployed in apartments, offices, or industrial spaces with noisy Wi-Fi conditions. The main mistake is treating every disconnect as an exceptional event.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Special Project: BatGuard Urban Biodiversity Edge AI</title>
      <link>https://gaborl.hu/articles/special-project-batguard-urban-biodiversity-edge-ai</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-batguard-urban-biodiversity-edge-ai</guid>
      <pubDate>Wed, 17 Jul 2024 09:00:00 GMT</pubDate>
      <description>BatGuard is an urban biodiversity platform designed for one hard reality: ecological signals are noisy, and policy action requires credible evidence.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Special Project: AquaForge Aquaponics Digital Twin</title>
      <link>https://gaborl.hu/articles/special-project-aquaforge-aquaponics-digital-twin</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-aquaforge-aquaponics-digital-twin</guid>
      <pubDate>Wed, 10 Jul 2024 09:00:00 GMT</pubDate>
      <description>AquaForge started as a home-scale aquaponics controller and evolved into a real digital twin platform. The core idea was to move from reactive control to predictive operation: detect chemistry drift early and simulate intervention outcomes.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Home Assistant + MQTT Device Modeling Done Right</title>
      <link>https://gaborl.hu/articles/home-assistant-mqtt-device-modeling-done-right</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/home-assistant-mqtt-device-modeling-done-right</guid>
      <pubDate>Tue, 02 Jul 2024 09:00:00 GMT</pubDate>
      <description>The quickest way to create a messy smart home stack is to publish raw topics without a clear model. Home Assistant integration works best when device identity, telemetry, and commands are explicitly designed.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Special Project: Frostwatch Vineyard Frost Defense Network</title>
      <link>https://gaborl.hu/articles/special-project-frostwatch-vineyard-frost-defense-network</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/special-project-frostwatch-vineyard-frost-defense-network</guid>
      <pubDate>Sun, 23 Jun 2024 09:00:00 GMT</pubDate>
      <description>Frostwatch is one of the most practical systems I have built: a distributed frost-risk platform for vineyards where timing matters more than dashboards. If you detect frost risk 20 minutes too late, the damage is already done.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>LoRa Sensor Node Power Budgeting in Practice</title>
      <link>https://gaborl.hu/articles/lora-sensor-node-power-budgeting-in-practice</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/lora-sensor-node-power-budgeting-in-practice</guid>
      <pubDate>Wed, 19 Jun 2024 09:00:00 GMT</pubDate>
      <description>LoRa is chosen for range and efficiency, but many nodes still miss battery targets by a large margin. The reason is usually poor budgeting assumptions and missing field validation.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>KiCad PCB Review Checklist Before Sending to Fabrication</title>
      <link>https://gaborl.hu/articles/kicad-pcb-review-checklist-before-sending-to-fabrication</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/kicad-pcb-review-checklist-before-sending-to-fabrication</guid>
      <pubDate>Sun, 09 Jun 2024 09:00:00 GMT</pubDate>
      <description>PCB re-spins are expensive in time and momentum. A disciplined pre-fabrication review catches most avoidable failures. This checklist focuses on practical issues seen in mixed embedded boards.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Embedded Power Supply Design Basics for Mixed Sensor Systems</title>
      <link>https://gaborl.hu/articles/embedded-power-supply-design-basics-for-mixed-sensor-systems</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/embedded-power-supply-design-basics-for-mixed-sensor-systems</guid>
      <pubDate>Sun, 02 Jun 2024 09:00:00 GMT</pubDate>
      <description>Unstable power is behind a large share of embedded bugs: random resets, noisy ADC values, communication drops, and drifting sensor readings. Good power design is often the highest-leverage hardware improvement.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Outdoor Sensor Enclosure Design Beyond &apos;It Fits in a Box&apos;</title>
      <link>https://gaborl.hu/articles/outdoor-sensor-enclosure-design-beyond-it-fits-in-a-box</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/outdoor-sensor-enclosure-design-beyond-it-fits-in-a-box</guid>
      <pubDate>Sat, 25 May 2024 09:00:00 GMT</pubDate>
      <description>Outdoor deployments fail more from enclosure mistakes than from firmware defects. A box that looks sealed on day one can trap condensation, stress connectors, and destroy electronics over time.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Linux Edge Device Hardening Checklist</title>
      <link>https://gaborl.hu/articles/linux-edge-device-hardening-checklist</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/linux-edge-device-hardening-checklist</guid>
      <pubDate>Fri, 17 May 2024 09:00:00 GMT</pubDate>
      <description>Edge devices frequently run with broad network exposure and weak maintenance. Security hardening has to be practical, repeatable, and automation-friendly.</description>
      <category>devops</category>
    </item>
    <item>
      <title>MQTT Topic Design and Governance for Growing Projects</title>
      <link>https://gaborl.hu/articles/mqtt-topic-design-and-governance-for-growing-projects</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/mqtt-topic-design-and-governance-for-growing-projects</guid>
      <pubDate>Sat, 11 May 2024 09:00:00 GMT</pubDate>
      <description>MQTT starts simple and becomes chaotic quickly if naming, ownership, and evolution rules are not defined. Topic governance is not bureaucracy. It is how teams avoid accidental coupling and fragile integrations.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>IoT Telemetry Schema Versioning Strategies</title>
      <link>https://gaborl.hu/articles/iot-telemetry-schema-versioning-strategies</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/iot-telemetry-schema-versioning-strategies</guid>
      <pubDate>Sat, 04 May 2024 09:00:00 GMT</pubDate>
      <description>Telemetry schema changes are inevitable: new sensors, renamed fields, unit corrections, derived metrics. If evolution is unmanaged, dashboards break silently and analytics lose trust.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>OTA Update Strategy for Microcontrollers Without Bricking Devices</title>
      <link>https://gaborl.hu/articles/ota-update-strategy-for-microcontrollers-without-bricking-devices</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/ota-update-strategy-for-microcontrollers-without-bricking-devices</guid>
      <pubDate>Wed, 01 May 2024 09:00:00 GMT</pubDate>
      <description>OTA updates are high leverage and high risk. A weak update process can brick large parts of a fleet quickly. A strong one reduces support load and security risk while preserving device availability.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Raspberry Pi Docker Compose Patterns for Stable Homelabs</title>
      <link>https://gaborl.hu/articles/raspberry-pi-docker-compose-patterns-for-stable-homelabs</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/raspberry-pi-docker-compose-patterns-for-stable-homelabs</guid>
      <pubDate>Fri, 19 Apr 2024 09:00:00 GMT</pubDate>
      <description>Docker Compose is ideal for Raspberry Pi homelabs, but many setups become fragile because of ad-hoc service definitions and weak data persistence planning.</description>
      <category>raspberry-pi</category>
    </item>
    <item>
      <title>Rust Telemetry Pipelines: Protobuf vs JSON Tradeoffs</title>
      <link>https://gaborl.hu/articles/rust-telemetry-pipelines-protobuf-vs-json-tradeoffs</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/rust-telemetry-pipelines-protobuf-vs-json-tradeoffs</guid>
      <pubDate>Wed, 17 Apr 2024 09:00:00 GMT</pubDate>
      <description>Detailed comparison of Protobuf and JSON in Rust telemetry pipelines across performance, compatibility, and operability.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Debian 12 Hardening Retrospective: What I Changed on a Public VPS</title>
      <link>https://gaborl.hu/articles/debian-12-hardening-retrospective-what-i-changed-on-a-public-vps</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/debian-12-hardening-retrospective-what-i-changed-on-a-public-vps</guid>
      <pubDate>Wed, 10 Apr 2024 09:00:00 GMT</pubDate>
      <description>A long retrospective on how I hardened a Debian 12 VPS for public internet exposure with practical config details and operational lessons.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Apache2 Reverse Proxy for Legacy Apps: A Migration Retrospective</title>
      <link>https://gaborl.hu/articles/apache2-reverse-proxy-for-legacy-apps-a-migration-retrospective</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/apache2-reverse-proxy-for-legacy-apps-a-migration-retrospective</guid>
      <pubDate>Wed, 03 Apr 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on using Apache2 as a reverse proxy in front of legacy internal applications with TLS, auth, and rollout control.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Nginx Edge Caching and Zero-Downtime Deployments: What Actually Worked</title>
      <link>https://gaborl.hu/articles/nginx-edge-caching-and-zero-downtime-deployments-what-actually-worked</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/nginx-edge-caching-and-zero-downtime-deployments-what-actually-worked</guid>
      <pubDate>Wed, 27 Mar 2024 09:00:00 GMT</pubDate>
      <description>A long practical report on setting up Nginx edge caching and predictable zero-downtime deployments on a small VPS stack.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Traefik Routing at Scale in a Homelab: What Broke and What Held</title>
      <link>https://gaborl.hu/articles/traefik-routing-at-scale-in-homelab-what-broke-and-what-held</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/traefik-routing-at-scale-in-homelab-what-broke-and-what-held</guid>
      <pubDate>Tue, 19 Mar 2024 09:00:00 GMT</pubDate>
      <description>A deep retrospective on running Traefik for many self-hosted services with dynamic routing, middleware policy, and safer operations.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Kubernetes in a Homelab: Lessons from My k3s Cluster</title>
      <link>https://gaborl.hu/articles/kubernetes-in-a-homelab-lessons-from-my-k3s-cluster</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/kubernetes-in-a-homelab-lessons-from-my-k3s-cluster</guid>
      <pubDate>Mon, 11 Mar 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on building and operating a small k3s Kubernetes cluster in a homelab, including networking, storage, and reliability lessons.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Ansible Infra-as-Code Retrospective: How I Stopped Snowflake Servers</title>
      <link>https://gaborl.hu/articles/ansible-infra-as-code-retrospective-how-i-stopped-snowflake-servers</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/ansible-infra-as-code-retrospective-how-i-stopped-snowflake-servers</guid>
      <pubDate>Tue, 27 Feb 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on migrating small VPS and homelab hosts to Ansible-managed infrastructure with practical role and rollout patterns.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Proxmox Homelab Cluster Retrospective: Stability Before Complexity</title>
      <link>https://gaborl.hu/articles/proxmox-homelab-cluster-retrospective-stability-before-complexity</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/proxmox-homelab-cluster-retrospective-stability-before-complexity</guid>
      <pubDate>Sun, 18 Feb 2024 09:00:00 GMT</pubDate>
      <description>A long retrospective on building a reliable Proxmox homelab cluster with practical lessons on storage, backups, networking, and operations.</description>
      <category>devops</category>
    </item>
    <item>
      <title>CI/CD Retrospective: GitHub Actions with a Self-Hosted Runner</title>
      <link>https://gaborl.hu/articles/cicd-retrospective-github-actions-with-a-self-hosted-runner</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/cicd-retrospective-github-actions-with-a-self-hosted-runner</guid>
      <pubDate>Fri, 09 Feb 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on building a safer CI/CD pipeline with GitHub Actions and a self-hosted runner for infrastructure and web deployments.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Observability Stack Retrospective: Prometheus, Grafana, and Loki in Practice</title>
      <link>https://gaborl.hu/articles/observability-stack-retrospective-prometheus-grafana-and-loki-in-practice</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/observability-stack-retrospective-prometheus-grafana-and-loki-in-practice</guid>
      <pubDate>Wed, 31 Jan 2024 09:00:00 GMT</pubDate>
      <description>A long-form retrospective on building an observability stack with Prometheus, Grafana, and Loki, focused on practical alerting and incident response.</description>
      <category>devops</category>
    </item>
    <item>
      <title>Backup and Disaster Recovery Retrospective: The Drills That Changed Everything</title>
      <link>https://gaborl.hu/articles/backup-and-disaster-recovery-retrospective-the-drills-that-changed-everything</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/backup-and-disaster-recovery-retrospective-the-drills-that-changed-everything</guid>
      <pubDate>Mon, 22 Jan 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on backup and disaster recovery drills across homelab and VPS services, including RPO/RTO design and practical runbooks.</description>
      <category>devops</category>
    </item>
    <item>
      <title>PostgreSQL Performance Tuning Retrospective: From Slow Queries to Stable Latency</title>
      <link>https://gaborl.hu/articles/postgresql-performance-tuning-retrospective-from-slow-queries-to-stable-latency</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/postgresql-performance-tuning-retrospective-from-slow-queries-to-stable-latency</guid>
      <pubDate>Wed, 17 Jan 2024 09:00:00 GMT</pubDate>
      <description>A deep retrospective on tuning PostgreSQL performance with query analysis, index strategy, autovacuum adjustments, and connection management improvements.</description>
      <category>devops</category>
    </item>
    <item>
      <title>WireGuard Site-to-Site Retrospective: Secure Connectivity Without the Usual Pain</title>
      <link>https://gaborl.hu/articles/wireguard-site-to-site-retrospective-secure-connectivity-without-the-usual-pain</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/wireguard-site-to-site-retrospective-secure-connectivity-without-the-usual-pain</guid>
      <pubDate>Wed, 10 Jan 2024 09:00:00 GMT</pubDate>
      <description>A practical retrospective on building a reliable WireGuard site-to-site VPN between home lab and VPS environments with routing, MTU, and operational hardening lessons.</description>
      <category>homelab</category>
    </item>
    <item>
      <title>Terraform Environment Lifecycle Retrospective: What Finally Made It Predictable</title>
      <link>https://gaborl.hu/articles/terraform-environment-lifecycle-retrospective-what-finally-made-it-predictable</link>
      <guid isPermaLink="true">https://gaborl.hu/articles/terraform-environment-lifecycle-retrospective-what-finally-made-it-predictable</guid>
      <pubDate>Wed, 03 Jan 2024 09:00:00 GMT</pubDate>
      <description>A detailed retrospective on stabilizing Terraform workflows for multi-environment infrastructure with safer state handling, drift detection, and rollout governance.</description>
      <category>devops</category>
    </item>
  </channel>
</rss>
