November 2007 Archives

CruiseControl with TFS2008 update

Just a quick update on the TFS2008 with CruiseControl (java version) issue.  I recently submitted the patch to the CruiseControl project and it has already kindly been commited into trunk by Dan Rollo.  The patch should appear in the 2.7.2 release of CruiseControl.  If you need it before then you can download the latest sources from the CruiseControl project.

"Electricity Gone" Moment

| 1 Comment

This morning while I was preparing for a customer demo that I'll be doing over LiveMeeting later today, my DSL connection stopped working.  I have a reasonably complicated home office network arrangement - but it is most often my VPN connection or my unmanaged gigabit switch that are the problem. This morning however, my DSL was down.  Not a surprise to a lot of people, but I am with Nildram and this sort of thing hardly ever happens (BTW - I cannot say enough good things about Nildram as a broadband provider).

Anyway, I was kinda connected (the LCP was allowed to come up - whatever that means, and the ADSL light was green on the router), but I wasn't able to get my IP address or anything.  I have a static IP for my DSL connection so that is a little unusual.  While the demo is over 10 hours away, it still focuses the mind a little - I may have to change my plans for the day and fall back to my "disaster recovery office" (the spare room in my mother-in-law's house) if I'm not going to be able to get connected to the LiveMeeting from my home office.

So I began to try and resolve the situation.  Hmm, I wonder what "LCP was allowed to come up" means? I thought to myself.  I know - I'll check Google.  D'oh.   Hmm - how do I gel hold of Nildram customer services? I know I'll look up the phone number on their website and give them a call.  D'oh.  In the end, I fired up the browser on my mobile phone because my brain just didn't seem to know what to do without an Internet connection to refer to.  I found the number of customer support (which is open 24x7) and started to dial (on my cell phone, after having first picked up my VoIP phone to wonder why there was no dial tone...).  The moment I did that the DSL connection popped back into life (spooky - are they that good?).  Panic over - I guess some maintenance or something was going on somewhere - it was 6.30 am and it only lasted 15 minutes or so - nothing worth worrying about really.

However, It did remind me of the stupid things I do when the electricity goes out - constantly forgetting that with the TV not working I cannot switch on a light and read either.  Do I really take always available internet for granted as much as I take always available electricity for granted now-a-days?  Very strange - I know, I'll blog about that...

Recently, I noticed a small change in the way TFS 2008 (RTM) handles history calls between date ranges that unfortunately breaks the existing CruiseControl.NET integration to TFS.  Should you want to carry on using CC.NET using TFS2008 as your source control then the following 1.4.0 release may be of interest

It includes the work around for the TFS 2008 server issue and is compiled against the V9.0.0.0 versions of the TFS Client assemblies that ship with the VS 2008 Team Explorer Client

The code will work just fine against a TFS 2005 server as well, but if you don't want to install the TFS 2008 client assemblies on your CruiseControl.NET server then you will need to recompile against the 2005 client assemblies or do some assembly redirection magic.

I'll be sending a patch to the CruiseControl (java) project shortly with the same fix to hopefully get implemented in their next version - but if you need it before it appears in the Java version of CruiseControl then drop me a line and I'll send you the relevant code.

Expression and TFS

Recently I've been playing more and more with the Expression suite of tools.  I especially enjoy playing with Blend 2 and pretending that I can draw.

While the integration with Visual Studio 2008 is very good, a big thing that is missing for me is that there is no integration with TFS.  If you would also like TFS integration in the Expression products then be sure to vote on the following feature request in Connect:-

For those of you that don't know Connect, it is the system that Microsoft use to accept bugs and feedback for their products.  It can be a little hard to find your way around in Connect, but once you have figured it out it is worth adding your bugs and feedback.  The data actually gets synchronized with their TFS work item repository so data you enter shows up in the IDE of the developer working on the feature and the reports of the managers responsible.

I have been very pleasantly surprised with the quality of feedback and the responsiveness to all the issues that I have raised on connect during the Visual Studio 2008 beta cycle - the team's responses have been very honest and transparent with their delivery process which I personally think is a great way to interact with your community.  This is especially true if your community is like the Visual Studio one and made up of smart developers that also understand software development.

