Android App Post

If this shows up, then the Android App is working.

Droid is GO!

Merry Christmas!

Merry Christmas, y’all!

I’m in sunny East Texas this morning, but a quick check of my camera shows that those of you back in Keller got a white Christmas:

Be safe.  See ‘ya next year…

Music Finder: Opening Theme from The Shift

Like many viewers of The Shift, I have been looking for the opening theme music from the show.  So far, all of my searches only turned up others who were searching for the same thing.

Taking a guess that the music might be a custom composition for the show, I looked up the show on IMDb and discovered that the music for season one was done mostly by someone named Chad Itskowitz.

For fans, here’s a link to a video of the opening credits from his site.

As a web design note, I have to comment on the fact that while Mr. Itskowitz’s site looks great, it does not do him any service for those seeking him via Google or other search engines.  The problem is that all of his content is locked up in Shockwave Flash and is not indexed.  So even if you knew that he did the opening credits, searching for both his name and “The Shift” would not produce any results.  In fact, the only “keyword” that Google can extract from his site is “Shockwave Flash”.  raspberry

Yet another reason that real content should exist in HTML, like the designers of the web intended.  Otherwise it’s almost inaccessible and invisible to search engines.

Update Note:  It should be noted that I’m referring to the music that is played during the opening credits of the show.  There is also a song that is used in the promo for Season Two that many people are searching for.  According to WikiAnswers, that song is “Something is Wrong” by David Ayers & Felix Tod.


Between work, personal commitments, and my own geeky obsessions, I keep getting distracted from updating this blog (I am interrupt driven and I have a limited call stack).

Anyhow, for the past few weeks something has been bugging me and I finally did something about it over the weekend.  When we teach CERT there is a section on eliminating hazards in the home and workplace.  One of the things we emphasize is to use electrical outlets and power strips safely and to eliminate the “electrical octopus” which is so familiar to many of us.  Every time I mentioned that I kind of felt bad about it because I knew that I was violating the rule myself. 

So I set out to see how I could get control of the rat’s nest of cables under my desk and in my office.  I researched “DIY cable management” and came across some interesting ideas from various sites.  After absorbing as much info as I could, I solidified my own requirements:

  • Must not have any power strips plugged into another power strip (bad form!).
  • Wires must not be lying on the floor.
  • All wall warts would have their own outlet saver
  • All computer equipment must go into a single rack.
  • No wires would be run exposed on walls and wires on the desktop surface must be minimized (i.e. run as direct as possible).

Given the above I set about trying to assemble all of the supplies that I would need.  First, I tried finding a suitable rack.  It turns out that even entry-level rack hardware is mind-numbingly expensive.  A simple 24-inch wide LAN Station started at $500 and went up as you added features.  Taking a cue from these guys I contemplated building my own.  I drew up some sketches and came up with a parts list, which when I estimated the cost came to about $150 just for the parts.  A little more searching turned up a 24x24x54 wire shelving unit for $166 with shipping (and an extra shelf).

That settled, I started figuring out how to set up my workspace so that the monitors, keyboard, and mouse would work.  I ordered extra long video and power cables along with a USB hub and 15-ft cable.  I also took the opportunity to order a new keyboard and mouse.  The old keyboard I’d been using was PS/2 and the mouse was 6 years old and starting to get a bit flaky (every so often it would stall and you’d have to bang the mouse on the desk to wake it up).  I also ordered outlet savers in bulk. 

For wire management, I thought about some of the lessons I’d seen in various Instructables  and bought some multicable staples, cable-tie mounting bases, and a bag of reusable cable-ties.  I also bought some on-wall J-channel raceway to run just behind the desk to catch all the cables that go to the various items there.

So… here’s how things looked before.  Not only was it a tangled mess, it was impossible to keep clean because you couldn’t vacuum and separating the cables for cleaning was hopeless.

The overall mess:

The electrical octopus: (a.k.a. the rat’s nest)

After ripping out all the wiring (if you look closely you can make out the five(!) power strips):

I also took the opportunity to clean out the insides of the server (this is two years of gunk; the heatsink fins under the fan are 100% blocked; it’s a miracle the system stayed as cool as it did):

What it looked like when I installed it (for reference):

My home brew under desk power distribution unit.  This was made from a 2U rack shelf, a rack-mount surge protector, a 1U blank, and two 14-inch rack rails.  I had everything but the rails already on hand.  If I were building a “real” rack to support more weight I’d have to have used some additional support, but since this is so short there’s no wobble from not having a back section.  All “non-essential” equipment is plugged into this surge protector, and all wall warts have an outlet saver, allowing them to rest on the rack shelf.  This keeps them off the carpet and makes the whole thing (somewhat) movable for cleaning underneath the desk.

All the wires under the desk are now tied up off the floor (not exactly neat, but serviceable):

