March 2006 Archives

"Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime"

Apparently, our government has not heard this saying before. Pardon me for this non-stop government bashing but seriously, what were they thinking? I am of course talking about the rural job guarantee scheme. In between the cricket commentary (great win, btw!), the radio station was advertising government's rural job guarantee scheme. Under this initiative, every rural household has a legal right to demand 100 days of paid work for one member of the household. If work can not be provided, the government must pay them all the same. While the scheme is well intentioned, the economics and execution will unfortunately convert it into a money sucking beast.

Given that India's rural population is 720 million, the government has suddenly recruited a whopping 150 million people on its rolls. What is worse, by guaranteeing jobs, the government has also taken away its ability to fire any of those 150 million. I don't think that is the right way to create more jobs. The biggest problem with this scheme is that the disbursement of salaries will inevitably rest with the local officials who will have a field day pocketing most of the money.

I think this time we have taken socialism (actually populism) to a new extreme. This money would have been better spent on education or infrastructure.

They will do anything, just anything for votes. Not that this bill has any chance of getting passed, but just the fact the government can introduce something like this is scary. Telling private companies who to hire and who not to hire is the surest way to kill enterprise and dry up the current flood of FDI. It is extremely disappointing that our learned prime minister even lets this sort of stuff brew in his ranks. Not even once has he strongly condemned such populist moves. Imagine a CEO of a Fortune 500 company thinking of doing business in India reading this article. What would he choose - India or China?

On one hand the government has lofty aims of 10% GDP growth, and on other hand they want to introduce legislation which will do anything but encourage economic growth. Disappointing. Really disappointing. There is a lot of truth in the common saying around here - this country makes progress not because of it's government, but inspite of it's government!

Why was Windows Vista delayed again?

| 7 Comments

Windows Vista has been delayed again. While delays are part of product development and are almost expected from Microsoft, something doesn't sound right about yesterday's announcement. In particular, the slip is only by 4 weeks. To predict a 4 week slip almost 8 months before the scheduled date makes no sense. Surely the Windows division could have squeezed in another 4 weeks of work between now and December. Besides, the first thing they teach at the Windows developer bootcamp (an excellent training program that all Windows devs must attend) is that if you must slip, slip big. It never helps to slip by just a few days or a couple of weeks. Why? Because when you slip by a few days, other teams who were done with what they had to suddenly find themselves with a little bit of extra time. The natural reaction is "Hey, we got another 2 weeks, lets add that feature we had to cut previously!". Guess what happens next. Now we have many teams trying to squeeze in a few extra features in the last few weeks of development. That broadens the test matrix, breaks something else that was working before and before you know it, you have missed the new deadline as well. Hence the rule is that if you must slip, then slip big. So it makes me wonder why Vista has slipped by a measly 4 weeks. The official line is that they want to make it more secure. That also goes against common wisdom that security has to be built into the product from the ground up. You can't possible patch it on in the last few weeks of a 6 year product cycle.

Well, whatever it is, I hope Vista ships soon and it really kicks ass! Many of my friends are burning the midnight oil trying to ship it. Delays are always most frustrating for the front line troops - the devs, testers and PMs! I know because I have been there and gone thru many a slips and resets!

sachin.jpg
I have many times wondered what it must be like to be Sachin Tendulkar. Each time he walks out to bat, there are one billion pair of eyes watching. A billion hearts skip a beat each time he miscues a shot. A billion pair of hands applaud his Godly cover drives. Oh, what it must be to be Sachin Tendulkar!

But tonight, nobody would wish to be in his shoes. In the innings which made him the most capped player in Indian history, Sachin Tendulkar was booed by the crowd in his home ground. A string of poor scores perhaps justify the crowd's disappointment. But nothing justifies their behavior. It was our own belief that Sachin is God. And Gods don't err. To err is human.

