Daily Shaarli

All links of one day in a single page.

October 19, 2025

A Q&A with JavaScript for Everyone author, Mat Marquis - Piccalilli

Why Piccalilli: I’m going to side with an independent publisher every single time.

video just isn’t the water we developers swim in every day. Far as I’m concerned, learning JavaScript hinges on being able to try stuff out for yourself: copy a snippet of code, chuck it into your dev console, see what happens; move a semicolon to see how it breaks.

How a beginner should make websites? Learn to write good HTML. Learn the medium instead of the tooling (raw JS instead of a framework).

That excites Mat Marquis about the web? The comeback of web brutalism, small web, etc...
https://strange.website/
https://www.weatherishappening.com/
https://solar.lowtechmagazine.com/
https://scott.is/

Know your neighbors | Go Make Things

To help:

Do mutual aid
Post on your local Buy Nothing project group what you can offer
Join Food Not Bombs
Start a Free Pantry: reach out to local grocery stores and ask if you can take the stuff they're about to throw out.

Start using Scroll-driven animations today! | Blog Cyd Stumpel

It's not available in Firefox yet.

Amazing Web Portfolios
Common misconceptions about screen readers - TetraLogical

Misconceptions:

  1. only blind people use screen readers
  2. people use screen readers in the same way
  3. all screen readers work in the same way
  4. building a screen reader specific version of a website or app is a good idea
  5. screen reader users don't care about images
  6. screen reader users need instructions on all content
  7. all content must be focusable to work with screen readers
Overlay Fact Sheet

The overlays for accessibility are often wrong.

Utiliser Coolify et Nuxt en multi tenant avec des sous-domaines dynamiques
Pourquoi Yaël Braun-Pivet appelle à taxer davantage les héritages

Le sentiment d'injustice est encore alimenté par le fait que la part de l'héritage dans le patrimoine ne cesse d'augmenter : aujourd'hui cette part est de 60% alors que dans les années 1970, c'était 35%.

L'héritage reste pour les Français chargé symboliquement. C'est rarement juste des euros ou une maison, l'héritage renvoie souvent au travail de toute une vie, à des sacrifices des générations précédentes.

L'idée serait donc de taxer les plus gros héritages, notamment ceux qui parviennent à contourner l'impôt, via des systèmes d'optimisation fiscale, de donations, d'assurances vie ou des holdings patrimoniales. Reste à savoir où mettre le curseur car, aujourd'hui, la plupart des héritages - en tout cas pour les transmissions directes - bénéficient d'un abattement de 100 000 euros. De fait, 85% des héritages ne sont pas imposés.

GitHub - nside/sqlite2rest: Automatic RESTful OpenAPI server from a SQLite database.

A nice python project.

What is the use of `!` as return type in Rust? - Stack Overflow

It marks the function as never returning.

In comparison, the unit type () returns at least a value.

A Human on a Bicycle Is among the Most Efficient Forms of Travel in the Animal Kingdom | Scientific American

TL;DR; "Humans aren’t very efficient movers—until you put us on a bicycle, when we become some of the most energy-efficient land travelers in the animal kingdom."

output: HTML's native live region element | scottohara.me

The content is similar to The HTML Output Element from Matthias Ott or HTML’s Best Kept Secret: The Tag — Den Odell.

They advocate for better usage of <output> instead of aria attributes. Let's use native instead of ARIA!

A web editor for "Lamé curves"

Ok, the website has an editor built-in to change the source code. Why? Because @TheRealPomax@mastodon.social can.

