Search the archive

Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.

Results

9,381 matches

WHY GOLANG SLICES STILL SURPRISE ME

Go slices are confusing because they behave as either dynamically sized arrays or fat pointers depending on context, leading to mutability and ownership issues and surprising behaviors like reslicing beyond the length and modifying the capacity.

2024.12.02
build-your-own.org5 min readTLDR Web Dev

SLOW DEPLOYMENT CAUSES MEETINGS

Slow code deployment, rather than causing meetings, is more likely the reason for them, as organizations increase meeting overhead to compensate for their inability to deploy code frequently enough.

2024.12.02
tidyfirst.substack.com3 min readTLDR Web Dev

MICROBENCHMARKS ARE EXPERIMENTS

A benchmark comparing Dart and JavaScript code initially showed JavaScript as faster, but this discrepancy was resolved by making sure equivalent data structures (Int64List in Dart) were used. Further investigation revealed that Dart's interrupt checks impacted performance negatively, while JavaScriptCore's optimizations, including modulo strength reduction, contributed to its speed advantage, which was negated by one-line code change in Dart that took advantage of Dart's compiler.

2024.11.29
mrale.ph15 min readTLDR Web Dev

HOW LINKEDIN SCALED THEIR SYSTEM TO 5 MILLION QUERIES PER SECOND

LinkedIn scaled its restriction enforcement system to handle 5 million queries per second using a multi-faceted approach. It used BitSets for efficient boolean storage and Bloom Filters for probabilistic set membership checks. Its final architecture incorporated a Venice database as the central source of truth, Kafka for near real-time updates, and a client layer utilizing a REST API.

2024.11.29
blog.quastor.org8 min readTLDR Web Dev

BUILDING REDDIT'S FRONTEND WITH VITE

Reddit was experiencing slow Rollup-based frontend build times, averaging nearly two minutes for initial builds and 40 seconds for incremental ones. To address this, it adopted Vite, a build tool using ESBuild's JIT compilation. The migration resulted in build times under one second for both initial and incremental builds.

2024.11.29
reddit.com15 min readTLDR Web Dev

HOW TO BURNOUT A SOFTWARE ENGINEER, IN 3 EASY STEPS

Burnout isn't always caused by working long hours. Often, it's caused by deeper issues during engineering. This author tells two stories about burning out in the same way at both a startup and a big tech company. The burnout was caused by micromanagement, a lack of trust in engineers, the introduction of unnecessary processes, not shipping code to customers, and overpromising.

2024.11.29
read.engineerscodex.com5 min readTLDR Web Dev

7 QUESTIONS I GET ASKED FREQUENTLY AS AN EM

This engineering manager usually gets questions about project timelines, team performance (including metrics like MTTR and KTLO costs), and the impact of projects on key performance indicators. In this post, he provides practical advice on using project management tools, operational metrics dashboards, and BI tools to gather information quickly and efficiently.

2024.11.29
links.tldrnewsletter.com4 min readTLDR Web Dev

SCREEN SHARING

Screen Sharing is a real-time screen-sharing application built with Next.js, WebRTC, and PeerJS. It has room-based sharing, cross-browser support, and a simple interface.

2024.11.29
github.comGitHub repositoryTLDR Web Dev

VINCE

Vince is a self-hosted, privacy-friendly alternative to Google Analytics that offers features like automatic TLS, outbound link tracking, and unlimited sites and events.

2024.11.29
github.comGitHub repositoryTLDR Web Dev

LITDB

LitDB is a TypeScript/JavaScript library that provides type-safe, parameterized SQL builders for SQLite, MySQL, and PostgreSQL. It lets developers write familiar SQL with better safety and portability.

2024.11.29
litdb.devGitHub repositoryTLDR Web Dev

WEAPONIZING SSO FOR PROFIT

Many SaaS vendors are charging extra for Single Sign-On (SSO), which is increasingly mandated by regulations like NIS2 and DORA. This practice forces companies, particularly regulated ones, into higher, more expensive pricing tiers to meet security and compliance requirements, despite SSO's relatively low implementation cost.

2024.11.29
raz.sh7 min readTLDR Web Dev

DESIGNING (AND EVOLVING) A NEW WEB PERFORMANCE SCORE

CrRRUX is a relative-ranking score designed to simplify competitor analysis by aggregating Core Web Vitals data (LCP, INP, and CLS) into a single comparative score. The score accounts for “passingness”, continuity, and real user experiences. It can be automated through Google Sheets and the CrUX API.

2024.11.29
csswizardry.com11 min readTLDR Web Dev

