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)

How Windows Power Users Should Approach Linux.

3rd July 2004

This essay is a result of an email conversation I had this week with one of my juniors from my alma mater, K. J. Somaiya College of Engineering. This guy, Prasad, is what one would probably call a Windows “Power User”, meaning he’s used, tweaked, programmed in Windows for the past few years. He’s the kind of guy ordinary people turn to when their “computer is broken”, and no doubt his friends (all Computer Science undergrads) ask for his help too. Now, he’s giving Linux a try (I guess power users get bored of Windows too, some day!) So he borrowed my set of Fedora Core 1 CDs. The other day, he sent me (and his friends) an email, which I have quoted below. Please note that this email has not been edited by me in any way.

Anyway, it was the most honest evaluation of a Linux install/preliminary configuration I had ever read. Perhaps that is because I knew the reviewer and his skill level personally. Towards the end, he also included some humorous and sarcastic ‘advice’ to his friends, who were still Linux virgins. In my reply to his email, I commiserated with his genuine complaints, offered solutions and agreed with him when he pointed out Linux’s (specifically, Fedora’s) good points.

When I finished my reply, I realised that he, like all such potential converts to Linux, approach the whole phenomenon of Linux in a wrong manner, with the wrong mindset. They look for in Linux the exact same things they were used to in Windows, right from installation, to the desktop, to the tools, to additional software. That is why they are put off by partitioning, multiple desktop environments, editing configuration files – because they never have any of this in Windows, and are equally enthralled by the “built-in” security, eye candy, the included software, even tabbed browsing – again, because Windows never offered them these luxuries. I concluded that this is because they know nothing of the Linux “culture”, have had no exposure whatsoever to the Open Source Community, have never known that there existed a UNIX hertiage, a UNIX culture – all in all, the “Tao of Linux”. Only when they imbibe all of the above will they ever feel comfortable with using Linux on an everyday basis. They probably have to “unlearn” Windows, to an extent.

I continued my email, then, with my advice to him on how he ought to think of Linux itself, and using Linux, differently from Windows. As I wrote in the email, I “poured my heart out”. It was spontaneous – I had not thought about it, not jotted down points or organised my thoughts – but what resulted was a surprisingly lucid and hard-hitting piece of literature that seemed to convey everything I had wanted to tell the dozens of people who had asked me for help on how to “use Linux”.

Here is Prasad’s email, and my reply to him. Do let me know what you think of it.

Hi Rahul and others,

Please read on and reply with your views or experiences.

Why am I writing this in vi?

A few days ago I got my hands on Fedora core 1 installation CDs. As per the tradition I installed the brand new Linux system and started working on it. The first thing that I always have to do after installing Linux is adding my windows drives to automount by edition /etc/fstab. I wonder why has Red Hat not come up with something that automates this procedure as only a fool will install Linux onto the PC without any windows version (Only Mandrake 7.1, I guess…., does this identification and auto mounting of windows partitions for you.). After completing my traditional installation configuration which cannot afford to include luxuries like KDE as my system runs on a 64 MB RAM chip and with onboard 16 MB video memory, I happily logged onto my brand new Linux FC1 machine. It is always nice to listen to some music when you are really happy. What the heck!!! Xmms does not support mpeg anymore due to some licensing problems blah blah blah….. This did not surprise me though, as after every fresh Linux install I always wait for something shocking (In some earlier version they completely forgot to include xmms…..). The real fun comes after this…..

I needed text browser for some reason a few days later. I had to install it using add/remove applications in the control panel as it was not included in the basic installation schema. I also thought of adding a few more applications like mysql which is surprisingly not included in basic database support by default, etc. I selected approximately 25 new apps. to install and 5 apps. to remove. Now before you read next part I want to first give you a few tips and tell you about a few mistakes that people always do and then later curse innocent Linux developing team.

