Monthly Archives: February 2009

Egypt Trip Post #5

Conference is done. We wrapped up the Code Camp conference yesterday at about 7pm with a cheers all round. This was the first Code Camp in Egypt and I think that you could class it as a success.

Yesterday we headed out to Giza (Cairo + Giza are apparently referred to as Big Cairo because the cities spill over the top of each other). Today Mahmoud is taking us to the pyramids, then the museum and then to the citadel. Then we are catching up with some of the others at Remon’s house.

So far it has been an awesome trip. One thing I have learnt however about presenting in a country where English isn’t the first language is:

  1. I need to speak slower. Australian’s speak pretty fast, and I and probably a little faster than usual when I get passionate about something.
  2. My normal kind of slide deck needs to be modified to provide more context for the discussion so that people don’t have to understand every word I use (helps to differentiate the technical vs. just words).
  3. Egyptians like to ask questions!

Anyway – need to process a few e-mails before we head off for today.

Egypt Trip Post #4

It has taken me a little bit longer to get this post out than I would have liked. I only managed to find a wired connection at the BUE yesterday and was busy going through the preparation for my talk.

So far I’ve been having a great time and I’ve met lots of great people. The event started late yesterday due to a few logistical issues but the turn out was fantastic (uploading some photos now). On the way out to the venue we were actually caught in a sandstorm. Mahmoud Ghoz is one of the co-organisers of the event and pointed out that the whether was a little unusual but I kind of liked the experience anyway.

Travelling in traffic in Cairo is an experience that I would recommend to everyone. It is complete chaos as people cut and weave in and out of lanes (lane lines are more of a suggestion). The notable absence of traffic lights is interesting. Often you will pull out onto a road and go for a few hundred meters before doing a U-turn because it is easier and has less impact on the flow of traffic (kind of like water flowing through pipes). In some ways it makes a lot of sense to me.

Tomorrow after the event we are heading out to the Pyramids so I should get some good photos out there. I am looking forward to it. My session is first up this morning so I had better make sure that all the libraries I need are on this machine. Salaam.

Proposal: Dependency Replicator Changes

Whilst I was waiting at Changi Airport waiting for my flight to Cairo I created a new branch of the TFS Dependency Replicator code. The change that I have been making is changing the code so it uses IBuildDefinition and IBuildDetail instances instead of BuildData instances. In doing so I made it aware of the alternative configuration paths for the build directory (where the TFSBuild.proj file is located).

The implication is that the traditional location of the TeamBuildTypes folder may no longer be valid. Instead it will look for the DependencyReplicator.xml file in the same directory as the TFSBuild.proj file. The side effect (implications leading to side effects, is that like a double pointer?) is that the BuildType property on the Rule element is no longer required, rather it is implied by the location of the DependencyReplicator.xml file.

Before I unilaterally go and change the Trunk with this change I want to implement the code so it falls back to its original behaviour but I also wanted to know what others thought. There are a few other issues that I need to address in a future release:

  1. Performance, at the moment it is a very heavy poll mechanism. I avoided TFS evening because of previous reliability experiences, but and event based model would be better.
  2. Plug-ins. Birgir Stefansson is going to be working on the code base soon and wants the rule base system to be more configurable, I can grok that but I’d be interested in others thoughts about how plug-ins would be useful.

Egypt Trip Post #3

Sand. There is a lots of it. I landed in Cairo about and hour and a half ago and my hosts picked me up and took me to the hotel. For the entire flight we raced ahead of the sunrise but ultimately lost somewhere just before reaching the African continent. During the night we flew of India and I got my first real impression of what population density really meant, and that was just judging by the lights we could see from the plane. Flying over the Arab states (I hope I’ve got that right) was a completely different proposition where you can see the occasional population centres but vast tracks of what looks mostly like baron land.

As we flew over the Red Sea I saw some beautiful coastline that I’d love to come back and visit some day. From the plane I could see a few reefs that would be interesting to swim through, although I am not sure what the fish population would be like in this part of the world – does it compare to the The Great Barrier Reef? I dunno, the Great Barrier Reef is bleaching these days anyway.

Our flight path took us up along the Red Sea before banking left just short of the Suez Canal and then headed inland before crossing the Nile just south of the bulk of the Cairo city. Out the right hand side of the plane I managed to spot some pyramids, but unfortunately the pilot had asked passengers not to use electronic devices so I guess that includes digital cameras.

