Got to the keynote this morning slightly early to get through
registration and whatnot. They gave us binders with printouts of the
slides, which is cool, and CDs with the sample code on them. They gave
us 64 MB USB thumb drives, too, which made me think a few things: First,
why only 64MB? I can go to Fry’s and get a half gig USB drive for
pennies - what am I going to do with 64MB? Second, why hand me a CD with
the source code on it and a thumb drive on the side - why not put the
source code on the thumb drive so I don’t have all this extra crap to
Common sense aside, I guess I can’t really complain so much. Maybe.
The keynote was pretty decent, but it ran like 20 minutes over, which,
of course, threw off the scheduling for the whole rest of the day. That
was pretty irksome because later on in the day there were lectures where
we didn’t get to hear everything due to the time issue and we missed
stuff I’d have liked to have heard.
The first lecture I went to was on garbage collection in .NET. Most of
the stuff in there I had heard, but they went through an interesting bit
talking about how garbage collection is handled differently in debug
builds vs. in release builds. Apparently references to objects are held
longer in debug builds in the event a debugger needs to attach to the
assembly. That means garbage collection can’t release memory for all the
objects it needs to until the end of their scope, even if they’re not
used anymore. That has the possibility of eating your lunch, methinks.
Release builds don’t have that problem since the optimizations for
garbage collection are in place.
The second lecture was on what’s new in ASP.NET 2.0. The majority of it
was spent on DataSource and GridView/DetailsView stuff which,
unfortunately, I had already seen. Toward the end they started getting
into the Wizard control, some of the user profile stuff, dynamic
navigation, and the things I was interested in… but because of the
messed up time issue, we didn’t get to see all of that before we had to
go to the third lecture.
The third (and final) lecture of the day was on making dynamically
extensible applications in .NET. I learned quite a bit there about how
servers host applications (sort of like how IIS hosts .NET apps) and
there was a lot of low-level discussion on creating AppDomains and
instantiating objects from one AppDomain into another. Interesting
academic discussion, but I’m still having difficulty figuring out how I
might be able to apply some of that in my current work. After the
AppDomain discussion we got more into the sort of app extensibility I’m
used to - plugins through Reflection. Again we ran into a bit of a time
crunch and didn’t get to hear about as much of that as I’d have liked.
Interesting stuff, though.
So far I’m a little disappointed. The planning seems to have gone a bit
awry, which is unfortunate, but more than that, I haven’t really gotten
jazzed about anything in particular that I’ve heard so far. I’m also
having a difficult time determining what the intended audience is for
some of these lectures - some of the material is pretty
beginner/intermediate stuff and some of it is really low-level advanced
stuff. It’d be nice to know ahead of time which lectures were addressing
which crowds so I could determine my attendance accordingly.
If/when we get feedback sheets to fill out, I’m going to put that.
After the lectures I went and bought a cheap plastic cup at Rite-Aid
because I don’t trust the cups they have available in my odd kitchenette
here at the hotel. (They don’t have disposable plastic cups like every
other hotel I’ve ever been to.) Also got some bottled water for the
drinkin’. Had dinner at Qdoba, and now I’m a-bloggin’. Stu and I will
probably watch some movies and play some PS2 before retiring for the
evening, ready for a new day.