STRUCTURED EDITING AND INCREMENTAL PARSING

Structured editing is a method where code editors understand a program's syntax, offering benefits like instant feedback and accurate selections. Structured editors often restrict non-structural editing, which frustrates many programmers who frequently edit code in ways that violate its syntax. A solution to this is incremental parsing, which allows for both structured understanding and free-form editing by maintaining a parse tree in the background, even if the code becomes temporarily invalid.

2024.11.29
links.tldrnewsletter.com6 min readTLDR Web Dev

A FRAMEWORK FOR EVALUATING BROWSER SUPPORT

This blog post presents a framework for deciding whether to use new CSS features based on browser support. The framework considers three factors: the fallback experience if the feature isn't supported, the actual browser usage statistics for the specific audience (which may differ from global averages), and the potential harm caused by a broken experience for unsupported browsers. Devs can simulate unsupported browsers by temporarily removing the CSS declaration to assess the fallback and use `@supports` for custom fallbacks when necessary.

2024.11.28
joshwcomeau.com18 min readTLDR Web Dev

THE ANATOMY OF A REACT ISLAND

React Islands are used to incrementally modernize web applications by integrating React components into existing, statically rendered projects. This approach avoids the pitfalls of complete rewrites by allowing for a piecemeal transition. React Islands involve creating self-contained React components, declaring them in a separate build target, and then calling them from the main HTML, passing data via props and using a shared context for performance.

2024.11.28
swizec.com8 min readTLDR Web Dev

I LEARNED REACT NATIVE AS A WEB DEVELOPER, AND I GOT EVERYTHING WRONG

A web developer transitioning to React Native initially prioritized custom UI components, which resulted in apps that lacked the familiar and polished feel of native apps. They eventually switched to using native iOS and Android UI elements, pre-built components that offer a polished, platform-consistent experience.

2024.11.28
fernandorojo.co5 min readTLDR Web Dev

PYTHON DEPENDENCY MANAGEMENT IS A DUMPSTER FIRE

Python dependency management is difficult because there are too many tools and no standardized approach. The core problem stems from the need to manage both Python-specific packages and system-level dependencies, often requiring multiple tools and increasing the chance of conflicts. Good dependency management relies on version control, environment isolation (like virtual environments), and the use of definition and lock files for reproducibility.

2024.11.28
nielscautaerts.xyz57 min readTLDR Web Dev

SAFE VS. ALL-IN: THE TWO FACES OF ENGINEERING MANAGEMENT

The “Safe Engineering Manager” focuses on stability, harmony, and meeting expectations, while the “All-In Engineering Manager” pushes boundaries, challenges norms, and deeply invests in outcomes and people. These approaches often clash, as one values calm consistency and the other thrives on relentless passion and change.

2024.11.28
zaidesanton.substack.com3 min readTLDR Web Dev

CALI

Cali is an open-source AI agent that uses a large language model to simplify React Native app development. It provides tools for build automation, device management, dependency management, and more.

2024.11.28
github.comGitHub repositoryTLDR Web Dev

ESLINT PLUGIN PERFECTIONIST

The ESLint plugin Perfectionist automatically sorts various code elements (imports, objects, types, etc.) alphabetically, naturally, or by line length.

2024.11.28
github.comGitHub repositoryTLDR Web Dev

INTRODUCING REACT NATIVE SCREENS 4.0.0

React Native Screens 4.0.0 introduces improved sheet API support on Android and iOS, preload support for native-stack screens, better iOS animations, support for React Navigation v7, and support for the new React Native versions.

2024.11.28
blog.swmansion.com3 min readTLDR Web Dev

DENO V. ORACLE: CANCELING THE JAVASCRIPT TRADEMARK

Deno has filed a petition with the USPTO to cancel Oracle's trademark on “JavaScript,” arguing that the term has become generic, Oracle misrepresented evidence during trademark renewal, and the trademark has been abandoned. If successful, this would remove legal barriers, allowing the community to freely use the term “JavaScript” without restrictions.

2024.11.28
deno.com3 min readTLDR Web Dev

BEHIND THE PLATFORM: THE JOURNEY TO CREATE THE LINKEDIN GENAI APPLICATION TECH STACK

LinkedIn's journey of building a GenAI application tech stack began in early 2023. It initially used a Java-based midtier but transitioned to a Python-based framework using LangChain for both offline development and online serving. Prompt management evolved from simple string interpolation to a standardized system using Jinja templates and a prompt source of truth.

2024.11.28
linkedin.com17 min readTLDR Web Dev

