Google offers “rewards” worth millions… and thoughts on the Indian IT Industry

News.com reports that Google is rewarding outstanding employess with restricted stock options that could be worth millions of dollars. These awards, known as “Founders’ Awards”, were awarded in November to two teams, consisting of a dozen employees each. When the awards were given out, the stock was reportedly worth 12 million dollars!

Sergei Brin lists two motives for these awards: one, motivating existing employees to work harder, to compete for these awards, and two, to encourage (lure?) the best in the software industry to work for Google. The latter motive is particularly important for Google, considering it places such a high premium on hiring only the best of the best.

As another article reports, Google may be the last of the original “dot-coms”, companies with loads of “coolness”, genius and outrageous eccentricity. Here’s a photo feature on life inside Google. Very few organisations would invest so much in keeping employees motivated. Especially in the Indian IT industry. Even in the “big giants” in India, the way employees are treated in general is not at all encouraging.

The problem is that there are just so many IT professionals in the market (God, how I hate using jargon like that!) We’ve now begun to witness the “commoditisation” of the IT worker. I know at least one company that refers to its employees as “resources”. Some companies even treat them as such. Annual reports of a major IT services company gloated over the fact that “net employee utilisation” had gone up a few percent! This is apalling! About 3 years ago, being an “IT professional” was a matter of pride here in India. Now it’s just another job. In fact, the only people that even IT professionals can act condescending towards are BPO workers!

Perhaps the reason that we’ve reached this stage is that the Indian software industry seems content with doing low-end work. Yes, now matter how high we try to crawl up the “value chain”, we’re still performing low-end tasks. Why not try to be a member of the value chain instead? Why not try to own the chain instead? What I’m saying is that we need our industry to create products that the world uses, that the Enterprise depends on. Services on top of, or around those products will follow. World-class minds working for Indian companies won’t be able to translate their vision of tomorrow’s technologies, tomorrow’s business – into profit for India if we continue in the “services” rut.

On a partially-related note, I chanced upon an article in a national newspaper a few days ago, which stated that the attrition rate in the Chinese IT industry was very very low, almost one-fourth India’s. Now that isn’t too surprising, is it? Or even something to be concerned about. There are now so many IT companies here, in Mumbai, Pune, Bangalore, Gurgaon, that an IT professional who aspires for a job better than the one he’s doing, doesn’t think too much before quitting his current job and being hired by another company – the job market (yech! that jargon again!) is big enough for a competent professional to be offered a reasonable increment in salary by a competing firm.

Returning finally to my original rant, perhaps what we need is a mindset change, from services towards products. I’m going to post more on this belief of mine later. For now, here’s some food for thought: what we need may not be 4 or 5 Infosys-es, but 10,000 CalSoft-s. What think?

Microsoft Opens Up MS Office Document Formats

I wonder how this didn’t make Slashdot.

Microsoft has announced that it will make the file formats (specifically, schemas) for Excel 2003, InfoPath 2003, Visio 2003, and Word 2003, available for free download under a non-restrictive, free licence. Here’s the relevant part of the FAQ from the Office 2003 website.

Q. How do I get a license?

A. The license is available when you download the Office 2003 XML Reference Schemas from the Microsoft Download Center.

Q. Who can obtain a license?

A. The license is not restricted to particular individuals or entities. It is available for customers, governments, academics, hobbyists, and IT companies.

Q. How restrictive is your license?

A. The license for the Office 2003 Editions XML Reference Schema is patterned on licenses for various XML standards efforts and allows for broad industry use.

Q. How much does the license cost?

A. The license for the Office 2003 XML Reference Schemas is being made available free of charge.

Ostensibly, this is being done to get around new “open standards” restrictions being imposed by the state of Massachusetts, but other than this reason, the move defies logic. Microsoft already has a stranglehold on the Office Suite market, perhaps an even firmer one than Windows has on the Operating Systems one. This move will only make the OpenOffice.org project developers’ life much easier. No more reverse-engineering of file formats in order to play well.

