Monday, March 23, 2009

Shedd Aquarium

My wife, in-laws and I visited Shedd Aquarium on Saturday (March 21). It was a bit too crowded for my tastes, but we still had a great time. Armed with my new Nikon D90, this was my first opportunity to really exercise my budding photography skills. I just uploaded a number of pictures to my Flickr site, and created a Shedd Aquarium 2009 set to house them all. Enjoy!

Friday, March 20, 2009

MythTV Hardware Upgrade

When I started this blog, one of my goals was to consistently post any hardware or software problems I encountered while tinkering with my computers. This serves two purposes: if, in the future, I find myself having similar difficulties, I have a written record of what I did to refresh my memory (simply typing it all out will strengthen my memory). The other advantage is giving back to the community: so many times I've encountered a strange error or situation, only to find some obscure blog post that explains the exact same situation and solution. Perhaps some day a desperate computer enthusiast will use my blog to find and answer to their woes.

First, the short version: I need to pass the "pci=nomsi" parameter to the Linux kernel in order for my Asus M3N78-EM motherboard to recognize the hard drive.

Now the long version...

I'm a compulsive hardware tinkerer, always tweaking my computers, both software and hardware. I haven't bought a prebuilt computer for at least 15 years; all my computers were assembled piecewise by yours truly. Last week I was rebuilding my backup server (affectionately named "dumpster"), replacing the Intel CPU and motherboard with an AMD solution. My MythTV media PC ("cesspool") also used AMD. However, it had an older, slower CPU---a BE-2350---than the one I was about to put in the backup server, a 4850e. I thought to myself, why put the better processor in a machine that doesn't need it? Why not use the faster hardware for the machine that gets regular use?

There's one fact of which my wife loves to remind me; a fact I feel obligated to report in the interest of full-disclosure: there was absolutely nothing wrong with our MythTV prior to me attempting the CPU change; it didn't need a faster processor. But like I said, I have this compulsion: computers are toys to me, and I just want to play! Besides, what could go wrong with a simple, quick CPU swap?

I put the better CPU, the 4850e, in MythTV. I hit the power button and... nothing! The computer wouldn't POST (power on self-test). As I thought about what might be wrong, I wondered if the CPU was too new for the motherboard, a Biostar Tforce TF7025-M2. Some quick Google work confirmed my suspicions: Biostar's CPU support page doesn't list the 4850e as supported; likewise, Newegg's customer reviews say the same. D'oh!

Sad, but no problem: just put the old BE-2350 back, and finish the backup server... and it still won't POST! What happened? At this point, I assumed the motherboard was dead. (In hindsight, I don't know why I thought this.) I ordered a new board, an Asus M3N78-EM. This motherboard sports the nVidia GeForce 8300 video chip set.

