Clean Code in the AI Era: Why Readability Matters More Than Ever

Introduction: Why Clean Code Still Matters in the AI Era We’re flooded with AI tools that promise to do the coding for us. But after experimenting with them, I noticed a recurring pattern: AI writes code in a vacuum. It doesn’t see the “messy” reality of my project three files away. I realized that the faster the AI generates code, the faster my codebase can turn into a nightmare if I’m not careful. This brought me back to the basics. Why did we start talking about Clean Code in the first place? As Uncle Bob famously noted in his book years before ChatGPT existed: ...

January 25, 2026 · nbdawn

Why AI Automation Fails to Reach the Frontlines

Why AI Automation Fails to Reach the Frontlines AI automation software ships at a breakneck pace, yet most industries outside software development aren’t experiencing the transformation. After conversations with people across manufacturing, and traditional business sectors, the pattern is clear: the gap between AI capability and actual adoption is substantial. Three core problems explain why. Digital Transformation Comes First Executives get excited about AI transformation (AX), but most organizations haven’t completed basic digital transformation (DX). AI needs data. If your business processes exist on paper, in people’s heads, or in disconnected silos, AI cannot assist your business. ...

January 23, 2026 · nbdawn

How to Survive in The New Era

Introduction With AI advancing at breakneck speed, you’re probably wondering: “Is my job as a developer at risk? Will humans become obsolete?” I’ve grappled with these questions myself, and I want to share some thoughts that might offer both comfort and direction. What Actually Matters Throughout history, extracting valuable insights from noise has always been the critical skill—and also the hardest one to master. Yes, technology is accelerating at an almost absurd pace, but here’s the thing: humans have always built tools to help transform low-level information into high-level. Calculators. Computers. Databases. Spread Sheets. The list goes on. ...

January 11, 2026 · nbdawn

Engineering Is The Art of Trade-offs

Engineering Is The Art of Trade-offs Before diving into this, I should mention that my career isn’t particularly long yet. My thoughts on technology are still evolving, and they might be immature at times. But there’s one clear truth I’ve learned from facing various challenges in the field: there’s no “perfect answer” in software engineering. Trade-offs: More Than a Zero-Sum Game We often think of engineering trade-offs as simple opportunity costs. ...

January 10, 2026 · nbdawn

Beyond Mutex: Distributed Locking and Coordination in Microservices

Introduction: The Double-Spending Problem When you develop E-commerce platforms, you may commonly face a coordination problem: refunds, for example, can be triggered simultaneously by customers, sellers, or automated fraud detection systems. Without proper distributed coordination, the same order gets refunded multiple times. Consider a real-world scenario: an order with a total value of $200 receives three concurrent $200 partial refund requests within a 1-second window. The Customer requests a $200 refund for a damaged item via the app. The Seller initiates a $200 courtesy refund due to a shipping delay. The Loyalty System triggers an automated $200 refund as part of a promotional price-match guarantee. Three separate microservices process these requests simultaneously. Each service reads the order state from the database, seeing a “remaining refundable balance” of $1,000. Because the requests overlap before the database can update the balance, all three services validate the transaction as “safe.” ...

January 4, 2026 · nbdawn

Why My Second GPU Is Lazy: From PCIe to NVLink, Understanding x86 I/O Bottlenecks

Introduction How does a CPU communicate with an NVMe drive, a network card, or a GPU? Most software engineers rely on drivers and kernel modules without thinking about the underlying mechanisms. But when you’re debugging performance issues, tuning interrupt handling, or trying to understand why perf shows certain bottlenecks, you need to know what’s happening at the hardware level. x86 systems use three primary mechanisms for CPU-peripheral communication: Port-mapped I/O (PMIO): The CPU uses dedicated I/O instructions to access a separate address space Memory-mapped I/O (MMIO): Peripherals expose their control registers as memory addresses Direct Memory Access (DMA): Peripherals transfer data directly to/from RAM without CPU intervention Modern PCIe devices—your NVMe drives, network cards, GPUs—almost exclusively use MMIO and DMA. PMIO is legacy, primarily seen in older ISA devices and backward compatibility modes. Understanding these mechanisms helps you interpret system behavior: why DMA buffer sizes affect throughput, why interrupt moderation matters for latency, and what kernel parameters like irqaffinity actually control. ...

January 2, 2026 · nbdawn

Why My PostgreSQL Slow Right After Insert

The Customer Claim That Exposed PostgreSQL’s Statistics Blind Spot It started with a client claim: a critical part of their workflow was unresponsive. Upon investigation, we found the bottleneck was an innocent-looking query that was now consistently timing out. To understand why, we had to descend into the internals of the PostgreSQL query planner. There, we discovered a rare bug in statistics estimation triggered by a unique data distribution pattern that had remained hidden until now. ...

December 20, 2025 · nbdawn