Friday, August 31, 2007

Please stop the aid

I was reading through the latest Scientific American issue, which is titled "Feast and Famine". It talks about the growing danger from obesity in developed (and developing) countries. It also talks about the problem of malnutrition in countries.

India falls in both categories. In a city like Bombay you can see both, quite often next to each other. There are overweight, obese people, walking right next to malnourished children. Actually, the overweight, obese people are more likely to have their driver take them home in an air-conditioned car, while the malnourished kid taps their car-window in the hope of getting some money.

The article "Still Hungry", by Per Pinstrup-Andersen and Fuzhi Cheng talks about the problem of world hunger. Unfortunately, this article is not free, but I'll write down the paragraph that goe my attention:

Internationally, policies and institutions need to do more to guide globalization for the benefit of the poor. Industrial countries should accelerate opening their markets, and the World Trade Organization should work closely with civil society and national governments to remove barriers that hinder the movement of laborers across borders, distort prices, impose unfair intellectual-property rights, and choke competition. The U.S., the European Union, and Japan have erected trade barriers against imports of food and agricultural commodities produced by poor farmers in developing countries. At the same time, they pressure developing countries to open up their markets for the products of industrial nations, including highly subsidized agricultural commodities. These practices are worse than hypocritical; they actively hinder efforts to reduce world hunger.
Quite something to think about!

It also reminded me a lot of the article "For God's Sake, Please Stop the Aid!", by the Kenyan economist James Shikwati. In it, James argues that development aid is one of the causes of the continued poverty in Africa.

With so much poverty and hunger that I have seen in India, I don't care about the troubles of the obese.

Friday, August 24, 2007

Yes!, for no. India rejects OOXML

Good news everyone. After much consideration, India has decided to vote "no" for OOXML. Infosys Technologies and CSI voted for Microsoft, and were the only two organizations supporting Microsoft. Everyone else was opposed.

