Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant

I Wish These People Updated More Than Once a Year

(My apologies...it took me a little while to post the final session of Calgary Code Camp because it took me *that long* to recover from Donald's choice of clothing.  As you will read below, you'll understand why.)

We're here for the final presentation of the day.  It's good that they put Donald's presentation on last, since his pre-conference preperation involves a lot of crying in the fetal position and
Shirt update: my shirt is...HOLY CRAP.  *Forget* about *my* shirt.

Listen, I don't even know what I can say except to tell you that you have *NEVER* seen an outfit like Donald Belcham's unlike you've been a fan of:

* Dallas
* The Beachcombers
* Knight Rider
* Highway to Heaven

Red and white shirt - *open almost to the navel*.  WTF?!?!  You've never seen billowing chest hair until you've seen Donald Belcham.  Seriously, *nothing* seen at any past Code Camp activities could have prepared me for this.  Is it 5 stars?  Is it -5 stars?  I just don't know anymore what I'm doing with my life.

Continuous integration - which you check in your source code to your source code repository, it will be checked out atuomatically and a build being run.  From a pure code standpoint, this allows *you* to know that things are okay.

"How many people should be on a team to justify continuous integration?" - Donald uses cruise control on his own server to check his builds.  He recommends continuous integration even if you're working alone.

Continuous integration is *bigger* than Agile to Donald.  It's a concept that should be done regardless of whether you're following all Agile all the time

Donald is taking the unusual step of doing his presentations in Notepad++ since Powerpoint is apparently alittle too complicated.  Actually, to be honest, I quite like the minimalist style.  Donald laughably says that this presentation has no flash and bang, despite flashing his chest at every unfortunate attendee of this presentation.

Uh oh - I seem to have lost my draw tickets!!    Where are they?

Donald ends up covering a couple of things:

1) Resharper - *again*

Donald pimps Resharper like *everyone else* today.  Resharper gives *intellisense* for XML attributes in NANT, etc.
Resharper allows you to also see all uses for a particular tag in NANT.  This was actually the best sell job of Resharper I've seen today (and considering absolutely everyone here has been pimping it, that is saying something).

Ah, someone asks Donald a question about NANT and is rewarded with Donald *throwing a water bottle into the chest of the woman sitting next to him*.  How do you misthrow to someone sitting 2 feet away?  *THIS* was the captain of the football team?

2) CCnetconfig

CCNetconfig allows you to configure Cruise Control through a GUI.    Nice and very slick editor.

3) Iteration-based labelling

CCnet.config will help you to label code at point of build.  This is a nice shortcut to determine iteration/release numbers and abstracting it away from the devs to some degree.   CCTray will allow you to put version numbers and iterations against the builds through altering assemblyinfo.cs.  I can't tell you how helpful this sort of stuff is to a *huge* amount of shops out there.  Heck, half of these places don't even use cruise control.
 
4) NCover

Donald demonstrates NDover, the coverage tool for .NET.    You're able to hook NCover into CruiseControl so that if the level of code coverage goes down , your build will fail.  This is awesome!  I've integrated NUnit into CuriseControl before but never thought to use NCover before.  Donald is doing this through NCover Runner, which produces NANT xml for integrating NCover into the build!

"Does anyone have a mouse 101 lesson?"
"JP says no mice Donald"
"well, JP says a lot of things...he makes a lot of promises...but he's always travelling...I...I...forget it."  Oh, here we go again.

Hmm, they're not in my extra pockets...

5) nantContrib
Some things from nantContrib - Who kicked off the last build?  Was it forced?
nantContrib's "codestats" tag can also tell you how much of your project is in VB and how much of it is in C#, for example, among other things.  It also tells how many empty lines are in the project and our comment lines as well.

Not in my side bag...

6) dashboard.config

Dashboard.config will help configure our cruise control display output.

"Do you use Simian, and how did you find it?"

