Bloomiboy Babble -- Technical, Personal...it's all here...

Here's where I do a brain dump of everything I feel like throwing out there...it's part technical, part personal, part crap, and hopefully you get to learn something...sometime.

Wednesday, August 30, 2006

Funny: "Your zip code, please?"

FOB stands for 'Fresh Off the Boat' -- a crude reference to the first migrants to the land of Dreams, the United States of America. In modern times, it gets used to refer to the newest immigrants who are so typically dressed that you can pick then out even if they are mingled in a jam-packed Metallica concert: a "passport" pouch around their waist, a cap, sports shoes with formal clothing and to top it all, a map of the local area in their hands.

I'm not stereotyping them, but it's an evaluation that most will agree with.

So, why the background? I'm referring to a ex-student friend of mine who a couple of years ago was a FOB. He's probably much better right now, but things were not so rosy back then.

-- Flashback: 2 years before now --

It's the time when new Graduate students arrive in Madison. Let's call my friend "MXYZPTLK" (or "R" for brevity). Now R was a proud Indian student from the prestigious Indian Institute of Technology. He was not used to getting spurned or laughed at -- ever. This was a good change for him. Being a "senior" in Madison, I was entrusted with the task of taking a bunch of the FOB's out for shopping.

For me, R was the most entertaining person of the lot. He used to exude so much of confidence and was always way ahead of others, literally, in the matter of getting to a particular section of the shop. After most of the shopping done for the day, the last stop was at a apparel store to buy winter clothing.

Since this was his first shopping experience in the US, he did seem a bit hesitant and was choosy in his choice of items. Nevertheless, he got a few of them and was ready to stand in the check-out line.

R, with his chest full-o-pride, goes to the checkout counter.

Lady at Counter: "Hello! Are you ready to check-out?"
R: "Yes, I'm ready..."

LAC: "So...Did you find everything you wanted today?"
R:"Uh....Ummm...Yes..."

At this point, I seem to think that R is having trouble either hearing her correctly or with the new accent.

LAC: "Ok, so that will be a total of XX.XX$ for today...Check or Charge?"

At this point R is stumped. He looks at me for moral support and I butt in: "He'll pay by Debit card please..."

LAC: "No problem! Please swipe your card here..."

More trouble for R. He's now busy looking at where he should be swiping the card! He tries to insert it in all possible crevices of the swiping machine. I point him to the right way of doing it. By this time he's completely flustered and cannot contain his embarrassment!

LAC: "Ok, now can you tell me your zip code, please?"

--Start digress--
This seems to be a check that some places have in place to verify the authenticity of the card being used.
--End Digress--

R, by this time, was in a different "zone", hardly paying attention to what was going on there...He first tries to decipher what the lady is saying, then is in two minds whether to ask her to repeat her statement or not. But his ego wins this round of the battle and he decides, although hesitantly, to answer the question to the best of his understanding.

R: "M...X...Y...Z...P...", he trails off, looking for some hint of a positive expression on her face.

Here's what happens. The lady assumed that MXYZPTLK (note: she does not know his name) remembers his zip code with the help of a word and starts to type the corresponding letter on the keypad. If you remember, the keypad looks something like this:


The lady is busy typing his name on the keypad...poor lady! But after a while she stops...zip codes are usually 5 characters, why is this guy blurting out more letters than needed?!

Enough, I tell myself, but by this time I'm unable to stifle my laughter anymore...but I manage to tell him as decently as possible, "MXYZPTLK, she's asking for your zip code..."

R: "Oh, It's actually XXXXX..."

By this time, I'm on the verge of bursting, ready to barge out of the shop so that I can laugh to my heart's content. Luckily, I don't have to wait long and I have a wonderful laugh at poor MXYZPTLK's expense.

:) Poor guy, you can imagine how much we teased the poor guy, and this continued for 2 years until he graduated and is now starting work for a company, possibly helping others to cross the bridge. ;)

