TLDR Web Dev 2024-04-18

Centering things is hard 😳, doing the basics right 🧑‍💻️, how to fight distractions ⚡️

🧑‍💻
Articles & Tutorials

Scaling MySQL at Shopify Through Transitioning to Vitess for Enhanced Performance (4 minute read)

Shopify uses Vitess, a tool that helps distribute database data across multiple servers, to better handle large amounts of data. To integrate Vitess into its stack, it created logical data groupings called keyspaces and implemented features like connection pooling and transaction management to support the Shop app's growth.

Hardest Problem in Computer Science: Centering Things (8 minute read)

Centering UI elements is surprisingly hard due to factors like font metrics (which can be inconsistent), line height complexities, and the difficulty of aligning text with icons. This article shows multiple examples of non-centered text on websites from companies like Apple, Slack, Microsoft, GitHub, and Google. Some tips to align elements properly: stop using fonts for icons, understand your font metrics, and pay more attention to alignment in the first place.
🧠
Opinions & Advice

Basic Things (17 minute read)

Projects benefit from investing upfront in foundational elements like READMEs, developer docs, websites, and clear process documentation. Code quality should always be upheld on the main branch. These kinds of elements are a productivity multiplier when a project gets larger and are much harder to introduce into a large project that doesn't already have them.

The Struggles of a Young Developer (4 minute read)

Young developers often focus too much on premature optimization, which leads to over-engineering things too early. It's better instead to focus on writing clear, concise, and testable code. This author tells a story where they wrote over-engineered code as a young developer, but when it came time to debug it months later, they could no longer understand the code they had written.

There is always something: Fighting distractions as a software developer (8 minute read)

One of the best ways to fight distractions is to have planned productive hours and get into a “flow state.” To be productive and focused while coding, it's useful to prioritize tasks ahead of time and code with good habits.
🚀
Launches & Tools

React Query Builder (GitHub Repo)

React Query Builder is a fully customizable query builder component for React. It has a collection of utility functions for importing from - and exporting to - various query languages, like SQL and MongoDB.

Awesome Low-Level Design (GitHub Repo)

Low-level design resources to improve your design skills and prepare for interviews.
🎁
Miscellaneous

Healthy Documentation (16 minute read)

To build a documentation-first culture, CTOs and engineering leaders should lead by example, provide tools and templates, and establish documentation as a key part of the company's values. Documentation saves time for everyone since it leads to less meetings, chat pings, and knowledge loss.

A Case Study on Campfire's Implementation (8 minute read)

Campfire utilizes CSS features like custom properties and the ‘oklch()' color function to streamline design consistency and adaptability across devices. The ‘:has()' pseudo-class allows for conditional styling based on element content.

Did the makers of Devin AI lie about their capabilities? (12 minute read)

Devin AI has been promoted with claims that it can perform software engineering tasks by itself. However, it has been revealed that the company cherry-picked tasks and hid the true capabilities of Devin AI with flashy demos.
⚡️
Quick Links

How I engineered effective meetings to stop wasting time (4 minute read)

To conduct effective meetings, developers should prepare ahead of time, drive the discussion, and follow up with meeting notes.

iOS404 (Website)

An overview of all of the missing web features in iOS.

HTML popover Attribute (1 minute read)

The HTML popover attribute allows for native modals to be created.

How Antithesis finds bugs (with help from the Super Mario Bros.) (2 minute read)

Antithesis, a bug-finding platform, explores complex system state spaces to uncover bugs quickly.
Get our free, 5-minute newsletter read by 350,000 frontend, backend, and full stack developers
Join 300,000 readers for