What Makes Code Hard To Read

#617 – March 16, 2025

Visual Patterns of Complexity

What Makes Code Hard To Read: Visual Patterns of Complexity
18 minutes by Mark Griffin

Mark investigated readability factors after experiencing mental fatigue while auditing a codebase, finding that visual patterns significantly impact comprehension. He identified 8 key patterns for improving readability: reducing line/operator/operand count, avoiding novelty, breaking up long function chains, simplifying conditionals, using gotos sparingly, minimizing nesting, using distinct variable names, and shortening variable liveness durations.

VIN decoding so fast, your car will blush. 🚀 CarsXE API: Because every vehicle has a story to tell.
sponsored by CarsXE

Still using unreliable vehicle data? Why? CarsXE’s API gives you VIN decoding, plate lookup, and market reports that actually work. Stop trusting janky, outdated sources. Get serious. Get CarsXE. Or keep suffering. Your call.

9 Software Architecture Patterns for Distributed Systems
7 minutes by Soma

The article presents nine essential architectural patterns for distributed systems, including Peer-to-Peer, API Gateway, Pub-Sub, Request-Response, Event Sourcing, ETL, Batching, Streaming Processing, and Orchestration. These patterns provide proven solutions for managing data and communication flow in modern software development, ensuring reliability, scalability, and maintainability.

Fix your flaky tests first
4 minutes by Jeff

This article explains why test reliability should be your first priority when improving development workflows. Through mathematical modeling, Jeff demonstrates that flaky tests hurt productivity more than slow tests, with clear formulas showing the optimal batch size based on test reliability and duration. First fix test reliability, then improve test speed, and only then optimize batch size for the most effective path to continuous delivery.

A Quick Journey Into the Linux Kernel
15 minutes by Luca Cavallin

The blog post covers fundamental kernel concepts including process management, scheduling, system calls, data structures, interrupt handling, synchronization primitives, memory management, and filesystem abstractions.

IO devices and latency
20 minutes by Benjamin Dicken

Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance.

Here's a couple of things I couldn't not share:

And the most popular article from the last issue was:

newsletters