<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss/styles.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Pranesh Nikhar</title><description>Personal website and blog of Pranesh Nikhar -- thoughts, projects, and everything in between.</description><link>https://praneshnikhar.site/</link><item><title>[post] ⚙️ What Actually Happens When You Run a Program</title><link>https://praneshnikhar.site/posts/what-happens-when-you-run-a-program/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/what-happens-when-you-run-a-program/</guid><description>From `./a.out` to `exit()` — the full journey through ELF loading, fork+exec, virtual memory layout, syscalls, page faults, context switches, and kernel mode.</description><pubDate>Sat, 27 Jun 2026 15:58:00 GMT</pubDate><content:encoded>From `./a.out` to `exit()` — the full journey through ELF loading, fork+exec, virtual memory layout, syscalls, page faults, context switches, and kernel mode.</content:encoded><category>post</category></item><item><title>[post] 🧩 LeetCode vs Real Engineering Skills</title><link>https://praneshnikhar.site/posts/leetcode-vs-engineering/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/leetcode-vs-engineering/</guid><description>LeetCode measures pattern recognition and speed under pressure. Real engineering is about system design, debugging, communication, and trade-offs. Here is how to navigate both worlds.</description><pubDate>Fri, 26 Jun 2026 08:12:00 GMT</pubDate><content:encoded>LeetCode measures pattern recognition and speed under pressure. Real engineering is about system design, debugging, communication, and trade-offs. Here is how to navigate both worlds.</content:encoded><category>post</category></item><item><title>[post] 🗄️ How PostgreSQL MVCC Works — Multi-Version Concurrency Control Deep Dive</title><link>https://praneshnikhar.site/posts/postgres-mvcc/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/postgres-mvcc/</guid><description>How PostgreSQL handles concurrent reads and writes without locking through Multi-Version Concurrency Control — xmin/xmax system columns, transaction snapshots, isolation levels, vacuum internals, and tuple visibility rules.</description><pubDate>Tue, 23 Jun 2026 13:49:00 GMT</pubDate><content:encoded>How PostgreSQL handles concurrent reads and writes without locking through Multi-Version Concurrency Control — xmin/xmax system columns, transaction snapshots, isolation levels, vacuum internals, and tuple visibility rules.</content:encoded><category>post</category></item><item><title>[post] 🌐 CAP Theorem with a Real Outage Story</title><link>https://praneshnikhar.site/posts/cap-theorem-outage-story/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/cap-theorem-outage-story/</guid><description>CAP theorem defined, why &quot;pick two&quot; is wrong, real outage stories from GitHub and DynamoDB, CP vs AP systems, CRDTs, tunable consistency, and a trade-off decision table for real workloads.</description><pubDate>Mon, 04 May 2026 04:51:00 GMT</pubDate><content:encoded>CAP theorem defined, why &quot;pick two&quot; is wrong, real outage stories from GitHub and DynamoDB, CP vs AP systems, CRDTs, tunable consistency, and a trade-off decision table for real workloads.</content:encoded><category>post</category></item><item><title>[post] ✈️ CodePilot — From Requirements to Deployable FastAPI Backend</title><link>https://praneshnikhar.site/posts/codepilot/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/codepilot/</guid><description>An automation agent that reads natural-language requirements and existing FastAPI code, reverse-engineers DB schemas, generates migrations, creates databases, and produces deployment configs — all with zero external dependencies.</description><pubDate>Sun, 03 May 2026 11:25:00 GMT</pubDate><content:encoded>An automation agent that reads natural-language requirements and existing FastAPI code, reverse-engineers DB schemas, generates migrations, creates databases, and produces deployment configs — all with zero external dependencies.</content:encoded><category>post</category></item><item><title>[post] 🔐 Common Auth Mistakes Developers Make</title><link>https://praneshnikhar.site/posts/common-auth-mistakes/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/common-auth-mistakes/</guid><description>Five critical JWT pitfalls (alg=none, HS256/RS256 confusion, localStorage XSS, infinite tokens, kid injection), session vs token tradeoffs, CSRF, refresh token rotation, and why PASETO is worth knowing about.</description><pubDate>Fri, 01 May 2026 15:34:00 GMT</pubDate><content:encoded>Five critical JWT pitfalls (alg=none, HS256/RS256 confusion, localStorage XSS, infinite tokens, kid injection), session vs token tradeoffs, CSRF, refresh token rotation, and why PASETO is worth knowing about.</content:encoded><category>post</category></item><item><title>[post] 🎬 PlayCLI — Terminal Video Player</title><link>https://praneshnikhar.site/posts/playcli/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/playcli/</guid><description>Real-time video playback in your terminal using ANSI true-color escape sequences, with 5 render modes, audio sync, subtitles, and adaptive quality.</description><pubDate>Fri, 01 May 2026 18:55:00 GMT</pubDate><content:encoded>Real-time video playback in your terminal using ANSI true-color escape sequences, with 5 render modes, audio sync, subtitles, and adaptive quality.</content:encoded><category>post</category></item><item><title>[post] 🦾 Getman — Declarative API Tester for CLI &amp; TUI</title><link>https://praneshnikhar.site/posts/getman/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/getman/</guid><description>Define API routes in TOML config files, run them from terminal or TUI with assertions and extractors. Like Postman for your shell, with CI-friendly output.</description><pubDate>Thu, 23 Apr 2026 06:17:00 GMT</pubDate><content:encoded>Define API routes in TOML config files, run them from terminal or TUI with assertions and extractors. Like Postman for your shell, with CI-friendly output.</content:encoded><category>post</category></item><item><title>[post] ⚡ Functional vs OOP — Same Problem, Both Ways</title><link>https://praneshnikhar.site/posts/functional-vs-oop/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/functional-vs-oop/</guid><description>The same order processing system implemented in OOP and functional styles — classes with mutation vs pure functions with immutable data — so you can compare tradeoffs directly.</description><pubDate>Wed, 22 Apr 2026 15:49:00 GMT</pubDate><content:encoded>The same order processing system implemented in OOP and functional styles — classes with mutation vs pure functions with immutable data — so you can compare tradeoffs directly.</content:encoded><category>post</category></item><item><title>[post] 🔄 FixLoop — AI Agent Loop for Self-Correcting Code</title><link>https://praneshnikhar.site/posts/fixloop/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/fixloop/</guid><description>An AI agent that writes code, runs tests, spots failures, and retries until everything passes. Supports OpenAI, Gemini, Groq, and Ollama.</description><pubDate>Mon, 13 Apr 2026 04:34:00 GMT</pubDate><content:encoded>An AI agent that writes code, runs tests, spots failures, and retries until everything passes. Supports OpenAI, Gemini, Groq, and Ollama.</content:encoded><category>post</category></item><item><title>[post] ⛵ Raft Consensus Algorithm Explained</title><link>https://praneshnikhar.site/posts/raft-consensus/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/raft-consensus/</guid><description>How Raft solves distributed consensus through leader election, log replication, and safety guarantees — with the bus tour guide analogy, term-based time, and real-world systems like etcd, Consul, and CockroachDB.</description><pubDate>Fri, 10 Apr 2026 05:18:00 GMT</pubDate><content:encoded>How Raft solves distributed consensus through leader election, log replication, and safety guarantees — with the bus tour guide analogy, term-based time, and real-world systems like etcd, Consul, and CockroachDB.</content:encoded><category>post</category></item><item><title>[post] 🌐 What Happens Between Typing a URL and Seeing the Page</title><link>https://praneshnikhar.site/posts/what-happens-url/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/what-happens-url/</guid><description>A deep dive into the journey of a single URL — URL parsing, DNS resolution, TCP/TLS handshakes, HTTP requests, server processing, and browser rendering — with a full timing breakdown.</description><pubDate>Fri, 10 Apr 2026 08:30:00 GMT</pubDate><content:encoded>A deep dive into the journey of a single URL — URL parsing, DNS resolution, TCP/TLS handshakes, HTTP requests, server processing, and browser rendering — with a full timing breakdown.</content:encoded><category>post</category></item><item><title>[post] 🔐 Zero-Knowledge Proofs Explained Simply</title><link>https://praneshnikhar.site/posts/zero-knowledge-proofs/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/zero-knowledge-proofs/</guid><description>What if you could prove you know a secret without revealing any part of it? Zero-knowledge proofs make this possible — here is how they work, from the Ali Baba cave analogy to zk-SNARKs on Ethereum.</description><pubDate>Thu, 09 Apr 2026 18:11:00 GMT</pubDate><content:encoded>What if you could prove you know a secret without revealing any part of it? Zero-knowledge proofs make this possible — here is how they work, from the Ali Baba cave analogy to zk-SNARKs on Ethereum.</content:encoded><category>post</category></item><item><title>[post] 🧠 Persistent Memory — Long-Term Memory for AI Agents via MCP</title><link>https://praneshnikhar.site/posts/persistent-memory/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/persistent-memory/</guid><description>MCP server that gives AI agents long-term memory with semantic search (vector embeddings) and keyword search (BM25). Zero infrastructure — just Python and SQLite.</description><pubDate>Sat, 04 Apr 2026 13:10:00 GMT</pubDate><content:encoded>MCP server that gives AI agents long-term memory with semantic search (vector embeddings) and keyword search (BM25). Zero infrastructure — just Python and SQLite.</content:encoded><category>post</category></item><item><title>[post] ⚡ HTTP/3 and QUIC — Why They Matter</title><link>https://praneshnikhar.site/posts/http3-quic/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/http3-quic/</guid><description>Why QUIC and HTTP/3 represent the biggest shift in web transport since HTTP/1.0 — solving head-of-line blocking, enabling connection migration, and cutting handshake overhead to zero.</description><pubDate>Thu, 02 Apr 2026 10:43:00 GMT</pubDate><content:encoded>Why QUIC and HTTP/3 represent the biggest shift in web transport since HTTP/1.0 — solving head-of-line blocking, enabling connection migration, and cutting handshake overhead to zero.</content:encoded><category>post</category></item><item><title>[post] 🦀 Rust Borrow Checker — Catches Real Bugs</title><link>https://praneshnikhar.site/posts/rust-borrow-checker/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/rust-borrow-checker/</guid><description>The borrow checker isn&apos;t just a compiler pedant — it prevents the C++ bugs that wake you at 3 AM. Iterator invalidation, use-after-free, and data races, caught at compile time.</description><pubDate>Sat, 28 Mar 2026 04:43:00 GMT</pubDate><content:encoded>The borrow checker isn&apos;t just a compiler pedant — it prevents the C++ bugs that wake you at 3 AM. Iterator invalidation, use-after-free, and data races, caught at compile time.</content:encoded><category>post</category></item><item><title>[post] 🧠 LLM from Scratch — GPT-Style Transformer in PyTorch</title><link>https://praneshnikhar.site/posts/llm-from-scratch/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/llm-from-scratch/</guid><description>A complete GPT-style decoder-only transformer built from scratch in PyTorch — no transformers library, no HF. BPE tokenizer, training loop, FastAPI server, and React chat frontend.</description><pubDate>Wed, 25 Mar 2026 07:21:00 GMT</pubDate><content:encoded>A complete GPT-style decoder-only transformer built from scratch in PyTorch — no transformers library, no HF. BPE tokenizer, training loop, FastAPI server, and React chat frontend.</content:encoded><category>post</category></item><item><title>[post] 🌳 LSM Trees &amp; Bloom Filters — Production Deep Dive</title><link>https://praneshnikhar.site/posts/lsm-trees-bloom-filters/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/lsm-trees-bloom-filters/</guid><description>Why LSM trees exist, how they work (MemTable → WAL → SSTable → compaction), the read path with bloom filters, tiered vs leveled compaction, write amplification, and the RUM conjecture.</description><pubDate>Mon, 23 Mar 2026 11:50:00 GMT</pubDate><content:encoded>Why LSM trees exist, how they work (MemTable → WAL → SSTable → compaction), the read path with bloom filters, tiered vs leveled compaction, write amplification, and the RUM conjecture.</content:encoded><category>post</category></item><item><title>[post] ⚡ Why Is X Language Fast or Slow? — Compiled vs JIT vs Interpreted</title><link>https://praneshnikhar.site/posts/compiled-vs-jit-vs-interpreted/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/compiled-vs-jit-vs-interpreted/</guid><description>The spectrum from AOT (C/Rust/Go) → JIT (Java V8/LuaJIT/PyPy) → interpreted (CPython/bash), what each tier costs, V8\u2019s 4-tier pipeline, PyPy\u2019s tracing JIT, monomorphization, and why &quot;compiled vs interpreted&quot; is the wrong question.</description><pubDate>Wed, 11 Mar 2026 04:34:00 GMT</pubDate><content:encoded>The spectrum from AOT (C/Rust/Go) → JIT (Java V8/LuaJIT/PyPy) → interpreted (CPython/bash), what each tier costs, V8\u2019s 4-tier pipeline, PyPy\u2019s tracing JIT, monomorphization, and why &quot;compiled vs interpreted&quot; is the wrong question.</content:encoded><category>post</category></item><item><title>[post] 🛡️ CVE-2025 Breach Analysis — Midnight Blizzard and the 16 Billion Credential Leak</title><link>https://praneshnikhar.site/posts/cve-2025-breach-analysis/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/cve-2025-breach-analysis/</guid><description>A technical breakdown of two of the most significant 2025 security events: the Microsoft Midnight Blizzard breach (Russian state-sponsored APT29 compromising C-suite email) and the record-breaking 16 billion credential leak from infostealer malware campaigns.</description><pubDate>Tue, 10 Mar 2026 14:31:00 GMT</pubDate><content:encoded>A technical breakdown of two of the most significant 2025 security events: the Microsoft Midnight Blizzard breach (Russian state-sponsored APT29 compromising C-suite email) and the record-breaking 16 billion credential leak from infostealer malware campaigns.</content:encoded><category>post</category></item><item><title>[post] 🎓 Things CS Degrees Don&apos;t Teach You</title><link>https://praneshnikhar.site/posts/cs-degree-gaps/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/cs-degree-gaps/</guid><description>Eight practical engineering skills that every CS graduate has to learn on the job — from Git workflows to debugging, testing, operations, and writing for humans.</description><pubDate>Mon, 09 Mar 2026 05:04:00 GMT</pubDate><content:encoded>Eight practical engineering skills that every CS graduate has to learn on the job — from Git workflows to debugging, testing, operations, and writing for humans.</content:encoded><category>post</category></item><item><title>[post] ⚙️ How Compilers Actually Optimize Your Code</title><link>https://praneshnikhar.site/posts/how-compilers-optimize/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/how-compilers-optimize/</guid><description>From C source to x86 assembly — a tour through the compiler pipeline, the key optimization passes, and how to read the output of -O3 with GCC and Clang.</description><pubDate>Thu, 26 Feb 2026 09:17:00 GMT</pubDate><content:encoded>From C source to x86 assembly — a tour through the compiler pipeline, the key optimization passes, and how to read the output of -O3 with GCC and Clang.</content:encoded><category>post</category></item><item><title>[post] 🔧 MCP Workflow Builder — Visual DAG for MCP Tools</title><link>https://praneshnikhar.site/posts/mcp-workflow-builder/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/mcp-workflow-builder/</guid><description>Drag-and-drop canvas for chaining MCP tools into multi-step pipelines. Export as standalone TypeScript scripts. React Flow frontend, Express backend, SQLite persistence.</description><pubDate>Tue, 20 Jan 2026 18:45:00 GMT</pubDate><content:encoded>Drag-and-drop canvas for chaining MCP tools into multi-step pipelines. Export as standalone TypeScript scripts. React Flow frontend, Express backend, SQLite persistence.</content:encoded><category>post</category></item><item><title>[post] 🤖 Titan — Terminal AI Coding Agent</title><link>https://praneshnikhar.site/posts/titan/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/titan/</guid><description>A terminal-based AI coding agent in Go that connects to any OpenAI-compatible LLM, with 9 built-in tools, MCP server integration, and a Bubble Tea TUI.</description><pubDate>Tue, 06 Jan 2026 08:46:00 GMT</pubDate><content:encoded>A terminal-based AI coding agent in Go that connects to any OpenAI-compatible LLM, with 9 built-in tools, MCP server integration, and a Bubble Tea TUI.</content:encoded><category>post</category></item><item><title>[post] 📊 AgenticEDA — Automated Exploratory Data Analysis with LangGraph</title><link>https://praneshnikhar.site/posts/agentic-eda/</link><guid isPermaLink="true">https://praneshnikhar.site/posts/agentic-eda/</guid><description>An automated EDA service powered by a LangGraph agent with local LLM (Ollama). Upload datasets, connect SQL databases, and get comprehensive analysis reports with visualizations.</description><pubDate>Sat, 03 Jan 2026 14:25:00 GMT</pubDate><content:encoded>An automated EDA service powered by a LangGraph agent with local LLM (Ollama). Upload datasets, connect SQL databases, and get comprehensive analysis reports with visualizations.</content:encoded><category>post</category></item></channel></rss>