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?

Friday, February 27, 2009

Is Now the Time to Buy?

I have an arguably over-simplified view of the housing market; I believe it looks like the graph on the left. This graph represents my "gut feel" approach to deciding whether or not to buy a house.

I believe that typically, housing prices follow a mostly linear upward path (indicated by the black line). However, the recent economic fiasco as caused the geometric deviation illustrated by the red curve.

If you already owned property, the best time to sell would have been point A. Clearly, we are already past that. If you plan on buying, any time after point B is the best time, with point C being the best. So the question is: where are we on the curve? Have we even passed point B yet?

I honestly don't know; in fact, nobody knows. Of course, a lot of people think they know, but only time will tell. My hunch, based solely on the "feel" of things, is that we are a bit past point B. I asked my dad about this, and he thinks we haven't even passed B yet. But both of us are basically just guessing.

Anyway, I'd like to hear the comments and ideas people have regarding our position on the curve. My wife and I are loosely thinking about buying... is now a good time?

Side note: I made that graph with a nifty little program called xfig.

Monday, February 23, 2009

Pullup Training: Become a Pullup Enthusiast

At dinner this weekend, a friend of mine mentioned that he's trying to increase his pullup count. I told him I'd email him information on a couple programs with which I am familiar. As I thought about what I'd include in my email, I realized I have enough knowledge about pullups to warrant a blog post.

First off, a disclaimer. A fair characterization of me is "pullup enthusiast" rather than "pullup professional". Ever since I had any interest in physical fitness, I've always wanted to do more pullups. But it wasn't until a year or so ago when I discovered CrossFit that I really got serious about training my pullups. Anyone who knows about CrossFit knows about its emphasis on bodyweight exercises, and pullups appear in a lot of workouts. So while my pullup numbers have improved in the last year or two, my numbers still won't impress too many people. Furthermore, there are myriad pullup resources on the Internet; the CrossFit site alone has just about all the information you need.

Nonetheless, I thought I'd add one more article on pullups to the Interweb, to share what I've learned over the last couple years, and hopefully provide a starting point for others.

The first thing to note is that the pullup has many variations:
  • Perhaps the most common form is the dead hang or static pullup. This is where you hang from a bar, feet not touching the ground, and using only the muscles in your arms and back to pull your body up to where your chin clears the bar. Some people call this a chinup; my understanding is that a pullup is when you perform this movement with your palms facing away from you; chinup is when your palms are oriented towards you. My informal conclusion is that people generally find the chinup slightly easier.
  • A "pullup" in the CrossFit context implies the kipping pullup. A lot of people call these "cheating" pullups. The goal is in fact to make the movement faster, and engage more muscles than just your arms and back; the goal is power generation. In short, the idea is to use your hips (not so much legs) to generate momentum, then quickly pull yourself towards the bar. It is a complicated movement that took me a long time to understand and execute correctly. Go here and search for "kipping" to see instructional videos on this fantastic exercise.
  • Jumping pullups are a great variation for beginners. Fortunately, they have a self-explanatory name: start with your feet on the ground, jump up, grab the bar, and pull until your chin is over the bar. The idea is that you will generate upward momentum from your legs, which are obviously stronger than your arms. Assuming your legs help you enough to clear the bar, you can then work the "negative" of the exercise (lowering yourself) using only your arms.
  • Weighted pullups. Also self-explanatory: add weight to your body when doing pullups. There exist belt-like chain devices that facilitate adding weight to your body; there are weighted vests; my low-tech solution is to just hold dumbbells between my ankles with my feet.
  • Assisted pullups: these are the opposite of weighted pullups: through some means, you effectively make your body weigh less, reducing the amount of effort required to pull yourself up. Many gyms have a machine specifically designed for this: you basically stand or rest your needs on a platform as you do pullups. The platform is reverse weighted---it pushes up on your body (just like a human spotter). You can also buy what are basically large rubber bands that have the same effect (i.e. the band supports some of your weight).
Of course that list is by no means complete! There are other variations, including flying, butterfly, one-armed, towel, ring, and so many more... but the above make up the the "pullup foundation", vital for beginners, but equally important for intermediate to advanced trainers.

There are two popular pullup programs that I've discovered on the Web: Recon Ron and Armstrong. The Armstrong Pullup Program has you doing a different pullup "workout" each day of the week. The emphasis is on daily variation. The Recon Ron Pullup Program is what is often referred to as a "grease the groove" program: constant repetition at about 70% of your maximum effort. It's easy enough to find these programs via web search, but for convenience, here are some redundant links:

Armstrong:

Recon Ron:

A lot of people will say, "I can't even do one pullup, how can I even start these programs?" Use the variations described above, particularly jumping and/or assisted pullups. Another starting point is to simply hang from the bar---yes, I mean hang, with your arms extended. If you cannot even perform one unassisted pullup, then hanging will in itself be a workout: it takes a lot of grip strength; it will also stretch and strengthen a lot of muscles you probably didn't even know existed. Hang from the bar as long as you can, until you basically fall off from muscle fatigue. Rest a couple minutes, then do it again. Do five sets of this every day for a week. Be sure to record your hang times.

Once you are comfortable with your hang (or get bored---simply hanging is extremely monotonous), try again with the jumping pullup. The jumping pullup is really a two-for-one exercise: not only will you build strength in your "pullup muscles" (primarily the back and arms), but you'll work your legs. As an added bonus, if you try to do as many jumping pullups as you can in a short amount of time, you'll also get in a cardiovascular workout (or what CrossFit calls metabolic conditioning).

Both the Armstrong and Recon Ron pullup programs are aimed at doing strict form/dead hang pullups. But there's no reason why you can't do the program(s) with jumping pullups or assisted pullups.

Ultimately, like everything in life, if you want to improve something you have to work at it. If you want to be stronger at pullups, train on pullups. For me, becoming a pullup enthusiast helped me improve the most. That is, learning more about pullups, variations and programs. It's boring to do the same number of sets/reps of dead hang pullups day in, day out. But it becomes less so if you vary the kind of pullups you do: jumping, assisted, kipping, dead-hang; throw in a weighted set when you're feeling particularly strong or have met some goal. Even if you can only do, for example, assisted or jumping pullups, the approach or workout can be varied sufficiently to fight monotony. The Armstrong program is especially helpful in this regard: each day is a different approach: max effort, ladder, working sets, etc. The simple pullup can become an almost entirely different exercise when you start playing with the time between sets, the number of reps per set, etc.

Hopefully this article will serve as a starting point for all the other budding pullup enthusiasts out there.

Thursday, February 19, 2009

Comcast Rant

Apparently, Comcast owns the equipment in the multi-unit building in which I live, meaning, they are my only option when it comes to cable TV. To be sure, I tried calling the other local providers, and they cannot provide service to my building. My wife and I both have cell phones, so we don't need a land line. But our building has one of those pager/buzzer units that allows visitors to call us from the front door, and allows us to unlock the door via the phone. My wife and I kept our cellphone numbers when we moved to Chicago, meaning that the pager/buzzer unit actually has to make a long distance call to reach our cell phones. And I found out the hard way that this pager/buzzer system has the most expensive long distance plan known to man. Because of this reason, we need some kind of local number.

Initially, we went with Comcast's "Triple Play" plan, which gives us high-speed Internet, cable TV, and phone service. The promotional rate is $99/month, which, sadly, is pretty reasonable for all those services in the Chicago area. However, the advertised price is a bit of a teaser, since it doesn't include equipment rental ($3/month for the modem) and all the various taxes.

After a while, we noticed something about their phone service: despite the fact that we rarely used it, it was often not working correctly: either there would be no dial tone, or we would be unable to receive calls. We don't have too many visitors, but we missed a lot of package deliveries (visitors are actually a simpler case---they know to call our cellphones if the buzzer isn't working; the delivery folks aren't that patient). A lot of the convenience of ordering food for home delivery was removed when we had to use our cellphones instead of Comcast's unreliable phone line: first by explaining our non-local area code (of which many restaurants are suspicious), then having to give special instructions regarding the effectively broken buzzer.

Feeling a general resentment towards Comcast, I embarked on a mission of reducing the amount of money I pay to them every month. My first step was to get rid of the $3/month modem rental fee. Since I had Internet and voice service through them, this required a special kind of modem---not just a "vanilla" cablemodem, but one that is also an EMTA (i.e. supports VOIP voice-over-IP). The Comcast-supplied modem was an Arris TM402P. After a bit of research, I came to believe that they would support the Motorola SBV5220, so I bought one on eBay.

