Monthly Shaarli

All links of one month in a single page.

December, 2025

Frontend-first backend you call with fetch() | ReqRes

A backend as a service? It may be useful someday.

“You should never build a CMS” | Sanity

What happens when your pricing lives in three places? The pricing page, the comparison table, the footer CTA. In markdown-land, you update three files. Or you build a templating system that pulls from a canonical source. At which point you've invented content references. At which point you're building a CMS.

What happens when legal needs to update the compliance language that appears on 47 pages? You grep for the old string and replace it. Except the string has slight variations. Except someone reworded it slightly on the enterprise page. Except now you need to verify each change because regex can't understand intent. Now you are building a CMS.

Markdown files are the content equivalent of denormalized strings everywhere. It works for small datasets. It becomes a maintenance nightmare at scale.

The solution is normalization: a single source of truth.

The author built an MCP server to merge content conflicts (similar to git, but not limited to lines).

The f*** off contact page - Nic Chan

A contact page that avoid contact, exactly.

The problem was, they were thinking about their inspiration sites from an aesthetic point of view, not from a user experience perspective

I see this example so much! https://res.cloudinary.com/nicchan/image/upload/w_752,h_718,c_lfill,f_auto/v1765177043/contact

The discounting rates led the client to undervalue the team and treat them as executors rather than experts. They argue that clients (and sometimes designers) often dismiss early design phases like discovery, and wireframing as boring hurdles to reach visual branding, but it's so much important! The takeaway is that service providers should educate clients on why these foundational steps matter, because understanding the “why” and getting structure right is essential for good design—even if it’s less exciting than prototyping or visual identity.

#blogging

By blogging, I’m putting a body of work out there that communicates my values and ethos. While much of the details of my client work has to remain private, these posts can be public, and hopefully they can help me find people who resonate with what I have to offer. Or you know, just be bold enough to communicate ‘Fuck off’ to those who don’t!

https://www.zeitgeistofbytes.com/p/bye-bye-big-tech-how-i-migrated-to
Typography in the wild

Some examples

ADHD restlessness | Go Make Things

Does ADHD folks ever feel restless or worried when they’re not being productive? It takes few forms.

  1. You’re bored, but can’t find anything to make you not bored, and you have shit to do, but none if it is fun/stimulating, so…. angst!
  2. Internalized ableism, in that you’re overstimulated and want to sit around and do absolutely nothing, but society makes you feel like shit for doing so.

Both create anxiety (nervous or angst from the german language)

Les Français et la chasse - Ifop Group
Article - Décision n° 2018-0881 du 24 juillet 2018 de l'Autorité de régulation des communications électroniques et des postes établissant le plan national de numérotation et ses règles de gestion - Légifrance

Numéro fictif utilisable en France:
01 99 00
02 61 91
03 53 01
04 65 71
05 36 49
06 39 98

Source: https://a42.fr/numeros-fictifs

Baseline in action  |  web.dev

Baseline in action is a collection of articles and demos showing you some of what's possible with features that are now Baseline.

Programming principles for self taught front-end developers - Piccalilli

Enter the “rule of three” — the actually actionable, pragmatic principle that elegantly combines how you should be thinking about YAGNI, DRY and premature optimisation. The rule of three states that you should only refactor (or optimise) code once you’ve written the same code three times.

At the first time of writing the code, code that’s fast and optimized is great, but if it’s hard to read and reason about, it will slow us down in the long run. Here, I like to apply another principle: “Make it work, make it right, make it fast”

It works while iteration though. In some cases, you want to leverage engineering: make it right the first pass. It happens for API validation for example, or logging correctly in case of failure.

Gall's law: a complex system that works is invariably found to have evolved from a simple system that worked

Functions should be as idempotent as possible: all it really means is that a function always does the same thing when given the same arguments. Note idempotent functions are different from pure functions. pure functions are guaranteed to not have side effects.

Then there is this single responsibility principle. It avoid changes on the entire codebase. "A small trick to check for single responsibility is to describe what a function/module/class does in a single sentence. If you find yourself saying “and”, then it probably has multiple responsibilities and should be split up."

One efficient implementation is to operate on one level of abstraction. See a function implemented in three functions. I would still be critic on this one, because the tradeoff is not worth it from time to time.

These code principles are similar indeed. "All good code is alike; each bad code is bad in its own way."

Les trucs qui me font détester votre site web en 2025 - Le Hollandais Volant
How uv got so fast | Andrew Nesbitt

Optimizations that don't need Rust:

  • HTTP range requests for metadata
  • Parallel downloads
  • Global cache with hardlinks
  • Python-free resolution
  • PubGrub resolver algorithm

Rust has benefits though:

  • zero-copy deserialization
  • Thread-level parallelism
  • No interpreter startup
  • compact version representation: uv packs version into u64 integers. The micro-optimization compounds across millions of comparisons

uv is possible because of many PEP that came since 2016 (so too soon for me): PEP 518, 517, 621, and 658. There are the low-handing fruits: static metadata, no code execution to discover dependencies, and the ability to resolve everything upfront before downloading

