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

I Wish These People Updated More Than Once a Year

ASP.NET WebForms developers throwing a tantrum due to the MS MVC
Seriously guys, I'm going to run out of images if this keeps up

Apparently there are some WebForms lovers in the ASP.NET community who love the technology soooooo much that they were "not without a tinge of anger" when discussing the situation at PDC with Phil Haack, the program manager for the Microsoft MVC.  Can an online petition a la the oh-so-successful "Keep VB6 around because I'm tired of learning new stuff" be far behind? 

I had to laugh when reading the post, and not because of the image of a legion of "professional software developers" standing in front of Phil, looking down at their feet, hands in their pockets muttering, "If you don't stop progressing the industry, I'm going to burn my pocket protector".  No, I laughed because I know how Phil Haack *really* feels about WebForms development despite his public stance.  Let me share with you a heretofore-*confidential* exchange between myself and Phil:

From: Phil Haack (
To: Justice Gray [E-mail censored because I get enough unsolicited offers for sexual favors]
Subject: I need your advice
So there was a homeless guy wandering outside the 7-11 tonight and what a sob story this guy had.  "Excuse me, sir...but I used to have a job doing ASP.NET WebForms development..."  I didn't even hear the rest of his sentence but when I heard the word "WebForms" I just snapped.  Kicked that dude in the nuts *17 times*, poured a can of gasoline on him and then SET HIM ON FIRE, yelling,
"Burn!!!!  Burn like the careers of everyone who still does WebForms development!!!" 

So do you think I went too far?*

I had originally sent this E-mail to the local authorities but the Seattle police simply told me that they don't have the manpower to handle the sheer outbreak of people crying their eyes out on the streets about
a) how they do WebForms development
b) they feel "betrayed" by the very *existence* of the Microsoft MVC
c) they fear change.  I don't mean the change people throw at them while yelling "Get a *REAL* job" either.

There's not really much I can say to this reaction.  We talked about it briefly a couple of months back when "Mr. Drag and Drop" GridViewGuy dropped by Rob Conery's to say, "BOOOOO HOOOOO TESTING IS HARD STUFF, hold my hand so I can start doing competent work".  There's pretty much no way I can possibly relate.  What I can tell you however, is that if you like sleeping on a bed of money, you should learn the MVC.    If only you knew how much people like me make cleaning up WebForms projects gone wrong!!!  With every half-assed DotNetNuke implementation I save somebody from, it's another *10 billion dollars* in my pocket.  Hey, to all of you people soiling yourselves because WebForms is dying: maybe some of you suckers should spend less time doing this:

ASP.NET WebForms developers: on the streets because of MS MVC

and more time doing this:
WebForms developers need to stop whining and start showering!!

I take donations for SAVING YOUR CAREER.  Contact me if you need to send me money!

* Sincerely, the homeless are people too and deserve to be treated with respect.  Not WebForms developers though.
Wednesday, 19 November 2008 #

Some of the long-time readers of this blog may be familiar with my Charles Atlas on DIVs vs TABLEs post.  Apparently the fitness industry is using it to promote workout routines!!  Others have been using it for biographies of relatives.

Congratulations to the fitness industry for not only focusing on being ripped and oiled up, but also on web design standards!!

Tuesday, 11 November 2008 #

[this is not a joke, despite how it may read at first]

then you *need* to go see Scott Hanselman's presentation, "Microsoft .NET Framework: Overview and Applications for Babies" *tomorrow*, Monday the 27th of October, at 5:15 PM in room TL49.  You need to see it, and when it blows you away, make sure you provide good ratings and feedback for the presentation.  Hell - listen, if you're *not* at PDC, find some way to submit feedback anyway and make sure it is 10 out of 5 stars or whatever ratings scale Microsoft uses for these things.

Scott has given an overview of this presentation before, but in case you're too lazy to find it by clicking on the link, here it is again:

"Join Scott Hanselman for this lots-of-code-minimal slides talk that walks through the sheer joy of building out a .NET Framework application with Visual Studio using many of the new advances in the .NET Framework 3.5SP1 and 4.0. We have a data layer with Entity Framework, use REST web services with WCF and ADO.NET Data Services, write an ASP.NET site for reporting using Dynamic Data and MVC. All the data will come from a WPF client application and a Silverlight application that the audience will run live! All this, plus it's an application that babies and toddlers will love!"

So what makes this presentation great enough for me to interrupt my *own* self-promotion to highlight someone else? 

