dimanche 28 novembre 2010

中国好 (La chine est bien)

Donc j'apprends le chinois.

Comme j'oublie à chaque fois comment réactiver la saisie du chinois, je me suis décidé à écrire un billet pour fixer les choses une fois pour toute.

Bon déjà se rappeler que j'utilise ibus et pas SCIM comme indiqué sur les nombreux tutoriaux assez anciens qu'on trouve sur le net.

Ensuite installer ibus et la méthode de saisie pinyin:
sudo apt-get install ibus ibus-pinyin

Les fontes chinoises :
sudo apt-get install language-support-fonts-zh-hans

Si vous passez par l'interface graphique
(Système->Administration->Prise en charge des langues)
et que vous avez un message d'erreur :
"La prise en charge de la langue n'est pas complètement installée"
 Il vous suffit d'installer les paquets recommandés :
sudo apt-get install thunderbird-locale-en-us  gnome-user-guide-en language- openoffice.org-hyphenation-en-us openoffice.org-thesaurus-en-au gnome-user-guide-fr  openoffice.org-hyphenation-fr openoffice.org-thesaurus-fr

La configuration d'ibus est simplissime :
ibus-setup
Tout ce que vous aurez à faire devrait être de configurer le raccourci d'activation (dans mon cas la combinaison Ctrl+i)


Maintenant, après activation d'ibus vous pouvez saisir vos sinogrammes en tapant du pinyin et sélectionnant parmi les choix qui s'affichent ('espace' pour le choix courant, les flêches droite/gauche pour naviguer parmi les choix)

Si comme moi vous ne pouvez activer ibus sous vim pensez à ajouter :
set imactivatekey="C-i"
dans votre .vimrc

Et au cas ou le démon ibus ne serait pas lancé :
cd /etc/alternatives
sudo rm xinput-all_ALL
sudo ln -s /etc/X11/xinit/xinput.d/ibus xinput-all_ALL

jeudi 7 octobre 2010

I'm a XP whore and a git learner (en/fr)

As I've not found an XP Whore support group, let me confess here my flaw.

I've always been an XP whore : I've been a RPG gamer when I was a kid, a stat junkie when I've started to work, a Perlmonk....

So as a geek, I had no chance to resist my latest discovery :

git-achievements (http://github.com/icefox/git-achievements)

This tool just impersonates git :

export PATH="$PATH:~/git/git-achievements"
alias git="git-achievements" 
  
To now log every git action and grant you some "levels" based on the actions you do.

But more useful than to the "git levels" granted to you, you also have cool stats about your git usage that might be useful to tweak your config/workflow/tools...

If you want to see what a casual not so frequent user can start to produce as stats, look here :
http://arhuman.github.com/git-achievements/

And what it looks like when you're a git master :
http://icefox.github.com/git-achievements/

Forgive me, but I have to go. I have so many achievements to unlock ;-)

[French Translation]

Comme je n'ai pas trouvé un groupe de soutien pour les accros aux points d'expériences, laissez moi vous confesser ma faiblesse.

J'ai toujours été accroc aux points d'expériences : j'ai été un joueur de jeu de rôle gamin, un accroc aux stats quand j'ai commencé à travailler, un Perlmonk...

Alors en tant que geek, je n'avais aucune chance de résister à ma dernière trouvaille :

git-achievements (http://github.com/icefox/git-achievements)

Cet outil se fait juste passer pour git :
 
export PATH="$PATH:~/git/git-achievements"
alias git="git-achievements" 

Pour mieux enregistrer les actions git et accorder des "niveaux" sur la base des actions qu'on fait.

Mais plus utile que les "niveaux git" qui vous sont accordés, vous obtenez aussi des stats sympathiques sur votre utilisation de git qui pourraient être utile pour régler vos config/workflow/outils...

Si vous voulez voir ce qu'un usage occasionnel pas si courant peut commencer à produire comme stat, regardez ici :
http://arhuman.github.com/git-achievements/


Et à quoi ça ressemble quand vous êtes un Maître es Git :
http://icefox.github.com/git-achievements/

Pardonnez moi, mais je dois y aller. J'ai tellement de niveaux à débloquer ;-)

jeudi 8 juillet 2010

Vimana for you, vim sorcerer (en/fr)

The latest gem I found on CPAN (to be honest I've found it on GitHub but, it's also on CPAN) : vimana

Ever dreamt to handle your vim plugins as easily apt handle Debian/Ubuntu packages ?

This script allow you to search, install, remove and get information about vim scripts/plugin an intuitive way.

This combined with my git handled dotfiles management process*, it's now super easy to configure/synchronize vim on every computer I work on.
*Only a pompous expression to say that my dotfiles are handled in a git repository ;-)


