Tag Archives: Gary Short

DDD8 – Apples, Boots and @blowdart

Major embarass @blowdart session!  #DDD8Today was the eighth annual(ish) gathering of four hundred of the Microsoft Development community for a day of free technical training. Once again it was spectacularly over subscribed – sold out faster than Glastonbury (all the places went within fifteen minutes) and with no Microsoft speakers had the usual mix of sessions, some of which perhaps you wouldn’t expect to see at Microsoft.

The day started off cold – although there was no snow it was definitely a case of scraping ice off the car, and if you were in any doubt, one look at Rachel Hawley’s footwear could tell you! Having said that, as has become traditional at these events, bacon butties to warm you up awaited those who got there early.

First off a couple of observations. For a Microsoft Developer Day, it was a very good advert for Apple! Of the five talks I attended, two were obviously running off Mac’s. One was about iPhone development, so using a Mac was a given, although the presentation was also given using Keynote (and all the more slick for it) and rather than messing around with font sizes as all the PC based presenters have to do Chris Hardy used the built-in OS X zoom gestures to quickly focus in on what he was showing. The other Mac based presentation given by Ian Cooper wasn’t anything related to Mac development at all, but was presented in MacOS X, using the Mac version of Powerpoint, with a windows development environment running in VMWare. It’s not so long ago that developers would buy a Mac, largely ditch MacOS X and stick Windows on it – it does seem that even with the advent of Windows 7 that isn’t always the case now… The other massive advert for Apple was not surprisingly the vast numbers of iPhones in evidence. I certainly think it would have been worth somebody doing the same as Scoble did at Le Web to get a ball park figure of how many there were. There were a good few Google Android phones around, but few if any Microsoft based phones in evidence. This was also reflected in the sessions – no talks on Windows Mobile development, but there was a talk on using MonoTouch to develop iPhone applications!

As is normal for these days, what I thought I would attend, and what I actually attended were slightly different. I initially thought I’d just take up residence in Chicago 1 for the day, but in the end I fancied a change of pace.

First up I attended a talk by Ian Cooper on Real World MVC Architectures. This in part was because I’ve just done my first ASP.Net MVC project, and I was half expecting to find I’d done it all wrong, as to a large extent I’ve put it together as felt right rather than following any explicit paradigm. To my relief it seems all the talk of proper architecture seems to be sinking in, and the way I’ve constructed it is pretty much as was suggested, even to the point that I’ve used particular techniques without having read about them as yet in my MVC book in that I understood why they were being used but didn’t recognise the idea by name! I suspect the session might have been pitched a bit too much towards the beginner end of things for experienced MVC programmers, but for me it was certainly a good reinforcement of the techniques.

Next I slipped next door for a change of gear, and a non-technical talk by Liam Westley who was talking about how to be a small software development outfit and not go bust. To be honest, the principles Liam outlined can apply equally well to large software houses, a number of which I’ve come across who don’t get this stuff right, and even to people in a corporate environment like me as getting these sorts of things wrong will at the very least have your internal customers looking elsewhere for their software, or at the worst put you out of a job. Liam gave us a set of broad principles that any software developer should be doing as a matter of course – things like delivering properly tested software, applying proper logging (even in a corporate environment fixing a problem before the users have got round to reporting it scores serious brownie points), and understanding your users, all go to making people happy to give you their software work, and not go elsewhere.

For session number three it was a first for me, in that it was the first time that I have heard Jon Skeet speak. His name will be familiar to anyone who frequents Stack Overflow – and as his reputation is testament to he sometimes seems to answer C# questions within seconds of them being asked. What is slightly more surprising is that his day job is at Google as a Java developer. Even more surprising he fits all of that in with being a Methodist Local Preacher too – but I suspect that stands him in good stead for being able to deliver material well, as from the experience today his reputation is well deserved. The latest version of C# brings in some interesting, but quite complex new ideas, and he did manage to put them over in a way that even with the early start on a Saturday I pretty well followed them. Having said that whilst I liked the presentation, and many of the new features, I was less than impressed by the return of the ubiquitous VB variant data type, in the guise of the dynamic type. Whilst I am well aware that the way the variant and the dynamic work are rather different, it’s much more about how it will end up being used, or more likely abused. I’m with Jon Skeet on this in that I much prefer a situation where the types can be validated at compile time. Whilst there are legitimate reasons for adding dynamic, and as an exercise in language design the implementation is very impressive, as with the variant I am quite sure it will end up being thoroughly misused, and will lead to many a difficult to nail down bug.

Next up was lunch, and was the traditional scramble for a lunch bag. Unfortunately it seems that the entire occupants of the Chicago 1 side went the same way and got all the non veggie and non seafood sandwiches (I have to watch having too much of certain types of seafood with my gout) and as always it was a bit of a lucky dip as to what else you got, so I ended up with a sandwich, crisps and an apple that I wanted, and a can of diet coke and a snickers bar that I didn’t want. I know they’ve tried various things over the years, but I still think there has to be a better way than this, as it was pretty obvious looking around that not everybody wanted what was in their lunch and there was a lot going to waste.

