Daily Shaarli
September 28, 2025
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,nullor 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
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.
“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/
- 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 (?)
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.
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.
Alle uniform.
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.
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.
- 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.
- 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.
Another supply-chain attack
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.
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.
Il y a une réserve d'urgence de 15-20km, mais autant prévoir large bien avant et pour de potentiels imprévus
#define MAKE_U32_FROM_TWO_U16(high, low) ( ((uint32_t)(high) << 16) | ((uint32_t)(low) & 0xFFFF) )
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.
An interactive world in 3D. Direct in the browser.
From Picallili: "The artwork, the motion and the physics are unbelievable. Stunning work."
After 25 years, the zoom property will get a spec.
Zoom affects the box model compared to tranform: scale()
Collection of open-source tools for designers & creatives
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 :)
Je pose cela ici.
L'article complet est disponible sur https://archive.is/tAeLS
- 40 millions de joueurs de jeu vidéo en France.
- 88% sont des adultes.
- âge moyen : 40 ans.
- 49% sont des femmes.
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:configtweak.
I would argue: it makes the configuration or preferences UI lightweight.
Un autre article sur la command z, aussi utilisé comme alias de cd
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
Rust version of coreutils causes MD5 hashes in some algorithm to break.
A toolkit to bootstrap an application
« 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 [...]
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.
With box-shadow and a reset for outline.
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.
Piccalilli shares links!
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
It can be useful to rewrite git repositories.
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)