Monday, April 27, 2009

Help Chuck!

Many of you probably already know I’m a fan of the Chuck television series on NBC. It’s very well written, and it offers something for everyone. It’s full of comedy, action, and romance, and does it all while keeping it pretty family friendly. And everybody I know that has seen it has gotten hooked.

Tonight is the season finale. I’m VERY excited for it. The buzz going around the Internet is that this is going to be an amazing episode. In addition to the stellar regular cast, Scott Bakula and Chevy Chase guest star tonight, along with some guest stars from previous episodes.

Right now the show is in danger of not being renewed for next season. If it isn’t picked up it will be a shame because it will certainly be replaced with yet another sex-filled comedy or serial drama, or worse, a reality show. There aren’t very many shows left on TV that we can watch with our families, so we really need people to speak up and voice their opinion that we need MORE shows like this, not less.

Since this show is teetering on the edge of renewal, there are several campaigns going on to try to push NBC toward picking it back up. Today fans are encouraged to buy a Subway footlong and fill out a comment card letting Subway know we are thankful that they are sponsoring the show. Others are organizing letter writing campaigns to the decision makers at NBC. Of course, I will be participating in all of the above. (I just finished my Subway sandwich a moment ago.) More about the campaign here.

It really is a great show. The writing and acting are excellent. Every episode is consistently very good. The cast is talented and beautiful (something for everyone). And tonight’s, from what I’m hearing, is going to be amazing.

So tune in tonight at 7 (or whenever it airs where you live) and give it a shot if you aren’t watching already. Then go watch back episodes at (newest) and (season 1). Or buy the season 1 DVDs. Or get any episode on iTunes or

Thursday, April 23, 2009

New MP3 Players

Within the last week I’ve gotten two new MP3 players.

1st: iPod Touch, 2nd Gen

First I’ll start with my new iPod.  My brother was looking at maybe getting an iPod Touch, and since I’ve been considering upgrading mine to one of the 2nd generation models, I sold him my first gen and used that money toward an upgrade to the newer version of the 16GB player.

The newer version is definitely an improvement on the first gen model.  I’ve been somewhat critical of the iPod Touch (blog posts here and here) because I don’t believe (and still don’t believe) that touch screen interfaces work well for control of music playback.  But one of those complaints has been addressed with the newer version: it has dedicated volume control buttons on the side.  This is a huge plus!  Now we can adjust the volume without waking it up, looking at it, and finding the virtual on-screen controls.  If only Apple would add a play/pause button, and buttons for selecting tracks they’ll have a nearly unbeatable device.  But we already know that Steve Jobs hates buttons, so that isn’t going to happen.  Too bad… they’re close to having something great, but their pride is getting in the way of usability utopia.

Other changes over the first gen are the addition of an internal speaker so you can hear the sounds made by games, listen to music, or watch videos without plugging in headphones (this is a very cool feature that should be included on ALL MP3 players), a curved back like the iPhone 3G (thinner at the edges but thicker in the middle than the 1st gen Touch), and support for an external microphone or headset.  That last feature will allow me to use Skype, or to use it as a simple audio recorder.  Nice touches, all, and definitely steps in the right direction. 

I do have one major complaint with it, and that is its battery life.  If I’m watching a video or playing games on it, the battery is dead in a hair over an hour.  I’ve gone through the charge –> use for an hour cycle about 6 or 7 times now and it’s pretty consistent.  If the screen is on and it’s making noises, the battery is only good for about an hour.  At 45 minutes it pops up a warning that only 20% of the battery charge is left, and 15-20 minutes later it dies. I haven’t tested it for battery life for music playback (again, it’s not that great of a music playback device and I don’t intend to use it that way), but for video and games an hour is not good.  Especially considering how Apple advertises it as a great gaming device by calling it the “funnest iPod ever” [sic].  Fun for an hour, then you’re back to playing tic-tac-toe on a pad of paper, making flipbook drawings, and singing to yourself.  In contrast, my 5-year-old PDA will play games or video on a larger, higher resolution display for 3+ hours on a charge, even with all of the wear I’ve put on the battery over that time.

It still has a shiny metallic back, so it scratches VERY easily.  A protective case is a must.  I can’t figure out why Apple won’t switch to a textured back, or coat the metal with some sort of enamel or varnish layer to protect it?  I guess they like having their devices look bad after they’ve been used a while.  Or maybe it’s enough justification for people to buy new ones and they sell more that way.

