engineering
engineering
ruby-on-rails
Rails view rendering performance: when render gets expensive
Rails partials feel free until a page renders hundreds of them. Benchmarks of five rendering strategies (inline ERB, partial loops, collection rendering and more) show which is fastest, why the helper trick backfires, and a practical rule for when to optimize views.
software-architecture
Cynefin framework - decide when to use Agile vs Waterfall
Cynefin framework in practice for engineers: classify a problem as clear, complicated, complex or chaotic before picking a process, so you know when Agile experiments beat Waterfall plans and what to do when production is down.
Latest
Structured logging in Rails 8.1 with Rails.event
Structured logging lands in Rails 8.1 with the Rails.event API. How the Structured Event Reporter replaces regex-parsed log lines with JSON events, plus tags, context, schemas, debug mode, and how to subscribe and test events in your own app.
How to serve 800 million users without database sharding?
OpenAI serves over 800 million weekly ChatGPT users without database sharding. Inside the architecture: a single primary PostgreSQL, cascading read replicas, aggressive caching against thundering herds, and connection pooling pushed to its limits.
Snapshot vs Event Sourcing: Why does your system lie about the past?
Snapshot databases only show the current mess, not who knocked over the chair. Event sourcing explained through an investigation lens: anatomy of an event, state recreation as time travel, why audit tables are a dead end, and the honest cost of eventual consistency.
Zanzibar authorisation system by Google
Zanzibar is how Google authorises billions of shared resources across Drive, YouTube and Calendar. A look at its relationship-based data model, the new enemy problem that forces strict consistency, and the Leopard system that keeps checks fast.
Microservices - a significant cost that may not always suit your project
Microservices promise independence and deliver network calls where method calls used to be. Why small and medium teams pay the highest price: chaos scaling instead of product scaling, lost shared context, operational overhead, and the way back to sanity.
Microservices are not just technology - how not to build a distributed monolith?
A distributed monolith is what you get when microservice boundaries are drawn wrong. How to design autonomous modules in three phases: business analysis for boundaries, tight communication contracts, and deployment decisions driven by real architectural drivers.
Team Topologies: Organizing for success in modern software development
Team Topologies in practice: Conway's Law and the reverse Conway maneuver, cognitive load, the four team types (stream-aligned, platform, enabling, complicated subsystem), and three interaction modes, with advice on introducing them in your organization.
Living documentation with the P3 model: A practical guide for engineers
Living documentation stops going stale with the P3 model: define the Purpose (why you document), the Process (how it stays current), and the Product (what readers get). A practical framework for engineers tired of outdated wikis and misleading docs.
What is IDesign way in architecture?
The IDesign method by Juval Lowy structures software architecture for change instead of functional decomposition. Why decomposing by requirements breaks systems over time, the core IDesign principles, a three-step design process, and implementation tips.