Père Castor sur X : "Les gens choisissent - Shein vs La Redoute - Amazon vs Carrefour - Starlink vs Eutelsat - Tesla ou BYD vs Renault Zoé - ChatGPT vs Mistral - Netflix vs Salto Simplement parce que c'est mieux, plus efficace, moins cher La souveraineté ne peut pas servir d'excuse à l'échec" / X

Les gens choisissent

  • Shein vs La Redoute
  • Amazon vs Carrefour
  • Starlink vs Eutelsat
  • Tesla ou BYD vs Renault Zoé
  • ChatGPT vs Mistral
  • Netflix vs Salto

Simplement parce que c'est mieux, plus efficace, moins cher

La souveraineté ne peut pas servir d'excuse à l'échec

Gadgetbridge

Gadgetbridge is a free and open source Android application that allows you to pair and manage various gadgets such as smart watches, bands, headphones, and more without the need for the vendor application.

FilePizza • Your files, delivered.

Peer-to-peer file transfers in your browser.

(via https://orangina-rouge.org/shaarli/shaare/pFIbAQ)

Note: There is an HTML tag for that

Selon le besoin ou une question, le service propose un tag HTML dédié: button, a, output,. ...

Hôpitaux : le guide des hôpitaux près de chez vous
überholt.schule – Überholtes Wissen aus der Schule

Website idea: enter the year you left school and the website will generate a list of outdated facts and concepts that you were taught at school and which have since been disproven.

source: https://mastodon.social/@cmconseils/115765594088135334

A website built with Astro

Prepare for That Stupid World

Ploum shows how journalists lack or criticism against AI

Bursting AI bubble may be EU’s “secret weapon” in clash with Trump, expert says - Ars Technica
Building a digital garden

Folders and files to build the wiki.

How We Lost Communication to Entertainment

"social network" are not social and their content are built to be temporary.
That's why Pixelfeld is used differently from Mastodon.

Grebedoc

Hosting repository under grebedoc.dev or a custom domain.

It works with Codeberg.

Stop crawling my HTML you dickheads – use the API! – Terence Eden’s Blog

The website author is available in different format than HTMLz

En France, 80 % des abonnements sur le fixe passent par la fibre - Next

Le déploiement de la fibre aussi va bon train puisqu’elle couvre désormais 93,5 % des locaux.

« Fin septembre 2025, la France compte 26,3 millions d’abonnements à la fibre optique, soit 80 % du nombre total d’abonnements internet à usage fixe », soit 610 000 de plus en trois mois.

220 000 dans les Réseaux d'Initiative Publique, reste 1 410 000.
30 000 dans les AMEL (appels à manifestation d'engagements locaux), reste 75 000.
20 000 dans les zones très denses, reste 470 000.

Source de l'ARCEP: https://www.arcep.fr/actualites/actualites-et-communiques/detail/n/marche-du-haut-et-du-tres-haut-debit-fixe-091225.html
Ainsi que la carte du déploiement de la fibre à jour: https://cartefibre.arcep.fr/

DIYgod/RSSHub: 🧡 Everything is RSSible

Make RSS from multiple sources that does not support them.

https://docs.rsshub.app/

albertsgarde/rustorio

The first game written and played entirely in Rust's type system. Not just do you play by writing Rust code, the rules of the game are enforced by the Rust compiler! If you can write the program so it compiles and doesn't panic, you win!

The state of the kernel Rust experiment [LWN.net]
Rethinking sudo with object capabilities · Ariadne's Space

An experiment to add capabilities to sudo

💉 En test, un vaccin universel contre le cancer montre une efficacité exceptionnel

L'un des avantages de cette technologie est sa flexibilité. Plutôt que de dépendre d'antigènes spécifiques pour chaque cancer, qui nécessitent des analyses génomiques approfondies, les chercheurs ont testé une version utilisant des lysats tumoraux. Cette approche a donné des taux de rejet élevés: 88 % pour le cancer du pancréas, 75 % pour le cancer du sein et 69 % pour le mélanome. Griffin Kane, premier auteur de l'étude, indique que les réponses des cellules T générées sont la clé du bénéfice de survie observé.

Source: https://www.sciencedirect.com/science/article/pii/S2666379125004884?via%3Dihub

RTE alerte : les Français ne consomment pas assez d'électricité, et c'est un problème - Numerama

Bah baissez les prix?

Dans son bilan prévisionnel pour 2025-2035, publié le 9 décembre 2025, le gestionnaire du réseau français (RTE) dresse un constat inverse. Le risque de pénurie s’est éloigné, mais le pays est entré dans une période de surcapacité. Or, cela n’est pas forcément une si bonne nouvelle pour les ménages.

Ne pourrait-on dès lors pas exporter ce surplus aux pays voisins ? Hélas, non : les autres nations européennes sont aussi confrontées à un trop-plein, surtout en énergie renouvelable (solaire ou éolien), au moment où l’on voudrait trouver des débouchés à l’extérieur. On a donc un double souci, à la fois sur la demande intérieure et la demande extérieure.

Une autre idée serait d'accélérer l'électrification: pompe à chaleur, voiture électrique, accueillir plus de data centers, plus d'industrie (lol).

De fait, le rapport propose un renversement complet de perspective. Il faut plutôt remplir rapidement ce « restaurant », c’est-à-dire brancher de plus en plus d’éléments au réseau, afin que le système reste bien dimensionné et sans risquer une hausse de la facture. En clair, il lui faut impérativement plus de clients dans ce plan de décarbonation rapide.

Eh bien baissez le prix? Ainsi ce sera attractif et tout le monde devrait se ruer dessus.

Discord admits its Windows 11 app is a resource hog, tests auto-restart when RAM usage exceeds 4GB

When Discord needs more than 4GB of RAM, the app simply restarts.

docs/STYLEGUIDE.md at master · auth0/docs
ONCE — Campfire

A free open-source chat platform

37signals

A Menu. 37 Items that redirects to other small and text only pages. That's great :)

Everyone on Support – Signal v. Noise

Everyone can exchange with customers. It leads to better product.

99 % der Entwickler verstehen OAuth nicht. - YouTube

About Oauth2

ON VOUS RACONTE N'IMPORTE QUOI SUR LA DETTE ! La France est totalement prise au piège... - ÉLUCID
Introduction | Learn nvim
All your problems are people problems (Don't Just Do Things, Part 2)

On the pitfalls of "just doing things." In contrary there are often value in not making new things.

The hardest question you'll ever ask isn’t “How do I do more?” It’s “Why am I doing any of this in the first place?”

Stakeholders are just people and “I trust this person because they often get it right” is more powerful than any theory.

The long-term goal should always be making the system better, so that it can help you get things done rather than get in the way.

  1. To start fixing your system by insisting on accountability (to avoid doers degrading it)
  2. the system is made of people, and the people are exhausted. A reference to constant meeting and communication.

These are people problems, which can't be solved with technological solutions. Technologies can help and be part of a solution to a real-world problem but without basing it on the needs and experience of the people who are doing the actual work, your process will fail.

GitHub - TudorDumitras/rustyjsonserver: Fast, flexible mock API server powered by JSON configuration and a lightweight scripting language (`rjscript`).

Fast, flexible mock API server powered by JSON configuration and a lightweight scripting language (rjscript).

Pourquoi la France est championne d’Europe de la mort au travail

3.6 pour 100 000 comparé à < 1 en Allemagne

The Performance Revolution in JavaScript Tooling | AppSignal Blog

New generation of tools:

  • Speedy Web Compiler
  • ESBuild
  • BiomeJS t combines code formatting and linting into a single high-performance JavaScript toolchain.
  • Oxc is a collection of Rust-based Javascript tools focusing on linting, formatting and transforming Javascript and typescript tools.
  • Fast Node Manager / Mise
  • Typescript in Go

Another notable efforts are Turbopack and Turborepo, Bun and Deno.

Contributing becomes less accessible to the majority of JavaScript developers of course. The shift demonstrates other skills in system programming that will drive even more innovative tooling in the coming years

hapi.dev - The simple, secure framework developers trust
The Headless CMS + Backend for Every Custom Build
sindresorhus/awesome-nodejs: :zap: Delightful Node.js packages and resources
Digital Sovereignty in Practice: Web Browsers as a Reality Check – Tara Tarakiyee – Techverständiger

Building an independent web browsers. It's technically feasible and could cost 50-70 millions per year. In comparison, the national space agency costs 7-8 billions and the European union planned 300 millions in digital architecture over the next years.

The Europe rely currently heavily on US technologies, even Firefox is in the US.

Servo is an example of web browser built with 5 engineers, funded by a small company and individual donations.

The core challenge isn’t technical; it’s institutional. It can work though: CERN, European Space Agency, the Internet Engineering Task Force.

Success here would demonstrate that democratic societies can coordinate effectively on complex technical infrastructure and pass the first hurdle. Failure would reveal institutional gaps that need addressing before attempting more ambitious digital sovereignty goals.

Coming up with blog topics

while I’m thinking on this, this is generally the framework I use to come up with blog topics:

  • What have I worked on lately/learned/tried that might be beneficial for people to learn about?
  • What opinions do I have currently that I haven’t expressed thoroughly?
  • What’s something cool I’m caring about recently?
  • What’s my strategy around a certain topic? (that’s this post!)
Home | Tonal

Tonal is an audio project exploring water issues nationally with a special focus on the River Tone in Somerset. Each podcast episode is a riverside conversation with someone who has a strong personal or professional relationship to water and the river, building a broad base of knowledge from many distinctive perspectives. Tonal is a project by artist Feral Practice.

Small is beautiful - pablopernot.fr

Le propos de "l'effondrement des puissances" de Leopold Kohr se résume à un certain point: à partir d’un certain seuil plus rien ne marche bien.

Tout "trop" grand devient néfaste.

Pablo Pernot perçoit deux références:

L'union européenne qui propose le fédéralisme des collectivités locales, 2 sièges par région pour avoir plus de siège, mais qui ne vote plus comme la France, mais comme une région.

La capitalisme ne pose aucune problème, sauf quand on dépasse un seuil de grandeur, quand quelque chose devient trop puissant. Avec d’autres mots, le problème n’est pas le capitalisme mais quand le capitalisme n’est aux mains que de certains.

Il suffirait donc d'Avoir des seuil et d'éviter cette folie des grandeurs.

Chapitre 11: mais cela sera-t-il fait?

Non!

Depuis 75 ans le livre reste juste, mais il n’est jamais trop tard pour essayer, pour changer (le 1er décembre le trou de la couche d’ozone a été complètement comblé).

David Fitz - LoFi Codes
Rubber AI

Chat with the rubber AI

::target-text: An easy way to style text fragments | WebKit
Why IP address truncation fails at anonymization - Frank DENIS random thoughts.

TL;DR avoid truncation and use IPCrypt https://ipcrypt-std.github.io/

Alexandrie

An alternative to Obsidian.

https://github.com/Smaug6739/Alexandrie

Collection of Dark Patterns and Unethical Design

Perfect in combination with the UX Devil method: find the worst pattern possible, and create the UI to avoid this UX Devil.

Cartes - style transport

Une carte interactive des transports en commun.

Le projet est détaillé dans le billet de blog https://cartes.app/blog/transports

CUII Liste - Gesperrte Domains
Ces Bretons ont disrupté la tech avec du papier

J'utilise Famileo depuis plus de 2 ans, et c'est effectivement quelque chose qui manquait jusqu'à maintenant. Cela devient même un réseau social puisque chacun partage ses actualités, qui se retrouvent livrées chaque mois aux grand-parents

Space Rangers (video game) - Wikipedia

It is indeed a great game. I had one on PC in 2008 and it was a blast.

Replacing JS with just HTML - HTMHell

Use cases for HTML only:

  • Accordions
  • input with Autofilter suggestions dropdown (<datalist>)
  • modals / popover with popover and popovertarget
Dance Arena Player
Using CSS to fix the irradiation illusion · 29 novembre 2025

TL;DR; use a negative GRAD value

GRAD stands for "grade", and it's a variable font axis that allows us to adjust the perceived weight of a font without changing the glyph size.

GRAD stands for "grade", and it's a variable font axis that allows us to adjust the perceived weight of a font without changing the glyph size.

body {
  --GRAD: 0;
  font-variation-settings: "GRAD" var(--GRAD);
}

@media (prefers-contrast: more) { body { --GRAD: 700 } }
@media (prefers-contrast: less) { body { --GRAD: -50 } }

@media (prefers-color-scheme: dark)                              { body { --GRAD: -50 } }
@media (prefers-color-scheme: dark) and (prefers-contrast: more) { body { --GRAD: 150 } }
@media (prefers-color-scheme: dark) and (prefers-contrast: less) { body { --GRAD: -150 } }
HELIOS

Convert solar weather into audio

You can't design software you don't work on

Generic software design: It’s “designing to the problem”: the kind of advice you give when you have a reasonable understanding of the domain, but very little knowledge of the existing codebase. [...] When you’re doing real work, concrete factors dominate generic factors.

In large codebases:

  • consistency is more important than "good design". Read Mistakes engineers make in large established codebases.
  • Real codebases are typically full of complex, hard-to-predict consequences.
  • Large shared codebases never reflect a single design, but are always in some intermediate state between different software designs. How the codebase will hang together after an individual change is thus way more important than the "north star"

The majority of software engineering work is done on systems that cannot be safely rewritten.

  1. Generic software design advice is useful for building brand-new project
  2. Generic software design advice is useful for tie-breaking concrete design decisions.
  3. Generic software design principles can also guide company-wide architectural decisions.
The Algebra of Loans in Rust | Nadri’s musings

Wayyy to advanced for me currently

(Social) media manipulation in one image

What Americans die from and the causes of death the US media reports on.

Causes of death in the US in 2023 compared to the media coverage of these causes of death in 2023 in The New York Times, The Washington Post and Fox News.

Le piratage du ministère de l'Intérieur met "la sécurité nationale en péril"
Is Firefox Firefucked? | Kev Quirk

We won’t sell you data, pinky promise… - in early 2025 a formal Firefox Terms of Use was introduced, which included a clause granting Mozilla a “non-exclusive, royalty-free, worldwide licence” to use user-entered data. At the same time, they quietly removed explicit “never sell user data” language from privacy messaging. Brilliant.

Firefox's leadership is out of touch with their users

Atlas des flux - Annuaire RSS
[Tuto Next] 1 To de stockage offert : comment sauvegarder ses données sur le S3 Next - Next

Next propose 1 To de stockage avec l'abonnement + 100 Go par année d'ancienneté. Il s'agit de stockage S3.

Et toujours chiffrer avant d'envoyer des données.

Anna’s Archive revendique la récupération de 300 To de musique de Spotify - Next

Je connais Anna's Archive pour les livres, mais il semble qu'ils récupèrent tout.

TiBillet
Cloud, données et souveraineté : les institutions publiques européennes abandonnent discrètement les fournisseurs de services américains, mais ne sont pas à l'abri d'un rachat des fournisseurs locaux
C'est officiel : stocker vos données en Europe ne sert à rien face aux USA

Une expertise juridique commandée par le ministère allemand de l'Intérieur confirme ce que beaucoup redoutaient : les autorités américaines peuvent accéder aux données stockées sur des serveurs européens. La localisation physique des données ne protège en rien contre la surveillance américaine.

  1. Le Cloud Act (et le Stored Communications Act, et la Section 702 du FISA) ignore les frontières
  2. Microsoft avoue ne rien pouvoir garantir
  3. Le chiffrement ne suffit pas, puisque le droit américain peut exiger des fournisseurs qu'ils conservent les données en clair.

Les clauses contractuelles et les labels « cloud européen » ne suffisent pas à contourner les lois extraterritoriales américaines

chuuchuu: "We tracked like 17 million tra…" - toot.community

La ponctualité des trains français est supérieure à l'Allemagne et l'Italie

Writing Code Is Fun - David Celis
Fuite de données CAF : Pass'Sport identifié, 3,5 millions de foyers exposés - Les Numériques
24 May 2025 11:45 | Vale.Rocks

Carousel are inaccessible and even more with CSS only solutions.

It completely fails with regard to separation of concerns by using CSS for structure, rather than HTML.

The rule of thumb:

HTML is for structure, CSS is for styling, JS is for anything that can’t be achieved with HTML/CSS, and accessibility isn’t omittable.

Static Website Hosting - Static.app

The free trial is limited

matduggan.com/making-rss-more-fun/
liam_on_linux | What's the point of lightweight code with modern computers?

3 rules to it:

  • the fastest code is the code you don't run.
  • the smaller the code, the less there is to go wrong.
  • the less you run, the smaller the attack surface.

Rewrite to native is also an option: Atom got 10x faster with Zed.
COSMIC desktop looks like GNOME, works like GNOME SHell, but it's faster and smaller and more customisable because it's native Rust code.

The COSMIC desktop looks like GNOME, works like GNOME Shell, but it's smaller and faster and more customisable because it's native Rust code. GNOME Shell is Javascript running on an embedded copy of Mozilla's Javascript runtime.

Just like dotcoms wanted to dis-intermediate business, remove middlemen and distributors for faster sales, we could use disintermediation in our software. Fewer runtimes, better smarter compiled languages so we can trap more errors and have faster and safer compiled native code.

Dennis Ritchie and Ken Thompson knew this. That's why Research Unix evolved into Plan 9, which puts way more stuff through the filesystem to remove whole types of API. Everything's in a container all the time, the filesystem abstracts the network and the GUI and more. Under 10% of the syscalls of Linux, the kernel is 5MB of source, and yet it has much of Kubernetes in there. This is what we should be doing. This is what we need to do. Hack away at the code complexity. Don't add functionality, remove it. Simplify it. Enforce standards by putting them in the kernel and removing dozens of overlapping implementations. Make codebases that are smaller and readable by humans.

Gnome Shell is

WaterUI - Native UI Framework for Rust

A cross platform UI library to build to apple, android, web.

The project is available under https://github.com/water-rs/waterui

How do rust devs read large codebases? : r/rust
  1. They split the code into crates that are independent of the rust of the system.
  2. Start with src/main.rs or src/lib.rs to get a high level overview then go down into the things you need to understand in more detail.
  3. The trick to be productive in a large codebase is thus simple: focus, one step at a time.

Tips for the documentation:

Here's advice I figured out a while ago: if you'd doing something user-facing, write the documentation. When someone asks a question, point to the place in the documentation that answers it and ask if that clarifies. If they are still confused, instead of answering them, improve the documentation, and ask them if that helped. Very quickly you get to the point where the documentation is accurate even for people who don't know the answers already.

LinkedIngue - Le reseau social professionnel qui fait rire
La Linux Foundation accouche d’une nouvelle fondation, cette fois pour les agents IA - Next

L'agentic AI Foundation est crée https://aaif.io/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation-aaif-anchored-by-new-project-contributions-including-model-context-protocol-mcp-goose-and-agents-md/

Il y a actuellement 900 projets, et un nombre croissant de fondations filles afin de les gérer.

Encryption protects AGAINST criminals

All is in the title. There are many misuse of weak encryption showed as examples.

Font Wars: Times New Roman vs. Calibri in U.S. Diplomacy | Politics

They have banned the Calibri font (which was chosen for its legibility) and reverted to the old Times New Roman.
The reason? Calibri is “too inclusive.”

[Dossier] Dans l’enfer des chargeurs USB pas chers chez AliExpress, Amazon et Cdiscount - Next

Sur 24 chargeurs, 14 ne tiennent pas la puissance annoncée. 127°C est atteint pour l'un, un autre prend feu et un troisième a dysfonctionné.

En moyenne, la tension baisse de 3 % sur l’ensemble de nos mesures : pour 5 volts demandés, elle descendrait à 4,85 volts, contre 19,4 volts pour 20 volts. Les chargeurs consomment en moyenne 8,5 % de puissance supplémentaire que ce qu’ils restituent en USB. Pour 20 watts consommés sur un port USB, cela donne un peu moins de 22 watts à la prise. Cette surconsommation est facturée par votre fournisseur d’électricité et peut entrainer une chauffe importante du chargeur.

37signals Dev — Modern CSS patterns in Campfire

Colors:

how do we decide where to use custom properties? There are really two cases:
1) whenever we need to use the same value in more than one place (DRY)
2) when we know a value is going to be changed.

Custom Properties:

I already use the css variables methods. They are great. Note we can inline them and avoid a verbose default: var(--btn-color, var(--color-text))

You can think of :has() as a way to query an element about what’s inside it.

This makes our button class very flexible. You can throw about any combination of things inside it, and it will adjust accordingly. Text only, image and text, image only, inputs (like radio buttons), or multiple images with text.

The post of 37signals takes also the sidebar into account. The trigger button can be pure CSS even if the icon in it changes. :has() allow to verify if a button inside an element is disabled too.

Responsive design:

They use one @media breakpoint (max-width: 100ch) for a two column layout.

Using characters as the unit of measure ensures that we get the right behavior no matter which device you’re using and in a number of other scenarios such as multitasking on iPad or even if you simply enlarge the font size past a certain point. Type is the heart of web pages so it makes sense for the layout to respond to it.

Feature enhancements such as hover or touch effects with media queries: @media (any-hover: hover) in combination with (pointer: fine) or (pointer: coarse)

Great stuff and kudos to them 👏

Elon Musk appelle à « abolir » l’Union européenne après l’amende de 120 millions d’euros infligée au réseau X
Le champignon dégueulasse de tchernobyl peut aider l'humanité à s'étendre - YouTube

Un champignon se nourrit de radiations. Il peut donc convenir comme isolant aux habitats sur Mars s'il se développe sur 21 cm d'épaisseur. Le champignon est d'autant plus plausible que du plomb est plus complexe à utiliser.

TypeGPU – Type-safe WebGPU toolkit

On the GPU.

Stop Putting Your Passwords Into Random Websites (Yes, Seriously, You Are The Problem)

This page is a by-design feature on both JSONformatter and CodeBeautify that allows a random user (you, me, your parrot) to browse all saved content and their associated links, along with the associated title, description, and date.

Memory Price Trends - PCPartPicker

Since last year, the price of the RAM dooubled.

Micron abandonne mémoire et SSD grand public
Backend TypeScript framework with End-to-End Type Safety, formidable speed, and exceptional developer experience.
Introducing Mistral 3 | Mistral AI
Chat Control : on fait le point – La Quadrature du Net
Wiki Science Competition – The Wikipedia photo contest around science
I underestimated my dependency to OneDrive – The IT Blog

And each use case required an own alternative to be found, set up, evaluated and decided. That was just tedious because each alternative came with its own challenges.

but there were the KeePass database, OneNotes and share links.

They have to be able to talk about us without us - Anil Dash

They have to be able to talk about us without us. What this phrase means, in its simplest form, is that you have to tell a story so clear, so concise, so memorable and evocative that people can repeat it for you even after you’ve left the room.

  • ground it in your values
  • start with the principle
  • know what makes you unique: There can’t be platitudes or generalities or vague assertions as a core part of the message
  • be evocative: avoid details and pick a small subset of the most emotionally gripping parts of your story. You'll have time to go in-depth later when people are interested.
  • enemies become friends: in a business or commercial context, customers can berely keep straight the difference between two competitors. What do we have in common, because those folks might not have sworn allegiance, but but they may have chosen out of convenience.
  • find joyce in repetition: a disciplined, collaborative, evocative message becomes a mantra for a community
  • don't obsess over exact wording: as long as it's not a "telephone game", it's a win
It's rude to show AI output to people | Alex Martsinovich

Our little planet just can't stop chatting about nonsense, and scramblers know only one use for information: to perceive it. They can't help but listen to all our yapping that only wastes their precious brain cycles and reduces their chances of survival. No peaceful species would do this.

For the longest time, writing was more expensive than reading. [...] The text used to have an innate proof-of-thought, a basic token of humanity. In contrast, AI made all media cheap. But AI only talks in response. So a human must use it.

"There's nothing wrong with using AI. because the transaction between the AI and the user is fully consensual. But whenever you propagate AI output, you're at risk of legitimizing it with your good name, providing it with a fake proof-of-thought." It can be fine because the output is owned, but in other cases, it's not. Our scrambler brain feels betrayed in this case.

Frank DENIS random thoughts.
A vulnerability in libsodium - Frank DENIS random thoughts.

It is interesting to know how because it goes in depth of the elliptic curve used for encryption.

Bienvenue sur le site des enchères du Domaine - Les enchères du Domaine

Le site d'enchères de l'État.

AI CEO – Replace Your Boss Before They Replace You
Pourquoi votre site web va disparaître (mais pas le mien ^^) | Posts | Le site de Korben

Les sites d'informations style comparatif ou texte peuvent être remplacés par Gemini dynamic view: l'IA crée une vue web des informations.
C'est peut-être la fin du développement web classique, si l'IA peut en générer à l'appel. À voir comment cela est maintenable, ou si l'entrée sur le web sera uniquement IA, ou si ce sera une surcouche aux sites webs traditionnels.

ARC UNARC - Association des responsables de copropriétés
This is not the future

Modern technology is abusive, but FOSS is certainly no silver bullet. [...] People have been trained to be abused by software and by hardware, to ignore their needs, to accept any change as inevitable

There are things avoidable: Internet-connected beds, AI browsers, unrepairable devices, requiring smartphones, NFTs, The Metaverse, update changes, ads, Meta-owned, Apple Vision pro, Copilot PCs

nothing sold by powerful grifters is "the future" no matter how much they wish that were true.

The driving factor is what constitutes a desirable future and which actions get us closer or further from that.

David Revoy: "Mozilla right now.#firefox #mozilla" - Framapiaf

The Firefox fox cutting its branch thanks to Mozilla and with the help of a chainsaw brought by the AI bird.

Fictional Brands Archive

Abstergo Industries for Assessin's Creed, ACME in Looney Toons,

More on Infos

The Hydrant Directory

Color palettes made from hydrant :)