The lunch time Grok Talks had relocated this year, and were in the atrium in building four. This certainly gave a bit more space, but did seem to make the security guards mighty jumpy – I got a stern “I’ve just seen you behaving strangely” from one for taking this picture – I just liked the look of the clear blue against the white of the building structure and was going to make some comment about the weather! The Grok Talks were marred rather by problems with the technology. For a start the speakers were badly positioned in relation to where the presenters were standing leading to endless feedback problems. The talks also took an absolute age to get started, and when they did people seemed to overrun, which as a result led to people who were further down the running order being disappointed. There were a couple of interesting talks though, and it was especially interesting watching Gary Short intensely watching somebody else demonstrate Code Rush! Looking at the response hopefully there will be a few more converts from Resharper, a jump I made many years ago!

After lunch was one of my personal interest talks. As an iPhone owner and software engineer I’ve always quite fancied giving an bit of iPhone development a go. The problem is that as well as learning a new platform and new environment, developing for the iPhone requires learning a new language, Objective-C. However Chris Hardy was demonstrating a way that I could leverage my existing C# skills using the Mono environment and an add on to it called MonoTouch. Whilst developers still need to be able to read Objective-C to understand what is going on, and still need to learn their way around the Apple API’s, it allows them to develop entirely in familiar C#, and even brings advantages in terms of some of the extra type safety that C# brings. I have to say I was pretty impressed at the environment and what it can do. I was less impressed by the price – $399 for a personal license, which only covers you for a year of updates, with even more for a corporate license – far too much for your average hobbyist programmer to even consider. I can’t help thinking that they are missing a trick here, and providing a low cost or free license for developers in return for a share of the revenues, maybe using some sort of phone home code to keep track would certainly broaden the base of programmers using it.

My last session of the day, to be honest I would have gone to even if Barry was just reading the phone book, as this was potentially his last appearance at a Developer Day before he loses the essential qualification for being allowed to speak of not working for Microsoft, as in a scant few days he will be starting a new job working for Microsoft at one of their offices in Redmond. As always there was the classic banter with people he knew in the audience, in particular Jon Skeet who was attempting to pose increasingly difficult questions it seemed. Barry also started off by hijacking the session next door as Ben Hall, the speaker had a birthday and was foolish enough to tell somebody! What I was also expecting, and got in spades were interruptions marking his departure from the UK development scene. His book Beginning ASP.NET Security featured in several. In the first Liam Westley gave a touching and heartfelt tribute, and said how much he had been looking forward to the arrival of the book – as it was just the right size to prop up his wobbly table. In another they spoofed the winter cold adverts, suggesting that the book was good fuel to keep the elderly warm. The session finished off with a clip from his appearance many years ago on The Crystal Maze, and several of the organising team appearing in T-shirts especially prepared for the occasion. All in all it was a memorable way to finish off the day, and hopefully a memorable occasion for Barry as he heads across the Atlantic. The one question that remains is whether all the spelling mistakes in the presentation were down to Barry, or whether somebody did get at his presentation before he went on…

All in all it was an excellent day, and although I know there were a couple of sessions that had problems, the ones I attended were all excellent, and well worth the spare time given up. It was great to catch up with friends from the community, previous developer days and previous jobs. Whilst it does appear that the day is very much a victim of it’s own success (even with local developer days around the country people still travel from far and wide to attend this one in addition to their local days) hopefully a way can be found to allow it to keep running in future years, and all credit to the organising team, and the staff at Microsoft for keeping the whole day running smoothly.

A Busy Saturday

Yesterday was somewhat of a busy day – not only was it the fifth of the successful series of Developer Days at Microsoft, but we’d also got tickets for the equally successful Watercress Belle, the fine dining train that the Watercress Line preserved railway run on a number of Saturday evenings during the year.

The day didn’t have an overly great start. For some reason, I did something I never usually do, and despite driving a familiar route ended up heading onto the A329(M) going in the wrong direction! Not too much of a problem as I could just drive down to the next junction, go round the roundabout and back, but still a bit of a pain. Thankfully I’d left in good time, so still managed to get to Thames Valley Park without too much of a problem.

Looking through the list of sessions in advance, whereas at previous events when I’d had several sessions, usually at the same time that I really wanted to go to, this time around there were a number of spots where there was nothing I was massively enthusiastic about needing to go along to, as a result, my choices tended to have slightly different criteria. My first session choice was a good example. Whilst I was quite interested to learn about Mock Objects, Colin, the chap doing the presentation sat opposite us at the geek dinner following a previous Developer Day, and I thought I’d go along to support him too.