I am a huge fan of Sachin. And a very forgiving fan too. A few bad scores (ok many bad scores) don't worry me. Sachin is not God but he sure is super human. In many ways, my generation has grown with Sachin. Seen him rise to a billion expectations time and again for more than 16 years. Those of us who have been around know he will come back. A couple of bad seasons can't undo 15 years of hard work.

I wonder what must be going through Sachin's mind. The match is poised in a precarious situation. India will almost certainly be chasing a huge total to save the match. Will the little master show his class and give a fitting reply to the booing crowds? I sure hope so. And I know there are a billion or so more hoping for the same.

And remember what Saeed Anwar said about Sachin - "Form is temporary but Class is permanent"

The delivery manager's dilemma

| 5 Comments | 1 TrackBack

Developing software and actually shipping software are two radically different things - often at conflict with each other. Those who develop software - engineers, testers, usability experts - never want to ship software (not that they will confess to it). They want to keep developing software. Add more features, improve the architecture, fix all the bugs, make it scalable, make it more usable, make it pretty etc etc. And those who actually pay for that software - clients and customers - can't wait for the software to ship. Ask any client by when they need to get their software developed, 9 out of 10 times, the answer is "yesterday".

Don't get me wrong. Those of us building the software do not seek any sadistic pleasure in endlessly iterating over it forever. But software always has scope for improvement. Always! You can never say that a piece of software is perfect. Developers will always feel they could do a better job with the code. Testers will always feel that the devs didn't fix all the bugs. The interaction designers will always want to try more ways to make their sofware usable. Project managers will always want to sneak in a few extra features. We are all perfectionists I guess!

So shipping software is hard. When does a delivery manager know that her software is "ship-ready"? There is no one answer to this question. But I think there are two key criteria in determining if we are ready to push it out of the door:

1. Is the software solving most of the key problems it was developed to solve in the first place?

If you are developing tax software, then is it capable enough to do taxes for most people? Will 90% of the people be able to do their taxes using your software? What are the situations that your software doesn't handle yet? If it can't handle incomes over $1 billion, then does it even matter? Is a billionaire really going to use your $20 off the shelf software for doing taxes?

2. Is adding new functionality justified by the cost?

Software development follows the law of diminishing returns. Initial phases of software cycle are incredibly productive. New functionality is cranked out on a daily basis. Bugs get found and fixed rapidly. The user interface stops being an eye sore fast enough. But at some point, the productivity curve starts flattening out. Adding new features or changing existing ones takes longer and requires more rigorous testing. If a project has reached this stage (and its easy enough to tell) and it meets the first criteria above (this is the hard part!), then it might the time to ship it!

Shipping software is an art. It requires courage to ship software. It is like an artist unveiling his creation. He doesn't want to show it to the world till it is perfect. Same with software. You don't want to ship until it is perfect. And yet you know that perfection is a myth. And that is the delivery manager's dilemma!

And now BarCamp Hyderabad

| 1 Comment

It turns out that BarCamp Hyderabad is scheduled for the same day as BarCamp Chennai. It is heartening to see the BarCamp movement spreading across the country!

Why Indians evade taxes

| 10 Comments

I think I finally understand why there is such a prevalent culture of tax evasion in India. On budget day this year, one of the newspapers had published historical income tax rates in India. In 1970, the highest tax rate in India was a whopping 92%! So basically if you were in that bracket, you were working 92% of the time for the government. What incentive would have that left for any individual or corporate to make more money? Unless of course, you evaded taxes. By raising tax rates so much, the government not only killed all motivation for entreprenurship, it also promoted tax evasion. So in effect, higher tax rates meant lower overall tax collections. This was perhaps one of the big reasons why we developed a culutre of tax evasion. Today the tax rates are much more reasonable but tax evasion remains prevalent. The mindset that we developed as a nation several decades back remains the same. It will take many more decades of good governance (relatively speaking :)) before things start to get better!

Happy Holi!

| 3 Comments


We celebrated Holi early because a lot of people were going back home for the festival.

But that is not the only reason why I am posting this. I am actually demoing the blog-this functionality in flickr :)

