Monthly Shaarli
November, 2025
Landlock shines when an application has a predictable set of files or directories it needs. For example, a web server could restrict itself to accessing only /var/www/html and /tmp.
The author reminds Linux has security issues on most major distributions and each tools trying to improve the state of securit on Linux has drawbacks: Containerization, Flatpak, Firejail, seccomp, SELinux, AppArmor and Landlock.
Landlock fills a major gap: a simple, self-cotnained unprivileged sandboxing tool.
Read more on the landlock.io
We performed an empirical study to investigate whether the context of interruptions makes a difference. We found that context does not make a difference but surprisingly, people completed interrupted tasks in less time with no difference in quality. Our data suggests that people compensate for interruptions by working faster, but this comes at a price: experiencing more stress, higher frustration, time pressure and effort. Individual differences exist in the management of interruptions: personality measures of openness to experience and need for personal structure predict disruption costs of interruptions. We discuss implications for how system design can support interrupted work.
- Copy and paste blocked?
- Contextual menu blocked?
- Keyboard shortcuts blocked?
- Autoplaying videos?
- URL tracking parameters?
But the bigger problem, the ultimate cause, behind today's chaos is the creeping centralisation of the internet and a society that is sleepwalking into assuming the net is always on and always working.
Outages like today's are a good thing because they're a warning.
As the same result as a monoculture of banana, the internet need different actors and diversity of services.
Dioxus is the promise of having a single code base for your mobile apps and web apps and desktop apps.
The project goal is to be a real fullstack framework. A single code base for the client and for the server.
After server side rendering and client side rendering:
So boom, third generation, full stack, best of both worlds. We do the render on the server like before, and we stream it to the client, which can display it as it’s being received. But alongside that rendered HTML, the server also sends the structured data that it used to render the HTML.
Now the whole point of having the server stream markup is that we can show it early before the app is even loaded on the client.
Dioxus offers many hooks prefixed use_ to add reactivity. "If you break the rules of hooks, you don’t get a build error or even a runtime error. You just get a weird behavior, which can be hard to debug."
A second issue is
So does Dioxus spark joy? Not yet. In the meantime, I’ll be doing Rust on the backend, and TypeScript on the frontend.
The Dioxus team is doing a lot of hard, interesting work. They have a Flexbox implementation that they’re sharing with Servo. They’re doing their own HTML and CSS renderer now to make desktop applications without a full-fledged web engine.
A way to cheat the git commit graph: commits can be generated at different times.
They are CSS "cascading" variables, and they can also be custom properties with @property.
- 1password
- direnv to load envs only in specific directories
Toutefois, hors tension et dans certaines situations de conservation, ces disques présentent un risque réel de perte de données des utilisateurs, a révélé Alvin Cox, président du fabricant de disques Seagate. Dans son rapport publié en 2015 sur le site web de JEDEC, Alvin explique qu’un SSD hors tension peut causer la perte des données stockées ; et parfois après que le disque ait passé seulement quelques jours sans être alimenté.
Comme le détaille une récente analyse technique de XDA Developers, les propriétés physiques mêmes qui permettent aux SSD de fonctionner à des vitesses fulgurantes les rendent fondamentalement inadaptés au stockage d'archives à long terme sans alimentation électrique.
Pour comprendre le risque, il faut examiner l'architecture microscopique du support de stockage. La mémoire flash NAND stocke les données en piégeant des électrons à l'intérieur d'une « grille flottante » dans un transistor. La présence ou l'absence de charge (et, dans les disques modernes, le niveau de tension spécifique de cette charge) détermine la valeur binaire des données. XDA Developers note que ces électrons sont maintenus en place par des couches isolantes microscopiques. Au fil du temps, l'effet tunnel quantique permet aux électrons de s'échapper à travers ces barrières isolantes, provoquant une dérive du niveau de tension de la cellule. Si la tension chute en dessous d'un certain seuil, le contrôleur ne peut plus distinguer un zéro d'un un, ce qui entraîne une corruption des données. [...] Par conséquent, un disque neuf peut conserver des données pendant des années sans alimentation, tandis qu'un disque proche de la fin de sa durée de vie en écriture peut subir une perte de données catastrophique en une fraction de ce temps.
La norme JEDEC de l'industrie impose que un SSD à 30°Cdevrait conserver les données pendant environ un an, mais "La période de conservation est fortement influencée par la température « active ». Un disque qui chauffe pendant son utilisation et qui est ensuite stocké dans un environnement chaud perdra ses données beaucoup plus rapidement qu'un disque conservé au frais".
La règle est que pour chaque 10° d'augmentation, la vitesse de réaction chimique double environ, réduisant de moitié la durée de conservation des données.
Les SSD d'entreprise sont conçus pour offrir des performances et une endurance optimales, souvent au détriment de la conservation hors alimentation,
Donc on reste bien sur un archivage bande magnétique (LTO) > HDD > SSD.
Cependant, si le disque reste en tension, alors le SSD semble tenir plus longtemps que le HDD. cf: Les SSD seraient plus fiable sur le long terme que les SSD d'après l'expérience de Blackblaze.
« Si vous n’avez rien à cacher, vous n’avez rien à craindre »
La question est celle de la légitimité d’un pouvoir – étatique ou privé – à s’immiscer dans nos vies sans justification, sans limite et sans contrôle.
Le juriste Daniel Solove a démontré que l’argument « rien à cacher » n’a recours qu’à un seul type de préjudice : la découverte d’une activité illégale. Mais la réalité est infiniment plus complexe. L’agrégation de données « innocentes » – vos achats, vos trajets, vos recherches internet – peut servir à vous discriminer pour une assurance, vous refuser un emploi, vous placer sur une liste de surveillance. Vous n’aviez rien à cacher. Le système a créé quelque chose à vous reprocher.
La reconnaissance faciale provoque des faux-positifs: l’innocent devient soudainement coupable par décret algorithmique. Ces algorithmes sont biaisés, par exemple pour identifier le genre des femmes à peau foncée qui a 43 fois plus d'erreurs.
"rien à cacher" est donc un argument de privilégié. [...]
The cause seems to be a bug in an Asus router though
In the title: emojis, unicode formatting, How to boring stuff that is already known elsewhere, clickbait-y titles.
In the preview: an AI-generated header image.
The article is oddly specific but unspecific:
- there is no personal tone.
- ASCII Art diagrams when excalidraw can do the job
- Deep-dive content that’s only a few paragraphs long 🔗
- We rewrote in X lines
- bullet point paragraphs, em-dashes, emojis, short section headings
The author profile with too much publications (in one week). Does their articles are jusitfied with their position on LinkedIn, is it private on the contrary?
At least there was a cost to writing poor quality content before. Even the laziest plagiariser had to manually find the content to nick and copy-paste it into their own blog that they’d taken the time to set up. Now, all it needs is a muppet with a Medium account and an LLM. God forbid they hook it up to an agent and automate the process. Except, they probably do, given the scale of the shit that’s being pumped out.
Mastodon, Bluesky, Twitter, Instagram, Facebook
Traduire en anglais et allemand la page wikipédia.
KeepassXC a obtenu avec la v2.11.17 cette certification.
* {
letter-spacing: clamp(
-0.05em,
calc((1em - 1rem) / -10),
0em
);
}Google will feed its AI with email.
As sender to an email address, I can not control it however.
In the latest November 22 update, Google clarify than "smart" does not mean "AI".
It seems however that Gemini is included as smart feature in the screenshots.
An extension of the original XKCD about some random guy maintaining a cornerstone of the Internet
A small data structure crate
Ça c'est du hard power: les États-Unis peuvent bannir quelqu'un du système de paiement international (VISA, Mastercard, banques).
GraphQL becomes burden when GraphQL can not be support by all clients. Thus a REST API layer is needed and at the end, "we had a REST API that happened to use GraphQL.js internally".
The solution comes to Zod: runtime validation, avoid JSON serialization gotchas and filter extra properties.
Learnings: question established patterns; start with complexity; tools matter but patterns matter more and simplicity always win.
The patterns are indeed underrated.
GraphQL for: diverse client types with vastly different data needs; query flexibility outweighs architectural simplicty.
Zod + REST for: runtime validation, architectural simplicity, prefer REST patterns, building internal APIs with known customers.
Polaris fait tourner Framadate.
Framaspace s'agrandit. Les coûts estimés sont de 50€ par ouverture de space puis 12€ par an.
Peertube v8 qui a maintenant beaucoup de fonctionnalités.
FramaPDF se base sur SignaturePDF pour éditer des PDFs.
La framatoolbox regroupe pleins de petits outils pratiques.
Omnitools pour travailler sur les fichiers de données (CSV, txt, JSON, ...), développé par le projet Omnitoolbox.
Vert.sh permet de convertir des fichiers à différents formats.
Framapetitions est développé via le projet Pytition
et de nouveaux projets pour 2026
Small binaries (75 KB) to include healthcheck in containers. The CLI tool is httpcheck, but there is multiple other commands.
Some creative ideas on small screens. The post lists examsle:
- Use horizontal scrolling
- Push elements off-canvas
- Build scrollable mini-spreadspread
- Orientation responsive layout
A textual adventure based on Discord
The author provides some code sample.
- Creating Blob Objects Safely and Efficiently
- Chunking Large Files to Avoid Memory Explosions
- Image Compression and Format Conversion on the Front End (with the canvas API)
- A Unified File Preview Component
- Data Export and Download with Blobs (JSON, CSV, “Excel”)
- Blob URL Memory Management and Leak Prevention
En tant que PDG de Radio France : Sibyle Veil, énarque qui s’est engagée auprès de Nicolas Sarkozy dès 2007, puis qui a été chargée de «restructurer» les hôpitaux de Paris en pleine vague de restrictions budgétaires dans la Santé, avant d’être envoyée dévaster la radio publique à partir de 2018. Elle fait partie de cette noblesse d’État qui va de poste en poste pour appliquer l’agenda néolibéral. Elle était aussi copine de promotion de Macron, qui l’a nommée à la tête de ce grand pôle de radio publique française. En effet, c’est l’Arcom qui décide de la direction de Radio France, mais la présidence de l’Arcom est elle-même choisie par le président. Un vrai ruissellement entre copains.
[...]
Il y a 20 ans, France 2 a imposé Eric Zemmour en prime time, et a ainsi lancé sa carrière politique. Les défenseurs de cette émission disaient que l’équipe de Laurent Ruquier ne faisait pas cela par idéologie mais uniquement pour satisfaire un certain public, et que les propos fasciste à l’antenne permettaient de créer du «buzz». Cette explication est fausse, car les rares propos anticapitalistes qui se fraient un chemin dans les grands médias ont bien plus d’écho que ceux des fascistes.
Prenez les quelques punchlines lancées par Philippe Poutou à la présidentielle de 2017 : il avait malmené Le Pen et Fillon en les traitant de voleurs. On s’en souvient encore 8 ans après. Il n’est pourtant jamais invité, alors qu’il ferait exploser l’audimat. On pourrait multiplier les exemples : sachant que l’écrasante majorité de la population soutenait les Gilets jaunes, le mouvement pour les retraites ou Bloquons tout, pourquoi aucun chroniqueur anticapitaliste, favorable à ces mouvements, n’est recruté, si l’on prétend entendre «toutes les opinions» ? La réponse est simple : les directions médiatiques ont uniquement pour but de préserver les intérêts de la classe dominante.
Avoid https://dontasktoask.com, https://giybf.com, https://lmgtfy.com, or similar sites. They have negative impacts on the receiver.
Prefer
- Direct & kind guidance.
- Explain "why"
- "Gentle Nudge towards searching ("if appropriate")
- Quote the rule or the guideline if applicable
- Just be nicer
"Needy programs" are becoming too intrusive
Rust keeps the C abstract machine model but innovates on the language interface.
Because as far as I know, the C AMM is the most efficient.
One slide shows the survival factor of a language. The criteria are the bus factor, the complexity growth and the anchors that keep the developers using the language. Rust is good here.
.
Un site dédié: chiffrer à la place de crypter.
Signaler tout courriel indésirable reçue.
It is really pushed by Rust enthusiasts or community using Rust, so I can see the lobbying here.
It is still true and right though.
The PDF https://trifectatech.org/docs/improving-europes-cybersecurity-posture-through-memory-safety.pdf
Google uses AI to report security vulnerability.
They order a fix and they plan to release the vulnerability after 90 days.
FFmpeg is an open source project though. The project owes nothing to Google, and Google has no right to impose anything on the project. The company can largely finance or submit fixes.
Geburt des ersten Kindes: -1.6 auf einer Skala von 0 (unglücklich) bis 10 (glücklich(.
Zum Vergleich:
- Tod des Partners: −1
- Arbeitslosigkeit: −1
- Scheidung: −0,6
Studie im 2015 veröffentlicht.
Je ne dis pas que l'outils CompactGUI est mauvais. Je dis juste qu'encore une fois ce sont des développeurs indépendants qui compensent un manque de Windows.
Alors je sais, mais je vais mon vieux chieur linuxien bien lourd avec cette vieille blague pourrie : "Linux, il a y moins bien, mais c'est plus cher : Windows."
Domain-Specific Languages are small languages designed to focus on a specific aspect of a software system. We deal with DSLs every day: SQL can be considered a DSL, LaTeX is a DSL, AWK is a DSL, Kubernetes’ YAMLs are a DSL.
The Token-Oriented Object Notation is optimized to have fewer tokens to parse for LLMs.
A domain-specific language is by definition smaller in scope than a general-purpose language, so it should be easier to design and implement; moreover, if the language is designed well, it should lead to a more efficient usage of the context window.
If we can abstract away parts of our domain into a higher-level language, we can effectively use the LLM to
- generate the implementation of a DSL
- generate documentation and examples for such our DSL
- point the LLM to docs and examples and prompt it to generate more code using our DSL
So, instead of trying to come up with a general-purpose language for LLMs, we define a tiny DSL for each specific subsystem we mean to realize.
Examples
- Piano
- Business Rule
About maintenance: the author claims they can be automated with LLMs.
The cost of defining an external DSL (own language with syntax and parser) is reduced compared to internal DSL (in a generic programming language). Also not a problem with LLMs.
In recent years, there has been something of a “winter” in DSL design and development due to the high maintenance costs and the tooling expectations from end users. This blog post explored the syntactic dimension of “token-efficiency” in DSL design: I invite you to explore more of this space, including semantics; I, for one, will welcome more crazy DSL implementations!
A critic against Microsoft. The Outages become frequent.
Il faut donc des diplômes avec des débouchés.
Autant aller directement parler aux entreprises, je rejoins totalement le commentaire du HollandaisVolant: https://lehollandaisvolant.net/?id=20251108113935
Soit augmenter de 50% la puissance de calcul en Allemagne. Elle devra avoir 0,5 exaflops et 20 Po de stockage avec plus d'un millier de systèmes Nvidia DGX B200 et de serveurs Nvidia RTX PRO équipés d'environ 10 000 GPU Blackwell.
Elle devrait fonctionner au premier puisqu'ils réutilisent un datacenter existant et sera équipé en logiciel par SAP.
Turns out, when people feel pleasure on a regular basis, it increases their confidence and makes them more productive.
Obviously, I figured masturbaton/orgasm would improve the participants moods in general, but I was surprised to learn that i strengthened their relationships - both romantic and social.
J'ai vu la vidéo sur Youtube. C'est incroyable.
Your deployment strategy
What you need:
• A single server
• Postgres
• Maybe Redis for caching
• That's it
The costs of the cloud are big and this author relates how the HackerNews community got confrontational with him.
He switched to Hetzner, because their costs are low:
80 cores @ 3 Ghz, 128 GB of RAM and 2TB of data for 170€ a month.
In comparison, AWS costs between 2 500$ to 3 500$.
The point here is that there’s value in managing your own servers VS just accepting the cloud as a given truth.
and people trying to convince you that "the cloud" is the solution never tried alternatives.
How did we get there?
The majority of devs are clueless or have forgotten. AWS started to give credits specifically for startups only. The entry is cheap, but the costs become expensive as they grow. They are locked-in so they will struggle to migrate to another architecture.
The cloud is only an option between others. "Most businesses are and will always be small, by a simple rule of power law."
Here’s a reference point: my current two-server setup serves millions of requests a day for millions of monthly visitors.
Managing your own server is fine because there has never been a better time to get good at servers. AI are very knowledgeable on Linux.
C'est simple: il n'y a pas d'autres acteurs sur le marché connus.
Problème pour l’Autorité, « Doctolib a délibérément mis en œuvre plusieurs pratiques anticoncurrentielles ». C’est donc un abus de position dominante, une pratique condamnable et pour laquelle Doctolib écope de 4,665 millions d’euros d’amende.
Ouch.
En plus de la condamnation du jour par l’Autorité de la concurrence, elle a fait face à un « incident technique » en 2023 avec la perte de données médicales et, en 2020, au vol d’« informations administratives de 6 128 rendez-vous ».
Les données sont aussi hébergées sur AWS. En 2020, Télérama publiait un article à charge sur Doctolib à propos de la gestion de la sécurité.
Big Tech app stores are walled gardens where a single gatekeeper decides what gets in. Powered by Nostr, Zapstore is open source, permissionless and censorship-resistant. Anyone can publish and switch relays. To preserve quality in an open network, we use web-of-trust and other metrics to surface signal and obliterate spam.
Use cases for inherit(). They can be good but I don't see a need currently
There are great animations of ease-in, ease-in-out, ease, spring and bounce. The latest two can not be animated with Bézier curves as other common animations.
To get spring and bounce effects, the linear() function can be used. The linear() function takes a set of numbers, with 0 representing the starting value and 1 representing the final value.
Easing wizard or the Linear() Easing Generator can help.
Building up means starting with a tiny core and gradually adding functionality. Sanding down means starting with a very rough idea and refining it over time.
There are a few rules I try to follow when building up:
- Focus on atomic building blocks that are easily composable and testable.
- Build up powerful guarantees from simple, verifiable properties.
- Focus on correctness, not performance.
- Write the documentation along with the code to test your reasoning.
- Nail the abstractions before moving on to the next layer.
The alternative approach, which I found to work equally well, is “sanding down.” In this approach, you start with a rough prototype (or vertical slice) and refine it over time. You “sand down” the rough edges over and over again, until you are happy with the result. [...] I find that this approach works well when working on creative projects which require experimentation and quick iteration.
When using this approach, I try to follow these rules:
- Switch off your inner perfectionist.
- Don’t edit while writing the first draft.
- Code duplication is strictly allowed.
- Refactor, refactor, refactor.
- Defer testing until after the first draft is done.
- Focus on the outermost API first; nail that, then polish the internals.
Both variants can lead to correct, maintainable, and efficient systems. There is no better or worse approach. However, it helps to be familiar with both approaches and know when to apply which mode. Choose wisely, because switching between the two approaches is quite tricky as you start from different ends of the problem
Des fichiers .http normalisent les appels d'APIs
A script
Hacker news thread: https://news.ycombinator.com/item?id=46092338
How to optimize a rust program to squeeze maximum performance and as little RAM as possible
- Amazon to build massive data center for the government: https://www.theregister.com/2025/11/25/aws_federal_investment/
- Google wins AI and security management contract for NATO: https://www.computerweekly.com/news/366634759/Google-wins-multimillion-pound-contract-to-supply-sovereign-cloud-services-to-Nato
Maybe there is more to come
Rust is not just great, it's inevitable. [...] like solar
If you compare this map of solar energy potential from Global Solar Atlas to this table of current solar capacity, you will easily see that we are still at the beginning of the solar revolution.
The same is true for Rust. Improved reliability, reduced time-to-market, far lower costs. Which rational actor wouldn't want that? As the Cloudflare, Proton and Signal case studies have demonstrated, investing in Rust today will yield far better returns than other technological investments you can make
2/3 of the Trump and MAGA accounts are located outside of the USA. Maybe there are reasons to undermine the country with troll farm or AI bots
Le propriétaire de l'application Whatsapp Meta est une entreprise décrite de manière néfaste, et ne respectant pas la loi en Europe. L'application a plusieurs failles de sécurité aussi.
Au contraire de Signal.
Voilà pourquoi ces deux outils sont politiques, comme tout.
L’inverse n’est pas vrai : vous pouvez venir sur Signal comme vous êtes, et sans risque.
The "cloud" is really some else's computer. By contrast, local doesn't just mean the laptop you're holding. It includes anything you own and control: PC, server, NAS.
I love the diagram :smile:
Not because I want to avoid cloud-like features, but because local gives me the same benefits without giving away control.
What is Yggdrasil? I didn't know it.
Ok, so Tyr avoid email and the email adress is derived from the public key: <64-hex-characters>@yggmail
Putting aside GitHub’s relationship with ICE, it’s abundantly clear that the engineering excellence that created GitHub’s success is no longer driving it.
Most importantly, Actions has inexcusable bugs while being completely neglected. After the CEO of GitHub said to “embrace AI or get out” [...]
and one blocker is now the source of revenue:
GitHub Sponsors is a large fraction of Zig Software Foundation’s donation income, we consider it a liability. We humbly ask if you, reader, are currently donating through GitHub Sponsors, that you consider moving your recurring donation to Every.org, which is itself a non-profit organization.
Un client léger de 13MB à héberger soi-même.
C'est entièrement pilotable au cliver, mono ou multi-colonnes, les messages privés ont un fond hachuré pour bien les distinguer du reste et les re-pouet sont aussi différencié.
Des compétitions sur Excel.
D’ailleurs, le thème de la finale 2024 c’était World of Warcraft et les participants devaient tracker des stats comme l’XP, l’or et les capacités de leur équipe jusqu’au raid final de Molten Core.
Le format de la compétition se veut brutal avec 30 minutes par round, des problèmes logiques de plus en plus complexes, et toutes les 5 minutes le dernier du classement dégage. Y’a aussi des questions bonus risquées pour gratter des points supplémentaires et tout ça avec un public de fans hystériques qui beuglent autour des candidats. Bref, mentalement, c’est épuisant !
$XDG_SESSION_TYPE provide the session X11 or Wayland.
There are also three other way.
Tauri has two limitations: lack of support for .appx and .msix bundles on windows and issues with MacOS universal binaries for arm64 and x64.
The rest seems in favor of Tauri.
A feedback about decisions made in the rust language. Grayson give its experience as founder of the language.
An interview of Jon Gjengset.
Topics covered:
• Rust salaries and job market trends in 2025
• AI’s impact on Rust development and software engineering
• Why Rust adoption is growing
• Rust vs Go and C++ — performance, safety, and real-world trade-offs
• The borrow checker and how it makes you a better programmer
• Why AI can’t (yet) replace software engineers
La dark romance permettrait d’explorer d’autres dynamiques de pouvoir et de soumission, tout en restant dans un cadre fictionnel. Elle compare ainsi ce genre littéraire à un film d’horreur ou à un thriller, où l’on recherche des sensations fortes, de peur et de suspense, mais qui s’arrêterait une fois le livre fermé.
Going from a small blog to a heavy blog, to minimalistic again
Je n'ai ue de bonnes interactions sur Mastodon de mon côté. Peut-être car je ne suis pas une célébrité.
Mais Discord se torche avec le RGPD. De là à dire que "Mais heureusement, j’ai mon Discord rempli de gens cools et mon Patreon qui est le temple de la bienveillance." est dérangeant.
Effectivement, c'est peut être mieux socialement, mais Discord reste néfaste à cause de son business model.
Rust compiled with LLVM is resistant against timing attack.
It requires LLVM though.
Le site a été créé par Luke Igel et Riley Walz et ils ont récupéré les 20 000 pages de documents libérés par le House Committee on Oversight and Government Reform début novembre 2025, puis ils ont converti les PDFs en texte structuré à l’aide d’un LLM. Et le résultat de leur travail, c’est une interface qui ressemble trait pour trait à Gmail, sauf que vous êtes connecté en tant que jeevacation@gmail.com , l’adresse mail d’Epstein lui-même.
Again.
« certaines de vos données personnelles utilisées pour une prise en charge optique entre 2020 et le premier trimestre 2022 ont pu être exposées ».
Générer un justificatif unique d'identité. Cela évite de donner sa carte d'identité, qui peut ensuite être réutilisée.
La vérification utilise https://en.wikipedia.org/wiki/PAdES
Le service vérifiant un justificatif: https://idp.france-identite.gouv.fr/usager/valider-attest
L'application France Identité génère ces justificatifs.
So wait: Microsoft uses WEB technology for the Windows 11 interface. So everything is much heavier and slower. So slow that even the file explorer takes a long time to start up.So what's Microsoft's solution?Preload the file explorer into memory so that it displays immediately when you click on it.So it will eat up RAM and CPU when the machine is turned on.
Résilier en ligne via ?link=resilonline
Polls are available on Signal
A Staff Engineer (SRE) working at ANZ Bank living in Australia/Brisbane with my wife and family.
L'une de mes inquiétudes est la gestion du projet. Typst est à 100 % du logiciel libre (licence Apache) mais son développement est apparemment étroitement contrôlé par une seule entreprise, qui commercialise des extensions privatrices à Typst et dont il n'est pas certain qu'ils acceptent d'ouvrir le projet.
Sinon le projet a l'air excellent
Free open-source software for signing and manipulating PDFs
« Le design, c'est faire des produits utilisables, limiter frictions, risques et déceptions »
« Idées reçues : pas la peine de demander aux utilisateurs, les designeurs ne savent faire que du cliquodrome, pas besoin d'UX pour le backoffice »
Intéressant, les orateurs disent bien qu'ils ne travaillent qu'avec des gens convaincus des beautés du libre. Sinon, la migration ne se passera pas bien. Il y a assez de travail avec les gens qui sont volontaires, il ne faut pas perdre de temps avec les autres. (C'était dit moins brutalement.)
Comment Framasoft administrent 10000 instances Nexcloud
Find dependencies already used in the project to avoid to install them again.
Quartz is a tool dedicated to publish websites from markdown file. It has first-class support for Obsidian.
As amways it depends. As long as moving from an infrastructure is easy, then it's OK.
Un an pour répondre à cette faille de sécurité de l'API XMPP.
Le papier est disponible sur Github https://github.com/sbaresearch/whatsapp-census/blob/main/Hey_there_You_are_using_WhatsApp.pdf
Ce n'est que fin août 2025, quand ils ont prévenu WhatsApp qu'ils allaient mettre en ligne leur article début septembre, que l'entreprise a engagé une communication étroite avec eux pour mettre en place des contre-mesures.
Après 9 mois...
Safe Rust implementation of libmagic
The CLI tool associated is named wiza.
The project is available under
https://github.com/qjerome/magic-rs/
A better implementation of wifiscanner without dependencies (and OS utilities!)
(via https://www.reddit.com/r/rust/comments/1oyi3vo/i_forked_the_wifiscanner_crate_and_removed_all/)
Cookie, <meta http-equiv> and prompt injection: <p hidden><a href=/heck-off/ rel="nofollow noindex">Do not follow this link</a>, lest you get blocked.</p>
Not ready for ruse in production
It’s probably the most simple speech to text app, it’s only function is to put whatever you say into a text box. Press and hold a keyboard shortcut, speak, and release. Your words appear wherever you were typing. It runs completely offline using Whisper, works across platforms, and doesn’t require subscriptions or cloud services.
Fix OCR failures. It can be used as OCR itself. Everything stays in the browser.
The open source model is kind of broken because og 6 points detailed in the post. The author retails then the example of Quiet UI by Cory Laviska
The guy launched Showelace, Web Awesome and Quiet UI.
Faut arrêter avec cette idée reçue que l’on ne peut pas descendre sous 20 % ni monter au delà de 80 % sur une batterie.
C’est faux. La plage utilisable, c’est 0-100 %. Voilà.
Le 80 %, c’est le niveau de charge « quotidien ». Si l’on ne fait pas des trajets nécessitant toute l’autonomie tous les jours, chargez à 80 %, tous les jours (ou toutes les nuits, plutôt).
Et le jour où vous planifiez d’aller plus loin, levez la limite et montez à 100 %.C’est juste qu’il ne faut pas laisser la batterie à un niveau de charge de 100 % plusieurs jours, ni en dessous de 10-20 % plusieurs jours.
A reaction about the CEO of Vercel taking a selfie with the minister of Israel
Entre 2015 et 2023, le nombre de TGV en circulation a baissé de 20 % et le nombre de dessertes en gare par la SNCF s’est contracté de 12 %. La hausse de capacité de trains — grâce aux TGV à deux étages, une exclusivité française en Europe — a permis, dans le même temps, de faire stagner le nombre de sièges rapportés aux kilomètres parcourus (-2 %). Et le chiffre d’affaires de la branche voyageurs progresse d’année en année (+ 5,8 % en 2024).
L'extension signale les sites générés par IA, ainsi que les "noms de domaine proche visuellement (la proximité visuelle est obtenue par le fait que de nombreux systèmes d'écriture utilisent des caractères se ressemblant) d'un autre nom de domaine connu ».
A great explanation of how servo came to be and how is it developed now.
It highlights Rust advantages over C++ (massive parallelism, ...) and its independance. Servo is hosted under the Linux Foundation and managed openly by the Technical Steering Committee.
A webview (for android and apps) is currently built!
Recent developments: Incremental layout (computation optimisation), WebDriver support to automate the browser (and testing), SVG support and DevTools from Firefox
Plans: editability and interactivity enhancements, CSS Grid Layout support, Embedding API, initial accessibility support and performance improvements.
Long-term: leading embeddable web rendering engine ecosystem, powering innovative applications and framework, offering unparalleled performance, stability and modern web standards compliance.
All infos can be found on https://github.com/servo or https://servo.org/
Pas lu, mais ce sera utile pour plus tard.
one [idea] that I’m calling “just call clone (or alias)”. This proposal specializes the clone and alias methods so that, in a new edition, the compiler will (1) remove redundant or unnecessary calls (with a lint); and (2) automatically capture clones or aliases in move closures where needed.
Cela fait du bien d'avoir des sites de professionnels qui ne sont pas du tout versé dans l'informatique.
Faker again. T1 remporte les championnats du monde pour la sixième fois, c'est impressionnant de régularité.
Par sa popularité, la discipline est devenue une source de fierté nationale pour la Corée du Sud.
Similar to the Wayback Machine, but the user can here save their own URLs directly.
It takes a snapshot of a web page that will remain online even if the original page disappears.It saves the text and a graphic copy of the page for greater accuracy.It also shortens URLs, just like tinyurl, goo.gl, and bit.ly.
Le site obtient de l'attention puisqu'il y a un warrant, publié par l'auteur d'archive.is (ce qui est illégal) sur Twitter.
Il l'a publié au contraire du concept du canari.
Pour ceux qui ne connaitraient pas encore le concept du canari, je vous l’explique en quelques mots. Un canari est un marqueur (un lien, un mot, un token, une phrase, une image…etc.) que vous mettez quelque part sur la toile et auquel vous ne touchez plus sauf si vous êtes compromis d’une manière ou d’une autre. ― https://korben.info/canary-tokens-outil-savoir-on-espionne.html
Voir l'article original https://hackread.com/fbi-wants-to-know-who-runs-archive-ph/
(via https://korben.info/fbi-archive-is-subpoena-canary-anonymat-2.html)
this is the key idea of Local First HTMX - you don’t have to render the HTML on the backend. You can build a “server” and compile it to WASM and run it in the browser. This would give you all the snappiness of a first class Javascript Local First SPA with none of the JS — well less of the JS.
There are obvious for me, but they are good.
I see some are totally useless for Rust in comparison. Both have different targets though. It is moreover awesome to see 100x improvements.
How CSS simplify scrollable images with
display: flex;
overflow-x: auto;
overscroll-behavior-inline: contain;
scroll-snap-type: inline mandatory;
scroll-behavior: smooth;
// On the images
scroll-snap-align: center;
contain: size;
place-self: stretch;
object-fit: cover;For the sanity of using web standards
It's full of insights
La méthode et le contenu en faveur de la ligne grande vitesse semble médiocre et la consultation en ligne est jugé "au rabais".
Le bilan carbone n'a pas été actualisé depuis 11 ans.
L'État et l'Union Européenne semble remettre en question cette ligne à grande vitesse.
How to disable all the LLM features
Une réaction suite à l'article de Whashington Post
Le dévoiement des cartes de fidélités qui font monter les prix pour les clients les plus fidèles.
J’entends souvent des lecteurs me demander pourquoi ils devraient se soucier de la surveillance. Voici une réponse : ce n’est pas seulement votre vie privée qui est en jeu. C’est votre portefeuille
Je reste toujours dubitatif sur ces affirmations, mais soit c'est une bonne nouvelle
Pour les utilisateurs de la distribution, cela ne devrait rien changer. Pour les développeurs en revanche, il y aura des travaux plus ou moins importants, car il faudra prévoir une chaine de compilation Rust fonctionnelle en plus des outils traditionnels comme GCC. En clair, la complexité va monter d’un cran, notamment sur les architectures moins courantes où le langage n’est pas bien supporté.
Rust utilise bien en effet LLVM, alors que la plupart des paquets sont compilés avec GCC.
Comme Rust vient livré avec des binaires précompilés, comment ce code peut être certifié
Ce sujet rappelle x/Wayland, initd/systemd, IPv4/v6.
Les commentaires de l'article sont bien pertinents!
Les tickets en carton peuvent être numérisé en agence ou point d'accueil jusqu'en juin 2026.
A P2P database
How Rust differs compared to other programming languages and why it's efficient.
The economy is important because we don’t care enough about one another and our environment.
If we did, we would figure out how to treat each other well, how to grow individually and collectively, and how to take care of our environment in the process. With or without “the economy.”
Instead, we’ve focused so much on property and trade and money and economics and got so accustomed to money as something we can exchange into anything we want, that we've forgotten both what we need (like healthy communities and a healthy environment) and that alternatives exist.
With property, trade, money, economics having long been ubiquitous and all everyone ever worries and talks about, we have nearly fully alienated ourselves from each other.
Add to this our crisis of trust and truth, and we end up with a vicious circle: Because we’re increasingly alienated from each other, we find even more solace in money as the means to exchange it into anything we need or think we need.
The world is literally heating up in consequence.
What’s the answer?
Revue des différents moyens de protéger son serveur contre les bots IA.
- Keep things short and remove filler content
- Don't ask for too much.
- Presume people are busy.
- If a request blocks you, you're asking too late.
- Absolutely never make it personal.
- Be descriptive and don't presume prior knowledge.
Examples are provided after these rules.
Les entreprises d'IA majoritaires gèrent l'infrastructure et le développement de l'IA. Cela profite aux monopoles, et aux États-Unis. Même si d'autres entreprises émergent, les
Les IA sont instables, puisqu'elles ne peuvent permettre la confidentialité des données traitées. Le cas de Signal est pris en exemple: l'agent peut divulguer des messages confidentiels s'il y a accès.
Les entreprises d'IA sont valorisées, mais elles ne font aucun bénéfices.
Que faire? Premièrement, appliquer le RGPD.
Et pendant le prix
Bruxelles défend la concurrence, alors qu'elle saborde EDF.
EDF a racheté sa propre électricité a prix fort à ses concurrents qu'elle leur a vendu au rabais pendant la crise de la Covid.
L'Arenh hydroélectrique est aussi ajouté: 30% de la production hydroélectrique doit être revendu.
A scroll-driven experience
La portée symbolique est grande.
Another post about semantic HTML, or the UX of HTML with <button>
How to serve typescript file?
Using a proxy mounted on a route that did a passthrough to a vite front-end app And in production we switched out that proxy for a StaticDir.
I use vite. In development vite dev server proxies requests to (axum) backend, for production vite compiles the frontend bits into a bundle that can be served by axum in a specific route. I'm sure ServeDir would work with this setup, but I actually include the bundle in my executable with a small macro which makes deployments stupid simple.
The devlog
https://plok.sh/harmoneer/taman
Taman is a TUI Pomodoro productivity app where your focus sessions literally grow plants!
Testing sucks because you try to test implementation details. This results in you writing tests to pass your code. That’s not useful, because…
Instead, you should…
- Write an empty test, with one comment for each external behavior your code should display.
- Write the code to test each comment below it.
- Then write the actual code to make it so.
Comment fonctionne donc le paiement par carte bancaire en 14 minutes
Inconsistencies spotted. The URL scheme are hidden or displayed without clear rules
It uses an S3 bucket for it.
les chercheurs ont réussi à fabriquer une substance dont la densité est inférieure à celle de l’hélium et à peine supérieure à celle de l’hydrogène. Cet exploit ne se limite pas à un simple record inscrit dans les livres d’histoire ; il ouvre la porte à des révolutions technologiques concrètes, allant de la dépollution des océans à la conception des batteries du futur, en passant par l’isolation des prochaines missions martiennes.
Sa structure est un motif hexagonal parfait de l'épaisseur d'un seul atome.
Cette configuration bidimensionnelle confère au graphène des propriétés extraordinaires : il est extrêmement conducteur, flexible et théoriquement deux cents fois plus résistant que l’acier à poids égal.
Grâce à l'Université du Zhejiang en Chine, la méthode de liophilisation puis de sublimation permet d'obtenir une mousse de carbone pur, ayant une densité de 0.16 milligramme par centimètre cube (à comparer avec la densité de l'air ambiant de 1.2 milligramme); soit sept fois plus léger.
Le matériau est élastique, comprimable jusqu'à 80% son volume initial. Il peut absorber les chocs, donc ce serait un matériau très pertinent pour l'industrie aérospatiale.
Au vu de sa structure, ce serait aussi un isolant excellent.
Le matériau est hydrophobe mais lipophile: il peut donc attirer les huils et hydrocarbures. [...] Un gramme d’aérogel de graphène peut absorber jusqu’à 900 fois son propre poids en pétrole.
Il semble aussi intéressant pour stocker l'énergie en allégeant le poids des batteries. De même en biomédecine, le matériau pourrait être utilisé comme "échafaudage" pour faire crôitre des cellules osseuses ou nerveuses.
Le principal frein du matériau est le coût de production, mais le procédé de fabrication semble s'industrialiser.
Il représente le taux d'empoi et de pauvreté entre 2014 et 2024. Le taux de pauvreté en France a augmenté alors que le taux d'emploi aussi!
En réalité, entre 2014 et 2024, le taux d’emploi en France a grimpé pendant que le taux de pauvreté – les ménages qui vivent avec un revenu inférieur à 60% du revenu médian – a augmenté.
Notamment le CICE qui a coûté 2000 milliards pour rien en contrepartie.
Encore une fois, il manque la source et la manière dont le graphique a été produit.
Ok il est sur le site de l'OFCE https://www.ofce.fr/blog2024/fr/2025/20251125_PIM/index.html
A project to rewrite Minecraft in Rust.
They were a few attempts https://dayssincelastrustmcserver.com/
Gaming on Linux has never been easier and Windows is tiring (OneDrive push, Recall, Cortana and AI, Office 365 subscriptions)
Les retraités sont une cible privilégiée sur Internet
The family model is currently hard to sustain in our society. Can we have other models?
Unfortunately, it’s 2025, AI is spreading like glitter in a kindergarten, and it’s really easy to mistake hard human labor for soulless, uninspired machine slop.
Every compiled language seems hard to be used during code interview: here the compiler was an old version. Rust does not help with prototyping though as the emphasize is on correctness.
Les gros bras du RN voulaient éviter à tout prix que des images de cette contestation ne sortent. Ils ont exfiltré Bardella loin des caméras et ont braqué des flashs et lampes torches vers les journalistes présents pour les empêcher de filmer. Libération raconte que les agents de sécurité criaient «Pas de photo !» et cachaient les objectifs avec leurs mains, tout en mettant un parapluie devant Bardella.
La tendance va être de fournir
J'avais déjà en 2017 l'idée de fournir des modèles de machine learning sur une place de marché, à la HuggingFace.
Cela arrivera sûrement pour les TRM (cf: https://shaarli.lyokolux.space/shaare/to_oAQ)
That's another way to generate RSS feeds from a source of content.
The project: https://crates.io/crates/mdbook-rss-feed
So it's not possible to verify 100% that the file is correctly written after calling close on the file handler.
NPM packages are attacked again. The first infected package is go-template then hundreds. The most major ones are Zapier, ENS, AsyncAPI, PostHog, Browserbase, and Postman.'
Other source: https://www.stepsecurity.io/blog/sha1-hulud-the-second-coming-zapier-ens-domains-and-other-prominent-npm-packages-compromised
So it took 21 years. Better later than never!
Cooking a search engine in one weekend (from an experienced developer). It's basic but does the work for 1000 documents.
Ratatui running on the R36S console (gameboy advanced).
A list of all TLD
Boost your productivity with OmniTools, the ultimate toolkit for getting things done quickly! Access thousands of user-friendly utilities for editing images, text, lists, and data, all directly from your browser.
How to avoid "software rot"? The author describes three pillars:
- Foundations: the first decisions we make, that all other decisions are laid upon. These are the ground upon which all other battles are fought - and here, hours of research and thinking can save months of future engineering work. Mistakes here compound like little else in the game.
- Workflow: The environment in which the codebase has space to grow and be changed, and the digital and human I/O that enables that.
- Maintenance: The energy, time and will that must be reserved for the ongoing care, support and security of the platform.
- choose boring technology
- automate the tedious or repetitive
- good leadership is crucial
- make it easy to do the right thing
- reward clarity in code and communication
- make it easy to recover from disaster
- take external dependencies seriously, thoughtfully and defensively
- build a team that feels co-operation is a superpower
- technical debt is a strategy
Une introduction afin de publier son premier site web en ligne
In comparison to the cloudflare outage, text files are robust
Only an unwrap() caused the outage ?!
With Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one
Alternative text: four values Trust Partnership Innovation Performance are in a bubble. There is a tiny small overlap with a bubble containing "OUR VALUES". A logo and inscription at the bottom right Thomson Reuters.
The original goal was to share the four values, but the appearance split both these values and Thomson Reuters value. A fail.
Against toast notifications
The small libraries will disappear. The one function util libraries can be generated by AI.
A pythonic programming language written in Rust
On définit le but : est-ce que c'est pour expliquer, guider, ou juste faire plaisir ?
On pense à la fréquence : plus c'est utilisé, moins ça doit bouger
On reste rapide, toujours sous les 300 ms
On donne le contrôle, en respectant toujours les préférences de la personne qui utilise l'interface.
L’enjeu est d’autant plus important que Hornetsecurity avait racheté l’année dernière le français Vade(secure) afin de « poursuivre son développement au sein d'un écosystème européen de la cybersécurité », rappelle le sénateur Mickaël Vallet… Tout cela donc pour se faire manger quelques mois plus tard par un américain.
🤦♂️
8% des entreprises de la french tech administrent leurs mails en France, et11.8% en Europe.
Rank success based on the Bluesky
Baseline acts as a flag that tells this feature is supported across browsers.
But there is a few critics:
- Baseline doesn’t take all the browsers they need to support into account
- The safest Baseline stage — Baseline Widely Available — doesn’t cover old enough browser versions, which they still support
- Baseline says nothing about whether a web feature comes with accessibility challenges or no
- Baseline doesn’t tell web developers if it is OK to use a feature that’s not Baseline yet, perhaps as a progressive enhancement, or by using a polyfill.
Here are the definition of a traffic light-style:
- Not Baseline, if a feature is not yet supported on Chrome (desktop and Android), Safari (macOS and iOS), Edge, Firefox (desktop and Android)
- Baseline Newly Available, if it’s supported on the above browsers
- Baseline Widely Available, if it’s been supported on the above browsers for more than 2.5 years
Perfecting baseline: accessibility, flag progressive enhancement, polyfills and best practices; extend browsers and browsers versions to allow configure which (other) browsers should be taken into account.
L'OS eat lourd.
Il essaie de s'adapter à tous le monde, en guidant les utilisateurs, mais ne permet pas d'avoir le contrôle.
Les suggestions d'applications et les publicités sont indésirables.
L'OS pousse pour mettre de l'IA partout.
TRM signifie Tiny Recursive Models.
En mettant à jour sa réponse et en réfléchissant récursivement à propos de sa réponse, il est possible d’enlever des erreurs du model [sur un token et éviter sa propagation].
En comparaison, "le TRM dispose de 10 000 fois moins de paramètres qu’un LLM classique et est 1000 fois plus rapide."
Inscrire son téléphone afin de bloquer les appels publicitaires (selon la loi).
Après 30 jours, il est aussi possible de signaler les numéros téléphoniques.
An example of semantic class names and a teaser on server of Kelp to have dynamic HTML through WebComponents.
So RSS won't be supported anymore and other formats too.
Only the web HTML + CSS + JS will remain and Chrome is pushing implementations at a faster pace that the other browsers can not . There is effectively an attempt to capture the web by Google.
I remember the library for XLST used in browsers is not maintained by the big corporations. Ah it's LibXML.
The depreciation notice: https://groups.google.com/a/chromium.org/g/blink-dev/c/CxL4gYZeSJA/m/yNs4EsD5AQAJ
Ah yes, a maintainability thing "Chromium uses the libxslt library to process these transformations, and libxslt was unmaintained for ~6 months of 2025".
Usage of the JS XSLTProcessor API is fairly volatile, registering somewhere between 0.01% and 0.1% of page loads, averaging around 0.05% over time. These numbers are above the typical 0.001% deprecation threshold. Again, we feel that the increased potential for breakage is balanced by the reduced security risk to 100% of Chromium users.
It's for security reason? XSLT users hacked are 0. Where are the security vulnerability?
and the use of AI on the codebase. KeepassXC rules are clear for AI usage:
- As an additional pair of “eyes” in code reviews.
- For creating pull requests that solve simple and focused issues, add boilerplate code and test cases.
Comment a été organisé l'évènement Cloud Nord.
Les vidéos de l'évènement sont disponibles sur Youtube : https://www.youtube.com/playlist?list=PLVQhat0Bx0WB-fhbbQ0bQkhfTLAZIU2IU
A new API that aims to improve the history API
L'IA a des résultats relatifs ou décevant et elle fait disparaître la solitude, pourtant nécessaire au développement intellectuel.
Similar to neocities <3
Waayyy tooo coool checkboxes as switch
Pour les ports USB A:
- Blanc = USB 1.0 / 12Mbps
- Noir = USB 2.0 / 480Mbps
- Jaune = USB 2.0/3.0 + toujours alimentés même sur une machine éteinte
- Orange = USB 3.0 + toujours alimentés même sur une machine éteinte
- Bleu = USB 3.0 Superspeed / 5Gbps
- Turquoise = USB 3.1 / 10 Gbps
- Rouge = USB 3.1 Gen 2 / 10-20 Gbps + toujours alimentés même sur une machine éteinte
Un récapitulatif de https://www.corsair.com/fr/fr/explorer/diy-builder/storage/usb-port-colors-explained/
(via https://warriordudimanche.net/article2158/690a61e2d507b)
Tips and tricks for view transition
In my opinion, the best cases for implementing view transitions are as a way to draw attention to an element, convey movement, and help users remain in context.
Add it to all pages to apply a default cross fade transition.
@view-transition {
navigation: auto;
}
Then mark similar content with the view-transition-name css property.
Custom view transitions can be made with ::view-transition-old, ::view-transition-new, ::view-transition-image-pair.
Full page transition can be done by marking :root.
These transitions should be set only when the media query prefers-reduced-motion is set to no-preference.
Embedded systems:
- Embassy for async Rust
- Heapless for statically-allocated data structures or allocate as much as possible on the stack
- Patina implements the UEFI interface
Operating systems:
- Rust for Linux
- Android with firmware, virtualization framework and other os features
Runtime and virtualization
- Firecracker
- Deno as JS runtime and it proved that in just a fraction of the time and developers, Deno already has shipped way more features than Node.js.
Cross platform apps
Dropbox, Element (matric Chat), Ditte and others also uses Rust.
Databases
- Neon uses a single S3-compatible storage as its backend. It complicates Postgres' monolithic architecture but it also solves many of its problems: read-replicas now uses a single source of truth instead of (error-prone) replication; slow and expensive networked storage are not needed anymore to get a highly-available database and upscaling or downscaling is a matter of spawning a new container/microVM
- Datafusion is an extensible query engine that allows data engineers to query data sources from Rust or Python with a high level interface, or build data systems using it as their query layer to build and optimize query plans. See the projects build with it!
- [Turso] is an embedded, SQLite-compatible database written in rust. It's fully open source compared to the private test suits of SQLite. It solves many SQLite pain points: easy database encryption, concurrent writes, async I/O, updating the schema and more.
Servers: the author project Pingoo
As mentioned earlier, one of the many interesting things that Rust enables, is to reuse patterns from the embedded world, such as eliminating heap allocations to be as performant as possible
A rust fund is created to support maintainers. The article don't explain how though.
The browser behavior in quirk mode.
One reason is there is a lot of Javascript running in the browser.
- Indexing into a vector: prefer better pattern matching or raw array with index safety instead
- Lazy use of
Default: initialize all fields instead - Avoid fragile trait implementations that pass silently on changes
Fromtraits must be infaillible, useTryFromif any error can occur. Make it explicit.- Avoid non-exchaustive matches (with
_ =>) - Use decriptive names for unused variables with the
_placeholder. - Avoid temporary mutability and make it explicit instead:
let mut data = ....; .... ; let data = data - Defensively handle constructors with
#[non_exhaustive], so creating an raw instance of a struct should be prohibited outside constructor functions. - Use
#[must_use]to avoid unused instance of the struct. - Avoid boolean parameters and in case of need, prefer enums.
- Use Clippy lints:
- clippy::indexing_slicing
- clippy::fallible_impl_from
- clippy::wildcard_enum_match_arm
- clippy::unneeded_field_pattern
- clippy::fn_params_execussive_bools
JSON module imports became baseline: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import/with:
import data from './data.json' with { type: 'json' };
and lazy-load it with:
const { default: data } = await import('./data.json', {
with: { type: 'json' },
});
It makes sense to use JSON module imports for local static JSON resources where you need all/most of the data within. Particularly since bundlers can understand JSON imports, and bundle the object with other modules. That isn't possible with fetch(), unless you use some pretty hacky plugins.
Generally, I try to turn any "fetch-and-process" logic into a Vite/Rollup plugin, so it happens at build time rather than runtime.
Cache-Group-Invalidation invalidate a cache by name.
Pour maximiser la réutilisation et la transparence, tout logiciel développé conjointement est par défaut publié sous licence libre et open source.
It was one of those moments where something you once knew suddenly clicks again with fresh significance. Here was a URL doing far more than just pointing to a page. It was storing state, encoding intent, and making my entire setup shareable and recoverable. No database. No cookies. No localStorage. Just a URL.
Good candidates for URL state:
- Search queries and filters
- Pagination and sorting
- View modes (list/grid, dark/light)
- Date ranges and time periods
- Selected items or active tabs
- UI configuration that affects content
- Feature flags and A/B test variants --> I never though about this one
Anti-Patterns to avoid:
- state only in memory SPAs
- sensitive Data in URLs
- inconsistent or opaque naming
- overloading URLs with complex state
- breaking the back button