lundi 22 octobre 2012

App::Flo : Reclaim space used by duplicate files

Once again I have to handle the same situation : no more spaces and directories with a lot of duplicates.

That's not the first time I have to do it
(last time it was to remove all the duplicates .mp3 with different names when I merged my various 'Music' directories from different boxes/disks.), so I already have a small script waiting in my repos.

But this time I choose to explore another way, instead of removing duplicate files, I've tried the hardlink substitution way.

Using hardlinks is not always applicable but my perl5/perlbrew directory seemed a good candidate (read only duplicate data...).
And it was : after running my script on it, the size went from 765M to 670M, and all the test suites of the tested modules passed with all the Perl versions.

I first thought to release the script as a patch for perlbrew, but thinking more about it I realized that a need probably exists for a more generic tool.

That's why App::Phlo was created :-)

Not a killer module, but one that suit my needs, and that will enable me to test some ideas (multi digest algorithms, use with "unionfs like" fs, Perl dirs optimization...)

If you want to experiment with me, don't hesitate : Ideas, patches, comment are always welcome...

samedi 13 octobre 2012

Solarized : Un peu de couleurs avant les vacances...

Un collègue m'ayant récemment posé des questions sur l'installation du thème de couleurs "Solarized" pour vi(m) j'ai décidé de noter ici les informations pour ceux que ça pourrait intéresser.

Qu'est ce que Solarized ?


C'est un thème de couleurs scientifiquement conçu par Ethan Schoonover pour offrir un contraste sélectif qui s'adapte aussi bien au fonds sombres que clairs en utilisant un nombre réduit de couleurs (palette de 16 couleurs)

L'auteur et divers contributeurs fournissent des fichiers de configuration pour divers programmes : de la palette Gimp/Photoshop au plugin vim en passant par les fichiers de configuration de terminaux....

Plus d'infos :  http://ethanschoonover.com/solarized

Pourquoi Solarized ?


D'abord parce que nous le valons bien bien :-)

Ensuite parce que le thème est joli, efficace, sans être criard.

Enfin parce que tout bon geek qui se respecte, aime bien 
personnaliser/améliorer son environnement de travail et expérimenter de nouvelles choses.

Solarized ça s'installe comment ?


Simplement (dans la plupart des cas)

Mais comme on peut parfois être perdu devant la multiplicité des fichiers proposés, je vais détailler ici l'installation sur mon laptop.

Solarized pour vim


D'abord installer https://github.com/altercation/vim-colors-solarizedPathogen (ça n'a rien à voir en soit, mais tout utilisateur de plugin vim devrait l'installer (ou un plugin similaire comme vundle/vimana))

Ensuite cloner https://github.com/altercation/vim-colors-solarized dans ~/.vim/bundle/

L'ajout dans le .vimrc de


 syntax enable
 set background=dark
 colorscheme solarized
 
Suffira a activer le theme.

Quelques notes toutefois :
  • L'activation d'options (let g:solarized_termcolors=256, g:solarized_contrast=high...) doit se faire avant l'appel au colorscheme
  • Si la coloration syntaxique de votre code fait apparaitre des portions avec des couleurs de fond différentes, vérifiez la valeur de t_Co  (:echo &t_Co de doit pas retourner 8)  et la valeur détecter par vim n'est pas la bonne (16 ou 256)  il faut la spécifier explicitement
      set t_Co=16

Solarized pour votre terminal


(Ce qui suit a été testé avec urxvt.)
Si vous utilisez vim dans votre terminal (et pas un gvim) vous devrez probalement installer https://github.com/altercation/solarized/blob/master/xresources-colors-solarized/Xresources

Solarized pour vos fichiers


 Ca serait dommage d'avoir ces belles couleurs configurées partout et d'obtenir une liste de fichiers/répertoires/liens aux couleurs dépareillées quand on fait un 'ls'

Sous Linux un outil permet de configurer simplement les couleurs des fichiers/répertoires  : dircolors

Il suffit d'installer un des fichiers de configuration
(https://github.com/seebi/dircolors-solarized) et de le charger au démarrage en ajoutant cette ligne dans le .bashrc

  eval `dircolors /chemin/vers/le/fichier/dircolor/choisi`

Voilà vous êtes 'Solarized' du sol au plafond...
:-)


2012-10-31 EDIT : Pour les utilisateurs d'(u)rxvt ne pas oublier d'installer feh pour une meilleure expérience...

mercredi 19 septembre 2012

Le volume simplement (pour un Geek)

Comme on est au 21e siècle et que j'ai conscience d'être ridicule à
  1. basculer vers mon terminal
  2. lancer alsamixer
  3. ajuster le niveau
  4. quitter alsamixer
  5. basculer vers mon application intiale
juste pour régler le son sur mon portable sous Archlinux, 
je me suis enfin décidé à régler ça comme il se doit 
(via fluxbox et amixer)

Il suffit d'ajouter dans .fluxbox/keys :


