Dreaming in Code

May 6th, 2009

Dreaming in Code

I’ve been reading Dreaming in Code for the past week. I forget where I first heard of it, but after a recommendation from a coworker on the Spacewalk team (thanks Partha) I finally followed through with checking it out.

The subtitle does a good job of explaining the book’s purpose: “Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software”. I hesitate to call it a case study in software projects because I don’t think it does justice to the book’s relaxed, conversational style. Rather than reading like a formal study, it’s the story of the development of Chandler an open source personal information manager with high goals. Rosenberg also provides a ton of related information to help frame the choices the Chandler team had to make, which increases the book’s audience significantly to include non-professionals.

I wish I was in a position to assign required reading for CSC majors. I’m not sure what class this would fall under (the most likely candidate is Software Engineering). Even then, the bigger challenge is convincing students of the value.

In short, anyone considering a career in programming needs to read this book. It provides an incredibly good insight into what it’s like to work on an actual project, an insight that students normally only get with experience after they’d graduated. Like I said, it’s presented more as a story of what happened rather than a technical manual, so it’s not painful to read.

But I cannot stress enough how much I would have appreciated such a detailed look into a real software project before I started on my career. Software Engineering text books describe what to do “by the book”. This book shows you a more realistic view of how those theories and practices can (and often do) go wrong.

Ghetto Office – Round 2

April 17th, 2009

It’s hot as hell in my office. I’m on the third floor of a townhouse and have virtually no air circulation in here, so if I turn on anything more than a laptop it starts to generate a rainforest climate. Needless to say, my open computer isn’t helping things. So rather than take steps to properly alleviate the situation, I added another hack to the mix.

Ghetto Office 2

The worst part is that there is a showing for the house tomorrow, so at some point today I have to actually man up and make this place presentable.

And yes, I do see the irony in posting a picture of a giant box fan pointed at a half assembled computer under the category “technology”.

Professionalism

April 17th, 2009

Remember being a kid on Christmas? Diving through an endless sea of presents as wrapping paper and cardboard packaging fluttered in the air like snow. And how once it all settled, your parents would not let you play with your shiny new toys until after you’ve cleaned up the disaster.

A few days ago I posted about my sweet desktop memory upgrade. Installing the new chips took maybe 10 minutes, and then another hour or so of debugging timings and what not (which at times required me to reset the BIOS using a jumper on the motherboard itself). Once I got that to a (reasonably) stable state, I’ve been cruising in full 8GB glory.

This was on Sunday.

Today is Friday.

This is what my office currently (read: still) looks like:

Ghetto Office

The moral of the story? If mom and dad hadn’t made me put down the shiny new toys and clean up, the wrapping paper would have become a permanent decoration in the house.

Mmm…

April 12th, 2009

-> cat /proc/meminfo
MemTotal:      8196508 kB
MemFree:       7473284 kB
...

The sweet, sweet smell of hardware upgrades. I bumped my home Fedora 10 x86_64 desktop to 8GB this weekend. That is, I did it after digging through a good 1/4 inch of dust to actually find my memory slots first. In my next home office, I’m not having carpet, this just bites. That, or a fanless machine, but I digress.

Why did I upgrade? The better question is why not. It’s still running DDR2 which these days they pretty much give away in happy meals and at the bottom on cereal boxes, so it’s not like cost was really a problem. More importantly, this will help feed my growing (arguably unhealthy) obsession with seeing how many virtualized guests I can have running on my network at the same time…

Virtualization Rocks

April 3rd, 2009

I’m not looking to get into a big discussion of what virtualization is, so I’ll steal a quick summary from wikipedia:

In case of server consolidation, many small physical servers are replaced by one larger physical server, to increase the utilization of costly hardware resources such as CPU. Although hardware is consolidated, typically OSes are not. Instead, each OS running on a physical server becomes converted to a distinct OS running inside a virtual machine. The large server can “host” many such “guest” virtual machines.

Ok, that reads a little bit complicated. I have complete Red Hat Enterprise Linux 5 (RHEL 5) installations running from inside of my Fedora desktop as if they were all on their own machines by themselves. They connect to my internal network just like any other machine, getting their own IPs and being able to connect to my Spacewalk server running downstairs in my family room. From the network point of view, it can’t tell the difference and looks like I have a ton more computers in my house. That’s a good thing, since with the warm weather coming the single desktop I have in my office is enough to generate a small tropical climate as it is already.

Pictures don’t do justice to how cool looking this is. I use a dual monitor setup, so a fullsize screenshot would end up at 3360×1050, just a bit bigger than the annoyingly thin fixed width theme I have on this site (seriously, once this semester ends and I get back some free time, this shit has to change). However, I’ve done my best to capture the total awesomeness of my desktop right now. Click the image for a larger-but-not-fullsize version.

Virtualization

That’s two RHEL 5 installations running on top of Fedora. The terminal is SSHed into one of them, so I don’t actually have to use the GUIs.

The coolest part is that it was dead simple to set up. I used two links, the first for the majority of the installation and the second for the bridge configuration to the network:

Nerdvana

February 8th, 2009

I have reached a new level of laziness that I never thought possible.

As I write this, I’m sitting in my family room grading my latest project. I’m not the type to listen to music when I do stuff, rather I’m more of the type to throw on a movie I’ve seen a thousand times as background noise. I had just finished one through the XBox Netflix streaming, so I hopped on netflix.com to find something new to watch.

After poking around for a bit, I decided to throw on Matrix Reloaded. One click to add it to my instant watch queue. About 30 seconds later, my XBox beeped and I looked up to see it sitting in my queue menu. I pressed the play button on the controller and no more than 10 seconds later, it was streaming to my TV in full HD glory.

That is some seriously cool technology right there. To my students who don’t yet know what it takes for a packet to actually make it to its destination, realize it’s a freakin’ miracle that we can send a simple e-mail, much less stream gigabytes of data without pausing every 3 seconds.There’s just one problem with this whole scenario.

I already own Matrix Reloaded on DVD.

It’s in my house. I can see the door to the closet in which we keep the DVDs from where I’m sitting. I consciously decided that clicking a few buttons far outweighed my lack of desire to stand up and walk 10 feet to get the DVD and put it on.

Now if I could just figure out a way to not have to get up to go to the bathroom…

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.