The Sound Of Software

tl;dr: “Sound is an outcast in Software Design. We may embrace the aesthetics of animation and visuals, but sound is different. It’s intrusive. Unlike visuals on a screen, you can’t look away or ignore it... If you haven’t worked with sound before, it may be difficult to know where to start. When should you use it? How do you create it? How do you shape it? How do you even talk about it? Let's get in it.”

featured in #512

In Loving Memory Of Square Checkbox

- Nikita Prokopov tl;dr: "But despite all this chaos and temptation, operating system vendors knew better. To this day, they follow The convention: checkboxes are square, radio buttons are round. Maybe it was part of their internal training. Maybe they had experienced art directors. Maybe it was just luck. I don’t know, it doesn’t really matter but somehow they managed to stick to the convention. Until this day."

featured in #484

Examples Of Great URL Design

- Jim Nielsen tl;dr: Jim discusses the importance of thoughtful URL design, showcasing how URLs can be more than just web addresses. He highlights examples like StackOverflow, where URLs balance computer and human needs by combining a unique identifier with an optional human-readable slug. Jim also mentions Slack's marketing campaign, which cleverly integrated storytelling into URLs. He points out how GitHub and NPM use URLs that map to their domain semantics, providing intuitive navigation and shortcuts for users. 

featured in #470

Communicate Design Tradeoffs Visually

- Tim Lyakhovetskiy tl;dr: “A goal of any written design or project proposal is to present and evaluate alternatives. However, documents that include multiple solutions can be difficult to read when the qualities of each solution are not clearly expressed. A common approach to simplifying proposals is to use “pros and cons” for each alternative, but this leads to biased writing since the pros and cons may be weighed differently depending on the reader’s priorities.” Tim shows us how to color code these tradeoffs to make it easier for readers to parse ideas.

featured in #459

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