En route to VSLive! Toronto, I decided to stop in Milwaukee, WI for a weekend conference called Deeper in .NET. Sponsored by the rockin' Wisconsin .NET user's group, organized by Scott Isaacs with assistance from Doug Rhoten of the rollin' Chippewa Valley .NET user's group, and underwritten by a large number of local and national companies, Deeper in .NET attracted four of the most dynamic and well known speakers in the .NET community: Julie Lerman (pics), Michele Leroux Bustamante, Scott Hanselman, and Bill Hatfield. In response, over 500 eager .NET developers from Milwaukee and beyond, packed themselves into a drab banquet hall at the hohum Hyatt Regency in Milwaukee at 7:00AM on a Saturday for a full day of .NET love on a spectacular spring day in the Great Lakes region.
Deeper in .NET Speakers and Agenda
Michelle, a Microsoft Regional Director from Southern California (dasblonde.com), opened the event with a rousing technical session on WCF. Scott Hanselman followed with an awesome presentation about DasBlog. At lunch, they were joined by Bill Hatfield, Julie Lerman, and two Microsoft employees (Dave Bost and Brian Tinkler) for a Q&A panel discussion about Vista, Google, and several new .NET innovations. After lunch, Julie Lerman talked about ADO.NET and Bill Hatfield about AJAX and Atlas.
Milwaukee Hyatt Overrun by Geeks
Funny side note: Shortly after I arrived at the Hyatt, I heard my name. I turned around to find Julie Lerman, who cheerfully greeted me as she always does 🙂 and immediately introduced me to some people she was talking to. "These are my Fox friends," she said. Turns out, there is a two day FoxPro convention taking place in the Hyatt Milwa at the same time as Deeper in .NET. Coincidence? Apparently, it is. A complete surprise to everyone. Amused by the situation, I asked Julie's FoxPro developer friends what they think of LINQ. Blank stares. They've never heard of it! Alas, I later learned that in addition to the hundreds and hundreds of FoxPro and.NET geeks in the building, the National High School Chess Championship is taking place at the Hyatt Milwa, concurrently. Geeks! Geeks! Geeks! Everywhere.
Scott Hanselman on DasBlog
Here are a few notes and reflections on Scott Hanselman's awesome, 1 hour and 45 minute session on DasBlog, XML-RPC, SOAP, C#, and other blog-related technologies, applications, and services.
Whereas Scott based his talk on DasBlog, a project to which he is a primary contributor, the bulk of his presentation revolved around the technologies DasBlog relies upon, such as XMLSerializer and RSS, he did a good job of highlighting related applications, features, services, and technologies such as SOAP, BlogJet, Newsgator, and others.
The .NET Communicator
A gifted and engaging speaker, Scott Hanselman quickly establishes rapport with his audience. In a good natured way, he bemoans several of his pet pieves with Microsoft developer tools and technologies. With respect to code behind, he says, "I love XMLSerializer but not the "voodoo" code behind stuff." Rhetorically, he asks, "Are there any Microsoft employees in the room?" In the back row, Dave Bost and I meekly raise our hands. Mercifully, Scott pretends not to notice. "Microsoft speakers always gloss over what I'm about to show you." He cracks open the code behind file for a DasBlog class in Visual Studio and digs into the code. He muses, "Check this out. There must be a hundred lines of code here for the six lines of code we've written so far. What does it do? It's magic."
XMLSerializer Rocks, Until...
Suddenly, Scott breaks from his demo, paces across the stage with code from the overhead projector washing over his face and emphatically says, "XMLSerializer RuhOCKs. It Rrrrocks. RuhRuhRuh rocks." He stops and adds, "Until..." [long pause, upraised index finger] "Until it doesn't work. And then it doesn't rock and we go back to reading nodes, one by one.." He concludes, "I don't believe in black boxes."
Connecting with .NET Developers
Clearly at home on the dais, Scott fills his presentation with self-effacing jokes like, "I google myself all the time because I have no memory" and "You can contact me at paypal:email@example.com". He pauses occasionally to look up at the big screen and comment on minor typing mistakes. "Hmph. This is what Visual Basic programmers do when they can't remember what language they're using: '//this is a comment." The audience laughs appreciatively.
Scott relates to his audience as a peer and connects with them in a genuine and friendly way. He builds credibility with highly technical attendees the old fashioned way, by exhibiting technical wizardry. He makes the rest of us 😉 feel smart--or at least not stupid--by occasionally drilling down into advanced concepts and technologies. He employs funny metaphors, deftly.
Scott doesn't rely on cheap tricks, such as name dropping, to establish credibility with his audience. For example, at one point, he asks, "How many people in the room have a SOAP application in production?" One person raises their hand. "SOAP is HARD, isn't it? It makes us programmers work." In a few seconds, he transforms a 10 line XML file from SOAPy syntax into a simpler form: XML-RPC. He interjects, "Would you believe that the same brilliant madman who wrote this...[Scott deftly adds about 20 characters to the file]...wrote this." [and he quickly removes all 20 characters from the file]. He never mentions Don Box's name.
I highlight this subtlety because, in my opinion, it is the type of thing that distinguishes a GREAT speaker from a really capable speaker. By referring to Don Box but not mentioning his name, explicitly, Scott refrains from saying, 'I'm special and you're not because I know Don Box and you don't.'
DasBlog: Reusable Patterns and Free .NET Code that Works in Context
With well-rehearsed rhythm and delivery, Scott occasionally puts on his serious face, notes that he has something important to say, and then shares a nugget of wisdom or a technical tip, developer to developer. Here are a few salient tidbits that I managed to capture, on the fly:
- "As you [and your blog] move from place to place, your content should follow you. There's nothing cheesier than going to a highly technical person's blog and seeing, 'I've moved my blog to another site.'"
- "We don't have a SQL Server data provider for DasBlog but we're working on one."
- "When you have a really awesome DAL, you can render your content in any form you want, such as RSS. I can't emphasize this enough: keeping your DAL clean is very, very important [to facilitate future data provider changes]."
- "You should consider implementing an XML-RPC endpoint on your CMS or blog engine in your company or for your clients so that they can use any blog editor that you/they want."
- "Does anyone in the room use programs like Newsgator in Outlook to manage your RSS feeds?" [~10 hands go up.] "There are 5000 unread posts in your Inbox," Scott intones. "Don't you feel the psychic weight of your RSS feeds?" [Indeed, I do.]
- "If you're going to start a blog, number one thing: own the domain." [Doh!]
- "Hackable URLs are becoming increasingly important. Our spouses have learned that if they get a 404 error, they can just chop off part of the URL and try again. It's important that we provide URLs that are simple and make sense. Amazon recently changed their URL scheme in recognition of this fact."
- "If you can remember a time when there were no cars, you shouldn't be driving. If you apply this to IT..." [laughs]
- "It's up to us to make sure that our moms trust Microsoft as much as they trust Google. There's no reason people should distrust Passport, for example."
- "DasBlog is an open source application. Open Source," he emphasizes. "There's a big difference between "open source" and "source out in the open." "Dasblog and other open source applications like NUnit and NAnt are really great repositories of code that you can use in your daily work." [...] "People copy 'source in the open' from sites like google groops and paste it into their editors. I don't know why this works." [Big Laughs] Sensing that he needn't explain his joke to a knowledgeable audience, Scott draws from and builds on the crowd's energy, "It's like a guy standing in the middle of a mine field who says, "Look, there are no mines here." [Big Laughs] "There are some great patterns in working, living open source applications that apply to other types of applications. DasBlog is one such application."