[French translation]

Le dernier joyau trouvé sur CPAN (pour être honnête je l'ai trouvé sur GitHub mais il est aussi sur CPAN) : vimana

Avez vous jamais rêvé de gèrer vos greffons vim aussi facilement qu'apt gère les paquets Debian/Ubuntu ?

Ce script vous permet de rechercher, installer, enlever et obtenir des informations sur des scripts/greffons vim d'une manière intuitive.

Ca combiné à mon procédé de gestion de fichiers de configurations via git*, c'est maintenant super facile de configurer/synchroniser vim sur tous les ordinateurs sur lesquels je travaille.
*C'est juste une expression pompeuse pour dire que tous mes fichiers de configurations sont gérés via un dépot git ;-)

mardi 6 juillet 2010

Firefox 3.6.6 sur Lucid et plantage du plugin flash

Si comme moi vous vous battez pour faire fonctionner flash plus de 45s sur votre Firefox 3.6.6 et que par hasard vous vous avez installé le plugin flash 9.0.r31, j'ai peut être une solution.

Toutes mes tentatives de mise à jour du plugin via firefox ayant échoué, et la suppression du plugin obsolète étant impossible (après un 'apt-get remove' le plugin reste visible dans about:plugins) j'ai du mettre plugin.expose_full_path à true dans about:config, pour retrouver la trace du plugin scélérat dans about:plugins et m'en débarasser définitivement avec un bon vieux 'sudo rm'.

Je peux enfin surfer comme avant
(c'est dingue comme le Net est différent sans le flash...)

mardi 29 juin 2010

CPANTester journey - Smoking basis for windows box (en/fr)

Thanks to the CPANtesters Wiki , It was quite straightforward to setup my Windows testing box.

Typing 'cpan install CPAN::Reporter' was all needed, installing the dependencies along the way.

As I planned to do some smoking tests, I also had to install CPAN::Reporter::Smoker :
'cpan install CPAN::Reporter::Smoker'

Some modules don't play well with (automatic) testing, so configuring distroprefs is probably a good idea :
After entering "C:\Documents and settings\UserName\Mes Documents\"
you only have to create .cpan/prefs to put there the YAML files downloaded from
 DAGOLDEN's site

Then typing 'o conf init test_report' inside the cpan shell and answering the few configuration questions should complete the process.
 
Now every module installed (or just tested) will produce a report that you can send (or will be automatically sent according to your setting) and entering a smoke test is just a matter of typing :

perl -MCPAN::Reporter::Smoker -e start


*It will be that simple if you don't have to struggle with email configuration, as I have to...


[French Translation]
Grace au Wiki des CPANtesters, ca a été assez facile de configurer ma machine de 
test Windows.
Taper  'cpan install CPAN::Reporter'  a été suffisant, installant toute les dépendances au passage.

Comme je prévoyais de faire des smoking tests, j'ai aussi du installer CPAN::Reporter::Smoker :
'cpan install CPAN::Reporter::Smoker'

Certains modules ne se comportent pas très bien lors de tests (automatisés), donc configurer les distroprefs est probablement une bonne idée :
Après s'être positionné dans "C:\Documents and settings\UserName\Mes Documents\" nous n'avons plus qu'a créer .cpan/prefs pour y télécharger les fichiers YAML obtenus du  Site de DAGOLDEN

Ensuite taper 'o conf init test_report' dans les shell cpan et répondre aux quelques questions de configuration devrait terminer le processus.
 
Dorénavant tous les modules installés (ou juste testé) produiront un rapport de test que vous pourrez envoyer (ou qui sera envoyé automatiquement selon votre configuration) et lancer un smoke test se lance facilement en tapant :

perl -MCPAN::Reporter::Smoker -e start


*Ca sera aussi simple que ça si vous n'avez pas à vous battre, comme moi, avec la configuration du mail.

lundi 21 juin 2010

CPANTester journey - setting up virtual environment (en/fr)

My initial intent was too install VmWare Server (which is free (as beer), and that I used a long time ago with great satisfaction) on my Ubuntu boxes.

But as it appeared that my kernel (and all kernels 2.6.30 and above) now requires an unofficial additional patch to fix the VmWare Server installer*, I decided to play it safe (or at least simple) and install the VmWare Player 3.1.0 instead.
* See http://communities.vmware.com/thread/215985 for more information

The VmWare Player install went fine, and installing an XP virtual machine was just a matter of minutes.

For some reason NAT was not working out of the box, so I only changed the VM network setting to Bridge and was then able to download Strawberry Perl 5.12.0.1.
Sadly my attempt to install also release 5.10.1.2 in the same VM failed miserably (the installer detecting an higher version)...
If anyone managed to get (simply) 2 version on the same Windows box, I'd be glad to hear how...


Now I still have to install the modules needed for testing, but it will be another post...

[French Translation]


Mon intention initial était d'installer VmWare Server (qui est gratuit, et que j'avais utilisé il y a longtemps avec beaucoup de satisfaction) sur mes machines Ubuntu.

Mais comme il apparait que mon noyau (et tous les noyaux 2.6.30 et au dessus) nécessitent maintenant un patch additionnel non-officiel pour corriger l'installeur de VmWare Server, j'ai décidé de jouer la sécurité (ou au moins la simplicité) et d'installer VmWare Player 3.1.0 à la place.
* Voir http://communities.vmware.com/thread/215985 pour plus d'informations

L'installation de VmWare s'est bien déroulée, et l'installation de machines virtuelles XP a juste pris quelques minutes.

Pour une raison inconnue le NAT ne fonctionnait pas en l'état, j'ai donc juste changé la configuration réseau de la VM en bridge et j'ai pu télécharger Strawberry Perl 5.12.0.1.
Malheureusement ma tentative d'installer aussi la version 5.10.1.2 dans la même VM a échoué lamentablement (l'installeur détectant une version plus avancée)...
Si quelqu'un à réussi à avoir (simplement) 2 versions sur la même machine windows, je serai heureux d'apprendre comment.

