Links list - 2023-03-12

Hello, and welcome to a new edition of Links lists! It’s been a while!

Tech articles

How the new GitHub search works

I have really enjoyed this article about how GitHub’s new code search works. The scale that GitHub handles is quite impressive - over 115 TB of code! Unsurprisingly, the new search engine is built in Rust 😊

The Technology Behind GitHub’s New Code Search | the GitHub Blog

A look at what went into building the world’s largest public code search index.

Actors with Rust and Tokio

A very interesting article about how to implement the actors pattern with Rust and tokio. Concise and very effective implementation! I like it a lot!

Actors With Tokio – Alice Ryhl

This article is about building actors with Tokio directly, without using any actor libraries such as Actix. This turns out to be rather easy to do, however there are some details you should be aware of:

Are React hooks a bad idea?

I am not an expert in React, but I’ve tried using hooks and I have run into some of the problems described in the following article. It also shows the new signals approach that some alternative framework are adopting. Very interesting!

Were React Hooks a Mistake? | Jakelazaroff.com

People like signals because signal-based components are far more similar to class components than to function components with hooks.

Replace make with just

I’ve been using just recently instead of a classic Makefile… and I’m very happy with it! It’s super simple to use, and it does few things - but it does them well! Highly recommended!

GitHub - Casey/Just: 🤖 Just a Command Runner

🤖 Just a command runner. Contribute to casey/just development by creating an account on GitHub.

Design documents and reviews

An interesting article by Skyscanner about design documents and design reviews.

Contract testing

At my current employer, lastminute.com, we are using Pact for testing the contracts between microservices. It’s a tool that requires some effort, but it can help you write tests that go beyond what you could obtain with an OpenAPI specification.

There are a couple of articles on our tech blog on the topic if you are interested.

Contract Testing Asynchronous Messaging With Pact and MockK

In the last weeks I worked with my colleague Felice Giovinazzo on a new feature for the refund process. Let’s see how we used pact to test a message-based interaction between two microservices with Pact

Impacts of Contract Tests in Our Microservice Architecture

We learned how to implement contract test for any kind of messages exchanged in a microservices’ architecture, now let’s see the impacts and why it sped up our development process

Non tech

How does wealth (and mark-to-market) work

Basic, but interesting article about how “where the wealth goes when markets go down”, and what mark-to-market means.