But by merely promoting an open standard, and committing to it remaining free “perpetually”, is not going to generate revenue for Microsoft. Even most (if not all) users of OpenOffice, whether on Windows or non-Windows operating platforms, still save all of their files in Microsoft Office formats. How will this result in greater sales of MS Office, or in stanching the rise of OpenOffice?

Perhaps it’s the exact reverse – Microsoft has estimated that OpenOffice is not an immediate threat to its market, so opening up the standard will make no difference to its revenue through increased adoption of OpenOffice. Besides, opening up the standard also earns Microsoft goodwill from corporate America and state governments; it also earns it brownie points in its battle with the Open Source community and their backers, chiefly IBM, Novell and Sun. Finally, such a move also strengthens its claim of promoting open standards.

Whatever the impact of this move on the players invoved, in the end, the customer always stands to gain – either from an improved OpenOffice, or simply better file formats based on feedback from the technological community.

And all I can say to Microsoft is – Humph! It’s About Time!

Tomboy Rocks!

Most of this post is going to be about an application called Tomboy. Here’s where to get it from.

Just got Tomboy running on my ThinkPad a couple of minutes ago. It is an incredibly useful application. I use it all the time on my desktop at work to make TODO lists, to jot down ideas, to paste snippets of code, and other similar things.

The beauty of Tomboy is the linking between notes. Here’s how I use links:
I create a separate note for a complex task in my TODO list. So I might have an entry in Thursday’s TODO that says “Merge the FooBarBaz daemon sources for AIX and Solaris”. Now I have a few notes to make about this particular task, but putting them in the TODO list will only clutter the list. So I create another note in Tomboy, title it FooBarBaz code merge, and make the above entry in my TODO list a link to this note! Once you get used to doing things this way, your productivity increases exponentially! Of course, YMMV, but if it doesn’t work for you, you’re not quite in the same league as I am! ;-)

The other way I use linking is to link to documents. So I have an entry that says “Finish section so-and-so of the FooBarBaz daemon design doc”. After typingthat line, I simply drag the actual file from within Nautilus to the note, creating a link to the document from the note. So now, when I click on the link, the document just opens up in LeafPad! Wonderful!

Two other great features in Tomboy are viewing recently modified notes, and searching notes. These are of particular use when you have a lot of notes.

Returning to the linking part, Tomboy’s author Alex Graveley is working on support for linking to all Desktop Objects, including Evolution Todos and Tasks, appointments, email, IM Buddies, image previews, and playlists. Once done, tomboy will be a killer app for the Linux Desktop. No doubt about it. Imagine creating a note, dragging and dropping music files/playlists to it, creating on-the-fly playlists, merging, cropping playlists from within notes on your desktop! Writing email into a note and posting it from within Tomboy! Creating a task and adding it to Evolution! The beauty of this application is the ubiquitious prescence of a note on the desktop, the ease with which text within a note can be manipulated. We are only limited by our imagination as regards what is possible with Tomboy.

Actually, I ought to switch to SUSE Linux 9.2 Professional from Novell Linux Desktop 9. Although the latter is a fantastic piece of software, and currently ranks as my Number One Distribution, it doesn’t contains a lot of the *-devel packages that I need to compile and install a lot of software. I doesn’t come with Apache, or MySQL, or PHP… all of which I need for a lot of my work. Of course, Novell Linux Desktop’s not meant to provide all of this… SUSE 9.2 is the powergeek’s distro, so none of my complaints are against NLD 9. It accomplishes what it’s supposed to – being a full-featured business desktop, perfectly. Full marks to Novell for its great product line!

My (First) Home Computer Setup

First, the Hardware.

This is a really old PC – I bought it on 11th August 1998.

It’s a Pentium II running at 266 Mhz. In some ways it’s like a kernel that’s peen patched far too often. In other words, it runs the same processor as it always used to, uses the same cabinet, but has had so many components upgraded over the years, that it’s hardly recognizable as the machine that was delivered on my doorstep roughly 5.5 years ago.

