Un calculateur de salaire rendu publique par Zefir qui prend en compte plusieurs paramètres:
- expérience
- type de poste
- lieu de travail
- niveau (compétence technique)
- années d'ancienneté
Les USA ont durci leurs règles d'exports concernant les semi-conducteurs. Ces nouvelles règles ont pour but d'affaiblir l'industrie de micro-processeurs chinoise, notamment ceux utilisés par l'armée.
Dans ce lot de règle, on retrouve notamment l'interdiction pour les ressortissants US de travailler pour des entreprises chinoises du secteur.
En gros pour la plupart c'était soit perdre son passport US, soit rester en Chine, autant dire qu'en une nuit l'industrie chinoise a été décapité d'une bonne partie de ses employés.
Un repo Github ou j'ai rassemblé pas mal de ressources à propos du fonctionnement des moteurs Javascript (principalement v8)
C'est toujours bien de comprendre comment est executé le code que l'on écrit, pour le debuguer plus efficacement mais aussi pour l'optimiser quand on en a besoin !
Au programme:
- Hidden Classes
- Inline Cache
- Closures
- Function Polymorphisme et Mégamorphisme
- Interpreteur et Compilateur spéculatif
- Micro Benchmark
Certains articles sont assez complexes mais en règle général ça reste abordable.
Un thread Twitter sur une gestion avec SCRUM qui a complètement débloqué
On parle souvent des comparaisons entre SQL et NoSQL mais cet article va plus loin en comparant les usages des 5 grandes familles de "Data Store"
- Base de données relationnelles (e.g. PostgreSQL)
- Base de données non-relationnelles (e.g. MongoDB)
- Base de données clé/valeur (e.g. Redis)
- Moteur de recherche (e.g. Elasticsearch)
- File de messages (e.g. Kafka)
Un framework pour créer des API REST en codant les contrôleurs et modèles en TypeScript avec des annotations.
Ça génère automatiquement la spec OpenApi et les JsonSchema en plus.
(Merci Bombi pour le partage)
Un système de queing entièrement basé sur Redis.
Ils proposent toutes les fonctionnalités dont on a besoin:
- multi-queue producers et consumers
- garantie du delivery unique
- expiration des messages
- rate limiting
Les Objectives and Key Results sont une méthode pour décider des objectifs d'une entreprise et comment les mesurer.
En gros plutôt que de se concentrer sur le résultat, on se concentre sur ce que l'on veut améliorer puis les équipes proposent des idées et testent des choses pour remplir ces objectifs. Les résultats sont analysés avec les Key Results.
Exemple:
Objectif: Améliorer l'efficience de la plate-forme IoT
Key Result #1: Réduire le temps de configuration de 50%
Key Result #2: Corriger 90% des bugs en moins une semaine
Raft est un algorithme de consensus distribué très populaire qui permet de garantir la consistence d'un état au sein d'un cluster.
Il est utilisé dans des bases de données (CockroachDB, Mongodb) et dans d'autres produits comme Etcd.
Il couvre l'élection d'un master et la réplication de l'état sur chaque noeud.
Un article explicatif et en mode tuto ultra complet sur le monitoring d'un cluster Kubernetes avec Prometheus.
Une explication très accessible du fonctionnement de Wine, le programme Linux qui permet de lancer des applications Windows.
Pour rappel, Wine n'est pas un emulateur mais "simplement" une traduction des appels systèmes Windows en appels système Linux.
Un OCR open source qui supporte plus de 80 langues.
Les bons conseils pour créer une image de prod avec Node.js.
En bref:
- Utilisez une version LTS avec Debian slim pour réduire la surface d'attaque
- Ne faites pas de
npm install
maisnpm ci
pour utiliser un ensemble de dépendances stable - Évitez les images alpines car des problèmes peuvent apparaître à ce musl (substitut de la libc)
Un très bon article de Ploum sur la publicité
Un outil pour lancer un service caché sur TOR très facilement.
Ça permet ensuite de chatter et envoyer/recevoir des fichiers avec des personnes qui se connectent au service via TOR et une adresse .onion
Un outil de load testing open source en alternative à Gatling.
Ils supportent le scripting en Javascript et de nombreux protocols: HTTP, WebSocket, GraphQL et même gRPC!
Il est aussi possible d'enregistrer un scénario dans son navigateur et de le rejouer.
Une IA qui améliore les performances d'une autre IA.
Une IA de Google a trouvé comment multiplier plus efficacement des matrices de nombres.
C'est une opération très commune dans les réseaux de neurones mais aussi dans les programmes graphiques.
Pour multiplier une matrice de 4x5 par une matrice de 5x5, le meilleure algorithme humain utilisait 80 multiplication et AlphaTensor (le nom de cette IA) a trouvé une méthode avec 76 multiplications!
(Merci Guillaume pour le partage)
Un backend pour fédérer les données en provenances de plusieurs sources (SQL, NoSQL, Datawarehouses)
Ils permettent ensuite d'accèder aux données via une API unifiée en ajoutant une couche de droits et du cache.
Le positionnement est clairement orienté Business Intelligence même si ils ne proposent pas de solution concrète pour ça mais plutôt la promesse de facilement connecter des outils existants.
Redhat lance un projet pour exécuter du code de manière sécurisé et garantir que le fournisseur de cloud ne puissent accéder aux données.
Le projet est incubé par la Cloud Native Computing Foundation, ce qui est généralement un gage de qualité !
Concrètement ça fonctionne avec un type de hardware spécial qui garantit que le code chiffre chargé dans le processeur n'est pas accessible depuis l'extérieur une fois déchiffré. (Trusted Execution Environment) Les clés de chiffrement sont également stocké dans du hardware spécialisé (un peu comme un wallet Ledger)
Une autre piste pour le trustless computing c'est le Chiffrement homomorphe qui utilise une famille d'algorithme capable d'opérer sur des données chiffrées.
Une super infographie qui montre l'évolution des revenus du gaming en fonction des plateformes.
- Console "handheld" (Gameboy, PSP, etc)
- Arcade
- Console "classique" (Gamecube, Playstation, etc)
- PC
- Mobile
C'est incroyable à quel point le mobile génère de l'argent. C'est surement lié aux nombreuses micro-transactions présentent dans les jeux mobiles.