Rémy Giard’s blog

“Always program as if the person who will be maintaining your program is a violent psychopath that knows where you live” - M.Golding

March 14th, 2008

My current stack

Recently, I’ve been reading and discovering many technologies, but I stayed at the observation level. Having more spare time since few days, I decided to crunch into those technologies by reading the APIs, blogs, forums, reviews and listening to podcasts. Now, it\’s time to start test projects for this new stuff.

First, in the open source world, my next targets are jQuery, blueprintcss, Drupal 6, JRuby and Git.

Well known in the Ajax world, jQuery seems to be very light, easy and efficient to find, create and update DOM element. More, it now has UI controls. For blueprintcss, it seems an excellent platform to build a multi-browser compatible site without having to use CSS hacks for this and that. A plus, I know two CSS gurus, Eric Meyer and Jeff Croft, have been working on this framework. In the PHP world, Drupal 6 seems to be the platform I was expected from the beginning. Having work in Drupal 4.7, I was disappointed for the number of bugs and difficulties to have a clear cut between the UI and the code. Since the upgrade to version 6, the installation process is easier and multi-language templates are more easy to create and maintain. Compared to Joomla, Drupal is really a completely CSS themable product.

Next, being a Java and an open source guy, I still worked on ASP.Net projects since a year. I have to admit that the Microsoft world interest me more than never. In fact, it’s not ASP.Net which interest me, but the new products that are coming soon. I am talking about the MVC framework, Entities Framework and Silverlight. I have not read or seen code for now, my sources being co-workers and the podcast from http://www.visualstudiotalkshow.com/. At first, MVC architecture seems a lot similar to Struts in the Java world. I guess I will feel more comfortable in a MVC architecture than with postbacks, view states, controls tree, etc. I mean, I wish MVC is more like the other MVC web frameworks instead of being completely different with its own philosophy … like ASP.Net is.

On the other side, the Entities framework used in pair with LINQ is a ORM. The product seems to be really well thought and designed. With these new products, it seems feasible to have a complete efficient and testable application architecture with only Microsoft products.

March 13th, 2008

This post has been publish with Google Docs

Since I switch all my mail hosting to Google, I started to use Google Docs. I just discovered that using Google Docs, we can write a post and publish it to our blog as easy as two clicks. Just write the post, click “Publish” and then “Post to blog”. I love it !

* Note that I had to use the MetaWeblog API to have a blog title

March 12th, 2008

How to Make the Time for Your Personal Goals

I’ve just found the following post on Digg : “How to Make the Time for Your Personal Goals“. I am sure many people will recognize themself in that post. Here the proposed “steps” to augment the achievement chances of your personal goals.  In resume, know and understand why you want to achieve the goal and commit completely to it.

  • One goal at a time
  • Make sure you really want it
  • Make it your top priority
  • Reduce your commitments
  • Keep it simple
  • Stay focused
  • Block off time
  • Make it your most important appointment
  • Show that your are serious
  • Find your time wasters
  • Make it a part of your daily or weekly routine

January 24th, 2008

Mefeedia, welcome in my life

Oh yeah, i know what you think … i am a bit late about discovering Mefeedia. Anyway, this discovery now helps me to fill my empty iPod Touch podcast playlist.

Mefeedia works by giving to every user a RSS feed, called a channel, where you received the new videos of the different others channels, shows, etc … that you subscribed to. For myself, my feed is registered in iTunes and automatically sync into my iPod, so nice !!

October 10th, 2007

Hey! I forgot the milk !

Past few weeks, i was looking for an application where i could keep a categorized and easily updated list of tasks. Looking at what is most popular, i found RememberTheMilk. More, i could use it in iGoogle.

After testing it since a couple of weeks, i was feeling comfortable to use it to keep my day time job tasks. While being in the last days before our application’s delivery, the site has been down from this morning through 17h00 because of broken hardware. Being in a critical period, it was not time for this kind of shutdown.

I know, it is not safe to rely on an external resources for critical data. I knew it, but i felt confident that rememberthemilk was set and ready for those unpredictables events. There are public since few years, they seem to be established. Well, they were not ready ! They should have think about it while building their disaster plan. If it had been one or two hours, it is not that bad, but a whole day …

