b(ond)log

bond’s musings

February 11th, 2010

Cloud Computing: The Wheel Makes a Circle

Have you noticed the latest white paper advertised on your favorite tech news site? Or maybe you have noticed it in the news itself from your neighborhood technology company. Cloud Computing is the future baby! If you did not know it yet, please try harder to get out from under that rock.

Make no mistake, I do love the technology and the possibilities opened up by what is called as Cloud Computing. Moving the infrastructure Shipping and Handling out of individual responsibility and aggregating and delivering it remotely reduces a lot of pain (most of the time) so you can focus on adding value at the next layer. It is the next step in the march from moving computation boxes from under the desk to the data center. If your customers and employees are going to the information you supply over the web, they do not need to know or care whether it coming from under your legs, from your building or from AWS. However, the hype around the Cloud Computing term is going into excessive overdrive.

Wikipedia article on Cloud Computing has a paradigm shift in the first sentence for the description. So it is not just the marketing folks at technology (and shampoo companies with cloud ambitions) who are frothing at their mouths. Everyone seems to be caught up in the frenzy.

I would recommend everyone (okay maybe only the techies) to browse through the following classic paper from 1968 which I read occasionally to remind myself about concepts that re-invent the wheel:
On the Design of Display Processors (Myers, Sutherland)

Yeah, I know you gave up after a few paragraphs even if you opened that link. Do give it a try at leisure though.

Technology makes progress at a frenetic pace. Transistors go faster and smaller, cables become fatter, signals transmit faster. Every once in a while you realize that you can actually adapt concepts you used to apply to large scale systems and map them to small scale systems and vice versa. The individual processing systems that used to be large can now be compressed into small blocks within a chip. You can apply lessons learned at connecting systems and machines together using networks and apply them to connecting blocks within a chip. The field of interconnection networks was hot late in the 1990’s applying knowledge from high speed switching and routing within mainframe systems back into interconnection networks within multi-processors and network routers.

Mainframe Terminal

Imagine being hunched over a vt100 dumb terminal blinking green and working away at tasks that actually were running on a mainframe computer a few walls away in an air-conditioned locked room. Or maybe you actually needed to be in that air conditioned room. Now make that connection from the terminal much longer and going under a few miles of dirt and few thousand miles of ocean floor. However, make the latency almost same. And make that interface protocol a wee bit more complicated than text terminal display (HTTP, BigTable, MapReduce, Hadoop, Hive, Pixie Dust). Increase the marketing budget by a few million dollars. You get the new Cloud Computing Wheel.

Here is that brand new wheel for you. That rock you were under must have mangled your gray cells to call it the same as the original one:

ancientwheel aircrafttire
January 31st, 2010

Windows Media Center Remote Control on iPhone

Isn’t it ironic that there is more attention paid to iphone remote applications for windows media center control rather than WinMo apps or AppleTV control? I have been comparing the different applications and I have tried a few of them. I have not decided yet which one is the holy grail so drew up a comparison table for my own sake that might be useful to others.

I will try to update the page as I experiment more and/or find more applications.

Application Webpage/App Mouse Virtual Keyboard Needs TV On Library Other Applications Comments
ngRC Webpage Yes Yes No No No Not actively developed but works on W7MC
Remotely Possible App Yes Yes Yes No Yes Large buttons with multiple screens. No Trial/Free Edition
NControl App Yes Yes No Yes No Shows TV Channels on Phone
Remote Kitten App Yes Yes Yes No No Adware and Paid Versions
Logitech Touch Mouse App Yes Yes (Windows Keys) Yes No No Not specific to media center. General Mac/Windows iphone mouse+keyboard
hipporemote App Yes Yes Yes No Yes Runs over winVNC. LITE(Free),Basic,Pro App Versions
January 2nd, 2010

Windows 7: (Liberating) My Media (Center Setup)

I have been an early fan of the Windows Media Center. Windows XP MCE 2005 was the first computer I actually bought new because I could not get my hands on a used or do a build of an MCE. (It was not really new new since I cheated and bought a cheaper HP refurbished PC). It has been a few years since I bought it and it has been getting a little long in the tooth with the bloat that happens over time. Once we had our home wired (and figuring out that I could go in the attic and do more), I started looking into options for integrating and consuming our media.

Our main consumption of entertainment till now has been via Comcast Cable and a Popcorn Hour (PCH). Popcorn Hour has been an amazing device for playing any video file I have thrown at it. It also helps that it is a really small box and the only sound is the hard disk I put inside. It connects easily to the MCE 2005 machine and loads the thousands of digital photos and songs and play them. It is very hackable since you get a linux shell. I will have to write a separate post on all the things I have on the PCH.

