Archive for the “Reviews” Category


I am a big fan of JIRA, a nice and powerful issues tracker that was created by the aussies at Atlassian. Part of the reason why IzPack joined Codehaus is that they provide a first-class infrastructure for their projects that includes a JIRA instance.

One thing that is highly important when you manage a JIRA project is to take some time to set-up a customized dashboard.

A customized dashboard is extremely helpful to have some stats on your project and don’t loose a bit of information on important issues. Leave an issue without at least an acknowledgment that someone took notice of it and your project will get a bad reputation quickly by making unhappy users.

Here is an overview of my dashboard for IzPack at Codehaus:

The first piece of information that I like to have is a roadmap and progress bars for the upcoming releases. Just below it a created vs resolved issues graph gives me an overview of where we are going with the project handling of issues. There will always be more issues created than resolved, but what is important is to measure how the gap between them evolves over time.

I then put some fancy graphs regarding the issues. They are nice to have and certainly useful.

On the right hand of my dashboard I keep a list of important issues. Those views play a highly critical role in my case.

  • I track the issues that have been assigned to me. Memory is a versatile resource ;-)
  • The unassigned and unresolved issues are quite important. Those ones need to be checked, assigned, scheduled or closed quickly if invalid. Enhancements and new feature requests can stay here for a while. This should however not the case for bug reports.
  • The unscheduled issues are open and not yet scheduled, but at least someone has been assigned to them.

As I am still learning JIRA, feel-free to drop suggestions on how I could be even more efficient with it :-)

Comments 2 Comments »

Voici un post que je voulais faire depuis fort longtemps … et qui était en chantier depuis un bon moment.

J’apprécie énormément GMail. A vrai dire, j’utilise la plupart du temps son interface web en sus d’un client riche classique type Thunderbird. En effet, j’ai fini par arriver au workflow suivant dans la gestion de mes mails :

gmail-management.png

Les messages en provenance d’une liste se voient appliqué un label, puis évitent la case Inbox en étant archivés. Les messages normaux finissent dans ma Inbox. Une fois un message lu, je décide alors soit de le garder (archivage), soit de le supprimer. L’intérêt est double.

  1. Je ne garde que ce que je veux, réduisant potentiellement les possibilités de data-mining sur mes conversations … mais j’ai comme un doute :-)
  2. Ma Inbox me permet de n’avoir que les conversations en cours, un peu à la Getting Things Done

La seule exception à cette stratégie de lecture puis archivage / suppression concerne les listes (je garde les conversations). Rassurez-vous, je ne lis pas tous les messages de celles-ci :-)

Ma productivité avec GMail est meilleure qu’avec un client mail classique. Tout d’abord j’apprécie que l’accent soit mis sur les conversations, je trouve ça plus lisible que les fils de discussion, même si conceptuellement il s’agit de la même chose.

Les labels sont une façon élégante de classer les messages (à noter que Thunderbird le gère aussi). Il se trouve que je fais partie des personnes qui ne s’accomodent pas du tout d’un tri formel en arborescence … je suis toujours surpris de voir les clients mails de certains, avec des structures de classement par dossiers très complexes et très bien rangées ;-)

Au contraire, quand je recherche une conversation, je m’appuie …. sur la recherche intégrée, d’autant plus qu’il y a quelques astuces pour cibler facilement (ex : kikoo in:spam recherche kikoo dans le spam).

La gestion des labels n’est peut être pas aussi poussée que dans les clients mails classique, mais globalement elle me suffit largement. Une fonctionnalité que j’apprécie énormément : “Filter messages like this”. Par exemple lorsque je m’abonne à une liste, j’attend de recevoir le premier message, puis j’utilise cette fonctionnalité pour créer rapidement un filtre qui marche. Pratique, simple, efficace, le triptique magique !

La fonction d’achivage est très intéressante pour ne garder que les messages en cours dans la Inbox. Avec un client mail il me faudrait faire un drag & drop vers le bon dossier, chose que je n’aime pas faire, ne serait-ce pour le simple que fait qu’il faille viser correctement le message dans la liste puis le doisser cible. Pire encore, les éléments graphiques concernés ne font en général que quelques pixels de haut. J’imagine qu’il doit y avoir des raccourcis claviers. En tous cas 2 boutons archive et delete me conviennent mieux.

