/Architecture

How Does Spam Protection Work On Stack Exchange?

tl;dr: A layered approach using HTTP errors, IP blocked and spam-flags, used in tandem with a custom bot called "SmokeDetector, which "looks for spam and feeds it into chatrooms where waiting users can spam-flag it."

featured in #190


Architecture Jams: A Collaborative Way Of Designing Software

- Gergely Orosz tl;dr: Gergely provides a useful framework for how to conduct jams, starting with (1) be mindful of who you invite (2) start with the goal (3) lay out constraints and principles.

featured in #186


Rebuilding Our Tech Stack For A New Facebook.com

tl;dr: The FB team built a client driven app anchoring the rebuild with 2 mantras. (1) As little as possible, as early as possible, (2) engineering experience in service of user experience. 

featured in #183


The Elephant In The Architecture

- Martin Fowler Ian Cartwright tl;dr: Asked to perform assessments on architecture, the question that doesn't come up is "how different systems contribute to business value, and how this value interacts with these other architectural attributes." 

featured in #177


Do Not Log

- Nikita Sobolev tl;dr: Logging doesn't make much sense in monitoring and error tracking. There are better tools. It adds complexity to architecture, requires more testing and is incredibly hard to do right. 

featured in #177


Simple Systems Have Less Downtime

- Greg Kogan tl;dr: Easier to manage, simpler systems require less proficiency and troubleshooting, and provide more alternatives. The post outlines three principles of simple systems. 

featured in #176


How I Write Backends

- Federico Pereiro tl;dr: Using Ubuntu, Node, Redis and a few other tools, we are run through various architectural configurations Federico implements regularly. 

featured in #171


What Is A Software Architect?

- Justin Miller tl;dr: A comprehensive guide - what an architect is, various levels of architecture, typical activities, important skills, suggested books and more.

featured in #171


The Myth Of Architect As Chess Master

- Ben Northrop tl;dr: While the rules of chess are consistent, the rules of software are not. To be an architect, you need to understand the specific "game you're in" - the business drivers, risks, technical constraints, integrations, trade-offs, and so on. 

featured in #170


Inefficient Efficiency

- Kent Beck tl;dr: Latency is “the time interval between a stimulus and its response." Throughput is “the rate at which a system achieves its goal”. Kent discusses the relationship of these two in architectural decisions, and when to optimize which. Click the link in this tweet if you're paywalled.

featured in #164