I went to Calgary Code Camp this weekend and thought I would write up a quick review. Justice has a series of live blogs for the sessions he attended. I figure with that much content I don’t need to write that much on code camp fashion so I will skip to the technical stuff.
Session #1: Building Reliable and Transacted Distributed Applications with WCF – Daniel Carbajal
This was a good session on showing how to take WCF past the basics of a contract & service. He showed how to do reliable messaging, queuing, transactions, and more. I think the talk was sullied by the fact that many people had no experience with WCF and were asking basic / off topic questions which really slowed down the presentation. I think the talk would be better with more time or when more people have worked with WCF. I found the talk useful to see especially as I am working on my first WCF app.
Session #2: .NET and Mono: Meet the Monkey – Tom Opgenorth
This was one of the most fun sessions I attended. The format was very open with lots of audience (and by audience I mean Bristowe) participation. Tom showed that Mono was a viable choice to develop apps for other platforms (Tom also mentioned that Mono can run on windows if for some reason you do not want to install the .NET framework). He also showed some of the IDE and Tool choices out there. It was a great and fun intro to Mono and makes me realize I now have to recode my php server apps in C#!
Session #3: Making Reflection Do Bad Things (So You Don’t Have To) – David Woods
It’s unfair to write a review of this as it I was presenting, but I am going to review myself anyways. This was my first time presenting and I think it went fairly well. I showed a lot of the core reflection things as well as showing how to generate a type at runtime.
I was worried that it would not be well received as generating a type at runtime is not something we have to do in our normal day. Most people I talked to liked seeing how you could do this but probably have no use for it. To that I answer: “generating IL at runtime is a sure fired way to impress the ladies”. Technically though there are a few good uses like generating a proxy at runtime for a type, being able to create DTOs from a file or other source (but remember you get no source code this way so they are hard to extend), or to generate re-useable machine / domain specific classes.
Overall I was happy with the talk even though my laptop seemed to be dying. I hope everyone else enjoyed it!
Session #4 & #5: Introducing XNA – John Bristowe & Bil Simser
This was a great two part session on showing how to create games for both windows and the xbox 360 using XNA. This talk covered things like pushing games to the xbox, debugging, sound, graphics, inputs, and more! I was amazed at how powerfully this mostly free tool was (you need a subscription to be able to push your games to the xbox 360 but win development is free).
I really liked the two projector presentation style. One was hooked up to the xbox and the other to the laptop so you could easily see the code and compiler pushing resources to the xbox and then the xbox running it. It was also really cool to see a game running on an xbox, setting a breakpoint in code and then being able to step through the code, change values via the immediate window, and see that reflected in the game. The whole development / debugging experience seems to be really great via XNA.
The talk was quite comprehensive I found. Almost every question asked either had an answer or else we tried it out and found the answer in the presentation. The presenters talked about so many things and pointed out some of the great improvements over other platforms (i.e. the ease of using sound now, be able to use strings in games (in direct X you could only do images of strings before apparently), and to use any font installed on the development machine (it gets turned to a graphic so consumers will not need the font installed).
This was another good talk and a great closing presentation. I would have loved to have delved into more like 3D, collision detection, texturing models, and more but there is just not enough time to delve into these topics. I wish I had time to start developing games for my 360 as if there is anything that impresses the ladies more than generating types at runtime it is creating your own (possibly goat based) xbox game.
In general I thought this was a great code camp with a few exceptions. The venue was a bit hard to find as the univeristy campus is not very well marked. I was also supprised at the lack of power outlets in the rooms. Seems strange for a university to me. Other than that the venue was great, lots of great prizes (I think edmonton got a pretty good haul again this year but there were just too many prizes to clean house). It was well organized and quite well done in my opinion. The only thing that I noticed was not there was review sheets for the different talks which I would have liked to see (but that is minor). All in all a big congrats to the organizers of this event!