Other than that, it’s pretty much the same as the 1st gen model.  The web browser is top notch.  The App Store makes it easy to find fun flashlight and fart noise applications.  The ability to read email is also nice.  Audio quality is fairly good, but still lags a little behind virtually every other line of players on the market.  (Apple hasn’t had any serious competition for the iPod line, so they seem to be okay with their audio quality suffering a bit compared to everyone else.)  The screen is bright and sharp, though this version renders the image with a warmer tint than we have seen before, not that this is bad; just different.  As usual, the included ear bud headphones are terrible, and Apple clearly deserves any amount of criticism heaped upon them for continuing to insult our ears; these are literally the worst headphones I have ever heard in my life; nearly anything else is a significant improvement. 

I’m excited to see what Apple has up its sleeve for the 3.0 firmware coming out this summer.  We do know that Bluetooth support is being added to the 2nd gen Touch, so that will be cool, along with a slew of other features that have been missing since day one.  And there should be more welcome goodies in the works with the forthcoming update.

2nd: Another Zune

I have had my 80GB Zune now for almost 18 months.  And I still really like it.  For music playback it is my device of choice.

But, like any hard-drive based player, it’s a little big and heavy compared to the flash memory models.  And I kind of get tired of lugging it back and forth between my desk and my truck just to synchronize it, so I have played around with the idea of getting a smaller capacity Zune to keep in my truck permanently.  I usually listen to podcasts and just a few of my favorite artists, so a small capacity player would work well for around-town driving.

Brent and I were in Best Buy last week and saw that they were clearing out the 4GB Zunes for $80.  I was going to get one but they didn’t have any left in stock, so I came home and tried to find a similar deal on the Internet.  I was able to find a brand-new 8GB model instead for $99 on eBay, with free shipping.  Awesome deal!  So I bought it, and it arrived today.

The one I got was apparently really old stock because the battery was COMPLETELY dead – it hadn’t been turned on or charged at all since it was manufactured in the fall of 2007.  Which means that it didn’t do anything when I plugged it in; it almost seemed like it was broken.  After plugging it into AC power and letting it charge for a couple hours it finally woke up from its coma and I was able to synchronize it with my computer.  First step was to install new software onto it (thank you, Microsoft, for continually adding new features for free!), and then I began selecting the content to copy onto the device.

I discovered something cool about the Zune software while setting this one up.  It lets you connect and synchronize multiple devices simultaneously.  So while I was setting up my new Zune today, my older one was still connected, and the two didn’t conflict with one another.  The software recognized both by adding a second icon for the second device.  That way I could choose what to synchronize with each one separately without disconnecting either by dragging to the right icon.  I didn’t think anybody would even attempt this, because synchronization is tricky enough without trying to do it with two devices at the same time.  Color me shocked and impressed.

My audio podcasts only take up about 800 MB.  I would have consider synchronizing my video podcasts as well, but it probably isn’t a good idea to watch them while I’m driving, so I elected not to include those in the sync.  I then setup two synchronization rules in the Zune software: one to synchronize any of the music I have marked as a favorite, and another rule to synchronize any music I have added to my collection in the last 90 days.  And since its 8GB of storage space is limited compared to the size of my music collection, I also set it to down-convert any high bit-rate audio files down to 192kbps on sync.  Since a lot of my music falls into that category, much of it had to be converted while it was synchronizing, so it took about 30 minutes to copy everything over.  In the end there was about 6.5GB of content copied over, leaving about 1GB of free space.  Nice fit.

One advantage the Zune has over other players is its ability to sync with a computer wirelessly.  This is why I will be leaving this player in my truck… I don’t have to bring it inside to sync it.  Just pop into the menu, select Settings, Wireless, Sync, and it connects to my wireless network and synchronizes my latest podcasts, any changes in my favorite music, and adds anything I’ve added to my collection since the last sync.  At the same time if I had purchased any music on the Zune (another great feature, BTW) it would sync it back up into my music collection.  Very cool.  And if I were to plug the player into a constant power source (or let it sit for a few minutes after finishing a playlist) it would synchronize automatically without any intervention on my part at all.  But I don’t want to drain my truck’s battery when I’m not driving it so I will be starting the sync manually.

