Mensuel Shaarli

Tous les liens d'un mois sur une page.

January, 2017

People : ces mères et filles sont trop canons ! - Magazine féminin Vie Pratique

Rappelez-moi de démarrer un jour une mind-map retraçant l'arbre généaloique de toutes ces "stars" qui on réussi dans la vie pas parce qu'elles étaient le fils ou la fille de quelqu'un hein... Parce que le piston, la filiation et les dynasties, cela n'arrive jamais.

Lea Linux : tuto d'optimisation

Comment définir la taille des blocs de vos partitions EXT4.

je cite :

Si vous utilisez la plupart du temps de gros fichiers, il sera probablement très profitable de formatter vos partitions avec des blocs de taille plus importante. En effet, Linux utilise par défaut des taille de blocs de 1024 octets. Vous pouvez changer avec des tailles de 4096 avec la commande mke2fs -b 4096 /dev/..., qui utilise des blocs de 4k au lieu de 1k. Cela va notamment réduire la fragmentation et réduire le temps de vérification lors d'un fsck.

Le lien propose toute une tripoté d'autres optimisations.

Optimiser Linux pour SSD, CompactFlash, et USB

Un tuto d'optimisation des lectures écriture d'un OS installé sur clef usb

What's Really Warming the World? Climate deniers blame natural factors; NASA data proves otherwise

Un infographie énonçant une explication du réchauffement global. Attention, j'émet toujours des doutes sur le principes de réchauffement "global". Je m'explique, où sont prises les mesures ? À quelles périodes de la journée ? En plein milieu de l'océan aussi ? On compte la température des océans ou juste celle de l'atmosphère ? On prend en compte la température des sols aussi ? Les outils de mesures d'il y a un siècle étaient-ils fiables ? Les mesures étaient-elles faites partout (comme ce serait le cas maintenant) ?

Bref vous avez compris, la notion de "température moyenne" est assez difficile à accepter pour moi mais d'une manière agnostique, s'il y a un risque c'est le principe de précaution qui me pousse à agir et non l'aspect alarmiste.

Vollà, maintenant vous savez.

NPM & YARN - À quoi servent l'un et l'autre ?

Voici l'une de mes bonnes résolutions de l'année : faire des articles se servant de la mise en forme Markdown de mon Shaarli. Celui-ci sera la première partie - de ce qui je l'espère - sera d'une longue lignée.

NPM C'est quoi donc ?

NPM c'est d'abord un acronyme signifiant Node Package Manager ce que l'on peut traduire par "gestionnaire de package de Node JS".

Le fichier 'package.json' c'est quoi donc ?

Tout comme il existe chez Maven, un fichier pom.xml qui décrit un projet, il existe un fichier package.json qui fait la même chose en Node JS.

Ok donc dois-je me servir de NPM comme outil de build ?

Eh bien non, désolé. En réalité vous pourriez, cependant JavaScript étant ce qu'il est, l'écosystème bouge tellement vite que la norme à adopter c'est YARN.

Ok mais qu'est-ce que YARN aurait de plus que NPM et justifiant son usage ?

Pour comprendre cela, il faut comprendre ce que fait NPM

  • NPM va d'une part gérer (c'est-à-dire télécharger et mettre à jour) vos dépendances et les dépendances de vos dépendances. Nous parlerons alors de *gestion transitive des dépendances.
  • NPM est également en mesure d'exécuter des commandes que vous lui aurez indiquer. Cela vous permettre par exemple de transpiler une application, de la packager ou encore de la déployer.

Parfait mais qu'est-ce que ne fait pas NPM alors ?
Eh bien deux choses :
1) Il ne met rien en cache, c'est-à-dire que NPM va retélécharger encore et toujours chacune des librairies que vous avez utilisé dans vos projets ; contrairement à Maven qui stocke dans le répertoire

$HOME/.m2/repository

l'ensemble des librairies dont vous vous êtes servi au moins une fois.
2) Il gère votre build de manière séquentielle, ce qui est dommageable en termes de performances étant donné que nos processeurs sont tous multi-cœurs voire multi-cœurs et hyper-threads à ce jour.

Et YARN est une surcouche de NPM qui répond tout simplement à ces deux besoins.

