É-Veille Tech #31 | 22/04/23 | Apprentissage Continu

É-Veille Tech #31 | 22/04/23 | Apprentissage Continu

22 avril 2023 0 Par Aschen

Pour suivre la veille technologique chaque jour au fil de l’eau, rendez vous sur 👉 https://links.aschen.tech

PROGRAMMATION

TypeScript and Turing Completeness

Typescript est carrément Turing complete!

L’auteur a implémenté un sous langage type brainfuck et Typescript est capable de l’interpréter.

const test1 = interpreter('*>*>*', '000000'); // '111000'

SQL:2023 is finished: Here is what’s new

Le comité ISO a terminé de travailler sur la norme SQL 2023.

Au programme quelques améliorations du langage (qui étaient déjà supportées dans de nombreuses DB comme Postgres par exemple) mais surtout l’introduction du support du JSON et des graphes.

Par exemple les chemins seront simplement accessible avec des « . »

// {"foo": {"bar": [100, 200, 300]}, ...}

SELECT t.j.foo.bar[2], ... FROM table ...

ARCHITECTURE

Load Balancing

Un article explicatif du besoin et du fonctionnement du load balancing.

Très bien expliqué et avec des schéma intéractifs!

Pour bien comprendre les besoins, il ne faut pas oublié que les requêtes ne sont pas égales, certaines sont plus longues ou plus consommatrices que d’autre à exécuter.

Au dela du « simple » round robin, d’autres stratégies existent:

  • least connection: le load balancer envoie la requête au serveur en ayant le moins en cours
  • peak exponentially weighted moving average: calcul de la latence moyenne des serveurs et tente d’utiliser uniquement les serveurs ayant la plus faible latence

CockroachDB Licensing FAQs

Un style de licensing intéressant chez CockroachDB:

  • licence Business Source License (type Server Side Public Licence) avec interdiction de faire un SaaS
  • Apache 2 après 3 ans

Cela permet de rentabiliser leur business tout en offrant la totalité du produit en Apache 2 après une certaine période.

Pinecone, what is a Vector Database for AI?

Un nouveau type de base de données qui émerge avec l’IA: la base de données vectorielle

En IA, on représente les données du monde réel sous la forme de vecteurs à N dimensions. Concrètement ce sont des tableaux de nombres à virgules.

Ce genre de base de donnée permet ensuite de rechercher plus efficacement des vecteurs qui sont proches par exemple.

Un exemple de recherche de contexte similaire lors d’une question posée à GPT3 https://docs.pinecone.io/docs/gen-qa-openai

ORGANISATION

Faire partie des 1er dev’ d’une entreprise : le guide pratique pour maximiser ses chances de succès

Un autre article qui parle de rejoindre une startup en early stage mais du point de vu concret d’un développeur et de ce qu’on peut apporter.

C’est aussi un bon résumé de comment arriver à un MVP

Rejoindre une startup early stage : comment bien choisir son projet ?

Excellent article sur les avantages et inconvénients de rejoindre une startup à ces débuts.

Étude 2023 de Talent.io sur les salaires dans la tech

L’étude est sur 3 pays cette année: France, Allemagne et Pays-Bas

Quelques chiffres:

  • seulement 16% de développeuses
  • 58 000€ salaire médian en France (50 000€ hors Paris)
  • jusqu’à 40% de différence entre le salaire Paris vs hors Paris
  • le rôle CDI le mieux payé est développeur backend
  • le rôle freelance le mieux payé est data engineer/product manager

Évaluer un développeur en 3 semaines : La méthode WeFight

Un retour d’expérience sur comment organiser son process de recrutement.

Les conseils en plus de Fabien Ducher:

En amont

  • l’organisation de la tech est suffisamment claire
  • on est à l’aise sur la salary grid (qu’elle soit affichée publiquement ou non)
  • on est sur d’avoir les ressources pour accompagner l’onboarding et rampup
  • Les personnes qui font passer des entretiens sont formées à le faire (posture, ce qui est ok ou pas ok de dire, comment on le mène, les entretiens eux même, etc.)
  • Checklist d’onboarding avec toutes les composantes (RH, IT, manager, newcomer) déjà existante.