I stumbled upon OnYoMo today. They have created a very cool AJAXian Google maps like interface for Delhi. Check it out here. I think they are using data from Eicher maps and are building a mapquest/citysearch type of business. Very impressive!

Looking at their careers site, it looks like the startup is based out of IIT-D which makes me feel proud of my alma mater. No names on their "about us" page so I dont know who all are actually involved. But I have to congratulate them on a job well done. Their application has one the best user interface and functionality I have come across in any Indian web site. Congrats and all the very best!

Geek dinner on Monday

| 5 Comments

Rakesh has organized a geek dinner in Gurgaon on the coming Monday. Some of us from Tekriti are going to be there plus a bunch of other interesting folks as well. So do come over if you happen to be in the vicinity on Monday!

Rakesh is CEO of Snapstream - the company which develops a popular PVR software in the US. It will be interesting to hear his views on why PVRs have failed to take off in the Indian market.

Delhi Metro comes to my house!

| 14 Comments

The word is that the metro line to Dwarka will become operational by the end of this month! I can't contain my excitement ! And if you are wondering why I am so excited then obviously you didn't grow up in Delhi. And obviously you never had to hang on for your dear life in crowded DTC buses in sweltering heat. And clearly, you didn't leave Delhi to visit other countries, see their Metro and wistfully say "When will we have something like this in Delhi" and most certainly you did not mutter to yourself "Not in this lifetime!".

Because if you had done any of that, you would know why I am excited!

BarCamp Chennai is happening!

| 10 Comments

Wow! It didn't take long for the next Indian BarCamp to get announced. Kiruba and other folks in Chennai are organizing a BarCamp on April 8th and 9th. Chennai has a thriving tech. community so my guess is that this is going to be a really interesting event!

I had heard rumblings about BarCamps in Pune and Hyderabad as well but nothing official as yet. I gotta shout out to my mates in Bangalore - dudes you are getting left out! ;-)

BarCamp Delhi was the most geek fun I have had in a long time! The event was more successful at being an un-conference than we had thought it would be when Amit, Jon and I first met to start planning it. In fact it was only during the day of the camp that the real meaning of an "un-conference" dawned upon me. There were some 80 odd enthusiastic participants planning out the day in real time. Presenters were told when they had to present just an hour or so before their scheduled time. In fact the venue of the talks (we had two conference rooms - thanks Adobe!) were getting decided on the fly. And yet, it was not chaotic. It was like a real world wiki! Collaborative, democratic and yet self organizing.

Quite a few things worked in our favor. Firstly, this was the first ever BarCamp in India. So anybody (and there are many) who had heard of the concept before was eager to be part of it. Secondly, the quality of sessions was extremely impressive. Since the speakers were talking about things close to their heart, they spoke well and with passion. The sessions were also varied in nature. Topics ranged from coding sessions and product demos to web 2.0 and entrepreneurship discussions. This kept the audience engaged throughout the day. Finally, and most importantly, the audience participated very actively in all the sessions. Most of the time, the QA extended into over time we had to request that discussions be taken offline. I think the bottomline is that un-conferences attract a focused but knowledgable audience and speakers who are keen to participate actively.

Few of the lessons we learnt from organizing this BarCamp which might be useful for the next such events are:
1. Try to do a two day event. We had 20+ sessions in a single day so we had to run parallel tracks. That meant that everybody missed half of those wonderful sessions! A two day session will also provide better scope for interaction between participants.
2. Almost everybody who had signed up for presenting a session did turn up and present. Those who couldn't make it informed us before hand. Since its easy to sign up on the wiki, I had some reservations as to how many speakers will actually turn up. I was wrong.
3. Do Podcasts/vlogs if possible. Some sessions were so good I wished we could record them. There was definite value in capturing such events on audio/video.
4. Viral marketing works! The event got really good coverage on the blogosphere and even a few "A-listers" blogged it (we requested most of them but still...). I personally sent only a few emails. Most of the publicity happened through the blogs. In less than 3 weeks, we had over 100 people sign up.
5. It was a good move on our part to set a broad based but yet focused enough topic for the barcamp. It is better than having no agenda at all. This way the audience knew what to expect and that led to lot of meaningful discussion.
6. It might be a good idea to conduct a couple of round table discussions as well. We were planning to do that but then dropped the idea (there were too many sessions scheduled!).

