Julia Evans

CUSEC = fun

Last week I attended CUSEC, an undergrad conference for software engineers. They invited me to speak which was super exciting, and there were a lot of great talks. I also got to meet Kelsey Gilmore-Innis and it was pretty great.

Some of my favorite things:

  • Josh Matthews gave a great introductory talk on how to contribute to Firefox. I liked how he gave some concrete examples of small patches. He also showed off http://whatcanidoformozilla.org/, which I hadn’t heard of before. You can see the slides on his website, and they have tons of detail. He really made the Mozilla community sound friendly and welcoming and it was great.
  • Kelsey Gilmore-Innis talked about how functional programming isn’t scary and the reasons she liked it. I liked how she pushed back against the notion that functional programs are unreadable – she pointed out that people who write imperative programs spend a lot of time learning how to read for loops, and learning how to read map is similar. Food for thought for sure.
  • Avi Bryant gave an easy-to-understand-for-me introduction to HyperLogLog and talked about how we can often write better programs if we write them probabilistically. Fun!

Monica, Kelsey, and a few other people put together something we called CUSECLadies. Basically we invited all the women students at CUSEC to meet up with us (women with programming jobs and a few years’ experience on them) and had a big group discussion. We talked about salary negotiation, whether or not women stay in tech, how we all got into programming, people’s experiences in school, whether we identify as feminists, advice for talking to companies at job fairs, the role of women-only groups, and a whole bunch of other things.

It was totally unplanned, but I think/hope people got something out of it.

I also gave a talk! It was called “You can be a kernel hacker!” and it was 100% the most fun talk I have given so far. Here are links to the resources I talked about.

A whole bunch of delightful people came up to me after and told me that they now feel like they know what a kernel is and how to get started with kernel programming! What a world =D

My favorite new talk tactic (thanks to Monica) is to gray out everything irrelevant when showing code samples. Here’s an example:

Before:

After:

I found that this really helped with the cognitive load of code samples and made showing kernel code much less intimidating. The technical term for this is “eraser eyes”.