The 2014 edition of the Canadian University Software Engineering Conference was this past weekend and I thought I’d write a short post about it.
Since I wasn’t on the organizing board this year, I got to enjoy the conference in a much more relaxing fashion. It was also my fifth CUSEC, so I’ve figured out how this conference works and how to talk to people. Having a lot of friends in the companies at the career fair helps; being friends with one of the speakers helps too. But more importantly, I’m just way older and more confident than my 19-year-old self. I feel comfortable around nerds, and I’m not totally lost in a technical conversation. I’ve grown just as much as CUSEC has grown.
I’ll talk about a few of the talks that really stood out to me.
Famous blogger Julia Evans 1 gave a fun talk on hacking on the kernel. Operating system kernels are a really neat part of computers that I don’t know much about, and Julia makes it seem easy and not scary at all. She had a neat trick of hiding all the parts of a C program that aren’t relevant to understanding it on a high level. It’s quite rare for someone to take a very technically intimidating subject and make it seem within your grasp.
Josh Matthews gave a talk on developing for Firefox: the kinds of projects Mozilla has that you can work on, how to find a bug to work on, and what the patch process is like. I spent the last summer looking at how open source projects do code review, so a lot of this was obvious to me, but this is exactly the kind of talk that would have completely blown my mind a couple years ago.
He went a few steps further and bravely walked the audience through a complete Firefox patch, explaining the important parts of the code, and giving a brief overview of the architecture along the way. Similarly to Julia’s talk, it was a very non-threatening introduction to an extremely intimidating topic.
Nadim Kobeissi spoke about CryptoCat, a controvertial encrypted chat service that’s been under a lot of fire since it started for horrible bugs and being developed by a 23 year old (ad-hominem attacks abound). I admit I have a soft spot for Nadim because he is a recent Concordia graduate 2, but also because I think he’s solving a tough problem that needs solving if encryption is ever to become popular — usability.
Nadim’s talk wasn’t technical in nature — it was more about the political side of things. He shared insightful observations on the nature of the struggle between hackers and the surveillance state. In essence, he argued that they both feed off making the other look like an adversary to be defeated, but the real solution lies in common understanding. That’s no easy feat when your adversaries are organizations like CSEC and the NSA who have had no serious oversight.
I was honestly surprised to find Nadim very approachable, humble, and easy to talk to. He gave me some good advice on learning more about computer security and finding mentors.
I don’t want to spoil Gary Bernhardt’s talk — you’ll have to watch it when it comes out — but it was stylistically very interesting to me. I love science fiction and informative, thought-provoking technical talks. The marriage of both is something else entirely, and I liked it.
Kelsey Gilmore-Innis gave a fun, bombastic introduction to functional programming. Avi Bryant spoke about detecting fraud, but I missed the first half of his talk because I was talking to someone in the hallway and didn’t realize it had started. Oops. I had a nice chat with him later, though, which sort of made up for it.
This year I gave myself a challenge: to ask a question after every talk I saw. With two exceptions, I managed to do this, and it went pretty well. I got a little better at handling my nerves throughout the weekend and managed not to say anything too stupid. Julia’s encouragement — something along the lines of “everyone thinks you’re dumb anyways” — was very helpful.
I think I have good taste in questions. I might write a blog post on what I think makes a good post-talk question at some point.
CUSEC was fun and I recommend going.