However, the WAF of the PCH is low and takes a lot of effort to increase. I had to continuously update the scripts and download new versions of the interface libraries (tip of the hat to YAMJ). Also, the photos and songs apps are pretty minimal. PCH is mainly a video file decoding beast.

I had a couple of old PCs I had bought on a whim for ultra-cheap that were sitting around without a hard disk in them. When Windows 7 beta showed up, I got a hard disk and installed it assuming I would replace it with Ubuntu if the performance turned out to be crappy. The machine was an Athlon 64 3200+ single core processor (Socket 939) with an ASUS A8N-E motherboard. (Note that even my ultra-cheap used purchases are also AMD boxes. I got these boxes for about $30-40 from the fire sale when Transmeta was finally shutting down and selling the tables and chairs from the office). This processor was pretty close to the MCE2005 Athlon 64 machine that was 5 years old. The graphics was integrated nVidia chipset on the A8N-E mobo.

I was pleasantly surprised at how smoothly Windows 7 ran on this machine and how stable the OS was on such an old board. The food on my table comes from selling to people who need the Quad-cores and Thubans but most of our home needs seem to be fine with old single core machines. Just so I could use the HDMI out to connect to a projector, I bought an ATI 3450 card with HDMI out for $15 off craigslist. I had to splurge for a Hauppauge 2250 because Tuner cards are notorious for problems and I wanted to stick to a battle-tested card.
I do get a lot of channels in ClearQAM from Comcast so I can record HD without the cable box.

I will add more details about individual pieces in the future. This is what I have in my W7MC setup:

Hardware

  • ASUS Whitebox A8N-E with Athlon 64 3200+
  • ATI 3450 Video Card with HDMI/DVI/VGA Out
  • Onboard sound with SPDIF and Optical Out on the mobo!
  • Western Digital WD10EADS 1TB Caviar Green
  • Hauppauge 2250 Dual Hybrid Tuner ATSC/QAM
  • Logitech 890 Remote with RF Extender (so W7MC can be in the closet)
  • 30ft HDMI cable from monoprice to an Infocus Projector

Software

  • Windows 7 of course
  • Windows 7 Update with Netflix integration
  • Silverlight and Flash
  • Microsoft Security Essentials – free Anti Virus software
  • ATI Catalyst Drivers
  • Windows Home Server (WHS) Connector
  • Auto Login User – so you do not have to get a keyboard to login when you restart for whatever reason
  • Terminal Services patch to allow another user to login while media center is still running with a different user
  • Registry Tweaks – debounce and DVD Gallery tweaks
  • Media Browser – plugin for media center (and added MediaInfo)
  • tubeCore – it was on sale for $1.99 so could not resist trying
  • PlayOn – for my Hulu everywhere
  • NControl – for remote control using iPhone
  • Amazon Unbox – added this when the NASA When We Left Earth were a free download
October 18th, 2009

Sidekicked: Is the Cloud Fluffy?

I guess the outage at the Danger division of Microsoft has given us a new term for when things go wrong in the cloud. Would you be willing to let your data and applications live in the cloud and be Sidekicked?

Danger Hiptop – Wikipedia, the free encyclopedia#Data service outage 2009.

August 12th, 2009

Denon AKDL1: Best Reviews Ever

I might not have searched and found this amazon review page if I was not working late and found a bugzilla quip that piqued my interest. But, this was the most reading fun I have had in a while:

Denon AKDL1: Amazon Reviews Page

April 30th, 2009

To Tweet or Not To: @What I Follow

Is it cool to be on twitter?

Sally Forth, 4/28/2009

I end up reading about facebook and Twitter more than I need to for social or work reasons. However, it will surprising to know that is more for intellectual curiosity for the underlying technologies and the infrastructure and scalability issues than for the social networking.

I was once bitten by the Ruby on Rails bug and developed a couple of public apps and a few internal applications using the framework. I ended up liking the Ruby language while I was doing it. I am a fan of Rapid Application Development tools (especially for web sites with database driven backeds) that still feel like basic programming. Java with its sea of technologies and packages never appealed to me. I remember reading an early Ruby slide that said if the language and compiler are not fast enough just wait for hardware to get faster. (Music to hardware designers ears).

So I was doing a lot of rubbernecking when twitter was having problems. I am still waiting to try out Scala after I saw the raging debates on the internet about languages and speed that I had not seen since the C, Java and Perl days and read about Twitter and Scala.