A small rack I added for the power supply to one of the monitors (this one is plugged into the second UPS) along with the USB hub for the keyboard, monitor, and Palm sync cradle:

The rack with the main UPS, the server, and both desktops (there’s also a second UPS behind the HP box on the right):

The whole thing:

I spent about 6 hours Saturday night and another 8 hours or so on Sunday working on this.  It doesn’t look like a whole lot after it’s all installed, but the fact that most wires are hidden belies the effort it took to hide them (i.e. drilling holes, putting up hangers, routing wires, fishing wires into awkward places, and general annoyance at hitting your head on the slide-out keyboard tray for the 15th time in one night as you come out from under the desk).

A Plea On Naming

Please, people, stop naming your girls Aubrey

As noted in the above linked Wikipedia entry, it’s a traditionally male name that, unfortunately, is also used for girls in the United States. 

Of Teutonic origin, “Aubrey” means “Fair Ruler of the Little People”, or “King of the Elves” [1]. The name Alberich is a more common Germanic variant, with the syllable ‘Alb’ translating as “Elf” and ‘Ric’ representing “power”. In the twelfth century, a Christian saint and abbot named St. Aubrey founded the Cistercian Order, seeking to operate under the Rule of St. Benedict, continuing Benedict of Nursia’s tradition of solitary scholarship in a community of monasticism.

The name is traditionally male, but is also used as a feminine name in the United States. It was the 69th most popular name given to girls born in the United States in 2007. It was last ranked among the top 1,000 most common names for boys in the United States in 2002. It was the 479th most common name for all males in the United States in the 1990 census.[2] “Aubrey” can also be spelled “Aubre”,or “Aubrie”.

It’s not too late to stop, though.  If we stop the madness now, in a generation or two things will be less confusing for those who come after us.

It will also mean I don’t have to share a name with a complete and total moron.

Meditations On The Ways In Which XM Radio “Customer Service” Doth Suck

I received an email last night from XM Radio reminding me that the credit card I’m using with them is expiring.  This also reminded me that I needed to cancel the second radio on my account, since I’d taken that radio out of my home entertainment center a while back and had forgotten about it (and with automatic payments every quarter, it was easy for it to get lost in the noise).

Since I wanted to do two things, I decided to give their phone service a try, hoping against hope that it would be better than the last time I tried to use it.  When I called I got one of those obnoxious voice systems that expects you to talk to it.  I loathe these things with a passion.  First, I feel silly talking to a computer.  But more importantly, I have so little trust in customer service computer systems in the first place that putting a voice recognition system in front of it that half the time doesn’t understand what I’m saying feels like a recipe for disaster to me.  Finally, I know that most companies won’t let you cancel any kind of service without talking to a person, so why not skip the nonsense and get right to the person?

This system asked me for my phone number, and fortunately allowed me to key it in, along with my zip code.  Then it said that my credit card had expired and demanded that I say “yes” or “no” to the question of whether I wanted to update it now.  I simply hit zero, to see if it would break out and let me talk to a person.  I was pleasantly surprised that it worked.  At least at first.  Because it immediately put me on hold, and then dropped the line after about 30 seconds.  Since I’m a glutton for punishment, I tried this three or four more times and got the same result each time.

XM phone FAIL!

So, I went to and was bombarded with a landing page that used Flash video with sound.  This is what I consider a major sin of web design and a major irritant.

XM web design FAIL!

Once I got past that and onto the main XM page I logged into my account and was dumped into the account information page with a pop up that informed me that I needed to update my credit card info to continue.  However, the credit card info was inactive (grayed out) and I saw no obvious way to change it, so I clicked the “Change Info” button at the bottom of the page.  This turns out to be a major tactical blunder, as the system interpreted this as me wanting to save the data.  With a properly designed system this wouldn’t be a problem, but XM’s system LOCKS YOUR ACCOUNT FOR 10 MINUTES while it “updates.”  This means if you try to do anything but look at the account summary during that time you get a pop up that tells you the account is “being updated” and to wait for 10 minutes. 

XM system design FAIL!

So, after stewing for 10 minutes I went back into the account info page and finally saw the “Change” link above the credit card info which activated the data fields (and made some new ones visible).  I was able to enter the new expiration date and save the data.  Which was good.  But it locked the account again for another 10 minutes.  blank stare

After duly waiting ten minutes (actually, after impatiently hitting “Radios & Subscription” about 10 times), I was able to see the list of radios on the account.  But there is no way to cancel a radio from the website (I was afraid this would be the case, as it was this way the last time I tried to use their brain-dead site a couple of years ago; I was just hoping that they might have seen the error of their ways in the interim and that I might be able to avoid going back to XM phone hell). 

XM user experience FAIL!