You can get a sense of how important this is. It is featured on the front page of Slashdot, and made the front page of Reddit as well. Both these are technical sites, and looking at the comments, it is nearly unanimous that this was the right step for India to take. (Not that idle commentary should decide India's vote.)
Since my last two posts were about this issue, I am greatly relieved. Brazil also voted no for OOXML.

This is a big step forward for India. Standardizing on ODF will help focus our efforts on a single open format.

Friday, August 17, 2007

OOXML is bad for India

My previous post was about ODF versus OOXML. This one is too. In the previous one I might have put in too much information. This is an attempt to clear the matter.
  1. OOXML and ODF are document formats, like JPG and PNG are image formats. Open formats mean that anyone can write a program to read the file. Closed formats mean you cannot write a program to read the file. PNG is an open format, like HTML is an open format. Document formats are best when they are open.
  2. OOXML is Office Open XML, Microsoft's attempt to pass another standard. It is a competitor to ODF.
  3. ODF is already an ISO standard, and is already open, and already implemented and used by a variety of software.
  4. OOXML is NOT Open. There are many many technical reasons why it is almost impossible to implement it fully.
  5. India is forced to vote on the issue, and India's vote is important.
  6. Everyone who is in the business of writing Office Suites: IBM (which owns Lotus), Sun (which owns Star Office), Google (which owns Google Docs), and the Open Office team agrees that ODF is the superior format. ODF is already supported by many programs, some of which cost no money.
  7. China's IT experts are completely against OOXML.
  8. IIT Delhi is already on the ODF committee, and is strongly against OOXML. We don't know what IIT Bombay's view is, but my guess is that they are against OOXML as well. CDAC is against OOXML. IISc, and IIM-A are against OOXML.
  9. There is no "document war". ODF is already an open, ISO standard, and Microsoft refuses to follow along, and make its office software read and write ODF files. This is plain simple, bullying by a monopoly.
  10. Two standards for the identical thing are a very bad thing for consumers. Realizing this, US and South Africa have already stated that they will vote against OOXML. China is against OOXML as well.

Please take the time to write to the Indian delegation at ird@bis.org.in. Please be polite, and respectfully tell them that you are against OOXML. If any other Indian bloggers pick this up, I'd be grateful.

For technical reasons why OOXML is harmful to you, please see the previous post. For a quick slideshow about why OOXML is bad, please see Anand Vaidya's delightful slideshow.

Tuesday, August 14, 2007

ODF support: Express your viewpoints

(Importance to India: This might be a long post, so if you are curious about why this is important to India, skip to the end of the post.)

You are reading this blog due to the magic of HTML (or its successor, XHTML, an XML file format). The magic is that I don't know what your browser is, and it does not affect my selection of browser. Currently I'm using Firefox, but in the past I have used different browsers to view posts. It has not affected you. You could move your browser to Opera, Mozilla's Firefox, Safari, Internet Explorer, or even Links2, and you can read this website. In short, there is complete independence on your part when viewing my blog. It is the same with email. My mail program has little to do with your mail program. As far as we follow mail standards, we can communicate by email. In the past, I have used at least five different email clients, and yet the recipients of my email weren't forced to use my email program.

Shouldn't all documents be like that? When you mail someone a file, they should be able to choose which program they want to view it. I don't force you to use Firefox version 2.0.0.6 to view this blog, just because that is the browser that I use to create this. But if I use office documents, the same is not true. If someone sends me a Microsoft Office file, they must specify the program and the version used to create the file. This is why it is sometimes preferred to send PDF or image files, because they are standards, and can be viewed through many competing programs.

Office file formats (letters, presentations, spreadsheets) are very common, and these files need to be read by a majority of computer users today. It is easy for Government websites to put up applications and forms online, so you can download them, print them out, and fill them in the comfort of your own home. What used to take a visit to the local Municipal office can be done at home. So far, so good. But in the absence of an HTML or JPEG like standard, there is a glut of competing office file formats. The most common office productivity software is Microsoft's Office program, though there are competing programs like Open Office.

The Microsoft Office file formats are not open. There is no central information source which tells you how to decode them. Despite this, many volunteers have tried to figure out (and reverse-engineer) MS Office file formats. This is why Open Office can read MS Office formats. The reverse engineering isn't feature-complete, since only Microsoft knows what the file format contains. It is workable, but not something to rely on for large volumes of data. Further, as Microsoft continues to evolve the file format, the volunteers have to struggle to keep up. It is a slow and painful process, and not something that is a reliable solution in the long term.

The long term solution is to have an HTML like format for office documents. Then, much like this blog, you can use your favorite program to view the content. You can choose to use Microsoft's Office suite, much like you are free to use Microsoft's Internet Explorer to view this blog. I cannot enforce my choice on you. On the other hand, if you find Open Office to be better suited to your needs (perhaps because of its Hindi support), then you can choose to use that. The choice is yours.

This choice of program is different from the choice of file format. Right now, I don't have a choice of which file format to publish this blog in. It is HTML, no matter how much I might dislike it. HTML is an open format, and another competing open format wouldn't add much to mix. If you had two open formats, every office suite would be forced to implement both formats. After all, the content could be in either, right? This is not a useful choice. This forces the developers of Office suites (both MS Office and Open Office) to spend twice the energy in supporting two different file formats, which do the identical thing.

Currently in India, there is only one specification of the power plug. Everyone makes power adapters that fit this plug. When you go to the market, you don't have to ask if it works with the power socket at your home. Of course it does: that is what standards accomplish. They guarantee interoperability. A choice in power sockets and adapters wouldn't do any good. Every toaster would have to be made with both plugs, because then you aren't sure what socket the consumer has. It has doubled the work without offering the user any new feature. Of course, the consumer pays for this confusion, since that second plug costs money to put in every appliance.

This is even more true of document standards. There is very little to be gained in having two competing open formats. As far as the first is truly open, and can be implemented by everyone, the second only adds more work for software authors, and confusion for users. Today, if you were to push a competitor to HTML, there is little to be gained. After all, HTML already is truly open and well supported. Why force every browser maker to waste time supporting another format?

Currently, there is already an office format that has ISO certification. It is called ODF (Open Document Format) and it is already supported by a variety of programs. Even Google Documents supports exporting and importing from it. In time, every program willing to read and write documents can support the ODF file format. No more emails with "Please open the file in version x of program y".

This marks a departure from the backward world of proprietary formats. Secret file formats are what props up the lack of choice of Office programs today. While there is a large choice of browsers, there is comparatively little choice in Office productivity software, all because of the closed nature of the file format. The ISO standardization is a step in the right direction. It is a good step for consumers, since we can choose a program based on technical merit rather than its inside-knowledge of a secret. It is a good step for software authors, since they have to support one format, which everyone else can read and write. It is a good step for interoperability, since my choice does not constrain yours.

Microsoft has traditionally held on to the Office productivity market due to its proprietary file format lock-in. With the standardization of the file format, they stand to lose this monopoly. While they are free to implement the ODF file format in Microsoft Office, this will mean that they must compete on features and price, much like other software authors. If Microsoft Office truly was a superior product, they wouldn't have any problem with this. The trouble is that MS Office might just face some competition from Open Office, much like Internet Explorer faces quite some competition from Firefox. Open Office is a free download. Even though Open Office might not have all the features of MS Office, it has the most of the common features. Many individuals may choose to pay more for the advanced features that MS Office has, but that number may be smaller than the number now.

Enter OOXML, Microsoft's competing document format. Its name is Office Open XML, named for maximum confusion. I'll call it MS OOXML, to be safe. This file format is neither open, nor truly XML. MS OOXML isn't open because it has lots of pieces that depend on the behaviour of previous Microsoft programs, which only Microsoft knows. MS OOXML isn't truly XML, because it lacks definite specification of many features (like Drawings, etc). Without a clear specification, it becomes impossible to implement this fully. MS is pushing MS OOXML as a competing document standard to the existing ISO standard ODF.

Microsoft's efforts are a definite step backward. Remember the websites in 199x that would say, "Supported under IE 5.0", and you were forced to get IE 5.0 to view the website? This is the world that Microsoft wants to take us back to. The growth of alternate browsers has forced website authors to write clean HTML, instead of HTML with the proprietary Microsoft extensions. This has benefited every user of the Web, and every website creator. If the website parses as clean HTML, it will show up fine on every browser.

Mark Shuttleworth has a good post about this, and Rob Weir has a wealth of insight into this matter. The No OOXML website is stocked with good information, a list of delegates by country, and cogent arguments against MS OOXML. As always, Pamela Jones at Groklaw has complied a giant list of links about this issue. I am not affiliated with any of these organizations, and have no technical background in this area. I recommend reading the facts for yourself, rather than relying on my views. However, if you do have a view that conflicts with mine, I'd be happy if you post a comment.

So this is important for India, because India is on the ISO committee, and is a member that is forced to vote on the issue. USA, China and South Africa have resolved to vote against a competing document format. They are voting for a single file format, which is the right step. India's delegation can be reached at
ird@bis.org.in, and it is in every Indian's interest that they vote "no" as well. Please take this time to write a concise, professional mail to them, indicating why you believe that a second file format isn't a good step. Respect the delegates' time, but do let them know what your views are. If you aren't an Indian, your delegate can be reached at an address listed here.

Friday, August 10, 2007

Finally, it is over

SCO has lost. Nobody every doubted it, but it is good to see this finally put to rest. The long story short is that the court has concluded that Novell (and not SCO) is the owner of the UNIX name. Thus SCO cannot sue, because they don't own Unix. It is ironic that the work of Novell is what saved Linux. A really good day for users of Linux everywhere. Watch this chart tomorrow, though I wonder if it can drop any further.

I dislike your cooking

I love Indian food. I love Indian cooking. Most people I know are fabulous cooks (especially motherly Indian women with a child or two). Quite a few people I know make the best food I have ever eaten. This includes many aunts, parents of friends, and a lot of my friends.

With a small exception (roadside vendors in India are awesome), the greatest Indian food is at Indian homes.

But I cannot openly praise it. Especially when I am at the person's house, enjoying this delicious food. Can not praise it, for fear of being force fed.

This is how it works: In India, the guest is supposed to God-like. Even if guests like me look more like little hungry rascals rather than divine creatures. So the tradition is that every guest is to be offered the best food. This happens even if Indians move outside India, and this custom is out of place. I remember offering a repair-man some orange juice. Being an American, and a stranger to Indian customs, he was surprised. But it was a fairly hot day, and he was visibly relieved after a glass. Indians continue to treat guests in a special way, even if they aren't in India, or even if the guests aren't Indian.

So the standard is supposed to be to make the Guest feel comfortable at helping himself. No self-respecting Indian will complain if the guest has seconds or thirds, or focuses a little much on the sweet-dish. Often, Indian kids game the system by ignoring the main course, and focusing completely on the sweet dish. I know, I used to be one of them. Especially when I visited some aunts who were notorious for keeping the sweet-section well stocked.

But over time, the convention of politely allowing your guest to gorge himself has changed to a convention of force feeding him. It is not unusual for a guest to have to continue saying, "Oh I'm done. This has been too much." all throughout the meal. Since the host keeps asking you, you are better off starting out with a story of how you are already full, and cannot possibly eat much more. Then the hosts continues offering you food, knowing that you aren't done, and you continue refusing, while gently eating a slight bit. At no point must you admit you love a specific dish. If you do, a lot of it will be forcibly dumped on your plate. If you can finish it, more will be dumped. If you cannot, the host will quip, "Oh, you must not have liked it after all." The arms race is fierce. Especially to an untrained cadet like me.

If you eat too little, the host will complain, "Oh, you didn't eat much at all", "अजी आपने तो कुछ भी नहीं चखा". So that is a bad strategy because a good cook will feel their cooking was no good. If you eat too much, more will be placed on your plate, and you will end up stuffing yourself silly, "If you liked it, here, have some more", "आपको तो यह पसन्द आया, आप तो और लीजिए".
It is a disaster, of epic proportions, as you are next to all this delicious cooking, but you cannot help yourself. Wasting food by leaving it on the plate is a bad idea (host is offended), so you must finish everything. But if you have a bit more of the parantha, the host might pop some more on your plate. On the other hand, it was absolutely heavenly parantha. Got to risk it. A few people are good at this art. They start out with some fabricated story of how they are already stuffed from a previous meal or meeting. Cannot possible eat any more, see. Oh, well, I'll help myself to just one parantha to give you company at the table.

Man, what a mind-game!

I can remember many settings where I would have loved to eat some more, but the game didn't let me. Or where I wanted to tell the person that she (usually Indian women are remarkable cooks!) was one of the best cooks this side of the Himalayas.

At the other end of the exchange, I've been told to be a better host. Offer stuff to everyone. If they say "no" the first time, continue offering. They're just being polite. They're too polite to say yes, why don't you dump some on their plate anyway?

Ever seen Indian gatherings, where the host has a spoonful of stuff positioned dangerously on the guests's plate, and the guest has both his hands blocking his plate.

What has the world come to!? I much enjoy visiting my friends, who are also very good cooks. Just so I can be honest with them. People my age are less trained in this warfare. I can be open with them. I can tell them that I love their chicken curry, and they should watch me dive in a third time. Or that I'm really hungry, having ignored both dinner and breakfast when I was told that they were cooking chicken curry.

Hey, I'm only human. Not a God.