On Saturday, 4 June 2011, they held the Nth Portland Code Camp.  I don’t know what N is equal to, but it was the 5th one I’ve attended.  It was quite good, all things considered, although I think I prefer the venue they’ve had on 4 of 5 camps I’ve attended, Reed College.  This one was held in downtown Portland, at Eliot Center.  Eliot Center is part of a Unitarian church facility, which is takes up the entire city block.

The Keynote

The classes were all held in the Center, although the lunch was distributed from a large assembly room in the lowest floor of the church proper, and the keynote was delivered in the chapel.  And what a delightful old structure the chapel is!  Here’s a photo of the keynote being delivered, taken using my Dell Venue Pro Windows Phone:

2011 Portland Code Camp Keynote with ScottHanselman

2011 Portland Code Camp Keynote with ScottHanselman

Scott Hanselman did a bangup job delivering the Keynote, and in true Hanselman style combined wit and information for a very entertaining session and well worth the trip to Portland from my home town of Olympia, Washington (110 miles one-way).

In true Mike Clark style, I don’t remember much from the keynote except for the way the projector kept overheating and turning itself off, necessitating someone resetting it.  About eight times, I would guess.  And one story Scott told about one of his Africa trips.  He may have blogged about in the past, but I don’t remember it from his blog.  Here’s a paraphrased version:

While on a trip with his family to Africa a few years ago (his wife is from there), they were driving between Nairobi and some podunk town I don’t remember the name of, and there was seemingly nothing between them except trackless wilderness.  They started having trouble with the Landrover vehicle, namely one of the brakes locked up and they were having to drive it with the brake on one wheel smoking away.  Scott said someone in the car suggested they stop and pour water on the brake to cool it — which he thought if they did it would shatter the brake and possibly make things worse.  He started to think that they were in serious trouble, possibly mortal trouble!  As he was having this thought he saw ahead of them a Masai warrior standing by the track, in full Masai traditional dress.  He thought that maybe they could stop and ask the fellow where there might be some help for their vehicle.  As they neared him, Scott said the Masai gentleman wasn’t paying any attention to them, his focus was entirely on the cell phone in his hands, busy texting!  Here out in the middle freaking nowhere there was this Masai warrior wearing centuries old traditional dress, texting manically away on a 21st century electronic device!  Scott said he pulled out his cellphone and to his surprise found that there were a full five bars!  More than could commonly be counted on in Portland.  So, he relaxed knowing that he would be able to summon help if the vehicle did break down.

Of course, from the coverage map shown here on the Kenya-Advisor website, coverage is good only along a particular corridor running from Lake Victoria to the coast.  Not that this is worth complaining about!

There were quite a number of sessions at Code Camp, but inasmuch as my interest these days is pretty much all Windows Phone all the time, that was all I was interested in — and there were sessions all day on this vital subject.  In fact during one period there were two sessions, and I sent my wife in to take notes on one while I attended the other.

Kelly White and Alchemy

I wish I could report some details on the sessions, but I was there to acquire information by osmosis, and anyway, for a Code Camp I didn’t see all that much code going across the projector screens.  The most important part of these sessions were two given by Kelly White of Silvertail Software.  Kelly described how he was working with the Marketplace in marketing his WP7 game, Alchemy.  One emphatic thing he said was Do Not Publish Automatically.  His primary reason for this was that if there was something wrong that the tester doesn’t catch, then you have at least a respite to catch it before it goes out into the Marketplace.  He got bitten by this at one point, he indicated.

In fact, I got bitten on this once myself.  It remains to be seen, however, if this would actually be much of a safety feature.  My app got published automatically, having a fatal flaw in it, but I didn’t catch the flaw until a couple of days after it was published.  Waiting to manually publish wouldn’t have helped.  But he’s right in one sense: waiting gives you a chance to verify the operation of your app before it goes out to users.

I Finally Meet Mark Miller

In another session I attended, a “famous developer” named Mark Miller gave a presentation on design.  It was generally quite good and interesting, although I took exception to his characterization of the Metro interface as “terrible design.”  This surprised me, as he seemed to expect that there had to be some kind of color scheme coordination with the tiles and Hubs.  My question is, has he actually worked with the Metro interface?  I have worked with my wife’s iTouch and found its user interface to be adequate but quite clunky and very very prosaic (boring).  This being one of the interfaces that Mark was praising, I have to wonder whether he was being a purist for purism’s sake?  Oh, well, no accounting for taste.

Mark Miller works for DevExpress, and I remember him chiefly from his participation in the podcasts published by Carl Franklin, DotNetRocks and Mondays!  Mondays of course is a total comedy hour, and though it is a scream, is definitely an acquired taste — I have enjoyed it from time to time, but it gets a bit raunchy (a bit?!).  I haven’t listened to it for quite some time (Mark says they haven’t been recording it that regularly of late, everyone being rather busy), but DotNetRocks is purely technical and well worth any .NET developer’s attention.

Mark is very good at explaining things and clearly has a great depth of knowledge.  Both my wife and I got a lot out of his presentation, my quibble about his opinion of Metro notwithstanding.  I had a chance to speak with him personally at the DevExpress table later and found him to be very personable.


But the most exciting event of the event, so to speak, was for me the prizes that they had drawings for at the dinner in the evening!  Mainly because I won something!  Not the XBox/Kinect package they had available (of course), but one of the prizes donated by DevExpress.  I won their toolkit named DXExpress Enterprise, which is a $1300 retail value!  The monetary value of the prize isn’t so exciting to me, but the capabilities of the package are worth shouting about!  Check this product out: DXExpress Enterprise Edition.  Tools for WinForms, AJAX, WPF and Silverlight!  Wow!  Nothing for Windows Phone, unfortunately, but hey, I don’t want to look this gift horse in the mouth!  And the package includes CodeRush!  I have always wanted to work with CR, and now I get my chance!  Thanks DevExpress and the Portland CodeCamp!