Right now, it’s got three IDE hard disks: a 40 GB one from July 2002, an 8.4 GB one from March 2000, and the original 2.1 GB from August 1998. I’ve pumped the RAM up to 384 MB, up from the 16 MB it came with. The video card and sound card are both onboard.

The sound system is something I’m proud of. It’s a Creative something-something (can’t quite remember the exact name). It came with two satellite speakers – the 7cm x 7cm x 7cm thingies pack in a huge punch – and a subwoofer. It’s the smartest investment I made when I bought the PC. It cost a bomb then, but I’ve never felt the need for a separate music player – I simply rip all my CDs to my hard disk.

My only grouse with this machine is the 14-inch Samtron monitor. It’s served me beautifully over the years, but it’s so goddamn small! I’ve worked on 17″, 19″ monitors, have seen a 21″ one, and realised what a huge difference a large monitor can make to your computing experience. Even if I just traded in this monitor for a larger 19″ one, I have no guarantee that the puny onboard video card will support resolutions like 1600×1200 or higher.

Last year, I bought a 5 button Mercury optical scroller mouse. I learnt a few things from this purchase – one, even with the extra cost, always choose an optical mouse over a normal mechnical one. It’s way, way smoother, doesn’t get dirty and requires no cleaning, and can run on almost any solid, opaque surface. Second, the more buttons the merrier – but only if Linux detects them. The 2.4 series were unable to recognise the two “exotic” buttons my mouse has on the sides. Even xev wouldn’t record any input when I pressed these buttons. The 2.6.x kernels, however, instantly mapped my buttons to right-click and middle-click, which I was able to change later – to launch xterm and the IceWM start menu! Finally, a scroller is a godsend when you’re working with a lot of documents and code. Warning – a week with a scroller, and you won’t be able to use a normal mouse again!

Then, the software.

Well, with about 50 GB of free space across my 3 hard drives, what OS(es) do I run? Several, actually. There was this point in time when I was new to Linux – around early 2001 – that I wanted to try out as many Linux distros that I could get my hands on. That’s when I had upto 8 operating systems on those hard disks – and I didn’t even have the 40 GB one yet! Now, of course, my installed base is down to a sane two OSes.

This is how my hard disks are organised: The 40 GB one is entirely Fedora Core 1. There’s a 600 MB root partition, 7 GB /usr partition (these distros are getting SO bloated!), about 10 GB worth of “experimental” space, usually used to try out new distros, and finally, a 23 GB /home partition. (Update: I recently reorganised my hard disk the first time after I bought it, so the experimental partition is gone, /usr is larger, and /home is now 30+GB). The smaller 8 GB hard disk has Windows XP installed on it. The 2.1 GB one is a single large FAT32 partition. Now it’s been months since I’ve booted into Windows, so I won’t say much about it.

The following paragraphs will probably make sense to only those who have had some prior experience running Linux. For those among you still unfamiliar with the Wild Wild World of Open Source (read Linux virgins), the content that follows will provide you with a view into our crazy fevered minds, and perhaps offer an explanation to what makes us so attached to, of all things, software!

Fedora Core 1 is a wonderful OS. It’s in that sweet spot between, say, Slackware or Debian, and Mandrake or Windows XP. I don’t want my distro to try to do things for me that I’d much rather do myself. That instantly disqualifies the Microsoft family, Mandrake (though I rate Mandrake 8.1 as being a phenomenally advanced distro for its time), SUSE, and others like Lycoris, Ark and Lindows^H^H^H^H^H^H^HLinspire. I also don’t want to spend 25 hours everyday in the supposedly joyous experiences of constantly “hacking away” at your system (I do suffer from the occasional “hack frenzy”, though), “tweaking” it to perfection, and “optimising” it to squeeze every bit of performance from your hardware, making sure not a single needless instruction is EVER executed by the processor. So no Debian or Gentoo. (Mind you, I am, however, entertaining the thought of installing Slackware 9.1 or even Vector Linux on that test partition).