Graffiti - A minimal CSS toolkit

Useful CSS utilities, elements, complete UI blocks and templates.

Train : le prix d’un billet Ouigo a augmenté de 73 % depuis 2017

La hausse de 73% du prix des Ouigo provient de la hausse du prix du kilomètre payé par passager de train Ouigo, avec 3.7 à 6.2 centimes (68%); l'offre a décrue de 1.6% par manque de compsation de l'offre TGV Inoui.

Un bilan d’autant plus déconcertant que, dans le même temps, le nombre de passagers de la grande vitesse en France sur les trains Inoui et Ouigo a augmenté de 13 % entre 2017 et 2023.

Help my website is too small - lukeplant.me.uk

Lol links are broken because the response body is too small (6KB or 3KB)

So please can Django get it sorted and add some bloat to their home page, and to their framework, and can someone also send me tips on bloating my own sites, so that my profile links can be counted as real websites? Thanks!

[MàJ] Conversion du code en Rust : Microsoft rétropédale - Next
YggBrowser - Recherche de Torrents

Recherche sur YggTorrent

PopCorn Garage - Platforme de jeux B2B

Ils font des jeux cool, comme https://popthewall.fr/fr

Aide au logement -Saisonniers agricoles : une aide financière pour le paiement de votre loyer | Service Public

