Thursday, April 24, 2008

Book Review #3

The Scarlet Pimpernel: Baroness Emmuska Orczy

TheScarletPimpernelCoverThis is an adventure novel set in the reign of terror that followed the French Revolution. The novel is based in the year 1792: the year of grace when French aristocrats are being slaughtered at the gullotine in the name of liberté égalité fraternité.

A league of brave englishmen led by an elusive and heroic leader - The Scarlet Pimpernel, travel in disguise to France, plot a series of daring rescues to save their condemned fellow Frenchmen from daily executions. The identity of the Scarlet Pimpernel is a closely guarded secret and is unknown even to those people whom he rescues. The league, and especially their leader gain legendary status in the elite English society and equal amount of notoriety amongst the French revolutionists.

The book is based around one such rescue plot and is cleverly woven as a cat and mouse chase between the plotters and the French authorities. There is a nice love story which has been interwoven into the fabric of the story without making it seem too obtrusive or distracting. The love story adds to the plot without making it maudlin. The novel is very typically British in terms of the characters and the environs: beautiful women, gallant men, curtsies, bows, formal parties, fashion, high society et. al.

An enjoyable suspense novel although quite predictable at times. Recommended reading.

Black Friday - Hussain Zaidi

BlackFridayCoverA meticulously researched book based on the Bombay serial blasts of 1992. I had not watched the movie, so was not well versed with the plot. The first few pages that described the actual blasts really scared me. Real good work done by the author who collated all the information from thousands of pages of CBI dossiers, courtroom accounts, interviews with real people etc. Since the blasts were a contemporary event during our lifetime, I found this to be an important book with respect to the history of the city. A chilling account of how a set of gangsters (and not terrorists) could mastermind and execute the sinister plot that killed and maimed scores of innocent people.

This is probably the most controversial case in the history of Indian law enforcement, and hence I don't think we can take every plot in the book at face value; but the book does give a pretty decent picture of the overall framework of the planning for the blast, the execution, the investigation, the court verdicts, and some related events like the Sanjay Dutt case, a couple of gang-wars etc. worth a one time read.

Tuesday, April 22, 2008

Answers to India Quiz