Team Build with CC.NET

I had the pleasure of meeting James Dawson at TechEd in Barcelona this year, and recently he dropped me a note to let me know about a Team Build plug-in for CruiseControl.NET that folks still on TFS 2005 might find interesting.  It basically allows you to use CruiseControl.NET to subscribe to TFS to detect changes (via the TFS plug-in to CC.NET that I look after) but call Team Build to perform the actual build - which has the benefit of feeding back all the build data etc into TFS.

I have yet to take it for a drive myself as I'm now running TFS 2008 and use the TFS 2008 CI functionality to trigger builds, however I've seen some folks asking for similar functionality in the past so I though you might find it interesting.

While on the subject of CruiseControl integration with TFS.  I recently came across a problem that means the existing CC.NET and CruiseControl (java) source control integrations do not work correctly with TFS 2008.  I've confirmed that this is still the case with the RTM release of TFS 2008 so I'm going to spend some time this week getting patches together for them.  I will post soon with more details about that.

Update:  Fix to the CC.NET integration has been made - for more information see this post.

My First Computers

| 1 Comment

So, at the risk of starting one of those annoying meme's, I've kinda had this conversation with a few folks before and people of my age always seem to enjoy it so here goes.  My first computers.

My First Computer

The computer I first learnt to code on was a Commodore Vic-20.  My parents bought it because they saw William Shatner advertising it on the telly and suspected that these computer things might catch on one day and I should probably learn about them.  We spent hours sitting and typing in code from printouts in magazines and then debugging our typing mistakes.  Unlike some people, we were lucky enough to have a tape drive to save our work before we switched it off.  The following year I got the 8k expansion pack which doubled my available memory.  The Vic-20 was when I learned binary arithmetic because a poke instruction was needed to draw a character to the screen that was not a standard Alpha-numeric - what you were actually doing was writing directly to the 6560 Video Interface Chip after which the computer was named (VIC - geddit?).  Any spare squared paper I could find was always covered with little grids with drawings in them of graphics for potential games.  I still use this skill today but more often for bitwise flags than for coding space invaders.  My favorite game for the Vic-20 was "Psycho Shopper" - a game who's premise escapes me but I seem to remember it had something to do with old women and walking frames.


I remember that after using the Vic-20 I happened upon a book that described the Teletext system that was going to be coming soon if you owned an expensive TV.  I was amazed at the quality of the graphics when I first saw Ceefax.  Later in life the Vic-20 got replaced by a Commodore Plus/4 which was a bit of a failure but allowed you to play most of the Commodore-64 games I had been very jealous of.  The Commodore Plus/4 had a built in Word processor and spreadsheet and I never hand-wrote a school assignment again after we got that in 1984.

First Games Console


Before the VIC-20, we had an Atari 2600.  This was early in my career as a gamer (I was probably around about 3 or 4 years old at the time) but I remember that it had the most exquisite multi-position switches and the paddle controlled  "tennis" game was exquisite in it's interactivity - only recently surpassed by the Wii controllers.

First PDA

lz Ahh, my lovely Psion LZ (or Lizzy as us Psion fanboys used to call them).  While I did use this as a PDA, the Psion was a remarkable device that had a very comprehensive programing language in OPL.  Hear that Apple - a personal organizer that shipped with it's own IDE, and was designed to be coded...  OPL was like BASIC and had all the constructs you needed to do some serious stuff.  The Psion Organiser II's also had a very neat Database system that was easy to program which made it suitable for business use and found many vertical niches.  Marks and Spencer's in the UK used to run their entire retail operation by having Psion organiser at each till and would send the "Datapaks" (physical solid state storage cartidges) of data down to their branch offices each day.