That leaves only Redhat’s offerings, which I’ve used since release 5.2. Fedora is good-looking out of the box, has system configuration files that are still easy to edit – as compared to Mandrake and SUSE, and has wide application availability. If there’s ever a small dependency to be satisifed, I know I can google for an RPM specially packaged for Fedora Core. I’ve been using it since it was released sometime in early November 2003.

My only complaint with Fedora is the HUGE installation size. Even a simple desktop system install will take about 2GB of space. Surely there’s no need for that much stuff? Since Redhat’s installer Anaconda doesn’t offer too much choice regarding fine-tuning package selection, I’m left with no option but to select a custom installation, and then check the “everything” box to install about 5.4 GB of stuff. Now I hear that Fedora Core 2 has a full installation size of 6.9GB! That is clearly unacceptable. However, I have no dearth of disk space for my needs, so I’m not too upset.

Here’s how my desktop environment’s made up:

I alternate between several window managers. My all-time favourite has to be IceWM, which I started learning to love, ironically, when I was using Mandrake Linux 8.1! IceWM is a minimalist window manager with a Windows 95 look-and-feel. It’s got a taskbar at the bottom, with a start menu, a system tray, and support for icons on the toolbar, like the QuickLaunch bar on the Windows 98-onwards versions of Windows. That’s where the similarity between Icewm and Windows ends, though. Icewm is meant to be very simple, fast and unobtrusive. It has a set of extremely simple configuration files to manage the menu structure, the toolbar icons, the keyboard shortcuts, and overall preferences. IceWM is often called the “impersonator”, for its excellent themeing support. With some work, it makes a credible attempt at mimicking Windows XP, MacOS 9 and OSX, even Solaris! For more detailed information on IceWM, here’s my IceWM page.

My current love is

Fluxbox, which is even lighter and minimalist than IceWM (Update – I’ve returned to IceWM!). For a newcomer to Linux, staring at a default Fluxbox screen is intimidating, to say the least. There’s only a small bar centred at the bottom, and nothing else. The applications menu is accessed via a right-click on the desktop.
However, just like IceWM, there are a few simple configuration files to edit: one for the menu structure, one for key bindings, and one for settings while Fluxbox starts. Fluxbox comes with a fair bit of documentation, and the key bindings are very flexible and comprehensive. More on Fluxbox on my Fluxbox page.

My terminal is xterm. I’ve heard that rxvt’s lighter. I tried rxvt – compiled and ran it, but it wouldn’t display man pages correctly. I’m sure that’s because I didn’t pass the configure script the right options before the compilation stage, but I’m too lazy to try rxvt again.

I’ve never felt the need for a graphical file manager often enough, to actually go hunting for one. On the rare occasion that I do need one, I take the trouble of waiting for Konqueror (strictly speaking, kfmclient in its filemanagement profile) to start up.

On the Internet applications front, I use Opera for browsing, though I still use Dillo for viewing local HTML pages. My email client used to be Evolution, but it was too large and slow for my liking, and I didn’t really need a lot of its very good features. So I settled on Thunderbird for my POP3 email, It’s attractive, easy to use, and is themeable. The only grouse I have, is that it’s not at all clear how to change the password for the incoming and outgoing mail servers for a particular account, in case you’ve entered it incorrectly. GFTP is great for all my FTP upload/download needs. In fact, this website is administered using GFTP.

For instant messaging, it’s GAIM all the way. A project that initially started out trying to build a Linux-based replacement for AOL Instant Messanger, has now grown into a full-fledged integrated IM client, with support for MSN, Yahoo!, AOL, ICQ, OSCAR, Jabber, IRC… you name it, GAIM’s got it – or will have it in the next release! GAIM’s plugin-based architecture makes it easy to add support for additional protocols. And your buddy lists are all integrated – you can either organise them by protocol, or group them into your own categories, independent of the protocol, or view them as a single list. You can also choose to have multiple chats open up as tabs in the same window. Like a well-behaved, standard-compliant app, GAIM adheres to the freedesktop.org’s system tray standard. This means it can reside in the system tray of any WM that follows this standard – that includes KDE, GNOME, Windows, IceWM, among others. My only gripe? No support for buddy pictures under the MSN protocol, where I have most of my buddies.

