Un dangereux fishing ou la publicité Google ressemble comme deux gouttes d'eau au véritable résultat vers le site Gimp en affichant l'URL officielle mais qui redirige sur un fishing !
(Merci Yannick pour le partage)
Un outil de gestion de projet pour remplacer Jira qui semble toujours être le choix le plus populaire malgrés les boutons qu'il donne à ses utilisateurs.
L'UI est top, pleins de raccourcis clavier, des automatismes sympa (issue non finie directement au cycle suivant, status en fonction des PRs, etc)
À tester si vous cherchez quelque chose de neuf!
L'histoire de l'adoption de Kafka chez Cloudflare en tant que message bus inter-services.
Ils l'ont déployé pour optimiser le développement de leur architecture micro-service (découplage) mais aussi:
- réduire les silos de données
- rendre les communications inter-services plus claires
- avoir un format de communication auto-documenté
Pour cela, ils ont notamment développé un client Kafka interne qui abstrait la plupart de la configuration et de la logique compliqué.
Le schéma de communication n'est pas JSON ou Avro (ouf!) mais l'excellent Protobuf qui en plus d'avoir une taille réduite, assure le typage fort de chaque champ afin d'identifier les breakings changes.
Niveau observabilité, le plus important pour eux est le "lag", qui est le temps entre le dernier message produit et le dernier message lu.
Cette seule métrique permet d'identifier de nombreux problèmes:
- le consumer est down
- le consumer n'arrive pas à ingérer tous les messages
- un nombre inhabituel de messages est produit
- le consumer n'acquitte plus les messages
Bref, un super retour d'expérience et pleins de bons conseils pour construire son infrastructure applicative avec Kafka.
Le début de l'article explique très clairement le fonctionnement de Kafka avec une vulgarisation accessible à tous et des schémas.
Flawless est une entreprise qui développe une IA qui permet de synchroniser les mouvements des lèvres avec les doublages dans d'autres langues!
Des sites torrents en anglais et en français.
De mon point de vu, le meilleur contenu FR est sur Yggtorrent (le successeur de t411) et quand je trouve pas du contenu anglophone, je regarde sur RARBG.
Sinon pour les trucs très rare, après avoir épuré tous les sites, il faut essayer directement la DHT avec BTDigg par exemple
Ça commence à se réveiller côté Google pour tenter de contrer OpenAI et l'avance prise avec ChatGPT (technologique mais surtout en terme de communication)
Plusieurs nouveaux produits sont prévus:
- assistant comme ChatGPT
- un chatbot dans les résultats de recherche
- Colab + Android Studio pour des applications mobiles
- Génération d'images
- et d'autres!
Google cherche avant tout à se prémunir des problèmes de droits d'auteurs et de biais que l'ont peut avoir lorsqu'on utilise des AI apprenant sur de larges corpus publiques.
Pour passer le paywall:
- clique droit > afficher la source (CTRL+U dans Firefox)
- sélectionnez tout et copiez
- créez un fichier et collez
- ouvrez ce fichier dans votre navigateur
Un article sur l'insertion spéculative dans Postgres et les améliorations de performances qu'elle apporte.
L'insertion spéculative est faite avec la construction INSERT… ON CONFLICT
.
Cette variante vérifie d'abord que l'insert peut être réalisé, ce qui évite la création de "dead tuples" qui sont des lignes n'ayant pu être insérées mais quand présentes jusqu'au prochain garbage collect (vacuum).
Sur une table ayant 1 millions de dead tuples, il y a une différence de perfs de presque 8000% au SELECT ! (0.7 ms vs 54 ms)
Les insert ayant échoués vont aussi incrémenter les ID de transaction et après 200 millions, cela va déclencher le garbage collector pour un nettoyage mais aussi ralentir toute la base de données.
Finalement, tous ces dead tuples consomment aussi de l'espace de stockage.
Bref, il est temps de passer à INSERT… ON CONFLICT DO NOTHING
😄
(Merci Gaël pour le partage)
Zataz recense de plus en plus d'arnaques à la vignette Crit'Air.
Le but de ces arnaques est principalement de faire payer jusqu'à plus de 10x le prix pour obtenir la vignette qui coûte normalement moins de 4€ au total.
Les pirates utilisent des publicités Google et des emails pour cible les victimes.
Le site officiel termine en .gouv.fr
comme tous les sites officiels du gouvernement: www.certificat-air.gouv.fr
Une explication du fonctionnement des Lambda chez AWS.
On apprend notamment de quelle manière les Lambda sont démarrées, les étapes du cycle d'initialisation, démarrage à chaud/à froid et les quotas
Je ne m'étais jamais attardé sur les quota, par exemple la limite de "Burst concurrency" qui limite le nombre de lambda executées en même temps (entre 500 et 3000 selon les régions.
Un serveur web qui permet d'accèder à une base PostgreSQL directement via une API REST!
Exemples:
- SELECT avec WHERE 👉
GET /people?age=gte.18&student=is.true
- un JOIN sur la table
directors
👉GET /films?select=title,director:directors(id,last_name)
Un framework pour créer des extensions PostgreSQL avec Rust.
Je ne savais pas mais à priori Rust est un langage de choix pour les extensions PostgreSQL maintenant.
C'est un très bon usecase car dans une base de données on a justement besoin de performances et de memory safety
Tous les conseils pour bien choisir sa clé primaire.
Dans la plupart des cas, un entier auto-incrémenté (serial
) est suffisant, cependant il a quelques désavantages:
- prédictible: il est facile d'énumérer les ID et de deviner des choses comme le nombre d'utilisateurs sur un site (
yoursite.com/users/41
renvoi le profil maisyoursite.com/users/42
renvoi une 404) - ce n'est pas un standard SQL
Une autre possibilité est d'utiliser un UUID v4 car ceux ci sont totalement aléatoires. Par contre on a d'autres problèmes:
- pas possible de les trier
- beaucoup plus gros que notre entier auto-incrémenté
- leur indexage par la base de donnée est très difficile
C'est pour ça que d'autre types d'UUID sont apparus (voir UUID v7 et ULID), cette dernière génération inclue un timestamp afin de pouvoir les trier par exemple.
L'article termine sur un benchmark sur la vitesse de génération dans PostgreSQL mais aussi de la taille de la table et de son index.
Niveau vitesse, tous sont plus ou moins équivalents à part pour pushid
et nanoid
qui sont significativement plus lents.
Au niveau de la taille, sans surprise les dernières version d'UUID font augmenter l'espace utilisé.
J'ai toujours été fasciné par le fonctionnement des liseuses électroniques.
Dans cette vidéo, l'auteur démonte un Kindle et le regarde sous toutes ses coutures avec microscope de surface et même microscope électronique !
L'écran est composé des centaines de milliers d'électrodes qui peuvent se charger négativement et positivement.
Au dessus de chacune de ces électrodes, il y a des capsules contenant un pigment noir chargé positivement et blanc charge négativement qui montent (et deviennent donc visibles) ou descendent en fonction de la charge des électrodes.
C'est pour ça que l'autonomie est aussi bonne: le courant est nécessaire seulement pour modifier l'affichage
Au delà de ChatGPT et Dall-e, une liste d'outils pour diverses tâches
L'histoire du CTO de Shift Technology (détection de fraudes) qui décide de revenir à un poste plus "hands-on".
Un très bon billet pour choisir une startup ayant un environnement de travail intéressant et un futur prometteur.
Par définition, une startup c'est une entreprise qui fait un pari sur un marché ou une techno et elle se doit d'avancer rapidement donc on est amené à faire plusieurs choses (couteau suisse) et l'environnement sera forcément plus stressant qu'un job "pépére" dans une ESN (qui a dit planqué ?)
Les points de vigilance:
- les fondateurs 👉 concrètement vous allez bosser avec eux très souvent donc est-ce que vous êtes convaincu par leur stratégie
- le business plan 👉 si vous n'y croyez pas, peu de chance que vous soyez motivé dans la durée
- la culture et les valeurs 👉 cherchez de préférence bienveillance, esprit d'équipe et reconnaissance
- le sérieux technologique 👉est-ce que les bases sont solides? est-ce que l'équipe technique originel est encore la? (ça se limite à une personne souvent)
- le salaire 👉 souvent un peu en dessous du marché, attention à ne pas se faire avoir par une promesse de beaucoup de BSPCE qui restent un pari
L'histoire d'une RH qui se reconvertit pendant la pandémie de COVID suite à des soucis de santé et une envie de changer de vie.
Des conseils pour offrir la meilleure expérience possible lorsqu'on utilise des polices de caractères personnalisées.
- Utilisez des petites polices (20-40Kb)
- Servez les vous même (pitié pas Google Font..)
- Ne proposez pas de polices intermédiaires (
font-display: block;
) - Indiquez au browser de pré-charger les polices (
<link rel="preload" ...>
)
Le but est de charger les polices au plus vite car aucun texte ne s'affiche avant et c'est volontaire pour éviter le layour shift (des éléments qui changent de place quand la police est chargée si elle ne fait pas exactement la même taille que la temporaire)