Saturday, July 29, 2006

Math. @ Orkut

Two days back I was visiting some communities on Orkut, and I came across the Mathematics community. I was surprised to see the number of members it had. Roughly 36000! This is much more than many other communities on Orkut. I was really excited to know that so many people on Orkut are interested in mathematics.

With a single mouse click I joined the community and found lot of interesting posts. Posts mainly consisted of some problems and puzzles, plus some doubts and clarifications. The diversity of problems in these posts is awesome. They cover a wide range of topics (algebra, number theory, calculus, geometry, and many others) and the level of mathematical skill needed to appreciate them is from a high school level to the undergraduate level.

I tried solving some problems and puzzles and it was really excited. Perhaps it rekindled the fire of mathematics in me. Thanks to all the members of the community. Especially I enjoyed clarifying the doubts of many members regarding basic algebra and calculus. Lot of people are specially confused with limits and infinity (and other such mathematical beasts).

I also posted some theoretical problems and introduced some nice topics. This community is going to keep me busy for ever. Every now and then a problem props as a post in the community and there are many which I am not able to solve. In such a case looking at the solution by others and appreciating them is also worth it. Its been two days since I joined the community and I didn't feel like visiting any other site in those two days.

And the best part of it, I made some good friends on Orkut because I was way impressed by their mathematical skills. If any one of you out there is interested in mathematics please join this community and enjoy the thrill.

Saturday, July 15, 2006

PDF War

In one of my previous posts I mentioned about the clash between Adobe and Microsoft over PDF creation functionality. This post can be taken as a sequel to that and I am going to delve deeper into the reasons for this clash.

First of all let us talk about the PDF file format itself. PDF was created by Adobe to primarily meet the needs of printing industry. And to that end PDF is the best format available. But that is not the only reason for its popularity. One of the primary reasons for PDF becoming a de-facto standard is that Adobe distributes the PDF reader free for almost all popular operating systems. The PDF reader is available even for mobile devices now. Moreover the visual appeal of the Adobe Reader is so captivating that you would never try to read a document in other formats once you have read it in PDF format using Adobe Reader.

I keep almost all my documents in both DOC and PDF formats (DOC for creation/modification and PDF for reading). The only reason I read those files in Adobe Reader is that their fonts and diagrams look great in Adobe Reader and its an like an awesome experience reading the PDF. If suddenly Adobe Reader vanishes from the world and I have to use other free PDF readers then I would simply throw away the PDF format into trash can.

Apart from the visual experience of Adobe Reader the PDF format offers the feature of bookmarks and hyperlinks which enhance the reading experience. MS Word also offers these features in DOC format but sadly it lacks a bookmark pane on the left (which is the most useful navigation mechanism used in Adobe Reader).

If you were to read a PDF (say an eBook of 600 or more pages) without bookmarks and hyperlinks you simply would not have the courage to do it. Most of the PDF users thus have a need to have PDF files with proper bookmarks (like table of contents in DOC file). This is a need which is satisfied by Adobe Acrobat which can create PDFs alongwith bookmarks and hyperlinks. Acrobat has other lot of features, but those features are rarely used by the average user.

And in terms of creating bookmarked and hyperinked PDFs, Adobe Acrobat is still the No. 1 software, leave aside the memory problems and code bloat (Acrobat PDFMaker does have a lot of bugs and sometimes it does not create proper bookmarks or leaves some diagrams but these can be removed by editing the PDF in Acrobat). So most of the customers pay for Adobe Acrobat (they pay a really hefty price $450) only to have this bookmarks feature.

Then comes this "Save as PDF" feature in Office 2007 beta by Microsoft. And it has this damn bookmarking feature also. Wow! Why would anyone ever buy Adobe Acrobat when one can get a nice bookmarked and hyperlinked PDF out of the DOC file for free? Microsoft created PDFs much better than the Apple's MacOS or the OpenOffice office suite. The PDF generated by MacOS is actually a plain PDF generated using a printer driver. Its a simple utility similar to the PS2PDF uliltity in the Unix world.

