Monthly Shaarli

All links of one month in a single page.

July, 2024

Hacker Shows How to Get Free Laundry For Life
Public Work by Cosmos
TEO

A backend builtin with an original descriptive language

cargo-make - crates.io

A makefile with cargo

Overview | Bon

bon is a Rust crate for generating compile-time-checked builders for functions and structs.

Note: Prepare Mastodon toot templates

Example of template with https://fosstodon.org/@orhun/112869522457979235.

Considering a rust crate: extract the documentation link, the repository project URL, associated tags, etc...

It could also check if such crate is referenced on popular lists such as Awesome Rust.

Call programming language feature spells- Akkoma

protip: when referring to your favourite programming language’s features, call them spells instead to sound more mysterious and cool.

👎 “memory safety feature”

👍‍ “memory safety spell”

Bicycode

Le marquage BICYCODE est un numéro unique gravé ou collé sur le cadre des vélos, référencé dans un fichier national. Le statut des vélos identifié est accessible en ligne : www.apic-asso.com.

L'objectif de BICYCODE est de permettre la restitution des vélos volés à leurs propriétaires par les services de police et de gendarmerie, afin de lutter contre le recel et la revente illicite de vélos. 

Documenting APIs: A guide for technical writers and engineers | I'd Rather Be Writing Blog and API doc course
Data centres now consume 21pc of Ireland’s electricity
The New Internet

Ok Tailscale, let's see

Lassés de swiper, ils courent pour trouver l’amour

Voilà :)

Google's reCAPTCHA v2 just labor exploitation, boffins say • The Register

The utility of captchas are contested. Even for the reCaptcha v3:

reCAPTCHA v3 has fared no better. In 2019, researchers devised a reinforcement learning attack that breaks reCAPTCHA v3's behavior-based challenges 97 percent of the time.

Alvaro Montoro: CSS One-Liners To Improve (Almost) Every Project | CSS-Tricks
GitHub - gamontal/awesome-katas: A curated list of code katas
L'Arcom a-t-elle autorité pour éteindre les chaînes Bolloré ? | Alternatives Economiques

Bolloré qui menace avec Canal+ le financement du cinéma français pour maintenir les chaînes Cnews et C8.