Movie Review: Suicide Club

http://flickfreaks.blogspot.com/2006/08/suicide-club-aka-suicide-circle.html

Tuesday, August 29, 2006

Movie Review: Omkara

http://flickfreaks.blogspot.com/2006/08/omkara.html

Monday, August 28, 2006

Posting delay

I'm getting my high-speed Internet on the 31st of this month, and until then there will be a slight posting delay. :'(

P.S.: I'm working on a review for 'Omkara', should be posting it shortly...

Saturday, August 26, 2006

Funny: Am I French?

This happened recently on one of my official visits when travelling across the United States. My typical flight connection takes me through Chicago O'Hare airport (ORD) . It's probably easier to wade through Walmart on Thanksgiving day than walking through Chicago during a peak evening time frame.

Anyway, I was looking for a power slot to get my now-drained laptop powered up. It's so surprising that a busy airport like ORD does not tend to have good placement of power slots around the terminals. I see so many fellow passengers who are constantly on the look out for power slots, and stay put once they find it although it may be many many terminals away from their destined one.

So, It's my lucky day and I happen to find one! Bummer...it does not work. But, lady luck is still with me and I find another one not too far away. Yey!

I plug in the cord and power up my whining and thirsty gadget. I look around to see a few people (almost) look at me with contempt; almost jealous of my good luck. Around the same time, a few weeks ago, I had borrowed a 'Learning French' book from the local library to satisfy my (then) momentary urge to brush up on my French, which I was so proud about at some point of time. The book is stowed away in my laptop bag. I digress...so let's get back to the airport mayhem...

I authorize myself to get access to my Desktop and right before I can perform any action, I see a gentleman who is standing right next to me and asks me something...inaudible over the din of the airport crowd.

I: "Excuse me?"
He: "Parlez-vous francais?"

At this time, the french in me wakes up and thinks: 'Bloomiboy, what are you waiting for? Don't be afraid...this is the perfect platform for you to showcase your skills. Go for it!'

I: "Je ne m'appelle pas francais...", I break off...

The Human brain...I wonder when mankind will be able to fathom it's complexity. I hate it. I hate it whenever I wish I had two of them - one to make the sentences and another to validate it.

I had just told the nice french gentleman: "I am not called french..."

I felt the floor below me give way. It's the feeling one has when you just do something and realize thet time travel does not yet exist so that you can go back and fix your gaffes. To add on to it, I see the man break into a chuckle, then a wide smile, then a loud guffah. The perfect icing.

I couldn't hold it in any longer...my self-realization has awed my own shamefulness and I join him in his joyous encore.

----

Hmm, it's funny when you actually experience something like this yourself...you can identify with me then.

Epilogue: We then started talking in English, introduced ourselves and have a nice short chat before we proceeded on each of our destinations. Btw, he was travelling to Canada on business.

Friday, August 25, 2006

The "Dream"

Have most of you dreamt about day to day happenings in your life? and woken up to actually remember it? ;)

You know what they say about dreams...it tends to bring in a lot of recent happenings...somehow intermingled and connected in this myriad of complicated scenarios. The worse part of dreams are: most people tend to forget it when they wake up! But if you happen to be in the minority community, try to recollect the finer aspects of the dream and you will be surprised how much detail goes into recreating it. Every teeny-weeny detail will have something to do with your likes, dislikes, events that happened, e.g. someone shouted at you, you made fun of someone, you met a girl you liked etc.

This is a dream that happened a long time ago. I did remember it after I woke up ;), and also made it a point to tell my friends about it...and because of that it has withstood the rigours of time and I can now narrate it to you.

A few characters need to be introduced and for the sake of brevity and confidentiality, they will remain unnamed, although represented by their initials.

I, Bloomiboy (B) will be the person through the eyes of whom the dream will be narrated.
AG is the male protagonist of our story.
SP - the female protagonist
SV - the silent spectator
GS - the villan

