Archives
All the articles I've archived.
-
MCP — Model Context Protocol Explained
A deep dive into what Model Context Protocol is, the N×M integration problem it solves, how its client-server architecture works, and how the ecosystem has evolved from Anthropic's reference servers to a community-driven standard.
-
SQLite GUI Tools — What They Are, How They Work, and Their Limits
A comparison of GUI tools for SQLite, how they differ from server-based database clients like pgAdmin, and why the file-based model is rarely a problem in practice.
-
SQLite Explained — Engine, File, and the Whole Picture
A concept note covering SQLite's architecture, history, security model, and how programs interact with it through the C API.
-
Python Project Folder Structure — The Modern Standard
How modern Python apps and libraries organize their source code, why the src layout with a named package folder is the de facto standard, and what tools reinforce it.
-
ECMAScript, JavaScript, and the Node.js Package Manager Ecosystem
How ECMAScript relates to JavaScript and browsers/Node.js, and how npm, yarn, pnpm, and bun fit into the Node.js ecosystem.
-
Mermaid and SVG Explained — From Plain Text to Vector Graphics
How Mermaid works as an abstraction over SVG/XML, and how it renders diagrams both client-side and server-side.
-
How AI Agents Log — Claude Code vs Codex vs opencode
A comparison of logging and session storage strategies across three production AI agent projects, and what JSONL, SQLite, and relational schemas each offer.
-
Async vs Threads in Python — Why Async Wins for AI Agents
A concept guide on Python threading, the GIL, asyncio, and why async is the right choice for AI agent code that calls LLM APIs and runs inside a Textual TUI.
-
Static Site Generators — A Practical Overview
A comprehensive look at how SSGs work, the tradeoff between plain SSG, themes, and UI frameworks, and why Astro is trending.
-
IP Addressing, NAT, and Geolocation Explained
A concept note covering how public and private IPs work, NAT and CGNAT, IP geolocation, geo-blocking, and VPN usage patterns.
-
Building TUI Apps with Textual — A Practical Guide
How to build a terminal user interface with the Textual framework, covering the widget tree, CSS layout, event handling, and the mental model for wiring in background logic like an AI agent.
-
Terminal, TUI, and Python — A Concept Guide
How terminals work under the hood, what TUI frameworks do, and which Python libraries to use for building terminal user interfaces.
-
Python dataclass Explained
What @dataclass does, why it exists, and when to use it — explained through a real example from an AI agent codebase.
-
uv: The Modern Python Package and Project Manager
A practical overview of uv — what it is, why it's fast, and how it simplifies daily Python development workflows.
-
pyproject.toml: Python's Single Source of Truth
A concept note covering what pyproject.toml is, its development history, and a breakdown of its structure and key sections.
-
Managing Daily-Use Scripts with a Dotfiles Repo
How developers organize and manage personal utility scripts alongside dotfiles, using a bin/ folder approach for a clean, portable setup.
-
Line Length Conventions in Code: Focus on Bash
A quick reference on recommended maximum line lengths for code, with specific guidance for Bash scripts.
-
VS Code Workspace: Setup, Configuration, and Remote SSH
A practical guide to VS Code workspaces covering single-folder vs multi-root workspaces, settings hierarchy, configuration, and remote SSH considerations.
-
Analyzing the Claude Code Source: Architecture, Toolchain, and Code Stats
A deep dive into the Claude Code source distribution — its project structure, build toolchain, technology stack, and lines-of-code breakdown.
-
Anatomy of Claude Code: File and Folder Sizes
A breakdown of the file and folder sizes in the Claude Code source distribution, revealing where the bulk of the codebase lives.
-
Jekyll, Static Site Generators, and Static Site Hosting
A concept note covering static site generators, static site hosting services, and why Jekyll with GitHub Pages remains the simplest way to publish a website.
-
Bubblewrap: Linux Sandboxing with Namespaces and sysctl
A deep dive into bubblewrap (bwrap), the unprivileged Linux sandboxing tool — how it works, the kernel primitives behind it, its use in AI agents, and practical setup including sysctl configuration.
-
Markdown Standards and the GitHub Convergence Problem
A comparison of Markdown standards, why GFM became the de facto choice, and why the ecosystem still lacks a universal renderer.
-
Designing a Config Sync Strategy for Claude Code
A design doc for managing Claude Code user-level configuration through a dotfiles repo, working around symlink limitations with an additive merge skill.
-
OpenAI Codex: From Code Model to AI Agent Ecosystem
A comprehensive study of OpenAI Codex's evolution from a 2021 autocomplete model to a full-featured AI code agent platform in 2026, including architecture, product comparison, and lessons for building AI agents.
-
Getting VS Code Markdown Preview to Match GitHub
How to render GitHub Flavored Markdown in VS Code without losing your editor theme.
-
Understanding All Frontmatter Fields in AstroPaper
Updated:A complete guide to every supported frontmatter field in AstroPaper — what each one does, when to use it, and what happens if you leave it out.
-
AstroPaper 5.0
AstroPaper v5: keep the clean look, updates under the hood.
-
How to add LaTeX Equations in Astro blog posts
Updated:Learn how to add LaTeX equations in Astro blog posts using Markdown, KaTeX, and remark/rehype plugins.
-
How to integrate Giscus comments into AstroPaper
Updated:Comment function on a static blog hosted on GitHub Pages with Giscus.
-
AstroPaper 4.0
AstroPaper v4: ensuring a smoother and more feature-rich blogging experience.
-
How to use Git Hooks to set Created and Modified Dates
Updated:How to use Git Hooks to set your Created and Modified Dates on AstroPaper
-
AstroPaper 3.0
AstroPaper Version 3: Elevating Your Web Experience with Astro v3 and Seamless View Transitions
-
How to update dependencies of AstroPaper
How to update project dependencies and AstroPaper template.
-
AstroPaper 2.0
AstroPaper with the enhancements of Astro v2. Type-safe markdown contents, bug fixes and better dev experience etc.
-
Dynamic OG image generation in AstroPaper blog posts
Updated:New feature in AstroPaper v1.4.0, introducing dynamic OG image generation for blog posts.
-
Predefined color schemes
Updated:Some of the well-crafted, predefined color schemes for AstroPaper blog theme.
-
Customizing AstroPaper theme color schemes
Updated:How you can enable/disable light & dark mode; and customize color schemes of AstroPaper theme.
-
Adding new posts in AstroPaper theme
Updated:Some rules & recommendations for creating or adding new posts using AstroPaperr theme.
-
How to configure AstroPaper theme
Updated:How you can make AstroPaper theme absolutely yours.
-
Tailwind Typography Plugin
EXAMPLE POST: About Tailwind Typography Plugin and how you can use it effectively.
-
How Do I Develop My Terminal Portfolio Website with React
EXAMPLE POST: Developing a terminal-like website using ReactJS, TypeScript and Styled-Components. Includes features like autocomplete, multiple themes, command hints etc.
-
How Do I Develop My Portfolio Website & Blog
EXAMPLE POST: My experience about developing my first portfolio website and a blog using NextJS and a headless CMS.