Les quelques lecteurs de ce blog ont du remarquer qu'il était lent a charger : 8.573 s pour la page d'accueil, c'est ... très très long. Il est pourtant hébergé sur deux parts gandi, ce qui est largement suffisant - bien qu'il y ait d'autres services et sites web sur ce serveur. 512 MB de RAM, avec de la RAM de libre. Curieux de trouver d'où provenait cette lenteur, j'ai pris un peu de temps pour profiler dotclear et ajouter des mécanismes de cache.
dev
Monday, November 17 2008
I'm back
By Greg on Monday, November 17 2008, 22:30
Et oui de retour après... longtemps. Plein de prévisions, quelques réflexions, plein de projets mais finalement peu de concret sur ce blog. Pourtant il s'est passé des choses depuis. Un nouveau design (quelques changements dans la css) pour changer et pour que vos ecrans consomment moins d'énergie. J'ai finalement mis django de côté, je suis de loin les évolutions qui touchent le projet et m'intéresse toujours aux questions techniques qui concernent le framework mais j'ai plutôt jeté mon dévolu sur des framework bases sur des langages fonctionnels comme haskell (HaPPS) ou scheme (PLT-Scheme Continue). Le distribué et notamment erlang et les framework Map/Reduce (Hadoop, Disco...) m'attirent également beaucoup. Mon intérêt se porte également sur la visualisation d'informations et l'intelligence artificielle (a un niveau basique).
Nouveau job : virtualisation, développement kernel / système et du python. J'ai pu redécouvrir le C++ avec un autre regard. Bien qu'il reste difficile d'avoir le même niveau d'abstraction que des langages comme haskell, ocaml ou scheme; c'est agréable d'avoir :
- un typage plus fort que le C,
- une utilisation la plus systèmatique possible de const (sur lequel g++-4.3 est assez rigoureux comparé a du C avec gcc-4.x)
- les references (pour éviter de passer des pointeurs non initialisés),
- les functions classes pour avoir un mécanisme plus sûr de pointeur sur fonction,
- les exceptions (avec la documentation des expressions susceptibles d'être levées par la fonction, dans son prototype i.e. int fonction(a, b, c) throw (runtime_error);
- les templates pour disposer de structures génériques (avec modération pour ne pas avoir un binaire trop avide de mémoire)
Thursday, December 6 2007
TDD: Does writing software backwards really improve quality?
By Greg on Thursday, December 6 2007, 12:56
If you have adopted agile development methods, or even just interested in them, Dr. Dobb's published an article Test Driven Development: Does writing software backwards really improve quality? where they tried to evaluate if Test Driven Development (TDD) really improves code quality. The article shows that TDD helps to have less critical (none where found by the QA in the article's case) bugs and less bugs in general. The developer's feedback - the one who wrote the code used in the evaluation - is worth the reading:
- The TDD code was refactored several times during development. Methods were created, then changed, and then changed again with each revision, resulting in code that was tighter or clearer. The developer felt like the code went through an extensive proofreading cycle similar to what is done for newspapers, magazines, or the like.
- There was a freedom of experimentation that led to better design decisions. Once the first working version of a class method was completed and properly tested, the developer could then try new design ideas. The unit tests quickly confirmed or denied that the new code worked, providing a digital safety net.
- On a number of occasions, the developer found that the TDD method forced him to slow down and think more carefully about what he was trying to accomplish. Rather than just banging out code to get the job done, he focused on writing high quality code.
This encourage me to try it in my current projects :). As they say in the introduction, writing tests before the code is not so natural ;) at first sight, but it could be fine to spend less time on bug squashing by taking some additional time to write the unit tests before.
Thursday, November 15 2007
Software Development round up #1
By Greg on Thursday, November 15 2007, 16:36
As you may know, I'm not a software developer. However I like this domain and am always happy to write some code when I need (or not ;) ). Recently I am focusing on web development (with Django) and Agile methods.

I am reading Practices of an Agile Developer which is a very interesting book. It brings some real feedback and experience, as well as good advices. I believe it is useful not only in software development but more generally in any IT (or even non-IT) project. The table of content gives a good overview of the book and the practices. The next step is to choose a agile method to focus on. Intuitively I may try eXtreme Programming at first.

Vim has always seemed to fit my needs. But I didn't try an IDE for ages, so now I give a try to PyDev, a plugin to Eclipse. I can't bear using arrow keys!!!! So I'll need to quickly find how to use vim modes. I found Vimplugin and viPlugin. After a quick comparison, I'll see which to choose. viPlugin is not free (neither as in free beer nor as in freedom). Thus I'll use vimplugin!
I have seen this list of python IDEs. Wing appears to be a good tool but is not free (as in freedom or even as in free beer!).
I also begin to learn more about Continuous Integration which is an important practice of Agile methods. I aim to integrate all agile practices in my programming tasks.