Au lieu de laisser faire le marché, il y a une aide jusqu'à 600€. Ce qui m'impressionne, c'est le nombre d'aide existante.
Je dis cela en ayant bien bénéficié du Dossier Social Étudiant (DSE) sans APL, puis avec mes deux dernières années d'études.
Je trouve cette aide si niche cependant!

I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in 4.5 hours

A new standards compliant HTML5 parser in pure python code

Home | Dozzle
Airbus lâche Microsoft et cherche désespérément un cloud européen pour protéger ses secrets - Les Numériques

Selon Catherine Jestin, vice-présidente exécutive du numérique chez Airbus:"J'ai besoin d'un cloud souverain parce qu'une partie de l'information est extrêmement sensible d'un point de vue national et européen. Nous voulons nous assurer que cette information reste sous contrôle européen."

En revanche, le CLOUD Act rend incompatible les entreprises américaines avec le RGPD

Microsoft a d'ailleurs reconnu, en juillet dernier, et devant un tribunal français, son incapacité à garantir la souveraineté des données sous cette législation.

La vice-présidente reste critique par rapport aux prestataires européens. Ils doivent collaborer pour atteindre la qualité de services des gros acteurs américains, sans dépasser les délais qu'Airbus peut se permettre.

Cinq Européens dont Thierry Breton interdits d’entrée aux États-Unis - Next