a) Scott's presentation is not yet another Northwind-based demo*
b) Scott's presentation is a highly original usage of the .NET libraries and thus stands a very good chance of being *memorable* and having a lasting impact on those in attendance
c) Scott is a Microsoft employee.  For those of you who read the first two points and thought, "Big deal, Justice, you did a presentation on MS MVC that explained the MVC pattern in terms of Steven Rockarts' drug addiction" I'm not an employee of MS, and thus not subject to Microsoft's cardinal rule against being interesting.
d) I know how Microsoft works with these things, and if Scott's presentation is the blowout highlight of the conference,there will be leverage for *more* original presentations, *better* presentations, and ones that actually can *teach* people via unforgettable impacts.  Who actually goes to a Northwind demo and actually *remembers* what they saw?

This is *your* chance to be an influence on Microsoft's future direction!  Previously, the only chances you've had to be part of a zeitgeist moment in the software development industry have been:

  • shaking my hand
  • seeing me wave at either you or someone behind you from a distance

Scott's presentation, believe it or not, may be an even larger moment than the above.  Please, I am begging you, if you have a chance to see this thing, *attend it with all of your might*.  It might be our only opportunity as a profession to free ourselves of Microsoft's Northwind-based demos and moving on to something meaningful!!

* Seriously, I legitimately dream of a day when the statement "This was the strangest Microsoft talk I could sneak past the bosses without them noticing" isn't something that needs to be said, even *half*-jokingly.  We've made some progress but we've still got a long way to go.
Monday, 27 October 2008 #

All right, let's have a chat. 

All great men spend some time in reflection and introspection.  I also do the same.  In these deeply meditative times I ask myself several questions:
  • Is it still right for millions of software developers, hairstylists, and porn stars to pattern their entire lives after my example? 
  • Are people still justified in publicly proclaiming that I am their sexual role model?
  • Is the development industry still in a state where I want to grace it with my presence?
  • Can I avoid having to come crawling back on my hands and knees to Chippendales?

Since I was 7 years old, the answer to these questions has always been an easy "Yes".

Then I see *THIS* on twitter:

William Ryan inadvertently starts in motion events that will change your world forever

My first reaction to this was outrage and shock.  After all, if anyone deserves to be known as the epitome of physical fitness in the .NET world, it should be the white Ginuwine, Justice Gray, and not some random IIS dude whose "name" sounds more like an alias for an adult film star. 

However, in the end I let this happen (the part where "Tobin" is hailed as a fitness guru, not the part where "Tobin" stars in X-rated films).  Earlier on this year I made a promise to you, your children, and more importantly your wives and girlfriends; a promise that only now I realize the consequences of not fulfilling.  As a result, there are really only two possible actions for me to taken.  However, plastering a giant animated banner proclaiming "Tobin Titus Stole My Studsmanship" on this blog is not only defeatist but a little bit visually jarring for the user experience of this site.  Therefore, I am choosing the alternative: publicly rededicating myself to my original goal of an awe-inspiring physique

I recognize that there needs to be something a little different than the last time I made this promise in order to make sure I follow through.  Sure, part of goal-setting is to make a public declaration, but we all know that the *very* best way to succeed is through fear and avoidance-based tactics.  It is with this is mind that I am now making you all what could be the costliest promise of my entire life.    And you can tell this is important because I am using bold font in every second sentence. 

I will be back in a 32" pant by the end of June 2009 - definitely - or the following 2 things will happen:

a) I will go shirtless for at least one full day at DevTeach Vancouver 2009, including any presentations I may be doing
b) Another public punishment to be determined by my good friend Donald Belcham

And after June, the possibilities are limitless.  After all, once I'm back to being ripped up, it is only a matter of time before I come to *your* user group to do presentations wearing nothing but baby oil and posing trunks!!  And once that happens my friends, everybody benefits.  Well, everybody except Tobin Titus, that is, who will have to be relegated to the #2 physique in software development.  But that's okay, you can't save everyone!! 

[Note: Kelly pointed out to me that DevTeach apparently is taking place at the beginning of June, and not the end as I was told.  I'll probably amend this to be 33" rather than 32" but for right now we'll leave it as is, because I am that inspiring]

Wednesday, 22 October 2008 #
Comments [5]   Goals | Personal  | 

I receive E-mails and fan letters - sometimes with women's undergarments attached - wondering at what point in my life I turned from an average human being into the poster child for North American sexuality.  The real truth of it is that rather than being the most spectacular late bloomer in recorded human history, I have been a raging, towering, *pillar* of manliness  since birth.  I have posted photographic evidence of this fact on previous occasions, but I've recently come across some items I felt worth sharing, items that will reinforce this point for what we from the street call "the haterz", items that I had forgotten even existed, much less that I had owned.

