Tuesday, March 27, 2007

Real estate market in Hyderabad etc

This blog has an interesting view on the real estate market in Hyderabad.

Meanwhile, there are plans for 4 completely new cities to be built near Bangalore, Hyderabad, Bombay and Gurgaon. These will be built by Real Estate Investment Trusts.


As usual, make your own research and judgments.

Productively examine your bank statement for fraud etc

My bank sends a printed statement of my account activity every month. Going thru and validating each item in the statement can be a real pain.

Here's one trick I use. Every withdrawal I make from the ATM is always an uncommon amount. For example, I always withdraw $70 from the ATM. When browsing thru the statement, I discard all the 70$ withdrawals and scrutinize the few transactions left.

Now, this technique can be a liability in a focused fraud attack. If somebody knows you always withdraw 70$, then they can take advantage of this and withdraw large amounts in multiples of 70$. You wouldn't notice this in your statement. To prevent this, you can switch to a different uncommon amount every month.


This can also be a way to know at a glance if your significant other is making some significant withdrawals :-).

Sunday, March 25, 2007

Post-it for dummies

Great Post-It ad. See more here.

My humble contribution...
Post-It on cockpit controls
12 o' clock - North

3 0' clock - East


Pls share your ideas in the comments...

What's up with these crocs


I went out for some lunch and some detergent shopping (yeah.. very focused guy). Saw at least 20 people in the supermarket wearing these pink embellishments. Interesting thing - Most of those pple were at least 30 years old... I can understand kids loving them, but grown-up women???

Would like to know what's attractive about these monstrosities. Are we all itching to express the rebel within?... or yearning for that lost childhood?

Maybe products that allow non-confrontational expressions of our rebellious individuality have a great market. Maybe this is what's so great about those Pumas.

Discovering India the right way

The Sunday NYT tells how to have a satisfying short tourist trip to India. Pragmatically, they don't advice the tourist to pack everything there is to see in India within 2 weeks. Instead, the model should be to sample the richness of a particular region.


"FOR the first-time visitor to India, the sheer vastness of the country — more than a million square miles — all but defeats the romantic notion of seeing all that this place has to offer in anything approaching the usual time frame of a normal vacation. Retirees no longer punching the clock, college students who want to take a couple of semesters off, backpackers on a global journey of exploration: these are the kinds of travelers that India seems made for.

But what about the rest of us who are limited to one or two weeks of vacation a year? Is India completely beyond our grasp?


In a word, no. Even sampling the tiniest geographical crumb of India over a period of 7 to 10 days can be a satisfying travel experience.


Quite rightly, no one wants to miss the Taj Mahal, especially on a first visit, so our suggested route pivots around that Platonic ideal of tourist attractions. Spending a couple of days first in the nearby capital of New Delhi — a strange patchwork of imperial Mughal monuments, bustling urban villages, leafy British Raj-era avenues and expanding middle-class housing colonies — is bound to give you a good taste of urban India. Still, some two-thirds of Indians live outside the nation's cities. With that in mind, this route, after passing through Agra, site of the Taj, and the ruins and palaces of Gwalior, culminates in Orchha, a riverside village well-stocked with palaces, tombs, Hindu temples and ordinary village life.


Rajasthan? That fascinating, tourist-infested merry-go-round has been deliberately omitted, though it is a place worth coming back to when you have time to explore its less overdeveloped pockets. The hiking trails of the Himalayas and the beaches of Goa? Next time.
..........................
.........................."


Read the rest of the article here.

Picture: Available on Wikipedia with a GPL license.


Giesecke & Devrient: In the business of secure transactions - From security paper to smartcards

There is a nice story that many management consulting firms use to explain the nature of their work and lure the starry-eyed graduates into the mothership. It goes somewhat along these lines...
"Once upon a time, Birmingham was the center of the drill manufacturing business. The people of Birmingham were confident they made the best drills in the world. They felt they did not have to worry about competition as their drills were so good. However, one day someone produced lasers and the people of Birmingham suddenly realized they were not in the drill business but rather in the business of making holes. They realized that if someone developed a better way of making holes the people of Birmingham who made drills would be in trouble."