Donald: "It was pretty good - Simian goes out and looks for similarities in code structure; it will notify you and tell you it's a possible refactoring point.  I think it's okay, but it's also the only one on this list that costs you money.  Relatively cool."

Donald has found ways to sniff cruise control servers and force builds.  "I've got a lot of time on my hands."  Sometimes Donald writes these cracks for me.

I think the guy behind me thinks I am on drugs, given how I am furtively searching through my bag to no avail.  Where the heck did I put those things?

7) limit test runs

Donald's entire suite of tests at work takes 20 minutes to run.  He'd like a way to limit what is running, and CC allows him to turn off certain tests.  

Okay, now I've successfully convinced everyone in the room that I'm high, as half of my bag has been quietly emptied off to the side.  Still can't find this stuff!!

8) assemblyinfo.cs

Donald normally removes assemblyinfo.cs during compilation.  Assemblyinfo.cs is essnetially a collection of attributes about your assembly.  It's a good thing to have it consistent across every assembly.  You are able to use CC to automatically generate your assembly info file - unfortunately we're not able to see this as Donald has apparently deleted said code!!  

Seriously, I will crap myself in public if my ticket number gets drawn and I don't have the tickets!!!  

9) C# inline

You're able to put C# inline code into your NANT files.  Donald finds out through this exploration that he actually *does* have his assembly info generation code.  

WHO CARES ABOUT THAT THOUGH??  I've found the tickets.  I'm going to revise my earlier statement and will now only promise to crap myself if I do not win any prizes.  DevTeach attendance, I am talking to *YOU*!!

10) deploy

Cruise Control can also be used for deployment.  NantContrib can be used for doing these deployments.


This presentation was *packed* with content - Donald was a man on a mission today!  I'm seen a lot of Belcham presentations, almost all of them ending in riots and tears (most of those tears being Donald's).  But he held it together for this one and it paid off - tons of content and lots of information for anyone who wants to be doing continuous builds.  Good job man!!

Now maybe next time we can work on buttoning up those collars...

Addendum:
I didn't win the DevTeach prize
Calgary Code Camp rewards me with nothing but LIES
Donald's presentation put him on the map
And now my pants are...no, no, I can't go on.  I can't go on.

Tuesday, May 01, 2007 #

5/1/2007 4:15:14 AM (Mountain Daylight Time, UTC-06:00)
So is it fair to say that

Donald is to pimping Resharper

as

David Woods is to pimping goats?

Btw...you are officially known as Squishy Gray...ask Simser about it...well, you don't REALLY have to ask him now do you, you pretty mouthed midget.
:P

D
5/1/2007 5:17:15 AM (Mountain Daylight Time, UTC-06:00)
5'10" == midget status?? What sort of world do you live in?
5/1/2007 9:09:24 AM (Mountain Daylight Time, UTC-06:00)
I guess you don't remember that we strapped shoes to your knees and made you kneel the whole time while we shouted "Where's the cookie now, you Kiebler Elf Bitch?!"

what?
5/2/2007 4:52:30 PM (Mountain Daylight Time, UTC-06:00)
Your sexual fantasies about me, like many stalkers I've had, are flattering yet disturbing!

And besides, I seem to recall it was Donald drunkenly licking your face at the bar that evening...oh, how I wish I had been drinking to get *that* image out of my mind...
5/11/2007 10:08:23 PM (Mountain Daylight Time, UTC-06:00)
So is it fair to say that Donald is to pimping Resharper as David Woods is to pimping goats?
8/6/2007 11:00:40 AM (Mountain Daylight Time, UTC-06:00)
Does anyone have a mouse 101 lesson?
8/21/2007 8:07:26 PM (Mountain Daylight Time, UTC-06:00)
hey!I like here.
8/28/2007 1:22:48 AM (Mountain Daylight Time, UTC-06:00)
like here.
8/30/2007 9:36:21 AM (Mountain Daylight Time, UTC-06:00)
like here
2/24/2008 7:15:44 PM (Mountain Standard Time, UTC-07:00)
cool site
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):