{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "0xkiire",
  "home_page_url": "https://0xkiire.com",
  "feed_url": "https://0xkiire.com/feed.json",
  "description": "Exploring low-level programming, systems design, and performance optimization",
  "items": [
    {
      "id": "https://0xkiire.com/Intro/",
      "url": "https://0xkiire.com/Intro/",
      "title": "Systems Programming Journey | Introduction",
      "content_text": "Explanation for why I'm sharing my personal experiences on my systems programming journey.",
      "date_published": "2026-08-31T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/background/",
      "url": "https://0xkiire.com/background/",
      "title": "Systems Programming Journey | Background",
      "content_text": "My Personal story about how I got into systems and low-level programming.",
      "date_published": "2026-08-31T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/local-caching-policies-and-mechanisms/",
      "url": "https://0xkiire.com/local-caching-policies-and-mechanisms/",
      "title": "Local Caching Policies and Mechanisms: An Algorithmic Guide",
      "content_text": "This guide describes the algorithms behind local (in-process / single-node) caching systems in enough detail that each can be implemented from the description alone.",
      "date_published": "2026-08-25T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/package-manager-guide/",
      "url": "https://0xkiire.com/package-manager-guide/",
      "title": "How to Build a Package Manager — A Complete Implementation Guide",
      "content_text": "A package manager is one of the most architecturally rich pieces of tooling you can build. It touches dependency resolution (a provably NP-complete problem in the general case), distributed systems (registry protocol, caching), cryptography (integrity verification, signing), filesystem management (content-addressable stores, atomic installs), and UX design (CLI, error messaging). This guide covers every layer, with concrete algorithms and data structures, not hand-waves.",
      "date_published": "2026-06-20T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/zypher_complete_docs/",
      "url": "https://0xkiire.com/zypher_complete_docs/",
      "title": "zypher — Complete Developer Guide",
      "content_text": "A complete reference for zypher-cli and zypher framework",
      "date_published": "2026-06-15T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/zig-release-distribution/",
      "url": "https://0xkiire.com/zig-release-distribution/",
      "title": "Releasing & Distributing Zig Projects",
      "content_text": "A complete reference for tagging, GitHub releases, and distributing Zig libraries and CLI tools across npm, Homebrew, AUR, apt, and Windows package managers.",
      "date_published": "2026-06-10T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/wasm-with-zig/",
      "url": "https://0xkiire.com/wasm-with-zig/",
      "title": "WebAssembly with Zig 0.16.0: A Complete Tutorial and Reference",
      "content_text": "WebAssembly is often paired with Rust (via wasm-pack), Emscripten'd C++, or Go. All three bring substantial baggage: wasm-pack generates a JS glue file and pulls in a Rust standard library; Emscripten ships a complete POSIX emulation layer including `malloc`, `printf`, and a virtual filesystem; Go embeds a full garbage collector and goroutine scheduler into every binary. The resulting `.wasm` files for \"Hello World\" range from 50 KB to 2 MB before compression.",
      "date_published": "2026-06-09T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/terminal-text-tools-guide/",
      "url": "https://0xkiire.com/terminal-text-tools-guide/",
      "title": "Terminal Text Utility Tools: A Comprehensive Guide",
      "content_text": "A deep dive into the Unix/Linux text toolchain — grep, sed, awk, cat, echo, cut, tr, sort,uniq, wc, tee, less, head, tail, printf, xargs, find, diff, patch, strings, hexdump, and more.",
      "date_published": "2026-05-28T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/text_editor_data_structures(1)/",
      "url": "https://0xkiire.com/text_editor_data_structures(1)/",
      "title": "Text Editor Data Structures: Gap Buffers, Ropes, and Piece Tables",
      "content_text": "A deep dive into how the editors you use every day actually store and manipulate text — and why it's one of the most underrated problems in systems programming.",
      "date_published": "2026-05-28T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/gui_guide/",
      "url": "https://0xkiire.com/gui_guide/",
      "title": "Building a GUI Library from Scratch",
      "content_text": "The Complete Guide to creating A UI Library Using Only C and SDL2",
      "date_published": "2026-05-11T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/mn-concurrency-model/",
      "url": "https://0xkiire.com/mn-concurrency-model/",
      "title": "The M:N Concurrent Model — A Complete Guide. From First Principles to Production Schedulers",
      "content_text": "\"Concurrency is not parallelism. Parallelism is about doing many things at once. Concurrency is about dealing with many things at once. The M:N model is the bridge between the two.\" — adapted from Rob Pike",
      "date_published": "2026-05-09T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/io-multiplexing-guide/",
      "url": "https://0xkiire.com/io-multiplexing-guide/",
      "title": "I/O Multiplexing: select(), poll(), and epoll() Explaination Extended",
      "content_text": "How do servers handle thousands of connections? Learn readiness-based I/O with select/poll/epoll, common edge cases, and build a tiny event loop in C, Zig, and Rust.",
      "date_published": "2026-04-07T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/emacs-full-guide/",
      "url": "https://0xkiire.com/emacs-full-guide/",
      "title": "The Complete Emacs Guide. Mastering the World's Most Powerful Editor",
      "content_text": "A comprehensive guide to mastering Emacs, covering everything from basic concepts to advanced customization and workflow optimization.",
      "date_published": "2026-04-06T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/vulkan_complete_guide/",
      "url": "https://0xkiire.com/vulkan_complete_guide/",
      "title": "Introduction to Graphics Programming with Vulkan",
      "content_text": "A Comprehensive Guide from First Principles to a Complete 3D Renderer",
      "date_published": "2026-04-05T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/build-web-framework-from-scratch/",
      "url": "https://0xkiire.com/build-web-framework-from-scratch/",
      "title": "Build a Complete Web Framework From Scratch — Architecture, Design Patterns & Complete Checklist",
      "content_text": "Language-agnostic & pattern-driven. Every step describes what to build, why it is designed that way, and which Gang of Four (GoF) design pattern governs it. Pseudocode is intentionally simplified — the focus is on architecture decisions, data structures, and the relationships between components. Real implementation can be done in any language capable of systems or application programming (Python, Go, Rust, Java, TypeScript, etc.). The framework we are building is comparable in scope to Django, Rails, or Laravel, a full-stack, batteries-included web framework with an ORM, templating engine, form validation, authentication, caching, migrations, a CLI, and an admin interface.",
      "date_published": "2026-04-04T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/build-systems-guide/",
      "url": "https://0xkiire.com/build-systems-guide/",
      "title": "The Complete Guide to Build Systems",
      "content_text": "build systems guide. Why they matter, why should you even care, significatincy and much more",
      "date_published": "2026-03-11T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/build-text-editor-from-scratch/",
      "url": "https://0xkiire.com/build-text-editor-from-scratch/",
      "title": "Build a Full-Featured Text Editor From Scratch — Architecture, Design Patterns & Complete Checklist",
      "content_text": "Language-agnostic & pattern-driven. Every step describes what to build, why it is designed that way, and which Gang of Four (GoF) design pattern governs it. Pseudocode is intentionally simplified — the focus is on architecture decisions, data structures, and the relationships between components. Real implementation uses the same logical structure in any language (Rust, C++, TypeScript, Python, Go, etc.).",
      "date_published": "2026-03-11T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/build-mini-os-from-scratch/",
      "url": "https://0xkiire.com/build-mini-os-from-scratch/",
      "title": "Build a Mini Operating System From Scratch — A Complete Checklist & Guide",
      "content_text": "Architecture-focused. Every step describes *what* to implement and why, with concrete data-format references, assembly/pseudocode examples, and memory-layout diagrams so you can build it in x86 Assembly + C (the most common pairing), or adapt to ARM/RISC-V. Tools used; NASM, GCC (cross-compiler), QEMU, GNU ld.",
      "date_published": "2026-03-02T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/clean-architecture-golang-guide/",
      "url": "https://0xkiire.com/clean-architecture-golang-guide/",
      "title": "The Complete Guide to Clean Architecture",
      "content_text": "Architecture-focused. Every step describes what is involved and the role it plays in clean architecture",
      "date_published": "2026-03-02T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/tilemap_assets_guide/",
      "url": "https://0xkiire.com/tilemap_assets_guide/",
      "title": "The Complete Guide to Tilemaps, Fonts, and Asset Management",
      "content_text": "Building Professional 2D Games with SDL in C. A Comprehensive Resource Management and Rendering System.",
      "date_published": "2026-02-25T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/c_macros_guide/",
      "url": "https://0xkiire.com/c_macros_guide/",
      "title": "The Complete Guide to C Macros, Preprocessor Directives, and Compiler Attributes",
      "content_text": "Mastering the C Preprocessor for Portable and Kernel-Level Code. A Comprehensive Resource for Cross-Platform Development and Linux Kernel Programming.",
      "date_published": "2026-02-24T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/ecs_immediate_mode_guide/",
      "url": "https://0xkiire.com/ecs_immediate_mode_guide/",
      "title": "The Complete Guide to ECS-Driven and Immediate Mode Graphics Programming",
      "content_text": "A Data-Oriented Approach to Game Development with SDL in C. Building High-Performance Games with Entity Component Systems.",
      "date_published": "2026-02-24T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/append-only-log-storage/",
      "url": "https://0xkiire.com/append-only-log-storage/",
      "title": "Append-Only Logs: The Storage Pattern Behind Databases and Durable Systems",
      "content_text": "Append-only logs are simple, fast, and crash-friendly. Learn record formats, checksums, compaction, and how WAL-like designs work, with C, Zig, and Rust examples.",
      "date_published": "2026-02-23T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/reactor-vs-proactor-event-loops/",
      "url": "https://0xkiire.com/reactor-vs-proactor-event-loops/",
      "title": "Reactor vs Proactor: Event Loops, Async I/O, and How Servers Scale",
      "content_text": "Reactor (readiness) and proactor (completion) are two mental models for scalable I/O. Learn how epoll and io_uring fit, and implement tiny examples in C, Zig, and Rust.",
      "date_published": "2026-02-22T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/memory-debugging-tools/",
      "url": "https://0xkiire.com/memory-debugging-tools/",
      "title": "Memory Debugging: AddressSanitizer, Valgrind, and Practical Triage",
      "content_text": "A practical guide to debugging memory issues: use-after-free, buffer overflows, leaks, and data races. Learn what tools catch, what they miss, and how to reproduce issues with C, Zig, and Rust.",
      "date_published": "2026-02-21T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/concurrent-file-processing-pipelines/",
      "url": "https://0xkiire.com/concurrent-file-processing-pipelines/",
      "title": "Concurrent File Processing Pipelines: Batching, Backpressure, and Work Partitioning",
      "content_text": "Build a practical pipeline to process many files concurrently without overwhelming the system. Learn batching, bounded queues, and work partitioning with C, Zig, and Rust examples.",
      "date_published": "2026-02-20T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/build-git-from-scratch/",
      "url": "https://0xkiire.com/build-git-from-scratch/",
      "title": "Build Git From Scratch — A Complete Checklist & Guide",
      "content_text": "Language-agnostic. Every step describes what to implement and why, with pseudocode and concrete data-format references so you can implement it in any language (Python, Rust, Go, C, TypeScript, etc.).",
      "date_published": "2026-02-19T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/page-cache-and-writeback/",
      "url": "https://0xkiire.com/page-cache-and-writeback/",
      "title": "The Page Cache and Writeback: Why Disk I/O Doesn't Behave Like You Think",
      "content_text": "Understand Linux page cache, buffered I/O, dirty pages, writeback, and how fsync interacts with durability. Includes experiments and code in C, Zig, and Rust.",
      "date_published": "2026-02-19T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/atomic-file-save-patterns/",
      "url": "https://0xkiire.com/atomic-file-save-patterns/",
      "title": "Atomic File Save Patterns: temp files, write barriers, and avoiding torn writes",
      "content_text": "Practical patterns for safely updating configuration and state files. Covers temp+rename, write-ahead logs, checksums, and length-prefix formats with C, Zig, and Rust examples.",
      "date_published": "2026-02-18T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/crash-consistency-fsync-rename/",
      "url": "https://0xkiire.com/crash-consistency-fsync-rename/",
      "title": "Crash Consistency: fsync(), rename(), and Durable Writes You Can Trust",
      "content_text": "Power loss and crashes turn \"it worked\" into \"it corrupted\". Learn what fsync guarantees, why rename is special, and how to implement crash-consistent updates in C, Zig, and Rust.",
      "date_published": "2026-02-17T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/futexes-and-parking/",
      "url": "https://0xkiire.com/futexes-and-parking/",
      "title": "Futexes and Parking: How Fast Locks Sleep Without Syscalls",
      "content_text": "Futexes are the kernel primitive behind fast mutexes and condition variables on Linux. Learn the \"fast path\" vs \"slow path\", and build a tiny mutex using C, Zig, and Rust.",
      "date_published": "2026-02-16T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/mmap-advanced-madvise-mincore/",
      "url": "https://0xkiire.com/mmap-advanced-madvise-mincore/",
      "title": "Advanced mmap: madvise(), mincore(), and Page-Fault Aware Performance",
      "content_text": "Go beyond basic mmap. Learn how to hint access patterns with madvise, check residency with mincore, and design page-fault friendly readers in C, Zig, and Rust.",
      "date_published": "2026-02-15T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/graphics_programming_guide/",
      "url": "https://0xkiire.com/graphics_programming_guide/",
      "title": "The Complete Guide to Graphics and Games Programming with SDL in C",
      "content_text": "The Complete Guide to Graphics and Games Programming with SDL in C. A Comprehensive Journey from Pixels to Professional Game Development.",
      "date_published": "2026-02-14T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/message-passing-channels/",
      "url": "https://0xkiire.com/message-passing-channels/",
      "title": "Message Passing and Channels: Concurrency Without Shared Mutable State",
      "content_text": "Learn message-passing concurrency: bounded vs unbounded channels, backpressure, fan-in/fan-out, and shutdown semantics. Includes C, Zig, and Rust examples and practical patterns.",
      "date_published": "2026-02-14T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/thread-pools-and-backpressure/",
      "url": "https://0xkiire.com/thread-pools-and-backpressure/",
      "title": "Thread Pools and Backpressure: Scaling Work Without Melting Down",
      "content_text": "Thread pools are easy to create and hard to run safely. Learn bounded queues, backpressure, shutdown, and avoiding unbounded memory growth, with C, Zig, and Rust examples.",
      "date_published": "2026-02-13T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/file-locking-flock-fcntl/",
      "url": "https://0xkiire.com/file-locking-flock-fcntl/",
      "title": "File Locking on Unix: flock() vs fcntl() and What They Actually Guarantee",
      "content_text": "File locking is deceptively subtle. Learn advisory locks, flock vs fcntl record locks, lease-like patterns, and how to implement a safe \"single instance\" lockfile in C, Zig, and Rust.",
      "date_published": "2026-02-12T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/file-descriptors-deep-dive/",
      "url": "https://0xkiire.com/file-descriptors-deep-dive/",
      "title": "File Descriptors Deep Dive: open flags, offsets, CLOEXEC, and dup()",
      "content_text": "File descriptors are the universal I/O handle on Unix. Learn how fd state works (offsets, flags), how dup/dup2 behave, why CLOEXEC matters, and how to build robust patterns in C, Zig, and Rust.",
      "date_published": "2026-02-11T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/async-io-with-io-uring-overview/",
      "url": "https://0xkiire.com/async-io-with-io-uring-overview/",
      "title": "Async I/O on Linux with io_uring: A Practical Overview",
      "content_text": "io_uring moves beyond readiness: submit I/O and receive completions. Learn the core concepts, when it helps, and minimal examples in C, Zig, and Rust.",
      "date_published": "2026-02-10T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/io-multiplexing-select-poll-epoll/",
      "url": "https://0xkiire.com/io-multiplexing-select-poll-epoll/",
      "title": "I/O Multiplexing: select(), poll(), and epoll() Explained",
      "content_text": "How do servers handle thousands of connections? Learn readiness-based I/O with select/poll/epoll, common edge cases, and build a tiny event loop in C, Zig, and Rust.",
      "date_published": "2026-02-09T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/filesystems-inodes-and-directories/",
      "url": "https://0xkiire.com/filesystems-inodes-and-directories/",
      "title": "Filesystems 101: Inodes, Directories, and What a Path Lookup Really Does",
      "content_text": "Understand the core filesystem abstractions: inodes, dentries, hard links, symlinks, and why path lookup can be expensive. Includes practical code in C, Zig, and Rust.",
      "date_published": "2026-02-08T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/mmap-vs-read-write/",
      "url": "https://0xkiire.com/mmap-vs-read-write/",
      "title": "mmap vs read/write: Choosing the Right File Access Strategy",
      "content_text": "When should you use mmap, and when are classic read/write loops better? Learn page cache behavior, page faults, random access, and safe patterns in C, Zig, and Rust.",
      "date_published": "2026-02-07T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/lock-free-spsc-ring-buffer/",
      "url": "https://0xkiire.com/lock-free-spsc-ring-buffer/",
      "title": "Lock-Free SPSC Ring Buffer: A High-Throughput Queue Between Two Threads",
      "content_text": "Build a correct single-producer single-consumer ring buffer using atomics, and understand why SPSC is simpler than MPMC. Includes C, Zig, and Rust implementations.",
      "date_published": "2026-02-06T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/threads-and-synchronization-primitives/",
      "url": "https://0xkiire.com/threads-and-synchronization-primitives/",
      "title": "Threads and Synchronization: Mutexes, Condition Variables, and Semaphores",
      "content_text": "A detailed, practical guide to concurrency primitives: what mutexes guarantee, how condition variables work, and how to structure correct waiting loops — with C, Zig, and Rust examples.",
      "date_published": "2026-02-05T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/atomics-and-memory-ordering/",
      "url": "https://0xkiire.com/atomics-and-memory-ordering/",
      "title": "Atomics and Memory Ordering: Building Correct Lock-Free Code",
      "content_text": "A practical guide to atomic operations and memory ordering (relaxed/acquire/release/seq_cst). Learn what the CPU and compiler are allowed to do, with C, Zig, and Rust examples.",
      "date_published": "2026-02-04T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/file-io-syscalls-and-buffers/",
      "url": "https://0xkiire.com/file-io-syscalls-and-buffers/",
      "title": "File I/O Fundamentals: read/write, Buffers, and the Cost of Syscalls",
      "content_text": "Learn the practical mechanics of file I/O: file descriptors, syscalls, buffering, partial reads/writes, and robust patterns with C, Zig, and Rust.",
      "date_published": "2026-02-03T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/cache-locality-and-data-layout/",
      "url": "https://0xkiire.com/cache-locality-and-data-layout/",
      "title": "Cache Locality and Data Layout: Turning Memory Into Throughput",
      "content_text": "CPU caches reward predictable access. Learn spatial/temporal locality, AoS vs SoA, prefetching, and how to measure improvements in C, Zig, and Rust.",
      "date_published": "2026-02-02T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/virtual-memory-foundations/",
      "url": "https://0xkiire.com/virtual-memory-foundations/",
      "title": "Virtual Memory Foundations: Address Spaces, Paging, and Protection",
      "content_text": "A detailed, practical walkthrough of virtual memory: pages, page tables, permissions, and what happens during a page fault — with C, Zig, and Rust examples.",
      "date_published": "2026-02-01T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/memory-allocators/",
      "url": "https://0xkiire.com/memory-allocators/",
      "title": "Building a Memory Allocator from Scratch in C",
      "content_text": "Learn how memory allocation works by implementing your own malloc() and free() functions in C. A deep dive into heap management, fragmentation, and optimization techniques.",
      "date_published": "2026-01-31T00:00:00.000Z"
    },
    {
      "id": "https://0xkiire.com/welcome/",
      "url": "https://0xkiire.com/welcome/",
      "title": "Welcome to 0xKiire - Exploring the Depths of Systems Programming",
      "content_text": "Welcome to 0xKiire, a blog dedicated to low-level programming, systems design, and performance optimization. Join me as we explore the fascinating world beneath the abstractions.",
      "date_published": "2026-01-31T00:00:00.000Z"
    }
  ]
}