April 26th, 2009

Reality Distortion Field: It Exists!

So I finally did succumb to spending the money to buy an iPhone 3G before it got to the free with contract price.

iPhone does not really need a dated review from me, especially given the fact I did not have other 3G WinMo phones to compare against. I do enjoy very much the touchscreen and the exchange integration. It is a very good email checking machine if not a great email replying machine. Browsing is definitely better than my older smaller phone though it might not be much different than newer big screen phones.

But, boy do I have have gripes with the RDF promulgated by the Apple folks!

People complain a lot about Windows and Microsoft products. I give Microsoft a lot of rope since they have to write software that runs on a lot of other peoples hardware (and the peripherals). When you tightly control the hardware and the platform it is a lot easier to control the complete user experience.

I have had more issues with the iPhone than I have had with my refurbished AudioVox 5600 WinMo (maybe I use more things on it). The apps do crash on the iPhone all the time. However, there is no BSOD to blame Apple, but a convenient recovery back to the Home Screen to hide what happened. It is as if nothing happened at all. No popup, no information, no log. And it has happened with Apple apps rather than only with installed apps from the store. If that is not RDF, I am not sure what is. I do have to admit that at least the underlying OS has only crashed or frozen rarely. I appreciate the unix underpinnings with a wonderful GUI on top.

The hardware does not speak to pristine quality control either. The mute button stopped muting and I had to get an appointment at an apple store to get a replacement phone. I never managed to get a walk-in appointment at the apple store and finally did have to make an appointment online before I went to the store. I guess the faithful needed to drink from the fountain frequently.

I frequently email Jelena and the Mail application always corrects it to Helena and sometimes I forget to fix the name. I tried to figure out if I could somehow edit the database but hey Apple knows what is good for you better than yourself.

Some annoyances are standard Apple fare than iPhone specific. If I have non-DRM mp3s I rip or buy from Amazon (I recommend Countdown Kids for $0.99 when on sale) or elsewhere, I expect to be able to sync it to iPhone and get them to my work computer (okay not the Countdown Kids). Of course, you cannot really get the songs off the phone using iTunes OS. Hey, Apple is kind enough to let you play them from the iphone when it is connected anywhere, but whoa, whoa … what do mean copy to a second machine from iphone (remember … non-DRM songs). Why would the sheeple want it? They can just buy the song again from iTunes on the second computer! (For the record simply use Media Monkey and it lets you drag and drop from iPhone to the windows folder).

When companies make nice products that people want to buy, it gets frustrating when you cannot use them fully the way you want them rather than the way the manufacturer intended you to. I think for people like me who are hands-on, the cheaper less refined products are better than well-crafted, tight-controlled Apple products. I think for people who like Plug and Use but no Play, Apple products work well. I love my Popcorn Hour if it says anything about me. I think the iPhone reinforced a thought I heard somewhere: Mac owners are rich or dumb or both.

February 1st, 2008

Buying Customers: Microsoft and Yahoo is about no more Innovation?

Microsoft and Yahoo potential merger is being billed as the largest tech merger. When such large software companies merge, it worries me.

There are many facets to the merger including markets, web presence, customers, communication tools, employees, work culture, among others. When financial companies that have money in their accounts merge they just become bigger institutions with larger capital to play with. When manufacturing companies (and others who make stuff) merge, they can optimize their making process and put together their product portfolio. However, when software companies merge it means they have figured out they are not able to complement their portfolio by building it themselves.

Most big software houses can afford to build a piece of software in terms of people and development cost. The harder part is stealing customers and mindshare away from products that already exist. You are effectively buying the other company to get the customers. Software companies do not really have any redundant operations to save on except the employees who work on duplicate efforts in both companies.

Everyone including Microsoft, Yahoo, Google, Facebook, Myspace are just fighting for the same crowd of people spending time on their pages for pretty much the same thing – mail, search, news, socializing – and hope to get the rest of the industry to pay for their eyeballs. Microsoft and Yahoo have a large pool of smart people in the house who have built many different technologies. But, they do not expect to put a few hundred people to a project on their own and create something that attracts and retains customers or eyeballs (to get the advertising money). There are not too many ways you can slice and dice and present those same features (at last that is what MSFT and YHOO think if they are merging).

You can hear them thinking: “We cannot really think of do anything else to create to get more customers, let us just put your customers and my customers together and see if we can hold on to all of them

September 5th, 2007

Playing It Inexpensive: At the Trailing Edge of Technology

