January 3, 2012

2012 CS Resolutions

Matt Might's "What every computer science major should know" article is fantastic. I regret not reading this article in the beginning of the holiday break, but I guess I can use this as sort of a "2012 CS Resolutions" list since everyone seems to be making New Years resolutions right about now.

  1. Master LaTex

    In school, I never really used LaTex for typing up assignments until last semester for our project design docs. I actually don't know how feasible this will be to do now that I'm in the "real world", but I'll take any chance I can get to write up documents in pretty LaTex!

  2. Be better at UNIX/Sysadmin-ing

    Being traditionally a frontend person, I don't have a crazy amount of experience working with command line or doing sysadmin-y things. Sure, I know how to do some elementary things and I'm a vim fanatic (by the way, vim > emacs). However, I'd like to be able to count myself as an expert at writing shell scripts or configuring a web server.

  3. Learn a couple of new languages

    Not for the sake of "adding new languages on my resume", which is absolutely useless, but for exploring and mastering new programming paradigms. A few that sparked my interest/I've been meaning to pick up: Scala, Haskell, Erlang.

  4. "Understand a computer from the transistors up"

    Being an EECS major has exposed me to all of the "levels" of a computer, but I never took much effort in trying to piece things together and much of my EE knowledge is long forgotten.

  5. Get some hands-on experience with Operating Systems

    The semester I took it, Berkeley dramatically changed their traditional Operating Systems class into a hybrid (read: less in-depth/useful) systems class that covered minimal multi-programming and memory/scheduler topics but didn't actually give us any practical experience with how operating systems work. In particular, I'd love to learn more about file systems and possibly tinker around with the Linux kernel.

  6. Catch up on reading systems papers

    I have a giant list of systems papers to go through/that I semi-went through during winter break courtesy of my friend Sunil and the graduate cloud computing course at Berkeley. In addition, Stripe has super cute academic paper reading lunches, which I'm really excited about! I'm sure this will be an easy resolution to keep up with. (:

After reading the article, I'm not super satisfied with what I learned in my 3.5 years as a Berkeley EECS major. I'm looking forward to filling in the gaps now that I've graduated!