Continuous reinvention: A brief history of block storage at AWS (25 minute read)
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.
|
strlcpy and how CPUs can defy common sense (8 minute read)
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.
|
What is UDP? (6 minute read)
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.
|
|
Lessons learned in 35 years of making software (6 minute read)
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.
|
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.
|
How to get a job at a startup (6 minute read)
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.
|
|
InstantDB (GitHub Repo)
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.
|
LogTape (GitHub Repo)
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.
|
Filament (GitHub Repo)
Filament is a collection of full-stack components for faster Laravel development that are well-designed, intuitive to use, and fully extensible.
|
|
Python's Preprocessor (15 minute read)
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.
|
Notris: a Tetris clone for the PlayStation 1 (21 minute read)
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.
|
Constraining writers in distributed systems (11 minute read)
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.
|
|
Isaiah (GitHub Repo)
Isaiah is a self-hostable clone of lazydocker for the web that lets you manage your Docker fleet easily.
|
|
Love TLDR? Tell your friends and get rewards!
|
Share your referral link below with friends to get free TLDR swag!
|
|
Track your referrals here.
|
Want to advertise in TLDR? 📰
|
If your company is interested in reaching an audience of web developers and engineering decision makers, you may want to advertise with us.
If you have any comments or feedback, just respond to this email!
Thanks for reading,
Priyam Mohanty, Jenny Xu & Ceora Ford
|
|
|
|