As a parting gift, I discovered a bug with their caching/session code when I clicked back to the account summary page and I got another pop up informing me that my credit card had expired.  This did not inspire confidence, so just to be sure I logged out, closed the window, and logged in from another window to confirm that the changes had indeed been made (which means I had to go through the stupid Flash video landing page again, etc).

XM session caching FAIL!

At this point I’m already a bit annoyed and frustrated with them, and not very happy about having to go back to the phones.  But I’m nothing if not persistent.  So, once more into the breach, dear friends…

I dialed their 800 number and I got the phone company’s ‘unable to complete this call as dialed’ message.  WTF?  I checked the number and tried again.  Same result.  Hmm…

Waited a few minutes and tried again (counting the first attempts and the uncompleted calls, this is attempt number 8).  This time I got an actual person instead of Chatty Cathy the Computer.  He had a faint Indian accent, but was otherwise understandable.  Could this be an improvement?  Alas, this was not to be…

The person was nice enough, and took down the radio ID and looked up my account.  When he did he tried to confirm the information, which was weird because his computer showed my old phone number in Denton, which I hadn’t used since 2003 (this didn’t give exactly give me the warm fuzzies about their systems, since I was still on the website which showed my current phone number in the account summary; further, Chatty Cathy the Computer was able to look up my account using my current number earlier).

XM multiple system synchronization FAIL!

Whatever the issue, he updated the number (which scares me deep down in the dark chambers of my IT Architect heart) and said he’d have to transfer me to the right department and for me to stay on the line.  *Groan*  Knowing where this was going, but not having much choice, I stayed on the line.  For all of about 30 seconds, at which point the background hiss turns to silence, which means I’ve been dropped.  Again.

XM phone transfer FAIL!

Call number 9.  Get another friendly person who asks all the same questions as the first and then transfers me to the other department.  Another drop. 

XM phone transfer FAIL!

Did I mention that like the Monty Python Monks, I’m a glutton for punishment?  I decide to give it another try (Thank you, sir.  May I have another?). 

Call number 10.  Got another friendly person with a faint Indian accent who asked the same questions again.  This time I ask if perhaps there’s some way for her to stay on the line as I’ve been dropped numerous times.  She agrees, but I still hear the familiar click as she puts me on hold.  long face

After about 30 seconds, just as I was fearing that I was going to be dropped again, I heard a very low voice.  It was so low that I thought at first that it might be cross-talk from another line, but after it paused and said something again, I tried talking to it (afraid I might be talking to myself) and it responded!  I cranked up the volume on my headset to STUN and although every single little background sound in my office was now reverberating through my skull I was actually able to converse with this person.  Amazingly I’d finally made it through to the almost mythical XM cancellation department!

She asked me all of the same questions as the other people (doesn’t anyone share info in these damn callcenters?  I know it’s possible, since I’ve worked on systems in the past that did it) and canceled the second radio.  Or at least she said so.  I’m not at all confident that it actually worked and I fully expect to have to call them again in a few weeks when the quarterly billing goes through. 

Why does this have to be so damn hard?  Why do companies insist on treating their customers so shabbily?  Something as simple as updating credit card info and canceling a single radio on an account shouldn’t take two hours and a multitude of web site visits and phone calls.  Someone at XM has seriously dropped the ball when it comes to prioritizing their customer service operation. 

XM customer experience FAIL!

Update: As a final stick in the eye, I received the following email after updating my credit card expiration date in the system:

Thank you for your recent payment to XM Satellite Radio.  Please allow two (2)
days for your payment to be posted to your XM account. 

This confirms that you have authorized recurring payments for your XM
Satellite Radio service.  The payments will be automatically debited from the
account or debit card you provided to us.  The timing of payments will be
based on the payment plan associated with each individual radio on your
account.  Please contact us at 1-800-XM-RADIO if you have any questions
regarding your account.

Thank you for using XM Satellite Radio. 

This, once again, doesn’t fill me with confidence in their system, as I didn’t make a payment.  I simply updated some billing information. 

XM appropriate update message FAIL!

Sneaky and Underhanded

I received a replacement for my old, worn-out, Chase debit card in the mail today.  They issue them for three year periods and the old one had been swiped so many times that it was fraying on the edges and the numbers were nearly unreadable.

Anyhow, the first thing that annoyed me was when I called the number to activate the card.  Their system took a total of three minutes to “activate” the card, of which 2.5 minutes was devoted to trying to sell me their identity theft protection (and you were not allowed to ignore the offer, as you had to select ‘2’ on the phone to get past it). 

