Weekly Shaarli

All links of one week in a single page.

Week 20 (May 15, 2023)

Make your Rust Binaries TINY! - YouTube
  1. cargo build --release

  2. set strip = true to profile.release in cargo.toml

  3. set opt-level = "s" to optimize for size instead of runtime speed

  4. set lto = true to enable link-time optimization

  5. set codegen-units = 1 to maximize size reduction but it results in slow builds

  6. use cargo bloat to understand which dependencies are taking up space

Communiqué de presse : 16 institutions culturelles françaises obtiennent le Label Culture Libre – Wikimédia France

Le label Culture Libre est le premier label spécialement dédié à l’open content et aux projets collaboratifs qui valide 3 niveaux traduisant chacun un palier d’investissements (bronze, argent, or).

On y retrouve des archives, des musées, des bibliothèques et des universités.

Automa - An extension for browser automation - Automa
Unai Mengual

Another personal blog :)

Registers of legal entities in different countries

A curated list of them

Le syndicalisme, c’est cool

C'est cool aussi

La grève, c’est cool

C'est cool

The Dangers of Google’s .zip TLD. Can you quickly tell which of the URLs… | by Bobbyr | May, 2023 | Medium

How links with an @ in the URL becomes insecure, because they can redirect to a .zip domain simulating a file

Rust for professionals

Succinct but more detailed than a cheat sheet.

Understanding all of Python, through its builtins

A nice explanation of python.

EDIT 2023-05-19: I will read it when I will use the language seriously again.

Test With A Different Item Every Day | Better world by better software

How to rotate items to test every day

osm-fr/attributions: Suivi des manques d'attributions

Ce dépôt git est destiné au suivi des manques d'attributions sur les utilisations de carte utilisant OpenStreetMap.

La communauté des contributeurs OpenStreetMap est très attachée au respect de l'attribution car :

  • C'est une façon de dire merci ;
  • C'est une façon de rendre le projet OpenStreetMap visible et de faire naitre de nouvelles vocations de contributeurs… et donc d'alimenter un cercle vertueux.
    « Oublier » l'attribution casse le cercle vertueux du commun.
Fly.io Distributed Systems Challenge · Fly Docs

A series of distributed systems challenges brought to you by Fly.io.

JJQuery

A parody of JQuery :D

Design Tokens Format Module

How to make design tokens interoperable? With a format that describes their serialization and which metadata should be attached to it.

Announcing Vue 3.3 | The Vue Point

A great maturation of Vue 3!

Realtime Colors
derive_builder - Rust

Implement a default builder pattern. It looks efficient.

A Design System isn’t a Project. It’s a Product, Serving Products. | by Nathan Curtis | EightShapes | Medium

Thinking of a design system helps to improve its vision! Also it helps to sell it and shows its benefit.

Les apprentis

Les anciens apprentis du rail. À la date du 2023-05-21, c'est un bon vieux site des années 2000. Même si la date de mise à jour montre: 11/05/2023 à07h15 !

Note: retrouver ses progrès en éthologie étape par étape

L'éthologie avec le cheval demande l'apprentissage de multiples gestes et postures. Il est donc possible de les identifier, les retracer, et suivre l'évolution de l'avancement.

System Design: Why is Kafka fast? - YouTube

Kafka has a good throughput with sequential Writes and Reads.

Kafka can move a lot of data because of the zero copy read principle:
Before:

  1. Disc to OS buffer
  2. Write the content of the OS buffer to the RAM
  3. Copy the data to the application Buffer
  4. Copy the data back to the socket buffer
  5. Copy the data from the socket to the Network Interface Chip buffer and send it

With zero-copy read principle:

  1. Read from the disc and load it into the OS Buffer
  2. Directly copy to the NIC Buffer (the CPU is not involved)
Je suis un développeur ennuyeux | Jérémy Buget

Des avantages d'être un développeur ennuyeux.

  • le pragmatisme
  • la stabilité
  • l'économie
  • la simplicité
Microsoft essaie de connaitre le contenu de vos fichiers zip, même s’ils sont protégés par mot de passe -Phonandroid

