Keynote: Architecture the Lost Years

This is a really good talk from Uncle Bob Martin about architecture.

The DRY Obsession

The Don't Repeat Yourself principle is important. But it's not the only important principle or consideration for software design. Like all good things, it should be used with caution and forethought.

Elements of Scale: Composing and Scaling Data Platforms

Very good write-up about how memory hierarchy is important when designing data platforms and how that impacts performance.

CraftConf 2015 – did someone say microservices?

Some notes around all the microservices-related talks at CraftConf2015. You can also check out the videos for all talks on http://craft-conf.com/2015.

An Introduction to JavaScript-based DDoS

Cloudflare explains how JS-based DDoS attacks work and how to mitigate them.

The Architecture Twitter Uses To Deal With 150M Active Users, 300K QPS, A 22 MB/S Firehose, And Send Tweets In Under 5 Seconds

The article is a basic list of bullet points, but it explains in a high-level how twitter handles its scale.

Ruby Hash Initializing – Why Do You Think You Have a Hash, But You Have an Array

Interesting insight into Ruby’s hash implementation.

Libraries & Tools

Lotus

Lotus is a new Ruby framework with a focus on architecture and code de-coupling. It really shines on separating domain/business logic from the framework and delivery system. I think it’s an interesting idea and I’d keep an eye on it.

Caddy Server

New modern zero-conf HTTP server that supports HTTP/2.0 with a focus on modern web applications.

Ramjet

HTML elements morphing JS library. It’s pretty cool.

A Pragmatic Guide to Backbone.js Apps

This is a very interesting series of articles about a proper usage Backbone.js. I especially like the “Using events like a boss” section.

3 Ways to Do Eager Loading (Preloading) in Rails 3 & 4

This post explains the different ways of preloading data using ActiveRecord.

To Understand Code You Have to Build a Mental Model

How to become a better programmer by learning how you understand code.

The http.HandlerFunc Wrapper Technique in #golang

A good explanation and examples of how to achieve a middleware stack with Go’s plain net/http stdlib.

The Log: What Every Software Engineer Should Know About Real-Time Data's Unifying Abstraction

This is an older article but it’s really good. It explains the Log data structure, when it’s useful, and how LinkedIn used it internally to scale their system and continues to use it. It’s worth mentioning that this later resulted in the Kafka project.

Call Me Maybe: MongoDB Stale Reads

Aphyr is one of the leading experts in distributed systems, specifically databases. The focus of the article is MongoDB’s flaws in data consistency, but it comes with a lot of good explanation and examples on the subject.