My conclusion : DO NOT RELY ON EXTERNAL RESOURCES FOR CRITICAL DATA !!

Well, i am not mad at rememberthemilk, i could work with the tasks i had in mind, but this event reduce the image of stability i had about the product. And sadly, tomorrow morning i’ll have to eat my two peanuts butter toasts and my Froot Loops without milk.

** Update  : Here is their explanation

October 4th, 2007

Montreal on Rails 3, another great event

Tuesday, i went to Montreal on Rails 3.  The presentations were nice and interesting.  I like this event, sure for the presentations, but also for the contacts and the discussions we have with all theses guys.   That time, I made contact with new people like David Fugère from Code Génome, Gary Haran and had a great discussion with Francois Beausoleil around a beer after the event.

Also, i’ve been the happy winner of the book “Programming Ruby” from “The Pragmatic Programmers” collection for which i heard great comments.  For sure, this new book will accelerate my learning of Ruby.

Hope to meet you at MoR 4 in a month !

October 2nd, 2007

New blog appearance, new blog content

This weekend, i spent some time on rebuilding this blog. So there is the new skin / template which i think is cuter and easier to navigate in.

At the mean time, i made the decision to switch the language to English. My goal is to communicate in the same language of the community of blogs i read and eventually have exchange with them. My english is not bad but not perfect, then i see it as the opportunity to work on it.

Also, i updated the blog list i regularly read. More, there is now a list of the latest blog posts i found interesting to shared.

Let’s enter this new blog life !

September 13th, 2007

Mes irritants avec Visual Studio

Cet été, j’ai vécu mes deux premières expériences à travailler sur des projets utilisant les technologies .Net. J’ai rencontré plusieurs difficultés et frustrations que j’énumère ici.

Tout d’abord, il est important de mentionner que mon expérience est surtout en Java. Donc, naturellement, je pense en fonction des technologies / architectures / outils Java. Je considère que je maitrise l’outil de développement Eclipse que j’utilise aussi pour les langages Python, Ruby et PHP.

Cela dit, Visual Studio est pour moi un nouvel IDE et à vrai dire, je préfère de loin mon bon vieux Eclipse. Voici une liste de mes points irritants de Visual Studio. La plupart sont des « goodies » qui nous aident à se sentir en contrôle de notre IDE.

  • Il n’existe pas de raccourci pour se déplacer facilement et rapidement à une classe ou une ressource.
  • La gestion des « using » ou « import » en Java est ardu. L’IDE ne détecte pas automatiquement les « using » à faire. En plus, il ne donne pas d’avertissement / erreur pour un « using » non utilisé.
  • Visual Studio n’utilise pas les clés standards (CTRL-PgDown, CTRL-PgUp) des autres applications pour se déplacer d’un tab à un à autre. Il existe une clé pour se déplacer d’un tab à l’autre ?
  • La génération des getters / setters doit être fait champ par champ avec un écran de confirmation à chaque fois pour chacun. Il serait intéressant de pouvoir tous les générer d’un coup.
  • Il n’existe pas de méthode « refactor » pour ajouter un paramètre à une méthode existante et modifier tous les appels existants à cette méthode à spécifiant un valeur par défaut.
  • En ASP.Net, il arrive trop souvent que l’ouverture du fichier .aspx prenne un temps fou. Pendant ce temps, on voit le poste travailler à ….. quoi ?
  • Je déteste l’auto-génération du fichier designer pour un fichier .aspx. Trop souvent, un contrôle ASP.Net ne pas être trouver dans le « code-behind » parce que le designer ne la pas générer. Ceci est supposé arriver seulement quand le fichier .aspx présente une / des erreur(s). Cependant, ces erreurs sont souvent anodines ou transparentes. Évidemment, une erreur est rarement triviale. Mais si au moins il avait un moyen d’avoir une piste sur la nature de l’erreur en question. L’affichage des erreurs dans les fichiers .aspx est très limitée.

