Hello. You have reached the personal homepage (remember those- they were cool in the ’90s) of Joseph Duchesne. As I have not yet managed to upload a copy of my consciousness onto this web server, I will not be directly interacting in real time, but feel free to poke around and leave comments if you feel the need.
I’m a Computer Engineer in Canada (Bachelor of Computer Engineering, and Professional Engineer designation) who enjoys web technology, trying to process massive data, electronics, robotics, automated fabrication, open software+hardware, and game development. I enjoy solving big problems with sneaky and ideally downright silly solutions that also have the audacity to function properly. In recent years I have grown fond of unit tests, mandatory pre-merge code review, modularity, and spending far more time thinking about how to solve a problem properly than implementing the solution. This is probably a sign of old age.
Many people fear their many online identities being correlated with each other or their offline persona, however I try to present myself respectfully at all times so this isn’t a huge concern of mine. You can find me in the following places:
- Twitter: @magneon
- Facebook: /josephduchesne
- Google Plus: +JosephDuchesne
- LinkedIn: ca.linkedin.com/in/josephduchesne
- Other online venues: Magneon (mostly sci-fi themed games), Amenadar (mostly fantasy themed games), or JosephDuchesne (there aren’t that many of us, but I’m not the 16th century alchemist)
Back in university I competed in ACM programming competitions, the MATE underwater ROV competition. These days I am the Infrastructure Team Lead at Avidbots. Previously, I was Development Manager at SimplyCast. In my free time, I use my 3d printer (prusa mendel V2) and 3 axis CNC milling machine to produce parts for electronics projects. I have built a few iterations of quadcopter, some smaller robotics and LED lighting projects, and a few toys for my oldest son. I also write tech demos, simulations, and little games which I plan to post here on my site from time to time.
When programming I enjoy a whiteboard or a notebook as my primary prototyping language, but I also enjoy:
- C for its transparency, simplicity and power
- Assembly for much the same reason. While it’s rarely a good idea to write pure ASM these days, it is important to know about how the underlying architecture works.
- C++ for game development because of classes, and also because StdLib does many things a good deal better and faster than my own code. Doubly so with C++11 or Boost.
- PHP because despite its endless list of poor design choices, it is easy to use, on most servers and has a badly named function for almost anything (with the arguments in the opposite order you would expect)
- Processing or Python for quickly spitting out a GUI or visual representation of something
- I have also been known to write Java, ObjC, C#, Bash scripts, Perl, Ruby, BASIC, and R when appropriate