Now, strategic shifts like this happen when a new technology emerges that completely rewrites the way something is done or made. Some companies identify the technology shifts and remake their themselves. But successful examples are few and far between.

An great example of success is Giesecke & Devrient (GnD as we call them).


I have been working on DB's corporate banking application for sometime. Last year, the project that I led involved (among other things) adding support for new types of smartcards to our application. The smartcards are used by the customers to digitally sign transactions. This digital signing is done to prove the user's identity and to approve a transaction. Our smartcard vendor is GnD. Being the inquisitive guy that I am, I did some Google research on this firm. What an eye-opener...

GnD was setup in 1852, and for a long long time, their business was to print banknotes and security paper. But in 1970's, GnD realized that they were not in the banknote printing business. Instead, they were in the business of secure transactions. They started an R&D arm to develop expertise in secure cashless transactions. Now GnD is a leading provider of smartcard solutions, enabling secure digital transactions.

Wow... To identify the paradigm shift to digital security in 1970. That's something. Consider that the public-key-cryptography concept that underpins digital security today was introduced only in 1976.

Friday, March 23, 2007

MapReduce plug-in for Eclipse. Now go and change the world...



Over the years, Google has developed some truly awesome "force-multiplier" architectural software components. These have helped them roll out hugely-scalable and high-performance applications very very fast at low low cost. Among them are -
-- MapReduce parallel computation framework
-- BigTable database
-- Google File System

MapReduce is a framework that -
-- Allows a programmer to define a program that needs to be run in parallel over a huge cluster of computers
-- Executes the software program in parallel by distributing it to a huge cluster, monitoring the execution progress and collecting the results

MapReduce has lowered the bar within Google for writing hugely-parallel applications. Mostly, the programmer has to worry only about writing the program in compliance with some MapReduce framework requirements. The entire parallelization and its enormous complexity is handled and hidden by the framework, freeing the programmer to concentrate on the actual functionality performed by his/her program. Within Google, MapReduce is used for building the search index etc etc.

Google has explained their MapReduce framework in this excellent paper by Jeffrey Dean and Sanjay Ghemawat. Based on this paper, Hadoop is an open-source implementation of MapReduce components.


Now, IBM has made available a plug-in for Eclipse that simplifies the development and deployment of MapReduce programs meant to be run within Hadoop. So all you brilliant engineers out there, go ahead and code the next parallel program that will change the world etc etc

Google is using Hibernate ORM? That's surprising

Update: Explanation of database partitioning techniques updated and enhanced. See towards the end of the post...

Update: Lots of people are coming here from the google-code blog. You might want to check out my posts on Simplicity, Management, Software Development, Career, or the main blog. If you like the content, you can subscribe to the feed. Thanks.


Learning that Google internally uses the Hibernate Object-Relational Mapping (ORM) framework brought my opinion of Google down by quite a few notches.


I strongly believe that in performance-critical applications, database transactions and SQL queries are best written and managed by the developer rather than by an over-generic ORM framework. If you have a low-usage application that will be simultaneously used by at the most 300 users, then go ahead, use an ORM layer and knock yourself out. But it is likely that if you have written a good app, it will become more and more popular, and you will start hitting performance problems soon. Any Google consumer application would be at the high end of performance-criticality requirements.

The reasons that have shaped my views are as follows -
-- Typically any application spends 25% of the time executing application code, and the other 75% executing database queries (Rough estimates based on my experience)
-- So if you want a high-performance app, optimize the data access layer
-- An ORM tool is very generic. It is meant to support multiple RDBMS systems and a huge variety of usage scenarios. So these are optimized for flexibility and not performance
-- Optimizations on the data access layer are best achieved by optimizing the SQL. You know your domain model and data schema best. So you are the best person to write the SQL
-- ORM tools like Hibernate do not allow you to write your own SQL. Instead you give definitions of your database tables and map them to your business objects. Hibernate automatically generates SQL from these relationships