The landscape before the Nile was a stark contrast to even the Australian landscape which I had always considered to be quite dry. You don’t get much drier than mountains with drivers of sand flowing/eroding down the middle of them. It is quite beautiful and certainly a very unique picture.

As we crossed the Nile it changed to a tapestry of green farmlands strangely fenced in by a number of large industrial complexes. I saw quite a few factories with fairly large plumes contributing to the haze of the top of the city. Speaking of the haze its hard to really appreciate it until you get on the ground. Visibility is pretty good but the horizon has a very dark tone which I guess is just a side effect of the population but also the particles that are in the air (just guessing). It is quite different from the haze over the top of Melbourne that has been produced by the recent bushfires (not much chance of bushfires over here).

I have to say that the people in Egypt are very friendly and full of smiles so I guess if you follow the basic international travel rules of being polite then its really a pretty good place to visit. I don’t have many photos to add to the collection right now but I will try to snag some tomorrow as we drive out to the event. Right now I am exhausted and need to catch some Zzzzzz’s before doing some final preparation for my session tomorrow (I’m actually producing a new build of TFS Dependency Replicator).

Egypt Trip Post #2

Well, I’ve made it to Singapore. It is about 9:35PM local time and I arrived about 30 to 45 minutes ago. It has taken me this long to find an Australia to Singapore power converter and then find a comfortable spot with a power plug. I need to wait until 12:20AM local time before I can find out what gate I need to be sitting at and the flight doesn’t leave until two hours after that.

Still – it was a good trip over, I managed to end up with a few spare seats next to me and took the opportunity to go through some of the material for my sessions at Code Camp in Cairo.

Code Camp Oz 2009: 55 registrations so far!

I was just going through the list of registrations for Code Camp Oz 2009 and so far there are 55 registrations (or rather 55 “tickets”). Whilst it was perhaps a brash decision on my behalf, I decided to try EventBrite as a registration system this year. I coped a little bit of flak this year because the criticism was “why is this better than what we used to do”. That is a fair comment but its still interesting to try new things anyway, you never know what you will learn.

One of the things that I’ve learned, which was also a criticism was that there needs to be a clear way of cancelling attendance. So far I’ve only had two people cancel their attendance so it hasn’t been a big problem but it would be good if EventBrite had that feature (if you know that it does then let me know!).

So far its a been a fairly positive experience using this SaaS solution for helping to manage the event. I’d love it if it allowed us to put out calls for speakers, manage submissions and pull together a schedule. While I want these things I would probably never build them myself so the true benefit of a SaaS solution is that it allows you to focus on what you do best whilst allowing the vendor to gradually increase the feature set.

Tatham Oddie suggested I also look at Tixi which he has helped develop. Maybe we will look at that next year.

Anyway – if you have any feedback about the EventBrite system I would love to hear it, but right now I have to catch my plane!

Egypt Trip Post #1

Once again I find myself sitting in the international departure lounge at Melbourne Airport. This time I am off to Cairo, Egypt with a stop over in Singapore for a few hours. I’m flying out on Singapore Airlines flight SQ228 and will be landing in Cairo on flight SQ492 at about 7am in the morning. All up I am looking at about a 24 hour transit time to get there.

For those of you that read my blog regularly (all two of you), I’m heading of to Egypt to attend dotNetwork’s CodeCamp ‘09 which is run by the local community there. I got an invite to present at this conference via Omar which was an offer just too good to pass up! Besides he has been telling me how cool Egypt is (errr, maybe cool isn’t the word this snowflake would use) so I had to experience it for myself.

I’m presenting two sessions whilst I am over there:

  1. 01V03: Advanced Team Development Practices with Team Foundation Server
  2. 02V01: Adding Automation Support to .NET Applications using PowerShell

These are two of my favourite topics so I hope that the audience gets as excited about them as I do and goes off and experiments with them after the session.

Code Camp Oz 2009: It’s all about the social.

I just posted the list of speakers for Code Camp Oz 2009. The next thing that I need to focus on is getting as any people to know about Code Camp Oz 2009 as possible and I need your help for this. If you would like to go to code camp – great! Go and sign-up!

Once you have signed up look around your office – do you think anyone else you work with could benefit from attending Code Camp Oz. Training dollars are a bit harder to come by these days but just because your company isn’t going to send you on training doesn’t mean you have to stagnate! Get yourself and some colleagues into a car pool and drive to Wagga Wagga for the event. In the process you’ll meet lots of developers who are as keen on .NET technology as you are.