Although I understand that Colin had done his presentation previously, he’d been allocated one of the larger rooms, and with a full house he seemed understandably nervous. In the early stages of the presentation he did seem to flit about a bit in relation to his slides, and it took a while to answer the question I had, which was why I should consider using mock objects. Having said that, once we got to a few examples, it all started to make sense, and ultimately it was a useful and informative talk.

Moving on, I then went for something rather different, and attended the Guy Smith-Ferrier session giving tips on using Visual Studio 2005. Guy has been involved with the community for a long while, and I believe has spoken at every previous developer day. However I don’t think I’ve ever actually attended one of his sessions. Largely as expected, several of his tips were ones I knew about, however there was a goodly number of tips and tricks that told me something new. Guy’s experience was pretty apparent though, and he coped both with people in the audience correcting him, and, as is sometimes the case at these events a persistent good natured heckle from someone he knew sat down the front.

Session three was one of the points where I really didn’t know which session I was going to attend beforehand. Eventually I plumped for Alan Dean (who again we sat opposite at a previous Geek Dinner) giving a very interesting talk about Object Thinking.

The basis of the talk is a book from Microsoft Press, also called Object Thinking, the premise of which is that as software developers we have not properly understood the concepts of object orientation. Essentially what has happened is that traditional software developers have taken the concepts of of object orientation and then moulded them to be a lot closer to traditional programming than perhaps was intended. Certainly the example code that Alan showed us seemed rather radical, eschewing a lot of the perceived benefits of a language like C# – effectively reducing objects to a collection of generic fields. Refreshingly Alan was very careful not to try to “sellâ€? the concept, rather it was pitched very much from the point of view that this was a technique he found interesting and useful, and it is something that may be of benefit to us too. It has definitely made me keen to at least read the book, even if I don’t ever use the ideas.

Next up was lunch, and after my experiences previously, I managed to grab my lunch quickly, and secure a reasonable spot for the lunchtime Grok Talks. First up though, wasn’t a Grok Talk as such, but three students who had won through to the final stages of the Imagine Cup with a proposal called “My First Programming Languageâ€?. The team are being mentored by a regular attendee at the Developer Days, so in preparation for their trip to the finals of the competition, he put the three of them in front of us to get our feedback both on the ideas, and on their presentation.

In terms of the presentation, the most annoying part of the presentation was that they kept swapping presenter – it was suggested that for clarity they should have a single lead presenter in the finals. In terms of the content, it was quite interesting I think for many of us, as it was attempting to address the fact that there is a shortage of properly trained software developers. One chap next to me seemed to think that was a good thing – more jobs and better pay for the rest of us, but it does highlight an interesting change. I like many of my contemporaries learnt to program as a child, with computers like the ZX Spectrum. However over time, including a programming language with a computer has fallen out of fashion, and alongside that, computer teaching at schools, which included some element of programming as I was going through has changed focus to become ICT, which is much more about training children to use software packages rather than to actually write software.

Their tool was aimed at relatively young children, in order to try and teach them the skills that are needed to program software. Having said that while the concept seemed good I’m wondering whether, as with situations where schools prefer children to use Microsoft Word rather than an ‘educational’ word processor, the same might apply to software development. Indeed you only need watch a young child who is able to work a mobile phone much better than an adult to realise that in most cases they can understand complex tools a lot better than adults.

After lunch I attended a session by Gary Short, another SSE escapee talking about using Agile methodology in both an enterprise, and software house environment. There were certainly moments in that presentation when he was talking about difficulties in an Enterprise environment when I could tell he was very much talking about problems I encountered in SSE – and he certainly gave some food for thought for implementing the ideas in a smaller scale environment.

Last up I attended Multi-threading Patterns, a presentation by Cristian Nicola. Cristian admitted from the start that he’d had to reduce a four hour presentation down to one hour. Since in order to get to the patterns – the bit I was interested in, he had to cover a lot of the basics of multi-threading, I found it a bit disappointing, as inevitably the patterns part of the presentation was the bit that got snipped significantly.

After the end of the Developer Day, whereas usually I’d be heading home, or maybe to the geek dinner this time we were off to Alresford near Winchester with some friends to enjoy a five course dinner on the Watercress Belle. The evening consists of two steam hauled round trips on the line whilst an army of volunteers serve a delicious meal cooked on the train, definitely recreating some of the feel of a luxury dining train of old. It’s not the only special train they had running last night – last night they also had the Real Ale Train which runs the other way on the line, starting at Alton to a similar timetable – an connecting with South West Trains for the journey home. The focus of these trains is somewhat different, being very much on the drink!

As on previous trips, the food on our train was excellent, and despite the rain we got a good view of the countryside on the first round trip, and then the really atmospheric final return trip stopping at dimly lit country stations before pulling into Alresford at the end of the trip. A great evening, and one we’re sure to repeat.