I was LMAO ROFL (enjoying it immensely) when I saw the announcement of the Apple iPhone price cut to 399 all the way from 599 (or to 400 from 600 as your brain should really see it). Whatever be the reasons for the price cut, the joke is on those guys who stood in line less than two months ago to have the privilege of paying 50% higher price just for the sake of owning it a few days earlier than the rest of the crowd. I bet a whole bunch of them just bought it for the cool-factor than really needing to zoom in and out of their pictures with two fingers instead of pressing keys. I do not remember anything falling so much in price after so much hype like the iPhone. Some call it a ripoff of the early adopters! Snazzy interface with handicapped functionality only extracts so much from only so many lusers users wallets.

I know geeks take immense pleasure in staying at the cutting edge of technology by buying the latest gadgets. Phones are not the only such gadgets where early adopters pay the huge premiums. Computers, Blu-Ray/HDDVD players, Televisions and most other equipment charge a premium when they are the top-of-the-line. I remember someone at the recent Hotchips 2007 conference announcing at the mike that he regularly buys $8000 systems to play games. BTW, he looked more than 50 years old!
I said in a previous post of mine about shopping that I Forget the Features to avoid paying too much to future proof my purchases but focus on what I want in basics. However, I am deeply indebted to sheeple people who pay through their nose for bleeding edge technology since they partly contribute to keeping the technology industry (ergo my job) humming.

I did the whole bleeding edge thingy when I bought my first cellphone, a Sony CMD Z1. I bought it when I was a student (when a dollar is worth more than $1) for more than $200 and after just one year it was priced at $39. My last two cellphones were exactly the type of purchases that vampires vendors hate. I bought the Treo 300 (ugly beast of a phone) when the rebates dropped so low that I made $30 when I bought it on Amazon (and made $50 more when I sold it on craigslist a couple of years later). I realized I did not really need the keyboard as much when it made the phone so bulky. The next purchase was when I bought two Audiovox SMT 5600 Windows mobile phones for $20 each from cingular when it was being phased out.

I reckon I saved about 600 dollars in total by waiting an year from the prime-time of those phones. Dropping the price of an iPhone does not do much for me. My Audiovox plays mp3s very well through its speakerphone speaker. It also syncs very well over my vmware installation of windows to my corporate Exchange. Imagine saying that with iPhone in one sentence – sync, vmware, Exchange! The one I lust after is the HTC Vox (interestingly at the same $400 price point currently as iPhone) with a slick keyboard underneath a candybar form factor. I am still waiting for it to be released and become obsolete…

July 28th, 2007

Signalling on Rails: Tips on Exception Notifier

When you are developing rails apps and you are hacking your way around, it is fine to get a bunch of errors and screen dump of what went wrong. However, when you start deploying it and want to convince users to accept the new system exceptions are like segfaults. You do not want them to see gobs of exception messages on their browser which will be an excuse for them to write it off even if they did not RTM and did something wrong. Another problem is that people will happily hit Back and not save what happened and only bitch about the instability of the system.

Exception Notifier is a great plugin to solve these issues. Basic installation of the plugin is pretty smooth and if you already have emails working from your app then exception notification works pretty easily. There are enough Google results for you to get it working.

One standard problem that almost everyone has is to get it working in your development environment. The following changes did it for me: update your application.rb and update your config/environment/development.rb.

application.rb

include ExceptionNotifiable
local_addresses.clear

development.rb

config.action_controller.consider_all_requests_local = false

More interesting changes are to do with picking specific errors out of all the errors and sending some to the browser and some via email. In my case, I had support for free-form SQL queries in our internal application which could give internal MySQL errors to user queries which I wanted to go to the browser. Here is what you add to application.rb:


# Try to get incorrect SQL errors and show them on screen
def rescue_action_in_public(exception)
case exception
when ActiveRecord::StatementInvalid
render :text => "You have errors in your SQL Syntax. Please try the Back button and fix them before trying again. #{exception.message.inspect}"
when ActiveRecord::MultiparameterAssignmentErrors
render :text => "You seem to have some inconsistent input. e.g. Date like Feb 30 2007. Please try the Back button and fix them before trying again. #{exception.message.inspect}"
else
super
end
end

The ActiveRecord::MultiparameterAssignmentErrors is a very interesting exception which you surely want to get to the user than via an email to the admin. I found out that when forms have incorrect date input (like Feb 31), MySQL generates this obscure exception. I could have borrowed some date validation code but why do extra work when you can rap the users knuckles instead.