Finally, a HUGE thanks to Adobe for hosting the event. They have an amazing office in Noida and to allow us to use it so liberally was just so not corporate like! My respect for Adobe went up by several notches!

I am hoping that this BarCamp was only the first one and we will get to attend many more in the coming months!

Live from BarCamp Delhi!

| 15 Comments

Its 9 AM and around 10 of us are here. Adobe office is pretty awesome. Sessions are broadly categorized in 4 sections - "Web 2.0", "AJAX", "Mobile", and everything else. We will kick off around 9:30.

I will try to update this post through the day.

Introductions done. Around 40 participants registered so far. Everybody described themselves using three "tags". How much more web2.0 can you get? :)

----------------------------------------
First Session - Ruby on Rails by Manik Juneja
RoR apps: basecamp, tadalist, writeboard, Campfire, 43things, odeo, Blinksale, numsum

Philosophy: Dont repeat yourself! + Convention over configuration

Models have data as well as business rules that apply to it (eg. validates_presence_of)

Row level operations happen at object level while Table level operations happen at Class level.

Dynamic method names??? find_by_first_name would automatically figure out that search is on column named first_name. Holy crap! How cool is that?

You csn define relationships for models.

ActionPack - two Ruby modules for V and C of MVC.

ActionView - templated based html rendering

Q&A
1. How do you integrate RoR in existing applications/database schemas?
A. It is possible but not as productive as starting from scratch. Default can be over ridden so definitely possible.

2. How do you install?
A. Check the website. It runs on Apache. IIS not recommended because of some issues.

3. What were the three projects you implemented in 4 months?
A. Drag n drop shopping cart, basic CMS, gaming applications

4. Performance?
A. Yes, there are issues because MVC doesn't scale.

5. Developing mobile applications?
A. Not sure, not my domain.


-----------------
Session 2: Making Magic Happen: Predictive fetching in RIA/AJAX by Jon B

Quotable quote: "RIA was a term first used by Macromedia to describe what you can do with Flash which is not annoying"

prefetching data as a cost v/s benefit tradeoff. Use metrics and real world usage data to determine what to prefetch.

I think it makes sense to capture mostly Q&A from now on. The slides will be available online anyway.

Q&A
1. Can we really use a heuristic based approach for critical business apps?
A. Sure you can. There is no harm in pre downloading business data because they anyway have access to it.

2. Its not really heuristic because its based on actual metrics.
A. Yes. Some sort of self learning system can be developed. (Interesting thought!)

3. Handling multiple simultaneous requests at the same time can be hard technically.
A. You bet!

4. Is prefetching really needed when there are fat pipes available?
A. In m experience pipes are never fat enough!

------------------------------------
Session 3: Flex

Why Flex?
1. Easy to learn and maintain the code - OOP model, flex builder based on exlipse
2. Easy to extend
3. Integration with legacy data sources
4. SDK free
5. Active community (flexcoders.org)

Q&A
1. (my question) All RIAs have this issue that the middle tier (and database) is essentially exposed as a web service. So how do I prevent somebody else from developing an alternate RIA using my middle tier.
A. The enterprise edition will have some support for that.

2. Usability of RIAs
A. Flex is a technology. Up to people how they use it!

3. How does client side JS/Ajax talk to Flash?
A. Kevin Lynch has a sample application on his blog which demos that.

4. Costs?
A. SDK will be free. IDE will not be free. Pricing TBD

We will have to split into two sessions after the next session. Both the tracks have really exciting talks. I am torn!

Session 4: Flex demo by Manish Jethani
Manish is developing a flex app live using vi on Wndows. Vi on Windows! Never seen that before!

