Daily Shaarli

All links of one day in a single page.

September 28, 2025

JSON is not JSON Across Languages | <span class="text-terminal-purple">Dochia</span> CLI Blog

The parsers are different in JS, Python, Go and Java.

Number are not precise:

  • MAX_SAFE_INTEGER limits the number. Twitter had to use an `id_str.
  • decimal precision is unreliable (in JS) --> always use dedicated decimal types (Python’s Decimal, Java’s BigDecimal, JavaScript’s decimal libraries)
  • UTF-8 encoding in JSON allow single unicode code points or composed ones. Use .normalize("NFC") for JS strings.
  • the object key order should be alphabetically in JSON.
  • Different languages handle absence of values (undefined, null or a missing property) differently.
  • No time format is official, so it's always custom:
    {
    "iso_string": "2023-01-15T10:30:00.000Z",
    "unix_timestamp": 1673780200,
    "unix_milliseconds": 1673780200000,
    "date_only": "2023-01-15",
    "custom_format": "15/01/2023 10:30:00"
    }
  • Different parsers fail differently on malformed JSON.

The twitter example is only one. There is also postgres that stores the format as JSON and JSONB (normalized).
MongoDB uses an extended JSON format.

Workarounds:

  • Use Schema Validation!
  • custom normalisation function#:~:text=Normalize%20Data%20Types%3A%20Ender%E2%80%99s%20Data%20Normalization%20Game)
  • Tests! Numeric Precision Tests, Unicode and String Handling, Date and Time Consistency, Error Handling Uniformity, Cryptographic Consistency, Performance and Memory Behavior
"Les impôts m'ont dit combien mon voisin gagnait" : le fisc peut divulguer votre revenu et ce n'est pas interdit

Chacun peut aussi savoir à quel prix son voisin a acheté ou vendu son logement. Les données de chaque transaction immobilière sont en effet publiques et consultables sur le site des impôts : prix de vente, surface, date, etc.

L'article R111-1 du livre des procédures fiscales autorise l'obtention d'information sur l'impôt sur le revenu des contribuables.

Précisons d'abord qu'il ne s'agit pas de consulter le détail de la situation fiscale du contribuable mais seulement son quotient familial (nombre de parts), son revenu fiscal de référence et le montant de son impôt. Impossible donc d'accéder aux différents revenus professionnels ou financiers.
Précisons ensuite que ces informations ne sont pas consultables à distance mais au contraire simplement données oralement... Il faut se déplacer dans les bureaux de la direction départementale ou régionale des finances publiques dont dépend le contribuable concerné. Et aussi et surtout, on ne peut consulter que le dossier des contribuables domiciliés dans le même département, dépendant donc de la même direction départementale. Arnaud B. a dû ainsi signer une demande écrite et un engagement de confidentialité, et produire un justificatif d'identité et de domiciliation.

Deutsche Bank Issues Grim Warning for AI Industry

“AI machines — in quite a literal sense — appear to be saving the US economy right now,” Deutsche Bank head of FX Research George Saravelos wrote to clients. “In the absence of tech-related spending, the US would be close to, or in, recession this year.”

Others remain more optimistic, with Goldman Sachs arguing that productivity gains thanks to AI adoption could ultimately boost the economy, according to a note to clients seen by Fortune.

It's still a bet.

Concerns are more solid with https://futurism.com/ai-agents-failing-companies and https://hbr.org/2025/09/ai-generated-workslop-is-destroying-productivity

and concentration in the S&P 500 and equity investors https://www.apolloacademy.com/equity-investors-are-dramatically-over-exposed-to-ai/

Browse Components · Quiet UI
What You Need to Know about Modern CSS (2025 Edition) – Frontend Masters Blog

A great summary

Wasm 3.0 Completed - WebAssembly
  • 64-bit address space (not limited to 4GB anymore)
  • multiple memories
  • garbage collection
  • typed references
  • tail calls (optimisation)
  • exception handling
  • relaxed vector instructions (?)
  • deterministic profile (?)
  • custom annotation syntax (?)
A tiny bit-o-CSS for Stable Scrollbar Gutters—zachleat.com

To show scrollbars only when they’re needed (while keeping space for the scrollbar if it’s added later) use the scrollbar-gutter CSS property: https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter

Note it's baseline 2024, so it's useful to hide it behind the @supports media query.

C'est confirmé : Macron voulait gouverner avec le RN en lançant une dissolution
Red vs. Black

A red employee enjoys obeying the rules and climbs up the career ladder by making the boss happy. To the contrary, a black employee, while understanding the inevitability, despises the necessity to obey.

In any large organization, reds will always dominate—it’s inevitable. The system needs them, and they thrive inside it. [...] If you are black, don’t waste energy trying to convert or fight the reds. You won’t win. The only strategy is distance.

MedGPT, l’IA médicale française, basée sur des sources fiables.
Breakpoint: Individuell uniform

Alle uniform.

Evaluation of area based socioeconomic inequalities and neonatal mortality rates in France: national population based study | BMJ Medicine

Moins d'argent dans la santé publique, et voici une étude qui confirme des décès plus élevé chez les 40% les moins favorisés.

In this study, the socioeconomic level of the mother's place of residence was strongly associated with the neonatal mortality rate. The data showed that inequalities have widened, contributing to the increase in the neonatal mortality rate.

GitHub - docusealco/docuseal: Open source DocuSign alternative. Create, fill, and sign digital documents ✍️

DocuSeal is an open source platform that provides secure and efficient digital document signing and processing. Create PDF forms to have them filled and signed online on any device with an easy-to-use, mobile-optimized web tool.

Small Data
  1. Organizations don't use that much data.

Of queries that scan at least 1 MB, the median query scans about 100 MB. The 99.9th percentile query scans about 300 GB.

but 99.9% of real world queries could run on a single large node.

I did the analysis for this post using DuckDB, and it can scan the entire 11 GB Snowflake query sample on my Mac Studio in a few seconds.

When we think about new database architectures, we’re hypnotized by scaling limits. If it can’t handle petabytes, or at least terabytes, it’s not in the conversation. But most applications will never see a terabyte of data, even if they’re successful. We’re using jackhammers to drive finish nails.

As an industry, we’ve become absolutely obsessed with “scale”. Seemingly at the expense of all else, like simplicity, ease of maintenance, and reducing developer cognitive load

Years it takes to get to 10x:
10% -> ~ 24y
50% -> ~ 5.7y
200% -> ~ 2.10y

Scaling is also a luxurious issue in many cases: it means the business runs well.

  1. Hardware is getting really, really good

In the last decade:
SSDs got ~5.6x cheaper, 30x more on a single SSD and 11x faster in sequential reads and 18x in radom reads.
CPUs core count went up 2.6x, price went down at least 5x per core, each Turin core is also probably 2x-2.5x faster.

Distributed systems are also overkill as hardware progresses faster.

Malicious Rust packages on Crates.io steal crypto wallet keys

Another supply-chain attack

VanJS - A 1.0kB No-JSX Framework Based on Vanilla JavaScript

A react like component.

Reusable components can be just pure vanilla JavaScript functions.

Simplicity at its core. Only 5 functions (van.tags, van.add, van.state, van.derive, van.hydrate). The entire tutorial plus the API reference is just one single web page, and can be learned within 1 hour for most developers.

« L’Espagne compte aujourd’hui, 2,3 millions d’emplois de plus qu’avant la pandémie » : comment le gouvernement de gauche a redressé l’économie nationale - L'Humanité
Trump announces H-1B visas will cost $100,000 per-year | The Verge

Ok. It will be hard for big techs to hire.

Clearly this new program would favor wealth over actual skills, though the Trump administration claims (without any data to back it up) that it will raise over $100 billion that it will use to pay down the debt and lower taxes.

Let's see.

Of course, with the national debt currently exceeding $37 trillion, and the federal government expected to add more than $2 trillion in 2025, any revenue raised by the gold card program or fees on H-1B visas would be insignificant.

Voiture électrique : que se passe-t-il lorsque la batterie est à 0 % ?

Il y a une réserve d'urgence de 15-20km, mais autant prévoir large bien avant et pour de potentiels imprévus

Linus Torvalds and the Supposedly “Garbage Code” – Giovanni Dicanio's Blog

#define MAKE_U32_FROM_TWO_U16(high, low) ( ((uint32_t)(high) << 16) | ((uint32_t)(low) & 0xFFFF) )

Dans les algorithmes | Pourquoi la Tech se fascise-t-elle ?

Je pose cela là.

A l’heure du capitalisme de la finitude, le rêve de puissance et de richesse reste entier pour beaucoup, oubliant que l’abondance est derrière nous, et que la solidarité et la justice nous proposent des vies bien plus fécondes que le seul argent.

SMSY-Gen02 | Award Winning Creative Graphics Engineer

An interactive world in 3D. Direct in the browser.

From Picallili: "The artwork, the motion and the physics are unbelievable. Stunning work."

The Web’s Most Tolerated Feature - Bocoup

After 25 years, the zoom property will get a spec.

Zoom affects the box model compared to tranform: scale()

everywhere.tools

Collection of open-source tools for designers & creatives

Weird Web October

Funny!

Weird Web October is a challenge to try and make a website every day of October, based on the theme for each day, inspired by Inktober. It’s open to you and everyone!

We want to bring back the WEIRD WEB. When people just put fun and silly stuff on the internet, not for followers or likes but just for the joy of making something and sharing it.

How? Read it!

I would do something under lyokolux.space :)

Politique fiscale : le RN fait tomber son masque social - POLITIS

Je pose cela ici.

L'article complet est disponible sur https://archive.is/tAeLS

Jeux vidéo : plus de 40 millions de joueurs en France, un record d'après une étude de Médiamétrie
  • 40 millions de joueurs de jeu vidéo en France.
  • 88% sont des adultes.
  • âge moyen : 40 ans.
  • 49% sont des femmes.

(via https://sebsauvage.net/links/?5_D14Q)

Microsoft Entra ID flaw allowed hijacking any company's tenant
OpenAI admits AI hallucinations are mathematically inevitable, not just engineering flaws – Computerworld
Alex Limi ⁂ Checkboxes that kill your product

What I do want to put the focus on, however, is that you have to perform an audit of your product every so often and see how the people using your product have changed, and what kind of functionality that made sense at the time may not make much sense anymore.

  • load images automatically
  • enable JS
  • turn-off the navigation toolbar
  • turning off SSL & TLS
  • certificate manager
  • override automatic cache management

The people that need to do these things should use add-ons, or at the very least an about:config tweak.

I would argue: it makes the configuration or preferences UI lightweight.

Zoxide : Une alternative intelligente à la commande cd - slash-root.fr

Un autre article sur la command z, aussi utilisé comme alias de cd

What is "good taste" in software engineering?

I think taste is the ability to adopt the set of engineering values that fit your current project.

map and filters looks good in JS for arrays, but they are absent in Golang for example. "[...] it would be far too arrogant for me to say that engineers who prefer for loops are simply less skilled. In many cases, they have technical capabilities that I don’t have. They just care about different things. In other words, our disagreement comes down to a difference in values."

About arguing the best solution:

Even if the big technical debates do have definite answers, no working software engineer is ever in a position to know what those answers are, because you can only fit so much experience into one career.

Almost every decision in software engineering is a tradeoff, and immature engineers are too inflexible about their taste.

The taste is a mix of priorities over resiliency, speed, readability, correctness, flexibility, portability, scalability and development speed. There are many other engineering values: elegance, modernness, use of open source, monetary cost of keeping the system running, and so on. All of these are important, but no engineer cares equally about all of these things.

A bad taste means values that are not a good fit for the project.

good taste is the ability to select the right set of engineering values for the particular technical problem you’re facing

Ubuntu 25.10's Move To Rust Coreutils Is Causing Major Breakage For Some Executables - Phoronix

Rust version of coreutils causes MD5 hashes in some algorithm to break.

Our Goals | TrailBase

A toolkit to bootstrap an application

AI Investment Is Starting to Look Like a Slush Fund
Là où la jeunesse fait vaciller le vieux monde - Basta!

« Pour la première fois dans l’histoire du pays, un mouvement de cette ampleur a été entièrement mené par des jeunes, de la génération Z, nés entre 1997 et 2012 environ. Sur près de 30 millions d’habitants au Népal, environ 40 % appartiennent à cette génération »

« Ayant grandi dans une culture numérique façonnée par Internet et les réseaux sociaux, cette génération a connu les pires années d’instabilité politique au Népal. Il y a eu 14 gouvernements au cours des 15 dernières années »

Parties de la capitale, des manifestations « contre les salaires et les allocations logement des législateurs qui sont près de dix fois supérieurs au salaire minimum à Jakarta se sont propagées dans tout le pays [...]

Cette astuce immobilière permet d'échapper aux frais de succession mais comporte un piège méconnu des parents

Les dispositifs permettant de défiscaliser la transmission de son patrimoine sont nombreux. On songe, par exemple, à l'abattement de 100 000 € sur les donations aux enfants qui s'applique tous les 15 ans.

Il y a aussi la donation avec réserve d'usufruit. Il s'agit de l'acte par lequel le donateur transmet la nue-propriété d'un bien tout en gardant le droit de l'utiliser et d'en percevoir les revenus.

Taking a shot at the double focus ring problem using modern CSS - Piccalilli

With box-shadow and a reset for outline.

The Best CSS Unit Might Be a Combination | OddBird

If I want to develop fluid type calculations that adapt to local context, I’ll use em and cqi (container inline size) values. If I want my calculations to remain consistent across the entire page, I’ll use rem and vi (viewport inline size) calculations. In either case, I’ll define those values on body or other elements – so that 1rem always refers to the result of our initial negotiation, and doesn’t take on more complex meaning.

For spacing on the y-axis, the line-height (lh) unit is great or the rlh (root line-height). The x-axis can be handled with the vi or cqi units.

The right units for any situation are the ones that express most clearly what we mean – and sometimes what we mean requires a combination of units.

There’s no best unit, no best layout mode, and no best selector. When we use the entire language, we have more tools for clearly expressing our goals.

See Poetic CSS Architecture

The Index - Piccalilli

Piccalilli shares links!

Transitioning from being a developer to a manager - Piccalilli
SimpleFold - Un labo de biologie moléculaire qui tourne sur un simple Macbook Pro | Intelligence artificielle | Le site de Korben

SimpleFold atteint 95% des performances d’AlphaFold2 tout en étant infiniment plus léger. En effet, AlphaFold nécessite des supercalculateurs avec des GPU à 20 000 balles pièce alors SimpleFold, lui tourne tranquille sur un MacBook Pro M2 avec 64GB de RAM.

Et c’est super cool parce que prédire la structure d’une protéine, c’est pas juste un truc de geek pour s’amuser. C’est LA base pour créer de nouveaux médicaments, comprendre des maladies, développer des vaccins… Jusqu’à présent, seuls les gros labos avec des budgets de malade pouvaient se permettre de faire ça, c’est pourquoi SimpleFold change complètement la donne en rendant cette technologie accessible à n’importe quel chercheur avec un MacBook.

Le document est disponible sur https://arxiv.org/abs/2509.18480

GitHub - newren/git-filter-repo: Quickly rewrite git repository history (filter-branch replacement)

It can be useful to rewrite git repositories.

Typst: a possible LaTeX replacement [LWN.net]

Typst has a simpler markup system and easier customization.

There are several reasons for this dissatisfaction: the LaTeX installation is huge, compilation of large documents is not fast, and its error messages are riddles delivered by an infuriating oracle

In 2019 two German developers, Laurenz Mädje and Martin Haug, decided to try to write a LaTeX replacement "just for fun". In 2022, Mädje wrote his computer science master's thesis about Typst. In March 2023, its first pre-release beta version was announced; a month later, semantic versioning was adopted with the release of v0.1.0. Typst is now at v.0.13.1 and shows 365 contributors on its GitHub repository.

Markup in Typst is less verbose and easier to read than in LaTeX.

The simplest markup looks similar to markdown.

Typst drawbacks:

  • Typst's page layout algorithm doesn't always permit the refinements that LaTeX is capable of.
  • lack of specialized package (it's obvious compared to LaTeX)
  • the documentation is criticized:
  • inability to include PDF documents (for now)