Ayé je succombe à GitHub et c'est mal

C’est le mal, j’ai créé mon compte GitHub et je commence à l’utiliser. C’est le mal, dépendant d’un système tierce qui est utilisé par tellement de monde que j’en viens à me dire que l’hégémonie et les conséquences néfastes qui vont avec ne sont pas loin…
Mais faut avouer c’est assez pratique et sympa et je dois me faire trop vieux pour passer du temps a continuer de créer et administrer mes propres services. Je suis faible, fouettez moi
Au passage cette page est pas mal foutue pour lister les clients git.
Je vais donc tester (oui hélas je bosse sous windows mais j’ai pas trop le choix en fait) :

  • Sourcetree après tests, c’est toujours pas utilisable sous win (lenteurs, plantage sur merge et conflits)
  • Smartgit en fait l’option free est bidon, c’est juste free pour 30jours d’usage donc exit
  • GitHub 4 windows ca va c’est a peu près utilisable mais beaucoup trop simpliste et assisté
  • Mysgit ajoute les fonctions de base à windows, même si c’est de l’émulation ca semble une base fiable requise (choix retenu)
  • TortoiseGit lui au moins il fonctionne et est intégré correctement (choix retenu)

Honte à moi…
En tout cas force est de constater que git se démocratise petit à petit au dela des pur et durs de la ligne de commande linux only.
Edit 06/11/2014 : mise à jour outils et évaluation

A la recherche de la bonne box linux Docker

Pour travailler en environnement windows avec Docker (prévu à la base pour linux), pas d’autre choix pour l’instant que de passer par une VM de base linux.
Pour cela l’outil de base fourni par l’écosystème docker c’est boot2docker dont la recette de cuisine se trouve ici (ce qui est drôle c’est que l’iso est construit grace à docker, bref si vous voulez construire vous même et que vous n’avez qu’un windows c’est pas gagné) En gros cela installe un virtualbox avec une image iso boot2docker basé sur une distribution tinycore réduite au maxi.
A l’usage c’est pas totalement pratique et avec des collègues le choix s’est plutôt orienté vers un système piloté à base de vagrant. Cela permet avec un simple vagrantfile et un petit vagrant up de démarrer (avec même une perso dans le provision de vagrant si besoin).
Le vagrant cloud comporte deux images intéressantes de boot2docker, celle dduportal (pas tout à fait à jour hélas) dont la recette est ici et celle de yungsang dont la recette est ici.
Boot2docker a l’avantage d’être très light, efficace et permettre de démarrer des conteneurs docker sans souci. Le souci, c’est qu’il est en fait trop light (c’est pour dire que même la commande more ne marche plus car ils ont viré un peu vite ncurses…). Et si jamais vous voulez installer un truc supplémentaire c’est pas évidement. Ok avec des commandes style tce-load -wi make.tcz vous pouvez installer make, sauf que comme presque tout boot2docker est en ram (hormis /var/lib/docker et /var/lib/boot2docker) c’est pas persistant. Après il faut ruser et c’est moche. Enfin dernier problème, tinycore c’est bien mais ça a pas l’air top maintenu et à jour (quand on voit l’age des paquets sur leur repo, ca fait juste flipper : 2010 au plus récent).
Alors je me suis mis à vouloir construire ma docker box. Mais…. C’est compliqué… Pour mémoire, la box doit contenir vraiment l’essentiel et que l’essentiel et rester d’une taille raisonnable (le max de la logique doit être dans les conteneurs dockers). Pour mémoire boot2docker fait environ 90Mo… Donc après quelques installations en mode serveur d’une débian ou d’une ubuntu avec l’iso dans virtualbox, on a un linux de base qui fait malheureusement entre 400 et 500Mo. Et faire le ménage devient fastidieu… Sans compter l’install spéciale docker, les bricoles pour virtualbox et vagrant.
C’est alors que j’ai vu qu’ubuntu fournit des packages officiels. Et williamyeh a la bonne idée de fournir une image basée dessus dont la recette est ici (il a aussi une image debian jessie dans vagrant cloud). Cette base d’image donne tout ce qu’il faut pré-configuré pour la modique somme de 360Mo environ (pour la base ubuntu). Avec un peu de ménage simpliste (ya des trucs vraiment inutiles pour ce qu’on veut comme juju-core dans l’image unbutu) j’arrive a environ 260Mo. Ca devient mieux mais ça reste trop et aller plus loin dans le ménage commence a demander des connaissances / du taf un peu plus avancé… De plus je reste persuadé qu’on embarque encore trop de trucs au runtime dans cette image. Pour rappel elle doit être vraiment minimaliste (et a l’usage, je ne suis pas sur de l’efficacité de mon image).
C’est alors qu’en lisant la recette officielle de boot2docker (en gros le dockerfile) j’ai vu une référence à une image d’unclejack.
Et là je tombe sur la recette d’unclejack. Et la miracle, enfin ce que je cherchais à faire une debian2docker ultra light ! Miracle. En plus je ne connais pas le personnage mais il ambitionne de servir de nouvelle base à boot2docker. En plus il prend en base une debian jessie. Une distrib maintenue et à jour qu’on devrait pouvoir personnaliser relativement facilement avec un bon apt-get ! La ou il est fort l’annimal, c’est qu’il arrive à pondre à priori une image debian avec docker d’une taille de 50Mo O_ô soit 40Mo de moins que celle boot2docker officielle… Et la technique pour la générer est bigrement inventive (pour moi) en gros il crée un environnement chrooté dans une linux avec vraiment le mini requis des packages sélectionnés à la main et en fait un iso. Bon à priori je doute qu’avec 50mo il y ait grangd chose (genre les outils de base de tout linux) mais c’est surement une base foncitonnelle qu’on doit pouvoir utiliser sans trop tomber dans une taille énorme. A creuser !
Bref, aujourd’hui je vais creuser cette piste pour avoir une image sympa avec make (idée d’un collègue qui pourrait se révéler plus personnasiable et maléable que fig pour piloter des conteneurs) et fig installé de base. Peut être deux trois autres bricoles genre docker-gen pou pipework.
Sinon restera la solution de partir de la recette du boot2docker (qui au passage semble contenir les éléments que dduportal prévoit genre virtualbox guest addition, bizarre à creuser) mais bon tinycore j’ai donné mon avis dessus. Reste que le montage en ram c’est plutôt pas mal d’un certain sens (même si à chaque reboot de la vm tout est parterre ce qui est aussi assez chiant pour certaines choses).
Sinon en remarques en vrac

  • J’ai vu plusieurs fois dans les recettes un outil nommé packer utilisé pour standardiser et outiller la créations d’images, à creuser donc.
  • Terrywang fournit quelques box de base pour vagrant des principaux systèmes et ça semble bien foutu
  • Le projet bento semble intéressant pour constuire proprement (et de manière répétable) des box pour vagrant (d’ailleurs il utilise packer)
  • Si vous vous demandez comment installer un package sur tinycore avec le gestionnaire de packet c’est ici (bizarre d’ailleurs ca fait râler mon antivirus).
  • A un moment donné je me suis demandé si pour construire une distrib minimale Arch linux (releases ici) serait peut être un bon choix (mais compte tenu du travail d’unclejack je vais lacher l’affaire…)
  • Si vous compter travailler avec un partage entre votre vm linux et votre windows avec le partage virtualbox, d’après mes mesures (à la louche) comptez un temps de réaction x2 pour les écritures disque (autrement dit ne faites pas tourner des volumes partagés avec votre host win et vos conteneurs dockers).
  • Par contre les partages de file système entre docker et sont host linux semblent n’engendrer que peu voir pas de perte de performance (par contre j’ai l’impressio que la perf est moins régulière).
  • Attention, pour les deux points précédents, les tests ont été effectués sur boot2docker et un fs qui est donc monté en mémoire (ça doit probablement jouer aussi !). A confirmer donc avec un fs non mémoire.