Oh, this is reminding me so much of Avalon development I used to do in Microsoft.

Missed most of this demo but Flex looks cool. Must check it out!

There seems to be some cool Javascript support which I missed out on.

You can apply CSS to Flex apps. Cool!
-----------
Flickr feed is here http://www.flickr.com/photos/tags/barcampdelhi/ Rakesh has already posted a few pics.
-----------
Break for tea!

--------
baah! Jon had to borrow my laptop for using in the other conference room so I couldn't conitnue my live blogging. And then he couldn't even use the laptop. Oh well, at least I paid more attention to the presentations :) I am up next to next so i will stop again after this session.

---------
Session: Telecom infrastructure: Kunal Bajaj

65 million mobile connections in India. Growth exploded when rates became comparable/lower than land line rates.

India has lowest operating costs in mobile industry in the world.

Broadband - we havent seen same kind of growth as mobile. Early perception was that internet is not really needed. PC costs were very high. These kind of things drove early decision making at govt. levels. At some point, it was decided to learn from mobile growth story and apply it to broadband. Early perception was that broadband was elitist.

Broadband is relevant to developing nations: call centres, data processing centres are serving developed countries. Who will serve domestic industry? Distributed call centres based out of small cities using broadband. People get non-farm employment in rurual areas.

We need the infrastructure to be able tp pull it off.

Broadband also enables transparent dealings with the govt. More visibility.

TRAI identified 11 hurdles preventing growth of boadband. Check the slides.

Everybody is complaining that 256kbps is not really broadband by most definitions.

Kunal is displaying a yahoo isp ad in Japan - free high speed 50 Mbps, free ip phone, free WLAN router and whole lot of stuff for $35!!! Holy crap!

Korea - cyber community based apps like Daum, Freechal, Iloveschool are seeing a huge response. This has led to huge amount of e-commerce in Korea. Relevant for India as well as target audience is housewives in both countries. PC Bangs (cyber cafes) also led to PC adoption. Same is happening in India as well.
In Korea number of voip phones will over take POTS soon.

India will overake China in annual subscriber addition in 2006 itself.

Between India and China there will be 1 Billion subscribers by 2010.

What will be the predominant access device in India?
PC?
STB?
Mobile Phone?

Q&A
Missed it. Had to go to the restroom. When you gotta go you gotta go :)
----------
My session is up next. Will continue after it. It has been a totally awesome barcamp so far! Huge thanks to Adobe for hosting the event!

-------
Just finished my presentation. I think it was decently received. Entrepreneurship is clearly on the mind of many here. Laptop battery is running low so I might have to just sign off for the day in a bit. Hemanshu has live blogged my session here
--------

Session: Knowledge Management 2.0 - Manish Dhingra
This is something we are actually thinking of implementing in our company. Manish is introducing what structured blogging means. That is hard to describe but fortunately the audience is knowledgable.

What is knowledge management?
Learning and capturing knowledge gained from experience.
Not having to re-inevent the wheel
Code snippets, documentation, product evals, config. tricks. design tips etc.

Why KM?
- leverage organization's collective learning
- empower every individual by the knowledge of other indivs
- foster innovation
- learn from other people's mistakes
- increase productivity
- ease responsibility transition
- knowledge is power

"Wish you had told me this before.... I just spent 2 hours on a job that could have been done in 2mins" --- we have all heard that before. That is the problem KM solves.


Structured Blogging
- The process of adding structure to blog posts
- Customizable template architecture - so basically the KM idea is to customise these templates for knowledge articles

Manish is demoing SB plugin in Wordpress. I think that drives the point home very well. Extending SB to publish knowledge artifacts. KM artifacts correspond to microcontent definitions. Integrated search functionality. You get commenting for free. Use blogging system's "draft" feature for reviewing content before it goes into the KM database.

Q&A
1. How do you get people to distribute content?
A. Comments are a motivating factor. Reward systems can be implemented. Can be made part of performance review.

