Mensuel Shaarli
October, 2018
Mais on va encore me taxer de raciste hein
Concept :
- J'importe un JAR avec Maven.
- Je développe pendant 6 mois.
- Je veux savoir si mes classes utilisent encore au moins une classe de ce JAR (où s'il faut virer cette dépendance).
J'utiliserai :
mvn dependency:analyzeCertains le savent, j'ai beaucoup de mal avec les bases relationnelles ; encore plus lorsque je code un service REST. Mais les bases dénormalisées ne constituent pas non plus une solution à mes yeux dans le sens où elles augmentent l'espace occupé et rendent difficile les opérations d'update (les données y étant redondantes).
Je pense que GraphQL est un bon compromis entre le monde relationnel et dénormalisé.
@Chlouchloutte @Lenny et @Doudou qu'en pensez-vous ?
Opinion: The fact that voter information is left on devices, unencrypted, that are then sold on the open market is malpractice.
Pour Chlouchloutte. Mais la comparaison n'est pas daté...
From a river
Le diagramme dont je me sers le plus pour expliquer les phases principales du cycle de vie de Maven.
Ahhh, la vente d'armes aux régimes terroristes...
J'approuve, j'adhère, je valide.
Un détail cependant : si la BCE contente l'Italie, cela ne fera pas le malheur des Allemands mais au contraire, cela leur conférera un avantage économique encore plus grand avec une monnaie encore plus basse. La seule façon de régler le problème - du point de vue des européïstes - c'est de supprimer totalement les états (bye bye la France, bye bye l'Allemagne, bye bye...) pour créer un état unique ou chaque européen paiera pour les dettes d'un autre.
Vous avez envie de payer pour les malversations financières de l'Italie, le chômage de l'Espace, la dette de la Grève, les bas salaires de la Bulgarie, la pollution de l'industrie Allemande, le service public de la France, l'éducation Hongroise...?
Vous l'aurez compris, individuellement, chaque pays ne parvient pas à gérer en urgence ses propres problèmes, et les européïstes sous-entendent, qu'à plusieurs, avec des priorités différentes, des contradictions d'intérêts, ces mêmes pays qui sont en "compétition économique" vont parvenir à s'entre-aider ? Croyez-vous que les retraités allemands accepteront de baisser leur retraite pour résoudre le chômage des jeunes espagnoles ? Croyez-vous que les français accepterons de baisser leur SMIC pour s'aligner sur les salaires bulgares ? Croyez-vous que l'Italie acceptera de mettre en gage son patrimoine culturel pour régler ses emprunts ?
Cela fait quelques semaines que je travaille avec les VPS d'OVH mais avant d'aller plus loin, je dois préciser :
- J'ai une offre VPS SSD 3 à 11,99 € HT / mois.
- J'ai aussi souscris à l'offre SNAPSHOT à 2,99 € HT / mois.
Mon retour : l'offre SNAPSHOT d'OVH ne fonctionne absolument pas.
Dans les détails croustillants
- La restauration de mon SNAPSHOT se retrouve systématiquement bloquée.
- L'explication que le support est parvenu à me remonter est que plusieurs robots interviennent dans la restauration mais l'un d'entre-eux foire après un certain nombre de relances en échec.
- OVH n'a jamais identifié le robot incriminé (ni pour eux-même ni pour que je puisse les aiguiller, lors d'un éventuel support suivant).
- Je ne suis pas certaine qu'ils vont investiguer sur la question puisque je suis peut-être la seule à être touchée.
- Ce problème pourrait toucher plusieurs datacenters mais le support n'est pas catégorique sur cette question.
- Quand vous restaurez un SNAPSHOT, celui-ci est automatiquement supprimé, il faut alors veillez à en refaire un aussitôt.
- Quand le support débloque à la main votre SNAPSHOT, l'opération prendre entre 3h (ce coup-là j'avais eu de la chance) et 7h... En moyenne comptez 4h30 avec un service en carafe totalement inexploitable (puisque toutes données enregistrées pendant cette période seront supprimées au moment de la restauration qui interviendra aléatoirement entre H et H+7 #Youpie))...
Solution proposée
- Payer plus cher leur offre Public Cloud... #MêmePasPeur #AuServiceDeTesClients.
- Éclater son gros VPS en plusieurs petits pour gérer ce phénomène d'indisponibilité mais soit même #DemerdenZizisch.
- Passer par les réinitialisation/réinstallation des VPS à la place. L'opération ne prend "que 30 minutes" et on repart totalement de zéro (heureusement il y a Ansible).
- Attention, à ce moment-là, vous perdrez l'éventuel SNAPSHOT que vous auriez fait #OhhhhhhhhhBahZutAlors.
Mes conseils / avis
- Si un SNAPSHOT vous est indispensable, trouver un autre prestataire qui sache les gérer.
- Faire sans SNAPSHOT.
- AWS si vous n'êtes pas contraint par le RGPD.
J'ai le sentiment qu'OVH vend un produit pas fini (les SNAPSHOT sur OpenStack / KVM) et qu'elle ne maîtrise pas du tout #ImageDeMarque #MenteurMenteur.
Jeanne d'Arc s'est éteinte le 30 mai 1431, environ deux heures après sa mort.
Bon ok, j'ai ris, voilà.
@Animal : cela fait trois fois que je relis ton post et je pense qu'il doit s'agir de l'un de tes meilleurs.
J'espère qu'il en inspirera d'autres autant qu'il m'inspire moi.
Je le trouve plus simple qu'Hugo. Je pense que je vais contribuer à leur faire un thème sympa du type wiki de projet d'entreprise.
Méthodologie de calcul de risque (pour tuer les points de fonctions).
Pour Animal et nos VPS
Introduction Writing documentation is like trying to hit a moving target. The way a system works changes constantly, so as soon as you write a piece of documentation for it, it starts to get stale.…
Rappel
Maven Wrapper est un petit script à positionner à la racine de votre projet et qui vous permettra :
- De définir la bonne version de Maven avec laquelle vous pouvez builder votre projet.
- De récupérer automatiquement cette version
Problème
Pour exécuter vos commandes de build, il ne faut plus taper
mvn clean install
mais
./mvnw clean install
Inconvénients :
- Le "./" a ajouter devant la commande est fastidieux.
- Si vous êtes dans un sous-module, vous devrez faire un "../mvnw clean install" et cela fait perdre du temps.
Solution
Elle est en trois phases :
-
Installer une version de Maven dans votre poste
- Sans l'ajouter à votre PATH
- Mais en créant la variable MAVEN_HOME
-
Ajouter le script suivant dans votre .bashrc
_build_mvnw_dir() {
echo "$1/mvnw"
}
_find_mvnw() {
currentDir=`pwd`
while [ "$currentDir" != "" ]; do
isMvnwDir=`_is_mvnw_dir "$currentDir"`
if [ "$isMvnwDir" == "true" ]; then
break
else
currentDir=`_get_parent_dir "$currentDir"`
fi
done
if [ "$currentDir" == "" ]; then
echo ""
else
_build_mvnw_dir "$currentDir"
fi
}
_get_parent_dir() {
echo "$currentDir" | sed "s|^\(.*\)/[^/.]*$|\1|"
}
_is_mvnw_dir() {
if [ -f "$1/mvnw" ]; then
echo "true"
else
echo "false"
fi
}
_mvn() {
mvnwPath=`_find_mvnw`
if [ "$mvnwPath" == "" ]; then
$MAVEN_HOME/bin/mvn $*
else
eval "$mvnwPath $*"
fi
}
- Ajouter l'alias suivant à votre .bash_aliases
alias mvn='_mvn'
Fonctionnement
Utiliser Maven comme vous en avez l'habitude, le script va simplement utilise Maven Wrapper s'il est définit dans votre projet, sinon il utiliser l'installation "par défaut" que vous avez faite de Maven dans le répertoire $MAVEN_HOME.
Il existe un autre client FTP : lftp
Ce que l'on sait depuis un moment déjà sur l'immaturité des conteneurs.
Information utile pour sa santé.
Via une river
J'entends surtout qu'encore une fois l'Union Européenne légifère à place des nations ; puisqu'elle est hiérarchiquement placée au-dessus par le TUE.
De facto, si une organisation étrangère à votre pays, décide des lois qui auront cours dans votre, en passant à côté du parlement, c'est que :
1) Votre pays n'est plus souverain (puisqu'il ne peut plus décider et s'organiser lui-même).
2) Votre pays est une colonie déguisée de cette puissance étrangère.
3) Votre pays n'est plus une démocratie puisque les quatre pouvoirs d'une nation ne sont plus en possession de la nation (ie. législatif, judicaire, exécutif et monétaire).
Quand mes
Le tuto est clair est simple :
- Installer un JDK 8 dans le path => easy
- Récupérer et installer kotlin-native dans le path => easy
- Lancer la commande
kotlin-native -o my_exec my_files.kt
Et voilà
Une solution vis-à-vis de mon problème avec SystemD :
[Unit]
Description=MetisFirewall
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo START > /tmp/switch"
ExecStop=/bin/sh -c "echo STOP > /tmp/switch"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.targetJ'ai ri
Des trucs & astuces sur iptables
Enfin une analyse pertinente. Depuis quelques mois, je n'arrête pas de lire des posts de Nekoblog accusant les uns d'êtres fascistes et hurler à la montée au fascisme.
En fait non, il n'y a pas des vilains vraiment méchant d'un côté et les gentils, les antifas, de l'autre. En réalité il y a des humains qui souffrent des deux côtés et qui tentent de trouver une réponse auprès de ceux qui viennent leur parler.
Les antifas agressent les fascistes, les accusent, les blessent alors que la meilleure façon de se débarrasser d'un ennemi c'est d'en faire un ami.
C'est "fascistes" ont subit un propagande de masse, financée par des intérêts supérieurs, en général transnationaux. Qui sont ces "investisseurs" de ces politiques ? Quels sont leurs intérêts ? Le font-ils par idéal ou par calcul avide et cupide ?
Ces mêmes personnes qui maintiennent le cap d'une politique de droite dure, qui parlent de Démocratie alors que le système en place est une ploutocratie fait de népotisme crasse, qui divisent la nation via un clivage gauche / droite virtuel supprimant du regard des fas et des antifas leurs intérêts de classe qu'ils partagent, ceux-là sont les vrais fascistes. Les autres ne sont que des gens avec qui il faut aller se réconcilier car seul le pouvoir du nombre peut vaincre le pouvoir des marchés.
Si vous devez améliorer votre code, cette courte lecture peut vous aider.
En fait je viens de tiquer... J'ai presque 2500 liens sur mon Shaarli et référencer un site fait que je doive payer l'auteur de la page que j'ai partagée... Bah je suis grave dans la merde !
Enfin, comme le dit Chlouchloutte : les mecs veulent qu'on revienne à la télé ! #TaGueuleEtConsomme
Je l'ai dit, encore et encore, l'Article 13 qui est passé, l'a été via lobbying qui s'est fait au niveau de cette foutue Union Européenne... Pas d'Union Europénne = Pas de Lobbying ni de lois de merde !
Il est temps : il faut sortir de cette saloperie d'UE, de cette saloperie de "Démocratie Représentative" et voter les lois nous-mêmes.
Parce que la nouvelle est élastique !
Pour Chlouchloutte
Comment devenir une entreprise agile ? La question se pose pour beaucoup de dirigeants et de managers. Un livre blanc, réalisé par la société Goji, apporte des réponses concrètes pour insuffler de l’agilité dans l’organisation.
Je trouve que RMS est quelqu'un qui pense et accepte de prendre le temps de faire les choses avec une vision locale et globale. Je préfère grandement sa démarche qui me semble bien plus inclusive et bien plus pertinente que tout code de conduite auquel j'ai pu accéder à cette heure.
Il n'y a pas d'éthique, pas de jugement de valeur, pas d'imposition aux autres de son propres modus operandi moral. Juste des lignes directrices basées sur un principe : la bienveillance.
Merci Richard.
Je copie-colle une partie de l'article ci-dessous :
Entre autres points, on peut lire parmi les directives de Richard Stallman aux mainteneurs et contributeurs du projet GNU que :
vous devez supposer que les autres participants postent leurs messages de bonne foi, même si vous n'êtes pas d'accord avec ce qu'ils disent ; vous devez penser à la manière de traiter les autres participants avec respect, en particulier lorsque vous n'êtes pas d'accord avec eux ; vous ne devez pas prendre un ton dur envers les autres participants, et surtout ne pas les attaquer personnellement. Vous devez faire de votre mieux pour montrer que vous critiquez une déclaration, pas une personne ; vous devez répondre à ce que les gens disent réellement, pas aux exagérations de leurs points de vue ; vous devez reconnaître que la critique de vos déclarations n’est pas une attaque personnelle contre vous. Mais si vous sentez que quelqu'un vous a attaqué ou a porté atteinte à votre dignité personnelle, Stallman recommande de ne pas riposter avec une autre attaque personnelle. « Cela tend à créer un cercle vicieux d’agressivité verbale croissante. Une réponse privée, énonçant poliment vos sentiments et demandant la paix, peut calmer les choses. Écrivez-la, mettez-la de côté pendant des heures ou un jour, relisez-la pour supprimer toute expression de colère, et ne l'envoyez seulement qu'après cela ». C'est ce que recommande Stallman ; vous devez être particulièrement gentil avec les autres contributeurs lorsque vous leur dites qu'ils ont commis une erreur. Le président de la FSF rappelle en effet que programmer signifie faire beaucoup d'erreurs, et c'est ce que nous faisons tous. C'est pourquoi, dit-il, les tests de régression sont utiles. « Les programmeurs consciencieux font des erreurs, puis les corrigent. Il est utile de montrer aux contributeurs que le fait d’être imparfait est normal. Nous ne leur en tenons donc pas compte et nous apprécions leurs contributions imparfaites, même si nous espérons qu’ils y remédient en y apportant des solutions » ; vous devez être aimables lorsque vous signalez aux autres contributeurs qu'ils doivent cesser d'utiliser certains logiciels non libres. « Pour leur propre bien, ils devraient eux-mêmes décider d'abandonner les logiciels non libres, mais nous nous félicitons de leurs contributions à nos paquets même s'ils ne le font pas. Donc, ces rappels doivent être gentils et peu fréquents - ne les harcelez pas », dit Stallman ; en revanche, suggérer que d’autres utilisent des logiciels non libres s’oppose aux principes de base de GNU, ce n’est donc pas autorisé dans les discussions du projet GNU ; vous ne devez pas soulever de problèmes politiques sans rapport avec les discussions du projet GNU, car ils sont hors sujet. Les seules positions politiques approuvées par le projet GNU sont (1) que les utilisateurs doivent pouvoir contrôler leur propre pile informatique (par exemple, en utilisant des logiciels libres) et (2) soutenir les droits de l'homme fondamentaux en informatique. En tant que contributeur, poursuit Stallman, il ne vous est pas demandé d’être d’accord sur ces deux points, mais vous devez accepter le fait que les décisions de la communauté seront fondées sur ces points.
Pour Chlouchloutte
Some of the components I've explored here have specific standardized requirements in order to work as expected. Tab interfaces, for example, have a prescribed structure and a set of interaction behaviors as mandated by the WAI-ARIA specification. It's at your discretion how closely you follow these requirements. Research may show
La technique de "RID Hijacking" permet aux pirates d'attribuer des droits d'administrateur aux comptes invités et autres comptes de bas niveau. Le procédé est simple à exécuter et difficile à arrêter.
Après investigation, ton problème est dû à la cross-compilation entre deux versions du JDK.
Explications
Tu essaies de compiler des sources Java en syntaxe 8 pour qu'elles soient compilées dans un bytecode dont le format sera à destination d'une JRE 8.
Or, tu opères cette compilation depuis un JDK 10. Que se passe-t-il alors ?
Simplement que le compilateur t'avertie que la JRE 8 a une certaine API et que ton JDK 10 contient l'API 8 + toutes les classes qui ont été ajoutées dans Java 9 et 10. Ce faisant, si tu venais à utiliser une classe n'existant que dans Java 10, alors même si le bytecode que le compilateur produit à partir de tes sources est à destination de Java 8, tu ne pourras pas lancer ton programme et tu auras une ClassNotFoundException.
Le JDK 10 ne pouvant pas savoir quelles classes ne se trouvent que dans Java 10, il te demande un bootstrap classpath, c'est-à-dire un chemin vers le fichier rt.jar d'un JDK 8, afin de ne te permettre de n'utiliser que des classes de l'API de Java 8 dans ton code.
Ainsi, le JDK 10 n'utilisera plus son rt.jar à lui qui est trop récent, mais l'ancien.
Solution
Ajouter dans la configuration du maven-compiler-plugin l'option
Il faut aussi que la variable $JRE8_HOME soit définie dans ton OS.
Et voilà.
N.B : en ce qui concerne les modules de Java 9, c'était une fausse piste, mea maxima culpa !
Pour mon exemple, je ne vais considérer que l'API proposée par SLF4J qui a un niveau de log en moins que celle de Log4j2 (le fatal) mais qui, à mon sens, ne sert à rien puisque logger le fait qu'une application se soit crashée est stupide... Puisqu'on le verra immédiatement qu'elle se soit arrêtée.
Reprenons :
ERROR
À ce niveau de log, il faut enregistrer les actions qui n'ont pas pu aboutir (typiquement une exception). Il faut savoir qu'une succession d'actions n'ayant pas abouties conduit en général à un crash applicatif, d'où le niveau error.
WARNING
À ce niveau de log, il faut enregistrer les événements qui sont incohérents mais vis-à-vis desquels l'application a pu retomber sur ses pâtes et donc poursuivre le traitement. Une succession de warnings trop importante engendre en général une erreur.
INFO
À ce niveau de log, il faut enregistrer l'activité des utilisateurs. Il ne s'agit pas de logs contenant l'état de l'application en elle-même mais ce que les utilisateurs ont essayé de faire avec l'application.
DEBUG
À ce niveau de log, il faut enregistrer l'activité technique de l'application (enregistrement sur le disque, ouverture/fermeture des connexions à la base, etc). Ce niveau de logs est à destination des admin-sys exclusivement pour leur permettre d'identifier un problème de configuration / comportement.
TRACE
À ce niveau de log, il faut enregistrer l'activité algorithmique de l'application, typiquement comment se comporte la mémoire, les threads, la création des objets, la validation / invalidation de contrôles conditionnels (if-else). Ce niveau est à destination des développeurs et uniquement eux pour leur permettre d'identifier l'origine d'un bug en production.
Je suis amoureuse.
De la zic, un mec dans une peluche, un batteur, le mythe !
Pour Animal et la gestion de nos VPS.
Tout sombre dans le chaos et personne ne semble s’y intéresser.
Le Bitcoin nécessite de l'électricité pour exister, beaucoup trop. Voici pourquoi c'est une mauvaise nouvelle pour notre planète, soulignent des chercheurs spécialisés dans le climat. Il ne faut surtout pas que son adoption progresse.
Retrouvée !! Pour toi Animal.
Tout ceux qui connaissent mon amour du libre et ma haine d'IBM save à quel point je trouve cette nouvelle triste. Voilà
@Doudou (pour l'initialisation de tes rôles)
Comment marche l'initialisation différée en Kotlin
// La variable myUtil sera initialisée qu'au moment de sa première invocation
val myUtil by lazy {
MyUtil(parameter1, parameter2)
}@Animal : tu ne devrais pas modifier le fichier settings.xml pour y intégrer Sonar mais ajouter cela dans un pom.xml.
Dit autrement :
- Le settings.xml de l'install de Maven est un pom.xml.
- Tout projet Maven buildé par cette install de Maven va hériter de ce settings.xml (y compris les autres users de l'OS).
- Mieux vaut privilégier son settings.xml dans $HOME/.m2/settings.xml.
- Mieux vaut encore l'intégrer au pom.xml du projet qui est concerné par Sonar (dans le sens où rien ne fonctionnerait avec un Maven Wrapper).
Problème
Je dois faire trois choses à la CCI aujourd'hui :
- Déclarer mon changement d'adresse.
- Faire corriger la dénomination de ma société.
- Redéposer la liste des bénéficiaire effectifs de la société.
- Valider la montée au capital social.
1. Déclarer un changement d'information du Président / Directeur
- Le formulaire M3 pour SAS (Cerfa N°11683*02).
- Le formulaire M2 (Cerfa N°11682*03).
- Une photocopie recto/verso de la carte d'identité.
- Un justificatif de domicile de moins de 3 mois.
- Un chèque (65,04 € en 2018).
2. Déclarer le changement de nom
- Une copie des statuts juridiques mis à jour, certifiés conforme par le représentant légal.
- 1 copie du procès verbal, certifié conforme par le représentant légal.
- 1 copie de l'attestation de parution dans le JAL (ou un exemplaire du journal ou la parution figure).
- Le formulaire M2 rempli et signé.
- Un chèque (65,04 € en 2018).
3. Déclaration de bénéficiaire effectif
- Bien veiller à avoir la dernière version du document, ça aide.
4. Montée au capital social
- 1 copie des statuts mis à jour, certifiée conforme par le représentant légal.
- 1 copie du procès-verbal portant mention originale de l’enregistrement auprès des impôts, certifiée conforme par le représentant légal.
- 1 copie de l’attestation de parution dans un journal d’annonces légales indiquant le nom du journal et la date de parution ou 1 exemplaire du journal d’annonces légales ayant publié l’avis
. 1 original de l’attestation de dépôt des fonds. - Un chèque (195,38 € en 2018).
Quand on voit la liste des pièces et la complexité des formulaires, tout ceci est la raison pour laquelle entrepreneuriat va mal dans ce pays.
Je partage cet avis.
Notre jugement de valeur n'a pas d'importance quant à ce que fait une personne de l'argent qu'on lui donne. J'ajouterai que la plupart des mecs qui refusent de donner de l'argent à un clochard (je déteste l'euphémisme SDF) sous prétexte qu'il va le claquer en gnôle ou en cigarettes se permet de s’immiscer dans la manière dont le clochard utilise sa thune (oui parce que donner c'est donner).
Tandis que ce même type ne va jamais se poser la question de savoir ce que font les milliardaires avec leur fric lorsqu'il spéculent sur des denrées alimentaires, financent des marchands d'armes, profitent de la fraude et de l'évasion fiscale, soudoient les politiques via des lobbying & co...
Non, ce genre de bonhomme ne va pas se permettre cette ingérence et vous savez pourquoi ? Parce que le milliardaire, ce fric, il l'a "gagné"... #DeuxPoidsDeuxMesures #LaSureurDeSonFront #LesPauvresRiches #CesConnardsDeClochards
Contrairement à Sebsauvage ici je ne dirai pas que le dev de SQLite soit un "bigot à la con". Le mec a une religion (et donc une opinion religieuse) à laquelle il tient. Parmi l'ensemble des points proposés, je ne me retrouve pas dans la croyance en un Dieu tout puissant, ni en le Christ (que je pense être une fable), ni en la prière, bref ni dans tout ce que le dogme d'une église prodigue ; et quelque soit cette église.
Par contre, pour ce qui est du reste (tu ne tueras point, tu ne seras pas envieux, tu ne blâmeras pas les autres à part toi-même #toussa)) j'ai du mal à comprendre en quoi ce sont de "mauvaises valeurs" pour gérer une communauté ou définir un code de conduite.
Sebsauvage, je ne pense pas qu'il faille être anti-religieux à ce point. Je n'apprécie pas la chose d'une manière générale, cependant je ne suis pas comme AstronoGeek - dont j'apprécie l’œuvre - mais qui transpire le narcissisme et le sentiment de supériorité parce que "lui il sait".
En tant qu'agnostique (parce qu'on ne peut démontrer ni l'existence ni l'inexistence de Dieu), je pars du principe qu'une morale qui vise à minimiser la souffrance de l'autre n'est pas fondamentalement une mauvaise morale ; et que comme toute morale, elle peut avoir des faiblesses par endroits #MoraleUtilitariste.
Enfin, au regard du fait que facilement la moitié de l'humanité croit en ce code de conduite, et que les points inscrits par le dev de SQLite ne font apparaître aucun critère de race, de sexe ou de religion (autre que les religions polythéistes - mais bon, il ne doit plus avoir beaucoup de mecs qui croient en Zeus ou en Odin de nos jours hein...), bah ce code de conduite a le mérite de parler au plus grand nombre.
Enfin Sebsauvage, techniquement tu viens de violer ce code de conduit à l'instant même où tu as publier ton commentaire sur ton Shaarli. Aussi, le mec de SQLite a-t-il eu tort ?
Fucking Savage !
Et la raison pour laquelle la suppression des cotisations sociales de notre salaire est une bonne chose #MacronMesCouilles #Frexit
J'ai retrouvé cette vidéo que m'avait montrée Chlouchloutte il y a bien 1 an. Je l'adore voilà tout.
La code base du framework Aurelia est en train d'être réécrite depuis quelques mois à présent. Cela constituera la première version cassant la compatibilité d'Aurelia en 4 ans ! (coucou Angular, tu pourrais faire pareil steuplé).
J'ai vraiment hâte, d'autant que cette nouvelle version :
- Pèse déjà moitié moins que la précédente
- Intègre un compilateur JIT
Il ne manquerait plus qu'un plugin de type brunch et le tour serait joué !
Je suis à la recherche d'un meilleur éditeur de sources pour Kotlin.
Bordel, VS Code de Microchiotte est en passe de devenir mon premier choix !
Il ne me reste plus qu'à migrer sur Gradle et je me serai convertie.
Si l'on m'avait dit cela il y a quelques années...
L'outil : youtube-dl-helper
Je repost car je cherche une autre banque également
Un tuto sur fail2ban. Toujours utile
Choisissez la lib qui vous plaît le plus
Un post intéressant sur les annotations JetBrains pour exposer le contrat d'une méthode (cf. programmation par contrat, JML). Si ces annotations peuvent servir à du code Kotlin pour plus facilement recevoir des données provenant d'un code Java, alors je pense que cela peut être une excellente idée de les utiliser afin d'avoir un code Java qui soit Kotlin friendly.
Le lien vers la doc officielle.
iptables -A OUTPUT -p tcp --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --state ESTABLISHED,RELATED -j ACCEPTComment mettre en cache des fichiers statiques avec Nginx
Gérer les cas au limite en spécifiant le typage attendu dans le JSON avec Jsoniter
Le dernier tips est génial !!!
Continuons à observer les frasques des GAFAM et voyons un peu les danger des appareils connectés qui « écoutent »… une énième raison d'essayer d'organiser une autre société où, peut-être, les humains s'écouteraient entre eux au lieu de se faire volontairement espionner par des boîtes noires.
Sources :
Quand un Google Home Mini se transforme en espion (01net)
Vous photographier a ...Un mantra pour gérer ses backups.
Comment setuper un load-balancer avec Nginx
D'une manière générale, je suis assez anti-SJW, mais je dois reconnaître que je n'ai jamais aimé les Corridas. En dehors du meurte, de la torture et du sadisme, le "combat" est totalement déséquilibré. Je veux dire que si au moins le taureau avait une chance de mettre à mort le torero sans que quiconque n'intervienne, à l'image de ce qui arrive au taureau lorsque le torero prend le dessus, alors... Bah alors je ne sais pas. Ce serait quand même une lutte à mort façon arène romaine et au 21-ième, je ne comprends pas.
Que se passe-t-il dans la tête des gens, ou plutôt qu'est-ce qu'il ne se passe pas pour qu'ils ne remarquent pas qu'il s'agisse d'un des spectacles les plus abjecte qui soit !? Mais vraiment, quiconque soutiens la corrida et ne soutiens pas les jeux du cirque (romain), les gladiateurs, les pendaisons publiques, la torture d'une manière générale est totalement incohérent à mes yeux.
Warning : la vidéo est insoutenable. Évitez-vous la si vous le pouvez. Seuls les commentaires Twitter valent la peine, le reste me hante déjà.
Paix au taureau.