While unpacking boxes from the move to Vancouver, I came across a box labelled "Justice kids' books."  Inside of this box I found the following:

Given how often I am referred to as "The Mr. T of Software Development" - and have been *mistaken* for Mr. T - it's not too much of a surprise that I had 2 copies of this coloring book.  For those who know me, it is also not a shock that I seemed to have great difficulty coloring within the lines - however to be fair I was really tired last night and thus my hands were shaky.

What *was* astonishing was the *next* book in the box:

She Ra, Princess of Power Sticker Book

I'll admit that this discovery reminds me a lot of the David Laribee incident in that
a) I can't really explain why or how this ever came into my possession
b) to the untrained observer, it appears to call my rampaging heterosexuality into question

However, it's *easily* evident to me why I had this book when a toddler: She-Ra is a *fox*.  I'm not often all that into caucasian women (with some notable exceptions) but even then my taste for incredibly hot women was impeccable.  I defy you to find me another cartoon character with the legs that She-Ra possesses.  Never mind the fact that this book is a literary tour de force.  With deep dialogue like "When masked, CATRA is sneaky and cat-like" and "CASTASPELLA is a master of magic*", it's no wonder that between this and Dostoevsky I was a very busy 8 year old.

Knowing the average software developer the way I do, by posting these pictures I have done some of you the dual favor of:
  • giving you a glimpse into your hero's childhood past
  • giving some of you a date for next Friday night

To those of you who felt a twinge of shame when reading the above paragraph, I can only say:
  • According to Microsoft, most girls that software developers hang out with are 
    1. sexy
    2. fictitious,
  • so fixating on She-Ra really isn't going to be any different than any other weekend
  • and to D'Arcy Lussier - remember Mr. T is a lot older now than he used to be!   It just isn't going to be the same as when you were a teenager!
* am I the only one perturbed that there are so many wikipedia entries for She-Ra characters?

Monday, 13 October 2008 #

NHibernate and Our Army At Love
Trust me, if the war stories were like this NHib would be a *lot* more widely adopted

Trust me.  I've been there, I've felt that pain, I've even debugged the NHibernate source to figure out what the heck was going on.   Please, I beg of you, tell my tale to those who ask, tell it truly...and let me be judged accordingly!  And let me tell you, this Hamlet quotation is appropriate because going through this problem will make you feel as if your mom just slept with your uncle.  Do I take NHibernate difficulties too seriously?  Maybe.

Anyway, some of you NHib rookies out there might think that if you have an enumeration, it's easy enough to just map it to an int for DB storage, like the following:

namespace J
    enum JusticeCharacteristics
        *Sassy* // This is fake code homeboy!  I can use whatever characters I LIKE!

and then in the mapping file put the following for a class using the JusticeCharacteristics in a property called "Characteristics":
<property name="Characteristics"
              column="JusticeAppeal" type="Int32" />

Bold in this case stands for THIS WAY LIES MADNESS.

You see, when you do something like this NHib tries to map back and forth between two different types - the moment you retrieve the object from the database it is marked as "dirty" and thus you will get an automatic update call every time you close the NHibernate session.  Trust me, nothing is more confusing than profiling your application and noticing that you've got random update calls firing every web request!  Certainly a very confusing and time-intensive operation, made quadruply so when a himbo like myself is trying to figure out what destruction our team has wrought! 

The solution to this problem is actually pretty simple - just use the enumeration type as the mapped type:

<property name="Characteristics" column="JusticeAppeal" type="J.JusticeCharacteristics" />

Italic in this case stands for YOU ARE NOW AN NHIBERNATE NINJA.

Given the skew of the audience that reads this blog, I fully expect:
  • 99.999999999999999% of you read this post and thought, "Thanks for sharing something completely obvious" (trust me, it won't be the first time)
  • 0.0000000000000001% freaked out and raced to their production application and now have me to thank for saving their system performance
  • one of you doesn't even know what NHibernate is, but that's okay Dad! I'll explain it to the entire family over dinner this Christmas!
[Update: For the curious, Ben Hart has an explanation of the casting issues that cause this over on his blog.]
Monday, 06 October 2008 #

I rarely if ever do this but...

I told you so.


At last my brothers in arms, we are *VINDICATED*!!!!

Celebration is forthcoming next February!!!!  Big announcement to come!

Monday, 29 September 2008 #