Si j’étais à la tête d’une startup (hi hi), je pense que je ferai confiance à Google Apps pour le mail. Voyant poindre des remarques quand à la question délicate du stockage des mails chez le fournisseur en question, j’en profite pour rappeller que la seule façon de garantir l’authenticité et la confidentialité de conversations par email reste d’utiliser GnuPG

Pour finir, voici une fonctionalité qui me manque énormément. A titre d’exemple, je reçois pas mal de notifications depuis le issue tracker de IzPack. Bien souvent, je suis au courant de leur contenu, ayant moi-même effectué l’opération qui a déclenché la notification par email. Mon workflow est alors inexorablement le même :

gmail-archive-markread.png

je sélectionne les messages, je les marque comme lus, puis je les archive. J’apprécierai donc d’avoir une option mark as read and archive, pas vous ?

Edit : je souhaite justement que le mail passe quand même dans ma Inbox, sinon j’utiliserai un filtre “skip inbox + apply label” :-)

Comments 4 Comments »

Mercurial SCM
The Mercurial project has just released its version 1.0!

Congratulations to the team behind this project for bringing what I personally consider as the very best distributed source configuration management tool to date :-) (yes, I have already played with Bazaar and Git)

Mercurial is (much like Bazaar) written in Python. It is cross-platform, extremely efficient, extensible with plugins and last but not least, Mercurial is such a stupid tool to use! The interface and general workflow are no-brainers if you have already played with SCM before. You’ll get started in just a few minutes with it. I know that lots of geeks prefer playing with Git… but how can anyone understand the Git interface? :-)

If you are currently considering a distributed SCM model, then I strongly suggest that you look at it, just like Mozilla and Sun did. Oh and if you happen to work with Windows boxes, there is still TortoiseHG for a seamless integration with the Windows explorer!

Comments No Comments »

I have been very busy lately as I am still writing my PhD thesis… many apologies to my readers, I promise to become more active as soon as I can :-)

Here is a collection of (not that) random thoughts I have collected over the week.

  • Guilder is a promising build management project that wants to fix the Maven shortcomings. It is based on Groovy to make a nice internal domain-specific language. Oh and it uses IzPack :-)
  • PicoContainer is still alive! The developers have upgraded it to Java 5 and made a few nice improvements. If you are looking for an IoC container then I strongly suggest that you have a look at it. I know that Google Guice is highly hyped these days, but quite frankly PicoContainer is a very solid alternative: lighter, simple containers model, works with 3rd-party libraries out of the box, simple lifecycle facilities, … Trying both is the best way to make a choice, but my personal preference is set on PicoContainer over Guice.
  • Groovy is an amazing productivity booster… I’ve been writing research prototypes using it and all I can say is that it really made my code nicer in much less time. I’ve had to rewrite something I had done in Java before, and the code is now smaller, more readable and I didn’t notice any runtime performance hit although the algorithms have been written in the most naive fashion. It works seamlessly with existing Java code, and it looks like normal Java to Java code. I should be able to let you know more about this in the next few weeks :-)
  • I had a very quick look at Grails a few months back. For sure it was similar to Rails, but I couldn’t see a strong reason why I would choose Grails over Rails. I have had another look recently and I’ve been quite impressed by the thing…
    The Grails documentation is very good. The framework is a well-built layer on top of existing Java technologies. The scafolding generates good looking pages that you could nearly reuse as-is. I think that choosing Grails instead of Rails really makes sense if you are in a JavaEE environment. But again, try both, see what works best in your context, and stay away from flamewars :-)

If you enjoy house music mixes, here is a bonus… let me know if you liked it :-)

Comments 1 Comment »

Netbeans

Congratulations to the Netbeans team at Sun on the release of Netbeans 6.0!

This release turns Netbeans into a real general-purpose integrated development environment. It used to be a very well integrated Java IDE, but it now supports a wide-range of languages (C/C++, scripting) as true first-class citizen… without losing the very good integration. It might also be the best Rails IDE out there (but Textmate still rocks!).

With this release Eclipse is clearly lagging far behind IntelliJ IDEA and Netbeans who are now in a competition of their own…

Comments 1 Comment »