Atterrir sur la lune ou ma calculatrice est plus forte que l’ordinateur d’Apollo

Un jour deux pays ont décidé de se faire la course.  Leur but était vieux comme le monde : montrer qui est le plus fort.  Ils auraient pu choisir n’importe quel cible mais il leur fallait un objectif vraiment impressionnant, quelque chose de grandiose.  Bref un objectif qui tairait les protestataires à tout jamais.  Ils ont fait la course pour la Lune.

Les États-Unis ont été les premiers à l’atteindre.  Pour ce faire, ils ont développé plusieurs nouvelles technologies comme un charmant petit véhicule et un module d’alunissage pas tout à fait aérodynamique.  C’est un excellent exemple de l’ingénierie humaine.  Mais, par rapport à ce qu’on fait aujourd’hui, est-ce que c’est si complexe que ça ?

Lire la suite

Comment devenir Sherlock Holmes et diagnostiquer des exceptions comme un pro en .Net

J’utilise dans mes projets depuis assez longtemps une classe d’exception personnalisée qui capture le maximum d’informations lorsqu’une erreur se produit pour m’aider à la diagnostiquer.  Certains types d’erreurs sont notoires pour être résistants à l’identification tel que le fameux La référence d’objet n’est pas définie à une instance d’un objet.  Dans ce cas, le contexte de l’exception fourni une description précise de la méthode contenant la référence nulle mais reste peu bavard sur l’objet concerné.

La méthode habituelle pour trouver le problème débute par tenter de reproduire l’erreur.  Ce qui marche quelques fois, après tout avec un peu de chance et d’observation on peut tomber sur la bonne ligne de code.  Si on est moins chanceux, la correction du problème peut être difficile et il peut être nécessaire de se fier à la mémoire de l’utilisateur qui est normalement une source peu fiable après cinq minutes.

Lire la suite