Un pont opéré par Binance s'est fait pirater et les responsables aurait réussi à dérober 100millions en BNB (le token de la Binance smart chain)
Fait intéressant, les pirates avaient la main sur l'équivalent de 580 millions mais Binance ont pu geler la plus grosse des fonds car la blockchain de Binance est centralisée et opérée par Binance
Un article qui parle du cloisonnement malheureusement trop fréquent entre les idées de nouvelles fonctionnalités qui sont ingérée par un Product Manager qui décide seul de celles qui doivent être ajoutées au backlog.
Ça peut paraître évident pour certaines organisations mais l'équipe Tech doit être impliquée dans cette phase de triage afin d'avoir un avis technique mais aussi pour améliorer l'ownership de l'équipe
Un lecteur de flux RSS à auto-héberger
Un outil graphique assez cool pour faire de la business intelligence sur des base de données SQL.
Quelques fonctionnalités:
- Query Builder visuel
- Zoom in/out
- Visualisation des résultats en graphs
- Dashboards
- Analytics sur les requêtes
Le but est de mettre cet outils dans les mains de ses clients pour les laisser extraire eux-même l'information dont ils ont besoin.
Et bonus: c'est Open Source !
Le service de scan de vulnérabilité et de qualité de code LGTM s'arrête le 16 décembre 2022.
Ils se sont fait intégré aux équipes de Github depuis 3 ans et leur moteur d'analyse de code est maintenant intégré complètement à Github: CodeQL
Pour l'utiliser, il faut mettre en place cette Github Action
Amazon ne donne plus d'informations sur ses commandes dans les emails de confirmation.
C'est pour ne pas donner des informations aux fournisseurs de boite mail (et du coup majoritairement Google)
Un article critique de Manjaro
Une alternative Open Source à Auth0 pour l'authentification et la gestion d'identité.
Il y a aussi Keycloak dans le même genre.
Très bonne analyse de ce qui me dérange dans SCRUM et le fonctionnement par sprints.
- Manque de souplesse car travail découpé en sprint inamovibles
- Perte de temps à estimer les tâches précisément
Une lib pour générer des JSON Schema depuis des types Typescript
Un système de management de repo Javascript.
Dans le même genre que Lerna ou Turborepo, c'est écrit en Rush et ça permet d'automatiser les builds (entre autre)
Il ne faut pas toujours chercher à rendre le code clean avec des abstractions et en évitant les répétitions.
Souvent cela rend le code plus complexe et donc plus difficile à maintenir.
La est toutes la subtilité du métier de développeur, trouver le bon compromis entre clean code et KISS code (Keep It Simple and Stupid).
L'auteur pointe aussi une autre erreur, de gestion d'équipe, il a refactoré le code d'un collègue sans lui en parler avant.
C'est le résultat d'une étude lancé par Google en 2012.
Les deux comportements des équipes qui fonctionnent le mieux sont:
- liberté d'expression: prise de parole et partage de point de vue
- empathie
Ces deux facteurs amène une sécurité psychologique qui améliore la qualité de vie au travail et aussi la productivité.
Un article très complet sur l'API Gateway utilisé par Uber.
Ils ont développé leur propre API Gateway qui est en frontal de leurs micro-services écrits dans différents langages.
user access, etc
Les API Gateway peuvent être de simples routeurs mais peuvent aussi aller plus loin en incorporant de la logique métier, comme celle de Uber justement ("low level" vs "feature rich")
Dans le cycle de vie d'une requête, ils ont extraits 4 familles de composants:
- Protocol Manager: responsable de décoder et d'encoder (JSON, Thrift, Protobuf)
- Middleware: briques métier réutilisables (authentification, rate limiting, etc)
- Endpoint Handler: convertit la requête entrante dans le format attendu par le service backend
- Client: envoi la requête au service backend (validation, timeout, retries, etc)
Bubble décide de redistribuer une partie de ses bénéfices à des projets open source qu'ils utilisent en interne.
En tout ils vont donner 20K$ répartis entre 3 projets.
C'est très bien ce genre d'action, plus d'entreprises qui font des millions avec de l'open source devraient prendre exemple.
La meilleure solution serait néanmoins un financement mensuel pour aider les développeurs des projets à se projeter sur le long terme.
Un article de fond sur l'évolution du développement frontend.
L'article commence par un historique du frontend:
- Pages dynamique CGI : PHP
- AJAX : JQuery, Flash
- Split frontend/backend : Backbone
- Two way binding : Angular
- JAMStack: Gatbsy, Next
- Components: React, Vue
Le frontend s'est tellement complexifié qu'on atteint des limites en terme de coût de manipulation du DOM (résolu par le Virtual DOM) mais également en terme de traffic réseau et du rendering des éléments d'une mage qui peuvent se bloquer entre eux (charger du CSS par exemple)
L'auteur revient sur les différentes innovations mises en place chez Facebook avec React:
- Optimizing runtime costs: Virtual DOM, CSS avec Stylex
- Optimizing the network: Relay, GraphQL
- Optimizing Javascript bundles: Tree shaking (Facebook utilisent carrément une IA !)
Les différents framework du marché sont passé en revue: React, Svelte, Vue, Solid, Astro, Marko, Fresh, Next, Remix et Qwik
Pour moi le plus important est cette phrase de l'auteur
It’s a good reminder that if you’re on the bleeding edge, you are usually the one bleeding. Defaulting to “boring” technologies, ones you are familiar with, and being a late adopter is often a great choice.
La morale c'est qu'il faut choisir son framework en fonction de ses besoins actuels et faire très attention aux choix techniques pour des projets long termes.
Dans la même mouvance que Dall-E, Stable Diffusion et MidJourney, une IA pour générer des modèles 3D à partir de texte.
C'est toujours bien de voir émerger d'autres runtime car cela amène de nouvelles idées et concepts.
Par contre il ne faut pas se voiler la face, il y a très peu de chances que Deno ou Bun puissent remplacer Node.js.
L'industrie a mis des années avant de faire confiance à Node.js et aujourd'hui je vois difficilement les entreprises se tourner vers un nouveau runtime simplement pour des histoires de design ou quelques % de perfs en plus sachant que le coût d'adoption à l'échelle industriel est très élevé.
Un outil de création de base de connaissance interne dans le même genre que Notion.
Un retour d'expérience sur l'utilisation de Timescale DB pour ingérer et traiter de grosses séries temporelles.
TimescaleDB est une extension de PostgreSQL donc on retrouve facilement ses repères.
Une de leur feature extra est la compression optimisée des séries temporelles pour gagner jusqu'à 90% d'espace (!)