# Sound keys on my Asus zenbook
F10 :Exec amixer --quiet set Master 0
F11 :Exec amixer --quiet set Master 5-
F12 :Exec amixer --quiet set Master 5+


Certains préfèreront régler le mute comme tel :
F10 :Exec amixer --quiet set Master toggle

Mais une mauvaise expérience passée (c'est une longue histoire) me fait préférer le volume à 0 avec un retour au son lent et contrôlé :-)


Et pour ceux qui se demanderaient pourquoi je blog sur un truc comme ça, j'annonce officiellement que la série "papercut 2012" (résolution des petites irritations qui gâchent notre expérience/productivité) est désormais lancée :-)



dimanche 2 septembre 2012

Pas simple avec la poste

Comme c'est la deuxième fois que je suis confronté au besoin de faire correspondre le code INSEE d'une commune à un code postal, j'ai écrit un module Perl pour le faire : Data::FR::Town

Rien de magique, un bon gros hash et des getters, mais la présence du module sur CPAN devrait faciliter les déploiements et aider ceux qui n'auraient pas le temps de rassembler les informations...

A ce sujet, j'ai découvert avec horreur que dans notre beau pays, si les informations de l'INSEE sont gratuites et facilement disponibles, celles concernant les codes postaux ne le sont pas...

Cela sera assez facile de maintenir les informations de l'INSEE à jour, mais pour les codes postaux c'est une autre paire de manche.
Donc si l'un d'entre vous dispose d'un moyen pour obtenir les mises à jour (gratuitement) régulièrement, je suis intéressé.

A votre bon coeur messieurs dames...

dimanche 12 août 2012

Arch linux : Erreurs à ne pas faire

Les tutoriaux d'installation des sites archlinux sont bien faits, mais si vous voulez comme moi il y a peu vous lancer dans une installation sans prendre la peine de lire les docs au préalable, voici une liste d'erreurs à ne pas refaire (qui servira de mémorial à mon impatience)

* Ne pas positionner la variable HOSTNAME dans /etc/rc.conf

Le principal effet à été, l'impossibilité de lancer des applications sous X (le célèbre et enigmatique "Can't open display :0.0")

* Installer une vieille version d'archlinux

Parce que se débrouiller pour installer une version datant de 2011 en juillet 2012 est vraiment une mauvaise idée.
(pacman ayant changé de version, la mise à jour du système n'est sans doute pas la meilleure voie pour un débutant)
La version 2012 est vraiment simple, même si l'installeur a été remplacé par des scripts.

* Puis ré-installer une version 32 bits sur un ordinateur neuf

Alors au boot de l'installeur choisissez la bonne option : 64bits 
On est quand même au 21e Siècle, 64bits devrait être le défaut à l'installation sur les nouvelles machines. Pour les étourdis comme moi, il est quand même possible de basculer de 32 à 64 bits (Cf. http://wiki.archlinux.fr/Migration_64_bits)


* Ne pas maitriser les commandes de bases du gestionnaire de paquet

Pacman est simple, mais tout devient beaucoup plus simple quand on utilise tout son potentiel. Si vous parlez apt-get/yum/emerge couramment vous serez à votre aise en consultant avec ce tableau de correspondance

* Croire que plus il y a de mirroirs dans /etc/pacman.d/mirrorlist mieux c'est

"Less is more !" Un ou deux serveurs qui marchent c'est mieux que 100 qui ne marchent pas...
Après l'installation, bien penser à ne garder décommentés que les serveurs actifs correspondant à votre pays.

dimanche 13 mai 2012

Signe extèrieur de geekitude

Ça va faire 5 mois que je n'ai plus de smartphone.
(Non en fait ça fait 5 mois que je n'ai plus de téléphone, de carte d'identité, de permis de conduire et de carte visa, mais c'est une autre histoire)

Je n'ai plus qu'un vieux portable (pas de desktops), 13" (pas de doubles écrans) plus d'imprimante, de scanner...

Et vous savez quoi ? Je m'en passe bien, j'ai découvert que j'ai"besoin" de peu.

Le problème c'est qu'on ne change pas sa nature :  "Geek un jour, geek toujours"

Tout ça pour dire que je ne suis pas aidé; j'avais fort raisonnablement décidé d'acheter un téléphone qui ne fait que ça (pas d'écran tactile, pas de haute résolution, pas d'appareil photo, pas de gps...) quand la voix de la tentation me susurre à l'oreille (par la bouche de ma femme) : Arrêtes tes bêtises il te faut un vrai téléphone, tu veux pas plutôt un Galaxy S II ?

Que voulez vous que je réponde ?

Risquer mon mariage pour défendre le bon sens.
En plus un Galaxy S II, un joyaux de technologie sous Android (presque libre quoi) ça va être difficile d'argumenter.

Et puis le Geek est faible...

Bref je suis possesseur d'un Galaxy S II.
Merci Didine.