Know Your Roots

January 23rd, 2009

Last semester I learned a very disturbing fact. The majority of my students, namely those born in the 80s or (more depressingly) the 90s, had not seen some of the classic computer-related movies. Sure, I like the first Matrix movie (I’ll pretend the abomination that was the last in that trilogy didn’t exist). I liked Swordfish as well, despite the awful scene where Hugh Jackman codes the virus on a 9 monitor system. But the real classic computer-related movies are much older and many of them still stand up after decades.

Below are a few what-I-wish-could-be-required-viewing-for-my-class movies that any real computer geek should see. It’s not a full list by any means (I’m sure many will be pissed I omitted 2001: A Space Odyssey), but instead are just my favorites.

Hackers

Released in 1995, Hackers has the best chance of actually having been seen by my students. To those that haven’t seen it, realize there was actually a time before Angelina Jolie had 37 kids.

Between the cheesy 3D navigation of a file system to the impractical button (not keyboard) based interface to the super computer, it’s a technical atrocity. But something about the cyberpunk themes and solid techno music still make me have to watch it whenever it’s on.

War Games

There’s a solid (read: depressing) chance that most of my students weren’t alive when War Games was released in 1983. The sad part about that is there is an entire generation of computer geeks who can’t appreciate a good “Global Thermonuclear War” joke. Other parts of the movie that still get referenced among the truest of computer geeks include tic tac toe jokes, “Joshua”, and the almighty WOPR (with a W, not a friggin’ J).

Before he played Ferris (and to my students, please tell me you at least recognize that reference), Matthew Broderick played a high school hacker who, while in search of new video games to play, accidentally starts a world war. Classic.

The only thing I’m going to attack in this one is the “social engineering” (the term isn’t used in the movie but in today’s culture that’s what it would be called) he uses to discover his school’s password. Anyone who actually stores their passwords that way deserves to be hacked into the stone age.

Colossus: The Forbin Project

Colossus: The Forbin Project (1970) is actually older than me, a fact I’m quite happy to be able to say. My dad introduced me to this movie on VHS a few years ago. They colorized it for the DVD, but in my opinion it doesn’t really lose its original charm in the process.

For being as old as it is, it still holds up as an excellent movie even today. Again I won’t comment on the technical possibility, nor will I even provide a summary of what it’s about (ok, I will say it’s your pretty standard issue “the world is ending”). Just watch it, trust me on this.

Home Office

January 19th, 2009

I always get one of two reactions when I tell people I work from home:
“Oh man, that’s so great, I’d do no work.”
“How do you actually get any work done?”

I’ve been at Red Hat for two and a half years now, so by now I should hope I’ve settled in and found a way to get things done. A bunch of my students were curious about what my “home office” looks like (and I’m waiting on some really, really long test cases to run), so I figured I’d give a quick virtual tour.

Office #1

Pro: I have a window with a view…
Con: … of nothing.

Above the windows are autographed pictures of MMA champions: Rich Franklin, Tito Ortiz, and Matt Hughes. The plant is hanging on for dear life and trying to survive the two months between when I actually remember to water it.

Office #2

I think much better on a white board. I also tend to organize using colors, so the 12 pack of various markers has been a solid investment. And if I catch any of my students not recognizing that the spaceships are straight out of Space Invaders, you immediately fail.

Office #3

One side of my desk is almost entirely devoted to monitors. For a while I was running dual-monitors with the center and right monitor, I just haven’t set it up again since my last install. The left monitor belongs to whatever random machine I have in my office at the time. That’s my work laptop on the left where I keep up on e-mail and my work chat rooms.

The Red Hat posters were an attempt to keep the office professional. As you can see, that failed pretty miserably. My office is the one area of the house that’s mine, so I felt inclined to go a bit overboard with the weird decorations.

On Interviews and Resumes…

January 6th, 2009

One of the biggest points I try to hammer home with my students is to take advantage of the fact that I’m a full-time developer and have been since college. I have a different (and let me be clear: not better, not worse) perspective on things than some of the other professors at Villanova and I think it’s important to take as many of these perspectives into account while students have access to them. I’ve extended this to not only my own students (both past and present) but any other students I’ve encountered in my various guest lectures, colloquium, and simple time spent in the computer science labs.

One of the students I met that falls into the last category e-mailed me and asked if I would proofread his resume. I ended up throwing out some random tips on interviews and resumes at the end that I figured should probably be shared more globally. I’ve interviewed a number of people at various jobs, including a streak at Gestalt where I was interviewing around 2 a week for a few months, so while I don’t claim to be an expert I can at least say what I’ve looked for in the past.

Be interested in what you do. If you’re doing this for a paycheck, it shows. If you’re genuinely a computer geek and really have fun doing this stuff, it shows. An interview for a tech position is not the time to worry about the social implications of having compiled your own kernel. Setting up a MythTV box at home isn’t a good pick up line at a bar (trust me, I’ve tried), but it shows a lot of initiative and interest in a tech interview.

Don’t be afraid to admit what you don’t know. It’s much better to say “I don’t have any experience with that yet” than to stumble around making up an answer. The interviewer will know the answer already, so don’t think you’re going to fool her. You’ll just look like an ass when she runs back to the rest of her coworkers and tells them the absolute crap you tried to pass off as an answer. And if it was a really off the wall answer, expect to be the butt of jokes on that team for months to come, even if you don’t get the job.

Along the same lines, don’t be afraid to admit something you did that didn’t work. Bad decisions are inevitable. Being able to recognize and admit it was a bad decision shows you’re not too proud or full of yourself to not see the bigger picture. Just make sure you can justify the decision in the first place. You made the call for some reason, and hopefully at the time it sounded like a good one, so explain what that reason was.

Find out what you’re in for. In other words, ask questions. I know, this sounds like pretty generic advice. It’s especially tricky for your first job when you don’t really know what you’re asking. But you can still get a sense of how organized the team is. If the interviewer can’t give you a solid explanation of how the release process works, there’s a solid chance the team is run like a beer pong tournament. Sure, they are interviewing you to make you an offer on a position, but in reality you are also interviewing them to determine if you want to work there.

Be very careful with the buzzwords on your resume. There is a very tricky balance between the buzzwords necessary to get an HR employee who doesn’t know what they are doing to be interested in your resume and having so many buzzwords that the interviewer immediately thinks you are full of shit. My general rule of thumb is that less buzzwords are better than poorly chosen ones. I fully admit that I walk into giving an interview expecting to be much more harsh when I see the applicant claims MVC as a skill (lately, the abuse of the term SOA is my new call to arms).

Be very careful with the skills on your resume. Executing a select query against an Oracle database one time does not entitle you to say you are skilled in Oracle. Along the same lines, playing World of Warcraft and visiting Facebook does not qualify you as a Windows expert. If your job experience doesn’t mention a skill in your skills list, be prepared to justify yourself.

Proofread your resume. Seeing as it’s the de facto professional representation of yourself, it’s assumed you’ve looked over it a thousand times and are 100% happy with it. With that in mind, a typo speaks a lot about your professionalism, polish, and general care you put into projects.

Some interviewers are just assholes. They may throw stupid brainteasers at you thinking it will make or break the interview. It happens. Don’t get dejected, it might not be that you were bad so much as that the interviewer is poor at giving interviews.