Design pattern : Builder et Builder sont dans un bateau | Blog Technique Xebia - Cabinet de conseil IT

Un tutoriel sur le design pattern builder du GoF où les différentes complexité d'implémentation de ce design pattern sont illustrés. Félicitation à l'auteur, très bon article.

L'impact de la viande sur notre atmosphère

Répétez après-moi :

1) Un végétarien en 4x4 pollue moins qu'un consommateur de viande qui roule à vélo.

2) La consommation de viande produit PLUS de gaz à effet de serre que TOUS LES MOYENS TRANSPORTS DU MONDE RÉUNIS !

10 sites Web découverts au cours de l’année passée | Sam & Max

10 sites web à connaître

Become a Programmer, Motherfucker

Une liste de tuto sur le site http://programming-motherfucker.com
La thématique est assez énorme : le client ne veut pas du Scrum, de l'XP, de l'Agile, des procédures de tests... Non le client veut et à besoin DE CODE. Donc à tous ses problèmes nous répondons "programming motherfucker".

Où trouver un Job ou une mission Python / Django ? | Sam & Max

Trouver des jobs de dev

Catégorie:Trucs — Lea Linux

Tout plein de trucs & astuces sur Linux d'une manière générale. Je copie-colle la table des matières ci-dessous :

  • Trucs Administration systeme‎ (2 C, 49 P)
    Trucs Android‎ (3 P)
    Trucs Au secours‎ (18 P)
    Trucs Documentation‎ (9 P)
    Trucs Développement‎ (6 P)
    * Trucs Installation‎ (30 P)
    Trucs Logiciels‎ (3 C, 23 P)
    Trucs Matériel‎ (6 C, 43 P)
    Trucs Noyau‎ (1 C, 11 P)
    Trucs Réseau‎ (3 C, 39 P)
    Trucs Sécurité‎ (1 C, 6 P)
    ** Trucs X Window‎ (43 P)
Iptables — Lea Linux

Un tuto sur iptables par l'exemple

OpenStack — Lea Linux

Le cloud sous Linux qui se couple super bien avec Docker : OpenStack.

Un superbe tuto également. (Ce post ainsi que son précédent sont pour toi Animal)

Docker — Lea Linux

Dockeriser (ie. conteneuriser) sa première application (et juste l'application, pas de conteneurisation d'un OS).

Merci à Lea-Linux encore une fois.

La Route du Temps - Théorie de la Double Causalité - Editions Le Temps Présent

Animal, ce livre est pour toi. En espérant que tu l'achètes :D

Osons Causer #3 : L’évasion fiscale nous coûte à chacun 136,24 € par mois - YouTube

Les vidéos d'Osons Causer sont toujours aussi didactiques et toujours aussi bien argumentées. Bref, un régale.

Gestion sémantique de version 2.0.0 - Semantic Versioning

La fameuse convention d'écriture en 3 sections : MAJEUR . MINEUR . VERSION

Lenny, c'est pour toi cet article.

Créer une partition dans la RAM pour écrire vos logs sous Linux

Ci-dessous se trouve mon /etc/fstab

$ cat /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdc1 during installation
UUID=0b59763b-4454-4705-aa57-761039f56cb0 /               ext4    errors=remount-ro,discard,noatime,nodiratime 0       1
## Fichier tmp dans la RAM
tmpfs             /tmp           tmpfs defaults,noatime,nodiratime,mode=1777 0 0
tmpfs             /var/tmp       tmpfs defaults,noatime,nodiratime,mode=1777 0 0
## Pour les logs
tmpfs             /var/log       tmpfs defaults,noatime,nodiratime,mode=0755 0 0
Tuto : convertir vos foreach en lambda en Java

Un tuto très sympa et très facile à comprendre (pour Roudoudoutte)

Tuto sympa sur le tuning de JVM

Pour toi Animal, chose dont nous parlions il y a quelques temps.

Optimiser les performances des disques dur sur Linux - Deimos.fr / Bloc Notes Informatique

Tout est dans le titre.

Qui détient quoi ?
thumbnail