(via https://mastodon.social/@TheRealPomax/115387167941878142)

Madcollector : « Bonjour! » - retro.pizza

"Speak english", "Speak understable English" and "Bonjour" on a European map

Post by BOFH Excuses, @bofh_excuses@gts.chapek9.com

T-1's congested due to porn traffic to the news server.

Always porn traffic or DDoS.

Knowledge creates technical debt - lukeplant.me.uk

The term was coined to explain a deliberate process where you write software quickly to gain knowledge

"If you discover a better way to do things, the old way of doing it that is embedded in your code base is now “debt”:

  • you can either live with the debt, “paying interest” in the form of all the ways that it makes your code harder to work with;
  • or you can “pay down” the debt by fixing all the code in light of your new knowledge, which takes up front resources which could have been spent on something else, but hopefully will make sense in the long term.

Technical debt isn’t just bad code—it represents the lessons you’ve learned about how to build software better. Refactoring isn’t “paying off a debt,” but investing in applying that knowledge. Ignoring it wastes what you’ve learned and, over time, leads to lost value and competitive disadvantage compared to those who actively improve their code.

Can I really say “we now know” that the existing code is inferior? Is it true that fixing the code is “investing my knowledge”?

I am sorry, but everyone is getting syntax highlighting wrong @ tonsky.me

The problem with that is, if everything is highlighted, nothing stands out.

Broken syntax should not be highlighted too. So Tonsky recommends to

Highlight names and constants. Grey out punctuation. Don’t highlight language keywords.

and because developers are not payed to the line of code anymore, "Comments should be highlighted, not hidden away."

Many developers prefer the dark mode because the dark mode can have less vibrant colors.

I suspect that the only reason we don’t see more restrained color themes is that people never really thought about it.

Comment réagir face à un voisin qui fait des travaux… sans autorisation ? - UNPI 35 Millions de Propriétaires
Eugénisme — Wikipédia

L’eugénisme est « l’ensemble des méthodes et pratiques visant à sélectionner le patrimoine génétique de l’espèce humaine. Il peut être le fruit d’une politique délibérément menée par un État et contraire à la dignité humaine. Il peut aussi être le résultat collectif d’une somme de décisions individuelles convergentes prises par les futurs parents, dans une société où primerait la recherche de l’« enfant parfait »

Henry Ford's horse problem wasn't about imagination | Anton Sten

The issue isn’t that people asked for faster horses. It’s that “What do you want?” is a terrible research question.

Ask these instead:

  • What’s frustrating about traveling with your horse?
  • Tell me about the last time you needed to go somewhere far away.
  • What stops you from traveling more often?
  • How does weather affect your trips?

Good research uncovers problems. It reveals pain points. It helps you understand what people are actually struggling with in their daily lives. What they’re working around. What they’ve given up on entirely.

Here’s the irony: the same people who quote Henry Ford to avoid user research are now using AI to build products faster than ever.

How to understand users?

  • ask about the past, not the future
  • focus on behavior, not opinions.
  • dig into the why
  • listen for emotion
Reading and Writing Files in Node.js - The Complete Modern Guide

Note: "The key insight is that loading massive files into memory all at once is rarely a good idea, even when technically possible."

  1. Read the whole file and call it a day with fs.readFile
  2. Read by byte chunks with file handles and buffers
  3. (preferred) Use stream

The streams handle the bytes and UTF-8 encoding automatically. Each state can be defined with a callback: error, data, end.
Use appropriate buffer sizes for streams. Default is 64kB. The highWaterMark can adjust it though.

When to use streams: large files, real time data processing, memory is limited, composability, unknown file sizes.
When to use file handles: precise control.
When to use fs/promises: known small files. readFileSync() and writeFileSync() are acceptable for cli tools and scripts, but forbidden for web servers and concurrent apps.

Prefer Promise.all or Promise.allSettled to leverage concurrency.

Handle specific errors. Always. await handle.close() or stream.on('error', () => stream.destroy()). Another solution is await pipeline(source, transform, destinationl)

GitHub - willcrichton/flowistry: Flowistry is an IDE plugin for Rust that helps you focus on relevant code.
Téléphonie mobile : cinq ans après son arrivée en France, la 5G n’a pas révolutionné les usages
Parrains et Marraines Linux
Jean-Baptiste 1.2.Train: "300 billets par jour pendant 289 jours, c'est le …" - Mastodon

300 billets par jour pendant 289 jours, c'est le minimum pour être rentable face à des géants en 2025.

Afin que 1.2. Train devienne rentable.

Le développeur évite de pousser à l'échelle, d'obtenir des investissements, mais de continuer le développement.

Il n'y a jamais eu autant besoin d'un site spécialiste qui ne fait qu'une seule chose. Du billet de train et uniquement du billet de train.

GitHub - RazrFalcon/cargo-bloat: Find out what takes most of the space in your executable.
Automerge - Version control for your data

Automerge is a local-first sync engine for multiplayer apps that works offline, prevents conflicts, and runs fast.

46 JavaScript Background Effects | FreeFrontend

A collection of background effects.

Feed me up, Scotty! | Feed me up, Scotty!

RSS feeds for arbitrary websites, using CSS selectors.

So the project generates RSS feeds and populate items in it from CSS selectors. It can definitely be useful.

DuckDuckGo

A minimalistic UI and a minimal page weight

DuckDuckGo

An HTML and CSS only version of the search engine.

“Une première victoire” : Polytechnique claque la porte à Microsoft 365 et choisit le logiciel libre, la révolte gagne les universités - Les Numériques

le modèle même des solutions cloud assujetties au droit extraterritorial américain est structurellement incompatible avec le droit européen et la sauvegarde de nos intérêts économiques et stratégiques.

En migrant vers l'écosystème Microsoft, Polytechnique s'exposait frontalement au droit extraterritorial américain - Cloud Act et FISA en tête - transformant de facto les données de la recherche française en gibier potentiel pour les services de renseignement d'outre-Atlantique. Plus embarrassant encore : cette migration contrevenait explicitement à l'article L123-4-1 du Code de l'éducation, qui impose l'usage prioritaire des logiciels libres dans l'enseignement supérieur.

GitHub - Ocramius/experimenting-with-rust-php-extensions: Proprietary playground for trying out PHP extensions in Rust, with a 100% reproducible build infrastructure

A work to use rust build as PHP extension

The world is something that we make | Terminal

The poisonous tumour installed in my brain by a decade of reading about Silicon Valley always thinks 'this is a business that can never scale' and it's like well yes that is the fucking point actual

In short, I am now trying really hard to spend my money in ways that I hope will affect and improve the world around me both for myself and for others. None of us can do it alone. But I think there is hope if we do it together.

I haven't been talked down to by anybody else who is also making their own gentle change. The same way that you rarely get shit on by somebody doing better than you at anything.

The Great Software Quality Collapse: How We Normalized Catastrophe

But the real pattern is more disturbing. Our research found:

  • AI-generated code contains 322% more security vulnerabilities
  • 45% of all AI-generated code has exploitable flaws
  • Junior developers using AI cause damage 4x faster than without it
  • 70% of hiring managers trust AI output more than junior developer code

The physics of software collapse:

  • Modern software is built on towers of abstractions, each one making development "easier" while adding overhead. Each layer adds only 20-30% but it compounds a handful and the overhead becomes 2-6x for the same behavior.
  • Energy is not infinite
  • More money goes to infrastructure to support the grow. GAFAM are spending 30% of revenue on infrastructure (historically 12.5%).
  • Senior developers won't exists if one can never be junior for a start

Shifting the priorities:

  • when is a calculator leaking 32GB normal?
  • why do we trust AI-generated code more than junior developers?
  • how many abstraction layers are actually necessary?
  • what happens when we can't buy our way out anymore?

The author describes a path forward and describe each points:

  • Accept that quality matters more than velocity.
  • Measure actual resource usage, not features shipped.
  • Make efficiency a promotion criterion.
  • Stop hiding behind abstractions.
  • Tech fundamental engineering principales again.
Accessibility Awareness: "One way sighted people can determine what to put …" - disabled.social

One way sighted people can determine what to put in alt text: Imagine you sent the post or article to a friend, and the image didn't load. What would someone need to know to get the equivalent experience and context? This will help you identify the important details.

The HTML Output Element · Matthias Ott

Under accessibility, but this tag should be the norm

Dsens : « note ajoutée... j'ai changé l'imagela police de… » - Mastodon.top

Pourquoi donner des milliards d'aides d'État aux entreprises privées ?

Alors qu'on pourrait simplement les applaudir à 20h tous les soirs !

Cela a tellement bien marché pour le personnel soignant.

GitHub - AlexEne/twiggy: Twiggy🌱 is a code size profiler
HTTP Archive: Tech Report

Starlight has the best core web vital in A11y and SEO compared to MkDocs, Sphinx, VitePress, Nextra, GitBook, Docusaurus, Docsify.

Owlor : « Map of the fediverse » - meow.social - the meowstodon instance for creatures fluffy, scaly and otherwise

A venn diagramm of the fediverse:

  • Furries
  • Computer Science
  • Hackers
  • Furries + Computer Science = Musicians
  • Computer Science + Hackers = Computer Art
  • Hackers + Furries = LGBTQI+
  • LGBTQI+ + Computer Art + Musicians = Demoscene
An open letter to the Obsidian team

There is no safeguard for malicious plugin updates.

and plugins are one key feature of Obsidian: "Users stayed for the amazing selection of plugins, themes, and the community built around it."