-
Linux Archiving and Compression: tar, gzip, and zip Compared
Linux archiving and compression with tar, gzip, bzip2, and zip compared, and why tar and compression were designed as separate tools.
-
A Gentle Introduction to GraphQL
GraphQL’s core idea explained with a real query and Apollo server example, plus the caching and N+1 trade-offs that don’t make it into most pitches.
-
Understanding CPU Cache: L1, L2, and L3 Explained
How the L1/L2/L3 cache hierarchy bridges the speed gap to RAM, and a concrete C example showing why cache-friendly memory access patterns genuinely matter for performance.
-
Common Causes of JavaScript Memory Leaks
Common causes of JavaScript memory leaks: forgotten listeners, uncleared timers, unbounded caches, and over-capturing closures.
-
Caching Strategies Explained: Cache-Aside, Write-Through, and More
Caching strategies explained: cache-aside, write-through, and write-behind, and how to pick based on your actual read/write pattern.
-
Enabling Gzip Compression in Apache2 for Faster Pages
Enabling gzip compression in Apache2 with mod_deflate for faster page loads, and why Brotli is worth adding alongside it.
-
GraphQL vs REST: Real Trade-offs, Not Just Hype
GraphQL vs REST: the real trade-offs around over-fetching, caching, and complexity — not just hype in either direction.
-
Data Structures 101: Linked Lists Explained
Linked lists explained, and why modern CPU cache behavior means arrays usually beat them even for insertion-heavy workloads.
-
Apache vs LiteSpeed: Is It Worth Switching
Apache vs LiteSpeed: what LiteSpeed’s Apache compatibility layer and built-in caching actually offer, and when switching is worth it.
-
Caching Static Content in Apache2 with mod_cache
Caching static and semi-static content in Apache2 with mod_cache, and why your application’s Cache-Control headers still matter.
-
MySQL Views: What They Are and When to Use Them
MySQL views explained: hiding complex joins behind a simple name, and why views don’t cache results by default.