Always see to it that you have plenty of time to do any system changes or installing Linux
for that matter as some unforeseen situations may arise which even linuxers (this term a references those people who claim to have a very satisfactory working experience with Linux) cannot explain. It took me 4 iterations and 3 days to install a basic Linux configuration on a PC in my college (Ah college PCs…..Always problematic. Isn’t it?). Every time some a new error message would flash on screen (that too after 25/30 minutes when the installation is almost complete) informing me that I am a fool and don’t know even the basics of installing an OS and that perhaps I should read a few reference books before trying something as adventurous as this. In an other incidence the installation simply refused to detect the extended secondary memory on my friend’s computer. The poor fellow did not upgrade his BIOS and so his BIOS could not detect the newly added 40 GB HDD. Windows though did not even complain of such a problem(Ah, these windows guys……I dont know how do they manage to be that over smart). Apart from these minor things Linux installation is fairly simple and even a novice could manage it.

Take a few hours’ rest before attempting to upgrade a Linux system.I will explain this later…but probably this is the most important tip as otherwise you may end up losing your beloved PC or have a nervous breakdown.

Forward this to everybody you know and ask them to please reply to me if anyone has any answers.

Now the rest thing. I selected all add/remove applications, put FC1 CD in my CDROM drive and decided to spend next half an hour watching Indianapolis GP as system was being upgraded. As this thought struck my mind my CDROM drive ejected and a message flashed on my screen indication to put the 2nd FC1 CD to continue installation. I was amazed at the speed of upgrade and thought of first completing the upgrade (as I thought it would take 5 minutes more at this speed) and then watching schumi. I was correct I guess, in less that 15 seconds my CDROM drive ejected out again and a message informing me to put in FC1 3rd CD into the CDROM drive to continue installation. Frankly speaking I was impressed by this upgrade speed. I put in the CD for upgradation to finish and again the same thing happened. My CDROM drive ejected out and a message informing me to put in FC1 1st CD flashed again. Believe me people this fun continued for next 20 minutes and involved at least 12 ejections and reinsertions. I have nothing more to say….Have Fun. the only question to be asked here is “Why am I writing all this in vi?”.

Prasad R. Shahane.

My Reply

Venky (Prasad is known as “Venky” in college; why is a long and irrelevant tale: Rahul) – please forward this email to all those to whom you sent the original email – Saket, Alhad, Mandar et al. I am not certain if they want Linux-related emails from a senior in their inbox directly!

UPDATE: I have not sent you any of the attachments I have talked of in this email – apparently your account is over quota, my original email was returned. Please clear up your acct, or give me some rediff address, so I can send you 1,) the IceWM article, 2.) The Art of UNIX Programming. For now, read my email:

Hi!

I am thrilled to read such an honest evaluation of a Linux newbie’s attempt to get a working Linux install! I am so used to the sheer indifference and lethargy that my classmates/seniors showed towards Linux, it’s refreshing to find juniors who at least take the first tentative steps towards trying Linux out. Please read my opinions on this below. Remember that I am not trying to defend Linux’s shortcomings – as an experienced Linux user, I am only too aware of them!

Installation Pains:
Well, everyone goes through this kind of trouble when they’re starting out with Linux. Venky, let me tell you that you’re very lucky to start with FC1 – Think of the 6 months that I spent unsuccessfully in trying to get my graphical configuration working with RedHat Linux 5.2 in May 2000!

Windows partitions:
Come on, Venky – during the partitioning procedure, did it not occur to you to mount your Windows partitions then and there? Just click on your Windows partition, choose the “Leave Unformatted” option, and mount it as /mnt/win2000 or something. That simple! In fact, this is an advantage over Mdk as Mdk chooses complicated names like /mnt/hdb1 or similar. This is something that any linux newbie with basic concept of mounting will get!

MP3 Support:
OK, the exclusion of xmms in previous versions (was it RHL 7.3?) was a blunder. The RHL team acknowledged that. And the exclusion of MP3 support in all subsequent versions of RHL/FC is a real pain. At least they should include clear instructions on how to download/install the plugin, rather than some bombastic statement about licencing issues that the end-user does not give a shit about. In case you haven’t figured out already how to install the plugin, here is the rpm:

http://dag.wieers.com/packages/xmms-mp3/xmms-mp3-1.2.7-0.rhfc1.dag.i386.rpm