Many people take issue with this and say that to manage transactions and write optimized SQL, you need very good developers, who are expensive and difficult to attract and retain.
My response: Of course, if you need to create outstanding apps, you need good developers. If you can't attract and retain them, that's your management problem. As for the cost aspect, hire a great developer, fire 5 average ones. You will get more work done, and save money.


Anyway, all the above is deviating from the main topic. Which is that Google has open-sourced Hibernate Shards, which is an extension to Hibernate to enable Horizontal Partitioning of Data.

What is Horizontal Data Partitioning? Well, if your app requires access to large large amounts of data (hundreds of millions of records), and performance is critical, and you have a large number of users, then storing all your data in one database will hit problems. This is because there will be too much read/write to the same database storage. One solution is to split the data in a big database table into "horizontal partitions" based on some particular criteria, and store the partitions in separate databases. For example, you will group your user profile table based on the user's location - US, Europe, Asia - and store each group of profile data in a separate database. This is called horizontal data partitioning as you are splitting the data at the "row level" within a database table.

Another option is Vertical Data Partitioning. Here, you partition the data in a database by putting different high-volume database tables into separate databases. For example, if you have lots of User Profiles, Messages, Transactions etc etc in separate tables, then with vertical partitioning, you will store each of these tables in separate databases. This is called vertical data partitioning as you are splitting your data at the "table level" within a database.

The transformaton of Iraqi Kurdistan

Michael Totten has an incredible post (with lots of pics) on the change sweeping Iraqi Kurdistan.

Fourteen months ago I flew to Erbil, the capital of Iraqi Kurdistan, from Beirut, Lebanon, on the dubiously named Flying Carpet Airlines. Flying Carpet’s entire fleet is one small noisy plane with propellers, cramped seats, and thin cabin pressure. Only nineteen passengers joined me on that once-a-week flight. Everyone but me was a Lebanese businessman. They were paranoid of me and of each other. What kind of crazy person books a flight to Iraq, even if it is to the safe and relatively prosperous Kurdistan region? I felt completely bereft of sense going to Iraq without a gun and without any bodyguards, and it took a week for my on-again off-again twitchiness to subside.

Last week I flew to Erbil from Vienna on Austrian Airlines to work for a few weeks as a private sector consultant with my colleague Patrick Lasswell. This time I didn’t feel anything like a fool. Almost half the passengers were women. Children played on their seats and in the aisle with toys handed out by the crew. We watched an in-flight movie and ate the usual airline lunch fare served by an attractive long legged stewardess
............................
............................"

Read the full post here.

Thursday, March 22, 2007

"Email This" Hall of Shame - NewsGator Online

For context, see my earlier post - "Email This" - The cheapest and simplest way to attract new users


Now on to today's star...


Yes. Ladies and Gentlemen. Removing spaces b/w the 2 addresses thru JavaScript seems to be an NP-hard problem.

The greatest challenge and opportunity of our time: relieving other people of their money

"You can take the temper of an era by looking to see what its brightest minds take up. Pythagoras applied himself to geometry. Alexander Fleming discovered penicillin. Wernher von Braun built rockets to blow up London.

But if St. Augustine were alive today, he’d probably be touting the benefits of globalised markets. Isaac Newton would be running a hedge fund in London. And Henri Poincare would be working for Goldman Sachs, calculating the return on a tranche of BBB-rate subprime debt.

Scientists and philosophers alike have turned their focus to the greatest challenge and opportunity of our time: relieving other people of their money. We are voyeurs…gawkers at the merry and absurd world of money
............"


Read the full post at the Daily Reckoning Oz - Subprime mortgage lending & the great liquidity crunch of 2007...

Wednesday, March 21, 2007