When I received the modem, I spent about three hours on the phone with Comcast, trying to get it to work. At one point, the Internet was working; then the technician to whom I was speaking swapped two configuration parameters, and it stopped working. At this point, he decided he needed more information on the modem: where did I get it? He had to go to his supervisor who said that they needed to perform an "equipment research" on the modem. I had to fax them my proof of purchase (eBay invoice). A few days later, they got back to me and said that the modem isn't one of theirs, so I can't use it! To this day, I am convinced that if the person I was working with hadn't misconfigured their system, the modem would have worked fine. I have no way to prove this, but I truly believe they were simply refusing to let me use my own modem on a bogus reason. (Note: I abbreviated this story somewhat; see here for some forum posts where I go into more detail. What's also curious is that they'll let you use your own modem for Internet service, but not for voice.)

So I was stuck with Comcast's modem and its $3/month rental fee, and their under-performing voice service. Then I had an epiphany: VOIP, which allows one to have traditional phone service over the Internet. Skype and Vonage are two of the more popular VOIP providers; however, they are relatively expensive if you want to have an actual phone number that allows incoming calls from "normal" phones (i.e. non-VOIP phones, such as landlines and cellphones). This is our basic requirement: that pager/buzzer box in our building just dials a phone number whenever someone pages us.

After a bit more research, I found out that there are a lot of other VOIP providers; enough that it's easy to find one that has plans or a la carte services to meet specific needs. I went with CallWithUs. I basically pre-pay for outgoing minutes (I think the rate is 1.5 cents/minute), and pay $4/month for a local phone number with 3000 incoming minutes.

Back to Comcast: with them out of the equation for phone service, I can lower my bill in two ways: use my own modem, and drop Comcast's clearly over-priced, under-performing phone service. My wife called to have the phone service removed; I wasn't there for the call, but she said she was on the phone for over an hour! Actually, Comcast hung up on her on the first call; the second call required the hour of phone tree navigation, being transferred several times, asking to talk to the supervisor, etc... My wife was not working at the time, so she could afford to spend her time trying to get a better rate with Comcast. But what about people who have jobs and/or families?

Anyway, the phone service cancellation was approved. However, it takes 48 hours to process. I called within that 48 hour window, and tried to get my (Internet-only) cable modem (Motorola SURFboard SB5101) set up. We started down the process: I was gave the Comcast representative information about my modem, we did tests, but it wouldn't work. After discussing the issue with the supervisor, the problem was determined to be the outstanding work order on the voice shutoff. Okay, so I just have to wait out the full 48 hours, no problem...

On the second call (after the 48 hours), the representative I spoke to said he needed to talk to his supervisor before he could authorise use of my own modem. He came back and said that I had to return Comcast's modem before they could set up mine! I patiently argued with the guy for a while, then asked to speak to the supervisor directly. The supervisor repeated what the first guy said: they cannot set up my modem until I return the rented one. I couldn't believe it! I spent over 45 minutes arguing with him:
  • I said I've been through this process twice now, once with the VOIP+Internet modem, and again the previous night (when I was told I had to wait 48 hours). On neither occasion was I told that I had to first return the rented modem. I asked if this was a new policy, and he said no.
  • I also said, what if I return the modem, and come home and find out the new one does not work for some reason? Then I have to drive back to the office and re-claim it.
  • What if the office doesn't do the paperwork correctly, and says I didn't actually return it?
The supervisor basically stone-walled me. He kept saying, "I understand your concern, but I cannot do this until you return our modem."

I ended that conversation, then immediately called back. But this time I used different options on the phone tree. I got through to a girl who was very nice, and literally had me up and running on the new modem in less than 15 minutes! She didn't have to speak with her supervisor, she didn't mention anything about returning Comcast's modem... just asked for the information she needed, did whatever it is she does, had me do a few tests, and it was done. The call with her was the kind I expect when dealing with any company's customer service: polite, friendly, knowledgeable, competent, honest.

Based on my experience with Comcast, my theory is that a fairly large majority of their customer service employees are either grossly incompetent, or shady used car salesman types. My wife offered up an equally believable theory: that all their employees are instructed to flat out deny some high percentage of requests that would result in the customer paying less money to Comcast.

Sadly, my experience with Comcast is on par with the service and policies of the land-line provider I had back home (Ameritech, probably AT&T now). In my life, I have yet to have a positive experience with a big telecommunications company. Likewise, I've never heard anyone else relate a positive experience with big telcom. There are stories of above-mediocre service with smaller and/or independent providers. But these aren't available everywhere, and are facing increasingly monopoly-like pressure from the big players. My wife actually used to work for a small, family-owned telcom company: she said it is unlikely that they will be able to stay in business due to companies like AT&T overcharging for the leasing of their lines; companies like Verizon underselling them; and having no political clout with the FCC and local governments.