Infographie cette fois-ci sur la nourriture. Je résume, il s'agit de 10 sociétés au monde qui détienne toute la production de la bouffe :

  • Nestlé
  • Pepsico
  • CocaCola
  • Kelloggs
  • Danone
  • Unilever
  • Associated British Foods
  • Mondelèez
  • Mars
  • General Mills

Sachant que Nestlé détient Danone et Kelloggs et que (de mémoire) CocaCola et Pepsico ne feraient qu'un cela redescend le nombre à 7. Et on s'étonne encore que 8 types détiennent autant de richesse de la moitié la plus pauvre du monde !!! Mais mais... Bordel quoi !

Barème des frais kilométrique pour véhicule

Fournit par l'URSSAF.

TDD Vs. math formalism: friend or foe? - Blog Arolla

Un très bon article qui compare les systèmes de preuve formelle vs les TU et les langages fonctionnels et orientés objets.

GitHub - You-Dont-Need-Javascript

Tout plein d'effets en CSS pour se passer de JavaScript (inutile pour la chose depuis un moment, c'est vrai)

Un moteur de recherche de torrent
Utiliser docker pour développer plus facilement

Un tuto Docker montrant comment monter un LAMP en récupérant des images depuis le répo Docker (qui je le rappelle ne devrait pas être utiliser en entreprise mais bon).

Vrais chiffres chômage novembre 2016, 23500 chômeurs de plus, malgré 326100 radiés ce mois - AgoraVox le média citoyen

Agoravox publie ici les vrais chiffres du chômage en vrai, c'est-à-dire en comptant les radiés qui sont pourtant toujours sans travail et sans indemnités. Nous arrivons à plus de 11 millions !

Quand mes compatriotes comprendront-il que les puissants et les riches qui passent à la télévision et la radio leur mentent ?

Sketch de COLUCHE qui parle de terrorisme d'état - YouTube

Quels jeux de mots.

SPF : un serveur / une méthode pour se protéger du spam

Le tout expliqué en une infographie. Vraiment sympa et à essayer.

Dans Tools - Online tools for users and developers.

Tout un tas d'outils en ligne dont pas mal pour les développeurs (80%) et le reste pour un usage plus classique.

Perlisisms - "Epigrams in Programming" by Alan J. Perlis

Une partie des citations IT dont nous parlions hier avec Animal

BYOS: Build Your Own Starter

Fabriquer son propre set d'outils pour fabriquer une application JavaScript React-JS.

Blocks — EverBlock

Comment fabriquer un mur rapidement chez soi avec des legos. Merci Chlouchloutte pour tes liens.

La vidéo youtube est ici

Published Patterns - Scrum plop

Un site de Google site écrit en parti par Jeff Shutterland (le mec avec Ward Cunningham qui a rassembler les autres pour créer scrum et rédiger l'agile manifesto).

N.B : pour moi-même et aux shaarlistes qui me suivent, ce site est un Google Site, ce qui implique qu'il puisse crever du jour au lendemain car c'est ce que fait Google avec l'ensemble de ses produits pas assez rentables, bref un backup est à faire.

SCRUM : An extension pattern language for hyperproductive software development

Un lien pour Chlouchloutte qui porte sur SCRUM. En espérant que cela puisse t'aider durant tes prochaines phases de coaching.

Dégooglisons Internet… avec Chromium et Google Chrome ???

Pourquoi et en quoi Chromium serait-il un attrape nigaud mis en œuvre par Alphabet (la holding détenant Google) à la faveur de Google Chrome. #Firefox

Je le rappelle, le seul et l'unique navigateur qui protège ses utilisateurs contre le viol et la destruction de votre vie privée c'est Firefox.

NetBeans Code Template : Créer une macro pour SLF4J

Comme certains le savent bien, je code sous NetBeans pour mes applis en Java et NetBeans a cette fichue manie de nous forcer à utiliser le logger embarqué dans Java (qui est une belle saloperie soit dit en passant). Bref, aucun moyen d'utiliser une macro pour générer le code de déclaration de ce logger dans la configuration par défaut. Sauf que je viens de trouver comment faire !!! Et c'était tellement facile que je regrette de ne pas avoir cherché la solution avant.

Voici la manipulation :
1) Aller dans le menu Tools > Options > Editor > Code Templates
2) Cliquer sur New et entrer psfl pour "Public Static Final Logger"
3) Ajouter le code suivant dans l'onglet "Expanded Text"