I did some serious hacking LZ (which had a massive 4 lines to work in).  Again, using the binary arithmatic learnt on the Vic-20, I was able to do some nice graphics work and had several games to my credit.  After the Psion LZ's came the Series 3's which I could never justify the expense.  As mentioned in a post a while ago, Robert Parsons was the master of Series 3 hacking in my playground.  He even managed to fake grayscale by switching the black of the LCD very rapidly (a-la early Gameboy devices).  He even wrote a fractal generator, 3D graphics and the most addictive game ever (Bobman).

First Self-Built Microprocessor System (kinda)

ScienceFair_MicroTrainer_System When I was 7 or 8, I went into my local Tandy's store in Arnold and spent my parents hard earned money on the Science Fair Microcomputer Trainer (based on a Texas Instruments TMS1100 CPU).  I'd previously gone through nearly every X-in-1 electronics kit from that Tandy store (in fact, looking at this page I owned all of those and can still remember the particular "hot electronics combined with cardboard and metal of the springs" smell that I used to enjoy on opening the boxes.  When I saw the Science Fair Microcomputer Trainer sat high on the top shelf, I was smitten.  To be honest, at that age it was pretty complicated but it did teach me most of what I know now about how computers work at a low level - it was all about putting stuff onto the stack and incrementing etc.  It also taught me how to wire fast and neat which I put to good use in my Electronic's GCSE. 

While I used to enjoy typing then playing the included "Rat Bashing" game - my crowning achievement was when I wrote my first "Hello World!" program.  Well it said "hEll0", but still, not bad considering the display was a single numeric LED character.  Internet legend has it that this devices was overclocked, making it my first overclocked computer.

First PC

compaqI Easy - an original Compaq luggable.  Also my first "laptop" I guess - but it was a little on the heavy side.  I seem to remember that the reason this machine was at home was because it had a spreadsheet system (Lotus-123?).  It was great because it had two 5-1/4 floppy drives so you could have your boot disc (with DOS, BASIC etc) in one and use the other for storage.  Floppy disks amazed me because of the random access - previously everything else I had used was tape.  I think that this was the only machine then typing "B:" took me straight to the B drive and didn't give me a prompt to insert a different disk in Drive A.  I wonder - do kids today know why the hard drive on a Windows machine starts at "C"?

We had a copy of California games that ran on this machine (a little strange because the game was in color, but the machine's screen was a green-screen).  I remember that I hacked the resource files in California games to change the annoying America phrases "That's rad dude" to more British phrases I understood.  Countless hours of amusement followed when I did a good half-pipe or surf trick and got sworn at in the best anglo-saxon.

First Windows Machine

ibmmodel55 An IBM PS/2 Model 55 SX.  To be fair, this belonged to my Dad's company but he used to bring it home evenings and weekends and we would set it up and I would help him do his work on it.  It had an amazing 20Mb (but loud) Hard Disk (my first machine with a Hard Disk), and the IT department had coded an awesome initial menu script in the autoexec.bat of DOS when you booted it up.  These start menus were all the rage at the time.

The machine originally came with Windows 2.0 which didn't really get used much.  I remember the Paint program that came with 2.0 as more advanced that the version of Paint we get in Windows Vista today - it had some isometic drawing mode that was quite strange.  However, it did only draw in black or white.  Taking a look at some of the dialogs from back then, it is amazing how familiar some still are.  Also, the DOS version of Word was pretty decent - you could draw nice boxes using the cursor keys and it would put in the appropriate "_|" characters etc.  It also used bold text for bold writing unlike Wordperfect at the time.  It was nearly WYSIWYG.

I still remember seeing the review of Windows 3.0 in PC World I think it was.  The cover that issue was "Windows 3.0, Child's Play" and had a picture of a baby in a nappy (diaper) holding a mouse.  The Microsoft Mouse 2.0 that was purchased along with that copy of Windows was a masterpiece of the mouse art, and still one of the best mice produced.

Well, that's enough trawling through memory lane.  Happy Thanksgiving to all my American friends.  If anyone fancies taking on this meme and detailing their computer firsts then be sure to let me know - however you are probably a lot less geeky than me and would rather keep those memories to yourself.

Team System Chat - 5th December

The Team System group are holding a couple of their popular group chats again on Wednesday, December 5th.  If you haven't been to one before it is a great opportunity to get to talk live with the very people that work on team system, give them your feedback and get your questions answered direct by the folks that made it.  I'm expecting lots of discussion around the recent 2008 release, upgrade questions and licensing etc.

Come chat with the Visual Studio Team System group – December 5th

Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

Join the chat on Wednesday, 5th December 2007, 18:00 - 19:00 GMT.
Add to Calendar | Additional Time Zones


Join the chat on Wednesday, 5th December, 2007 from 16:00- 17:00 PST.
Add to Calendar | Additional Time Zones

tfs08_whats_new Last night I had the pleasure of presenting to my local .NET User Group (NIMTUG) on what is new in Team Foundation Server 2008.  Interestingly, most of the audience where new to TFS completely so I also covered a bit of ground on what Team Foundation Server did and why - however most of the talk concentrated on the Team Build stuff new in TFS 2008 and I ran through the wallboard demo that I wrote for TechEd.

In you are interested, the slides are here:-

and the demo code is available here.

Thanks to everyone that turned out for the talk - it was very well attended despite the weather.  During the session, I offered a couple of drinks to anyone who would be photographed with a Team System temporary tattoo on their head, sadly no-one took me up on the offer ;-)

I got an IM message from fellow Team System MVP Grant Holliday this morning prompting me to log-in to MSDN Subscription Downloads and see what was new - lo and behold I'm downloading VSTS 2008 as we speak ;-)


I am currently getting above 220 Kb/sec download which is close to the maximum I ever get on my DSL line so they are obviously doing something special with the 2008 release to get it in everyone's hands as quick as possible.

The betas of VSTS 2008 have proved to be very solid and I am looking forward to taking the released version for a spin.  I'm actually doing a talk at my local user group (NIMTUG) tonight and I'm sorely tempted to see if I can give them an exclusive first look ;-)

