Articles

Gitolite / Mercurial server

Lately I installed 2 similar tools : gitolite and mercurial-server. The 2 tools achieve the same goal, managing a central repository handling remote virtual users and differ mainly on the dscm they target (as their name imply). As a matter of taste, I tend to prefer git (and so gitolite) beccause of its wider users base and architecture's simplicity. But mercurial has roughly the same potential, and depending on your context you might prefer (or 'have to' in my case) to work with it. But before discussing their benefits, let's detail how to install step-by-step : For gitolite #apt-get install gitolite The following NEW packages will be installed:   git gitolite libcurl3-gnutls liberror-perl rsync A gitolite or git user will be created in the process, for the rest of the document I assume this user to be 'gitolite'. (this is the case on debian and ubuntu) Some people prefer to create a gitolite admin dedicated user, but I prefer to reuse and existing user : su - ...

Why I use gitolite

Whereas github is great for hosting your public repositories, as soon as you want to use many private remote repositories you should consider other options. First because it's going to cost you some money and because it's always a good idea to avoid scatter your private stuffs on external server (Yes I know, as a google minion I'm not a good example...) Among the many options to hosts your remote git repo, I've found gitolite to be the best one to suit my needs, let me explain why : * I firmly believe in the KISS principle, and the fact that you don't need to use another daemon (it just uses sshd) is very appealing to me. (Other solutions often requiring to setup an apache/Webdav vhosts, git-daemon or whatever) * Fine-grained access control : gitolite really shines in this aspect    In addition to the usual  read/write/read&write gitolite provides access  to 'non-fast forward push', branches creation/deletion, write deny and extends t...

Module::Build rocks!!!

Yes I know, this module is already four years old and I'm probably the last Perl coder still using ExtUtils::MakeMaker for his modules. Some experienced friends of mine already told me about it. (Hello Maddingue, better later than never...) I knew that I had to use it, but until today I didn't... For those of you who haven't see the light, here are some reasons why you should switch to it: _ It's easy (and you should be lazy) => make2build from Module::Build::Convert made the conversion a breeze without requiring to read any doc (ok I've read the doc anyway, but it's beccause I'm curious...) _ It's powerful (and you should be impatient) => Build testcover and you have a complete test coverage provided out of the box! (this feature alone is a killer to me, I know you can achieve the same with EU::MM but it is provided by default with Module::Build) _ It's the state of the art (and you should be hubristic): using tool of the pas...

Un geste pourtant simple

Une fois n'est pas coutume je ne parlerai pas informatique ou productivité. C'est aujourd'hui la journée mondiale du don de sang. J'ai longtemps hésité à en parler;  que dire que vous n'ayez déjà lu/entendu maintes fois : * Les hôpitaux manquent de sang. * Donner son sang *sauve de vies* * Quelque soit votre emploi du temps il y a un moyen de donner près de chez soi. (Ils travaillent même le Samedi dans la plupart des villes) * C'est sur à 100% Plutôt que d'essayer de vous convaincre d'une manière abstraite, allez jeter un œil sur le Blog de mon ami Loïc et sa femme Célia ("Deux expats à Seattle") : Loïc est un ami, expatrié à Seattle, qui a découvert là bas qu'il était atteint d'une leucémie, il décrit dans son blog avec beaucoup d'humour et d'honnêteté son combat au jour le jour. Il ne doit sa survie qu'aux donneurs de sang, et sa guérison ne se fera qu'à travers un don de moelle osseuse. Tout ce que n...

Un peu d'ordre

Après la discipline je parle d'ordre, ceux qui ne me connaissent pas doivent se poser des questions... (et ceux qui me connaissent encore plus :-) ) Alors je vais rassurer tout le monde : Je vais commencer petit, sur mon ordinateur, dans mon répertoire .vim Avant ma crise mon répertoire .vim ressemblait à ça :   drwxr-xr-x 4 arnaud arnaud 4096 2011-05-19 23:30 after drwxr-xr-x 4 arnaud arnaud 4096 2011-05-19 23:30 autoload drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:30 bin drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:43 colors drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:30 compiler drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:43 doc drwxr-xr-x 3 arnaud arnaud 4096 2011-05-19 23:30 ftplugin drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:43 indent drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:43 keymap drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:43 lang drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 23:30 nerdtree_plugin drwxr-xr-x 2 arnaud arnaud 4096 2011-05-19 ...

Journée mondiale IPv6

"Le 8 juin 2011 l' Internet Society (ISOC) organise une journée mondiale IPv6 pendant laquelle les fournisseurs et les sites sont encouragés à tester la technologie à grande échelle. Google, Facebook, Yahoo!, Akamai et Limelight Networks ont annoncé leur participation à cet événement." -- Wikipedia C'est aujourd'hui !!! Pour célébrer l’événement, j'ai décidé de configurer un tunnel IPv6 pour participer moi aussi au "test à grande échelle". Vous n'aurez probablement pas besoin des opérations suivantes, mais si comme moi vous avez désactivé IPv6 il va falloir réactiver en modifiant les lignes suivantes (pour désactiver appliquez l'opération inverse) : /etc/hosts # The following lines are desirable for IPv6 capable hosts ::1     ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts /etc/modprobe.d/blacklist.conf # Uncomment to disable IPv6 #blacklis...

CPAN modules you love to hate (or the contrary)

If one thing starts to bother me in the Perl universe, it's all the dependencies which force you to pull half of the CPAN each time you try to install a major module. Don't get me wrong: I love Perl, I love CPAN, I love modules and I definitively love code reuse BUT may be we start doing it the wrong way. Let's think why we need code reuse: 1) Because we're lazy ( as every good Perl programmer :-) ) and don't want to rewrite an existing wheel (if a good one already exist) 2) Because it reduces the code size by factorizing common parts The factorizing aspect is especially important to me: _ Common parts (modules) are more tested as more users eventually use them _ Code is easier to maintain (smaller, less heterogeneous...) _ It forces us to think about the API, which eases enhancements _ ... Now if I look at the dependency mess on CPAN, I realize that what's is bothering me is not the numerous dependencies,  but rather that most of them void/lesser...