${no-format}private static final ${loggerType type="org.slf4j.Logger" default="Logger" editable="false"} LOGGER = ${LoggerFactoryType type="org.slf4j.LoggerFactory" default="LoggerFactory" editable="false"}.getLogger(${CLASS editable="false" currClassName}.class.getCanonicalName());${cursor}

4) Appliquer et fermer la fenêtre.

Comment s'en servir ensuite ?
1) Quelque par dans votre classe taper : psfl puis TAB (ou la touche d'expansion que vous avez défini) et NetBeans générera le code suivant :

// Avec les imports qui vont bien évidemment :D
private static final Logger LOGGER = LoggerFactory.getLogger(MaClass.class.getCanonicalName());

Explications :

  • ${no-format} : Demande à NetBeans de ne pas formatter la ligne générée
  • ${loggerType type="org.slf4j.Logger" default="Logger" editable="false"} : Demande à NetBeans d'importer la classe Logger et de la définir comme type de la variable
  • ${CLASS editable="false" currClassName} : Demande à NetBeans d'écrire à cet emplacement le nom de la classe courante
  • ${cursor} : Demande à NetBeans de positionner le cuseur d'édition à cet emplacement à la fin de la génération
Registre National des Refus de dons d'organes

Vous souhaitez refuser de donner vos organes, ce lien est fait pour vous. Je rappelle qu'en France, depuis le 1er janvier 2017, chaque citoyen est PAR DÉFAUT considéré comme donneur.

Comme je l'ai dit à Animal, le don d'organe "oui je suis pour", mais à la condition qu'il soit fait entre deux personnes issues d'une même classe sociale - ou plus précisément, d'une personne plus riche vers une autre plus pauvre. Histoire d'inciter les hyper-riches à partager l'argent de leurs fraudes s'ils désirent partager les organes des autres.

JVM performance optimization
thumbnail

Un super tuto expliquant le fonctionnement d'une JVM et toutes les manières de l'optimiser via du tuning :

Robert Muth: Better Bash Scripting in 15 Minutes

Protéger ses scripts bash avec tout un tas de bonnes pratiques

» [Vidéo] Fillon devant les patrons (mars 2016)

Le discours de François Fillon en quête de financement pour sa campagne. Là il expliquait sa stratégie devant les "grands patrons".

La vidéo est à voir, ici la transcription de son discours, essayez de bien comprendre ce qu'il dit réellement et entre les lignes :

Moi ce que je veux, c’est que le 1 er juillet, les deux ou trois ministres chargés des réformes, l’économie et les finances, le travail, pour l’essentiel, arrivent avec des textes prêts, et, dans une forme de ” blitzkrieg ” fassent passer devant le parlement en utilisant d’ailleurs tous les moyens que donne la constitution de la cinquième république, les ordonnances, les votes bloqués, le 49.3, tout ce qui est nécessaire, qu’ils fassent passer en l’espace de 2 mois, sans interruption estivale, les six ou sept réformes fondamentales qui vont changer le climat de l’économie et le climat du travail dans notre pays.

C’est évidemment pour moi l’abrogation des 35 heures et la suppression de la durée légale du travail et le renvoi à la négociation dans les entreprises sans contraintes, c’est le nouveau code du travail, c’est la réforme de la fiscalité du capital, fondamentale pour relancer l’activité économique dans notre pays, c’est la réforme de l’assurance chômage, c’est la réforme de l’apprentissage, et c’est les mesures, les premières mesures d’économies sur le budget de l’état et sur le fonctionnement de l’État.

Donc pour prolonger cette tension moi je pense qu’il faut organiser un référendum en septembre qui permet de maintenir l’état de tension électorale dans le pays et donc de rendre très très difficile la contestation sociale pendant cette période autour de deux ou trois idées fortes qui à mon sens ne font pas courir trop de risques au président de la république élu et à sa majorité, ce référendum pourrait tourner d’abord autour d’une question fondamentale : “Est-ce que vous êtes d’accord pour qu’on inscrive dans la constitution le principe d’égalité des régimes sociaux entre le public et le privé ?” , inscrit dans la constitution de la république française ça rendrait absolument obligatoire et nécessaire la convergence des régimes sociaux. Deuxième question ” Est-ce que vous êtes d’accord pour fusionner les départements et les régions ?”. Troisième question “Est-ce que vous êtes d’accord pour supprimer un certain nombre de parlementaires ?” , diminution du nombre de parlementaires ça peut paraître un peu démagogique, être un peu comme la cerise sur le gâteau ou la crème chantilly pour être certain que le référendum soit voté, mais je pense qu’en plus ça peut conduire à la modernisation du fonctionnement du parlement.

Voilà, si on fait tout ça, on crée un choc qui à mon sens rend très très difficile la réaction sociale que vous craignez.”

Oubliez les Frameworks Agile, pensez Patterns ! | Blog Technique Xebia - Cabinet de conseil IT
thumbnail

Toujours pour Chlouchloutte, les design patterns organisationnels (supposés rendre scrum, kanban et agile manière générale obsolètes).

Beaucoup de doc à backuper en tout cas, en voici un extrait pour mémoire d'ailleurs :

Il a été documenté de nombreux Patterns Organisationnels par ceux qui se consacrent à l’étude des organisations. Jeff Sutherland considère par exemple que pour les équipes Scrum qui font du logiciel, il faut ajouter à Scrum les patterns suivants :

  • Work Flows Inward (l’information aux équipes de développement ne doit pas venir de la hiérarchie)
  • Architect Controls Product (l’architecte donne la direction et agit avec leadership)
  • Architect Also Implements (l’architecte est également développeur pour garder le contact avec la réalité du terrain)
  • Domain Expertise in Roles (recruter des experts dans leur domaine)
  • Get On With It (même si votre plan est incomplet, prendre ce que vous savez déjà et commencer à construire le produit)

Il dit aussi appliquer systématiquement les Patterns suivants dans les équipes qu’il accompagne, celles qui démarrent comme celles qui veulent passer à la vitesse supérieure :

  • Stable Teams (pérenniser au maximum la composition des équipes pour gagner en efficacité et en prédictibilité)
  • Yesterday’s Weather (ne pas planifier plus que ce que l’équipe a réalisé dans le ou les Sprints précédents)
  • Swarming: One-Piece Continuous Flow (maximiser l’effort de l’équipe sur l’élément le plus important à livrer afin de le finir au plus tôt)
  • Illegitimus non Interruptus (allouer explicitement du temps pour les interruptions dans le Sprint, et interdire les interruptions au delà du temps alloué)
  • Daily Clean Code (faire en sorte de toujours pouvoir fixer l’ensemble des défauts du produit en un jour)
  • Emergency Procedure (l’équipe établit une procédure claire qu’elle met en oeuvre lorsque le Sprint va dans le mur)
  • Scrumming the Scrum (à chaque Sprint l’équipe identifie le problème numéro 1 et le résout)
  • Happiness Metric (l’équipe mesure sa satisfaction au travail, identifie une chose qu’elle pourrait faire pour accroitre sa satisfaction et l’implémente au Sprint prochain)
  • Teams that finish early accelerate faster (prendre moins de chose dans les Sprints pour finir rapidement, puis ajouter des choses au Sprint au besoin)

Vous retrouverez le détail (contexte, problème, proposition de solution, effets attendus, etc.) de ces Patterns sur scrumplop.org. Le site est vieillot et il est parfois difficile de s’y retrouver, mais c’est la source la plus aboutie pour quiconque s’intéresse aux organisations et à leur performance. Courez-y !

JSweet: a transpiler to write JavaScript programs in Java

Transpiler du Java vers du JavaScript. Utilisable côté client et peut-être côté serveur. J'y penserai à pour ma news letter

Rope (data structure) - Wikipedia

Les ropes sont une structure de données optimisée pour manipuler des textes avec beaucoup beaucoup de caractères. Je ne connaissais pas, s'inspire des arbres visiblement.

Keep a Changelog

Comment écrire un "bon" fichier de changelog