Who am I?

Jonathan Villemaire-Krajden

I grew up in Montreal, in a melting pot of cultures. I learned English and French as I was growing up, and then towards the end of grade school, Python. This language that allowed me to interact with a computer rapidly captured my attention. English and French structured my thinking and allowed me to express and expand my ideas; Python was another language with which I could explore the world around me.

My various interests where well served by my discovery of programming. With POV-ray I learned about optics, graphics and Open Source.

As I grew interested in entomology and photography, I began building a web application in PHP with PostgreSQL. This allowed me to catalog my pictures of insects with their identification. Since I knew little to nothing of security at the time, and not much about best practices, it never saw the light of day outside of 127.0.0.1.

This was also about the time that I began experimenting with Linux distributions, running through Fedora, OpenSuse, Debian, Gentoo (I stayed on that one for a while), and a few others, before settling on Fedora these days. I also have a server running Ubuntu LTS.

After playing around with programming for various tasks, I became curious about programming itself. First informally through small computational challenges, and then during my undergrad degree.

During my studies at McGill in physics and computer science, I tinkered with C, C++, and java as well as a little SML.

In 2009, slightly before graduating, I turned my hobby into a profession, and entered the world of web development. I now look forward to honing my skills in other fields of computer science, and bringing together my theoretical knowledge with applied work. I want to look at distributed computing, as well as machine learning.

Appart from programming, I bike competitively and for fun, and commute on my bike year round. Many of my recent projects are tied to cycling. I have created and manage the McGill Cycling Team's website, and I put together code for a goldsprint (indoor bike race) to manage the race as well as capture the output of ANT+ sensors. This involved reverse-engineering the protocol, a wireshark adventure. I also wrote some simple code to use a webcam for photo-finishes. It's way cheaper than a line-scan camera, but at 30fps in good conditions, not quite as race worthy.

I have also played and competed in badminton. I enjoy cooking, and consider myself a decent vegetarian cook. I enjoy spending time outdoors, hiking, biking, or just crawling around looking at the small things that exist in the wild and which we spend most of our time walking over without noticing.

Qui suis-je?

Jonathan Villemaire-Krajden

Je suis un Montréalais; j'ai grandi au coeur d'un quartier multiculturel. J'ai appris le français et l'anglais simultanément. Vers la fin du primaire, j'ai découvert le Python. Ce langage de programmation qui me permettait d'interagir avec un ordinateur m'a rapidement séduit. Si l'anglais et le français me permettaient de formuler des pensées et de m'exprimer, avec Python, pouvais explorer le monde à l'entour aussi.

En m'initiant à la programmation, je pouvais approfondir mes connaissances de tous types. Ainsi, j'ai appris beaucoup sur l'optique au travers de POV-ray.

Je me suis aussi intéressé à l'entomologie et à la photographie. À la suite d'un été que j'ai passé à quatre pattes, le nez dans les herbes, à photographier des insectes, je me suis construis une application web en PHP avec PostgreSQL. La base de données que je me suis construite me servait à me créer des fiches d'identification pour les insectes que je trouvais. Faute d'inexpérience, l'application n'était aucunement sécuritaire et ne pouvait être exposée à l'extérieur du 127.0.0.1.

C'est autour de cette même époque que j'ai débuté mon apprentissage de Linux. J'ai fait le tour, Fedora, OpenSuse, Debian, Gentoo (j'y suis resté accroché pendant un bout) puis j'ai bouclé la boucle, Fedora. J'utilise aussi un serveur qui roule sur Ubuntu.

Après m'être amusé avec la programmation pendant quelques années, je me suis mis à me poser des questions sur la programmation elle même. Quelle en était la théorie? Initiallement, par moi même, au travers de sites de problèmes, et ensuite à l'université.

Durant mon bachalauréat à McGill, en Sciences Physiques et Informatique, j'ai découvert d'autres langages, C, C++, et java en plus d'effleurer le SML.

En 2009, juste avant ma diplômation, je me suis retrouvé professionel, avec un premier emploi dans le développement web. Je suis présentement pigiste en informatique, en plus de prendre un cours de maîtrise à Concordia, où je compte approfondir ma connaissance de la programmation parallèle sous peu.

Hormis l'informatique, je suis un cycliste compétitif et récréatif. Je fais pratiquement tous mes déplacements à vélo, été comme hiver. Plusieurs de mes projets y sont d'ailleurs relié, comme un programme afin d'organiser et de chronométrer un goldsprint (une sorte de course de vélo stationaire). Pour le chronométrage, je m'étais attelé à la tâche de désosser (to reverse engineer) le protocol ANT+ (oui, je sais, le protocol est maintenant accessible). J'ai aussi créer, et je continue de maintenir le site web de l'équipe cycliste de McGill. J'ai aussi créer une petite application utilisant opencv pour faire un photo-finish avec une webcam. C'est bien moins cher qu'une vraie caméra de photo-finish, mais à 30fps, ce n'est pas aussi performant...

J'ai aussi joué au badminton. J'aime cuisiner, et je me considère comme un cuisinier végétarien compétant. Je suis un amateur du plein air, que ce soit la randonnée, le vélo, ou même de ramper au sol en observant tout ce qui grouille.