One tool I must mention is wget. This is a gem of a program – a command-line-based, scriptable download utility. It supports FTP and HTTP downloads, can be configured to download entire web sites (by functioning as a limited spider), can perform interruptible, recursive downloads, can read input from both the command line as well as from a file, can be run from within a shel script, giving you complete control over how it’s called and when… wget will suffice for all your needs. I use it to download entire distributions. I even used a single-line wget command to download the entire SuSE 9.0 distribution via FTP – all 4.1 GB of it, replicating the entire directory hierarchy. I’d call wget a work of art, nothing less.

For all my text editing tasks – whether its coding, writing email, or creating documents, I use GVim. I’d consider GVim as God’s gift to the Open Source Community. I am not going to get involved in the classic EMACS v/s Vi flame war, because my experience with EMACS has been next to nothing. What I will say about Vim (and GVim, its GTK+ port), is that it was designed with productivity, and nothing but productivity, in mind. Every single aspect of Vim’s usage is designed to maxmise typing speed and minimise finger/wrist movements. Looks and intuitivesness can take a walk. Vim is also configurable, to an extreme level. I’ve discovered dozens of keystroke combinations and configuration file directives, but I’ve barely scratched the surface of Vim’s configurability. Occasionally, I also use Nedit.

For listening to music, XMMS rocks! I’ve tried

Rhythmbox, tried JuK. Nothing is as fast and zippy as XMMS. I don’t need a ten-tonne behemoth for a music application which is going to play a 200-song playlist, minimised, in some far-off virtual desktop. My only grouse with XMMS is that it doesn’t write ID3v2 tags, though I think it reads them. That can be annoying at times.

For all other forms of multimedia – video CDs, DivXs, movies, it’s always MPlayer. MPlayer is another masterpiece from the Open Source commnunity. It can handle an astonishing variety of multimedia formats via its numerous plugins, has an optional graphical interface, and has keyboard shortcuts to handle all operations that would normally be performed via point-and-click. What I’m looking for right now, is an MP3 to OGG converter, which can do batch jobs. I also would appreciate pointers to an efficient ID3 tag editor. EasyTAG is good, but not good enough.

Finally Nero Burning ROM has a worthy competitor. Until recently, K3B was a CD-writing app which promised a lot but failed to deliver. No more. K3B has all of Nero’s features, and , I dare say, a more intuitive interface. I use it to burn audio/data CDs, erase my CD/RWs, all with a simple drag-and-drop interface. It remembers all of my drive’s settings – read speed, write speed, default ISO directory, whether to create multisession CDs by default or not, and the like. There’s an animated icon for the system tray which is black-and-white at the beginning of a burn job, and fills up with colour, clockwise, as the burn job progresses. In the true UNIX spirit of the GUI being a simple frontend, the actual task of burning is performed by command line tools that’ve been around for ages, like cdrecord and cdrdao.

Whenever anyone sends me documents in .doc/.xls/.ppt format (which I absolutely detest – I’m a big proponent of ASCII files), I grudgingly turn to OpenOffice.org. I’d use AbiWord/Gnumeric, but OO.org offers much better interoperability. It takes a lifetime to start up on my puny machine, though.

Really Old Essays

My (First) Home Computer Setup (Undated, but really old)

How Windows Power Users Should Approach Linux (3rd July 2004)

Technology For The Sake Of Technology? (20th June 2004)

Why LG’s Linux-based MyPC Failed (3rd February 2003)

The SQL Slammer Scourge – Letter to the Editor of the Indian Express (28th January 2003)

Rebuttal to Mr. Sanjiv Mathur, Head of Marketing, Microsoft India (27th November 2002)

India’s Problem with Open Source Software in Government (20th November 2002)

The popularity of Linux in India – Reply to I.T. Nation Business Review Questionnaire (3rd May 2002)