Archive

Archive for October, 2008

MapReduce

October 28, 2008 Leave a comment

Google is using this and you say, you are not aware of this important concept??? Well, despair not, even I wasn’t aware of it a few days back, so you are not alone. Please have a look at this link to find out what it is.

For more information on why it is important, whether your favorite language supports it (or not), and whether you should really care, read this by Joel Spolsky.

CouchDB (from Apache), is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP / JSON API, and it makes use of map-reduce system to display its views. CouchDB is written in Erlang and I came to know about this project from an Ayende’s post about it.

I definitely think CouchDB would be suitable for many applications [ though I can’t think of them yet 😉 ] but this article says that cloud computing may make RDBMSes obsolete!!! Now take it or reject it, but all are interesting reads.

Advertisements
Categories: Programming

Enough.

October 24, 2008 Leave a comment

In The Forest People and The Mountain People, anthropologist Colin Turnbull paints contrasting pictures of two societies. In the mountains, resources were scarce and people were always on the brink of starvation. The culture they evolved was horrific. Mothers abandoned babies to roving packs of feral children as soon as they had any chance of survival. Violence, brutality, and betrayal were the order of the day.

In contrast, the forest had plenty of resources. A person had only to spend half an hour a day providing for their basic needs. The forest culture was the mirror image of the mountain culture. Adults shared in raising children, who were nurtured and loved until they were quite ready to care for themselves. If one person accidentally killed another (deliberate crime was unknown), they were exiled, but they only had to go a little ways into the forest, and only for a few months, and even then the other tribespeople brought them gifts of food.

XP is an experiment in answer to the question, “How would you program if you had enough time?” Now you can’t have extra time, because this is business after all, and we are certainly playing to win. But if you had enough time, you would write tests; you would restructure the system when you learned something; you would talk a lot with fellow programmers and with the customer.

Such a “mentality of sufficiency” is humane, unlike the relentless drudgery of impossible, imposed deadlines that drives so  much talent out of the business of programming. The mentality of sufficiency is also good business. It creates its own efficiencies, just as the mentality of scarcity creates its own waste.

– excerpt from “Extreme Programming Explained – Embrace Change” by Kent Beck

Don’t you think ‘The Mountain People’ very truly, symbolise Indian software companies and their work culture, whereas ‘The Forest People’ symbolise US software companies? Well, sadly, the first statement is definitely true, but equally sadly, the second statement might be false!!!

Since these are the words of Kent Beck, so its safe to assume that he might have seen the ‘mentality of scarcity’ among the US software companies. It is also obvious that, since most Indians had never seen the ‘abundance’, which is common in US and other developed countries, it would be asking for too much to expect the ‘mentality of sufficiency’ from those companies or the managers in those companies. But it is a little disappointing that ‘The Forest People’ displayed ‘mentality of scarcity’ when it came to work.

By the way, if somebody thinks that there are (some) Indian software companies which are akin to ‘The Forest People’, then they are plain lucky. Because in my entire career of 8 years in India, in various companies, I never came across such an Indian company. But yes, I was lucky enough to work in a Fortune 500 US based company, which definitely didn’t display the ‘mentality of scarcity’ and I actually enjoyed my span and work there.

But sadly, to re-emphasize, it was not an Indian software company. Will my dream of working in an Indian software company having ‘The Forest People’ ever come true?

Categories: General

xUnit patterns.

October 21, 2008 Leave a comment

Well, as if the GoF patterns were not enough to improve us at our craft (coding), here come, the xUnit patterns. It’s been more than a year since I found this book, and I am yet to read it, but I came across this interesting article on ObjectMother and TestDataBuilder from Ian Cooper.

This clarifies the use of each, for our unit testing and has two must-read links – one on ObjectMother by Martin Fowler and one on TestDataBuilders by Nat Pryce. The second one has other links too which are also worth reading.

A framework vs. a library.

October 9, 2008 4 comments

Recently, we were discussing among the team if we are writing a library, a component or a framework? 🙂 I remembered that I’ve seen a perfect (atleast for me) definition, which highlights the difference between two, out of the above three. And I vaguely remembered that it might be somewhere inside the Castle site, so after some searching, I stumbled upon the On Inversion of Control link, and voila, there it was –

The major difference between an object-oriented framework and a class library is that the framework calls the application code. Normally the application code calls the class library.

I don’t know if you like this definition or not, but it makes perfect sense to me 🙂

Categories: Programming