Newslurp

<< Stories

History of AWS block storage 📜, how CPUs defy common sense 🤯, biggest startup fails 😭

TLDR Web Dev <dan@tldrnewsletter.com>

August 23, 11:10 am

TLDR WebDev
Elastic Block Store at AWS has evolved from simple shared drives to a massive, distributed SSD system delivering over 140 trillion operations daily 

TLDR

 TLDR Web Dev 2024-08-23

🧑‍💻

Articles & Tutorials

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.
🧠

Opinions & Advice

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.
🚀

Launches & Tools

Reach over 4 million tech professionals (Sponsor)

Developers hate ads, but they love TLDR. With over 4 million subscribers, we're your direct line to tech professionals like software devs, AI engineers, and engineering execs. Learn more about running your first campaign.
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.
🎁

Miscellaneous

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.

Quick Links

In a leaked recording, Amazon cloud chief tells employees that most developers could stop coding soon as AI takes over (5 minute read)

AWS CEO Matt Garman predicts that AI will automate many coding tasks, leading to a shift in the role of software developers, who will need to focus more on innovation and customer needs rather than coding itself.
Isaiah (GitHub Repo)

Isaiah is a self-hostable clone of lazydocker for the web that lets you manage your Docker fleet easily.
useStateObject: A Simple, Convenient API Around useState (1 minute read)

The useStateObject hook provides a simplified API for managing objects in React state by allowing direct property access and offering methods for merging, updating, and resetting state.
Protocol Buffer Design: Principles and Practices for Collaborative Development (12 minute read)

Good protobuf design includes avoiding common pitfalls like ambiguous field naming and leveraging validation tools to maintain future-proof protocols.

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


If you don't want to receive future editions of TLDR Web Dev, please unsubscribe from TLDR Web Dev or manage all of your TLDR newsletter subscriptions.