That's the primary reason why Adobe is too concerned by the Microsoft move. None of the earlier alternatives to Acrobat created such nice PDFs. Microsoft for the first time has given a serious competition to the Acrobat suite. Adobe somehow wants its monopoly on PDF creation.

Adobe is saying that Microsoft might abuse PDF by adding extensions to the format. But I don't buy this. Why would they add an extension which will not be supported by the de-facto Adobe Reader? I don't think Microsoft will extend the PDF and write a custom PDF reader for it. Even if they tried to make a PDF viewer they would not be able to beat the visual appearance of Adobe Reader (if they were able to, then they would have added the visual appearance in MS Word itself so that no one would have to convert from DOC to PDF in the first place).

For now I would wish good luck to Microsoft guys for their PDF creation and hope that Adobe learns that it would be a gross blunder to sue Microsoft for PDF creation.

Sunday, July 09, 2006

Rise of Double Standard

When I stepped out of my home for the first time during my college, I had a chance to meet people with different backgrounds (and different cultures too!). The hostel life in college provided ample opportunity to interact with people of various sorts and I began to understand that there is a world beyond books (earlier I was much engrossed in my studies and did not care to interact with people except some of my friends) which is far more intricate and complex and the laws of this world are much more complicated than the simple laws of physics I studied in my school.

After leaving the college I moved to a company to work as a software engineer and I am working there at present. From the college time till now I have met many people of a peculiar kind whom I can describe by the phrase "people of double standards". This does not refer to people "who don't practice what they preach" as you might have guessed, but I would like to use the phrase for people of a more sinister kind. Their evil lies in the fact that most of the people do not recognize them as so and their nature is safely cloaked from view. Their double standard nature is very subtle.

I am referring to people who handle their personal relationships in an entirely different way compared to the way they handle their relationships with the outer world. They behave very nicely in their friend circle, enjoy their time outing with friends, have fun in parties, always have an smiling face and ... (many other features which I leave you to ponder). Viewed this way they look like almost moral/cultured/civilized people.

But when you dig deeper into their lives you find that these are the people who take government official for granted, bribe them to get their work done, break traffic laws and get away with it, evade taxes by using fake bills. They are the people who use their friendly look, appeal and communication skills rather than their work to succeed in their professional life. They deal with the government or strangers in an entirely different way. These are the people who blame government for any damn problem and I guess they would be no better than the current president or prime minister if given the chance.

If they are corrupt in whatever small dealing they have a chance, then they have no right to speak about the government in general. A government is nothing more than a bunch of people elected by us to govern the whole country. And they are no better or worse than the people electing them.

What I really find puzzling is that these people look so nice and good natured in their friend circle. They celebrate birthdays, farewell, exchange gifts, help their friends in need and do many other things expected from a responsible person. I don't understand why the same good nature is not preserved when they deal with the government.

These very people blame the government or the system and speak in such righteous terms that I find myself unable to speak against them. Why does their righteousness vanish in some circumstances? They come from very respected backgrounds and families, have very good education and damn good salaries. They don't need to behave in a corrupt way but they still do.

Let me give you a real example. There was some sick fellow in government ministry who introduced the bill for reservations in educational institutes for OBCs (other backward classes, the term in relevant only in Indian politics). Now that was really a bullshit idea to gain votebank in future elections. There was huge uproar in the country (mostly northern states) against this. Prime example was the strike by resident doctors/students of AIIMS New Delhi.

There was this forum called "Youth For Equality" which you could join and protest against reservations. I did not join them but wished them good luck because they seemed to fighting for a good cause. The government agreed to increase the number of seats so that the people belonging to general (unreserved) category would not suffer. But doctors from AIIMS were not satisfied. The real reason that they don't want more seats is that less number of seats will mean only few good doctors and hence large demand and large salaries for them. (By the way they are right, look at the salaries of engineers because of their increased supply in the country).

After the strike ended the government decided not to pay the resident doctors for the time they were on strike, which I think is perfectly moral. You cannot get paid for doing nothing. These doctors went to Supreme Court to fight against this decision. I lost all faith in them and their protest for a noble cause.