L’offre

  • inclusive! exemple: pas un empilement de compétences (soft et hard), mais un message clair sur le fait que c’est un repère et qu’il ne faut pas cocher toutes les cases pour candidater
  • La description du process : les entretiens, avec qui, la durée et à quoi ils servent

Le process de validation

  • s’il y a des tests / questions techniques, ce sont les mêmes pour tout le monde et on assess les résultats
  • On liste à l’avance les red flag qu’on ne veut pas voir
  • Max 2 semaines entre la prise de contact et la décision
  • J’aimerai beaucoup tester aussi l’idée que la personne qui candidate vient avec un cas technique qu’elle discute avec des personnes de l’art. (ca brise le test commun à tous, mais c’est au moins un contexte que le candidat maitrise et qui sera moins stressant)
  • Feedback clair et factuel après chaque entretien, surtout en cas de nogo à une étape
  • Lors du dernier entretien, on est en situation d’échange libre où on répond à toutes les questions de la personne qui candidate, on ré-explique l’onboarding, le carreer path, la période d’essai, les attentes, etc.
  • un comité d’évaluation à la fin avec toutes les personnes ayant réalisé un entretien

La proposition

  • Salaire en comparant avec la grille, les stats de salaire à poste équivalent en interne (incluant l’équité homme / femme) et des bench extérieur (à noter ici que Figures est canon comme outil)

l’onboarding

  • Welcome 1-1 où on présente la checklist d’onboarding, on cale les 1-1 hebdo,
  • On présente les obj de PE la première semaine
  • On s’assure que l’équipe l’accueil bien dans le day to day

Période d’essai

  • on fait des 360 pour avoir le max d’avis et pas uniquement l’avis du manager
  • On refait a minima un point à mi PE, voir tous les mois avec le newcomer
  • Ou on coupe ou on valide, le renouvellement ne sert que pour des doutes mineurs qui n’auraient pas pu être levé dans le délai. Avoir une boule noire nuira à terme plus à votre organisation que n’avoir personne.

Co-Founder Equity Calculator

Un outil qui permet de calculer la répartition des parts lors de la création d’une startup

Autre outils
https://www.embroker.com/blog/startup-equity-calculator/
https://capbase.com/startup-equity-calculator/

PO/PM, la grande embrouille

Product Owner ou Product Manager, au final ce sont des postes semblables dont le but est de conduire les développements produit à un apport de valeur.

AI

Creativity Lab for AI

Des applications permettant de visualiser une conversation avec ChatGPT sous la forme de nœuds dans d’un graph ou de card sur un tableau blanc.

C’est beaucoup plus pratique de traiter l’exploration d’un sujet comme ça plutôt que de devoir remonter sans cesse dans l’historique du chat.

OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.

Un projet communautaire et collaboratif pour créer un modèle entraîné comme ChatGPT

Web LLM runs the vicuna-7b Large Language Model entirely in your browser, and it’s very impressive

Un article plus détaillé sur les possibilités que commence à offrir les LLM pouvant fonctionner en local dans le navigateur.

On est encore loin de l’adoption pour les utilisateurs standards car il faut:

  • lancer chrome avec des flags spéciaux
  • télécharger le modèle (plusieurs Go)
  • une carte graphique puissante

J’en parlais ici aussi https://links.aschen.tech/shaare/Ov51-w

StableLM, an open source language model

L’entreprise Stability AI qui est déjà derrière le modèle Stable Diffusion pour la génération d’images a sorti un modèle pour la génération de texte.

Assez similaire à GPT de OpenAI avec un contexte de 4096 tokens.

Le modèle de base est véritablement Open Source et autorisé pour des applications commerciales:

  • code en Apache 2
  • poids en creative commons avec citation de StabilityAI

A noter qu’il existe une version des poids fine tuné pour la conversion mais la licence est non commerciale car ils ont utilisé les données de Alpaca (en autre)

Language model roundup, April 2023

Un résumé des innovations de ces derniers jours dans le monde des LLM.

LLM Hacker handbook

Une liste de faille des LLM et des exemples d’exploitation.

C’est principalement des prompt injection

Robust Speech Recognition via Large-Scale Weak Supervision

Whisper, le modèle de reconnaissance de texte de OpenAI est en full open source

