TLDR Web Dev

TLDR WEB DEV 2024-11-26

5 sections15 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

HOW TO IMPROVE SEARCH WITHOUT LOOKING AT QUERIES OR RESULTS

Canva developed a system that used generative AI to create a synthetic dataset of realistic queries and designs. This let the company perform offline evaluation of search algorithm changes. The system was meant for privacy, which meant that user queries were hidden from training. The approach allowed for rapid, reproducible testing of code changes locally, speeding up Canva's development process.

canva.dev12 min read

ASTRA DYNAMIC CHUNKS: HOW WE SAVED BY REDESIGNING A KEY PART OF ASTRA

Slack's log search engine, Astra, initially used fixed-size data chunks, leading to wasted disk space and increased infrastructure costs due to underutilized chunks. To address this, the Slack team redesigned Astra to use dynamic chunks. This involved implementing a first-fit bin packing algorithm to optimize chunk assignment across cache nodes, using Zookeeper for persistent data tracking.

slack.engineering7 min read

02OPINIONS & ADVICE

LEGACY SHMEGACY

The problem with legacy code isn't the code itself, but rather poor knowledge transfer and maintainability among developers. Long programmer tenure, well-architected and documented code, effective knowledge-sharing practices, and the use of standardized tech and frameworks can prevent code from becoming legacy code.

davidreiscto.substack.com8 min read

CODIN' DIRTY

A "codin' dirty" approach is better than following a "clean code" philosophy. This means writing larger, contextually relevant functions, with integration tests over unit tests for their stability and higher-level perspective. It also means minimizing the number of classes and interfaces to simplify project complexity.

htmx.org14 min read

GETTING OVER NOT BEING A GOOD ENOUGH PROGRAMMER

Complex code, persistent frustration with debugging, and the rise of AI tools can make developers fear that they are not good enough. Progress, even if imperfect, constitutes "good enough.”

niftylittleme.com4 min read

03LAUNCHES & TOOLS

SQLITESTUDIO

SQLiteStudio is a free, open-source, cross-platform application for creating, editing, and browsing SQLite databases.

sqlitestudio.plTool

RILL

Rill is a lightweight Go toolkit that makes concurrent programming easier by providing composable, channel-based functions for common concurrency tasks, like batching, error handling, and order preservation.

github.comGitHub repository

04MISCELLANEOUS

HEY, WAIT – IS EMPLOYEE PERFORMANCE REALLY GAUSSIAN DISTRIBUTED??

Employee performance at Fortune 500 companies is probably best represented by a Pareto distribution (rather than the common Gaussian distribution). This Pareto distribution implies that the bottom 10% of performers are not drastically different from the next 10%, negating the justification for annual firings based on a forced curve.

timdellinger.substack.com21 min read

MACOS TIPS FOR PROGRAMMERS: THREADING

Apple's system aggressively prioritizes tasks based on Quality of Service (QoS) classes (User Interactive, User Initiated, Legacy, Utility, and Background). This influences CPU scheduling and I/O. To avoid priority inversion bugs, use specific synchronization primitives like `os_unfair_lock` or `pthread_mutex`, which enable QoS inheritance, boosting lower-priority threads when accessed by higher-priority ones.

blog.xoria.org7 min read

HOW TREATING LLMS AS “ACTORS” CAN PRODUCE BETTER RESULTS

A new research paper proposes treating LLMs as "Method Actors" to improve prompt engineering. This approach frames prompts as scripts, guiding the LLM through a performance, similar to how a director guides an actor. The "Method Actors" model breaks down complex tasks into smaller, manageable subtasks, leading to better performance on certain tasks.

bdtechtalks.com5 min read