2. Google has its own approach adding structure to user content (google base). So how does SB get traction?
A. The need is there and the plugin is always available out there.

Missed some of the QA because I mispalced power cord for the laptop and battery went low. Interesting discussion around SB. Adoption is hindered because the search engines dont understand structured content yet. At the same time, blogging tools dont take it seriously yet because of the same reason. (my thought). Vicious circle!


------------
I am feeling terrible on missing out on some of the sessions. But there was way we could have pulled off 25 odd sessions without doing them parallely.
-----------

Session: SnapStream Media - Rakesh Agrawal

(my note) I am a huge PVR fan and actually used the trial version of BeyondTV. I am jazzed that he could make it to BarCamp Delhi!

Coincidence that he is here coz he had to attend a wedding in Delhi (free wifi also helped :) ) Rakesh is passionate about Delhi. His blog is "lambi pooch" which translates to "long tail" and sounds really funny in Hindi.
(my note) I am sitting with Dipankar and Anand, our IIT interns from last summer. They did serious PVR research for us last year and we are exchanging knowing glances. Rakesh is asking how many have heard of PVR. Well, we sure have!

Average American watches 2.5 hours of TV every day.

Rakesh is using a pre-release PC remote control called Firefly mini.

BillG demoed BeyondTV as part of XP launch. Cool!

I asked if Tivo came first, or BryondTV? Tivo came first. Tivo popularized the concept of PVR.

BeyondTV demo - slick UI using D3D. The EPG is well populated - (my note) that is the biggest problem in Indian market. "Smart Skip" feature lets you skip commercial breaks. "Show Squeeze" transcodes the video to different bit rates and file sizes. Subscribers can login to the website and schedule shows remotely.

Q&A
1. Legal implications of recording digital content?
A. That is a concern but it is legal for personal viewing.

2. image recongition, face recognition can create interesting scenarios for PVRs.
A. Yes.

3. In the indian context, PVRs can lead to large scale piracy.
A. Yes, I have been to Palika Bazar.

4. (my question) Why are PVRs still restricted to early adopters?
A. Awareness is not there. TV tuner card installation is a very tech. thing. Windows Media Center is increasing awareness and number of PC pre-installed with tv tuner cards.

This is the last session of the day.
-----------
Session: Personal Information Management with a twist - Nazim, Dipankar

Problem in current approach:
1. Individual oriented approach
2. No way to analyse accumlated data
3. Sync of data across individuals is difficult if not impossible

Why re-invent
1. Group based approach - group can be family or business contacts etc
2. Analyze collected data to predict schedules

Current PIMs
- chandler
- thunderbird/sunbird
- outlook
- evolution
Problem with all is that syncing data is not possible since data is stored on your machine.

What do we need
- online service
- store data locally
- sync data with online servers

Group based approach allows suggesting meeting times based on free/busy data of the meeting participants.

Concerns
1. Security - orkut has a model where u can choose what appears to whom based on relationship (friend, close friend etc)

Technology
1. Simple
2. Easy to learn and maintain

Python is the programming lang. being used to develop this system. Python has several advantages including large number of libraries, easy programmability, easy licensing models.

Using twisted network library.
Axiom object database for DB. Axiom is built on top of SQLite which doesnt scale well.
Mantissa appliction server built on top of Twisted and Axiom
Nevow is the HTML template toolkit
Postresql RDBMS

Offline clients
- firefox extension
- plugin to their favorite email/groupware clients

Web will NOT the primary interface for this. This is because analysis of data will be slow and web app might become unresponsive.

Q&A
1. (my ques) Why use these technologies considering that they are not as widely adopted as say, PHP
A. These techs. are actually quite popular. See KLive.

2. Store as FOAF?
A. Better to store in a structure that is more adaptable.
---------

So that was BarCamp Delhi! I am dead tired right now so I will write more tomorrow. But we can safely say that BarCamp Delhi was a success! :)

About this Archive

This page is an archive of entries from March 2006 listed from newest to oldest.

February 2006 is the previous archive.

April 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.