Saturday, December 02, 2006

Peterite class of 2001 getting together - finally!

I left my beloved school in 2001 and so far my batchmates have had very little presence at college affairs. I was talking to a friend last week and we decided to start a mail group for our batchmates as a first step in getting everyone together. Independently, another one of my classmates has started a contact list of everyone in the batch (about 300). I'm moderating the mail group (partly given my experience moderating my university class's Yahoo group) and membership is picking up, but requires a lot of canvassing to get everyone on board.

Any Peterites out there reading this, head over to
http://groups.yahoo.com/group/spc2001/
and subscribe. We are also planning to meet up on the 9th at a Sing-along at College, looking forward to catching up on old times and planning for our future.

NAV thinks that I'm making an intrusion attempt to Blogger.com

I run Norton Antivirus 2005 at home with the Worm protection enabled, and just on my last post Blogger's Posting page kept complaining that the Blogger server was not reachable. Publishing the post failed too, with the server not being reachable. I also kept getting intrusion attempt warnings on NAV, but I ignored it, only to notice just now that NAV thought I was making an intrusion attempt ("HTTP MS IIS ASP Source Disclosure") to Blogger, and blocked the request.

I might figure out if this is a false positive or if my computer is really doing something nasty. For the time though, I took the easy way out: disable Worm protection for 15 minutes till I write and publish this post!

Tuesday, November 28, 2006

IE7 and conflicts with MFC Message Maps

It's a been god-knows-how-long since I've made a post here, let alone a technical one. But last tuesday, after 4 days of hunting around, we finally corrected a very weird problem that we had been facing.

We had two nearly identical MFC applications as support apps for our primary project at work. We made our third major release about a week ago, and then the news came last Thursday: whenever a new tab or window was opened on IE7, one of our three MFC EXE's crashed. It was further complicated by the fact that the problem never appeared in Debug mode, and even with Release mode with Debug symbols we could not find anything beyond an Access Violation in MFC42.DLL at offset 0x000011c7.

We finally started to narrow things down yesterday. VC++ 6's Debug Symbols installation file suggested that somewhere near that offset was the function OnChildNotify(). Our app had another problem: On certain requests, it had to make a call to our Configuration Management system's server, and that could only be made from the MainFrame class.

So why can't we call a method on the MainFrame class directly? Well, it's not that simple. When we do that, Word slows down, and sometimes simply refuses to load.
We solved that with a custom message raised with SendMessage(), and captured with a Message Map. This is where our app crashed: the message map was somehow trying to handle a wayward message.

Making the call to the MainFrame's handler straight from the message dispatcher solved the IE problem, but the Word problem resurfaced. In the end, we had to scrap the message map totally and replace it with an overridden WindowProc.

The two lessons learnt are:
#1. A new tab (or window) opening in IE7 seems to send a message to the window classes, and if a Message Map is present this seems to capture it, even when the range for the user message is modified (we based it on both WM_USER and WM_APP).
#2. Compiling the same code with Visual Studio 2005 gives an error complaining about an LRESULT / HRESULT conflict and incompatible method signatures. There was something very wrong with the message map to start with, but VC++ 6 let us compile without identifying this error.
#3. There are actually three lessons to learn: Murphy drops by every once in a while.

Sunday, August 27, 2006

The long silence

It's been 252 days to be exact since my last post. Fact is, I never wanted to stop, but I've just been loaded. To put things in perspective are some of the significant happennings of the past 8 months:

1. New Year came and went, resolutions were made, even though I can't seem to recall any

2. In late January my father suddenly fell ill and was admitted to national hospital, where they discovered signs of Myocardial Infarction, known to us commoners as "Heart Attack" - the silent kind that can affect diabetics. There was damage to his left ventricle and a clot in the heart itself. He was to be discharged on the 4th of February, but that morning suddenly became very worse, and I rushed him off to Apollo - the only hospital with support for emergency surgical intervention that was free. He recovered, stabilized, underwent Angioplasty, and was told to go for Coronary Artery Bypass Grafting Surgery without delay. After much deliberation we shifted to Durdans where a superb surgeon performed the surgery on the 23rd of February, roughly six months ago. Initial recovery was good but with his weak heart he had some kidney problems, but thankfully recovered after an extended post-op stay (10 days in ICU and 5 days in the ward). His first few weeks at home were also tough with difficulty sleeping and extreme body aches, but is now back on his feet and running around like a 25 year old - when I'm not!

