Newsletter • March 2025

We begin this March issue with my latest blog post: the Case of the Vanishing Pages: Debugging an Elusive React Bug, a story of how a seemingly random bug became a debugging adventure.
I also added a small post on how to make gmail readable.

This month we have a dedicated section on React and React native, starting with the State of React 2024 results and State of React Native 2024 results.
We also have a section on Software architecture and good practices, with three posts focusing on how to handle billions (requests, interactions and certificates) and the Good Resources to Learn Software Architecture in 2025.

The latest Honeypot documentary is out with Angular: The Documentary - An origin story.

Interested on developer productivity? Look at the Developer productivity with Nicole Forsgren (the creator of DORA) on The Pragmatic Engineer Podcast and this refactoring.fm article on what’s Next in Measuring Dev Productivity?. You can learn further by looking at the DORA metrics.

Behind all the AI hype, an insightful article that try to analyse beyond the AI MVP: What it really takes.

Take a look at the Programming Language Rankings, where Python goes second behind JavaScript, followed by TypeScript and Java.

Discover 7 things a developer should know about databases focusing on PostgreSQL with tips and a nice TL;DR.

Vitest is the default go to for a lot of node projects these days. Make sure that it is up to date, there is critical flaw vulnerability reported.

Obsidian is my number one tool, that I use as a second brain. It is now free for work and the latest update, the 1.8.8 is out .

Articles

A calculator app? Anyone could make that.

Do you think that creating calculator app is simple? Think again. This is a deep dive into how Android’s calculator solves math.

How are images really stored?

Ever wondered how images are stored and displayed on your devices? This deep dive into image formats explores GIF, PNG, and JPEG. How does image compression and rendering works? How these different formats balance quality and efficiency?

When Postgres index meets Bcrypt

Discover how a simple feature led to significant performance issues and the role Bcrypt played in it.
This in-depth analysis offers valuable lessons on optimizing database operations and understanding the nuances of hashing algorithms.

Software architecture and good practices

Let’s start with APIs and a gentle reminder on How to (and how not to) design REST APIs .

I found this little Linkedin post insightful on how to handle transactions in a clean architecture with a real example.

Then we have three blog posts about billions:

On serving a billion web requests with boring code, discover how a dedicated team rebuilt a system handling 5 million daily requests at sub-10ms latency. This is an in-depth post on how choosing reliable technologies like PostgreSQL, Go, and React with a focus on simplicity and strict backward compatibility led to a robust and efficient platform.

Explore How Netflix Built a Distributed Counter for Billions of User Interactions.
Netflix engineered a Distributed Counter Abstraction to handle billions of user interactions with low latency and high accuracy. The post explains the architecture and strategies behind Netflix’s scalable counting system.

Learn how letsencrypt is Scaling Rate Limits to Prepare for a Billion Active Certificates. How Let’s Encrypt updated its rate limiting system to handle the issuance of over 340,000 certificates per hour, ensuring scalability for a future with a billion active certificates. This analysis reveals the transition from a MariaDB-based system to a more efficient solution utilising Redis and the Generic Cell Rate Algorithm (GCRA), significantly reducing database load and improving responsiveness.

And if you want to learn more about software architecture, do not miss the good resources to Learn Software Architecture in 2025.

React and React Native

Those two have their own category this month, with a lot of news and nice articles.

In January we had the State of Javascript 2024 survey results. It is now the time for the State of React 2024 results and the State of React Native 2024 results.

Since React is sunsetting Create React App, the go to for a new React project is to use a framework. React Native already highly recommend to use a framework to build React Native apps.
You can learn more on the how to start a React Project 2025 article, which exposes different possibilities, and more focus article on next.js: an honest review.

You can also use cross-platform mobile development with Expo which is more and more used for the web as well, especially with the new expo workflows, a React Native CI/CD for Android, iOS, and Web.

On React Native side you can take a look at the Expo’s Your 2025 React Native Tech Stack stream video.

Expo also made another stream on what is Legend List? A demo of the drop-in replacement for FlatList.

Note that an unexpected new version of React Native 0.78 that supports React 19 has been released. React Native team wants to make smaller and faster releases.

Let’s deep a little bit with how React Router works under the hood , Master Redux Action Best Practices & Make Debugging Easy and how to create a React “as” Prop Using TypeScript.

En vrac

By Octo

Tools

  • outline - The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible.
  • Linkding - Self-hosted bookmark manager that is designed be to be minimal, fast, and easy to set up using Docker.

TIL

git branch -l lists the branches alphabetically by default. It can be hard to find the recent ones when we have a lot of local branches. You can configure git to sort branches by committer date with:

git config --global branch.sort -committerdate

source

Fun