Maintenant je dois encore installer les modules requis pour tester, mais ça sera un autre post...

jeudi 17 juin 2010

Smoking might be dangerous for your Server (en/fr)

CPAN Smoke testing is basically, executing automatically unknown code at a large scale on a machine you own. And if this risk is negligible (to me) for well known modules, it has to be reevaluated if you plan, as I do, to test numerous unknown modules. 

That's why my initial plan to do some automatized tests with unprivileged user is going to be slightly modified with the addition of virtualization.

In fact, the more I think about it, the more I wonder why nothing really bad has already happened with so many scripts blindly executed all around the world...

Anyway, I'm currently setting a VmWare infrastructure and I hope to be able to give you some results soon...


[French Translation]

Les smoking tests CPAN sont à la base l'exécution automatique de code inconnu à grande échelle sur une machine que l'on possède. Et si le risque est négligeable (pour moi) pour des modules bien connus, il doit être réévalué si vous prévoyez, comme je l'envisage, de tester de nombreux modules inconnus.

C'est pourquoi mon plan initial de faire des tests automatisés avec des utilisateurs non privilégiés sera légèrement modifié avec l'ajout de virtualisation.

En fait, plus j'y pense, plus je me demande pourquoi rien de vraiment grave ne s'est encore produit avec autant de scripts exécutés aveuglément partout dans le monde.

Enfin, je suis en train de mettre en place une infrastructure vmWare et j'éspère pouvoir vous donner des résultats bientôt...

samedi 12 juin 2010

On my way to become (again) a CPANTESTER (en/fr)

I've been a huge fan of CPAN Testing for quite a long time now.
I've even been a CPANTester.

