| Oct 11, 2026 | Building a Static Analyzer in GoWent down the gopls rabbit hole, learned how static analyzers work in Go, and built one to catch SQL injection vulnerabilities. | Golang·Static Analysis·Security·AST·gopls | Read → |
| Oct 11, 2026 | Kafka Share Groups - Using Kafka as a Real Message QueueKafka share groups (KIP-932) finally let multiple consumers read from the same partition concurrently - treating Kafka as a proper message queue. | Kafka·Distributed Systems·Message Queues·KIP-932 | Read → |
| Oct 11, 2026 | How Go Compiles Switch Statements to AssemblyLooking at how the Go compiler translates switch statements into assembly - from naive if-else chains to binary search trees, jump tables, and lookup tables. | Golang·Compilers·Assembly·SSA·Systems | Read → |
| Oct 11, 2026 | Writing a VCR Package in GoBuilt a VCR (video cassette recorder) package in Go for recording and replaying HTTP traffic in tests, inspired by pytest-recording and vcr.py. | Golang·Testing·HTTP·Open Source | Read → |
| Oct 11, 2026 | ext3 vs ext4 - Why Pauses Matter in FilesystemsReading about ext3 and ext4 filesystems - timestamps, journaling, and why ext3 was expensive to adopt on commodity hardware. | Filesystems·Linux·ext3·ext4·Systems | Read → |
| Oct 11, 2026 | Simhash and Locality Sensitive HashingStumbled upon simhash - a locality sensitive hashing technique used by Google for VisualRank, and built a naive implementation. | Algorithms·Hashing·Search·LSH | Read → |
| Oct 11, 2026 | containerd-shim and the Double Fork TrickHow containerd-shim uses the classic double fork to detach from its parent and survive containerd/dockerd restarts. | Docker·Containers·Linux·Processes·OCI | Read → |
| Oct 11, 2026 | Building a Distributed Scheduler with Raft ConsensusBuilding a disc-backed distributed scheduler with leader-follower replication and raft consensus for failover. | Distributed Systems·Golang·Raft·Scheduling·Systems | Read → |
| Oct 11, 2026 | Building a Distributed Scheduler - Disk-Based StorageExperimenting with a disk-based distributed scheduler using partitioned file storage, atomic renames, and sorted filenames for constant-time polling. | Distributed Systems·Golang·Scheduling·Systems | Read → |
| Oct 11, 2026 | HTTP/2 Streams, mTLS and Zero-Trust AuthExploring zero-trust authentication at the transport layer - mTLS, per-connection client identity, HTTP/2 stream IDs, and how APNs combines both. | Networking·HTTP/2·mTLS·Security·Zero Trust | Read → |
| Oct 11, 2026 | Fitting 800MB of Active Usage onto 512MB RAMRunning Chromium and multiple services on a 512MB RAM machine - OOM scores, zram, swap tuning, and manual memory management on Linux. | Linux·Memory Management·Systems·Performance | Read → |
| Oct 11, 2026 | Building a Distributed Queue in GolangImplementing a distributed queue with scheduling, rate limiting, and backpressure - and the nuances of NUMA-aware thread scheduling. | Distributed Systems·Golang·Queues·Performance·NUMA | Read → |
| Oct 11, 2026 | Storage Engine for Graph Databases - Part 2: mmap and O_DIRECTContinuing the storage engine rewrite - using mmap for reads, O_DIRECT for WAL writes, and LSM tree compaction without stopping the world. | Storage Engine·Golang·LSM Trees·Graph Databases·Systems | Read → |
| Oct 11, 2026 | Distributed Queue in Golang - Part 2: Redis BackendMoving the distributed queue to Redis as a shared memory backend - BLPOP for blocking dequeues, timeout handling, and data races on shutdown. | Distributed Systems·Golang·Queues·Redis | Read → |
| Oct 11, 2026 | Distributed Queue in Golang - Part 1: Ring BufferStarting off building a distributed queue in Golang - a naive ring buffer with multiple memory backends, partitioning, and async/sync support. | Distributed Systems·Golang·Queues·Ring Buffer | Read → |
| Apr 21, 2026 | Running Isolated Containers for SandboxingRunning Isolated Containers for Sandboxing | Networking·Sandboxing·Virtualization·Containerization | Read → |
| Mar 20, 2026 | Managing your own servers on cloud/bare metalRewriting a storage engine for graph databases, i build sometime back in C++ to Golang. | Storage Engine·Golang·LSM Trees·Graph Databases | Read → |
| Mar 20, 2026 | Managing your own servers on cloud/bare metalRewriting a storage engine for graph databases, i build sometime back in C++ to Golang. | Storage Engine·Golang·LSM Trees·Graph Databases | Read → |
| Mar 8, 2026 | Rewriting a storage engine for graph database in GolangRewriting a storage engine for graph databases, i build sometime back in C++ to Golang. | Storage Engine·Golang·LSM Trees·Graph Databases | Read → |
| Feb 18, 2026 | PDF Rendering and PostScript - A Weekend Deep DiveSpent a weekend understanding how PDFs work under the hood - PostScript, text rendering, and the Turing-complete nature of PDFs. | PDF·PostScript·Systems Programming·Go·Graphics | Read → |
| Feb 23, 2024 | ResNet50 vs ResNeXt50: An Experiment with CIFAR10 DataComparing ResNet50 and ResNeXt50 architectures on CIFAR10 dataset - a deep learning experiment. | Deep Learning·Computer Vision·ResNet·CIFAR10·PyTorch | Read → |
| Feb 20, 2024 | Digging Up on DIG - The DNS Lookup UtilityPacket analysis using Wireshark to understand how DNS queries work under the hood. | Networking·DNS·Wireshark·Packet Analysis·Systems | Read → |