<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Harshith Sunku — Blog</title><description>Systems engineer who lives below the abstraction layer. Networking, kernel internals, performance engineering — I write about the things most people hand-wave past.</description><link>https://harshith.in/</link><language>en-us</language><lastBuildDate>Sun, 19 Apr 2026 05:07:56 GMT</lastBuildDate><managingEditor>harshithsunku@gmail.com (Harshith Sunku)</managingEditor><webMaster>harshithsunku@gmail.com (Harshith Sunku)</webMaster><item><title>eBPF for Production Debugging: Kernel Instrumentation Without Rebooting</title><link>https://harshith.in/blog/ebpf-production-debugging/</link><guid isPermaLink="true">https://harshith.in/blog/ebpf-production-debugging/</guid><description>How eBPF changed production debugging — attaching probes to kernel functions, tracing syscalls, measuring latency histograms, and XDP packet processing, all without touching application code or rebooting.</description><pubDate>Sat, 21 Mar 2026 07:53:59 GMT</pubDate><category>ebpf</category><category>kernel</category><category>performance</category><category>debugging</category><category>linux</category></item><item><title>ESP32 Wake-on-LAN over MQTT with ESP-IDF</title><link>https://harshith.in/blog/esp32-mqtt-wake-on-lan/</link><guid isPermaLink="true">https://harshith.in/blog/esp32-mqtt-wake-on-lan/</guid><description>Using an ESP32 and ESP-IDF to build a network-aware Wake-on-LAN trigger — power on machines remotely over MQTT without an always-on server in between.</description><pubDate>Sat, 21 Mar 2026 07:53:59 GMT</pubDate><category>embedded</category><category>networking</category><category>systems</category><category>c</category></item><item><title>Writing a 16-bit Real Mode Bootloader in x86 Assembly</title><link>https://harshith.in/blog/real-mode-bootloader-assembly/</link><guid isPermaLink="true">https://harshith.in/blog/real-mode-bootloader-assembly/</guid><description>The first 512 bytes that run when your machine powers on. A walkthrough of x86 real mode, the BIOS interrupt interface, segment:offset addressing, and what it takes to load a second stage.</description><pubDate>Sat, 21 Mar 2026 07:53:59 GMT</pubDate><category>assembly</category><category>systems</category><category>kernel</category><category>linux</category></item><item><title>Thread-Safe Logging in C: Lock-Free Queues and Why They&apos;re Hard</title><link>https://harshith.in/blog/thread-safe-logging-c-lock-free/</link><guid isPermaLink="true">https://harshith.in/blog/thread-safe-logging-c-lock-free/</guid><description>Inside ThreadSafeCLogger: how to build a high-performance logging library that doesn&apos;t serialize your threads, using per-thread SPSC ring buffers and careful memory ordering.</description><pubDate>Sat, 21 Mar 2026 07:53:59 GMT</pubDate><category>c</category><category>threading</category><category>performance</category><category>systems</category></item><item><title>Building a Software TCP/IP Stack from Scratch in C</title><link>https://harshith.in/blog/software-tcp-ip-stack-c/</link><guid isPermaLink="true">https://harshith.in/blog/software-tcp-ip-stack-c/</guid><description>A deep dive into implementing a functional TCP/IP stack entirely in software — covering Ethernet framing, ARP, IP routing, TCP state machines, and the painful lessons learned along the way.</description><pubDate>Sat, 21 Mar 2026 07:53:59 GMT</pubDate><category>networking</category><category>c</category><category>tcp-ip</category><category>systems</category></item></channel></rss>