387 private links
50 litres gratuits par jour avec ensuite un prix progressifs
« Si c'est gratuit, c'est vous le produit » est faux, car
- le bénévolat permet de mettre à disposition des services (CHATONS, services divers (pastebin, ...), OpenStreepMap, Wikipedia, ...)
- le logicie libre (Linux, GIMP, LibreOffice)
Sebsauvage recommande « Les trucs gratuits sont toujours payés par quelqu'un » (https://mamot.fr/@burgervege/109279371451964785). Payé signifie ici en argent, temps ou données, vie privée.
Indeed AI is coming
Well written :)
Avoiding frustration of unfinished projects.
- Pick the best project you can think of
- Pick a very aggressive and limiting timeline
- Reduce the project to its absolute minimum
- Execute that plan to completion
Je poses cela là
I thought the same till some times ago, but now I disagree.
if you're commenting to explain the how and the what, then yes, you're doing it wrong.
If you are commenting the why, it makes sense and it could save hours of rediscovering what was obvious only while writing it.
👍
Still lacking a lot of libraries
The Rust crate ecosystem is good, but C and C++ has a huge head start and it will take a long time for Rust to catch up. For us at Rerun, that pain is most urgently felt in the lack of libraries for scientific computing and computer vision, as well as the lack of mature GUI libraries.
... project ideas?
At the end of the day, a programming language is a tool like any other, and you need to pick the right tool for the job.
End thought: rust everywhere?
More recently, the idea to treat attribute selectors on par with classes as first-class citizens has been proposed more widely. We’re no longer talking about edge cases, but challenging the very defaultness of classes, all while not giving up that sense of structure that many of us look for in CSS naming conventions.
👍
And think of aria-selectors too ! This promotes an a11y-first mindset — if there is no attribute or pseudo selector available to represent the state we wish to style, should we add one?
this is the principle that class selectors violate. An element’s classes are never guaranteed to reflect their state
Using data attributes instead seems a good idea to avoid impossible states!
And there’s a reason why looks attractive — it’s mirroring the APIs we’re used to seeing in design systems and component libraries, but bringing it to vanilla HTML and CSS.
Indeed, it’s a small step from data attribute selectors to custom pseudo selectors or prop-based selectors when using Web Components (think). Styling based on ARIA attributes encourages more accessible markup, and styling based on custom data attributes makes it more robust and readable — a better experience for users and developers alike.
C'est quelque chose de pratique → donc je l'utilises même si je le critiques.
Argument: perversion de l'appel à la cohérence.
Avoir utilisé le service n'empêche pas de critiquer le service.
Puisque j'utilises le service, je n'ai alors pas le droit d'émettre un avis négatif dessus?
Il vaut mieux être incohérent en cherchant à améliorer les choses que d'abaisser nos valeurs à nos comportements, comme si cela était un fin en soi.
- Outline your why
- Outline your purpose
- Outline your mission
- Outline your customer
- Outline your culture
- Outline your vision
- Outline your north star metric
- Better appreciate the OSS work
- A better understanding of the underlying tools you use and the benefits with it
- Deepen the knowledge of the programming languages with state-of-the-art examples
- Learning workflows and communication with other devs
- Open to job opportunities
Cela traduit une forme d’épuisement du débat démocratique : la Convention citoyenne pour le climat a eu beau demander « un moratoire sur la 5G », cette proposition a été balayée d’un revers de la main. Quant aux cahiers de doléances rédigés à la fin de la crise des Gilets jaunes, ils ont été archivés – fin de l’histoire. Résultat, la perspective de la discussion démocratique suscite une forme de désillusion, de désenchantement. La production d’idées ne suffit pas. Ça n’est pas juste en jetant son téléphone que la donne va changer.
Tout est question d'investissement
Good practices !
✅ on my personal projects
- Documentation in the same repo as the code ✅
- Mechanisms for creating test data
- Rock solid database migrations
- Templates for new projects and components
- Automated code formatting ✅
- Tested, automated process for new development environments ✅
- Automated preview environments ✅
As a result, to avoid downtime you need to design every schema change with this in mind. The process needs to be:
- Design a new schema change that can be applied without changing the application code that uses it.
- Ship that change to production, upgrading your database while keeping the old code working.
- Now ship new application code that uses the new schema.
- Ship a new schema change that cleans up any remaining work—dropping columns that are no longer used, for example.
4 burners where all of the 4 can not coexist: Family, Friends, Health, Work
The Four Burners Theory says that “in order to be successful you have to cut off one of your burners. And in order to be really successful you have to cut off two.”
Workarounds
- Outsource Burners
It does not work well for family, friends and health at some point...
- Embrace Constraints
Optimise everything. Assuming a particular set of constraints, how can I be as effective as possible?
Embracing constraints means accepting that you are operating at less than your full potential. Yes, there are plenty of ways to “work smarter, not harder” but it is difficult to avoid the fact that where you spend your time matters. If you invested more time into your health or your relationships or your career, you would likely see improved results in that area.
- The season of life
What if, instead of searching for perfect work-life balance at all times, you divided your life into seasons that focused on a particular area?
Furthermore, there is often a multiplier effect that occurs when you dedicate yourself fully to a given area. In many cases, you can achieve more by going all-in on a given task for a few years than by giving it a lukewarm effort for fifty years. Maybe it is best to strive for seasons of imbalance and rotate through them as needed.
Postuler que la publicité est un business « honnête » revient à dire que ces milliards d’euros ne seraient pas dépensés sans elle. Et donc revient à démontrer que la publicité appauvrit la population d’une manière démentielle en entrainant une surconsommation qui détruit littéralement la planète.
Lorsque vous achetez des publicités chez un de ces géants, tout ce qu’ils vous offrent en échange sont… des chiffres qu’ils inventent.
Parce que ce sont des boîtes noires et que personne ne peut vérifier le nombre d'affichage, etc...
Le géant Procter&Gamble a d’ailleurs annoncé avoir coupé complètement tous ses budgets publicitaires pour les réseaux sociaux et n’avoir perçu absolument aucune différence dans les ventes.
Avec mes 2500 followers sur Facebook, j’avais découvert à l’époque que chaque message touchait en moyenne 1%, mais que, en payant, je pouvais monter à 5% voire 10% de « ma communauté ». Facebook me faisait croire que j’atteignais un public alors qu’en réalité, je devais payer pour contacter moins de gens que si je leur avais conseillé de s’abonner par mail ou RSS.
En fait, de manière générale, tout fournisseur qui prétend vous vendre l’observation de métriques décidées par lui, mesurées par lui et optimisées par lui est par essence un escroc.
Briser l’incroyable puissance de ces monopoles morbides ne passe pas par l’utilisation d’alternatives ou de succédanés, mais par la réalisation profonde que nous n’avons tout simplement pas besoin d’eux.
But you have all this internal context that makes it self-documenting. Other people don’t have that context.
I agree
Operational information is more global, how the code fits in with the larger program. The code’s behavior can’t tell us that because it isn’t supposed to know anything about the larger program.
How should we document them?
A list of how self-documenting code is so appealing to people for wrong reasons.
s
const moreInfos = { info: "Please go to the desk." }
return {
address: "20B Rue Lafayette",
postcode: "75009",
...(moreInfos !== undefined && { moreInfos })
}
In JavaScript, primitive values are Number, String, Boolean, Undefined, Symbol, and BigInt. Other data types are passed by reference, which means that the variable is given instead of just a copy. Modifications happen in-place.
An example of Weakmap: https://gist.github.com/PaulRosset/0d4e3a9b9af20f9997b41d15f70c8808#file-weak-map-js. Everything can be a key.