Weekly Shaarli
Week 20 (May 15, 2023)
-
cargo build --release
-
set
strip = true
to profile.release in cargo.toml -
set
opt-level = "s"
to optimize for size instead of runtime speed -
set
lto = true
to enable link-time optimization -
set
codegen-units = 1
to maximize size reduction but it results in slow builds -
use cargo bloat to understand which dependencies are taking up space
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.
Another personal blog :)
A curated list of them
C'est cool aussi
C'est cool
How links with an @ in the URL becomes insecure, because they can redirect to a .zip domain simulating a file
Succinct but more detailed than a cheat sheet.
A nice explanation of python.
EDIT 2023-05-19: I will read it when I will use the language seriously again.
How to rotate items to test every day
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.
A series of distributed systems challenges brought to you by Fly.io.
A parody of JQuery :D
How to make design tokens interoperable? With a format that describes their serialization and which metadata should be attached to it.
A great maturation of Vue 3!
Implement a default builder pattern. It looks efficient.
Thinking of a design system helps to improve its vision! Also it helps to sell it and shows its benefit.
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 !
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.
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:
- Disc to OS buffer
- Write the content of the OS buffer to the RAM
- Copy the data to the application Buffer
- Copy the data back to the socket buffer
- Copy the data from the socket to the Network Interface Chip buffer and send it
With zero-copy read principle:
- Read from the disc and load it into the OS Buffer
- Directly copy to the NIC Buffer (the CPU is not involved)
Des avantages d'être un développeur ennuyeux.
- le pragmatisme
- la stabilité
- l'économie
- la simplicité
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 »
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
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 is a minimalistic feedback tool.
On a topic, the participants can respond with 20 characters. The most common answers are then displayed.
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.
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.
A list of platforms that do not use DRM
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.
and in some, it make sense.
The error was to think every data given to a GAFAM is here forever.
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