Background: AG is in love with SP.

The dream unfolds...

It's white...completely white. I'm struggling to see what's ahead of me, the light is just blinding and I wish I had my sunglasses with me. Hmmm, wait...somebody is reading my thoughts and the light seems to slowly merging with the ambience. Phew...it's about time.

Holy moly! It's a hospital! What am I doing here?! Where am I?! What's going on? Has something happened to me....?!

Just a second...I'm in the hospital waiting room, there are other people around me -- people I know AG, SV and other people I don't. Ok, so it's not me who is in trouble...BUT if I'm at the hospital, then someone I know is!!

Suddenly, I feel the temperate around me drop and my hands embrace my body as in reflex. The skin on my hands feel weird...oh, I got goose pimples...ok, one mystery solved. But still, what am I doing here!?!

Hold on, let's find out from AG and SV! After all, if they are there, there has to be a reason which they obviously know about! I turn to ask...but don't reach too far.

There's a suddence introduction of blaring music and I'm really wondering now...! Leave alone music, even people talking would be considered offensive at a hospital. No time now for that...I turn towards the direction of the music and I see a person at the far end of the coridor.

You know, sometimes I wish I stop seeing these raunchy Bollywood movies?

The person is dressed in all black, a stark contrast to the blanche hospital walls, his head covered by a black cap and his face is hidden by the flap of his coat. Coming to think of this now, I think Keanu Reeves in Matrix has the exact same dressing style! Wachowski....you were lucky this time only because of your marketing skills!

I'm still struggling to understand what the heck is happening here...it's all too muddled. I don't want to be a hero. I'm ready to wait till someone tells me what's going on here -- and there better be a good reason.

The Man in Black (MIB) starts his slow walk towards us.

You know, I hate the climax scences of Indian movies. Have you seen how the hero runs at one frame a second to save his babe who is probably just a few meters away from him? By the time he gets to her, you can go out and get a few cups of soda and popcorn and still not miss much.

The walk is agonizingly slow. I just wish I could run towards him -- luckily better sense prevails. Remember what happened when the "Agent" ran towards Keanu Reeves? No...I'm not ready to be obliterated...yet.

The walk...comes...to an end...(yawn!) with the MIB standing right next to us and yet not showing his face. I feel like giving a uppercut to his jaw for making me a part of this silent movie. But wait! He lifts his head...and....AND it's GS! Our sworn enemy! Oh man! How many times have I got in trouble with this guy...and poor AG, does he know that SP is in love with GS and not him?!

Time for me to act: Should I just K.O. GS and secure AG's undying gratitude for getting SP back for him?! I wish my neurons would just fire now. Too late, GS makes his move.

He asks in a tone that is chilling, but with no other emotion attached to it: "Has SP delivered?"

--- POP ---

Dream sequence ends.

---

Now you must be wondering how this has to do with the predule I gave before the narration of the dream sequence.

1.) I used to tease AG a lot with SP.
2.) GS was my sworn enemy, in the sense that we have many an altercation (unrelated to SP).
3.) SV was the "silent killer" - he would make statements at the most opportune moment.
4.) The morning of the dream, I had teased AG...again.
5.) The same day, I saw GS and we exchanged mean glances.
6.) I heard about a friend of mine who went to the hospital for his fracture.
7.) I saw a Bollywood movie the same day.

So you see?
It's all a reflection of what has transpired in the past day or so that decides how your dreams are "manufactured". The more you go through, the more interesting your dreams turns out to be!

The next day, I spoke about this dream at length to AG and SV, and to this date, we remember it and laugh.

Update: SP is married now, but to neither AG or GS. And no, the last I heard, she never has had the same reason to go to the hospital...;)


Application Printing Error: Function address 0xXXXX caused a protection fault.

Here's the detailed error except for the error-dependent stuff:

"Function address 0xXXXXX caused a protection fault. (exception code 0xXXXXX)
Some or all property page(s) may not be displayed"

This is a very annoying issue...when it happens. It depends on what recent upgrades have been "inflicted" on your Print Server and the local machines that depend on device definitions from the server. It also seems to happen only from modules/applications that use the Interner Explorer DLLs for printing and may not affect other applications such as word or Excel.

They typical cause of this issue is the application of patches on either of the machines -- expecially the ones that include print driver updates. If any of the definitions are inadvertently [actually correctly] "downloaded" onto the local machine, it tends to complain about the lack of conformance with the driver struct(ure) [reference to the C programming language] definition on the machine and gives this "useful" message box.

The only way to workaround this problem would be to stop the print spooler on the local machine, delete the printer definitions and recreate them.

To delete the definitions, an easy way would be to delete the files under
the " C:\%WINDIR%\system32\spool\drivers\w32x86\2" and " "C:\%WINDIR%\system32\spool\drivers\w32x86\3" folders. [-- where %WINDIR% points to your local windows installation directory --]. Make sure the spooler is stopped when you do that.

After that, restart the spooler, reinstate the printer definitions, and your errors should go away.

Note: The same issue can happen on Citrix installs too, in which case you can perform the very same actions as above on the Citrix Presentation server servicing the client machines.

Funny: You drink, and you see things...really!

Here's a funny post I lifted my one of my "linked" blogs...makes real funny reading if you excuse the grammatical abruptness of the sentences...:)

Peg After Peg
I never take risk while drinking. When I come from office in the evening, wife is cooking. I can hear the noise of utensils in the kitchen. I stealthily enter the house.

Take out the bottle from my black cupboard
Shivaji Maharaj is looking at me from the photo frame
But still no one is aware of it
Becoz I never take a risk
I take out the glass from the rack above the old sink
Quickly enjoy one peg
Wash the glass and again keep it on the rack
Of course I also keep the bottle inside my cupboard
Shivaji Maharaj is giving a smile
I peep into the kitchen
Wife is cutting potatoes
No one is aware of what I did
Becoz I never take a risk

I: Any news on chopra's daughter's marriage
Wife: Nope, she doesn't seem to be that lucky. Still they are looking
out for her

I again come out; there is a small noise of the black cupboard
But I don't make any sound while taking out the bottle
I take out the glass from the old rack above sink
Quickly enjoy one peg
Wash the bottle and keep it in the sink
Also keep the Black Glass in the cupboard
But still no one is aware of what I did
Becoz I never take a risk

I: But still I think chopra's daughter's age is not that much
Wife: What are you saying? She is 28 yrs old... like an aged horse
I: (I forgot her age is 28) Oh Oh...

I again take out potatoes out from my black cupboard
But the cupboard's place has automatically changed
I take out the bottle from the rack and quickly enjoy one peg in the sink
Shivaji Maharaj laughs loudly
I keep the rack in the potatoes & wash Shivaji Maharaj's photo & keep it in the black cupboard
Wife is keeping the sink on the stove
But still no one is aware of what I did
Becoz I never take a risk

I: (getting angry) you call Mr. chopra a horse? If you say that again, I
will cut your tongue...!
Wife: Don't just blabber something, go out and sit quietly...

I take out the bottle from the potatoes
Go in the black cupboard and enjoy a peg
Wash the sink and keep it over the rack
Wife is giving a smile
Shivaji Maharaj is still cooking
But still no one is aware of what I did
Becoz I never take a risk

I: (laughing) So chopra is marrying a horse!!
Wife: Hey go and sprinkle some water on your face...

I again go to the kitchen, and quietly sit on the rack
Stove is also on the rack
There is a small noise of bottles from the room outside
I peep and see that wife is enjoying a peg in the sink
But none of the horses are aware of what I did
Becoz Shivaji Maharaj never takes a risk
chopra is still cooking

And I am looking at my wife from the photo and laughing
Becoz I never take what???

