Code Camp Oz 2005 Diaries

My thoughts on Code Camp Oz, held in Wagga Wagga over the weekend of April 23rd and 24th, 2005.

Code Camp Oz 2005 Diaries - Sunday

This article continues from Code Camp Oz 2005 Diaries - Saturday Part 2...

Sunday: Officially, Code Camp Oz was scheduled to end at 3:30PM on Sunday afternoon. With that in mind, I had booked my hotel room for Friday, Saturday and Sunday nights, but late Saturday night I decided I'd leave on the Sunday so I could at least spend some of the long weekend with my family. So I showered, packed everything, didn't have any breakfast (my makeshift bowl hadn't been washed), checked out by 7:45AM, and headed over to the Uni.

Unfortunately a side effect of my plan to leave early was that I wouldn't be able to attend the closing ceremony - oh well, I thought, I'll read about it in other's blogs.

Chuck Sterling opened the day with a session on the upcoming Team System. He really knew his stuff. I admit that I paid less than full attention as we're unlikely to ever get Team System where I work (although Chuck demo'd some cool stuff, especially the web tests).

Next up Joseph Cooney talked about Web Services. He had a nice demo that was a form with a button for each concept he tested. After clicking a button on his demo form and showing us what it produced, he'd walk through the code required to get the results. Very nice.

After Joseph's session I stopped for 4 or 5 quick Monte Carlo biscuits (sorry all those who missed out because I had more, much more, than my fair share!) and got talking to two tutors from the Uni. I was mentioning that I wished I'd done more programming during my time at Monash last century, and lamenting the fact that we'd only learnt very basic C++ (my first job was in Visual Basic, which I learnt all by myself). An interesting perspective that the tutors put across was that it was possibly better to teach in Java (for instance) and cover good programming principles (e.g. inheritance, re-use, encapsulation, etc.) than be language-specific. I could see their point, and I reckon I became a bit more grateful for my Uni education right there and then. One of them also pointed me to Python for .NET (which his classes were in), something to remember for a rainy day.

In conjunction with the main lecture hall, there were smaller, informal peer sessions being run in another room throughout the weekend. There was one peer session that I was keen to attend, titled “Best practice for deployment”, that was due to start at 10:00AM. I headed up there with Fai who I'd recently met (sorry if I spelt the name wrong). He was a student and was lapping up all the different content as he had a good philosophy of “you never know where you might be working”.

We arrived in the smaller room to find 6 or 7 people chatting, being informally led by Darren Niemke. The conversation was running hot on SOA, XSD's, contract-first, web services and XML Spy. This stuff is way above my head but it was great to hear the debate between more experienced devs. When Darren politely asked what we thought, I asked about deployment best practices and we had a very short chat on the topic.

Later that day was one of the highlights of the weekend for me, being interviewed by Geoff Appleby. Geoff recorded the interview for Microsoft's Frank Arrigo but I'm not sure if it's going to be used or not. I started the interview with what might be called “shameless self-promotion” (but, I'm a little ashamed afterwards, so now it's just self-promotion) in talking about my blog here. I also talked about how much I enjoyed Code Camp and that i'd be at the next one for sure (if my work supports me by paying for some of the expenses, like they did this time, all the better!)

Next was Greg Low's talk on ADO.NET 2.0. I'm willing to say, with no reservations, that Greg is always informative to listen to (I think in this session he took a cue from Adam Cogan and had a short, funny video before his presentation as well). He talked about the new SQL Dependency for data caching, and that it was broken in the latest Visual Studio 2005 Beta, which seemed to me to be a bit of a common problem that other presenters also mentioned. Greg explained that the teams and sub-teams working on Visual Studio 2005/SQL Server 2005 were sometimes out of sync with each other and some teams might miss the beta deadline. Fair enough.

James McCutcheon spoke next on “Compact Framework Tips and Tricks”. He had a Pocket PC device next to his laptop and showed as his code actually running on the device, connected via a Remote Desktop-thingy (which was pretty cool). That got me thinking about all the cool stuff that's yet to be written for smart phones/pocket PC's/blackberry type devices. I wonder how many developers write code for those platforms?

After a delicious Subway Turkey, Ham and Dijon (and maybe chicken as well? 3 meats in the one bite...mmm...) sandwich for lunch, Nirav and I headed back to catch Andrew Coates' “Advanced Click Once Deployment”. Andrew had presented a session the day before that had used no code, and this was his chance to delve into the programmable aspect of Click Once. Well, he didn't disappoint. Click Once looked great and seemed to work well. It also looks like a natural transition from the App Updater block that I started using recently (what a stroke of luck).

Andrew finished and it was time for me to hit the road and end a great weekend. I really enjoyed the Code Camp atmosphere. Next time I'll try and speak a bit more to other people, as I stayed pretty much to myself this time (I tried to do a good job keeping Nirav company), and I'd like to spend more time in the informal sessions listening to what's happening with other developers.

