Blogue

Le pont D/Objective-C

Il y a quelque chose d’intéressant quand on fait un pont entre deux langages de programmation : on doit apprendre beaucoup sur les fondements des deux langages. Comme j’aime apprendre, et puisque j’aime bien à la fois le D et le Objective-C, construire ce pont était la chose naturelle à faire pour moi. Je n’ai pas le temps d’écrire tout l’article en français présentement, alors vous devrez lire la suite dans sa version anglaise.


Recherche d'emploi

Comme indiqué à la fin de mon précédent billet, je suis présentement à la recherche d’un emploi. Je cherche quelque chose qui touche au génie informatique, au génie logiciel ou au développement web — ou une combinaison de tout ça — et ça doit être dans la ville de Québec (le télétravail pourrais aussi me convenir). Si vous êtes un employeur et pensez avoir quelque chose pour moi, je vous invite donc à consulter mon curriculum vitæ ci-bas.

Formation

2001-2005
Baccalauréat en génie informatique
Concentration en systèmes intelligents
Université Laval, Québec
1998-2000
Collégial : Sciences pures et appliquées
Collège de Lévis, 9, Mgr.-Gosselin, Lévis

Expériences de travail

2005
Université Laval – Département de génie électrique et de génie informatique
Webmestre des sites de cours, maintenance de l’intranet du département et développement de quelque sites satellites. [PHP, Perl, MySQL]
2004
INRS – Eau, Terre et Environnement
Stagiaire durant l’été. Participation au projet d’une étudiante au doctorat. Optimisation des coûts sur des réseaux d’aqueduc à l’aide d’algorithmes génétiques et création d’un logiciel de visualisation des résultats. [C++, MFC]
2001-2004
ACSM – Chaudière-Appalaches
Réalisation du site internet de l’association canadienne pour la santé mentale de ma région. Révision de la présentation réalisée en 2004. [HTML, CSS]

Autres expériences

2005-2007
Réflex – Plateforme de conception et de gestion de site web dynamique composé de différents modules que l’on peut agencer différemment pour l’adapter à différents besoins. [PHP, MySQL, Javascript, DOM]
2004-2007
Sim Daltonisme – Implantation d’un algorithme de filtre pour simuler différents types de daltonisme et création d’un logiciel de visualisation en temps réel pour Mac OS X. [Cocoa, Objective-C, C, Mac OS X Core Graphics]
2004-2007
PHP Markdown & Extra – Programme permettant de convertir du texte vers le HTML selon la syntaxe Markdown. Conversion en PHP du programme original écrit en Perl par John Gruber. [PHP, Perl]
2001-2005
Contrôle Gamma & Black Light – Logiciels permettant d’ajuster les courbes de correction des couleurs d’un moniteur d’ordinateur ainsi que d’inverser l’image à l’écran pour mieux faire ressortir le texte. [Cocoa, Objective-C, Mac OS X Core Graphics]
2003
Easy Programming Interface for Graphics – Interface de programmation C++ relié à une application Java permettant d’afficher des graphiques à l’écran. Outil multiplateforme réalisée en équipe dans le cadre du cours Design IV. [C++, Java, SVG]

Connaissances en informatique

Langages
C, C++, Objective-C, D, Java, Pascal, Javascript, PHP, SQL, Expressions régulières, AppleScript
Platesformes
Mac OS, Mac OS X (Cocoa, Carbon, Core Graphics), Linux, Windows (MFC)
Logiciels
Xcode, Visual Studio, CodeWarrior, Matlab, FileMaker Pro, HyperCard, Microsoft Office, AppleWorks, Photoshop, Illustrator, GoLive, PageMaker
Gestion de code
CVS, Subversion, Git
Autre
HTML, SVG, XML, CSS, DOM, TCP/IP, HTTP

Loisirs et intérêts particuliers

  • Programmation de logiciels
  • Conception de sites web
  • Design d’interface utilisateur
  • Typographie
  • Photographie
  • Piano et composition musicale
  • Vélo

C'est reparti !

Ça fait quelque mois (9) que je n’ai rien publié sur ce blogue. Je pourrais blâmer la situations sur plusieurs choses. D’une part, je n’étais déjà plus très partant pour écrire des articles (comme on peut le constater dans les archives avec la fréquence des mises à jour en 2006). D’autre part, je voulais passer ce site à un nouveau système et pour me motiver j’ai décidé d’attendre qu’il soit prêt avant de publier à nouveau — ça n’a pas vraiment marché, et en fait c’est probablement l’effet contraire qui s’est produit.

Aujourd’hui je brise ce silence auto-imposé ; je reprend l’écriture sur les sujets qui m’intéressent. Et il semblerait que j’ai bien du chemin à rattraper ; c’est qu’il s’en est passé des choses en neuf mois ! Du point de vue technologique, Apple a lancé le iPhone et le iPod Touch, Microsoft a lancé Windows Vista, la fin de PHP 4 est en vue et le W3C a relancé son groupe de travail HTML. D’autre choses sur lesquelles je n’ai pas commenté durant cette pause sont les élections provinciales de 2007 au Québec et d’autres événements et nouvelles au Canada et ailleurs.