Here’s a shocker… I actually like two of the songs included on the device.  It comes with a handful of songs and videos on it from the factory, and I actually like two of them.  Usually anything included like this is, well, not very good, and most of it wasn’t that good, but two songs and two videos actually were.  Huh.

The sound quality of the flash memory Zunes is very good.  With good headphones this Zune sounds excellent; very clear and totally noise free as far as I could discern.  The headphones included with these models aren’t very good, but they are without question better than the ones included with any iPod.  The Premium versions included with my 80GB Zune were a world better than either of those though.  But even the Premium model pales in comparison to either the Shure E3 earphones or Sony MDR-7506 headphones that I use to listen to music.  If you are at all serious about your music, consider investing in a real set of earphones/headphones.  Music will take on a new life when heard the way it was meant to be heard.

The disappointing thing about this player is that it doesn’t have video output capability.  So I can’t hook it to a TV and watch videos that way.  I have really gotten used to and liked that feature on my 80GB Zune (and I wish I could do it on my iPod Touch without dropping a fortune on a special cable), so it will be missed on my 8GB version.

For Music, Get a Zune; For Apps, Get an iPod Touch

Even after the updates to the iPod Touch line, I still feel like the Zunes are better for music playback.  Between having a more functional and easier to use interface, dedicated buttons for controlling playback, and more attention to the importance of sound quality, the Zune line is better for listening to music than any iPod sold today.  Apple has been putting all of its eggs in the iPod Touch / iPhone basket lately, so the rest of the line has been allowed to wither on the vine.  The iPod Classic still has its classic dated and limited-in-functionality interface.  The Nano is okay, but still is limited in its capabilities.  And don’t get me started on the new Shuffle, which is a joke.  The iPod Touch may be more suited to video playback than the Zunes are because of the huge screen, aside from the need to buy an extremely expensive cable to get video out to your TV and what appears to be battery life that is too short for video playback.  For playing games or doing non-multimedia tasks, though, the iPod Touch is in a league of its own for now despite its need to be kept near a charger. 

Being that these are, first and foremost, music players, my current Zune has gotten a lot more use than my iPod ever has, and I’m sure that trend will continue with my newly acquired models.  Which is fine, considering the Zunes seem to be better suited to that task anyway.

Tuesday, April 7, 2009

American Idol Spreadsheet

If you create spreadsheets to predict the outcome of American Idol, you might be a computer geek.

AI Season 8