As root, type rpm -Uvh xmms-mp3-1.2.7-0.rhfc1.dag.i386.rpm

KDE? GNOME?
Venky, with your kind of PC configuration, I think running a full-fledged KDE/GNOME desktop is out of the question. Perhaps you should try IceWM. Maybe use XFce. Find my XFce article at http://www.osnews.com/story.php?news_id=7002 . I have written a comprehensive article on IceWM, which I am still in the final stages of editing. I’m sending you the HTML page as attachment. Give it a try.

Use Mozilla Firefox instead of Mozilla – find it at www.mozilla.org/products/firefox . Use xterm instead of konsole/gnome-terminal. Use the command-line instead of konqueror for browsing the filesystem. Do research on using applications which use low memory instead of the default ones. Use a tiled wallpaper – the ones found in /usr/share/backgrounds/tiles/Propaganda – they are good ones. Finally, log into your graphical desktop using runlevel 3 + startx rather than boot into X directly (runlevel 5). Saves the memory of maintaining the Login Manager. Turn off all unwanted services. There is so much you can do to conserve memory! I am writing an article on this too.

As far as your repeated insertions/ejections go, this is a truly hilarious situation which I have never encountered – but really funny! What I normally do, is to copy the contents of all 3 CDs into one directory hierarchy on my HDD (kya yaar – 40 + 8.4 + 2.1 GB ke teen hard disks hain). then if I want to install say mysql, I cd into that directory, and type rpm -Uvh mysql-.i386.rpm. It usually fails, giving me a list of dependencies which must be satisfied. I then install them from the same rpm cache, and lastly install mysql. No, it is NOT time-consuming – it is much quicker than add-remove program.

Finally – why are you writing this in vi? Hmm – could be because you haven’t got your graphical system to work yet? But you would have mentioned that. Why not use Kwrite/Kedit/Gedit/Kate/Nedit? Hmm – nope – I can’t answer!

After replying to your email, I want to give you – a person who is an experienced, “power user” of Windows and is now giving Linux a try – some advice. Almost none of this advice is technical – most is psychological. Read on, and share this with poor Saket before he becomes totally anti-Linux!

Do not ever approach Linux with the mindset that everything will be the way it was with Windows. You might have the same sort of desktop – start button, menu, wallpaper, Control Panel, and so on – but underneath all that it’s still UNIX. Linux is fortunately/unfortunately still a techie’s OS. It needs experience before you can use it as a normal desktop OS. I began to use Linux full-time only 3 years ago – a full 12 months after I gave Linux a try. Till then I was constantly dual-booting, most of my data on Windows.

Approach Linux with a mindset – this OS is going to help me understand my computer better. I am going to learn about how an OS functions. By this I don’t mean learn about the scheduler/filesystem design or interrupt handling – not the kernel level – we learnt that in Engg. But we totally ignored the user level. For example, the entire booting-up procedure. We take for granted that we have the NT Boot Loader that will present us a choice of Windows OS, we will get a pretty graphical screen and soon a desktop will appear. How? Why? We will never get that chance with Windows. But with Linux, we first see /etc/inittab to see what file the “init” process looks for (rc.sysinit), how each service is started (you know services exist in Windows NT/2K/XP too) – in Linux that is via the “rc” script. Look thru these files, make simple changes, observe how stuff works – enjoy the experience of just exploring the OS itself. Even after 4 years and two months of first using Linux, I still discover new stuff EVERY DAY. Change your mindset – the moment you find a graphical utility to perform a task, say to yourself – I am going to find a way of doing this via the command-line.

See, UNIX (on which Linux is based) was designed by utter geniuses – Thompson & Ritchie – in 1969. From that time till today, the user-level OS has remained relatively unchanged for 35 years. Think of the hardware that was available in 1969 – the first PC was still 12 years away!! So the design decisions made by the two were so technically sound that they are viable even today! I want you to read this article (mini-book?) by Eric S. Raymond, one of the most respected figures in the Open Source Community today – “The Art Of UNIX Programming” – it’s already a classic. I have sent you a tar.gz of this book (taoup.tar.gz) . Read it – it is one of the most important texts you will read – far far more important than engg. notes!!