Voilà ç’est tout pour mes réflexions en vrac (pour l’instant).

Les phénomènes quantiques sont-ils dus à des mondes parallèles ? : Le Nouvel Observateur

La physique quantique est vraiment bizarre. Selon ses lois, on peut par exemple avoir un chat qui serait à la fois mort et vivant jusqu’à ce qu’on puisse l’observer directement. On peut aussi avoir des particules qui interagissent indépendamment de la distance qui les sépare, ou encore des particules qui passent par deux trous en même temps. Avec ses règles, il est impossible de connaître simultanément la vitesse et la position d’un électron, il faut choisir. Einstein lui-même était dérangé par certains de ses aspects, notamment le fait que des éléments soient basés sur les probabilités, ce qui lui fit prononcer la fameuse phrase « dieu ne joue pas aux dés ».

via Les phénomènes quantiques sont-ils dus à des mondes parallèles ? : Le Nouvel Observateur.
La physique quantique c’est vraiment le truc le plus louche et fantastique qui existe XD. Sliders nous voilà !

10 changements étonnants qui se produiront quand vous apprendrez à apprécier d'être seul

Certaines personnes pensent que le fait d’être «seul» est une mauvaise chose. Cela signifie soit que vous êtes antisociale, ou non désiré, et dans tous les cas, ça ne fait pas bonne figure.
En réalité, être seul n’est pas nécessairement une mauvaise chose, car il y a de nombreux bénéfices provenant de la solitude quand vous apprenez à l’accueillir à bras ouverts.
Cela ne sous-entend pas d’adopter le style de Tom Hanks dans le film « Seul au monde », parce que personne ne peut discuter des avantages et de la joie provenant de l’accomplissement des relations avec les autres personnes.
Mais cependant, lorsque vous apprenez à apprécier d’être seul, vous grandissez en tant que personne.

via 10 changements étonnants qui se produiront quand vous apprendrez à apprécier d’être seul.
Bon, habituellement je n’aime pas ce genre d’articles. D’ailleurs celui ci est moyennement satisfaisant mais n’empêche oui, il y a du vrai. Avoir des moments à soi ça fait du bien.

Why You Should Never Use MongoDB « Sarah Mei

Disclaimer: I do not build database engines. I build web applications. I run 4-6 different projects every year, so I build a lot of web applications. I see apps with different requirements and different data storage needs. I’ve deployed most of the data stores you’ve heard about, and a few that you probably haven’t.
I’ve picked the wrong one a few times. This is a story about one of those times — why we picked it originally, how we discovered it was wrong, and how we recovered. It all happened on an open source project called Diaspora.

via Why You Should Never Use MongoDB « Sarah Mei.
Article très intéressant sur l’usage du NoSQL avec MongoDB. Ça confirme un peu l’avis que j’avais sur le sujet.