St. Louis Day of .NET–That’s a Wrap!


Earlier this year I I was lucky enough to have been invited to speak at last weekend’s St. Louis Day of .NET conference in (you guessed it!) St. Louis, Missouri Smile.  Held in the Ameristar Resort and Casino, this 2-day event drew nearly 800 attendees from the surrounding Midwest region.

From what I was told, apparently buried somewhere deep in the bowels of this massive hotel, shopping, conference center, and casino complex there actually still is a real riverboat.  As I understand the laws governing legalized gambling on the Missouri river, the boat no longer actually needs to be able to leave port, but it apparently does still require both working engines (that are fired up once or twice a year to prove that they still work) and a riverboat captain aboard at all times.  I’m not sure my ego would permit me to take the job of “Captain of a Boat that Never Leaves Port”, but without even looking into it I can bet that the pay and the benefits for commanding such a stalwart craft probably equate to a pretty good salary for anyone willing to surrender their dream of being a Riverboat Captain in anything but name only.

This whole ‘gaming the system’ thing reminds me of when the zoning laws only permit “renovations” rather than new construction and so people purchase an existing home, raze it to the ground but leave a small corner of the foundation, and then “renovate” the thing into a brand new building.  No matter how well rules are written, I guess someone will find a way to bend them that still complies with the letter of the law, if not the spirit Sad smile.  Kudos to the lawyers involved, I guess!

Overall Conference Impressions

Large~St._Charles,_MO~Conference_Center_Theater_StyleSt. Louis Day of .NET (STLDODN) was a great conference – the local community organizers should really be pleased with the professional manner in which they and the volunteers delivered this conference.  This was the fourth annual convening of this conference and the organizing team really seems to have this refined to a solid, repeatable process by this point.  From the POV of a speaker, I had no complaints whatsoever.  The A/V equipment was top-notch (and overseen by experts in this area), the rooms were all well-planned and organized, and even as a speaker from outside the local region I felt welcomed and included in the social fabric of the conference.  As one of the organizers of the NYC CodeCamp (BTW, call for speakers is still open until 9/11/2011 on that!), I know all too well the effort required to pull off an event like this and so I offer my sincere appreciation for the contributions of all concerned.

I had a really great time and I hope that I’ll be asked back again next year for the fifth anniversary of this stellar event!

First Talk: Taming Your Dependencies with Inversion of Control Containers

My first talk was delivered right after lunch on the first day.  Despite the usual malaise that sets in for attendees after a meal, the crowd of about 120+ seemed awake and interested in what I had to say.  The level of questions and comments suggested that attendees were well-engaged in the content and that it was properly resonating with them.  At the close of this talk, I received what I would honestly consider to be the highest praise I think I could ever hope for in the form of this comment from an attendee:

I have tried several times to understand this topic and always gave up after reading 1-2 confusing blog posts I’d found on it.  This talk laid out everything for me in a way that was really easy for me to follow and comprehend — you have a great way of making complex concepts simple, understandable, and approachable.

I can only hope that others that attended this talk had anything even close to that experience Smile.  As of the date of this blog post, I’ve received 9 ratings resulting in a 4.67 average (out of 5.0) so at least for the disappointingly tiny number of attendees that bothered to rate the talk, it seems they were very satisfied with it.  BTW, if you were there and haven’t yet rated the talk, please do so ASAP right here so that I can get the broadest feedback possible in re: how to improve this talk for the future.

If you’re interested in reviewing the content from this talk, it can be downloaded here:

Second Talk: Refactoring to a SOLID Foundation

This second talk was scheduled for 8:00am on the second day of the 2-day conference and so my own expectations for attendance were pretty low.  I was extremely pleasantly surprised to see that over 100+ came out to hear it even this early in the morning after a long night of hard drinking socializing!  In speaking with the organizers, the choice of this time-slot for this talk became clear: the other 8:00am slots were all allocated for what STLDODN calls “JumpStart” talks, introductory talks designed to get one started with a specific technology/framework (e.g., JQuery Jumpstart, ASP.NET MVC Jumpstart).  By slotting my talk against those designed as more intro content, pretty much everyone awake at that hour and not interested in intro content would end up in my session Smile.  Pretty smart, actually (and seemed to work well, ensuring that I had a really full room for the talk)!