But things have changed a lot, the tools are now numerous and impressive to allow bigger and better testing.
Some testers achieved more than 70 000 reports a month !
As a stat junkie I see it as a challenge...

My first step to become a CPANTester is to allow sending report from my home (dynamic ADSL IP) server, through my online hosted virtual server.

As it took me some time to setup the proper configuration*, below are the postfix configurations for SASL authentication on the SMTP server and client :
* So much time in fact that, I even thought about ssh tunneling

[French translation]

Je suis un grand fan du testing CPAN depuis un bon moment.
J'ai même été un CPANTester autrefois.

Mais les choses ont beaucoup changé, les outils sont maintenant nombreux et impressionnant pour permettre de tester plus et mieux.
Certains testeurs arrivent à produire plus de 70 000 rapports en un mois.
En tant qu'accro aux stats, je le vois comme un défi...

Mon premier pas pour devenir un CPANTester est de permettre l'envoi de rapport de mon serveur à la maison (IP dynamique ADSL) via mon serveur virtuel hébergé enligne.

Comme ça m'a pris du temps pour déterminer la bonne configuration*, ci-dessous les configurations postfix pour l'authentification SASL sur le serveur et le client SMTP :
*Tellement de temps en fait, que j'ai même pensé au tunneling ssh.

**** On the Server (hosted virtual server with fixed IP) ****
#
# in /etc/postfix/main.cf
#
#smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes


**** On the Client (ADSL box with dynamic IP) ****
#
# in /etc/postfix/main.cf
#
# SASL details
#
# no for the server
smtpd_sasl_auth_enable = no
# but yes when we act as a client
smtp_sasl_auth_enable = yes
# where we store the hashed UID and password
smtp_sasl_password_maps = hash:/etc/postfix/sasl/saslpw
# security options set to disallow anon auth (but allow plaintext within the TLS
smtp_sasl_security_options = noanonymous
# our upstream relay is here
relayhost = [www.mydomain.com]

#
# in /etc/postfix/sasl/saslpw
# (don't forget postmap /etc/postfix/sasl/saslpw after update)
#
[www.mydomain.com] userontheserver:passontheserver

mardi 8 juin 2010

Becoming an Iron Man (en/fr)

I came across a comic that illustrates well, to my mind, the issue with Perl's popularity :

XKCD : The secret of the Universe

Wherever the place I've worked, Perl was present to one degree or another, often in a crucial place, without its use being advertised or even known. I've long believed, that it was the reason why Perl wasn't as popular as it could be, despite its use.

But in fact, no :
It's just that the Perl community sucks at marketing !


It's the community duty to promote the language, to bust the myths, to give visibility to the language, for we can see one day more jobs and more formations mentioning explicitly the language.

That's why initiatives around Enlightened Perl must be supported :

The Iron Man project especially : To post regularly about Perl to give it visibility.
(and by the way to achieve the honorific Iron Man status without running 42km, swimming 5km and riding 180km on a bike ;-) )

Then, here it is, by this post I officially join the contest.

Because Perl is not dead !
Because Perl is not (necessarily) unreadable !
Because Laziness is only a virtue when you code !
and...
"Because I'm worth it" ;-)


[French translation]

Je suis tombé sur un dessin qui illustre bien à mon avis le problème de popularité de Perl :

XKCD : Le secret de l'univers

En effet quelque soit l'endroit ou j'ai travaillé, Perl était présent à un degré ou un autre, souvent d'une manière cruciale, sans que son utilisation ne soit mise en avant, ou même connue. J'ai longtemps cru que c'était pour cela que Perl n'était pas aussi populaire qu'il le pourrait vu, son utilisation.

Mais en fait non :
C'est juste que la communauté Perl est nulle en marketing !

C'est à la communauté de promouvoir un langage, pour casser les mythes, lui donner de la visibilité pour qu'un jour on puisse voir plus d'offres d'emplois ou de formations mentionnant explicitement ce langage.

C'est pourquoi, les initiative de certains autour du mouvement Enlightened Perl est à soutenir :