But I discovered the really sneaky and underhanded thing when I started looking into their “Free Debit Rewards Program.”  The new debit card included an insert for the rewards program that said I could get points for using the card and that enrolling was “EASY—AND FREE!”  This triggered my TANSTAAFL sensors, as there has to be some kind of catch (i.e. someone is paying for these “free rewards”).  The main trick appears to be that you have to use the debit card as a credit card (i.e. don’t use a PIN), which I think triggers fees for the merchant.  But the other trick is that there is a $25.00 annual fee.  Which is pretty underhanded, because all of their brochures and *all* of their FAQ answers stress that it is free to enroll.  It’s only in the Terms And Conditions that you learn about the “annual fee.”  After parsing that for a minute I realized that they were legally correct, but morally bankrupt.  grin  It’s free to enroll.  It just costs money to stay in the program.

What the FAQ promises…

… is taken away by the T’s and C’s:

That said, the program may still be worth it, especially since I use the card so often.  But the way they hid the fee bothers me enough that I am going to pass on the program.  In the interest of full disclosure they should have had at least one FAQ answer that covers the fact that there is an annual fee (and I skimmed *every* FAQ just to be sure; I could find no mention of it there, only in the T’s and C’s). 

Doggone Bad Time In North Keller

When I read about this incident yesterday I was wondering what the heck is going on up there in North Keller.  This morning’s story update helped answer that when the fact that both parties had been drinking was added.

Anyhow, this is why I bring Malcolm in if it looks like he’s going to bark for an extended period of time:

KELLER—A 38-year-old man begged his neighbor not to shoot him a second time early Sunday after the two argued over a barking dog, police said Monday.

The shooter didn’t, but he said, “Get off my … property,” to another person who tried to help the wounded victim, police said.

Police identified the suspect as Edward M. Stewart of Keller who was free Monday after posting bail Sunday night.

Stewart, 49, was arraigned late Sunday on a charge of attempted murder, two counts of aggravated assault with a deadly weapon and one charge of deadly conduct.

The 38-year-old neighbor remained in a Fort Worth hospital Monday suffering from a gunshot wound to the stomach.

Along with his neighbor, Stewart accidently wounded his own wife during the incident, police said.

The shooting happened at about 12:34 a.m. Sunday in the 1300 block of Robin Court after Stewart and the victim had been arguing through a fence about the dog.

According to police reports, the victim was having a fantasy football party and the dog had been barking.

“The two were at the fence when the suspect told the victim that he would fight him if he climbed over into his backyard,” Keller police Lt. Brenda Slovak said Monday. “The victim climbed over the fence into the backyard.”

Stewart and the victim were both intoxicated, according to police reports.

The two pushed each other for a few minutes, police said Monday. At one point, Stewart’s wife tried to stop it, police said.

Within minutes, Stewart is accused of pulling out a revolver and shooting his neighbor in the abdomen, police said. The bullet went through the man and lodged in the leg of the Stewart’s wife, who was trying to stop the argument, police said.

“One of the friends of the victim was at the back fence, saw what happened and jumped over to help his friend,” Slovak said. “But he jumped back over when the suspect threatened him.”

Stewart’s wife was treated and released from a local hospital a few hours after the shooting.

Police had no record of responding to calls between the neighbors before Sunday.

Most of my neighbors also have dogs, and those dogs bark a lot, but fortunately they don’t do it too much at night.  Malcolm is also a prodigious barker, and if left to his own devices will bark for hours.  So I make sure to bring him in if he’s having a barking fit.  Heck, it annoys me, and he’s my dog.

It’s going to be interesting to watch this case to see how it unfolds.  There may be a chance the shooter can claim self-defense.  But given that both of these kuckleheads were drinking and fighting, it makes things more murky (i.e. depending on what was said by the shooter, the shootee might be able to claim mutual combat).  I suppose it will depend on who tells the best story to the grand jury. 

But regardless of the court outcome, I suspect that one or the other of them will probably have to end up moving.  Shooting your neighbor / being shot by your neighbor, doesn’t exactly make for warm-and-fuzzy future relations. 

What Were They Thinking?

I was in the store last night and did a double-take when I saw a pallet of “Old Yeller” brand dog food.  It seems to me naming a brand of dog food for a dog that gets rabies and has to be shot would lead to unfortunate associations in the minds of buyers.  At least it does so for me.  I must not be the norm, though, as some Google searching shows that the brand has been around since 2005.

Another Lesson

Aside from “don’t show your ass to the police in public,” there seems to me to be another lesson to be learned from the Cambridge Incident:  make sure your neighbors know you. 

Now you don’t have to go over and spend a lot of time with your neighbors, but it certainly helps if they at least know you by sight, if not by name.  It would have saved everyone a lot of grief if the neighbor who spotted Professor Gates breaking into his house knew that it was him, and not some random thief.  If I were to have to break into my house at some point, I know that at least the neighbors around me know that I belong here.  And if I saw one of my neighbors trying to get in through a window, I’d probably go over and see if I could help somehow.  But it sounds like in Professor Gates’ neighborhood no one knows anyone else, which is truly unfortunate.