Well done to the Code Camp organisers and speakers. I'm looking forward to next time!

Code Camp Oz 2005 Diaries - Saturday Part 2

This follows on from Code Camp Oz 2005 Diaries - Saturday Part 1.

Saturday: During lunch I realised that even though I'd had the best intentions to meet bloggers who I thought were going to be at the event, never having seen any of them physically meant that I couldn't pick people out of the crowd. Perhaps I should have done a bit of preparing and either (a) asked everyone at the event their names and match to a list of people I wanted to say "Hi!" to, or (b) e-mailed people I wanted to meet and organised a bit. Next time! I did go around and introduce myself to one or two people (I couldn't miss Geoff Appleby, he looks exactly like his blog photo) but I would have liked to meet more people.

In the afternoon I didn't go to all the sessions, so my coverage might look a little patchy. I did miss the session directly after lunch and my notes are a little jumbled (possibly a mental siesta straight after lunch?)

Early in the afternoon Joel Pobar presented some amazing low-level detail on compiling and JIT execution. I honestly could have listened to Joel for another couple of hours - prior to hearing Joel speak I had never stopped to consider that the .NET framework was written by programmers developers architects too (obviously very, very smart people).

Next up was Dominic Cooney discussing Managed Code Performance Fundamentals. Dominic had some useful stuff in his talk, and pointed to some essential tools in order to squeeze performance out of .NET code.

The next session was Joel and Dominic again. They had been given the broad brief to "come up with something interesting", and they certainly did: how to write a compiler in 45 minutes! The two worked really well together on stage to make their task understandable and by the end had covered how they could spec a language and implement a parser, and then, using reflection, emit an assembly (these guys fall into the class of the very, very smart people I talked about earlier).

Chris Hewitt presented on some of the quirks in using visual styles with Visual Studio 2005 and his workarounds, including using the new toolbar and menu controls. Personally, I hope that the Skybound VisualStyles component still works in Visual Studio 2005 as it means I don't have to think about manifest files/flatstyle properties in my apps.

Next up was Nick Randolph and Bill McCarthy with the much-anticipated topic (for me) of Visual Basic 2005. Bill was a laid-back presenter who bought lots of experience to his presentation and showed an obvious familiarity with the product. I think he used a slightly older build of Visual Studio which ran a bit slower (unfortunately), but it meant that he was able to show us stuff that wasn't working in the later builds, that is scheduled to make it to the final product. He also showed refactoring in VB.NET, which was amazing. Nick also had a good presenting style and had a good idea of what the people in attendance wanted to see.

This presentation also had a little competition attached: answer a few questions and write why you love (or hate) Visual Basic. Nick and Bill started at around 7:00PM (no dinner break), and I reckon they could have shortened their session as it was a long day, but it was worth sticking around to the very end because I won a prize in the competition (a book) and also got to see Mitch Denny cross over to the dark side, albeit briefly (to see a short, concise, enlightened poem which was his answer on why he loves VB, go to http://notgartner.com/posts/1531.aspx, but keep in mind, he's one of those C# guys). I almost got disqualified from my winnings because I told Bill that I didn't “love” VB, I just “liked“ it. I think he relented when I told him that I “loved“ my wife, and my affection for VB wasn't in the same league!

We got out of there at around 8:45PM and I headed back to the hotel for a shower, then by 9:20PM I had picked up Nirav (after getting a little lost) and we went out to dinner. The Indian restauraunt we had picked was already closed so we went on to La Porchetta's where we had some great cherry cheesecake. Mmmmm, I could go a piece of that cheesecake right now...

After a filling dinner, it was back to the hotel to have a look at my new book ("Building Applications and Components with Visual Basic .NET") and catch some sleep before Sunday's 8:00AM start.

Stay tuned for Sunday's sessions and my trip home.

Code Camp Oz 2005 Diaries - Saturday, Part 1

This article follows on from Code Camp Oz 2005 Diaries - Friday.

Saturday morning: I had set my alarm for 7:15AM, to be at Charles Sturt University by the unkind hour of 8:00AM, but I ended up waking earlier in excitement so I got up and jumped straight in the shower. As I was getting dried I heard what I thought was the shower in an adjoining room (quite loudly). I thought nothing of this sound until I later realised it was my alarm radio producing very noisy static. Doh.

My beautiful wife was so well organised that she'd packed in my favorite cereal - Nutri-Grain - and some milk, but to my dismay my room had no bowl and only teaspoons. No matter; I poured all the water out of the water jug into my water bottle, and used the jug for my breakfast bowl. I left the jug out on the bench so it would get cleaned and refilled, and I was on my way.

I arrived at the Uni right on 8:00AM in time to catch Greg Low and Mitch Denny welcoming everyone. All attendees were handed a DVD of Visual Studio 2005 Beta 2, and most of the presentations would focus on this technology (I only saw one session that was done in VS.NET 2003). Nirav, a guy who I'd met before at the Security Summit and who knew I was coming, spotted me and I sat with him (we ended up hanging together for the weekend which was really great...thanks Nirav!)

Mitch took the first session on the Base Class Library, mainly from a C# perspective. The things that stood out for me were his review of generics and XmlTrace, and the NetworkChangedEvent which fired when he plugged in his wireless card and it found the wireless network that was set up for Code Camp. Looking around the hall, there were about 30 laptops (about 300 people were in attendance) and more than a few times I had intense geek envy and had to look away.

Greg Low followed Mitch and spoke about CLR programming in SQL Server 2005. I had seen some of this stuff before but it was interesting anyway - Greg is a great speaker and can mix concepts and code really well. It was during this session that I noticed someone taking photos, not of Greg but of his slides...an industrial spy? I reckon they were probably just saving time by not writing down the slides' content (possibly a bit of a waste, as the slides are promised to be up on the Code Camp site later this week).

Adam Cogan was next and did an amazing demo with ASP.NET 2.0, showing off the new databinding features and GridView, all with hardly any code. I enjoy Adam's presentations as he is the closest thing to a “geek rock star” that I have ever seen! He also showed photos of his recent trip to Brazil and talked about his new Dell laptop (which was one of the things I'd had envy about...watching Adam while he was in the audience also revealed one of his security secrets - really, really, really ridiculously small fonts, so no-one can read over your shoulder).

One of the sessions I was looking forward to was next - Andrew Coates and an overview of ClickOnce. At the start of the presentation Andrew informed us that he was going to do his whole presentation with a pen and tablet PC only - “no keyboard, no mouse, no net, no safety harness“. I was a little perturbed by the “no code“ bit as I thought he meant “more PowerPoint“, but it turned out that he could demonstrate the ClickOnce user experience and the Visual Studio settings without his mouse or keyboard, and he would show the more code-intensive options at his next session. Phew!

The sessions were all kept to 45 minutes with a 5-minute gap in between, so it had been an intense morning. After Andrew's session the pizzas arrived for lunch and everyone took a brief break. At this time there was also a panel discussion going on, but I skipped it in favor of getting some fresh air.

The organisers could not have picked a better location. Charles Sturt Uni is quite beautiful, set in bushland about 10 kilometres out of town with a dam (and ducks) and a winery on the campus. I didn't bring my camera so I can't post any pics. You'll just have to take my word for it.

In Saturday Part 2, I cover the afternoon sessions and dinner.

Code Camp Oz 2005 Diaries - Friday

My Code Camp experience really started when I left work at lunchtime on Friday April 22nd to start my drive up to Wagga Wagga. I had planned my route using whereis.com Map and Directions Search, which gave me a map about the size of a CD case and 30 or so steps of written directions like “Turn <left,right> at <street name>, <suburb>“. On paper the map and written directions looked concise and complete, and heroically I set off without a Melways or street map of any kind, instead choosing to rely on the goodwill of strangers should I get into any trouble.

I had planned for around a 6 hour drive to cover the 500 or so kilometres between the south-east suburbs of Melbourne and Wagga Wagga. I took the Hume Highway from Melbourne to the New South Wales border which made for great driving as it was double-laned and had a 110 speed limit. I learnt about the joy of cruise control on this leg of the trip. I also learnt how boring it is to drive 6 hours by yourself - mental note for next time: take a travelling companion! The hours on the road alone meant that I got to admire the passing Australian countryside that looked straight out of a Henry Lawson poem. I certainly had the right time of year (autumn) and the right time of the day (late afternoon) to enjoy the sights and listen to Peter Stanski's Microsoft Developer's Show.

By the time I was in New South Wales, night had fallen. I had diverted from my map to get petrol so I asked for directions at a service station, where the attendant turned out to be really helpful. As I was driving along I passed his first 2 markers without trouble, but I was getting a bit worried as I drove for a further 10-15 minutes without seeing a road sign. It was then that an irrational fear gripped me: maybe the attendant had a practical joke at my expense, maybe I was heading in completely the wrong direction! Should I turn back now I keep driving? 

I'm glad I kept going because the Wagga Wagga turnoff down the Olympic Highway was just around the next corner (so were a long line of trucks that I gradually overtook on the open stretches), and I realised later that in the 130 kms or so from Albury to Wagga Wagga the signage is pretty light on. The road was also single-lane which slowed down as it passed through townlets (they were very small towns indeed).

By 8:30 that night I arrived in Wagga Wagga and found my hotel, the Lincoln Cottage Motor Inn. It was a bit out of town, but a very nice place. By that time all I wanted to do was eat, so I dumped my bags and drove out cautiously (I still had no road map, only my male location intuition to guide me), got a kebab, and went back to the hotel and fell asleep to the sound of the road trains I had passed earlier driving past the hotel.