Given this craze for Linux, soon everyone is going to start offering courses for Linux, and many will then know how to install Linux, and use KDE + Mozilla, and connect to the Internet and so on – but is that Linux? No! We have not even scratched the surface! Using Linux like “another Windows” is stupid!! People will say there is a “trend” towards Linux, Linux has “scope” – say bullshit to all of this. Linux may or may not become the world’s most popular OS, it may or may not destroy Microsoft, but one thing is for certain – people who have truly “understood” Linux and the UNIX philosophy become the best computer professionals. Why do you think IITs and Universities abroad use Linux/UNIX throughout their campus? Because it’s cheap? Nonsense. In the 80s and early 90s, when Linux was not viable, univs purchased expensive UNIX licences. Why? Were they mad? No! The only way to teach true Computer Science was to expose students to an OS they could “play about with”, not something which is shut, sealed, packed and where a company decides how YOU should use THEIR OS. Please- I am not bashing MS – but it is true. How much can you learn about Windows by using Windows? Nothing! Windows does not have a heritage, Windows does not have a culture, Windows does not even offer any incentive WHY you should attempt to find out more about it in the first place!! That is why the first question that must be popping up in your minds is “Why do I need to know about my OS in the first place?” You will find out.

To Saket I say – try and try till you succeed – take it as an insult that you cannot get Linux to work on your computer. It is an insult to your skills that Linux refuses to install. Do whatever you can – even upgrade your BIOS – it can be done via DOS (go to your BIOS manufacturer’s site, download the exe, make bootable floppy, and run the exe from the floppy.) It is risky, but I have done it twice and nothing untoward has happened. You have a non-standard monitor – find your monitor specifications, edit the XF86Config file. You will never know about the X Window System if you want to stay hidden behind pretty graphical tools all your life. Sooner or later some “Computer Institute” will teach its students these tools – after all they are in the menu.) But what do these tools do and how? No one but you will be able to answer. Don’t have XConfigurator? Go into Windows, download the rpm or even source (actually source is better), reboot into Linux, compile it yourself, run it and get your monitor working.

You must have a sound technical knowledge of whatever tools you use. Trust me – Mihir’s and my knowledge of Linux has helped us on many occasions when we were giving job interviews. They really quiz you on such fundamental matters in computing that you realize that without a thirst for knowledge about UNIX, it will be very difficult. The fact that you are so experienced in Linux also gives you an instant edge over others.

Finally, I come to the programming side. I have used VB 5 extensively and VC++ 5 a little, in 1998/99. I know intermediate VBScript. So I do have experience of programming on Windows. Since 2000, it has been nothing but Linux. Believe me when I tell you that the programming environment on Linux – vi/emacs + gcc + make is the BEST way you can learn about project management, about good coding practices, about programming techniques, about how your applications should interact with the environment – because you don’t use all the advanced features that VStudio offers you. You are “on your own”. When you are a student, there is no use learning “industry standard” tools. These can always be picked up later. But no one is going to teach you the kind of things I have mentioned above. These are things you are supposed to learn in your undergrad education. But are we taught them in Mumbai U? Never. How else are we going to learn this? If we use VB/VC++ where automatic memory management, garbage collection, easy-to-use APIs are given to you, along with drag-and-drop interface builders, when are you going to learn ACTUAL programming? Surely you should be able to allocate/free/keep track of memory on your own. Surely you should be able to do low-level I/O, use actual system calls, to build your own interfaces (command-line or otherwise). Do it the hard way now, you will be KING when you have such a solid base! LEARN TECHNIQUES TODAY, TOOLS TOMORROW.

After pouring my heart out to you, I end this email. Apologies if I bored you. But you see, I never had seniors or classmates who were computer enthusiasts, who truly loved computers, who saw computers as tools, not just machines. You guys – Venky yourself, Saket, BP, maybe Akash, Alhad… are like that. The only hitch is that you have used computers/technology extensively, much more than your peers, but have not bothered to learn more about the tools you use. Maybe I am wrong, but that is the impression I got.

Anyways, hoping to hear from you guys.

Rahul.