The government and the people who were protesting in the name of "Youth for Equality" seem equally corrupt to me now. Only the effect of government corruption is visible on a much larger scale. If one of these protestants gets into the ministry he will do no better for the country, probably he will do worse because he is much more educated and smart than the current ministers.

To summarize in somewhat philosophical terms, there are people who have a real desire to get the unearned and at the same time they want to be respected as moral citizens which is quite a contradiction in terms. The desire to achieve unearned in matter as well as spirit is the real cause of the Rise of Double Standard.

Friday, July 07, 2006

Tabbed Interfaces

Tabbed interfaces were a major revolution when they first appeared on UI scene. From then on, practically every configuration/options dialog became tab-based. The fundamental feature of tab based interfaces is that they can present to the user a number of dialogs together without cluttering the screen.


Tab-based interfaces are inherent in the Windows Taskbar design although the task bar is a complicated sort of interface. Until recently tab-based designs were used only in dialogs and no one thought of making any other use of them (similar to taskbar). Not even Microsoft!

But then appeared Opera on the scene and it changed everything. This was the first browser which introduced the concept of tab browsing. The individual web pages would open in different tabs in the same application window. This saved a lot of precious space on the taskbar. Try opening 10 web-pages in 10 different IE 6 windows and the taskbar gets cluttered (OK! You can group them into one task bar button, but that's another story).

Opera went further and introduced the whole desktop interface consisting of a taskbar kind of interface. You could minimize/maximize individual web pages into opera window itself. Before opera the standard for such applications was the MDI (Multiple Document Interface) championed by Microsoft's MFC. Most of the Microsoft's applications use the MDI when they need to open many files in the same window.

The fundamental problem with MDI is that at a time you can see only one file and there is no way to know which other files are opened by the application. Going to Window menu or pressing Ctrl+Tab many times is a pain. Some applications introduced something like a Document Selector Dock to see what all documents were open and to activate one of them.

Document Selector And Tabs in TextPad

But the tab-based applications like Opera brought a new level of user-experience previously unheard of. Then came Mozilla Firefox and the tab-based interfaces won over the MDI. With Mozilla Firefox getting a lot of publicity people (including me) got so addicted that now they were many tab based applications. Most text-editors (UltraEdit, TextPad, Crimson Editor and recently Vim!) began to use tab interfaces to allow users to edit multiple files simultaneously.

For me, as a programmer, it is absolutely impossible to do without a tab-based editor. So I tried a lot of editors, but none had the power of Visual Studio. And I hated the VC++ 6.0 MDI. Luckily Microsoft released VC7 with tabbed interface and that was great. They even went further and integrated the Web Browser control into it, so that apart from opening C/C++ files you could open web-pages in one of the tabs.

So in a way Microsoft provides us with tab browsing feature. I wonder why they did not update IE 6.0 to have this feature natively (now they are forced to do that in IE7, thanks to Firefox!). Going back to VC7, I would like to add that including the web browser control is such a great feature that I need to show you some snapshots of it (snapshots are actually from VC8 Express Edition - but VC7 is also similar):


Here you see a PDF file opened in one of the tabs (using web browser control and PDF ActiveX control) and another CPP file in a different tab.


Now you see the CPP file. And in next snapshot we have two PDF files into two different tabs and a CPP file in third tab.


The point I wish to make is that using the recent version of Visual Studio, one can use the tabbed interfaces for even those applications which rely on MDI (like Acrobat Reader/Writer). All you need is an ActiveX control for displaying that kind of document in web-browser. You ask what's the big deal? One can open multiple PDFs in Mozilla Firefox in different tabs. Hey, but you cannot edit C/C++ files in Firefox.

So for the programmers, VC7 or VC8 provides code editing plus document viewing in the same application. Side by side you can look into your design/specification document and implement your stuff in another tab. That's really really useful.

I am waiting for the day when the MDI becomes obsolete enough that we even have MS Office applications and Adobe applications with tabbed interfaces. Many many thanks to Opera and Mozilla Firefox developers who started big with their tabbed interfaces.