NOTHING IS SOMETHING

Unlike search engines which return nothing when lacking sufficient information, LLMs produce inaccurate but seemingly plausible responses, making "nothing" more helpful than the misleading "something" they provide.

2024.11.28
blog.jim-nielsen.com3 min readTLDR Web Dev

AVOIDING FALSE POSITIVES IN NODE.JS TESTS

Common causes of false positives in Node.js tests include using loose equality comparisons, overly general assertions, shallow equality for deep comparisons, misunderstanding assertion behavior, forgetting to call matchers, misusing mocks, and incorrect regex matching.

2024.11.28
blog.appsignal.com9 min readTLDR Web Dev

THE COMPUTING INDUSTRY DOESN'T CARE ABOUT PERFORMANCE: HOW I MADE THINGS FASTER IN MY PAJAMAS

A software engineer, working independently, was able to make huge performance improvements in various apps, including a 30% faster Uber app startup, a 3x speed increase in Android UI display, and an 11% speedup in Lucene. These optimizations were accomplished through the use of automated tools and techniques that focused on identifying and resolving inefficiencies in code, such as overly broad synchronization blocks and dynamic method dispatches. While there's often a lack of incentive to make significant performance improvements, there are many cases where there's low-hanging fruit.

2024.11.27
deviantabstraction.com4 min readTLDR Web Dev

FEATURE-BASED REACT ARCHITECTURE

Using a feature-based architecture in React apps can make them easier to maintain and scale. This article goes over how to decouple components and data fetching functions. Focusing each on a single feature avoids intertwining vertical features and creating overly complex functions. This approach initially leads to multiple data requests but can be later optimized using `Promise.all` for parallel fetching to improve performance.

2024.11.27
robinwieruch.de10 min readTLDR Web Dev

WHAT I WISH SOMEONE TOLD ME ABOUT POSTGRES

This is a collection of tips and advice for working with Postgres databases. It covers how to improve psql usage, optimize queries, and understand the impact of locks and JSONB on application performance. It is important to normalize data and follow the recommendations of the Postgres developers.

2024.11.27
challahscript.com22 min readTLDR Web Dev

I DIDN'T NEED KUBERNETES, AND YOU PROBABLY DON'T EITHER

This developer found that Google Cloud Run's pay-per-use model, fast scaling, and lack of cluster management overhead made it a better choice cost-wise compared to Kubernetes. Despite some minor workflow inconveniences in Cloud Run, the overall experience was better.

2024.11.27
benhouston3d.com7 min readTLDR Web Dev

JEKYLL SQLITE

The Jekyll-SQLite plugin allows Jekyll users to use SQLite databases as data sources for their websites. It supports site-level, per-page, and prepared queries, which can use existing data as parameters.

2024.11.27
github.comGitHub repositoryTLDR Web Dev

JSONTR.EE

jsontr.ee is a lightweight JavaScript library that visualizes JSON data as interactive, dynamically-positioned tree diagrams using SVG.

2024.11.27
github.comGitHub repositoryTLDR Web Dev

BUILDING LLMS IS PROBABLY NOT GOING BE A BRILLIANT BUSINESS

LLMs are likely to be an unprofitable business, just like airlines, an industry with historically poor profitability. This is due to an unfavorable industry structure for LLM makers, characterized by a powerful single supplier (Nvidia), high buyer fickleness, numerous competitors, and easy market entry for new players.

2024.11.27
calpaterson.com11 min readTLDR Web Dev

ARCHETYPES OF LLM APPS

There are three levels of LLM application within businesses: foundational building blocks (chat, embeddings, and semantic search), basic applications (code generation, summarization, and analysis), and advanced applications (RAG, agents, and swarms).

2024.11.27
contraption.co24 min readTLDR Web Dev

1 BILLION NESTED LOOP ITERATIONS

A benchmark of one billion nested loop iterations across various programming languages revealed that C/clang and Rust were the fastest (0.50 seconds), while Python and R were the slowest (over 70 seconds).

2024.11.27
benjdd.comToolTLDR Web Dev

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.

2024.11.26
canva.dev12 min readTLDR Web Dev

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.

2024.11.26
slack.engineering7 min readTLDR Web Dev

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.

2024.11.26
davidreiscto.substack.com8 min readTLDR Web Dev

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.

2024.11.26
htmx.org14 min readTLDR Web Dev

SQLITESTUDIO

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

2024.11.26
sqlitestudio.plToolTLDR Web Dev

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.

2024.11.26
github.comGitHub repositoryTLDR Web Dev