Code Camp Oz 2008

written by Andrew Tobin on Wednesday, April 30 2008

So this post might be a few days late and a few days past people caring or searching for information, but there was part of me that has been a bit unmotivated on the blogging front - and instead I'm twittering a bunch more, and there was part of me that just wanted to collect some thoughts before I actually went ahead and blogged about it.

As you no doubt have seen, our tweets for the weekend can be found on Hashtags.

So basically, I guess I'll just go ahead and break it down by the sessions we attended.

Day 1:

Pimp my App - Shane Morris

We first got there for Shane's presentation on User Experience (UX) design and it was pretty straight forward, and a lot of common sense on presentation and screen layouts and usability... nothing really mind-blowing, but like I was saying to the guys on the way home, some times you really need to be knocked on the head over common sense issues regularly to keep it in mind.

I've seen my share of terrible user interfaces, and to be fair, there's a few that I've been involved with that I've slapped together because getting the functionality out there has been more important than the user experience.  And yes, the user has been thrilled to have the functionality, but usually has had to nut out what exactly their doing, or have me come explain it, or... and it doesn't make me proud of what I achieved.

So I got what the session was about, and it was probably a good thing to have... at the same time, it wasn't code, and didn't hold my interest a great deal because of that... but again, a good thing to have because you honestly do need a good reminder.

I think Jeff Atwood's post about Perceived Performance in Vista's file copy is another short and quick statement on the same ideas (not so much in quality of interface, but in user perception).  It doesn't matter if you're doing something better behind the scenes, if the user doesn't see it as being better.

 

Taking App Design to the Next Level with Data Mining - Peter Myers

It's an interesting session, and Peter is a great presenter and a really good guy - I've met him before at previous code camps and even sat with him and had a talk through some of the presentations and he's come off as a really cool guy who knows his stuff.

That said, the session had no interest for me because it was what he presented at SQL Code Camp two years ago, verbatim.

Loved it then, would have loved it now.  If I hadn't already seen it.

Although to be fair, I'd gather that there was a large part of the audience who hadn't seen it, which makes me wonder how much crossover there is between Code Camp and SQL Code camp.

 

Binding Oriented Programming - SyncLINQ - Paul Stovell

It's hard not to be starstruck by Paul.  I pointed out to one of the guys we were with that he's only turned 21 this year(?), and he's achieved so much and become an incredible developer.

And I am convinced that he's learned the art of touch typing with his feet from cyber monks in a techno monastery in Nepal and is co-ordinated to type with all four limbs at once.

That or there is some truth to the post he made that he's really just the embodiment of a Software Agent and they spin up more instances of him as required.

Either way he's achieved a lot more, and gotten a lot more software written than I think most of us does, and it's amazing what he's achieved in basically what is a hobby project in his own time.

SyncLINQ should be part of the framework - period, and I think that the entire room was blown away with it.

Later he was overheard talking about having to fly home, and was never spotted anywhere near an airport.

 

In The Trenches with Test Driven Development - Philip Beadle

This was about the most controversial session for me.

And it got a heck of a lot of buzz and discussion on twitter.

And I am totally not an expert on TDD, but have done it for a short while.

On twitter I mentioned that I thought this session was flawed because it ended up being about Test Driven Development of the DotNetNuke system.  Bringing in DNN in the conversation complicated and made a conversation that should have introduced TDD to the group a lot harder for Philip I think.

Although I was surprised that there wasn't more hands up when asked who did TDD.

So basically I would have been happier with a more introductory session, and again I didn't pay a whole lot of attention, but at one point a member of the audience asked about Red-Green refactoring.

Philip explained that there wasn't a whole lot to refactor in the two lines the code was testing - and the code was already written so the test went green.

At this point I really tuned out.

[Update: I must have already been a bit tuned out, apparently I misinterpretted what Philip was saying and he was making the point about the word "refactor" and he did in fact use red/green testing. Apologies for the error.]

Having tests go red and fail is pretty critical to TDD, and the code should not have been written before the test - this is Test DRIVEN Development after all - but again probably difficult since it was being discussed in the context of an existing software framework.

The member of the audience was entirely correct on this though, and even if it was two lines there is a procedure - the test fails, you write the code, the test passes.

And sure, it's okay to cheat, especially when you know what you're doing - but saying that it doesn't matter to someone you're introducing to the whole concept?

Yeah... anyway, it also suffered because he made his own mocking classes and did it all hand rolled... which is fine for his project, and it's the way he wanted to go with it.

But if you're introducing a concept like mocking to the general community, for the love of god, use an existing framework, or at least reference the existence of them!

People need to know that they don't have to write their own, there are Rhino.Mocks, TypeMock, Moq, and probably others out there.

And the best thing is, they're much more capable at being tested by setting expectations, and actually failing unit tests for you.

Anyway, I don't think it was a terrible session and I think that it was probably fine for what it was (I just switched off at a point), but I think it was hamstrung by the scenario it was in (DNN).

I think that at a point that decision was made, and the choices around that scenario made the presentation great for people who were also in that exact same scenario, but not great to introduce TDD to a new audience, and maybe that isn't what Philip was trying to achieve - but I wish it was.

 

Silverlight 2.0 and WPF - What's the same, What's different - Joseph Cooney

Good for what it was, I guess.

