/Design

How Instagram Scaled To 14 million Users With Only 3 Engineers

- Leonardo Creed tl;dr: Instagram scaled from 0 to 14 million users within a year (October 2010 to December 2011) with three engineers. The success was attributed to three guiding principles: simplicity, not reinventing the wheel and using proven technologies. The article provides a detailed walkthrough of the tech stack. Instagram relied on AWS, using EC2 and Ubuntu Linux, with the frontend developed in Objective-C. They utilized Amazon’s Elastic Load Balancer, Django for the backend, PostgreSQL for data storage, and Amazon S3 for photo storage, caching using Redis and Memcached.

featured in #449


Is This An Emoji?

tl;dr: The author faced challenges with data validation while implementing emoji tags in their app. They needed to ensure that the tags entered by users were valid emojis and not just arbitrary text. They tried various approaches like regex and Unicode character ranges, but each had its limitations and drawbacks.

featured in #435


Consistency Patterns

tl;dr: This article explores the role of consistency patterns such as strong, eventual, and weak consistency in maintaining reliability, system state, and user experience in distributed systems. It delves into the intricacies of these patterns, weighing their benefits and drawbacks, and discussing their real-world applications.

featured in #434


Everything That Uses Configuration Files Should Report Where They're Located

- Chris Siebenmann tl;dr: Chris regularly interacts with various programs, each of which has its configuration files in different locations, sometimes system-wide, other times user-specific. Given the variability and their infrequent interaction with some programs, they struggle to remember the configuration file locations, which can lead to time-consuming searches through manuals or documentation. Their proposed solution is for programs to offer an easy method, preferably via command line, to report the location of their configuration files.

featured in #433


More Software Projects Need Defenses Of Design

- Hillel Wayne tl;dr: Hillel argues why a well-documented "Defense of Design" is an invaluable resource for understanding a project's history, design decisions, and constraints that shaped it. It provides insights into the thought process of the creators, developers, and maintainers, thus fostering a greater level of understanding and appreciation for the software.

featured in #432


Common Design Patterns At Stripe

- Paul Asjes tl;dr: “You might disagree with how the Stripe API is designed, and the design you end up with is likely going to be different than what we use. That’s just fine, since different companies have different use cases. Instead I present here some design patterns that I believe are generic enough to be useful for just about anyone in the API design process.”

featured in #431


The Smartest Website You Haven't Heard Of

- Ben Edelstein tl;dr: "They sell nuts, bolts, bushings, bearings – pretty much anything an engineer needs to build stuff. I've purchased from them dozens of times over the past few years, both for personal and school projects. But what makes their website so great? And why should an industrial supply company have the best e-commerce site on the internet?"

featured in #357


Bracket Pair Colorization 10,000x Faster

- Henning Dieterichs tl;dr: Bracket colorization was such a popular VS plugin that the team spent significant effort to improve its performance, reducing time taken for colorization to appear in large files from 10 seconds to less than a millisecond. This post discusses the algorithm and architectural behind the improvement.

featured in #256


Hacking QR Code Design

- Marien Raat tl;dr: "Let's see how we can create QR codes that look however we want, while preserving links. We'll also show the world's first working QR gif created with this technique."

featured in #246


GitHub's New Notifications: A Case Of Regressive Design

- Drew DeVault tl;dr: A critique of GitHub's new UI, which is currently being rolled out. It has more of an emphasis on notifications and more buttons. 

featured in #177