Évidemment, cette liste n’est pas exhaustive. Ce sont les points que me viennent rapidement à l’esprit quand je pense aux problèmes que j’ai avec Visual Studio. En compsaraison avec Eclipse, je considère que ces points me ralentissent lors de mon développement d’application, ce qui est à l’inverse de l’objectif d’un IDE.

 

August 8th, 2007

Mon buzz word de la première de Montreal on Rails, Simplicité !

Hier j’ai assisté à la première de Montreal on Rails. À mon avis, ce fût une première réussie. L’évènement a attiré une trentaine de personnes dont plusieurs expérimentant ou travaillant avec Rails régulièrement.

Tout d’abord, j’ai assisté à cette rencontre en cherchant à comprendre et découvrir le pourquoi de l’enthousiasme qu’on peut lire ou entendre de la communauté Ruby on Rails. Préalablement, je me suis documenté sur Ruby et sur Rails pour en comprendre l’architecture mais sans avoir développer d’application.

La démonstration de Marc-André Cournoyer était la première où je pouvais voir un développeur expérimenté à l’oeuvre “live” avec le framework. Et bien, la simplicité de Rails m’a vraiment impressionné. De regarder Marc-André travailler semblait facile, c’était compréhensible pour un non-habitué quoique peut-être un peu rapide. L’outil de développement qu’il, TextMate, semblait complet, avec un interface léger et facilement manipulable à l’aide de raccourcis clavier. L’architecture du framework avait l’air complète et je me sentais aucunement depaysé par tout ce que je voyais. La présentation portait sur ce qui touche les test unitaires dont les “fixtures”. Bref, après la première démonstration, j’étais vraiment content d’être dans la salle.

Par la suite, Carl Mercier a présenté HAML, un outil permettant d’accélérer le développement des fichiers .rhtml / .html. Quoique moins technique, cette présentation demeure intéressante par son contenu. HAML réduit considérablement la taille du code nécessaire pour générer du contenu html en plus d’en faciliter la lecture. À noter qu’il a un impact d’environ de 30% sur la performance lors de la génération du html. Tout de même, HAML demeure prometteur et un outil à en suivre le développement.

Finalement, ce premier réel contact avec la communauté Ruby on Rails m’a charmé par l’enthousiame des gens et l’amour qu’ils ont pour leur framework. En autre, cette enthousiame s’explique par l’élégance du langage Ruby et du framework Rails mais aussi par leur simplicité respective. Évidemment, je serai présent dans un mois et prêt à découvrir de nouvelles facettes de Ruby on Rails. D’ici là, je me promets d’expérimenté Ruby on Rails plus profondément.

June 11th, 2007

Installation/configuration d’un environnement de développement pour Django sur Windows

Voici les étapes que j’ai parcourues pour installer et configurer un environnement Django sur mon poste Windows. Comme IDE, je me sers de PyDev dans WTP (Eclipse). Je connais déjà bien Eclipse et PyDev est quasi-transparent à l’intérieur d’Eclipse en plus de permettre le débuguage. Au lieu d’installer MySQL indépendement, j’utilise WAMP qui installe en même temps Apache et PHPMyadmin qui me sert pour le contrôle de MySQL.

  1. Installer Python 2.5
  2. Installer WAMP 1.7.2
  3. Installer MySqlPython 1.2.2 pour Python 2.5
  4. Installer Java 2 Standard Edition 5
  5. Installer WTP 1.5.4
  6. Dans WTP, installer le plugin PyDev à l’aide du Eclipse Update Manager en ajoutant la location suivante : http://pydev.sourceforge.net/updates/ (Attention de décocher le support pour Mylar sinon PyDev ne s’installera pas)

L’environnement de développement est maintenant installé, il faut indiquer à PyDev où est l’interpreteur Python :

  1. Dans WTP, allez à Windows -> Preferences, PyDev - Interpreter Python
  2. Cliquez sur New et pointez le fichier python.exe dans le répertoire choisi lors de l’installation de Python 2.5
  3. Cliquez OK

Voilà, l’environnement de développement est installé. Il suffit maintenant de créer un projet Django …… à suivre

Références :

Configuring pydev to work with django