3. I was lecturing at IIT (where I myself graduated last year) for the final year's. Preparations were tough, but nothing like the load of correcting assignments and exam papers. Assignment viva's got delayed and piled up, with vivas held on three consecutive days totalling roughly 25 hours and streching till past midnight. Papers proved to be similar time sinks, taking well over 2 hours per paper and 70 papers.

4. Work progressed well, with confirmation in April and a small raise in July. Current work involves a .Net port of a Flex/Bison/VC++ based visual diff/merge tool. After testing out various parser generators and compiler compilers, we settled on Antlr. We've just finished a Java parser / diff / merge component as a proof of concept.

5. My dog was taken to the vet for a skin rash, treated then for suspected Filariasis, lost use of his hind legs that very night, became unconcsious the following morning, and died three days later, in spite of saline drip and various injections twice a day at the vet. I never thought the death of an animal would affect, but then again this was no mere animal. His older pal too suffered some hind leg problems but recovered. The older one is however now suffering from cataract and not the same active self. We have now acquired a supposedly Dobermann-cross female - extremely paranoid around us, but constantly wants to play with the older dog. It's only the older one's calm temparament that has kept it alive so far.

6. January 30th was the day I set to return to the Gym after a long break, but it is also the day before my father's hospital adminssion, and since he wasn't feeling well, he wanted to go to the family doctor. I decided to join him that day. I decided later in April or so to start swimming again. It was really great to get back in the water, and my stroke felt good enough, though I couldn't go for more than 100 meters at a strech anymore - in stark contrast with the 2.5 - 3 km per day when I did when I was 13. That went on hold with the papers and assignments, adn I haven't been to the pool now in at least 6 weeks.

7. On a positive note, my father's extended stay at home was an excuse to go for something I've been debating in my head for a long time - ADSL.

8. Just today, we got a mechanic to completely overhaul our trusty Morris Minor's engine. The engine had layer upon layer of grease and mud which was cleaned today to reveal - a green coloured engine block! Reboring is to be done in two days' time and a good paint job should put the car back on the road within a month.

9. I've decided that I should continue with some blogging, but am contemplating starting new... perhaps on a new service. More on that coming up later.

Sunday, December 18, 2005

Cricket Lovely Cricket!!!

With Preminda joining bloggerdom, Cricket fans might have another little space of the 'net for their rants and raves. I, being one of 'em who doesn't follow much of cricket, shall keep my comments to myself, but I'm sure comments will be highly appreciated, specially given that his new blog is going to be part of an assignment he's working on.

When it's over...

Chanaka has released his first single, a touching melancholic song of love lost. Lyrics and the MP3 are hosted by DefJamLab. I heard it was scheduled to air on TNL Radio yesterday, and may be released to local radio soon. Mirror Magazine ran an article too.

Way to go, man! Keep it up.

Monday, December 12, 2005

Milkshake

My web log brings all the nerds to the yard,
and I'm like: "mine's better than yours".
Damn right, it's better than yours!
I can link you, but I have to charge!

When he's not writing about WinForms, Chris Sells can be seen dancing around to the Geek Milkshake.
Incidentally, he and I both are the same OS - Slackware Linux, at least according to BBSpot.

Two good sites to kill that bit of extra time.

Sunday, November 06, 2005

Of all things quizzable

Loki, you bugged me. On the other hand, I am apparently acting my own age, which is something to rejoice about, me thinks. Having killed some time at Blogthings, I am now proud to make the following announcements:
I notice only the the big things in life, I'm an artisan, a 77% pure kisser and if I was a pimp, I'd be known as Maestro Dazzle.

Meet the parents, phase III

Or, to be more precise.. meet the in-laws-to-be.

My parents paid a visit to my sweety's place way back in September. That went ok, considering it was the first time the in-laws set their eyes on each other.. that was followed by the Graduation where the folks met again, this time on neutral ground. After much procastrination, we finally got round to phase III yesterday, with them coming over to our place.

A few minutes of small talk with some wierd intermittent periods of silence followed by snacks and tea, and they loosened up, their conversation drifting off to the usual mix of family history, ailments, and of course, politics.


All in all, a better than expected encounter, which seems set to hold.

Monday, October 17, 2005

NBQSA 2005

BigBrother made an appearance at NBQSA2005 and was honoured with Silver. An impressive thingy along the lines of the Oscars was also presented and currently rests majestically in my living room.