Issue #387 · August 26, 2024

Continuous reinvention: A brief history of block storage at AWS

“Humanity is acquiring all the right technology for all the wrong reasons“”

Hello, Welcome back to FullStack Bulletin!

I've got a pretty eclectic mix for you this week. From cutting-edge AWS engineering and innovation to a thorough TSConfig guide, and even a new Python package manager, there's a little something for everyone. I hope this lineup keeps you both informed and inspired.

Oh, and before you dive in, just a heads-up: the live stream I did last week with the BelieveInServerless community about Rust and AWS Lambda is now up on YouTube. I think you'll find it pretty cool.

P.S. I'm diving into Nix right now, and honestly, it's a bit overwhelming! If you’re into it and have any resources to share, I’d love to hear from you!

Cheers, Luciano

Continuous reinvention: A brief history of block storage at AWS

Continuous reinvention: A brief history of block storage at AWS

Marc Olson, a long-time Amazonian, discusses the evolution of EBS, highlighting hard-won lessons in queueing theory, the importance of comprehensive instrumentation, and the value of incrementalism versus radical changes. It's an insightful look at how one of AWS’s foundational services has evolved to meet the needs of our customers. This is possibly not your usual full-stack read, but it's absolutely interesting story of innovation and I am sure there are some learnings there even for full-stack devs!

Articles

The TSConfig Cheat Sheet

Matt Pocock shares his favourite tsconfig.json and explains what every setting is used for. This is an absolute wonder if you have ever been confused by the multitude of configuration options available and struggled to come up with something working!

uv: Unified Python packaging

uv is a new Python package manager that promises to revolutionise the way you manage packages and virtual environments. It's written in Rust and it comes from the same developers that have already innovated this space with the ruff linter and formatter. If you are into Python, you must check out this one!

SIMD Matters

SIMD is the holy grail of CPU performance, often out of reach. The conventional wisdom is that it is difficult to achieve real gains from SIMD. It is tempting to build a math library around SIMD hoping to get some performance gains. However, it often has no proven benefit. It just feels good to be using something we know can improve performance. This article showcases how the author of Box2D (a famous physics simulation engine also used on the web) has managed to achieve great performance by using SIMD. It's an interesting read if you work on dynamic web applications like games or simulations or are just trying to add some dynamic elements to a web page.

Real-time mouse pointers

The engineers at Canva share how the managed to implement a multiplayer-like collaborative mode that allows multiple people to edit designs collaboratively. The most interesting bit is how they managed to synchronise the position of mouse cursors!

Authentik

Authentik is a new open source identity provider that promises to help you with managing user and logins for your web applications. It can be easily tried with Docker and it supports a variety of protocols including SAML, OAuth and OIDC. Worth a look if you are looking for a good self-hosted option.

Book of the week

Algorithms to Live By: The Computer Science of Human Decisions

Algorithms to Live By: The Computer Science of Human Decisions

by Brian Christian, and Tom Griffiths

A fascinating exploration of how computer algorithms can be applied to our everyday lives, helping to solve common decision-making problems and illuminate the workings of the human mind All our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favourites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such problems for decades. And the solutions they've found have much to teach us.

Additional Links