About Me

I'm Carson Myers. I started programming when I was around 7 or 8, starting with small JavaScript and batch scripts to do neat stuff. Over the years I moved through C, C++, and PHP, with a couple serious projects here and there, but I mostly just did hobby stuff. These days I like Python, C#, and F#. I consider myself a competent developer, comfortable in most imperative environments, and working my way into the declarative/functional paradigm. While small, succinct code is always my goal, I also strive to work for the end user: an intuitive, attractive interface that fulfills most users' expectations is just as important.

I'm from Kelowna, BC. Right now I'm studying computer science and mathematics at UBC Okanagan. I expect to graduate with an honors degree in 2014, and then promptly return to toying around with technology in my off time.

I had a few projects and learning experiences as a kid which stand out in my memory. One was learning how to read gcc's assembly output, and using that knowledge to smash the stack, write and exploit buffer overflow vulnerabilities, implement stack canaries, and brag to my schoolmates. Another was a very enterprisey script interpreter in VB6 I started when I was 13. It basically just interpreted a VB6-like language that I just made up as I went. The goal was to make my own "command prompt" with my own custom language, and to be able to make windowed applications out of the scripts. I succeeded, but it was painfully slow, hard to maintain, and extremely impressive to other 13 year olds. It was on this project that I learned why writing clean code is so important. I also realized why bytecode was important.

My favorite is this last one though: While I was in middle school, a few friends and I started a fan-site for our favorite band at the time: Alexisonfire. It was called aofcounterpart.com. I did a lot of design and programming for it, most of it fairly light weight. Part of it was a fan-finder: an interactive world map and signup form, which let fans create a small profile and add themselves to the map. You could find fans in the same region as you by clicking on the continent, country, city, etc. to see lists of users who have signed up. We built a thriving community around us and poured our hearts into content, updates, etc. (read: skipped a lot of class). But then something broke, and all being fairly novice we couldn't figure out what happened. We figured our site had run it's course anyway (it was around for a few years) and just let it go. The community left, and I've never been able to get people to gather quite the same. It was then that I realized just how valuable a community is, and how stupid we were to let it go: we didn't know what we had!

I decided to start a blog to give back. All these years I've been taking free advice and instructions from the internet, and I think it's only appropriate to share my own advice and instructions back. Sometimes I have trouble solving a problem, and I can't seem to find a solution anywhere online. So I take the relevant parts of several different solutions, ask questions on communities like Stack Overflow, and get something working together. It would be selfish to use countless numbers of people's blogging, commenting, and answering hours to my advantage, and not even share the end result! Whenever possible, I'll be filling in "missing pieces" that I have found in the information for certain technologies. Of course, I also need a place to write about programming and science in general, since my girlfriend grows weary of my long winded explanations about how great generator expressions and linq are.