The Joy of Problem Solving

This past semester, I took one of my favourite computer science courses to date — Intermediate Algorithm Design and Analysis. The course helped me realize my passion for reasoning about interesting problems, and being able to convey ideas about these problems to others. After all, the human mind has evolved to be shockingly good at identifying patterns, and solving puzzles is one of many ways to scratch that itch. This is what I personally find so appealing about programming: a problem that may initially seem straightforward can almost always be approached from many different angles.

One of the best ways to improve one’s problem solving skills is being exposed to a lot of different problems and approaches to these problems. The web is a goldmine for this type of content, and I really enjoy reading long-form articles that go in-depth into a given topic. I have a lot of respect for anyone who can take a complex idea and distill it into something that is both approachable and engaging; this skill that I would like to perfect. After all, in the grand scheme of things, knowledge that cannot be shared is virtually worthless.

After I moved my blog to Pelican, I wrote a few posts of this sort of explanatory nature, but haven’t done so over the past couple of years. I think the problem is that whenever I set out to get some writing done, I imagined the final product as some sort of grandiose thinkpiece. This is clearly a flawed approach, as I didn’t end up publishing any posts this year (apart from this one). Throughout high school, my ability to produce coherent essays at the last minute was something I prided myself upon. Now that I’m studying computer science, proofs of correctness are the most writing I ever have to do, so I’d really like to return to writing informative blog posts.

Fortunately, the New Year is that time where people arbitrarily decide to make drastic changes to their lives. I’ve learned my lesson from last year, and this time around, I think I’ll make some more general resolutions. I’ll be trying out a few ideas from Alex Vermeer’s page on life hacking. I want my Twitter feed to be more of a stream of consciousness rather than meticulously curated timeline. I want to write a bunch of blog posts that other people (might) find useful. Let’s see what comes of 2017.