Tomorrow I set off for a five state, six city INETA tour with three brand new talks. This is part of giving 27 talks in 90 days, which is about as crazy as it gets (check www.gendotnet.com for my schedule).
I know most folks reading this will not be able to make these dates, but I wanted to share some perspective on what I think is cool about each of these talks, because it gives some insight about how I am thinking about these things. Of course if you’re near any of these locations, please drop in.
If you are part of an INETA group, I’ll have these (along with about five more) on my list for talks next year. If you aren’t part of an INETA group, why not? It’s a great way to network with peers, and great content from a range of local, Microsoft and INETA speakers for free. I’m still up in the air on my Q1 schedule because I’m looking for an English Springer Spaniel puppy (crossed or field, suggestions welcome), and when I find one I’ll have to be mom for a while.
.NET 3.5 Language Improvements (Huntsville, Tuesday 10/9/07) – NEW: Thanks to Sujata’s encouragement, I’m going to dive into combining a C# and VB 3.5 talk. A lot of the stuff, the underpinnings of LINQ and the myriad of cool things we can do with it are the same in both languages. The difference is syntax. By combining them I can show some of the cool XML extensions for VB. For some problems, these extensions are important enough for a C# team to justify a few VB modules to access this goodness. I think it’s important for everyone to know what’s on the table in both languages so you can pick the best tool for the job in the rare cases it matters.
WPF – Beyond the Bling (Little Rock, Thursday 10/11/07): This is not a new talk, but it’s one I am happier with each time I give it. WPF is an awesome platform and I think to get it you’ve got to spend some time with XAML – maybe a lot of time because the designers suck so badly. My main theme in this talk is what it really means to separate appearance, behavior and layout and why layout is the long term investment.
WPF Custom Controls (Nasvhille DevLink, Saturday 10/13/07) : I gave this talk at SDC just barely able to keep from falling asleep as I fought off jetlag. I’m looking forward to enjoying the talk a bit more this time. A core piece of this talk is actually showing you when NOT to use custom control s – an array of scenarios that we needed custom controls for on other platforms where WPF has a better story. Then I discuss scenarios where your own controls make sense – both to hold a subset of your UI in a user control and to offer a different programming interface.
Metadata Key to Code Generation (for architects) (Nashville DevLink, Saturday 10/13/07) – NEW: DevLink should be fun with a chance for me to get together with my buds Rocky, Scott, Billy, and a whole bunch more. I’ll be giving an architecture talk, which is always interesting for someone so invested in code. But 90% my code is generally generated, so I’ve got a lot to say. When it comes to code gen, I think it’s all about metadata, and Microsoft’s Entity Framework just underscores this.
Rethinking Object Orientation (Mitchell, SD and Michiana, Monday and Tuesday 10/14 and 10/15/07) – NEW: This talk debuts things I’ll be talking a lot more about in this blog. Object Orientation Design in the traditional sense has become unimportant at best, and damaging at worst. I have over twenty things that have fundamentally changed since Booch’s work in the early 1990s. Since I was a hard core disciple, this rethinking has been challenging and sometimes very disconcerting. At the end of the day, I think there’s a clear strategy for moving forward with today’s applications – and I’ve gleaned it from talking with hundreds of programmers about what makes their own designs sing (or groan).
Refactoring with Generics (Fort Wayne, Wednesday): This is the talk I thought had a six month life two years ago and it’s still one of my most popular talks – I’m giving it three times Aug-Dec. Generics in the framework have a huge potential to make your code more robust, and a little faster along the way. I talk about this, and understanding what generics really are (I even compare them with C++ templates if there is a C++ programmer in the house). But I go beyond this to show how valuable generics are in refactoring your object hierarchy – you can simply move more stuff into generic base classes, even while you need to retain the non-generic base. Seeing this come together to reduce the code base by 50% is pretty impressive which is part of why I think this talk lives on.