Elon Musk is suing Microsoft

Elon Musk attaque OpenAI en justice car ils auraient entrainé leur IA illégalement sur les données de Twitter

The Complete Beginners Guide To Autonomous Agents

Un article très complet sur les agents autonomes à base de LLM.

L’auteur est un peu trop optimiste à mon goût mais ça à le mérite de bien expliqué le fonctionnement et donner beaucoup d’exemples d’utilisation.

Ce qui se cache derrière le fonctionnement de ChatGPT

Une autre vidéo de Science Étonnante pour comprendre le fonctionnement des LLM (Large Language Model) comme GPT et leur spécialisation dans des outils comme ChatGPT.

Voir aussi Comment les I.A. font-elles pour comprendre notre langue ?

WebLLM

Les LLM commencent à arriver dans les navigateur en utilisant la technologie WebGPU.

Ils ont aussi porté StableDiffusion https://mlc.ai/web-stable-diffusion/

SECURITE

Mullvad VPN was subject to a search warrant. Customer data not compromised

Mullvad VPN se fait perquisitionner en Suède, pour le coup ils avaient dit la vérité et il n’y avait vraiment aucune donnée d’utilisateur à saisir

Introduction to OSINT. OSINT is a piece of information that is…

Une liste d’outils OSINT et comment s’en servir

OUTILS

ksnip the cross-platform screenshot and annotation tool

Excellent outil multiplateforme pour prendre des screenshots et les modifier.

PRIVACY

Surveillance totale d’internet en Biélorussie

Du jamais vu niveau collecte d’informations sur les citoyens par des organismes gouvernementaux !

Un décret force les entreprises opérant en Biélorussie à fournir des API pour qu’entre autre le KGB puisse faire des recherches en live dans les bases de données.

AUTRES

debris. by farbrausch (demoscene demo 2007)

Une vidéo demoscene de 7 min qui a été généré par un programme de seulement 177Ko

‘Counter Strike’ Gun Skin Sells for $400,000

Un skin d’une arme CSGO qui se vend 400 000$ (en cryptomonnaie)

Comme quoi il n’y a même pas besoin de NFT pour faire ce genre de transaction hallucinante

Game of Life Universe

Le jeux de la vie de Conway codé avec le jeux de la vie de Conway.

On se déplace à la souris et on peut zoomer/dézoomer entre les niveaux d’univers avec la molette

Explication ici https://blog.oimo.io/2023/04/10/life-universe-en/

TDungeon is a small adventure game that runs in the Typescript type system

Un jeux d’aventure en Typescript 😀

BLOCKCHAIN

Societe Generale’s Euro-pegged stablecoin is disastrous

La société général a déployé un Smart Contract Ethereum pour un stablecoin basé sur l’euro

Sauf que:

  • ils peuvent transferer votre argent
  • ils peuvent « burn » tout votre argent
  • chaque transaction doit être approuvée par une autre transaction

En gros rien de plus centralisé mais avec les inconvénients d’une blockchain (lenteur, prix de transaction, immutabilité)

MARKETING

Create and Share Interactive Demos for Free

Un outil pour créer des démo d’un produit

SOCIETE

Mise en perspective des impacts écologiques du numérique

Un article qui montre l’empreinte en équivalent CO2 des choses du quotidien en comparant à échelles comparables.

Pas de bénévoles pour les JOP 2024 : un tutoriel pour gâcher leur campagne de travail dissimulé – Basta!

Le CIO n’a vraiment aucune race

Ces volontaires travailleraient entre huit et dix heures par jour, six jours sur sept, non rémunéré·es, et sans prise en charge de leurs frais de transport ou d’hébergement

Surtout que le CIO croûle sous le fric des annonceurs

Rémunérer au SMIC horaire toutes ces personnes reviendrait pourtant à moins de 1 % du budget total des JOP (évalué actuellement à 8 milliards d’euros)

Basta conseille de s’inscrire puis de ne pas y aller

DEVOPS

Kubernetes et manifests YAML: trop bas niveau pour les dev ?

Un article qui parle de la complexité élevé des fichiers de configuration Kubernetes et propose un niveau d’abstraction plus simple à comprendre et à manipuler.