Wednesday, January 30, 2008

Early morning FM blues

This will probably strike a chord with Bangaloreans, but will waft over everyone else's heads. The last few months have seen the rise to prominence of a certain property developer. Actually, calling them developers is overstating things - I guess they market a set of properties rather than develop them.

If you drive down to work in the mornings, as most of us do, and you listen to FM while doing so, Orange Properties' jingles are inescapable. The first set of ads promoted villas that came with a huge list of perks, including a helipad and a BMW 3 series. The sign-on amount? A fraction of the cost of the car you drive away with once you've put your x on the line. The catch - well, the pricing of the villas put the astro firmly back in astronomical.

The next was a more affordable dwelling being promoted at an eye-catching low price. The catch? The price was after discounting for a set of "freebies" - clubhouse, power and water connections, etc that were priced at the developers discretion. Sort of the "cost-to-company" salary structure that a lot of firms use to inflate salaries.

The newest one states that home loans against their houses are at roughly a third of market rates, handily saving you trillions. The catch? I don't know, and I can't be bothered to find out. It suffices that I believe there is one. My pavlovian reflex for Orange Properties is now fully developed.

The ads themselves are masterpieces. They feature an ensemble cast that combine, in their delivery, the enthusiasm and guilelessness of newborn puppies, with a cunningly crafted message that would do Machiavelli proud.

And if you somehow miss being ambushed the first time, don't worry - they play twice in succession. Always.

I expect that someday I will get into a pileup and my epitaph would read "Tried changing the channel. Now faces endless static."

Image from Hayao Miyazaki's Laputa.

Wednesday, January 16, 2008

How do they do it?

Most Indians, wherever they are, are out to score the best possible deal. Getting something gratis is the ultimate high. I'm no exception. I track deals2buy and edealinfo obsessively. Read downloadsquad everyday. Have installed damn near every piece of freeware I could get my hands on. You get the picture.

In doing all this, I came across a gem of a site a few months ago. GiveAwayOfTheDay (GAOTD to its followers) is built on a simple premise - it gives away one piece of commercial software every day. The software has to be downloaded and activated before that day is done, and is yours for life thereafter. Is there a catch? Not one I could find yet - the programs come sans updates or support, and are only free for personal use, but none of this is a deal-breaker. Even better, they have a sister site that servers gamers, one game at a time.

All this is well, but it begs the question - how good are the programs and games available. The answer depends on the day - some days all you get is a crappy screensaver, other days the program is significant. I've come across file utilities, image editors, media tools and system software in the short time I've been tracking it. Some of these programs have found permanent places on my system.

On the games front, the answer is even starker. Between strings of match-3 games comes along an indy classic. Yesterday's program Immortal defense was Gametunnel's Indy Strategy game of the year and a game I had on my must-play list.

Don't take my word for it. Follow the site for a few weeks and you'll be gushing about it too

Image courtesy of

Tuesday, January 15, 2008

The best java book?

Epiphanies are rarer as one gets older. Maybe its because we are less receptive to new thinking; maybe its because we have already learn most of what we need in our day-to-day lives. Whatever be it, the a-ha moments are few and far between. Its not all bad news though - the few that we have are that much more powerful.

I've been a programmer for the last eight years professionally and a lot longer as a hobbyist. My shelf of technical books is more or less empty. This is for two reasons - I outgrew some of the books and the others were not worth more than one read. Google and various tech forums are the resources I look to for any information I need and I guess its the same for most of my peers.

I came across a slim book called "Effective Java" by Joshua Bloch. My expectations were reasonably high since this is the highest rated Java book on I expected intermediate to advanced concepts, tips, etc. This book offers all of those, but doing so is not its focus.

What this book is really about is good programming practices, sensible design, weighing options on performance, designing for reusability and longevity and so much more. In a book with a scant two hundred something pages, there is no place for slack. Each chapter is split into a set of principles or points. Each principle is illustrated with code. The writing is crisp, the examples clear. It hardly matters that the book was written years ago and the language has evolved. I am reading and rereading points here and will do so till they are internalized.

Take this list of tips on exception handling as an example.

  • Use exceptions only for exceptional conditions
  • Use checked exceptions for recoverable conditions and run-time exceptions for programming errors
  • Avoid unnecessary use of checked exceptions
  • Favor the use of standard exceptions
  • Throw exceptions appropriate to the abstraction
  • Document all exceptions thrown by each method
  • Include failure-capture information in detail messages
  • Strive for failure atomicity
  • Don't ignore exceptions

Simple? Arguably. Commonsense? Yes. Obvious? I wish!

The whole book is written in this vein. If someone had taught me all this when I had started out, I'd have saved years of learning the hard way.