When the new board arrived, I was excited: I get to use the 4850e (I checked teh M3N78's CPU compatibility before ordering), and would have all-around faster/newer hardware. So I dropped in the CPU, connected all the cables, hit the power button and... nothing. It wouldn't POST!

Now I was really broken. What was the problem? When a home built computer won't even POST, it could be one of any number of components: CPU, motherboard, memory, power supply. My first thought was that the case itself was causing a short. So I took the motherboard out of the case, set it on some cardboard (non-conductive), and tried again... No dice. Now I got to play the swap-one-component-at-a-time game to isolate the problem.

Foolish as I am, I tried everything in the wrong order: hardest-to-easiest. The simplest first check would be to swap RAM. But I went straight to disassembling the backup server to borrow its parts:
  1. Tried a different power supply
  2. Tried a different CPU (the old BE-2350, that I had to pull from the backup server)
  3. Tried the 4850e in the backup server to verify the CPU wasn't dead
None of those worked, meaning, either the brand-new motherboard itself was dead, or the RAM was bad. I tried some different memory... success! After kicking myself for not trying the simpler troubleshooting first, I then kicked myself some more: I probably didn't even need a new motherboard in the first place. If only I had tried different RAM before impetuously ordering a new motherboard, I might not have had to deal with any of this mess!

On the other hand, I do have newer hardware that supports VDPAU, which is supported by MythTV.

Elated, I re-assembled the computer, hit the power button, and... now Linux fails to boot! Worse, my grub configuration specified the use of a splashimage, which wasn't found, resulting in garbled, unreadable boot text. I could make out enough of the text to tell that in mid boot there was a kernel panic, but couldn't discern the actual error. I then grabbed an Ubuntu installation/live CD. When it booted, I discovered that the hard drive wasn't being recognized. I turned to Google for my answer.

The second search result turned up this Ubuntu bug report. It talked about totally different hardware, by the symptoms were the same, basically:
ata1: SATA link up 3.0 Gbps (SStatus 13 SControl 30)
ata1.0: qc timeout (cmd 0xec)
ata1.0: failed to identify (I/O error, errmask=0x4)
ata1: failed to recover some devies, retrying in 5secs
ata1: SATA link up 3.0 Gbps (SStatus 13 SControl 30)
ata1.0: qc timeout (cmd 0xec)
ata1.0: failed to identify (I/O error, errmask=0x4)
ata1: failed to recover some devies, retrying in 5secs
The suggested workaround was simple enough: configure the SATA interface as AHCI in the BIOS (which I had already done), and pass the "pci=nomsi" option to the kernel at boot.

(Side note: that error message says "devies", shouldn't that be "devices"? Must have been a typo in that kernel version.)

I did exactly this, and... success! The system is now up and running. It hasn't even been 24 hours yet, but so far the system is stable.

Wednesday, March 18, 2009

My New Toy

I've been wanting to get into digital photography for a while now. It's one of those things that has always been at the back of my mind, but I never acted on it... until now. I just bought a Nikon D90 digital SLR camera, with the 18--105mm kit lens!

Before I bought it, I mentioned to a friend that I was contemplating buying a new camera. He said, "Nice, woot.com has a 10 megapixel camera for $89." I'm sure that was an okay camera, but I was looking at digital SLR cameras, which have a number of advantages over the point-and-shoot variety that "normal" people buy. Do a web search for "slr vs point and shoot" to see the differences. Here are a few links that discuss the differences. The short version is that digital SLR cameras offer more control, potentially better image quality, more features, changeable lenses, and faster operation. All this comes at a price, as digital SLRs are typically bigger and heavier than the ultra-compact cameras that easily fit in your purse or pocket. Digital SLRs are overkill for folks who just want to capture memories of good times.

I believe my wife and I now have the perfect balance of photography equipment: she has a small "deck of cards" sized point and shoot that she takes virtually everywhere. And it takes pretty good pictures! But for those opportunities where we need more horsepower---and lugging around the bigger camera isn't a problem---we now have it in the form of my D90. Not to mention, I now have a new technical toy to play with, and an enormous subject matter (photography and digital imaging) about which there is no limit to how much can be learned.

I went ahead and started the obligatory Flikr stream. As of this writing, it only contains a handful of my "best" pictures from the first two days of using the camera around our apartment. I showed the pictures to a friend whose unflattering commentary was, "Those don't look any better than what can be taken with an ordinary camera." True, those aren't great works by any stretch of the imagination, and probably could be captured just as well (if not better) with, e.g., my wife's little point-and-shoot.

But! My response is this: imagine two musical instruments: one, a clunky old beater, that was crummy from the start; two, a new, top-of-the-line, professional grade instrument. The music created from a beginning musician won't sound radically different when played on either instrument. However, in the hands of a skilled virtuoso, the music coming from the better instrument will generally sound better. I am the beginner musician, playing my music on an instrument designed for someone who's been at the art a lot longer than me. But I intend to practice!

Anyway, my first "real" shooting with the camera will be this weekend, when we go to Shedd Aquarium with the in-laws.

Thursday, March 12, 2009

Job Performance

For at least a year now, the notion of job performance has been sloshing around in my head. My first exploration of this topic was my still unfinished essay on passion versus engagement. I just read "The Interview Question You Should Always Ask", which suggests that if someone's extracurricular interests are in the same domain as their work subject, they are likely to be a star performer on the job. And today I had a discussion with my friend and colleague about firing people for poor performance.

I often use writing as a way to explore ideas for myself; this blog is as much for personal therapeutic purposes as anything else. So now is as good a time as any to throw out some stuff on the topic of work aptitude.

One of the biggest questions I've been pondering for a while is, what is a reasonable amount of commitment to give your employer? The extremes are obvious: be the bum that gives up, quits, and/or allows himself to get fired at the first hint of difficulty; or, martyrs himself to unending, heart attack-inducing, sleepless dedication to solving any problems in his periphery.

I believe that where you land on that "dedication continuum" is related to, if not a predictor, of your job performance. It's just a fancy way of saying that your effort will generally be reflected in your review, assuming you're in a position that's reasonably well-suited to your skills. (In other words, if you're trying to be a doctor with no medical training, or working an assembly line with a PhD in astrophysics, this generalization doesn't apply to you.)

There's another continuum to be considered as well, and that is, how hard is it to actually put for the effort? When you see someone who is truly at the top of their game, you might think, "they make it look so easy!" But they really are putting forth a lot of effort, it just comes naturally to them. That's one side of the spectrum; the other is someone, generally not famous, but still successful, that is visibly working like mad to achieve and maintain the success. Think about someone putting their health at risk because they are working so hard to achieve whatever it is they want.

The point is this, there are two variables: (1) the amount of effort you're willing to put into the job, and (2) your will to put forth that effort. Obviously one affects the other: if you have no will, you are unlikely to put forth any effort.

I think what the "Interview Question You Should Always Ask" article linked above is getting at is this: people who truly love their work will naturally have the will to put forth the effort required to be profitable for a potential employer. This conclusion is fairly obvious, sure, but the article is just exploring one method of ascertaining a job candidate's interest level in the work's subject matter.

My "passion versus engagement" essay's take on this speaks to the establishment of the will that drives effort. Passion means that will comes naturally; people who are passionate about their work are the ones that make it look easy. People who are neither passionate nor engaged about their work make it look hard---they are the ones too stubborn to give up, but still put themselves through hell make the grade. Engaged people are somewhere in between: they'll occasionally go the extra mile, but don't expect them to do it every day; they make the routine stuff look not-too-hard; they are above average but below super-stars.

So my question is this: what if your passions don't pay? You're at a disadvantage no matter what job you apply for---if you're competing for a job with a passionate person, you're not going to get it. Until you figure out a way to profit from your passion(s), you have to resign yourself to being engaged. So the next question is, how do you find an environment that fosters engagement? How do you maintain integrity, and still land the job when you say, "This work isn't my passion, but I'm willing to put in a reasonable amount of effort?" Won't that flag you as a putz?