J’ai peut-être été silencieux sur ce blogue, mais je ne suis pas resté assis à ne rien faire. Depuis un peu plus d’un an, j’ai de temps en temps contribué sur la liste du WHATWG, et je n’ai pas arrêté. On m’a dit que mes commentaires (avec beaucoup de cas d’utilisation sorti du web) ont été particulièrement utiles pour Ian en esquissant le texte pour le nouvel élément figure.

J’ai aussi mis à jour certains de mes projets logiciels sur mon site web. Sim Daltonism a été mis à jour à la version 1.0.3 ce qui règle quelque problèmes et améliore la performance (particulièrement sur les Mac à processeur Intel). PHP Markdown, mon implantation de la syntaxe Markdown basé sur l’outil original en Perl de John Gruber, et PHP Markdown Extra ont aussi évolués beaucoup au cours des derniers mois. J’ai créé un canal PEAR pour PHP Markdown ; j’ai aussi installé un miroir de mon dépôt Git pour ceux qui désirent suivre le développement. PHP SmartyPants sera ajouté bientôt à ces deux outils.

Mais j’ai aussi passé une grande partie de mon temps sur un logiciel que j’espérais pouvoir publier et vendre en plus d’utiliser sur mon site web : Réflex. Réflex est une sorte d’hybride entre une plateforme de développement (framework) web et un logiciel de gestion de contenu (CMS). Un ancien prototype de Réflex est utilisé pour faire fonctionner ce site. La version sur laquelle je travaillais était une reconstruction complète, mais ça c’est transformé une sorte de processus exploratoire dans lequel j’ai fait plusieurs prototypes incomplets sans réussir à me fixer sur une architecture en particulier.

Alors j’ai décidé de laisser tomber Réflex et de passer à autre chose. Notez bien que ça ne veux pas dire que j’ai fait tout ce travail pour rien. Premièrement, c’était une expérience intéressante, et même si ça n’a pas aboutit j’ai beaucoup apris de mes erreurs. Deuxièmement, plusieurs composants de Réflex sont tout à fait réutilisables et pourrait être publiés séparément, je le ferai probablement pour quelques uns d’entre eux dans le futur. Peut-être même que je relancerai Réflex plus tard quand le concept sera plus mûr. Mais pour l’instant je laisse tomber.

Et pour maintenant, je me suis trouver un nouveau projet complètement différent. Ça concerne le D et l’annonce est pour bientôt.

Oh, et en passant, je suis aussi maintenant à la recherche d’un emploi. Si vous avez quelque chose pour moi dans la ville de Québec, laissez-le moi savoir. Des détails suivront dans un prochain billet.


Stéphane Dion

Avec le choix de Stéphane Dion comme nouveau chef, le Parti libéral du Canada a fait un petit bon dans les sondages. J’écoute tout le monde parler et on dirait que personne ne se pose plus de question à savoir s’il va ou non devenir le prochain premier ministre. Personnellement, c’est ce que je souhaite — je crois qu’il ferait un excellent premier ministre — mais, ironiquement, je ne lui souhaite pas un gouvernement majoritaire.

Ce que j’aimerai voir au Canada, ce n’est pas un gouvernement minoritaire. On en a déjà eu deux, le premier a été très court et n’a pas donné grand chose, le deuxième sera probablement presque aussi court et je suis bien content qu’il n’ai pas mené à grand chose. Non, deux fois c’est c’est bien assez.

Ce que j’aimerais voir au Canada, c’est une coalition gouvernementale ; une coalition où différents partis s’engagent à former le gouvernement ensemble en mettant en commun leur programmes respectifs et en gouvernant sur la base du compromis.

C’est Idealistic Pragmatist qui dans un article (en anglais) explique le mieux pourquoi. En résumé :

Quand les libéraux obtiennent des gouvernements majoritaires, ils ne tiennent pas leur promesses.

Et ce n’est pas vraiment de leur faute. Le fait de pouvoir tomber en élection à tout moment garde une certaine pression sur les ministres qui contrebalance celle exercée par les différents lobbys. Ici on parle des Libéraux, mais l’analyse s’applique probablement aussi bien à n’importe quel parti formant le gouvernement.

Il y a aussi des choses à l’agenda Libéral que j’aimerai mieux ne pas voir passer. Un exemple est le projet de réforme du droit d’auteur qui n’a pas eu le temps d’être passé sous Paul Martin. Ce projet de loi donnait pratiquement la possibilité aux mesures de « protection » technologiques que les compagnies peuvent installer sur les CD, DVD et autre systèmes numériques de rendre illégal différents usages qui serait autrement légaux, tel que comme la copie privée.

Bien sûr, peut-être que ces positions ont changés avec le nouveau chef et peut-être que Stéphane Dion saura s’assurer d’une intégrité exemplaire pour son cabinet s’il venait à être premier ministre, mais rien de mieux qu’un contrepoids politique suffisant pour que l’influence des lobbys soit plus facile à ignorer et que les citoyens se fassent mieux entendre.

Autres petites remarques :

  • Il va sans dire que la combinaison de partis la plus probable pour un gouvernement de coalition est Libéral/NPD.

  • Contrairement à ce qu’on entend souvent dire, je trouve le Bloc Québécois très utile : il rend plus difficile l’obtention d’un gouvernement majoritaire. Idéalement, c’est le système électoral qui devrait être révisé pour mieux répartir les députés en terme de nombre de votes, mais en attendant qu’une telle réforme arrive le Bloc nous donne un résultat un peu semblable.



  • © 2003–2024 Michel Fortin.