1. Naxalbari in northern West Bengal lent its name to the Naxalite movement (http://en.wikipedia.org/wiki/Naxalism )

2. Potti Sriramulu's fast led to the creation of Andhra Pradesh: the first state that was created on the basis of linguistic lines (http://en.wikipedia.org/wiki/Potti_Sriramulu). (One point each for the personality and the state)

3. Madhavrao Sadashivrao Golwalkar (1906-1973), popularly known as Guruji, was the second "Sarasanghachalak" of the RSS. (http://en.wikipedia.org/wiki/Madhav_Sadashiv_Golwalkar )

4. Sheikh Mohammad Abdullah (father of Farooq Abdullah and grandfather of Omar Abdullah) (http://en.wikipedia.org/wiki/Sheikh_Abdullah )

5. Vengalil Krishnan Krishna Menon (http://en.wikipedia.org/wiki/Krishna_Menon )

6. Dr. B.R. Ambedkar: Friday, the 25th November, 1949: Constituent Assembly of India (http://parliamentofindia.nic.in/ls/debates/vol11p11.htm )

7. Jayprakash (JP) Narayan (http://en.wikipedia.org/wiki/Jayprakash_Narayan )

Monday, April 14, 2008

India Quiz



  1. X is a small village in West Bengal. In March 1976, X saw the beginning of a series of demonstrations by local peasants against landlords who had evicted tenants and/or hoarded grain. The demonstrations grew more militant, leading to skirmishes with the police, killing of a constable, retaliatory firing on the crowds. Eventually the peasants decided to take to arms, and soon landlords were being beheaded.




X soon came to enjoy an iconic status among Indian revolutionaries. The village gave its name to the region and, in time, to anyone who would use arms to fight the Indian state on behalf of the oppressed. Thus the place X gave birth to a movement which still plagues the hinterland of several Indian states. Name the movement. Bonus point for guessing the name of X.








  1. X began his last fast at Chennai in Oct 1952 demanding for a separate state. He died in Dec 1952 which led to a huge uproar amongst his followers. The people went into a wild frenzy destroying public property. The disturbance assumed a major scale and continued for 3-4 days. Finally the then Prime Minister Jawaharlal Nehru announced the creation of a separate state Y.








The creation of state Y catalyzed the creation of several other Indian states based on linguistic lines. Name the state Y and the person X.








  1. Identify this man who was the force behind the formation of the organizations that now comprise the "Sangh Parivar", which celebrated 2006-07 as its centenary year.





This man was the mentor and teacher to generations of extremists who have carried forward his struggle for a Hindu nation. Identify him.








  1. This man, also known as Sher-e-Kashmir was the leader of the National Conference, Kashmir's largest political party of the time. He is perhaps the most important political figure in the history of modern Jammu & Kashmir. He was jailed in the year 1953 on the charges of corruption and separatism, but was released after 11 years.





He was later exiled from Kashmir in 1971 for 18 years. Later, after coming to an accord with Prime Minister Indira Gandhi, he went on to become the Chief Minister of J&K which he held until his death. Identify him.








  1. This man, an old friend of Nehru, was educated at the London School of Economics, was also the first editor Penguin's prestigious non-fiction imprint, Pelican Books. He served as the Indian High Commissioner at London, a cabinet minister without a portfolio, a representative of India at the UN and at disarmament meetings in Geneva, but most importantly as one of the most controversial Defense Ministers of the country.





He came under a lot of heat after India's staggering defeat at the Sino-Indian war of 1962 and was forced to resign from office for the country's apparent lack of military preparedness. Identify the man in the picture with Nehru.








  1. The following is an excerpt of a speech in November 1949 by X. This part of the speech is concerned with the place of popular protest in a democracy:




We must abandon the method of civil disobedience, non-cooperation and satyagraha. Under an autocratic regime, there might be some justification for them, but not now, when constitutional methods of redress were available. Satyagraha and the like are nothing but the grammar of anarchy and the sooner they are abandoned, the better for us”.


Identify the speaker.





  1. X was, a renowned social worker, dedicated his life to Vinoba Bhave's Sarvodaya movement. He later led the students of Bihar in a popular protest against the misrule and corruption in the government which went on to assume massive proportions in several states.





He asked Indira Gandhi to resign from the position of PM when she was found to be guilty of violating electoral laws. Instead, Indira clamped down an emergency and X was one of the leaders who was detained as a political prisoner

Monday, April 07, 2008

More Books…

Here are a few words about a couple of books I read in the past several weeks:

Interpreter of Maladies: Jhumpa Lahiri

InterpreterOfMaladiesCoverThis a collection of 9 short stories. If there is one connecting emotion between all the stories, then it is nostalgia. Most stories are about Indian Americans who are caught between their native culture that is their own, and the new world they live in. These stories reminded me of the quaint short stores book I studied for my ICSE. All stories have an emotional appeal, and I never thought I would like stories such as these where there is no conceivable end to most, but the quality of story-telling is of the highest order. And oh boy, the descriptions of food in the stories are so good that you are moved to the point of hunger.

Animal Farm: George Orwell

AnimalFarmCoverAnother one of those overhyped acclaimed literary classics.Was ranked 31 in the TIME magazine's list of 100 best novels since 1923. Was okay.......one time read maybe for the sake of it.......or maybe I was not able to truly appreciate the depth of satire in the book. Said to resemble the Russian revolution and thereafter the rise of Stalin......this book is based on how the animals in a farm overthrow their owner and take over the farm.

The Namesake: Jhumpa Lahiri

TheNamesakeCoverI was really put of by Indian authors till I came across Lahiri. I really love the style of her writing. This is her first complete novel which is based on the life of an Indian born and brought up in the US. The story is based on events in Calcutta, Boston and New York, revolving around the lives of people caught between two different cultures.

Even though there is no proper ending to the story (which is somewhat a characteristic of most of her work till now), the book is an entertaining read till the very last page. Her narrative style is pure brilliance, and once again, her knowledge of the culinary arts is astounding. The descriptions of food are so amazing that I do not recommend you to read this on an empty stomach :)

All in all, a good work of fiction. Recommended reading, if only for the sake of a stellar demonstration of creative writing.

Sunday, January 06, 2008

Creating a new virtual server

I already have a virtual hard disk with Windows Server 2003 installed that runs on Microsoft’s Virtual PC 2007. One major issue with my current OS image is the lack of support for USB drivers and sound drivers. Despite repeated efforts, the sound drivers on VPC simply fail to work. I tried googling, but I could not find anything useful.

no sound

And since it’s a virtual machine, there are no specific drivers that I could install to get this thing to work. I found something called Virtual Machine Additions in MS VPC, which I assumed would be something similar to VMWare Tools.

vm additionsThe funny thing is that there is no indication of any change, during or after the installation of VM Additions. The sound just would not work.
I had enough of MS VPC, and I decided to do a fresh installation, this time on VMWare. The other major reason for doing this is that I really want a fresh and lean server VM where I can install all the stuff I want; and doing this on the already bloated VHD wasn’t a good idea.
One problem though: I do not have a CD of the Windows 2003 Server; but instead I have the whole setup in the form of a folder hierarchy.

windows 2003 installation folder

What I needed now is an ISO image of the setup that I can use to boot up my virtual machine. Whats more, I needed a bootable CD. I thought I could do this using Nero 7. Ah, but Murphy’s law: the installation of Nero 7 on my machine is from the CD that came free with my SONY DVD writer, and Nero did not provide me a copy of Nero Burning ROM in the disc. So I could not create a bootable ISO. So I looked for a free software that will serve my purpose. I found CDBurnerXP. I found this to be a neat tool which gave me an option of creating ISO images and bootable discs.

Now, before I could create a bootable ISO, I needed a boot image which I downloaded after performing a google search (don’t remember where I got it from, but there are many available online and links to these are provided by the numerous guides). This boot image that I used was called boot.ima, which was a small file 2 KB in size.
To specify that you want to create a bootable disc, click on disc-> boot options:

bootable disc

Click on “make disc bootable”. Select the path to the boot image. Set the emulation type to none. Keep the Load segment as it is, and set the sector count to 4. Select “Disable ISO version number extension(;1)”, and click OK. Click file -> save compilation as ISO file, and create ISO.
That’s all I needed. I created a new virtual machine with VMware, and made it point to the ISO file I just created so that it could boot up from the ISO.

vmware cd boot

That’s it; I fired up the VM, and it booted from the ISO. I continued with the OS installation as usual. After that was done, I logged into the OS as admin, and what do I see? The sound doesn’t work. I installed VMWare tools and it showed that audio is enabled, but the OS in my VM was simply not able to play any sounds except for the system sounds. This time I opened device manager and chose the option of automatically installing drivers from Windows updates, and it downloaded the required drivers. After a reboot, when I started the machine again, I heard the sweet sound of windows startup.

Saturday, December 15, 2007

My blog has moved

I acquired a new domain recently, and I hosted my blog there.
http://krishnamurthy.net.in
Have not administered a website before, but it was fun. I bought the domain from rediff. Got some hosting space from freehostia, and publishing software from wordpress. Some configuration, some uploading, and its up.

Thanks to the import feature of Wordpress, I could get all my old posts from my original blog to the new site.

Saturday, December 08, 2007

Bomb scare

It was the usual friday evening. I left early from work and met my friends at Mocha, Powai. After a typical friday evening lazy chatter over some coffee, we decided to go eat at KFC. We ordered a fried chicken bucket, french fries, and pepsi (and a zinger for my friend with an especially good appetite). Dinner with friends on a friday evening is something I really enjoy. Good food, good stories......keeps me happy.

When we were deep into our fried chicken, an attendant walked over to our table and asked "Is that your bag sir?". We turned and saw that he was pointing at a bagpack placed on a chair adjacent to our table. It was a good looking bag, one big enough to stuff a laptop into it...the kind we usually carry to work or college. We replied that the bag did not belong to any of us. The attendant nodded and walked away.....probably to ask some other people.

Typical of a bunch of guys spending a lazy evening, we started making jokes about the bag holding explosives, left there by someone with ill intentions. We started debating why someone would like to blow up a joint like KFC with such a low population. Someone said that a bag of that size can hold enough explosives to blow up more than just KFC. After a while the security guy also walked up to the bag and stared at it for a while. We looked at each other and muttered that we should get out of the place now. We were joking earlier, but now it was over 10-15 mins and the owner of the bag was still not found. I ate hurriedly and rushed into the washroom to wash my hands and take a leak (hey, I know there was a bomb ticking in there, but like I said I had to take a leak). I was planning on how I would move when I get out of the washroom, take up bag and rush out. I cursed myself because I did not ask my friends to take my bag and move out.

When I walked out into the dining area again, I saw two guys walking out of the door: one of them was carrying a big bagback. I walked closer to our table and saw that the bag that was sitting so conspicuously was now gone. I went over to my friends and asked them whether the owner of the bag was found. They smiled and replied in the affirmative. I was relieved, but now disappointed that I had to rush through my last piece of chicken without being able to savor it properly.

Bomb scare

It was the usual friday evening. I left early from work and met my friends at Mocha, Powai. After a typical friday evening lazy chatter over some coffee, we decided to go eat at KFC. We ordered a fried chicken bucket, french fries, and pepsi (and a zinger for my friend with an especially good appetite). Dinner with friends on a friday evening is something I really enjoy. Good food, good stories......keeps me happy.

When we were deep into our fried chicken, an attendant walked over to our table and asked "Is that your bag sir?". We turned and saw that he was pointing at a bagpack placed on a chair adjacent to our table. It was a good looking bag, one big enough to stuff a laptop into it...the kind we usually carry to work or college. We replied that the bag did not belong to any of us. The attendant nodded and walked away.....probably to ask some other people.

Typical of a bunch of guys spending a lazy evening, we started making jokes about the bag holding explosives, left there by someone with ill intentions. We started debating why someone would like to blow up a joint like KFC with such a low population. Someone said that a bag of that size can hold enough explosives to blow up more than just KFC. After a while the security guy also walked up to the bag and stared at it for a while. We looked at each other and muttered that we should get out of the place now. We were joking earlier, but now it was over 10-15 mins and the owner of the bag was still not found. I ate hurriedly and rushed into the washroom to wash my hands and take a leak (hey, I know there was a bomb ticking in there, but like I said I had to take a leak). I was planning on how I would move when I get out of the washroom, take up bag and rush out. I cursed myself because I did not ask my friends to take my bag and move out.

When I walked out into the dining area again, I saw two guys walking out of the door: one of them was carrying a big bagback. I walked closer to our table and saw that the bag that was sitting so conspicuously was now gone. I went over to my friends and asked them whether the owner of the bag was found. They smiled and replied in the affirmative. I was relieved, but now disappointed that I had to rush through my last piece of chicken without being able to savor it properly.

Friday, November 23, 2007

Books….

I thought I might mention some of the books I have read that I could recommend to others who read fiction. Maybe you, the reader could recommend me some of the good books you've read? So feel free to post comments. Today I write about two of the greatest books I have read.


To Kill a Mockingbird: Harper Lee

ToKillAMockingbirdCoverPulitzer Prize winner published in 1960. One of those very few books I've read whom I could actually call "English Literature” and "novel" at the same time. Written in the first person, this book shows the world from the perspective of a small girl - Jean Lousie "Scout" Finch, and as a grown woman reflecting on her childhood. The author has acknowledged that this character is loosely based on her own childhood. After I read this book, I learned that this novel is widely taught in schools in english speaking countries; and I was surprised at the same time because I never thought I would like a book that was actually taught as literary text. This entertaining and extremely well written novel is tied to the themes of tolerance and prejudice. The character of Atticus Finch, the narrator's father is one of the most enduring fictional images of integrity. Atticus is certainly one of my heroes in the literary world.


 


Catch 22: Joseph Heller

Catch22CoverResulting from its specific use in the book, the phrase "Catch-22" became a term of common usage in the English language meaning a “no win situation”. When I picked up this book, all I knew about the book was that it was based on humor. As I finished the book, I realized that it is also a general critique of bureaucracy and human reasoning.


The writing style of the book was unlike anything I had read before. The prose is circular and paradoxical, something you get used to soon. Normally one would think that such a kind of writing won’t be funny, but the author’s majestic control over the language and the words he chooses makes it a real winner. A lot of the events in the book have been repeatedly described from different points of view at different times; and the description is as if the reader already knows about them. So, with each iteration, we learn a little more about the story.


The way the characters have been developed (and a lot of them), is simply majestic. I think each character represents one facet of human nature. Yossarian, the protagonist of the story is one of my favourites in the literary world.


Books....

I thought I might mention some of the books I have read that I could recommend to others who read fiction. Maybe you, the reader could recommend me some of the good books you've read? So feel free to post comments. Today I write about two of the greatest books I have read.


To Kill a Mockingbird: Harper Lee

Pulitzer Prize winner published in 1960. One of those very few books I've read which I could actually call "English Literature” and novel at the same time. Written in the first person, this book shows the world from the perspective of a small girl - Jean Lousie "Scout" Finch, and as a grown woman reflecting on her childhood. The author has acknowledged that this character is loosely based on her own childhood. After I read this book, I learned that this novel is widely taught in schools in english speaking countries; and I was surprised at the same time because I never thought I would like a book that was actually taught as literary text. This entertaining and extremely well written novel is tied to the themes of tolerance and prejudice. The character of Atticus Finch, the narrator's father is one of the most enduring fictional images of integrity. Atticus is certainly one of my heroes in the literary world.


Catch 22: Joseph Heller

Resulting from its specific use in the book, the phrase "Catch-22" became a term of common usage in the English language meaning a “no win situation”. When I picked up this book, all I knew about the book was that it was based on humor. As I finished the book, I realized that it is also a general critique of bureaucracy and human reasoning.

The writing style of the book was unlike anything I had read before. The prose is circular and paradoxical, something you get used to soon. Normally one would think that such a kind of writing won’t be funny, but the author’s majestic control over the language and the words he chooses makes it a real winner. A lot of the events in the book have been repeatedly described from different points of view at different times; and the description is as if the reader already knows about them. So, with each iteration, we learn a little more about the story.

The way the characters have been developed (and a lot of them), is simply majestic. I think each character represents one facet of human nature. Yossarian, the protagonist of the story is one of my favourites in the literary world.

Thursday, November 15, 2007

Skype woes with IIS

I had installed JBoss on my machine to get Scrumworks Basic working. Somehow that stopped my IIS from working on port 80. So I uninstalled Scrumworks. For some unknown reason, the default website on IIS still wont start. There was this red icon beside default website in IIS. When I tried to start it, it kept giving me the error: Doesnt start -> Unexpected error 0x8ffe2740 occurred. I restarted IIS a number of times, even uninstalled and reinstalled it, but of no avail. I figured that some other application was listening on port 80 which was causing a conflict. But I uninstalled JBoss, then what was causing the issue? Couldnt figure out what application was listening on port 80.....did a google search and found that skype (of all things) could be a culprit....


I did not even bother to look inside the 2nd link (which mentioned the skype). I just exited the thing, and my default website started! Then I read a little further and made a small little change in the skype connection settings as shown.

Skype woes with IIS

I had installed JBoss on my machine to get Scrumworks Basic working. Somehow that stopped my IIS from working on port 80. So I uninstalled Scrumworks. For some unknown reason, the default website on IIS still wont start. There was this red icon beside default website in IIS. When I tried to start it, it kept giving me the error: Doesnt start -> Unexpected error 0x8ffe2740 occurred.

I restarted IIS a number of times, even uninstalled and reinstalled it, but of no avail. I figured that some other application was listening on port 80 which was causing a conflict. But I uninstalled JBoss, then what was causing the issue?

Couldnt figure out what application was listening on port 80.....did a google search and found that skype (of all things) could be a culprit....

http://www.google.co.in/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=cannot+start+default+website+%2B+unexpected+error&btnG=Search&meta=

I did not even bother to look inside the 2nd link (which mentioned the skype). I just exited the thing, and my default website started! Then I read a little further and made a small little change in the skype connection settings as shown.

Friday, October 05, 2007

Viruses, worms, creepy crawlies…

I was about to leave for college to get some documentation work done. I insert my pen drive into the USB port and double click on a folder. What do I notice? It only looks like a folder, but its actually an executable. I instantly realized my terrible mistake, when an IM window popped up on my screen and I saw that a junk message was sent to one of my contacts from my account. It was the irritating and notorious W32/Yahlover.worm. I immediately sent an apology message to all my contacts and logged off.

I tried to clean up all files from my USB drive but it won't let me delete the infected files, which had not replicated itself in each folder in the drive. I started a full system scan and found that there is a file called SSVICHOSST.exe in my system32 folder. This file also tried to access the internet which thankfully my McAfee firewall was able to block.

It all started when I used this same pen drive at a cyber cafe in Matunga to get a print out. When I inserted the stick on my home machine, McAfee said that the autorun.ini file is infected and has been cleaned automatically. I thought that was the end of the story. But somehow the infection had persisted and had spread to my physical machine now. I could not format the pen drive, could not delete the infected file from my comp even though my antivirus did detect the infection. It simply said that it was unable to clean/delete/quarantine the file.

I thought that I would simply deal with the problem later after I get back home and I can simply avoid using Yahoo till the time I fix it. When I got back, I realized that the problem was not just with Yahoo messenger. The rogue files were actually hidden files and the folder options in the tools menu of windows explorer was missing. So there was no way to view hidden files (I always keep this setting to show hidden files). I could not navigate using command line as the command window simply kept disappearing as soon as I open it. Task manager and Regedit won't open. It kept saying that these have been disabled by the Administrator. Even if I get to the files, I won't be able to delete it cos' a rogue process called SSVICHOSST was already running.

At this point there was really something easy that I could have done, but somehow I did it a more geeky way. I first booted into linux and tried to see if I could delete the file, but somehow I had some read/write permission issues, so I just dropped the idea there. I wrote a program in C# to list all the currently running process.

Process[] processes = Process.GetProcesses();foreach (Process process in processes)
{
Console.WriteLine(process.ToString());
if (process.ToString().Contains("SSVICHOSST"))
{
process.Kill();
}
}

That is what actually showed me that there are multiple instances of a process called SSVICHOSST running on my machine. I could not even view the results of my console application till I actually set a breakpoint and debugged into it. Finally I just added a line of code which would kill the process of the above said name. Thankfully the process got killed.

Once that happened, I was able to open the command window, and my antivirus was able to delete the dirty file. Now I also opened msconfig and saw that the file was set to start at bootup, so I unchecked that option too. I still did not have my taskman, regedit, and folder options. But the infected files I thought were gone.

Booted the comp in safe mode, and logged in as Administrator (which should have been the first thing I should have done). I ran the virus scan again and it caught another instance in another folder. This one was attached to the winlogon.exe. I was able to quarantine it so that it does not launch itself everytime with winlogon. Turned off system restore, installed AVG AntiRootkit utility. I searched for malicious instances in the registry and deleted them. (found one in yahoo messenger, and one in msconfig related keys)

Logged back in normal mode and ran the AntiRootkit utility which found nothing. So finally I think the infection was gone, but the damage still remained. To get regedit working, I opened gpedit.msc -> User Configuration | Administrative Templates | System. There was an option pertaining "disable registry editing tools". It was set to "Not configured". Nevertheless I enabled it once, and then set it back to "Not configured". Doing this ensures that the DisableRegistryTools registry value is removed successfully. Now I could open the registry editor.
Next I navigated to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies\ System and deleted the DisableTaskMgr key. This got my taskman back.
Finally made another small change in group policy to get back the folder options. The last thing I did was to disable autorun on all drives using TweakUI.

As I write this, my machine is being scanned by the Kaspersky online AV scanner. I hate people who use their programming skills to create malicious software that causes pain and misery to others.

Viruses, worms, creepy crawlies...

I was about to leave for college to get some documentation work done. I insert my pen drive into the USB port and double click on a folder. What do I notice? It only looks like a folder, but its actually an executable. I instantly realized my terrible mistake, when an IM window popped up on my screen and I saw that a junk message was sent to one of my contacts from my account. It was the irritating and notorious W32/Yahlover.worm. I immediately sent an apology message to all my contacts and logged off.

I tried to clean up all files from my USB drive but it won't let me delete the infected files, which had not replicated itself in each folder in the drive. I started a full system scan and found that there is a file called SSVICHOSST.exe in my system32 folder. This file also tried to access the internet which thankfully my McAfee firewall was able to block.

It all started when I used this same pen drive at a cyber cafe in Matunga to get a print out. When I inserted the stick on my home machine, McAfee said that the autorun.ini file is infected and has been cleaned automatically. I thought that was the end of the story. But somehow the infection had persisted and had spread to my physical machine now. I could not format the pen drive, could not delete the infected file from my comp even though my antivirus did detect the infection. It simply said that it was unable to clean/delete/quarantine the file.

I thought that I would simply deal with the problem later after I get back home and I can simply avoid using Yahoo till the time I fix it. When I got back, I realized that the problem was not just with Yahoo messenger. The rogue files were actually hidden files and the folder options in the tools menu of windows explorer was missing. So there was no way to view hidden files (I always keep this setting to show hidden files). I could not navigate using command line as the command window simply kept disappearing as soon as I open it. Task manager and Regedit won't open. It kept saying that these have been disabled by the Administrator. Even if I get to the files, I won't be able to delete it cos' a rogue process called SSVICHOSST was already running.

At this point there was really something easy that I could have done, but somehow I did it a more geeky way. I first booted into linux and tried to see if I could delete the file, but somehow I had some read/write permission issues, so I just dropped the idea there. I wrote a program in C# to list all the currently running process.

Process[] processes = Process.GetProcesses();

foreach (Process process in processes)
{
Console.WriteLine(process.ToString());
if (process.ToString().Contains("SSVICHOSST"))
{
process.Kill();
}
}



That is what actually showed me that there are multiple instances of a process called SSVICHOSST running on my machine. I could not even view the results of my console application till I actually set a breakpoint and debugged into it. Finally I just added a line of code which would kill the process of the above said name. Thankfully the process got killed.

Once that happened, I was able to open the command window, and my antivirus was able to delete the dirty file. Now I also opened msconfig and saw that the file was set to start at bootup, so I unchecked that option too. I still did not have my taskman, regedit, and folder options. But the infected files I thought were gone.

Booted the comp in safe mode, and logged in as Administrator (which should have been the first thing I should have done). I ran the virus scan again and it caught another instance in another folder. This one was attached to the winlogon.exe. I was able to quarantine it so that it does not launch itself everytime with winlogon. Turned off system restore, installed AVG AntiRootkit utility. I searched for malicious instances in the registry and deleted them. (found one in yahoo messenger, and one in msconfig related keys)

Logged back in normal mode and ran the AntiRootkit utility which found nothing. So finally I think the infection was gone, but the damage still remained. To get regedit working, I opened gpedit.msc -> User Configuration | Administrative Templates | System. There was an option pertaining "disable registry editing tools". It was set to "Not configured". Nevertheless I enabled it once, and then set it back to "Not configured". Doing this ensures that the DisableRegistryTools registry value is removed successfully. Now I could open the registry editor.
Next I navigated to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies\ System and deleted the DisableTaskMgr key. This got my taskman back.
Finally made another small change in group policy to get back the folder options. The last thing I did was to disable autorun on all drives using TweakUI.

As I write this, my machine is being scanned by the Kaspersky online AV scanner. I hate people who use their programming skills to create malicious software that causes pain and misery to others.

Friday, September 07, 2007

Getting Pidgin, getting Gtalk

I installed Ubuntu 7.04 which has Gaim preinstalled in it. For some reason I was not able to get Gtalk working on gaim. I checked up the google support page and found that there weren't any instructions specific to gaim, and now there is Pidgin. So I decided to get Pidgin hoping that GTalk would work on it.

First I downloaded the Pidgin source from http://pidgin.im/ because that seemed to be the preferable thing to do. I realized that I will first have to install some prerequisites before I compile the source. So I did this:

sudo apt-get install libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev

The first package libgtk2.0 dev installs GTK2.0 development headers. I also installed the build-dep gaim package which installs the list of dependencies on your machine that the ubuntu developers used for gaim. After that I uninstalled gaim and gaim-data using synaptic.

Once you are done with that, you are ready to compile the Pidgin source code. First extract the source from the tar archive. Then run ./configure. My friend told me that a regular ./configure won't suffice here because things like google talk may not work. So I configured it with the following switches:

./configure --enable-dbus --enable-nm --enable-mono --enable-gnutls=yes --enable-nss=yes --enable-gtkspell=yes --enable-plugins

That it:
make
sudo make install

That installs Pidgin on the system. To get GTalk working on my Pidgin, in addition to the instructions listed on the google support page, I also had to click on the advanced tab of the account setting and check the "Force old (port 5223) SSL", set connection port to 5223 and connect server to talk.google.com.

Getting Pidgin, getting Gtalk

I installed Ubuntu 7.04 which has Gaim preinstalled in it. For some reason I was not able to get Gtalk working on gaim. I checked up the google support page and found that there weren't any instructions specific to gaim, and now there is Pidgin. So I decided to get Pidgin hoping that GTalk would work on it.

First I downloaded the Pidgin source from http://pidgin.im/ because that seemed to be the preferable thing to do. I realized that I will first have to install some prerequisites before I compile the source. So I did this:

sudo apt-get install libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev

The first package libgtk2.0 dev installs GTK2.0 development headers. I also installed the build-dep gaim package which installs the list of dependencies on your machine that the ubuntu developers used for gaim. After that I uninstalled gaim and gaim-data using synaptic.

Once you are done with that, you are ready to compile the Pidgin source code. First extract the source from the tar archive. Then run ./configure. My friend told me that a regular ./configure won't suffice here because things like google talk may not work. So I configured it with the following switches:

./configure --enable-dbus --enable-nm --enable-mono --enable-gnutls=yes --enable-nss=yes --enable-gtkspell=yes --enable-plugins

That it:
make
sudo make install

That installs Pidgin on the system. To get GTalk working on my Pidgin, in addition to the instructions listed on the google support page, I also had to click on the advanced tab of the account setting and check the "Force old (port 5223) SSL", set connection port to 5223 and connect server to talk.google.com.

Monday, September 03, 2007

Development man pages

I was doing some elementary IPC programming on linux, and was looking for the man pages of the library calls that I was using in my programs (for functions like "perror", "execlp" etc.) 'cos its been a while since I have done anything in C. The way to get the manual page for these calls is:

kv$ man 3 "functionName"

where the number 3 specifies section number 3, which stands for library calls.

Now, it so happens that the development man pages are excluded by default in Ubuntu linux. A quick google search told me that the name of the package I was looking for is "manpages-dev.

Do:
kv$ sudo apt-get install manpages-dev

and you get the documentation for all the methods that you want!

Development man pages

I was doing some elementary IPC programming on linux, and was looking for the man pages of the library calls that I was using in my programs (for functions like "perror", "execlp" etc.) 'cos its been a while since I have done anything in C. The way to get the manual page for these calls is:

kv$ man 3 "functionName"

where the number 3 specifies section number 3, which stands for library calls.

Now, it so happens that the development man pages are excluded by default in Ubuntu linux. A quick google search told me that the name of the package I was looking for is "manpages-dev.

Do:
kv$ sudo apt-get install manpages-dev

and you get the documentation for all the methods that you want!

Sunday, August 19, 2007

SQL Server Reporting Service woes

I just installed SQL Server 2005 on my home PC. When I opened http://localhost/reports to check out if my Reporting Service is working properly, I got the following error:

The report server has encountered a configuration error. See the report server log files for more information. (rsServerConfigurationError)

  • Access to the path 'C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\RSReportServer.config' is denied.


I found this post by Teo Lachev that shed some light on the problem. I figured that the rsreportserver.config file must be accessible by the MACHINE\ASPNET user. From Lachev's post, I figured I could right click on the file and simply add another user to the ACL (I remember doing that sometime). But when I click on the file, I dont find any security tab anywhere. I went up to the folder "C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer" and right clicked on it:

So I was fretting that I cannot edit the ACL for the file or the folder. I dont know if this is just my machine, or if this is generic. I somehow remember right clicking on a file/folder and adding another user to the ACL of that particular file/folder. But I have done that on my work machine which is part of a domain. Is it not possible to edit ACLs on a stand alone machine which is not part of a domain? Somebody please tell me that.

Meanwhile I was desperate to get my SSRS running, so I wrote this small code snippet in C# to add the ASPNET user to the ReportServer folder:
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer");

DirectorySecurity dirSecurity = directoryInfo.GetAccessControl();

try

{
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
FileSystemAccessRule newAccessRule = new FileSystemAccessRule(new System.Security.Principal.NTAccount("MYCOMP", "ASPNET"), FileSystemRights.FullControl, AccessControlType.Allow);

directorySecurity.AddAccessRule(newAccessRule);
Directory.SetAccessControl(directoryInfo.FullName, directorySecurity);
}
catch (System.Runtime.InteropServices.SEHException sehException)
{
Console.WriteLine(sehException.Message);
}

catch (Exception e)

{
Console.WriteLine(e.Message);
}

After that when I viewed the ACL for this folder, I saw that ASPNET user was successfully added. But this still did not solve my problem. So I wrote a similar piece of code to allow full permissions to the ASPNET user for every file inside the ReportServer folder.

try
{
foreach (FileInfo fileInfo in directoryInfo.GetFiles())
{
FileSystemAccessRule newAccessRule = new FileSystemAccessRule(new System.Security.Principal.NTAccount("MYCOMP", "ASPNET"), FileSystemRights.FullControl, AccessControlType.Allow);
fileSecurity = fileInfo.GetAccessControl();
fileSecurity.AddAccessRule(newAccessRule);
File.SetAccessControl(fileInfo.FullName, fileSecurity);
}
}

catch (System.Runtime.InteropServices.SEHException sehException)
{
Console.WriteLine(sehException.Message);
}

catch (Exception e)
{
Console.WriteLine(e.Message);
}

After this when I tried to access the ReportServer website, it worked!! Anyway, this was just a one time fix. If I reinstall SQL Server again, then I might have run this code again. Is there some way to edit ACLs for a particular file/folder? Maybe I have not done enough searching.

Update: Found this link for the security tab: http://www.mydigitallife.info/2006/07/19/missing-or-no-security-tab-found-in-windows-xp-professional/

SQL Server Reporting Service woes

I just installed SQL Server 2005 on my home PC. When I opened http://localhost/reports to check out if my Reporting Service is working properly, I got the following error:

The report server has encountered a configuration error. See the report server log files for more information. (rsServerConfigurationError)
  • Access to the path 'C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\RSReportServer.config' is denied.
I found this post by Teo Lachev that shed some light on the problem. I figured that the rsreportserver.config file must be accessible by the MACHINE\ASPNET user. From Lachev's post, I figured I could right click on the file and simply add another user to the ACL (I remember doing that sometime). But when I click on the file, I dont find any security tab anywhere. I went up to the folder "C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer" and right clicked on it:

So I was fretting that I cannot edit the ACL for the file or the folder. I dont know if this is just my machine, or if this is generic. I somehow remember right clicking on a file/folder and adding another user to the ACL of that particular file/folder. But I have done that on my work machine which is part of a domain. Is it not possible to edit ACLs on a stand alone machine which is not part of a domain? Somebody please tell me that.

Meanwhile I was desperate to get my SSRS running, so I wrote this small code snippet in C# to add the ASPNET user to the ReportServer folder:

DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer");
DirectorySecurity dirSecurity = directoryInfo.GetAccessControl();
try
{
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
FileSystemAccessRule newAccessRule = new FileSystemAccessRule(new System.Security.Principal.NTAccount("MYCOMP", "ASPNET"), FileSystemRights.FullControl, AccessControlType.Allow);

directorySecurity.AddAccessRule(newAccessRule);
Directory.SetAccessControl(directoryInfo.FullName, directorySecurity);
}

catch (System.Runtime.InteropServices.SEHException sehException)
{
Console.WriteLine(sehException.Message);
}

catch (Exception e)
{
Console.WriteLine(e.Message);
}


After that when I viewed the ACL for this folder, I saw that ASPNET user was successfully added. But this still did not solve my problem. So I wrote a similar piece of code to allow full permissions to the ASPNET user for every file inside the ReportServer folder.

try
{
foreach (FileInfo fileInfo in directoryInfo.GetFiles())
{
FileSystemAccessRule newAccessRule = new FileSystemAccessRule(new System.Security.Principal.NTAccount("MYCOMP", "ASPNET"), FileSystemRights.FullControl, AccessControlType.Allow);
fileSecurity = fileInfo.GetAccessControl();

fileSecurity.AddAccessRule(newAccessRule);
File.SetAccessControl(fileInfo.FullName, fileSecurity);
}
}

catch (System.Runtime.InteropServices.SEHException sehException)
{
Console.WriteLine(sehException.Message);
}

catch (Exception e)
{
Console.WriteLine(e.Message);
}


After this when I tried to access the ReportServer website, it worked!! Anyway, this was just a one time fix. If I reinstall SQL Server again, then I might have run this code again. Is there some way to edit ACLs for a particular file/folder? Maybe I have not done enough searching.

Update: Found this link for the security tab: http://www.mydigitallife.info/2006/07/19/missing-or-no-security-tab-found-in-windows-xp-professional/