Congratulations to the team at Microsoft!

TechEd_Talk1 At this years TechEd EMEA, they were doing a pilot recording video of the speakers along-side the usual audio/visual recordings that you get on your conference DVD's a few months after the event.  At an event such as this one where a lot of the content was about the pending Visual Studio 2008 release it is even more important for that information to get into the hands of the delegates as quick as possible and unbelievably they have already edited all the sessions together and have them available on the TechEd site for people who were registered to attend the conference.

Personally, I feel that the videos work much better than the traditional recorded format of just a voice with what was being presented on the screen.  For many of the sessions, watching the presenters really helps the message get across and it feels a much more natural way of consuming the content.  The camera work and editing of the sessions themselves has been very well done - each session had two live action cameras to view from as well as the projected video content.  The fact that all the hours of sessions is already edited and available from the TechEd site is pretty amazing (especially when you consider that everyone involved is still currently onsite doing TechEd.  I'm also amazed that modern codecs allow you to view live action video of a stream that is also perfectly readable when looking at the screen action to view the code being typed.

Anyway - if you were a registered attendee of TechEd Developers 2007 then I encourage you to go to the site and check out the videos of some of the sessions you wanted to attend but couldn't make it.

wallboard As promised, here is the code we created during the TFS 2008 Build session at TechEd 2007 in Barcelona

The idea was that this is "Wallboard" that is designed to run on a machine in a public area of the office.  It publishes the current state of the build system so everyone can see it (and know who to blame when it goes wrong).  If you wanted you could also extend this example to give additional information such as details of recent check-ins, recently raised/resolved work items etc - a good way to teach yourself the TFS managed API.

For a sped up example of how this works - see this screencast.  The source code is available here (, 268 KB)

Thanks to everyone who came along to the talk today in Barcelona.  We had a big crowd who seemed to enjoy the session.  I had a few people coming up afterwards asking for a copy of the Wallboard code that we built during the session - I'm currently in the process of adding some extra comments to the code to explain some of the bits I skipped over quickly in the talk and I'll post it here shortly as well as uploading to the TechEd site - keep an eye on this post for more details.


Creative Commons License
This blog is licensed under a Creative Commons License.