TLDR Web Dev

TLDR WEB DEV 2024-04-23

6 sections15 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01GENERAL

02ARTICLES & TUTORIALS

4 SOFTWARE DESIGN PRINCIPLES I LEARNED THE HARD WAY

This author built a large-scale service and found certain principles reappearing throughout the implementation. It's useful to prioritize a single source of truth and minimize mutable state when building something from scratch. Developers should also make sure not to abstract things prematurely and not to overuse mocks when writing tests for their code.

links.tldr.tech5 min read

DEBUGGING INFINITE LOOPS

In object-oriented programs, infinite loops can happen unknowingly. To understand and fix these issues, you should successively inline the methods on the stack until you have a self-referencing method. This gets to the root of the issue compared to just applying a code-level hack.

links.tldr.tech7 min read

03OPINIONS & ADVICE

MY FIRST PROMO REJECTION, A BLESSING IN DISGUISE

This author was rejected for their first promotion at Google after two years in their role for not displaying enough impact. From that rejection, they learned the importance of taking initiative and strategically selecting projects that demonstrated impact.

links.tldr.tech4 min read

THE TRAP OF OVER-ENGINEERING AND OVER-DESIGN

Developers often over-engineer and over-design software by abstracting things excessively and focusing on hypothetical future scalability. Instead, it's better to prioritize core functionality first, keep the scope reasonable, and have a “good” solution over a “perfect” one.

links.tldr.tech5 min read

DROP EVERYTHING AND REVIEW

Software development has multiple feedback loops: the inner loop (immediate feedback from tools), the middle loop (code reviews), and the outer loop (deployment and system-level testing). Code review often gets delayed, unnecessarily inflating the middle loop which leads to slower deployment. This author advocates for code reviews to be the top priority for teams after any urgent production issues so that teams can keep shipping at a smooth pace.

links.tldr.tech5 min read

04LAUNCHES & TOOLS

FRANKEN/UI

Franken UI is a collection of copy-pastable components that are HTML-first and framework agnostic.

links.tldr.techTool

FIRECRAWL

Crawl and convert any website into LLM-ready Markdown. It can be self-hosted and comes with Python and Node SDKs.

links.tldr.techGitHub repository

05MISCELLANEOUS

DEVELOPING RAPIDLY WITH GENERATIVE AI

Discord builds products with generative AI quickly by identifying suitable use cases early and then prototyping with off-the-shelf LLMs. It evaluates prompts deeply before deploying at scale. Discord leans towards using off-the-shelf LLMs before thinking about using self-hosted ones because it saves engineering resources. Often, if the target problem can't be solved with GPT-4, then it probably can't be solved yet with generative AI at all.

links.tldr.tech8 min read

HOW SHORT CAN GIT ABBREVIATE?

The default 7-character length of Git hashes can lead to collisions in large repos like the Linux kernel. This article analyzes the distribution of abbreviation lengths, finding that while most commits can use short abbreviations, a large number require longer ones (up to 11 currently). It recommends using at least 12 characters for large repositories and referencing full Git hashes if possible.

links.tldr.tech4 min read