Saturday, October 24, 2009

Yeah, There's An App For That

So how many times have you heard a song on the radio, or a TV commercial (this happened last night) or even a video game (about 20 minutes ago for me) and you think to yourself, “That sounds really good, I think I'd like to own that.”

Well there's an iPhone application called Shazam that has been out for a while but I’ve had occasion to use it this past week across all the situations I just gave as examples:

http://www.shazam.com/music/web/pages/iphone.html

Just hold up the iPhone to the music source (speakers), hit the “Tag” button on the Shazam app, let it sample the music for about 10 seconds and using the power of analysis (some far off servers across the Internet) it tells you what the answer is. In my case (just now it was):

http://www.amazon.com/gp/product/B001W1UY0W/ref=dm_dp_trk8?ie=UTF8&qid=1256422919&sr=301-1

Pjanoo (name of song). You can hit the Preview button on the latter Amazon page and listen in.

This song was featured in the latest trailer the latest Grand Theft Auto 4 expansion. I also heard it some weeks ago during my gym class - the instructor was playing it off her iPod during the cycling class. I heard it yet again in the GTA4 trailer and it crossed my mind “You know, I bet Shazam can help me figure out what that song is.” Indeed it did.

As for the song I heard last night during the TV commercial:

http://www.amazon.com/Walking-On-A-Dream/dp/B0026BI3OQ/ref=dm_ap_trk1

Walking On A Dream by Empire of the Sun.

Bill Gates used to say “Information at your fingertips” eluding to the notion of über powerful desktops (powered by Microsoft of course) housing gobs of information. While some would argue that indeed Microsoft Windows powers many a computer that fetches information off the Net (the host OS for a browser) considering that the HTTP protocol and implications of the greater World Wide Web were not envisioned or spearheaded by MS in any way, shape or form (even after the fact, e.g., cloud computing, no, MS isn't a vanguard there either) and that the iPhone from Apple has seen that dream, imho, take form for people living on the edge of the cloud, i.e., information at your fingertips (in a very, very compelling way), Gates’ vision while materializing isn't being lead by Microsoft.

As for “host OS for a browser” – in light of Apple’s latest quarterly results (best quarter ever; most Macs sold in a quarter), even that could significantly change over the long haul. Case in point, there’s 8 people on my team at work - 5 use Macbooks, 3 of us use Windows (2 XP users, 1 Vista user).

Yeah, there’s an app for that.

Sunday, October 11, 2009

Rainy (Computing) Clouds At Microsoft


Microsoft experienced an event that is not likely to embolden potential customers of its forthcoming Azure cloud computing platform:

http://www.appleinsider.com/articles/09/10/11/microsofts_danger_sidekick_data_loss_casts_dark_on_cloud_computing.html

In summary, if you had Sidekick device through T-Mobile, you have my condolences. Living and working in Seattle I'm aware of some of Microsoft's operations practices. Microsoft's desktop roots, i.e. affinity for shrink wrapped software, has seemingly induced a myopia in how it sees operations. Namely, the belief that if they toss things over the wall, aka contracting, things will get done. The failure of a robust backup process, a.k.a. operations 101, means Microsoft does not take operations seriously (which feeds into things I've heard here in Seattle). This embarrassing turn of events is not likely to instill confidence in Microsoft's forthcoming cloud computing efforts.

Friday, October 9, 2009

All Work & No Play Make Jack A Dull Boy


Today I went to Fry's Electronics to pickup an Arcade Fight Stick put out by Capcom when it introduced Street Fighter IV earlier this year. The link I've provided to the Arcade Fight Stick shows excellent pictures and is a review. I picked up the smaller one for the XBox360.What some folks may not know is the XBox360 corded controller is a standard USB device and Microsoft readily provides drivers for Windows PCs. More useful still is that game studios have assumed an XBox360 controller when providing joystick support to contemporary games on the Microsoft Windows platform. More specifically games falling under the Games for Windows Live banner. Gone are the days when there was no joystick/joypad standard, de facto or otherwise. A device from one manufacturer might have 4 buttons while another might have 6 and developers often went with the least common denominator making for a less than polished experience. Some games would be released supporting a mouse and keyboard only which is a combination that doesn't always work well. A particular title might afford better visuals on the PC but comes crippled out of the gate having been designed with a game controller in mind due to initially debuting on a gaming console platform. Thankfully those days are over. I had occasion to pick up Street Fighter IV during a weekend "50% off" promotion on Steam some weeks ago. Check out the picture associated with this blog post, I joined a a couple of pics I took with my iPhone 3Gs.

Friday, October 2, 2009

"Duct tape" in six minutes vs. "Beauty" in six months

I've read Joel Spolsky's blog over the years and his latest post resonates with me in a big way, it's entitled The Duct Tape Programmer:

http://joelonsoftware.com/items/2009/09/23.html

In short Joel says over-engineering dooms software projects and some individuals have a knack for avoiding this pitfall by leveraging disparate technologies, even if it appears to others as a mish mash.

I could not agree more. 

I have my share of anecdotes over the years but one of the best ones and most telling was when a coworker with a significant affinity toward Java who had been knee deep in applets for quite some time was asked to write a simple utility to show the differences between two files and send the output to a browser. This is a CGI that would take a duct tape programmer a few minutes to write levering the very common  diff utility. However the Java afficionado wanted to build this from scratch, i.e. read two files from Java, write all the logic in Java to compare them. No doubt he would have made a naive tack and his first iteration would likely have shown the first difference in two files not realizing that diff does a very good job of showing other information, not just the first difference. Then he would have spent a considerable amount of time trying to duplicate what the diff utility had already been doing for decades. 

Isaac Newton, the father of physics said it best, "If I have been able to see farther, it is because I have stood on the shoulders of giants." Knowing when to leverage the work of others is an important skill in my view. All too often software developers, particularly early in their career have a propensity to see everything as a nail when they wield their hammer (favorite programming language, tool, etc., etc.).

Joel's missive in The Duct Tape Programmer also strikes a cord with me since it eludes to the reason I named this blog MasterCobbler. Specifically the fusion of what initially would seem disparate technologies to some higher end. As a simple example my bringing up Synergy in a previous post to provide one large virtual desktop when having one Windows XP system and a Mac OS X system is at a basic level a very good example of what I'm talking about. The whole is greater than the sum of its parts.

As for some of the examples Joel gave, some contemporary examples are in order. He and I share one thing - we both spent time at Microsoft. I can tell you beyond Microsoft's walls, virtually no one cares about COM, DCOM and that has been the case for quite some time. Once I left Microsoft, the general market had very few people who had zeal for the subject matter and with the passage of (D)COM's hey day, the examples are that much more likely to fall on deaf ears.