Reflections and Resolutions

It’s already the last day of 2015, and I’ve only published a single post this year (and on the first of January, no less). It turns out I’m not actually limited to posting technical articles here, so I figured I would ramble on about various things from this year and set some goals for 2016. With any luck, this might even become a regular occurrence!

The computer science courses that I took this term were based around C and C++ rather than Java, and so thankfully I was able to forgo using an IDE for development. As a result, this also meant that I could ditch my Chromebook and pack even lighter. I decided to try using an iPad as my computing device because iOS 9 made multitasking a viable option, and it worked quite well. I was able to SSH into the department machines to write and compile code, which gave me the perfect excuse to learn Vim to some degree of competency.

I also spent the my most recent academic term applying for jobs through the co-op program at my university, and I’m excited about spending the next few months interning as a software engineer — quite the change in scenery from the perpetual lecture hall. If there’s one piece of advice I have for others applying for their first internships, it’s to work on personal projects. Not only do projects demonstrate your technical ability, but they also provide talking points for the more behavioural aspects of interviews. The important part isn’t so much that they’ve gone viral or are hundreds of thousands of lines of code long, but that you are able to discuss decisions you made and things you learned during the process.


New Year’s resolutions are great because they’re arbitrary, and people inevitably forget about them. Sticking with your resolutions is generally good, though, so I’m hoping that by writing them in virtual stone, I’ll be pressured to follow through with at least some of them.

Writing is something that doesn’t get exercised very much as a computer science major. This is a shame, as communication skills are arguably more important now than ever. As a result, I write significantly less than I did in high school, which has led to what I perceive to be a decline in my articulacy. I have also noticed that I’m a “chronic lurker” when it comes to discussion-based sites like Twitter and Reddit, resulting in writing something, then promptly deleting it. Obviously, there is value to this when practiced in moderation, but I feel as though I self-censor a little too much. My personal theory is that there’s some level of perfectionism to blame for this behaviour, and I’d like to correct it sooner rather than later.

Time is the best censor, and patience a most excellent teacher.” Frédéric Chopin

Fortunately, the remedy to this seems straightforward; I simply need to write more, and I have two fantastic venues for doing so: this website and Twitter. I’ll be making a concerted effort to do more writing this year, and — as Chopin says — let time do the censoring.

Another observation I’ve made is that extended, gapless music has become increasingly key to my bursts of productivity. When I’m not listening to podcasts, I tend to throw on an hour-long mashup or medley, since it allows me to better concentrate. I haven’t composed anything for years now, so this is yet another thing I’d like to focus on. The one quantifiable goal I have for 2016 is to release at least 30 minutes of music, which I’ll hopefully be able to transform into some sort of continuous mix.

One of the most rewarding aspects of the software industry is the emphasis placed on continual learning; there’s always a new language or technology cropping up. At times, this goes from interesting to overwhelming, but for the most part, it’s possible to filter out the extraneous. Apple’s open sourcing of Swift earlier this month was monumental for the OSS world, and contributing to Rust was a valuable learning experience for me as well. This year, I’d like to actually develop projects using these two languages.

As it turns out, natural languages are pretty important as well for communicating with fellow Earth-dwellers. As far as language acquisition goes, the younger the better, so the best time to learn a new language is now, not later. I’ve always been fascinated by Japanese due to the combination of logographic (kanji) and syllabic (kana) characters used in its writing system. It’s been a long time since I’ve learned a new language so I’m not sure how much progress I will make, but my final resolution for the new year is to begin learning Japanese.

Here’s to a great 2016, everyone!