Thursday, August 24, 2006

Moving apartments...

Most people in the United States dread the day(s) when they need to move apartments...

What follows is a (or maybe even a few) week of complete mayhem until you have "settled" in. What you don't realize is how much it takes for you to tune your biological clock to match up to changes in your habits, e.g. how early do you need to get up now to reach work in time, etc.

Eating habits? You expect them to remain the same? Dream on...I had the liberty of going home every afternoon to grab brunch, and now I have to make alternate arrangements.

I like my new apartment. I move in order to get closer to where I spend most of my time (evenings). All my sport activities are centered around my apartments and so are my friends -- it was certainly worth the effort.

I plan to put up some pics...soon to follow.

Movie Review: Spy Game


http://flickfreaks.blogspot.com/2006/08/spy-game.html


Using ActiveX within .NET, Versioning, manifests and issues

I decided to start this off with a posting on how ActiveX objects get used within .NET applications (be it a Windows service or otherwise -- I'll talk about ASP.NET separately). I'm going to be concerned only with VS2005 and .NET 2.0 but I won't have code snippets here.

I will also be talking a little bit about Side-by-Side (SxS) running of components.

One sentence sums it up: It's as seamless as possible. One thing it can end up doing is to expose bugs in your COM component that were not seen before. e.g., any threads hosting the component run as STA, and that combined with the Hyperthreading support in Intel processors or multi-processor machines can expose condition in the code that should ideally be surrounded by mutexes.

When one writes COM code, one does not care about the critical section as much as you would need to care for starting now...
---
When you include an ActiveX component as part of your Project, e.g. drop in on a WinForm, VS2005 will automatically create wrapper functions for you that will hide the ICoInitialize and other ICo* COM interfaces from you. You can also create a AxHost class manually. Your instances will then be "objects" of this AxHost class.

The most crucial part of doing this for Enterprise and professional applications is the versioning aspect. We know that the Ax .ocx components have to be registered on the machine in order for them to be referenced correctly. Fortunately, VS provides a way around that with the support for .manifests.

Manifests are essentially "redirectors" that allow the .NET runtime to use a local/different copy of the component than the one actually registered on the machine. This is dynamically decided. Manifests are always associated with .exe files only. You will have at least and at most one manifest per .exe.

So, your foo.exe will have a corresponding foo.exe.manifest. It's a XML file that stores the GUID references that should be used and the pointer to the component that needs to be loaded up.

Issues:
1.) Developer machines: Note that although manifests don;t require any component registration, the correct component has to be registered on the machine where the development is happening. It is also a requirement for machines that do automated compilation. It's not required only for the actual build copy running just the .exe and supporting DLLs and other files.
2.) Versioning: This is again a problem with testing on developer machines. If the GUID for component changes, the developer would need to register the correct version and use that instead. This would need to happen for every version that breaks compatibility.
3.) ASP .NET: This is by far the most crucial. .NET 2.0 actually removed support for manifests. Note that ASP .NET processes don't run as separate exe's. They are all hosted with the primary IIS application aspnet_wp.exe. In my trial, I was not able to associate a manifest with the exe and get it working at the same time -- a pity that the support was removed.

Note: Manifests are inherently supported by WinXP and Win2003 server and not by Win2000 server and previous editions of Workstation OSes. This is the SxS support I was talking about -- google and you will find tons of information on them.

Windows services and applications behave the same when it comes to manifests.
---
One way to overcome all these issues would be to provide a clear demarkation using the MVC pattern for COM components. It's always good to clearly demarcate the GUI part into an OCX and have the "backend" functionality into a DLL. In this way "server" software, like ASP .NET pages, can use the DLL to perform any manipulation needed and does not depend on the requirement for a component registration or manifests. From this, it is clearly obvious (if it was not before) that registration is needed for ocx'es only.
---
Comments are welcome. Clarification will certainly be provided if solicited.