Entries from February 2007 ↓

Getting your hair cut and getting your software done

I went to my regular hair salon last saturday. Went into the take the first chair on my way, but the hairdresser asked me to sit on the next one. This was a new guy, I have never seen him before. I have a little apprehension about how good a cut he will give me, but I go ahead.

Once I got in the chair comfortably, I asked the guy, what kind of haircut will look good on me? Given that I have a large forehead and am losing hair northwards. But he replied: You know better. You tell me the cut you want and I will do it for you. Now, am I the barber or is he the hairdresser? So who knows better? I was asking for his advice, but arguably he did not have any. So I asked for my standard cut and he started.

Getting a hair cut is not something you have to focus on yourself, so I started thinking about other things. Suddenly I noticed some bumps around my right ear. Ahh.. this guy was trimming the side burns, but the way he was moving the razor, was bumpy. This means, he is a novice. What if he cut my skin somewhere? I don’t like to see blood, especially not my own! I controlled myself though, and he continued. I grabbed the arms of the chair to secure myself, and started consoling myself, it will go alright. What if he is new, he is doing an ok job, and he can pull it off. The razor shaves are not smooth, but I haven’t got hurt so far. So it will be ok.

And it hit me! Software development is so similar to getting a hair cut. Go read the above description once again, thinking about your software project, instead of my hair cut. And you will find it yourself.

If you are lazy like me, let me summarize a few things:

  • Client wants the first and the best. Developer points to something that’s convenient to him. Without any explanations.
  • Client expects expert advice from the developer. Developer says give me specs that are cast in stone, and I will give you code.
  • Client gets comfortable after the initial interactions, and gets busy with something else.
  • Suddenly something bumps. Failed delivery, bugs, attrition, incorrect project understanding… And the client is scared.
  • Client prays the project gets done without cutting his throat. Developer works as he likes and gets it over.
  • Customer pays the bill, is not happy. But may come to the same shop again, because there are others which are even worse! Or pay higher and go some other place.

Or gets inspired and blogs about it!

 

Alternative to FMS

Saw Wowza Media Systems‘ offering today - an alternative to Flash Media Server. It looks good, comes much cheaper ($5000 for unlimited connections), supports server side scripting and remote shared objects, and runs on multiple platforms. Is free for 10 connections. But looking at the tech details, it may be a memory / CPU hogger. Need to try it out to be sure. Their FAQ mention:

…600 simultaneous connections randomly accessing 400 files; Wowza Media Server delivered 300 Mbps throughput. This required a maximum 300 MB of memory and 18% CPU utilization…

Though these were done on some kick ass hardware! I think it’s worth checking out. This goes my list of items to review!

We have also been toying with red5 for about a month now. Found that to be good too. I am interested to find out if someone has done comparison between all these options!

 

PHP has come a long way!

Read a note on Joel On Software about Language Wars. Someone asked him about the language to choose for his next project. And Joel mentions (on the language war):

These debates are enormously fun and a total and utter waste of time, because the bottom line is that there are three and a half platforms (C#, Java, PHP, and a half Python) that are all equally likely to make you successful, an infinity of platforms where you’re pretty much guaranteed to fail spectacularly when it’s too late to change anything (Lisp, ISAPI DLLs written in C, Perl), and a handful of platforms where The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line? (Ruby on Rails).

What interested me, was the mention of PHP there, and the significance of it. We have been working with PHP for 8 years, and it has grown tremendously. It’s now even preferred language for big enterprises. Makes me proud to have taken the PHP route for Magnet! As it is, after working on and managing projects in so many technologies, PHP is still my number one choice for programming!

 

Dadar on a Sunday

Took the camera along on my visit to Dadar yesterday. I enjoyed taking the pictures, and I am planning to take a Mumbai tour sometime in the next 3 months! There is so much of vibrancy and diversity. There are so many things to observe and learn. Just got present to the world around me as I was taking the pictures. I felt immersed in it, being a part of the world and saw the enormousness. Quite an experience!

 

Misc Tech Bits

Here are a few miscellaneous tech bits you may want to try out this weekend!

Yahoo! Pipes

Gina Trapani on Lifehacker says:

Yahoo! PipesAs a prolific netizen, you generate lots of web-based feeds: your Flickr photos, your del.icio.us bookmarks, your weblog posts and your Lifehacker comments, to name a few. Instead of going here, there and everywhere to see all the content you create on the web, combine it all into one master feed using with the newly-launched Yahoo! Pipes.

Vista’s Sideshow

Asus Laptop with SideshowImagine an LCD screen on the outer case of your laptop. Even when your computer is in the sleep mode, you can use this screen to quickly check up an email or find a phone number. Now think about doing this from a remote control. Or your phone. Now, stop imagining, since it’s real! Windows Vista has a Sideshow feature that allows you to do it, and Asus has built a laptop that uses it nicely! There are even things that support sideshow, including a remote control and laptop bag!

And by the way, you can download many other gadgets to run on this, or even create your own! Microsoft has taken the idea of Widgets a bit further pretty nicely this time!

Offline Zimbra with Firefox

Chris Double put up an example of using Zimbra (a web based email/calendar system with heavy AJAX use) offline. He says:

Zimbra is heavily ajax based and gives a good idea of how difficult or easy it is to convert an existing application to use the offline support. For this first cut I made Zimbra work when the browser is in offline mode and provide the ability to browse the email folders, and view messages while offline that are held in the Inbox and Drafts folders.

He used DOM Storage, Jar file protocol and Offline events to achieve the feat. He even has a nice screencast showing the stuff. This is quite neat, since occasionally connected model of computing is very much going to be mainstream in the next few years.