Le projet Iron Man en particulier : Poster régulièrement sur le langage Perl pour lui donner de la visibilité
(et accessoirement atteindre le statut honorifique d'Iron Man sans courir 42km, nager 5km et pédaler 180km ;-) )

Alors voilà, par ce post je rejoint, officiellement le concours.

Parce que Perl n'est pas mort !
Parce que Perl n'est pas (forcément) illisible !
Parce que la paresse n'est une vertu qu'en programmation !
et...
Parce que je le vaux bien ;-p

vendredi 4 juin 2010

Améliorer la roue

J'ai longtemps pensé que j'aimais bien améliorer la roue : prendre les choses et les pousser un peu plus loin, améliorer ce qui pouvait l'être, corriger ce qui n'allait pas, trouver une nouvelle utilisation, etc...

Mais en y réfléchissant ce n'est pas tant les choses que la démarche qui m'importe :
C'est plutôt "continuer à faire tourner la roue de l'amélioration"...

Pour moi améliorer un objet, optimiser son code, s'affuter physiquement, mieux connaître les autre, c'est la même démarche. Mais peu de personnes l'appliquent à tous les domaines.

Je suis informaticien, mais je trouve dommage de n'être qu'un "Pragmatic programmer" alors qu'on peut être un "life hacker" (sans les majuscules sinon il y a un trademark...)

Alors voilà, aujourd'hui je ne parlerai pas d'outils, mais de démarche.
Et tant que j'y suis je vous livrerai "ma méthode personnelle à moi que je l'ai faite tout seul" :

La méthode P-PARDON
(Il y a un moyen mnémotechnique caché... ;-p)


Tous les jours j'essaie d'adresser chacun de ce points

P - Physique. Bien dormir, se nourrir, être en bonne santé et développer ses capacités physiques.

P - Produire. Réaliser quelquechose de concret (un programme, un objet, un article)

A - Apprendre. Quelque soit le domaine apprendre quelque chose.

R - Ranger. Améliorer l'espace et le temps d'accès aux choses.

D - Détendre (se). Dans le sens se faire plaisir. Parce qu'on ne peut maintenir de tension sans détente, et parce que la joie/le bonheur est une énergie infinie...

O - Optimiser.
Améliorer une chose pour ne pas laisser les choses se dégrader.

N - Nouer des contacts.
Parce qu'il n'y a pas pour moi d'épanouissement dans une complète solitude.

Il y aurait beaucoup à dire sur chacun des points, mais au fil du temps je me suis rendu compte que quand j'adressais *chacun* des points je maintenais d'une manière durable un sentiment de satisfaction, d'amélioration et de complétude .

lundi 1 mars 2010

Surfer plus vite grace au clavier : VimPerator

Ça ne devrait pas être une surprise d'apprendre que j'affectionne particulièrement la ligne de commande.

La rapidité et la réduction du déplacement des mains (moins de fatigue) sont pour moi les principales raisons de délaisser autant que possible la souris.

Et dans ma quête des outils me permettant d'être plus efficace, ma dernière découverte est
VimPerator (http://vimperator.org/vimperator) :

"Vimperator is a Firefox browser extensions with strong inspiration from the Vim text editor, with a mind towards faster and more efficient browsing."

Et force est de constater que pour un utilisateur de Vi on retrouve vite ses marques et une navigation au clavier nettement plus rapide :
_ scroll des pages
_ click des liens
_ Manipulations des onglets
_ Recherche de texte

Tout se fait rapidement et naturellement...

Je note juste une utilisation des ressources plus importante et des conflits occasionnels avec un script .js que j'utilise pour un site.

mardi 12 janvier 2010

2010 Année de la transformation

Le début d'année est traditionnellement la période des bilans et des résolutions.

Je ne ferai pas exception à la règle, et j'ai pris la résolution pour 2010 d'essayer de transformer toute contrariété/frustration/difficulté en quelque chose de positif.
Sans être d'un optimisme béat, je pense qu'on peut relativiser tous les choses qui nous contrarient et en extraire le positif quel qu'il soit.

Enfin ça c'est pour moi, pour chacun de vous je ne souhaite que le meilleur :

Que 2010 soit une année de Santé, Réussite et Bonheur !!!