Newsletter 51 – 06/2024

Featured

Evolving the Go Standard Library with math/rand/v2 – Go received its first v2 of a standard library math/rand/v2 this post explains why it was needed (along with the don’t break philosophy of the language), and brings the pattern for future upgrades on standard libraries APIs. The full in-depth post about the upgrade on statistical randomness of math/rand/v2 package can be found here.

Why do CPUs have multiple cache levels? – Why does the CPU have different cache levels of different sizes instead of only having one cache with an average total size? This post answers this question in a very clear way.

You should keep a developer’s journal – Another awesome post from the Stackoverflow blog, on this one introduces the idea of a “Developer’s Journal”, by documenting what you’re doing and why, you’ll save time, prevent headaches, and potentially boost your career. Looks promising.

Why, after 6 years, I’m over GraphQL – GraphQL is one of those technologies that suffered from a massive adoption 5 years ago, and now many people have mixed feelings about it, this post talks about some challenges behind a GraphQL system and why sometimes it is not what you want to deal with.

MISC

How Python Asyncio Works: Recreating it from Scratch – As the name says, this post brings a simple implementation of Python Asyncio, using generators. Not only a good post to understand the basic idea around Asyncio but also to learn some Python tricks.

Scaling to Count Billions – This awesome post by the Canva team, about a migration from OLTP to OLAP migration to achieve better scalability and maintainability.

How LLMs Work, Explained Without Math – LLMs are still mystical for most people, to understand it deeply you’ll need to understand some math, but this post is special, it tries to explain LLMs just with simple Python pseudocode.

100 Exercises To Learn Rust – A nice guide to learning Rust while doing exercises for each concept. Very useful for people who already know how to program but want to learn Rust in a not-so-beginner tutorial.

At some point, JavaScript got good – Nice point of view of how JavaScript language has evolved, especially after ES6.

ADOBE PHOTOSHOP SOURCE CODE – Adobe Photoshop 1.0.1 source code is now available through the Computer History Museum.

Ruby typing 2024: RBS, Steep, RBS Collections, subjective feelings – Some thoughts about Ruby type checking alternatives. Very clear and short post, that brings nice insights about the current ecosystem of type checkers on Ruby, especially about the RBS the “official” one.

Modeling Systems With Actors – Modeling high concurrent systems is not easy, this post brings nice insights and tips about how to model it with actors.