This talk went pretty well and the audience seemed awake, alert, and engaged despite the early hour for it.  Several people offered that having a patterns talk first thing in the morning really kicked off their day right and  got their brain in the proper state of mind to enjoy the rest of the day.

In order to fit what’s otherwise a 1.5 hour talk into the 1.0 hour time-slot I had to do two things:

  1. remove one of the (semi-)gratuitous refactorings from the code demo
  2. shut up and code

#1 was easy to do and based on feedback I don’t think it negatively impacted the quality of the talk or the audience’s ability to follow along, but #2 was harder than I expected Open-mouthed smile.    Nonetheless, I did manage to complete this talk in almost exactly the hour allotted for it.  The feedback was almost universally positive on this talk and I always enjoy delivering it to an audience like this one that’s receptive to learning about how design flexibility into a codebase without inventing a gigantic configuration subsystem with thousands of knobs and levers.

As of the writing of this post, this talk has rec’d only five ratings, but all five gave me 5.0 (out of 5.0) so at least among those bothering to respond I have to consider this talk a success.  If you were there but haven’t yet rated this talk, please do so here ASAP – otherwise you are robbing myself and the STLDODN organizers of important metrics that can help guide our future actions.

If you’re interested in reviewing the content from this talk, it can be downloaded here:

Third Talk: Unit Testing Patterns and Anti-Patterns

This last talk of mine was delivered just before lunch on Day Two to an audience of about 100+.  Its always great to see a Unit Testing talk gather an audience that large – I’m seeing this more and more at .NET-centric events but I’m old enough to remember that it wasn’t all that long ago that such topics were considered ‘fringe’ and garnered only meager attendance in most cases.  The trend is certainly encouraging to me as a proponent of testing as a way to know my code actually works (vs. the type-and-pray approach favored by others Smile ).

This talk was a bit of a mixed-bad in re: its delivery.  In response to comments from prior deliveries of this talk that there wasn’t enough time for code samples, I reduced the amount of time spent on the slide portion of the talk to give us more time to look at the code + tests in the IDE.  This did help the problem, but there still wasn’t time to dig into nearly as much of the code as I would have liked for this talk.  I can blame part of this on trying to cram a 1.5 hour talk into the 1.0 hour time-slots at STLDODN, but I knew about this time-limit going in and just did a less-effective job of time management for this talk than the other two I delivered.

Issues with time-management are a recurring theme for deliveries of this talk and I think part of the challenge here is that its conceived of as a talk that involves audience participation (“Who can tell me what’s wrong with this test?”) and that approach is always a double-edged sword – it helps to ensure the audience is engaged, but it also slows down our progress through the code in unpredictable ways.  I probably really need to seriously consider having TWO versions of the code for this talk in the future: one for non-time-boxed user group settings where I can afford to “go interactive” with the audience and one for time-boxed conference settings where its probably more important to try to cover all of the code samples than it is to engage the audience directly during the test-refactoring process.

Agile says “Introspect and find ways to improve for the future” and so I think this is definitely a change that I need to make for future deliveries of this talk in order to better manage my time.

The good news is that despite my (fairly obviously) running short of time, the content that I did manage to cover in the talk seems to have been well-received.  As of the date of this blog post, this talk has received an average of 4.78 (out of 5.0) from the nine people who took the time to rate it.  If you were at this talk and didn’t yet rate it, please take the time to do so here if you have a minute.  All comments, good or bad, are encouraged!

If you’re interested in reviewing the content from this talk, it can be downloaded here:

Thanks Again to the Telerik Insiders Program

telerikLogo-web-174x69pxI would be completely remiss if I didn’t take this opportunity to thank Telerik for making it possible for me to attend and speak at STLDODN this year.  Through my association with their Telerik Insiders Program, they provided funding for my travel and lodging expenses, without which I probably would not have been able to make this trip.  If you want to thank Telerik for making such things possible, feel free to contact them and let then know how much you appreciate their continued efforts in helping to support this kind of community event and speakers such as myself!