April's fool random thoughts

April's fool day... The perfect day to flood Twitter with random thoughts !

Lire la suite...

Mesure et priorisation de la dette technique

42-20714375

Si ça marche, on n'y touche pas !

Sur les projets informatiques, la maintenance et la modernisation de l'existant sont rarement prioritaires par rapport à l'ajout de fonctionnalités. Au fil du temps, le code devient moins pertinent, moins performant, plus difficile à analyser et à maintenir.
La dette technique s'accumule progressivement et freine les nouveaux développements, allonge les délais de débogage, instille l'incertitude.

Arrive le moment où l'équipe grogne et parvient à décrocher un budget pour la réduction de la dette technique. Mais comment la mesurer ? Par quel bout commencer ? Comment optimiser le budget alloué ?

Voici une méthode simple et efficace qui devrait vous permettre de prendre conscience de l'état global du projet, et de faciliter l'identification et la priorisation des portions les plus atteintes par la dette technique.

Lire la suite...

Flashback : pourquoi je passe Freelance

J'ai commencé la programmation très tôt. Parce que c'était amusant.

D'abord, sur l'Apple II de mon grand-père.
Il était composé (l'ordinateur, pas le grand-père) d'une unité centrale avec clavier intégré, surplombé de deux lecteurs disquettes 5"1.4, et finalement d'un écran en noir et jaune. Une disquette (recto/verso) permettait de booter l'OS et de le monter en mémoire. D'autres disquettes permettaient ensuite de charger des programmes (tableur, jeux[1]...) et de sauvegarder les documents.

L'OS en ligne de commandes proposait quelques commandes simples, et c'est ainsi que j'ai tapé pour la première fois le traditionnel "print "hello"" et que, miracle, ça a effectivement affiché "hello". C'était magique.

Note

[1] Dont Olympic Games qui demandait de sérieusement matraquer le clavier pour faire courir les personnages

Lire la suite...

NoSVN

Non, NoSVN n'est pas un nouveau mouvement qui vise à faire prendre conscience qu'il y a de meilleurs moyens de gérer son code source que ce bon vieux Subversion. Quoique.

En réalité, je voulais partager le petit script windows qui me permet de supprimer récursivement tous les répertoires .svn d'une arborescence. Pratique quand on veut copier/coller des répertoires versionnés sans risquer de provoquer des conflits tous azimuts...

Voici donc la fameuse ligne de commande, à coller dans un .bat (ou en extension de l'explorateur de fichiers pour les plus téméraires) :

for /F "usebackq" %%i in (`dir /S /B /AD *.svn`) do rmdir /S /Q %%i

Hope this helps !

Équipez vos développeurs ! (petit guide de rentabilité à l'usage des décideurs)

Tout bon artisan vous le dira : la qualité de ses outils est primordiale pour la réussite de son art. Le peintre sélectionne avec soin son pinceau, l'ébéniste son rabot, le boulanger son four.

Il n'est qu'en informatique que le développeur se voit imposer son outil de travail. Ce qui ne poserait aucun problème si celui-ci n'était pas, la plupart du temps, complètement obsolète, limité, ou simplement inadapté aux tâches à réaliser.
Le développeur éprouve alors une légitime frustration devant son incapacité à exprimer son plein potentiel au travail, et que son matériel personnel est bien meilleur que son matériel professionnel - un comble !

Le plus souvent, le constat est partagé par les développeurs, le chef de projet, les architectes, et dans un certaine mesure par tous ceux qui suivent l'avancement du projet. Mais voilà : l'acquisition d'équipement informatique est soumis à l'approbation des Achats, entité toute-puissante mais aux oeillères bien ajustées.
L'équipement coûte cher, paraît-il. Et aucun budget n'est prévu cette année pour ce poste. Réessayez l'année prochaine, en remplissant le formulaire 27B en quatre exemplaires. Fin de l'histoire.

Pourtant, tout développeur apprend vite que le temps perdu à attendre la machine se compte en heures, en jours, en semaines ! Et que la perte de productivité est en réalité bien plus importante que cette simple mesure horaire : la perte de contexte mental, la frustration et le stress des deadlines, l'abandon des tests trop longs à passer, minent les projets et les équipes. Le problème est que cet élément est inchiffrable, et donc difficilement opposable aux décisions des Achats.

Lire la suite...

Gnome3 : Audacious vampirise Nautilus !

Depuis peu, Audacious (lecteur audio) a une fâcheuse tendance à vampiriser les actions de Nautilus (gestionnaire de fichiers de Gnome) : toute action qui devrait normalement afficher un dossier dans Nautilus, lance Audacious à la place ! Et c'est très pénible au quotidien.

En attendant que le bug soit résolu lors d'une prochaine mise à jour, il suffit d'éditer le fichier des associations action/programme :

# Fichier ~/.local/share/applications/mimeapps.list

[Default Applications]
(...)
inode/directory=nautilus.desktop

[Added Associations]
(...)

Et voilà ! Même pas besoin de relancer la session !

Si vous ou l'une de vos connaissances...

Nous avons tous, un jour ou l'autre, été contactés par un recruteur ou "chasseur de têtes". Personnellement, je reçois un ou deux mails ou appels téléphoniques par semaine, sans compter les messages sur les réseaux professionnels. J'en ai donc vu passer un certain nombre...

Certains sont sympas, ont lu le CV jusqu'au bout avant d'appeler (non, je ne suis pas encore indépendant), et proposent des postes correspondant à mon profil. J'ai ainsi laissé passer certaines opportunités intéressantes, étant déjà satisfait par mon poste actuel chez Zenika. Ce n'est pas toujours facile de faire le bon choix...

D'autres ont simplement besoin de remplir leur quota de spam quotidien pour prouver à leur direction qu'ils ont mis "tous les moyens en oeuvre" pour recruter la perle rare, ou se croient toujours au temps lointain où il suffisait de se rendre au marché aux esclaves pour trouver de la main-d'oeuvre bon marché et emplie de gratitude. Ceux-là détériorent malheureusement l'image de la profession.

Au fil du temps, j'en suis venu à établir une petite classification des annonces et de leurs expéditeurs. Notez bien que les catégories ne sont pas mutuellement exclusives.

Lire la suite...

Google, beyond Good and Evil

Google.pngGoogle...
Tout le monde connaît Google, son moteur de recherche, ses outils de communication (GMail, Wave, Buzz), ses outils bureautiques (Docs, Maps, Picasa, Postini) et de développement (GWT, App Engine, et sa contribution exceptionnelle à Java), et ses périphériques d'accès à Internet (Android, Chrome, Chrome OS). Sans oublier le nerf de la guerre, sa régie publicitaire Adsense, qui justifie l'existence de tous les produits précités.

En mettant un pied dans chaque industrie liée de près ou de loin à l'obtention, au classement et à la restitution des données, Google approche de son objectif d' "organiser l'immense volume d'information disponible sur le Web et dans le monde".

Lire la suite...

State of the Internet '09

JESS3 / The State of The Internet from JESS3 on Vimeo.

Vous pouvez maintenant éteindre votre ordinateur et reprendre une activité normale.

Edit : apparemment, le 10 milliardième twitt vient d'être atteint. On n'arrête pas le progrès !

Sortie de Gradle 0.8

Gradle est le petit builder qui monte, qui monte...
Et il continue encore et toujours de monter avec cette version 0.8 flambant neuve !

Au menu, quelques nouveautés sympathiques :

  • Un plugin pour compiler du code Scala
  • Un plugin pour vérifier les règles Checkstyle et CodeNarc
  • Un nouveau système de manipulation des fichiers (sélection, filtrage...)
  • Une interface graphique pour suivre le processus de build

Et des améliorations appréciables :

  • La configuration des projets Java est désormais plus simple et plus souple (mais pas rétrocompatible)
  • Amélioration du support de Groovy
  • Et bien sûr des performances améliorées

Par contre, ainsi que l'indique son numéro, ce n'est toujours pas une version stable, et certaines fonctionnalités sont cassées ou profondément modifiées par rapport à la version précédente - notamment, certaines APIs et options de la ligne de commande ont été renommées. Mais au final, ces changements devraient rendre Gradle plus intuitif.

Vous pouvez d'ores et déjà télécharger Gradle 0.8, essayez-le vite !

Lire la suite...

- page 1 de 6