This weekend we attended Code Camp Oz at Wagga. I say “we” because three of my co-workers came along, making for a full car both days. Here’s a quick run-down of the sessions we got to:

Saturday

SharePoint - follow the yellow brick road to public web-sites

Adam Cogan presented on creating public-facing web sites using SharePoint. Adam’s company, SSW, recently completed a major project in the Worley Parsons web site, and anyone who visits that site would have to admit that it’s a fine-looking site. The thing is, though, that the bulk of Adam’s presentation was about the things SharePoint does wrong when it comes to public-facing sites, so it came across as more of a warning against using SharePoint than an advocacy talk. I’m not convinced that SharePoint is the right tool for the job, despite the fact that I love the product for intranet sites.

ALT.NET

Liam McLennan ran a short session on the ALT.NET community and philosophy. Liam did a good job covering the major points around ALT.NET and didn’t say anything too controversial. Certainly he doesn’t seem to be part of the “NHibernate Mafia” which is the most aggravating part of the ALT.NET crowd. A solid presentation (pun intended for those who get it).

ServiceBus Introduction

Chris Hewitt’s short presentation on the .NET ServiceBus was an introduction to the concept more than anything. I don’t know that I can see any immediate uses of a service bus architecture for my own projects, but anybody doing communications over the Internet as part of their applications would definitely want to use something like this.

A lap around the Managed Extensibility Framework (MEF)

David Kean from the MEF team ran this session, and it was the best introduction/demo of MEF I’ve seen. Unfortunately this session highlighted the drawback of having a laptop at Code Camp, because half way through it made me break out my Comicster source code and start tooling around with the way it uses MEF. This meant that I wasn’t paying full attention to the second half of David’s presentation, and I think I missed some important points. I’m sure I’ll catch up on them elsewhere though.

Aspect Orientated Programming in .NET

Paul Stovell & Omar Besiso ran a presentation covering a few of the products/tools that are out there for doing AOP in .NET. Up ‘til this talk I’d really only known about the tools that do IL weaving to introduce new code after the assembly is compiled, so it was an eye-opener to see other implementations (such as the Policy Injection Application Block) that happen at runtime and are part of your code. I’m sure a lot of people walked away from this talk with some ideas to take back to their own projects.

Sunday

6 Design Patterns that Every Developer Should Know

Justin King took us through six common design patterns. Let’s see if I can remember the ones he covered: Singleton, Factory, Command, Adapter, Decorator and Strategy. Design-pattern presentations are often handy just to give a name to a technique you’ve always been doing, but sometimes they can help you understand a better way to solve a problem in your code. I think Justin did a great job of demonstrating the usefulness of each of the patterns he covered.

WCF: Configuring the Bastard

This presentation from Michael O’Dea-Jones suffered from the same problem as the “Line of Business with WPF” session last year, in that it was grossly misnamed. Michael’s presentation, in my opinion, was more of an introduction to WCF than a talk focused on configuration. If I had one main complaint about this presentation it would be that Michael spent almost as much time talking about himself as he did WCF, but it was apparently the first presentation he’d ever done so I have to give him full credit.

The Evolution of Software Development

The scheduled talk for this time slot had to be dropped so Mitch Denny stepped in with a presentation he’d done previously about the past and future of the business of software development. It was an interesting talk but I still wish he’d gone for the other option (PowerShell development). Still, he raised some provocative ideas which are generating discussion even today in our workplace, such as the notion that five to ten years from now there will be no internal software development teams in non-software companies (since they’ll be outsourcing all work to dedicated development shops).

Windows 7 & Windows 2008 R2: Booting from VHD

I wasn’t actually looking forward to this demo from Bill Chesnut, but it turned out to be quite informative and entertaining. The best part was when he realised that his laptop wouldn’t talk to the projector while booting, so he pointed another laptop’s built-in webcam at the screen and used that instead! Genius!

Cloud Computing - A-Life using Windows Azure

The best session of the entire camp, hands down. David Burela took us through an introduction to Windows Azure (and cloud computing in general) and started off by building a “massively-scalable Hello World” application (essentially a simple ASP.NET page that ran on a localised “virtual cloud”). He then set the bar very high for future presentations by demonstrating a genetic algorithm for solving the travelling salesman problem which ran on Windows Azure (and could thus crunch the numbers very quickly). His Silverlight application rendered the path between the cities visually as the algorithm evolved, and while it didn’t run as fast as it could have (because he was recording the session with a screen capture program in the background) it was still mucho impressive.

Overall this was a fun couple of days, again made extra fun by the twittering between attendees. Looking forward to next April!