Two obviously wrong entries (#11, #6), but other than that, I think the results seem plausible.

Cheaper iTunes

Apple just went live with their variable pricing, which means that most new music is now $1.29 per song instead of the $0.99 everybody is used to.  The Amazon MP3 store, on the other hand, is still $0.89-$0.99 or less for its music tracks. 

A guy named Robert Palmer has created a program called Advantageous MP3, which provides a link between iTunes software and Amazon’s MP3 store, so you can shop for your music in iTunes, then actually purchase from Amazon for the cheaper price. 

The software is free, and there are versions for Windows and the Mac

Personally I haven’t tried it, as I don’t use iTunes.  But I hear good things about it, so I’m passing it along to you.  Enjoy!

Sunday, April 5, 2009

Home Theater Makeover, Part III

I’ve been wanting to build a real platform for the second row of seating in my home theater ever since the living room makeover started five months ago, but my miter saw was misbehaving, so I didn’t dare use it (never trust a malfunctioning saw).  Which meant I had to wait until I could afford a replacement.  Two weeks ago I finally got one, and Brad was kind enough to assist me in building a new platform.  He brought his fiancĂ© Erin along, who picked out the carpet for it and offered moral support.


So there it is… 8’ x 11’ x 10” of very solidly-built platform, constructed and carpeted in a hair over 3 hours.  It might not necessarily look that sturdy, but it is built very well – much stronger than the floors in your home, so I trust that it will last a long time.  And it has lots of storage underneath.  I’m thinking of adding safety lighting underneath too, but I’m still undecided on that.

And here’s the new saw, a DeWalt DW717.  It’s very nice.  And hopefully I’ll never have to replace it.


Next up for the home theater: a new equipment rack, and a stand for the TV and center channel speaker.  But who knows when either of those will happen.


Sometimes we have days where we have opportunities to try our patience.  Yesterday (specifically last night) was one of those days.

I’m in charge of setting up the video equipment at church for large meetings, like the Priesthood session of General Conference last night.  I arrived at the building an hour before the meeting was scheduled to start, which would give me plenty of time to setup the two projectors and four televisions.  We’ve done it countless times in the past in about a half hour, so an hour should be plenty, right?  Not quite so fast.  Nearly everything I attempted to do had some sort of obstacle placed in front of it.

  • Normally when I’m setting things up there are at least two other people there to help.  I was the only one there for a half hour after I arrived.
  • The classroom with the A/V closet was locked (it has never been locked before).  My keys are supposed to open nearly every room in the building, but unfortunately they don’t open those particular doors.  Who knows why the Children’s Meeting Room needs different keys than the rest of the building, but I was locked out. 
  • We setup a television in the Multipurpose Room for our Spanish-speaking members.  I plugged everything in, only to discover that the outlets in the room had no power.  And the circuit breaker was, you guessed it, in the only other room in the building I don’t have a key for.
  • As I went to talk go the regional PFR Director (who happens to be in my Stake) to find out how I could get into those rooms, I ran my hand across the back of a pew and got a huge splinter in my hand.  Of course it hurt, but it also bled for the rest of the evening.
  • When I hooked up the projector in the Cultural Hall, I got absolutely no picture from the satellite receiver.  After running back and forth between the projector and the A/V closet to troubleshoot, it became apparent that the video cable between the two locations had somehow been damaged or broken.

Fortunately two others showed up to help, and I was able to solve all of the challenges placed in front of me.  I was able to find people who had keys to the two rooms I couldn’t get into (and I was promised I would be getting the required keys later), my hand eventually stopped bleeding, and I was able to run the video over the video cable put in place for a video camera.  So it all worked out okay, but it certainly seemed like every possible obstacle was placed in my way.

Some days.

Lots of code

The Point-of-Sale software I’ve been working on for the last 18 months (StreamPOS) is getting pretty big.  I just published a new version of it, and the source code is currently 165,559 lines long.  It has 79 different screens it can display, not counting the standard “Open File” or “Print” type dialog boxes that most software uses.

In more familiar terms, if those 165,559 lines of code were to be printed on standard letter-sized paper, it would take approximately 3680 pages to print it out.  The stack of paper would be more than a foot and a half tall.   It would consume nearly 7.5 reams of paper, and take 5 hours to print at 12 pages per minute. 

That’s an average of 7 new pages per day, every day, 7 days per week, for the last 18 months.  (What does your brain say when you think, “write a 7 page paper every day for 18 months?”)

If it were published in a paperback book, that book would be 6600 pages long (not including the foreword, index, etc. :) ).  This book would be almost three feet thick.  Reading it would take 110 hours at one page per minute, if you could make it past the first page awake.

This makes it the largest program I have written in my life.  My backup software, FileBack PC, is currently hovering around 140,000 lines.  It took 12 years for FBPC to get to the point where it is now.  StreamPOS is bigger and was started just 18 months ago. 

Ironically, StreamPOS is probably the most bug-free piece of software I’ve ever written too.

The first “long” program I wrote was one I created during the summer after I graduated from high school, my first freshman year of college, and the following summer (16 months in total), weighing in at 27,000 lines.  I did print the source code for that one, and it took a little over a ream of paper.

One metric used to determine the length of time it will take to develop a piece of software says it takes about one person-year to create 3750 lines of code.  If that were really true, StreamPOS would take 44 years to develop.  Of course, that same metric says that a line of source code is worth about $33, and if that were true StreamPOS would cost $5,463,447 if we were to hire someone to write it.  So I’m not sure I buy those metrics.  And I certainly wouldn’t hire the guy that writes 3750 lines per year; I’m writing three times that many every month, which is 35 times faster.

In all fairness, though, a portion (I’d guess about 7-8%) of StreamPOS is library code which has been purchased or licensed elsewhere.  But the remaining 92% has all been entered with my own two hands.  It’s a wonder I don’t have Carpal Tunnel.

But if 165,559 lines seems big, Windows Vista is estimated to be about 50 million lines of code.  Even though I have developed StreamPOS at an incredibly fast rate by industry standards, it would take 453 years to write Windows Vista by myself if I were able to continue working at that rate the whole time.  Ugh.

Google Search