les systèmes de Microsoft utilisent une technique de « brute force » pour tenter de passer outre la protection par mot de passe.

Ils utilisent les mots de passe contenus dans une liste prédéfinie, et « ils extraient aussi les mots de passe contenus dans les emails »

SpaceTraders API

Play the game by using API calls to deliver frets across the galaxy. One funny thing is the amount UIs users have built to get a grasp on the data :D

Tim McNamara (@timClicks) – Now is the time to bet big on Rust

Why Rust is a secret weapon

Google has faced critical security issues within its Bluetooth drivers in Android for many years. Despite valiant effort, they were unable to eliminate these vulnerabilities from within C++. This essentially forced them to consider alternative languages. They’ve recently announced that they’ve been able to use 1.5 million lines of Rust code into Android, without detecting any security vulnerabilities. This compares to 1 vulnerability to 1k lines of C++ code using similar analysis.

Rust is a good fit whenever your business is concerned about cost.

Rust code is cheap to run. Rust-based applications use less RAM and RAM is expensive. Tilde’s story from migrating from Ruby on Rails is illustrative. Their server agent went down from needing 5GB of RAM at rest to 50MB.

Web services, whether they’re deployed in a traditional manner or use the serverless model, are an ideal fit for Rust. There is no garbage collector which can affect tail latencies or create load spikes.

Why it's hard to find jobs?

  • It’s hard to hire Rust developers because it’s hard to evaluate them.
  • Many people have been scared off by stories of Rust’s steep leaning curve

The writer has created a consulting enterprise for it: https://accelerant.dev/

AnswerGarden » AnswerGarden is...- Plant a Question, Grow Answers! Generate a live word cloud with your audience.

AnswerGarden is a minimalistic feedback tool.

On a topic, the participants can respond with 20 characters. The most common answers are then displayed.

[archiloque.net] Fiche de lecture : “The staff engineer’s path”
Rust tutorial

A french guide on the rust language. It is not complete as the official documentation but provides a good start with lot's of the rust's features.

pixelomer/discord-fs: Discord as a filesystem
DvorakDwarf/Infinite-Storage-Glitch: ISG lets you use YouTube as cloud storage for ANY files, not just video

A hacky way to store data as video. The proof of concept uses youtube.

a new #project #idea is to build the whole thing, but not only for youtube, but for any possible API endpoint :D

Here is separation of the responsibility of such a program:

  • the image processing layer takes the file and converts it into an image or video
  • the compression layer reduces the size of the data as much as possible
  • the encryption layer guarantees the confidentiality of the data until the algorithm is broken, since the data is shared with a third party anyway. It can intervene
  • the network layer allows data to be uploaded and downloaded to different providers (why limit it to youtube?)
  • the data layer: it is responsible for storing information about the videos/images (video metadata: at provider X, accessible from such and such a URL, last modification date, etc.). It inserts metadata into the files through the image processing layer in order to decode them correctly (type of compression, etc.).
  • the application layer: it allows to use everything with a UI/CLI. In short, an interface for the user.
Guide to DRM-Free Living: Literature | Defective by Design

A list of platforms that do not use DRM

🤠 "Where have all the hackers gone?" + a way to discuss programming languages 👨‍🎤

It depends on the type of discussion:

  • Soil is the property of running code in that language.
  • Surface is how the programming language
  • atmosphere represents things that aren't the language or its code, but the broader community.
Google will start deleting inactive accounts after two years | Ars Technica

and in some, it make sense.

The error was to think every data given to a GAFAM is here forever.

Container Query Units and Fluid Typography | Modern CSS Solutions

A text with a dynamic size depending of the container width:

.container {
  container-type: inline-size;
}

.fluid-type {
  font-size: clamp(1rem, 4cqi, 3rem);
}

Strategy 2: Grow From a Base Font Size with calc()

font-size: calc(var(--font-size-base) + var(--font-size-fluid, 3cqi));

An upper-bound size can be set with min if needed.

Strategy 3: Generate Styles Using a Type Scale Ratio