Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant

I Wish These People Updated More Than Once a Year

I have had a bit of a cold this week and thus if this presentation recap seems a bit loopy, bear with me!!  Whew.

We start with more theatrics around the projector.  Donald Belcham is in tears and on the ground.  Once again, John Bristowe to the rescue with a soothing hug and a couple of slaps across the face to get Donald together.   Whew!! 

Shirt review:  -*****  Donald with the "old standard" of the plaid deco shirt.  If it weren't for the bar being set so high by the amazing TILDE~! shirt of *doom* and Curtis Schofield's tribute to disco, this might have got a higher rating, but as for right now I can only give what is fair!

Projector is up!  John Bristowe saves the day by *looking* at Donald's laptop in a dramatic fashion, *intimidating* it into performance!

Donald: UI for MSMQ is a tad lacking.

Whoa!!  Donald is using the Microsoft Orgasmatron Fifteen Other Names 3000XL mouse*!  Nice zoom features. 

"Hopefully Microsoft will one day bring the API into the MSMQ library".  Bristowe looks angered.  Donald cringes in response.  Is it going to be smackdown city???

OOOOH - *Hungarian notiation* control names?  Donald, buddy!  Get with the *TIMES*!!  Ouch.  Just because that plaid shirt is a 70s throwback doesn't mean your code standards have to be!  (And you do, sincerely, have an *awesome* set of code standard links!)

Bristowe raises an eyebrow and beats his chest. Audience is torn between John and Donald for paying attention.  I'm a little distracted myself.

Donald drops straight into the message data to show the serialized XML inside the queue. 

Bristowe stands up and walks over, looking menacingly in Donald's way before dropping to one knee and flexing a bicep right in front of Donald's face.  This Bristowe guy - what an attention hog!  

You can put an ActiveX control into MSMQ??  WTF? 

John Bristowe: "That's primarily for queue components, a feature that no one uses anyway."  Donald snarls as Bristowe leaps up on top of the chair, gives Donald the double bird and then pours cans of Coca-Cola on himself!!  This place is going *NUTS*!  Although Bristowe has the height and reach and...well, *every* advantage on Donald, I still would wager on Donald in the fight...that cat is a *dirty* fighter, from what I've seen.  Admittedly Donald has only demonstated his UFC prowess against children in the playground but I still think he has a chance with regular adults.

Audience Q: "Do you always need to peek?"*
Donald: "Only if she isn't returning your phone calls!!  It's my right for paying for that dinner..." followed by trailing off, awkward staring into space, and *again* with the tears.  Holy cow, Donald has to be the biggest emotional wreck I've ever seen on stage.  Bristowe, covered in Coca Cola, maniacally laughs in the background.  Duelling chants for Donald *and* John.  What the heck is going on here?  I feel like I'm in crazytown!!

Donald: do *NOT* use MSMQ as any kind of data repository. 

Audience Q: "What makes MSMQ useful?"
- MSMQ can throttle itself if you are getting slammed with a serious throughput of data.  It can give your server time to breathe as potentially compared to a DB.  The customization options in terms of how many different messages can come through at a time are nice options.  Because you're only changing things through an MMC snap-in, it's very easy to do.
As well, Donald was writing to a system that didn't have the same availability as his own company (5 days, 12 hours a day).  Messages were sent to the queue and the system was usable even when the DB was unavailable.  Triggers would be enabled only when the DB was available.

(An aside: I've actually used MSMQ tied in with Biztalk previously and I find it to be awesome for some of the situations that Donald describes here, even though my experience with MSMQ is a little bit naive.)

DB: Very few properties that are useful on the MSMQManagementClass.  QueueType is about the only one that is even notable; everything else seems to be set in the constructor.

This seems to get Donald a bit upset as his upper lip is trembling...now he obviously is pretty frustrated judging from the rocking in the chair and the sobbing deal.  Who would've known this man is *so passionate* about the MSMQManagementClass? 

Donald gets up on the ground, takes 2 minutes to self-compose and goes on.

Audience Q: "What does the transactional status do?"
Just tells whether the queue is transactional or not.

"If you send a message to a transactional queue, it may not show up." 
WTF? 
"Didn't really sell me on transactional queues." 
No doubt! 
"Seriously, do you bastards *@#&#@ing HEAR ME!!!  I HATE THE TRANSACTIONS AND I HATE MY LIFE"
Uh...yeah.  Man, I am loving this code camp but we have certainly had our share of awkward moments!

We hear clapping in the other room and it's only 2:00 PM!!  Was that an early ending or did someone force Rockarts to get his shirt back on?

"Any limitations on queue size?" - Based entirely on hard disk space.

Donald actually threw half a *million* messages in the queue with no problems.  Now he puts 10000 messages in the queue - about 7 seconds!  19 s for 10000 messages, although those messages were pretty small.

"These are small messages, though; if you're looking to throw 10,000 copies of Justice's perm in there you'll definitely kill the queue."  Uhm, maybe because my old perm was too hot for any sort of technical contrivance.

Throwing an exception up to the trigger mechanisms will kill your trigger service.  Donald: throwing exceptions up to your COM component/trigger service will likely kill your trigger service and force a restart.

Donald admits to writing his *own* bitconverter even though Microsoft had that bult in the framework.  Donald: "I just made someone at Microsoft redundant".  Now it's *Bristowe's* turn to cry!!  The tables have turned!!  Seriously, what is with all the emotion in this room today? 

Donald: don't debug a queue that is actively receiving a ton of messages; this is similar to the situation you end up in ASP.NET if you end up debugging while someone else is trying to access your server at the same time.

Bristowe is still on the floor pounding the ground in frustration.
 
"How will Vista and WCF change MSMQ?"
Donald: "Ask the guy back there.  HUH JOHN!?!?  WHAT DO YOU HAVE TO SAY NOW??!" as he throws his laptop over on the ground. 

Bristowe: "WCF for queueing and transaction flow supports a wide variety of WS-* specifications.  We also support MSMQ mime-type so you can send SOAP messages to an MSMQ - it's in Indigo."

Donald:  "Indigo, John?"

Bristowe:  "That's it, Belcham, your @$$ IS MINE!!!"  Buddy, *watch* my hair when you're throwing the chairs here!!  WTF!  
 
Actually, although you'd wonder from all of the violence; Donald's presentation was very good, especially for someone who is a little more naive with MSMQ like myself; you know this must be grave when I'm using the words "awesome" and "Donald" in the same sentence!  But he makes this stuff look incredibly easy!  Oops, Donald just broke a bottle over Bristowe so I am getting out of here before this all falls apart!
 


 

Saturday, September 30, 2006 #