(via https://mamot.fr/@burgervege/112836887567224328)

Rust for filesystems [LWN.net]

Discussion about adding Rust to the filesystem. It would be bindings first.

Proton Mail goes AI, security-focused userbase goes ‘what on earth’ – Pivot to AI
tiny-compiler/tiny.js at master · mgechev/tiny-compiler

Another small compiler to add, substract, multiply and divide numbers

Entretien des pâtures à l'automne - Pauline Doligez - YouTube
HTML Standard, Edition for Web Developers

The HTML standard for web developers

Styling Tables the Modern CSS Way - Piccalilli
Story Points are Pointless, Measure Queues | Brightball

In the presence of uncertainty, acquiring information is often the best way to generate value. — Dan Milstein

1 hour of planning can save you 1000 hours of coding. 1 hour of coding can save your 1000 hours of planning. There is no science to figuring out which case you’re in. Only art. — Robert Roskam

OK a queue of tasks: tasks build a feature. In a sprint, the story points (and velocity) are replaced with tasks (or task rate).

Reacting to fast feedback is literally the point. you update the tasks with the new information. Your team can mob around the new information and add new tasks and remove tasks that no longer apply.

You get more accurate projections and estimates because you stopped estimating.

There is one way to control the flow rate from the support queue: quality control and rapid response to support issues. Higher quality control is designed to reduce the output of issues which could potentially trigger support requests. Rapid response allows you to immediately deal with any issues that quality control didn't catch but your customers did.

CSS Orrery

The solar system in CSS

Anna's Archive Loses .GS Domain Name But Remains Resilient * TorrentFreak

It's getting more serious than ever.

Why German Strings are Everywhere | CedarDB - The All-In-One-Database

A great thing would be an implementation in #rust as a small #project #idea

See the page 38-45 computer science PDF of Andy Pavlo: https://15721.courses.cs.cmu.edu/spring2024/slides/05-execution2.pdf

My favorite Rust design pattern - YouTube

Extension Trait pattern

Functional Programming in Rust - Sylvain Kerkour
Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀
geneh/e164-phones-countries: A small library which maps E.164 international phone numbers to ISO 3166 country codes as well as the ISO 3166 country codes to country phone codes.
Introducing Yet Another Rust Resource (or YARR!) | nicole@web
Generationenkonflikte im Job: Wie die Gen Z den Mut hat, die Arbeitswelt zu verändern - DER SPIEGEL
6 MOTS ANGLAIS QUI N'EXISTENT PAS EN FRANÇAIS - YouTube
  • glare
  • cheesy
  • overwhelming / underwhelming
  • awkward: Pas uniquement de bizarre, mais aussi malaise ou sous-entendu.
  • fluffy: duveteux, soyeux, doux, léger, aérien. Particulièrement pour les animaux.
  • goofy
The torture of being exposed to people who live on a totally different frequency | ᓚᘏᗢdostoynikov
UXArchive - Made by Waldo

Other user flows collection

Discover iOS Apps | Mobbin

Mobile app screenshots in bulk!

Design Patterns for Mental Health

Specific resources. They seems qualitative

Design Vault: Design Inspiration
How to organize large Rust codebases

Maybe useful someday

Distributed SQLite: Paradigm shift or hype?

This is why databases accessed over a socket instead of being an embedded library are actually a great abstraction, not necessarily a technical one, but an organizational abstraction! During development it can be a simple container running on your developers machines, while in production it can be anything from a container running on the same server as your application, or a distributed cluster accessed through the network.

The Human Made Mark

A simple mark initiative, similar to "Made by humans" and other badges

Rust patterns: Micro SDKs

A thin HTTP API interface pattern.

This is what we often build in UIs with JS to interface with backends.

Help | W3C

Great FAQ 😄

Responsive HTML Tables: Presenting Data in an Accessible Way | Lullabot

Didn't read, but it can be useful someday

Getting started with IRC

An introduction to IRC

CUPID - for joyful code

The five CUPID properties:

  • Composable: plays well with others
  • Unix philosophy: does one thing well
  • Predictable: does what you expect
  • Idiomatic: feels natural
  • Domain-based: the code models the problem domain in language and structur
(the software crisis)

"The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem." —Edsger Dijkstra

Various efforts have been made to address pieces of the software crisis, but they all follow the same pattern of "abstract it away".

Programming models, user interfaces, and foundational hardware can, and must, be shallow and composable.
There have been movements to bring awareness to the software crisis, such as (Handmade), (Permacomputing), and various retro-computing circles.

Greg Morris - Reach For The Blog

Another ode for blogging. The author outlines how blogging is good for themself.

"Technical" skills

The split between technical and soft skills is... vague and irrelevant

Immigration : ces fausses informations véhiculées par l'extrême droite - Basta!
Checkboxes: Design Guidelines

Nothing particularly new but the resource is relevant.

Lettre ouverte (et mail) à orinfo@bdor.fr (maison de rachat d'or) - Liens en vrac de sebsauvage

Un exemple de retour de mail publicitaire 😄

pico-args — CLI for Rust // Lib.rs

A lightweight version of the heavy clap

Mon inquiétude sur les dépendances en Rust - LinuxFr.org
Little Brats! — Avatar Generator
Chaosradio Podcast Network - Chaosradio Podcast Network
Note: about money

Money cant buy happiness but poverty cant buy anything

lusingander/serie: A rich git commit graph in your terminal, like magic 📚
aeris/extracnilator - extracnilator - imirhil.fr
PEH: "@lemonde@mastodon.social rappel : une amende est …" - Mastodon

une amende est une autorisation payante pour les riches et une interdiction pour les pauvres.

GitHub - beholdr/maska: Simple zero-dependency input mask for Vue, Svelte, Alpine.js and vanilla JS.
Comment j'ai trouvé mon appart avec du code (Thibaut Rousseau) - YouTube
Pourquoi tu te fais arnaquer aux péages ? - YouTube
technical-writing/resources.md at master · sixhobbits/technical-writing

A lot of resources about writing

Unsafe read beyond of death | Olivier's Blog

Read ahead of time of the safety bound of the kernel...

Rust Is Ready With Robust Toolchain Handling For Linux 6.11 - Phoronix

Rust checks are integrated in the kernel CI pipelines.

« “Non” est une phrase complète » - Journal des bonnes nouvelles

Promo de livre au passage

git-spice

An extension of git to work with stacked PRs.

A Follow-Up To Mockless Unit Testing | Leon Mika

About avoiding mock and writing tests that uses the database directly.

Google Is the Only Search Engine That Works on Reddit Now Thanks to AI Deal

Only Google will be able to return results from Reddit.

Page Grid Ruler – Adoptez cette extension pour 🦊 Firefox (fr)

Add a grid on a view. It can be useful to debug and design.

Souristine : « Non mais sérieusement... :blobPikaFacepaw: #JOPa… » - Piaille

L'appel à des médecins généralistes bénévoles, pour finalement appeler à des médecins et stagiaires.

Clean and Scalable Architecture for Web Applications in Rust
Investing in Rust - Shane Miller - Lawfare Media Review Essay Security By Design

Shane Miller is Distinguished Advisor to the Rust Foundation, where she was the founding chair of the board of
directors.

Her key points are definitely relevant.

We Need to Rethink Exercise – The Workout Paradox - YouTube

The calories burnt is nearly unrelated to the lifestyle.

Chronic inflammation is one of the major contributors to many serious diseases.

The immune system over commits with a lot of available calories. The body produces also cortisol.

Working out restores a physical balance in the body.

Obesity is in contrast caused by overeating. "Humans are mad for calories".

So working out does not really help to lose fat, but it gives the body more balance, make human more resilient and prevent the diseases.

2-Page Login Pattern, And How To Fix It — Smashing Magazine

Use a radio buttons in place in the login form to choose how to sign-in.

la10736/rstest: Fixture-based test framework for Rust
New Open Source law in Switzerland | Joinup

Public sector will develop OSS software and should use them

GitHub - Typetura/Typetura: Finally, typography as responsive as the web.

Another powerful way to handle font sizes

GitHub - quackduck/devzat: The devs are over here at devzat, chat over SSH!

Chat over SSH

EXT4 Has A Very Nice Performance Optimization For Linux 6.11 - Phoronix

10 to 20% performance boost... that's great!

La Nef, pour la banque éthique - Coopérative bancaire citoyenne
89 things I know about Git commits · Jamie Tanna | Software Engineer

Great insights :)

Google Now Defaults to Not Indexing Your Content - Vincent Schmalbach
Lessons learned in 35 years of making software – Jim Grey

Do things in the most straightforward way possible.

There is no substitute for working software in Production

Relationships matter if you want to advance.

Relationships matter if you want to see your vision come to life.

Never be invisible.

Never be invisible.

Build and maintain a network of people in our field, outside the company you currently work for.

Be willing.

Chase adventure and interestingness, not salary and title.

Challenge yourself to stretch past your natural tendencies.

Understand that different social classes have different ideas about how the world works.

When you deliver work you’re really proud of, you’ve almost certainly done too much and taken too long.

The software we are building right now will one day be decommissioned and not be used anymore, probably before your career is over.

EDPB / EDPB Website Auditing Tool · GitLab
Design trompeur : les résultats de l’audit du Global Privacy Enforcement Network | CNIL
Zed - Code at the speed of thought
Just Use Postgres for Everything | Amazing CTO
Calculating Empires

Innovations and progress since 1500 per theme

Sécurité des véhicules -Une boîte noire et des dispositifs de sécurité obligatoires sur les véhicules neufs vendus dans l'UE | Service-Public.fr
UI-Patterns.com
The Best Landing Page Design Inspiration, Templates and More | Landingfolio

A collection of landing pages

Page Flows - user flow design inspiration

Instead of showing screens, this website collects page flows. It's better to shape UX with complete examples :)

Rust Error Handling

A short and efficient one

Rust patterns: Don't put any code in mod.rs or lib.rs files

Because it's far easier to find code with the Search file feature of your code editor when it's in a descriptive filename (client.rs, email.rs, payments.rs...) than if everything is stashed in 10 different mod.rs or lib.rs files.

WhatTheDuck - Run SQL queries on your CSV files in browser
How to create small Docker images for Rust
GitHub - ariebovenberg/whenever: ⏰ Modern datetime library for Python, written in Rust

A faster implementation of the rust datetime library

Defakator Officiel : « On ne change pas les infographistes qui gagnent. … » - Mastodon.top
PRMA::Files As Metadata Format
What is The World Wide Web?: The HTML Hobbyist
Using unwrap() in Rust is Okay - Andrew Gallant's Blog

anyhow works well.

A lot of confusion around unwrap(), I think, comes from well meaning folks saying things like “don’t use unwrap(),” when what they actually mean is “don’t use panicking as an error handling strategy.”

Of course, when possible, pushing runtime invariants to compile-time invariants is generally preferred. Then one doesn’t have to worry about unwrap() or assert! or anything else. The invariant is maintained by virtue of the program compiling. Rust is exceptionally well suited to pushing a lot of runtime invariants to compile-time invariants. Indeed, its entire mechanism of maintaining memory safety depends crucially on it.

Cities need more trees | ᕕ( ᐛ )ᕗ Herman's blog

Since these trees were originally planted to manage dust, they are generally big and leafy. This has the benefit of creating a lot of shade throughout the city, mitigating a lot of the "heat island" effect which is pervasive in any city since asphalt and concrete are great at absorbing visible spectrum light and radiating it as heat2. Walking down a shady street on a hot summer day is such a pleasant experience when compared to being out in the blistering sun.

Trees are not just great dust sinks and heat shields, but great sound barriers as well3. Having tree lined streets not only reduces the noise of traffic (and the dust kicked up from their tyres), but also protects pedestrians and infrastructure on the sidewalks from stray vehicles.

[...]

Announcing the Ladybird Browser Initiative

Ladybird uses a brand new engine based on web standards, without borrowing any code from other browsers. It started as a humble HTML viewer for the SerenityOS hobby project, but since then it's grown into a full cross-platform browser project supporting Linux, macOS, and other Unix-like systems.

C'est dommage qu'il refuse d'utiliser "they" à la place de "he", car les contributrices sont tout aussi importante.

askama - crates.io: Rust Package Registry

This can be fun: generate some HTML depending of a struct.

Note Rinja supports more feature and comes in ready to use.

The purpose of a system is what it does - Wikipedia
arboard - Rust

Handle clipboard operations

Anyone can Access Deleted and Private Repository Data on GitHub ◆ Truffle Security Co.

Forks are copy of the original repository. As such, leaked credentials remains in the forks.

A deleted repository still has the commit from the original repository and it can access it. Demo on youtube

Example:

They immediately deleted the repository, but since it had been forked, I could still access the commit containing the sensitive data via a fork

Also related to private repositories:

We demonstrate how organizations open-source new tools while maintaining private internal forks, and then show how someone could access commit data from the private internal version via the public one.

How to access the data? By direct access to the commit.

If you know the commit hash you can directly access data that is not intended for you.

AND

Commit hashes can be brute forced through GitHub’s UI, particularly because the git protocol permits the use of short SHA-1 values when referencing a commit.

because there are 65.536 minimal values, and 16.777.216 is a more realistic approach (6 characters per commit).

Also, "deleting a repository or fork does not mean your commit data is actually deleted."

The flaw also exists in other version control system products.

Counting Bytes Faster Than You’d Think Possible | Matt Stuchlik

An optimisation that I don't really understand.

Clarissa: "I'm a therapist and I've been …" - C.IM

I'm a therapist and I've been watching this video on a loop for an hour

LMAO and so sad at the same time.

Cpasbien, Torrent9, Zone-Annuaire… les majors de la musique obtiennent le blocage d’importants sites pirates

Here's a list of download sites that the DNS of major French ISPs will be obliged to block
torrent9.sb, torrent9.rs, torrent9.ink, torrents.ms, torrent9.pro torrent9.ps, torrent9.tw, torrent9.st, torrent9.zone torrent9.app, torrent9.se, cpasbien.zip, cpasbien.ac, yggtorrent.boo, yggtorrent.bz, tirexo.ing, tirexo.place, zone-annuaire.tokyo, wawacity.tokyo, wawacity.autos, wawacity.ooo, wawacity.city, wawacity.cloud, wawacity.fit, wawacity.ink, wawacity.kim, wawacity.moe, wawacity.one, wawacity.pink, wawacity.red, wawacity.rsvp, wawacity.rocks, wawacity.tel, wawacity.tv, wawacity.uno, wawacity.onl, magnetdl.unblocked.id, magnetdi.uproxy.to, magnetdl.proxyninja.net, catalogue.darkino3.top

(via https://sebsauvage.net/links/?c6fAog)

About Sarah | 🐦 Sarah Rainsberger

One of the most prolific contributor on the Astro documentation 👍
They insights are awesome for all devs.

Projet Périclès : le document qui dit tout du plan de Pierre-Édouard Stérin pour installer le RN au pouvoir - L'Humanité

Voilà

Collecte et Centre de Tri Textiles - Gebetex Groupe

Les vêtements déposés dans les bacs de dons vont dans cette entreprise

Plus d’un Français sur quatre jette ses déchets par la fenêtre de la voiture sur la route des vacances
developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/

So all https://goog.gl URL will be down after August 25th, 2025.

Typed CSS variables using @property

"typed css variables". @property adds some feature, but I don't find excellent use cases for now.

CAN Sarreguemines
Are Internet Standards Competitive or Collaborative?

building value on top of what’s standardised.

In short, under the right circumstances, success becomes more likely when cooperating as opposed to attempting to innovate on your own.

jubako/arx: Store files and directory in an archive. Like tar, but faster and with direct random access.

An alternative to tar and efficient for bigger files.

But for linux documentation arx is 444 time quicker than tar (several hours).

Zed Decoded: Why not just embed Neovim?
HashAnalyzer in rustgenhash::rgh::analyze - Rust

A cli tool that compares an input string to all possible formats: hash, ID, URL, UUID, country format, time, etc...

Code name: wits (What is this string)

Introduction - Yet Another Rust Resource (YARR!)

This is a crash course in the Rust programming language. It's written with a specific audience in mind: software engineers who know how to program in a high-level language but aren't familiar with lower-level programming and want to learn to write Rust quickly.

Represent State with HTML Attributes, Not Class Names | Aleksandr Hovhannisyan
Why the big rewrite?

A feedback about the Rust UI rewrite of Zed

Espagne : l’embellie économique boostée par le progrès social - L'Humanité
Gen AI: too much spend, too little benefit? - Top of Mind - Goldman Sachs Research Newsletter - report.pdf
Categories | GoodUX

Think you've found an example of good UX? Take a screenshot and send 'er in! We want to build our library to provide as much inspiration as possible. You can also contact us with questions, concerns, or just to chat.

Stack Sorted.

Find Inspiration in Design Elements.

Gitroom
How to write good, composable and pure components in Angular 2+ | by Jack Tomaszewski | Jack the Nomad

Simple IO components and the ones that contains stateful logic :)

JSON Web Tokens are actually fine, just not for sessions
La disparition
BuilderIO/micro-agent: An AI agent that writes (actually useful) code for you
Appel à volontaires! - OpenStreetMap France - Forum OSM France
planepilot/pp_dataserver at main · scott223/planepilot

A rust example project using SQLx and sqlite.

Read the pp_dataserver later to learn how to use Axum with a SQLite database.

Builder Lite

A lightweight version of the builder pattern

BIP 39 Wordlist – Blockplate
Blog Stéphane Bortzmeyer: Passage de mes zones DNS à des signatures à courbes elliptiques

Un exemple de passage de RSA aux courbes elliptiques (ici P-256 avec l'algorithme Ed25519)

Predicted Performance of a Raspberry Pi 3 Web Server Running a Text-Only Social Media Network

About running Blue Dwarf

La Carte de la Honte : 154 preuves que le RN est toujours...

Je gardes cette ressource sous le coude

Fusion nucléaire : 8 ans de retard et 5 milliards d’euros de surcoût pour le projet Iter

Alors oui et pour cela il faudrait aussi savoir d'où vient le retard: ils rajoutent les avancées des autres recherches à travers le monde. Cela avance doucement, et oui c'est polluant, mais bien moins lorsque la technologie sera au point.

On voit que Reporterre rediffuse la nouvelle depuis les flux RSS d'Iter ou de l'article du Monde https://www.lemonde.fr/planete/article/2024/07/03/fusion-nucleaire-au-moins-huit-ans-de-retard-et-des-milliards-de-surcouts-pour-le-projet-international-de-reacteur-iter_6246453_3244.html

Documentation | stdlib

a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing applications

Changer le mode de scrutin – Carnet de notes

Car

On parle de séisme dans les médias mais tout ça serait très diffé­rent si on avait un parle­ment qui repré­sente vrai­ment la popu­la­tion plutôt que de cher­cher à savoir quel parti va rafler la mise.

lemondeinformatique.fr/actualites/lire-regresshion-une-faille-critique-dans-openssh-touche-des-millions-de-serveurs-94164.html
Rust has a HUGE supply chain security problem

Crates relying on a lot of crates are potential security flaws