/Design

How GitHub Indexes Code For Blazing Fast Search & Retrieval

- Shivang Sarawagi tl;dr: “The search engine supports global queries across 200 million repos and indexes code changes in repositories within minutes. The code search index is by far the largest cluster that GitHub runs, comprising 5184 vCPUs, 40TB of RAM, and 1.25PB of backing storage, supporting a query load of 200 requests per second on average and indexing over 53 billion source files.”

featured in #458


Hey, Computer, Make Me A Font

- Sergey Tselovalnikov tl;dr: “This is a story of my journey learning to build generative ML models from scratch and teaching a computer to create fonts in the process.” FontoGen is a generative ML model project that crafts type fonts based on user descriptions. The author delves into the complexities of text-to-SVG generation and the intricacies of maintaining stylistic uniformity across glyphs. Drawing inspiration from the IconShop paper, a sequence-to-sequence model was employed, using text embeddings from BERT and font embeddings from tokenized glyph shapes.

featured in #454


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