L'idée n'est pas mal : vous ajoutez des annotations dans votre code Java et un processeur d'annotations piloté par un plugin Maven va générer pour vous la configuration Kubernetes de votre application. Etant donné que je n'aime pas trop m'embêter avec Kubernetes (je n'arrive plus à apprendre toutes les technos de la terre, surtout les technos ops, elles sont en train de me tuer), j'apprécie d'autant plus cette initiative.
Via Riduidel.
Rendez vos bookmarks Firefox privés ! On l'oubli mais nos habitudes de surf en disent suffisamment long sur nous, les bookmarks fournissent aisément ce genre de méta-data.
Deuxièmement, la description du racisme systémique s'appuie sur une analyse économique du racisme. C'est sa grosse différence d'avoir l'antiracisme fainéant qui pense que le racisme se limite à des problèmes de gentillesse. [...] L'antiracisme sérieux a d'ailleurs eu de longue date des dialogues avec le marxisme et s'est complètement emparé de cette école de pensée.
Au contraire, plus je discute avec des partisans de la théorie du racisme systémique et plus je m'aperçois que la notion de classe sociale est complètement évincée au profit de quelque chose que je ne sais pas vraiment nommer mais dont la définition est l'intersection des points suivants :
- Personnes d'une même couleur (ou variation de couleur).
- Personnes issues d'une même origine ethnique ou nationale.
- Personnes partageant une même religion.
Donc je ne vois pas en quoi "l'antiracisme sérieux (sic) a d'ailleurs eu de longue date des dialogues avec le marxisme" puisqu'il en évince totalement la base, à savoir les notions de classes et de lutte des classes.
Bref, le mot fourre-tout que ces personnes emploient pour éviter le mot "race" c'est "culture" et de facto ce rassemblement uniquement entre "semblables" en excluant d'office tout ceux qui sont "dissemblables" (physiquement hein, parce que le milieu social ne compte pas), bah désolé mais je trouve cela raciste. Alors on parlera de "communautarisme" pour avoir bonne conscience ou encore "d'entre-soi" à l'image de ce que font les bourgeois mais sans se rendre compte du paradoxe d'abandonner le vivre-ensemble et intrinsèquement le "lutter ensemble" pour le "on se débrouille très bien entre-nous, entre racisés et sans vous les non-racisés".
N.B : je réponds ici uniquement au commentaire de Riff, je n'ai pas encore lu le thread Twitter qu'il propose.
Pour toi @Lenny ! Nous parlions de trucs & astuces sur l'ergonomie des interfaces, l'article est très succinct mais c'est toujours bon de lire et relire ce genre de choses jusqu'à ce qu'elles deviennent naturelles et évidentes.
Vous trouverez l'article complet de Google ici !
Un article très intéressant sur la notion de corruption dans l'informatique et son parallèle avec la société civile et la biologie.
Via Riduidel.
Bon en général je ne fais pas ça mais c'est trop incroyable. Je dois me taper le refacto d'une classe écrite par une trèèèès grosse boite de service pour mon client et qui calcule des dates spéciales en Java, dans le cas que je corrige, il s'agit de Pâques...
Je ne vous mets qu'un extrait du code (le reste est tout aussi incroyable mais je ne veux pas de problème de copyreich) :
private static GregorianCalendar calculJourPaques(int pYear) {
GregorianCalendar vPaques = new GregorianCalendar();
int vA = pYear % 19;
int vB = pYear / 100;
int vC = pYear % 100;
int vD = vB / 4;
int vE = vB % 4;
int vF = (vB + 8) / 25;
int vG = (vB - vF + 1) / 3;
int vH = (19 * vA + vB - vD - vG + 15) % 30;
int vI = vC / 4;
int vK = vC % 4;
int vL = (32 + 2 * vE + 2 * vI - vH - vK) % 7;
int vM = (vA + 11 * vH + 22 * vL) / 451;
int vN = (vH + vL - 7 * vM + 114) / 31;
int vP = (vH + vL - 7 * vM + 114) % 31;
vPaques.set(pYear, vN - 1, vP + 1);
vPaques.add(5, 1);
return vPaques;
}
Alors oui, le code est en français, oui les variables sont préfixées par un "p" pour dire qu'elles sont paramètres de la méthode et par un "v" pour indiquer qu'elles sont de simples variables dans cette méthode...
Sinon c'est un "a" (pour attribut) ou "f" (pour field) mais un attribut c'est aussi parfois un "c"... Bah oui vous comprenez, certains développeurs avaient de gros doigts donc ils ont appuyé à côté du "f" sur la touche "c"... Et d'autres ont simplement reproduit cette erreur pour que le préfix "c" corresponde aux attributs. #Enjoy
J'ai déjà patché du code compliqué, du code de merde, du code inutile, du code ultra-théorique à base de formules complexes mais je n'avais jamais dû patcher du code dont je ne peux décrire l'origine !
P.S : vous remarquerez que l'algorithme est juste une prouesse de complexité hein (T_T). J'ai déjà pu identifier que l'on parlait d'année bissextile et heureusement ! Vive les TU (que je vais devoir créer parce que trop marrant sinon).
Edit : l’algorithme est celui de Butcher-Meeus.
Un article remonté par Philou qui explique clairement comment fonctionne l'option TCPKeepAlive de SSH avec Ansible et comment l'utiliser.
Merci
La reconnaissance faciale débarque en France et vous n’y échapperez pas - Médias / Net - Télérama.fr
À votre avis, quelle était l'étape qui allait juste après la vidéo surveillance de masse généralisée ? Un indice, ça s'appuie sur l'IA, ça traite une quantité pharaonique d'images et ça pourrait s'appeler le contrôle de surveillance individuel généralisé et total ! #Orwell
Autre question, à quoi pourrait bien servir un tel système à un état, lorsqu'il est utilisé à 99% sur des populations civiles, innocentes et sans casier judiciaire ni intension de nuir ? Un indice Huxley et Orwell nous l'on déjà expliqués : au contrôle politique, au contrôle des comportements et au contrôle des pensées PER-MA-NENTS.
Mais bon, il paraît que la Chine a une économie florissante donc pourquoi ne pas faire comme elle hein ? HEIN ?
Puisse les dépolitisés ayant voté Macron être atteints les premiers par une telle horreur.
Analyse très pertinente des deux mouvements. À revoir une seconde fois.
M'a faite sourire !
Dans la liste, je cite :
Perl, Haskell, Ruby, Objective-C et finalement R
J'ajouterai Java d'ici à 20 ans et Scala d'ici à 15, les deux remplacés par Kotlin en grande partie et Clojure/Elixir dans une autre mesure ; et enfin PHP d'ici à 15 ans remplacé par Python et TypeScript. Voici un graphique tiré de l'article :
Question... À quand JavaScript ?
Comment paramétrer parfaitement votre equalizer / mixer. C'est fou toute la différence que procure cette configuration !
Un retour d'expérience sur la complexité qu'implique les micro-services.
Une comparaison avancée du mode natif vs jvm de Quarkus. Le benchmark est intéressant.
Une explication de 14min 33 expliquant comment et pourquoi nous sommes si nombreux à parler de la crise qui emportera toutes les autres. Heureusement il y a deux solutions ;
- Dépenser toutes ses liquidités avant qu'elles ne s'évaporent.
- S'entraider dès l'instant où le crack s'est produit (pour résister à l'état qui enverra ses milices policières et militaires pour saisir les biens des gens honnêtes ne pouvant plus payer leurs crédits à cause des banques elles-mêmes).
Je partage l'avis de Jacques Sapir, à savoir que les banques qui sont solvables ne seront pas forcément celles qui s'effondreront et emporteront toutes les autres les premières.
En effet, nous allons traverser ce que l'on appelle "la crise des liquidités", ce qui signifie que c'est le manque de trésorerie qui emportera les banques et non leur accumulation d'actifs pourris.
Je cite :
Une crise de liquidité, répétons le, est la pire menace pour les banques. En effet, même si elles sont solvables, elles peuvent être emportées par une crise de liquidité en 2 ou 3 jours. Et l’on se rappelle de spectaculaire faillite de le Bear Stearns en 2008, qui s’était produite le 17 mars et qui avait été le coup de semonce avant la crise des « subprimes » et la faillite de Lehman Brothers.
Là où tout devient ubuesque c'est que derrière la crise des liquidités se cache la crise des actifs pourris et la crise des dettes publique et privée... lol what !?
Et sinon séparer les banques d'affaire des banques d'investissement, restaurer le Steagel Act, restituer à l'état seul les privilèges de création et de destruction monétaires, rendre de nouveau public les masses monétaires M1, M2 et M3, sortir de l'UE pour récupérer le contrôle de sa monnaie (quantité d'unités monétaire et taux de change), permettre aux citoyens de disposer d'un compte d'épargne à la Caisse des Dépôts et Consignations, créer deux monnaies nationales : une pour les échanges commerciaux et l'autre pour la réserve de valeur (capitalisation) afin de protéger l'épargne des plus pauvres des fluctuations des marchés, interdire le trading à haute fréquence, taxer les transactions financières...
Bref, des solutions il y en a un paquet, elles sont simplissimes et pourtant quelque chose bloque, comme si l'intérêt bancaire avait pris le contrôle sur le pouvoir. Oh wait...
Voici quatre propositions :
- Un système qui centralise toute l'information pose problème.
- Un système qui autorise la censure pose problème.
- Un système qui n'est pas régit par un contrôle démocratique pose problème.
- Un système qui récompense des actes malveillants pose problème.
Vous mélanger ces quatre éléments et vous obtenez le fait que 20 Minutes peut forcer Facebook à censurer un concurrent, sans motif, que cela va lui rapporter de l'argent [ndr. à 20 Minutes] et que le concurrent, ici Mr. Mondialisation, n'a aucun moyen de défense.
Pas mal le service chez 20 Minutes. GG les gars, l'étape d'après c'est la répression du parti unique chinois, vous pouvez être fiers d'améliorer la compétitivité française dans ce domaine #Bravo.
Parce que je ne m'en souviens jamais :
# Générer le fichier contenant la clef privée
openssl genrsa -out Entreprise_Serveur.key 8192
# PRIVATE_KEY_FILE Le chemin vers le fichier qui contient la clef privée du certificat SSL
# CERTIFICATE_FILE Le chemin vers le fichier à gérer et qui contiendra le certificat SSL
# ENTERPRISE_DOMAIN Le nom de l'entité pour qui le certificat est générer
openssl req -new -key <PRIVATE_KEY_FILE> \
-subj "/CN=<ENTERPRISE_DOMAIN>" \
-out <CERTIFICATE_FILE>
Un task runner léger et écrit en Golang (je cherche un truc à base de Git-hook pour fabriquer l'équivalent d'un CI mais qui s’exécuterait avant que le code ne soit pushé/mergé sur le répo).
Edit : J'avais oublié de parler de son homologue Tusk qui n'est pas mal non plus !