Bob Woolmer's death

In case any of you still think Bob Woolmer died of natural causes, please contact me ASAP. I have some lovely riverside property in Brooklyn to sell.

Marketing to human beings

SecretGeek has this hilarious reconstruction of the branding thought process in Redmond.

Proposed NameFeedback from Microsoft HQ
X#Too snappy
XenToo religious
Polyphonic C#Too arty
COmegaToo Mathematical
XOmegaToo greek
XLinqStill Too Snappy
Linq to XmlNot Long enough
Microsoft Ubiquitous
Structured Services
Framework For
XML Querying
and Collaboration 2008!
Perfect

This is a trend that I have noticed in Microsoft product branding since around the first Media Center release - at that time it was branded "Microsoft Windows XP Media Center Edition". Then came "Microsoft Windows XP Tablet PC Edition". Topping it all up were "Microsoft Windows Mobile PocketPC Edition" and "Microsoft Windows Mobile SmartPhone Edition". Damn name wouldn't fit within a smartphone screen.

To all M'Softies - The human brain is a very advanced non-linear machine. It doesn't need to be given the full context to figure out a brand. Just call it Media Center and I know that it is Windows that can do tricks.

My wild guesses on the internal rationale for this branding strategy -
-- Microsoft thinks users are morons who need everything explained to them.
Problem: See above. With this strange Redmond rationale, people wouldn't have known what an iPod means.
-- I have a very peculiar feeling (the one I have when I think of something weird which is usually right) that there is some senior Windows VP who has a hard time tracking all his Windows-branded products out there; and so has enforced this branding convention to get his head clear whenever he has to contemplate the entire Windows family :-)

If you want people to identify with a brand, you've got to give it character. Who wants to identify with "Microsoft Windows Mobile SmartPhone Edition"?

For operating systems with character, lets hail the big cats - OS X Cheetah, Puma, Jaguar, Panther, Tiger, Leopard.


Related Post: How would Microsoft have branded and packaged the iPod?

Productivity tool: save & restore desktop icon layout



I am a very contextual and visual person. So I tend to keep all my working files arranged on my desktop. And the arrangement pattern of the desktop file icons usually has a particular meaning for me. Files on the right are working copies, while files on left have already been archived to Sharepoint etc etc...

So it drives me mad when my lovely icon arrangement disappears. And I am left trying to recover the pattern from memory :-). God... that is one excruciating process. I have to analyse each file and contemplate it - does it go to the left or to the right :-). This usually happens whenever there is a problem during reboot - so Windows does not save the icon layout. Also my home laptop resolution is only 1024X768 while at work I have a pretty big screen. So whenever I login from home, all the icons outside the 1024X768 area lose their position.

Help is finally at hand. There is a tool called Icon Restore. It takes a snapshot of the icon layout. Later on, I can restore this saved layout if there is a problem.

So, all ye contextual, visual, icon huggers, go yonder and download the Icon Restore utility.

Tuesday, March 20, 2007

Join us for the tandoori roti



A humble word of advice to all the firms in Singapore planning to shift their technology staff from the Central Biz District to the fertile welcoming heartlands of Changi, Jurong etc etc..

With the economy going gangbusters you will find that some of your best tech staff will simply seek employment elsewhere. The reason is simple - LUNCH. Nowhere else in Singapore other than the CBD do you have the choice of 100 different places to have lunch. And such great food as a bonus...

Like all good things in life, I had taken this for granted. But the realization hit me last week. I had lunch with an ex-colleague who's new firm is based quite outside the CBD. He happened to be in Shenton Way and I met him at the Pret sandwich shop (Tip: 2 full sandwiches there will still leave you hungry). The dude was wolfing down a chicken coronation sandwich with such a look of ecstasy on his face that if one of the banks there had offered him a position at less than his current salary, he would have immediately taken it.

So, in summary...
Employers - Respect Abraham Maslow
Recruiters - Exploit it