It was a bit too much slides and comparing lists of what's the same and what is different.  Which now that I say that is exactly what it was billed as.

I would have actually liked to see a migration from WPF to Silverlight if time had permitted, even just a simple app - just to say "hey look guys, it can be this simple" or "this is how much you need to change in a basic application".

Actually I think a lot of the Code Camp was Powerpoint Driven Design, but hey that might just be me (and I so couldn't do any better!).

Anyway, it was a fine presentation and Joseph is a great presenter.

 

ORM Smackdown - ADO.NET Entities and NHibernate - Adam Cogan and Justin King

We left during this one but it seemed to me NHibernate was getting thrown to the wolves by that point anyway.

I don't know - I think there's a point at which you really have to try these things out for yourself and see what's more comfortable rather than following two guys even if they don't have an agenda in regards to recommending a product.

And in fact I would have liked to have stuck around to see more of them building up and debugging things to see how it would actually go to make up my mind about this session.

I would actually like to see other sessions like this and maybe not by two guys in the same company, even though I guess it's a helluvalot easier to co-ordinate a session that way.

I'd love to see something like a Resharper vs Refactor! live code-off!

Because a lot of us hear about these tools but haven't actually gone and looked at them, and the choice is pretty up in the air, and it'd be good to see someone who uses them daily show what they're capable of in a live and not canned situation.

 

Day 2:

WPF And Business Applications - Scott Berry

Or, Introduction to WPF - Scott Berry.

We were so keen on this presentation that we woke up at 5am and drove in early to catch it, and it was so incredibly basic that we went a bit mean on Scott on twitter.

Which totally wouldn't have been the case if it was billed as what it was (please, can has blurb about session on site?)

I really think if expectations were set, if there was a quick paragraph blurb, or rundown on what was going to be covered, we'd have been happier - and slept in.

What we would have loved to have seen was: specific business UI discussion, validation, reusability, decisions that a business should make, emphasis on business.

What we got: Blend, a UI that looks more hobby app or prototype than anything I'd associate with business, gradient fills on buttons.

Maybe a little unfair, but when I think business app I don't think about gold titles, and getting the right charcol gradient on button - I think about making my app look like every other basic business app on the market - ie Outlook and Office, etc.

So you want to sexy your business apps up? That's fine... but again, after Shane Morris' great presentation on UX, I half expected to see the same concepts at play in this session - to create an application with a business feel to it.

Plus the scenes of Star Wars totally blew any momentum you had in your talk and got a little old quick, man.

 

Rapid Fire: How Well do you know your IDE? - Mahesh Krishnanm

Loved, loved, loved this session.  Let me know how much I don't know about navigating around VS.

Would have been cool if he had Keyboard Jedi going so we could see the shortcuts in action as he was going.

And a microphone - I don't know the first couple of sessions were hard to hear.

Anyway, this was a fantastic little session that just really made it worth showing up for.

 

Rapid Fire: Do you want a connection with that? - Nick Randolph

Great session on Occasionally Connected systems, and given I have a few systems like CCNET and Witty that throw errors every time I lose a connection, more people need to go through it! :P

Uh, apologies to the Witty guys there, it is free, and if it was that much of a pain I could go in and try and fix it - it is open source after all.

But still!

Anyway, it's a shame that it wasn't a full session as Nick's presentation was really interesting and could have easily kept going and held our interest.

 

Lessons learned while tuning Database systems - Fernando Guerrero

Fantastic presentation and full of stuff that is probably beyond what we'll ever need, given we don't deal with bajillion row tables, and probably not something that we'll take into huge account on existing systems, but definitely something that I think will weigh on our minds when we start architecting new systems.

Just really interesting the little tweeks you can do to get major performance out of your backend.

And Fernando was just so entertaining and really great at keeping the interest and throwing in anecdotes and tips that had you entertained along the way.

Completely loved it.

 

And at that point, basically we skipped out of Dodge, before Mitch's presentation.

We're not going to go with Team Foundation any time soon and Facebook doesn't really hold any interest for us as a hobby or for work.

Luke's sounded like it would have been interesting, but we just didn't want to hang around.

Anyway, it was a great weekend and we did learn quite a bit - and there was a lot that showed that we were kind of on the right track at work with what's going on out there... so that was fun.

And like Mabster mentioned, we had quite a bit of fun on twitter, like it's own little mini-conference there as an extra layer to Code Camp, and learnt a bit off that and actually met some folks where we would usually stay in our own little corner :)

So we had a lot of fun for the weekend and huge thanks to Mitch Denny, Greg Low, Mai Low, CSU and everyone else involved.

Similar Posts

  1. SQL Code Camp - Day 1
  2. SQL Code Camp - Day 2
  3. CodeCampOz Recap

Comments

  • Daniel Ben-Sefer on on 4.30.2008 at 11:20 AM

    Daniel Ben-Sefer avatar

    Excellent summary, and I agree with all points!

    Out of the three sessions you missed, I lost interest on the first, as we will never be able to afford TFS.

    The Facebook one was very interesting, specially to realise how easy it is to write an application and the tools FB provides to test them. Good session, even if I have no clue what possible application I would be interested in writing.

    The last one, unfortunately dissapointed, The starting theatrics were entertaining, but Luke took too long in getting to the point (although he had a great slide with an arrow pointing to a point), and by the time he did, he lost me.

Post a comment

Options:

Size

Colors