Come on – spread the word!

Code Camp Oz 2009: Speakers & Sessions Announced

Well it took me long enough to do it, but I’ve finally managed to get around to publishing the list of speakers and sessions for Code Camp Oz 2009. You can see the list below. Now that the list is published you should feel comfortable enough to go and book the event (4th and 5th of April – mark it in your calendar!).

Day Time Speaker Session Type Topic
Saturday 8:00 Mitch Denny Information Welcome and Housekeeping
Saturday 8:15 Nick Randolph Full Session 2 Heads are better than 1, building multi-user (multi-touch) software.
Saturday 9:15 Chris Anderson Full Session Building Line of Business Applications in Silverlight 2.0
Saturday 10:15   Break Morning Tea
Saturday 10:30 Adam Cogan Full Session SharePoint – follow the yellow brick road to public web-sites
Saturday 11:30 Liam McLennan Short Session ALT.NET
Saturday 12:00 Chris Hewitt Short Session ServiceBus Introduction
Saturday 12:30   Break Lunch
Saturday 13:00 David Kean Full Session A lap around the Managed Extensibility Framework (MEF)
Saturday 14:00 Corneliu I. Tusnea Full Session Security in a Web/SaaS Environment
Saturday 15:00   Break Afternoon Tea
Saturday 15:15 Bill Chesnut Full Session A Dive into Dublin: WF and WCF Application Server
Saturday 16:15 Steve Godbold Full Session Visual Studio 2010 – a full team suite
Saturday 17:15 TBA Social TBA
Saturday 19:00 TBA Social TBA
Sunday 8:00 Mitch Denny Information Welcome and Housekeeping
Sunday 8:15 Jorke Odolphi Full Session Hosting Your Apps from Vapourware
Sunday 9:15 Justin King Full Session 6 Design Patterns that Every Developer Should Know
Sunday 10:15   Break Morning Tea
Sunday 10:30 Michael O’Dea-Jones Full Session WCF: Configuring the Bastard!
Sunday 11:30 Chris Hewitt Short Session Project Velocity
Sunday 12:00 Bill Chesnut Short Session Windows 7 & Windows 2008 R2: Booting from VHD
Sunday 12:30   Break Lunch
Sunday 13:00 David Burela Full Session Cloud computing – A-life using Windows Azure
Sunday 14:00 Paul Stovell and Omar Besiso Full Session Aspect Orientated Programming in .NET
Sunday 15:00 Mitch Denny Information Farewell and Clean

This year I am really looking forward to some of the sessions because we have nice coverage of current technologies you can use and new stuff that is coming out around the corner. There are a few social event things that still need to be locked in and I am taking suggestions for what we do on Friday afternoon/evening, although we have the challenge this year of it not being a public holiday on Friday or Monday (just wasn’t possible this time – sorry!).

Team Consultants

One of the interesting traits of good technology people is that sometimes they are quite introverted. This manifests in a number of different ways depending on what role that technologist plays, whether they are a member of a development team, a consultant, or a system administrator.

Introverted consultants are an interesting case because the reality of the consulting role is that you are forced (if you are to be successful) to be a fairly good communicator and so despite your introverted nature you learn techniques that enable you to stand up in front of a room full of people and and be quite persuasive even though your comfort zone might well be hiding away in a dark room reading through API documentation.

Recently I’ve noticed that this combination of good technical skills, introverted nature and learned consulting abilities can _sometimes_ lead to a behaviour that doesn’t work well in a team.

The first thing to realise is that when I talk about good technical skills I truly do mean that the individual has got what it takes to get something done. Where this is relevant is that they do develop a belief that the best way for them to do something is to go dark and deliver at the end of the project and because of their communication abilities they manage to convince others on the project team that is the way to go – sometimes with disastrous consequences.

Things go off the rails when the people they convince also start going dark but don’t quite have the technical skills it takes to get themselves out of trouble. What this consultant has done is allowed themselves to go dark with their introverted nature, led people down the same path but when crunch time comes their unique skills only manage to bail themselves out.

Personally I think it is a really dangerous combination for software development projects because so much of the deliverable relies on the team working well together and avoiding icebergs towards the end of the project. If you are a project leader you need to be aware of whether you or someone else on your team has this combination of good technical skills and introverted nature which is masked by learned consulting abilities. If you don’t then you may well be setting yourself up for failure.

If you are a project leader you need to be less of a technical consultant and more of a team consultant who understands the dynamics of how a team will work together.