Le ministère des Affaires étrangères (State Department) des États-Unis a interdit à cinq Européens d’entrer sur son territoire, les accusant d’avoir obligé les entreprises de la tech à censurer ou invisibiliser les points de vue de la population américaine.

(via https://sebsauvage.net/links/?5NMG-Q)

Firefox se dote d’une vue partagée pour afficher deux sites côte à côte - Next

Activer la vue partagée: browser.tabs.splitView.enabled dans le about:config

Le support de la spécification XDG Base Directory de Freedesktop.org pour les distributions Linux

Enfin avec Firefox 147!

Politische Forderungen zum Schutz vor digitaler Gewalt — HateAid

Ich weiss noch nicht, was ich dazu meinen soll.

Mastodon-Konto: @hateaid@troet.cafe

Feedra - Developer-first feedback platform. Collect, review, and convert user feedback to issues in your tracker.
Bleu Soleil & Luiza - Soleil Bleu (Clip officiel) - YouTube

La musique passe sur les radios allemande

CC Signals Implementation - Creative Commons

The proposal try to apply the Creative Commons to AI

Learning Rust: Download and deserialize 10 000 files in 9.833 seconds

concurrency with Semaphore, async and Arc data structures to retrieve as fast as possible files stored on S3

Lovable

Create websites while chatting

AI and that Guy at the bar — cobbles
The Rising of the Shield Hero (Anime) – Wikipedia

translate in french

Crypto, FIDO and Security Tokens - Google Sheets

A sheet listing (currently) 187 hardware

a11y tools

A list of tools: audit bookmarklets, HTML De-crapulator, Role Reverser, Diagnostic CSS files

HTML Tips & Tricks - HTMHell

The contrary of HTMLHell, a page full of tips: HTML Heaven.

readur/readur: Quick, painless, intuitive OCR platform written in Rust and TypeScript. Modern UI with modern API, with an emphasis on intuitive user experience.

Readur is a powerful and modern document management system designed to help individuals and teams efficiently organize, process, and access their digital documents. It combines a high-performance backend with a sleek and intuitive web interface to deliver a smooth and reliable user experience.

Les ressources nécéssaires sont cependant insuffisante pour un Raspberry Pi. D'autres alternatives existent comme PaperMerge ou bien Paperless ngx

(via https://korben.info/readur-gestion-documentaire-ocr-rust-autoheberge.html)

Suprise ! Un micro caché dans un petit KVM chinois à 30 balles | Posts | Le site de Korben
20 Years of Digital Life, Gone in an Instant, thanks to Apple | hey.paris

A terrible case

« On a des tarifs qui ont pris 400 % »… Pourquoi la voracité de l’IA fait flamber les prix de la high-tech

Après la chute de la bulle IA, la RAM devrait donc chuter drastiquement.

Mais en attendant, " aussi tous les fabricants de matériels électroniques embarquant des modules de DRAM, comme les cartes graphiques, les téléphones, les téléviseurs, les voitures…" sont impactés et ne savent pas quels seront les prix de la RAM dans 3 mois.

il n’y a aucune perspective de baisse à court terme, « du moins pas avant 2028 »

Stoat

It claims complying with the GDPR

Meta accused of banning LGBTQ+ accounts in one of its "biggest waves of censorship" ever - LGBTQ Nation
LogTape

Unobtrusive logging for modern javascript

Zero dependencies. Universal runtime. Optimized performance.

The library avoid overhead and boilerplate compared to other logger library such as Winston or Pino.

IA et publicité - Liens en vrac de sebsauvage

AI companies are losing money fast and are going to go under. One of the most obvious ways to compensate for this is through advertising.

Except that you won't be able to detect this advertising, since it will be mixed in with the content.

What is the best VPN?
How do you treat a skin problem?
You won't be able to tell if the answer has been biased. You won't be able to tell if the AI is really giving the best “advice” or if it's advertising a brand of skin cream or a molecule from a large laboratory.
Extend this to economics and politics, and—as with online ad auctions—it's the highest bidder that will be able to influence you.

And all these AI companies are desperately in need of money.

Disney investing $1 billion in OpenAI, will allow characters on Sora

Disney characters will be allowed on the Sora app.

Berlin: Police can secretly enter homes for state trojan installation | heise online
ONCE — Introducing ONCE

A brand backed by 37Signals.

Minimal and efficient products: Campfire to chat and Writebook to publish books online. Free of use.

Jason Zimdars

One behind 37signals. They are currently doing great stuff with CSS.

content-visibility - CSS | MDN

with currently 90% support, this feature can render or hide the content (without taking space in the layout). Note the auto value can optimize the rendering

In comparison with the display: none trick, developers don't need to specify the layout display: flex | grid | block anymore.

saghen/blink.cmp: Performant, batteries-included completion plugin for Neovim

Looks good for a great completion

Internet est mort. Voici comment le ressusciter
100 things you can do on your personal website | James' Coffee Blog
1LoC

I restart the project

The Hidden Selectors of The HTML Element

Are they useful? I think not. It might be useful, but overall, it's better to read the specifications.

accessible HTML - arXiv info

Documents will be available in HTML!

Home - ONVIF

ONVIF is an open industry forum that provides and promotes standardized interfaces
for effective interoperability of IP-based physical security products and services.

Vanilla CSS is all you need

Following https://dev.37signals.com/modern-css-patterns-and-techniques-in-campfire/

More thoughts about utility classes (only utilities and not a core use anymore), :has(),

What fascinated me most was watching the architecture evolve across releases.

Campfire: OKLCH colors, Custom properties for everything, character-based spacing, flat file oranization, View Transitions API
Writebook (2nd): COntainer queries for component-level responsiveness, @starting-style for entrance animations
Fizzy (3rd release): CSS Layers, color-mix() and complex :has() to replace JS.

37Signals share their product codes in Open Source. That's awesome because we can learn from it:

/* Fizzy's layer architecture */
@layer reset, base, components, modules, utilities;

@layer components {
  .btn { /* Always lower specificity than utilities */ }
}

@layer utilities {
  .hide { /* Always wins over components */ }
}

A CSS only spinner under 30 lines of CSS code. "Pure creativity".
A better <mark> that draws a hand-drawn circle around matched terms.
They also created dialog animations in CSS only.

Bonjour la fuite : La Timeline des Fuites de Données sur le Web 🔎
Le jeu Fachorama par la Horde – Enlysée, la boutique officielle du ruissellement
How to speed up the Rust compiler in December 2025 | Nicholas Nethercote

A few percents in wall-time improvments this year

tRPC - Move Fast and Break Nothing. End-to-end typesafe APIs made easy. | tRPC
HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool

Lessons from maintaining an open source tool:

  1. Simplicity is a feature
  2. Real users reveal problems
  3. open source is a marathon

Yet through all these changes, the need for efficient HTML delivery remains constant. That's perhaps the most interesting lesson: fundamental problems persist even as technologies evolve.