TLDR Web Dev

TLDR WEB DEV 2024-08-23

5 sections19 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

CONTINUOUS REINVENTION: A BRIEF HISTORY OF BLOCK STORAGE AT AWS

Elastic Block Store (EBS) at AWS has evolved from simple shared drives to a massive, distributed SSD system delivering over 140 trillion operations daily. This post shares key lessons learned over the years, emphasizing the importance of incremental improvements, comprehensive instrumentation, and the power of constraints to drive innovation. It also discusses how a team tackled performance challenges by addressing the entire system stack, from the hypervisor to the network, and ultimately by building their own SSDs optimized for EBS.

allthingsdistributed.com25 min read

STRLCPY AND HOW CPUS CAN DEFY COMMON SENSE

strlcpy is a string copying function that traverses the source string only once, compared to strlen + memcpy, which traverses it twice. While it seems intuitive that a single traversal should be faster, benchmarks show that the double traversal method is often significantly faster, particularly for larger strings. This is due to the fact that CPUs can execute independent instructions in parallel, and the memcpy loop in strlen + memcpy has fewer dependencies than the fused loop in strlcpy, allowing for greater parallelism.

nrk.neocities.org8 min read

WHAT IS UDP?

UDP is a networking protocol that adds port numbers to IP packets, allowing programs on a host to communicate directly with each other. It's often described as "connectionless" and "unreliable" because it doesn't guarantee delivery of packets, but this makes it ideal for situations where speed and efficiency are important. UDP is used in a wide variety of applications, including live video streaming, online gaming, and VPNs like WireGuard.

pboyd.io6 min read

02OPINIONS & ADVICE

LESSONS LEARNED IN 35 YEARS OF MAKING SOFTWARE

This blog post contains a list of lessons learned by a developer from 35 years of making software. The advice covers topics such as relationships, chasing interests, how people see the world, different mindsets to develop, and more. A lot of career progression in white-collar work is gained through developing relationships.

dev.jimgrey.net6 min read

ASK HN: WHAT WAS YOUR BIGGEST STARTUP FAIL? (HACKER NEWS THREAD)

Hacker News commenters detail various reasons why their startups failed. Some were too ambitious with their MVPs, while others tried to compete on price in a market that wasn't as price-sensitive as expected. Other people built something that people didn't want, while others hired people too early.

news.ycombinator.com

HOW TO GET A JOB AT A STARTUP

To stand out in competitive startup hiring, tailor your application to be concise, clear, and easy for recruiters to scan quickly. Show genuine curiosity by asking insightful questions during interviews and digging into how the company operates. Finally, align yourself with the company's culture, show ownership and optimism, and be flexible with your availability.

open.substack.com6 min read

03LAUNCHES & TOOLS

Sponsored

REACH OVER 4 MILLION TECH PROFESSIONALS

Developers hate ads, but they love TLDR. With over 4 million subscribers, we're your direct line to tech professionals like

advertise.tldr.techSponsor

INSTANTDB

Instant is a client-side database that makes it easy to build real-time and collaborative apps like Notion or Figma. You write relational queries in the shape of the data you want and Instant handles all the data fetching, permission checking, and offline caching. It also handles optimistic updates and rollbacks for you when you change data.

github.comGitHub repository

LOGTAPE

LogTape is a flexible logging library for JavaScript and TypeScript with zero dependencies designed to work across environments like Deno, Node.js, and browsers. It supports structured logging, hierarchical categories, and customizable sinks.

github.comGitHub repository

FILAMENT

Filament is a collection of full-stack components for faster Laravel development that are well-designed, intuitive to use, and fully extensible.

github.comGitHub repository

04MISCELLANEOUS

PYTHON'S PREPROCESSOR

Python has a powerful preprocessor that allows users to extend its functionality in unexpected ways, despite the common misconception that it lacks one. It uses custom codecs and path configuration files, allowing the interpreter to interpret code written in different languages. This article explores various examples, such as adding unary increment/decrement operators, interpreting C/C++ code using cppyy, and validating TOML files with jsonschema.

pydong.org15 min read

NOTRIS: A TETRIS CLONE FOR THE PLAYSTATION 1

This developer created a homebrew PSX game called "Notris" in C using modern tools. Driven by the desire to understand classic PSX development, they chose to work directly with the PSNoobSDK and C, learning the intricacies of PSX graphics and programming. They started with a JavaScript prototype, then transitioned to C, building a Tetris clone that is playable on original PSX hardware.

github.com21 min read

CONSTRAINING WRITERS IN DISTRIBUTED SYSTEMS

This article discusses strategies for minimizing data loss in distributed storage systems by constraining how data is written across multiple nodes. It explores the concept of "copysets," where data is written to specific subsets of nodes, reducing the probability of losing data due to node failures. This approach contrasts with simple replication, where data is written to randomly chosen nodes, increasing the risk of data loss as the number of nodes grows.

shachaf.net11 min read