Tech.Ed Australia (2005) Registration Opens
May 18, 2005
Angus has spotted that the Tech.Ed 2005 registrations for Australia have opened. You may have heard that Tech.Ed in the United States completely sold out. I think that given we have so many new technologies SHIPPING this year we can expect Tech.Ed to be pretty busy – you had better go and get your ticket booked early.
What are you waiting for? Shoo!
System.CodeDom.Abstractions
May 18, 2005
I was reading this post by Ted Neward and it got me thinking. While I agree that being able to parse code would be really useful (all issues with that aside) there is something that I would like to see before that which is a higher level abstraction over the top of CodeDom.
As an example, lets say we wanted to define an exception using CodeDom. Today we would have to whip up a CodeCompileUnit, build a CodeNamespace, add a CodeTypeDeclaration and populate it. If we wanted to support serialization or any custom properties we would need to go ever further.
Rather than having to do this it would be cool to be able to use higher level abstractions. To quickly demonstrate the idea I created this lump of sample code.
Basically its just a CodeException class which is specifically designed for emitting an exception. You just assign the CodeNamespace to its Namespace property and when you generate the CodeCompileUnit that its nested in it slurps in the exception code. When this code is run it will emit the code to the console.
Now – building an exception is pretty trivial, even with the current CodeDom, but imagine what you could do if you dug through all the patterns material out there and build CodeDom abstractions for them? The implementation would be fairly important.
You wouldn’t want to just embed an abstraction into a CodeCompileUnit since an abstraction could easily span assemblies, thats why I took the approach of wiring up to the PopulateTypes event on the CodeNamespace. That way if you had an abstraction that represented a pattern you could just hand it the CodeObject that it needed to emit against and the code would just end up in the right location.
Food for thought.
m_Underscore
May 18, 2005
Since Bill asked the question – I used “m_” warts on my fields. I’ve found it works best across most languages, but is purely personal preference in the case of C# since it has so many other options you can use without running into language hiccups.
ActiveSync 4.0
May 18, 2005
I just downloaded and installed the latest version of ActiveSync (4.0). No troubles yet – try it if yer game.
Code Camp Oz Downloadables
May 18, 2005
Do you like downloadables? I like downloadables! Get your downloadables for Code Camp Oz here. Currently just my material is there but I expect other material to be coming online shortly. Sorry this has taken so long to get out – we’ve been catching up on sleep 
P.S. Thanks to Darren Neimke for offering us a permanant home on Project Distributor for the code. Probably something the other Code Camps from around the globe should consider too!
Kathleen Khoo starts blogging … allegedly :)
May 18, 2005
According to Caroline, Kathleen Khoo has started blogging. Great! Now – you just need to loosen up the restrictions on your blog so people can see it without having to sign in to passport, otherwise I can assure you you’ll get no visitors 
MSN Spaces seems to be a bit of a lame duck at the moment – it wouldn’t let me create an account because my postcode is invalid. Definately needs a bit of a rethink.