Tag Archives: Developer Day

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.

Developer Day 4 Geek Dinner

Wine

After the Developer Day, comes the night. With a number of people staying around the area and heading home tomorrow, plus one or two like myself and Dave who live locally, three out of the four Developer Day’s have been followed up by a dinner, this one being organised by Zi Makki.

As with the DDD2 dinner, I headed home to collect Beth, who although she would be bored silly during the day, quite enjoys the conversation at the dinner. In a change to previous dinners, after her starring appearance in a Channel 9 video, Dave’s other half Lou came along too and joined in the fun.

Down the Table

Unfortunately, as quite often happens with these things, there were a lot of no shows. Since the sign-up for the event is via a wiki, and opens pretty early on – indeed ahead of registration for the event, it is very much dependant on people taking themselves off the list if they subsequently are unable to attend. Sadly, failing to do this means that people who otherwise would like to come along, are put off. Looking at the list, we had a booking for forty people, and thirty-seven people listed as coming – however at least ten of those people didn’t show up.

Having said that, we had a great time none-the-less. In fact I barely talked to Beth all evening as she had a pretty wide ranging discussion with the guys further down the table covering everything from teaching to gun control. I had some somewhat more geeky conversations, however in general, although there is a slight geek focus to some of the conversations (and always the inevitable gadget comparison), ultimately the topics for discussion are as broad as any other party situation – there really isn’t an archetypal geek!

Creamed

It was great to see Lou at one of these occasions too, hopefully she enjoyed it enough to join us for one of the bigger London events in the future. I took a load of shots with the camera on the phone, thanks to the lack of light some are a bit grainy, but you can browse through my selection here. There were several other people snapping away during the evening, so hopefully we’ll be able to pull them altogether into a group later on.

Developer Day 4

Today was the fourth Microsoft hosted Developer Day, held at the Microsoft UK HQ at Thames Valley Park in Reading. As previously I’d been signed up to go pretty well since it became available, and as with previous events it did not disappoint.

As with the previous events I’d been through the online agenda in advance, selecting the sessions I thought looked interesting, and as before, the sessions I actually attended turned out to be rather different!

My first session was ‘How to Write Crap Code in C#’ presented by Ben Lamb. The slides for the session are online, together with some of Ben’s previous sessions. In terms of the content, he was somewhat preaching to the converted in my case, as on a couple of occasions I’ve had to sort out performance in bits of code. In the case of this talk Ben took a simple task – to count the occurrences of particular words in the complete works of Shakespeare (oddly enough almost the same task as my current employer got me to do at my interview for the programming test), and demonstrated a multitude of different ways for doing it wrong. Amusingly for one example, despite writing it really badly, on some occasions it didn’t make much difference, however when he got to strings, that was when he really hit the big time in terms of speed, indeed he actually had to partially optimise the example so it completed within the allocated time for the session. The fundamental problem is that .Net is really bad with strings, as they are immutable – complicated string manipulation should be done with a string builder object instead. Unfortunately many programmers who cross over to .Net don’t realise this and carry on using strings as they have done in other languages…

In terms of the delivery, I thought that Ben seemed decidedly nervous – but then I’m sure I would be when faced with 160 people! Unfortunately he also made the classic mistake of not running through your entire presentation before doing it, as he would on the day, which when coupled with his decision not to use his regular (and cluttered) account on his laptop meant that part of his demonstration didn’t work correctly. He also had the other presentation nightmare, running out of material. Having said that, he did seem pretty knowledgeable, so I suspect it may well be a case of the classic not enough time to pull it together issue…

Anyway, for session 2, I popped into the next door room for ‘Ruby on Rails for .Net Developers’, presented by Dave Verwer. I particularly wanted to see this session, as Ruby on Rails is one of the hyped up technologies about in the industry at the moment, and I wanted to see what all the fuss was about. As you may have gathered, Ruby on Rails is the competition for Microsoft, so it was an interesting choice of session. In a double whammy, I spotted as Dave walked into the room, that unlike the other speakers, he wasn’t using the PC/Powerpoint combo either, he had a nice Mac laptop, and was using Keynote for the slides. For the demos he was using my favourite Mac text editor Textmate too. However, in a bit of a poor demonstration, he succeeded in crashing the Mac completely on one occasion, and having it lock up on him on another – quite impressive, but for the wrong reasons. Interestingly he also task swapped using the Mac equivalent of ALT-Tab which I found surprising – I tend to hit F9 and use the slick Expose effect instead.

Putting aside the method of presentation, in terms of content, it was very interesting. I can certainly see where the Ruby on Rails reputation for being magic comes from, but ultimately that comes from working the way the framework expects you to work. Whereas other environments try to be as flexible as possible, Ruby on Rails seems very prescriptive about how it would like you to do things, and I suspect the magic will very soon wear thin if you tried to do things slightly differently. Having said that, I think it’s perfectly possible that somebody could take the same principle and apply it to other languages and environments. It’s very nicely done, and certainly powerful, but most definitely hyped.

Session 3 was a somewhat difficult choice as all four sessions seemed attractive, plus Barry was doing one of the four, and Sarah was doing another. In the end, I went with Dave to hear Sarah talking about blogs and blogging, and Dan, a colleague from work checked out and was impressed by what Barry said. Sarah was another person hit by technical difficulties. At one point she had four different laptops on the desk trying to find one that the Microsoft network would allow to connect to the internet – something that was a key part of the talk. Ironically by the time they managed to get a laptop that could connect, she didn’t use the internet anyway. Impressively through all of that Sarah kept her cool, and delivered a great session, certainly covering the basics of the various collaborative technologies that are around, and more importantly giving real world examples of how her employers are using the technology to get their disparate programming teams on opposite sides of the world to work together.

Following session 3 was lunch, which at an extended ninety minutes, I was worried was going to be pretty boring. Having said that the organisers had arranged a selection of mini talks and discussions to fill the time, ironically none of which I actually listened too! In the end I used the time to mingle a bit, chatting to various people, and in the end finishing up in an interesting discussion with Liam Westley who develops software used by shopping channels like QVC.

For session 4 I’d highlighted two technical sessions to attend, and went to neither, choosing instead Richard Costall and Dave McMahon, shamelessly ripping off Crackerjack, playing Double or Drop with the vast selection of swag that they brought back from TechED in Barcelona. Although they maintained that there was no technical content to the session, that was a slight bit of a fib, as the questions were all based around a series of video interviews they had conducted with key industry figures during TechED. Although it wasn’t the sort of deep technical content that a lot of other sessions contained, it was certainly interesting, and as always with their sessions, great entertainment. Perhaps the only criticism I’d make is that it would have been better if they had made use of the embedding feature in Powerpoint to make the whole presentation a lot more slick by embedding the video interviews into the presentation with the questions. Using the presenter view in Powerpoint they could also have removed the need for the other document they had that listed the prizes, and certainly the need to have a switch box and multiple laptops. Unlike many of the presenters who were swapping back and forth for demonstrations, their presentation was an ideal use for the presenter view, and would have been much the better for it.

Before session number 5, we had a brief talk from the Edward Gibson, Microsoft Security chief and ex-FBI man. I have to say that whilst what he was saying was fairly interesting, and certainly important, the whole ex-FBI routine which involved standing on the top of the arena area outside the building in ray bans (it was decidedly grey and overcast today) and bellowing in our direction probably left most people with a fairly poor impression of the guy and his attitude (which is about as polite as I could phrase it), and ultimately detracted from the message. Certainly for the kind of audience at the day it was pitched in totally the wrong way, and Microsoft really need to do something different for this kind of audience.

By session number 5, my brain had largely switched off. Unfortunately I was in Extensible LINQing presented by Oliver Sturm, which seemed like a very interesting topic – ultimately one I think I’m going to have to check out the notes when they are posted. Sadly this is the second Developer Day on the trot when Oliver has been handed this last slot, and really something like the Costall and McMahon show might have been better at this point.

So was it worthwhile going? Most definitely, and I’ll certainly be keen to get my name down for DDD5. There definitely needs to be a bit of work in making sure things work – one colleague commented that he thinks that Memphis (the conference room at Microsoft rather than the city) was cursed as he’d never seen a session at a Developer day in there that worked! To my mind you’re always going to get some things that don’t work on the day, it’s inevitable with some of the stuff that is being demonstrated, but certainly there are ways to mitigate the risk…

Developer Day 3

Lots of Code on the Screen

I’ve just got back from attending the third Developer Day, held once again at the Microsoft Campus near Reading. Aside from Dave and Sarah, most of the usual suspects were around. Also, after initially being told that there wouldn’t be very many people from SSE coming up, most of my old team from there came along too, alongside a colleague from my current employer. What is interesting is that I had a couple of conversations with people purely on the basis that they’d seen me at previous events, whether that be geek dinners or previous developer days. With regards to the Geek Dinner, Beth and myself decided to drop out of that. We’re currently in the midst of a busy run of weekends, so as numbers were limited for the dinner, and we could do with a Saturday night to ourselves, we took our names off the list.

Anyway, onto the sessions. I went to a bit of a mixed bag, some like Oliver Sturm’s session on ‘Designing a Model Based Application Architecture’ were more useful for current work, whereas others such as Tim Scarfe talking about the Windows Presentation Foundation, or Robert Hogg talking about LINQ were sessions about technologies that are coming in the next few years – which I would say for most established projects won’t get used in anger for a long while, bearing in mind that like many, we have large numbers of customer systems in VB6, products still build in Visual C++ 6, and any .NET is currently in Visual Studio 2003 and framework 1.1.

As usual, there were the usual selection of hiccups with presentations, and problems with equipment. Tim Scarfe especially had a nightmare with the early part of his presentation, with trouble with the screen mirroring functionality on his laptop, followed by a whole series of speed issues with both showing video clips and his actual demonstration. It is interesting to note the variations in how people used their laptops this time, with some trying to run Visual Studio and Powerpoint simultaneously (although I didn’t see anyone using the presenter mode – everybody still just mirrors their laptop screen providing some somewhat stretched layouts on the big screen with the latest widescreen layouts). However Oliver Sturm was using VMWare to keep his presentation separate from his development demonstration, which of course ensures that if the development demo crashes (which it didn’t), it shouldn’t take the slides along too! It was also great to see a number of presenters making use of the code snippet functionality in Visual Studio to show code demonstrations, getting over the frankly tedious moments in previous events where you sit and watch somebody type their code in and debug it live on stage.

Probably the most interesting presentations from my point of view were the future technologies. The language and syntax enhancements brought along as part of LINQ look very interesting and useful, although perhaps the one that made me sit up and be really impressed was the power of the Windows Presentation Foundation. It is worth adding that a number of the ideas that although new on Windows, resonated with ideas in Quartz in MacOS X, however it seems to lift the bar somewhat, and certainly the demo was pretty impressive. Of course I fully expect MacOS X will catch up and overtake again, just as Windows will try and overtake again – such is the computer industry. The other good thing about the demo was that although Tim showed us cool stuff such as flying buttons and pulling pictures off Flickr, equally you could see features that would make a difference to those of us building much more business oriented applications.

All in all it was definitely a worthwhile way to spend a Saturday, and I’m certainly going to be signing up to day number 4 when it is announced.

Developer Day 3 Coming Up Fast

The third Developer Day is coming up fast, looking at the calendar it takes place a week on Saturday. I got in promptly with my registration, as did a colleague at work who is coming along too – both our passes turned up yesterday. As expected the event was full in just over two weeks, so it seems as popular as ever. Also as before I still can’t quite make my mind up which sessions I’ll go to – invariably I’ll go to different ones from what I plan anyway. Beth and myself are also signed up to go along to the dinner afterwards – looking at the list there should be one or two familiar faces there as well.

However, what will be slightly strange will be the people that won’t be there. Neither Dave Oliver, nor Sarah are coming along this time. From what I can gather none of the guys from SSE are making the journey up to Reading this time which is a shame, would have been nice to catch up with them.

Anyway, I expect I’ll post a report on the sessions I attended, plus a selection of snaps from the Geek Dinner too.

Developer Day 2 and Geek Dinner

So we’ve just got home from the post Developer Day Geek Dinner, following on from a busy day soaking up information, and networking at the second Microsoft Developer Day.

Looking at the business end of the day first, the events at Thames Valley Park were a bit different than the last time. The team had taken on board feedback from the last session, and also introduced some new ideas. Apparently the event was sold out before even the agenda had been published, and certainly with a dedicated team behind it determined to make it better, I’m sure we’ll see another event soon.

Since there had been comments about the lists of recommended books we had had at the first day, this time we had a Computer Book reseller along. There was also someone showing Windows Mobile devices at a Windows Mobile table, although the other subject area tables didn’t seem to overly work as an idea. One disappointment was the distinct lack of freebies this time out. Whilst I’m not that bothered about getting a Microsoft Bottle Opener, last time we got beta copies of Visual Studio 2005, and certainly with a large group of developers it would seem to be a good opportunity for Microsoft to distribute some more previews of upcoming products.

Having said that, the sessions were all excellent, and a again a real mix of topics and presentation styles.

Perhaps the most frustrating of the sessions, wasn’t to do with the presenter, but more to some of the attendees. It was on the topic of using .Net code in SQL Server 2005, however the session got dragged down into a discussion about pretty detailed stuff about how to install .Net code into SQL Server, largely meaning that we ran out of time. The structure of the day is such that an all the topics the sessions are giving at most a broad overview of a topic, so whilst the time consuming divergance was of use for this group of people who were obviously having difficulty with the topic, for others in the room (one of whom actually shouted out to get on with it after a while) it was decidedly frustrating when they knew there was limited time.

Talking at the Geek Dinner, it seems that one of the sessions I thought was good, really divided opinion, with another person thinking it was one of the worst. Mike Roberts session on .Net Development Trees, had come out of a series of blog postings he had written on the subject. However rather than just bash through a series of slides based on the article, he tried something different, which initially involved us splitting into groups, and the results of the group discussion driving the rest of the session. Of course the key difference between this sesssion and the others is that we ultimately didn’t get a complete overview of the entire subject, however you can get that from the original article, however what you did get was much more of a chance to interact with the other developers, and in some ways realise that whatever companies we actually worked for, in many cases we were getting the same sorts of problems, and hence why a development tree was so important.

After the final session, we finished with a bit of group discussion about what could be done better or differently. One interesting idea was for a sort of bring and share type session, where participants bring their laptops, and would get the latest builds of software to play with. Certainly this seemed like a great idea from my point of view. In our normal working lives, unless it is specifically your job, most people won’t get to play with preview builds. Indeed many will be one or two versions behind the current leading edge. Since for many people I have spoken to, the popular sessions are the previews of new features, this idea seems to move that concept on further, and actually give people a chance to test drive these things. In addition, leading on from the development tree session, I found that much more interesting, in that we made use of the fact that this was a group of developers together in a room, leaving the stuff we could just read off the notes to time we had on our own.

Arty Through The Glass Shot

Whilst on the subject of talking to other developers, after the developer day had officially ended, there were drinks at the Revolutions Vodka Bar in Reading, followed by dinner at Zizzi’s.

Dave got his first chance to podcast, thanks to the original podcaster dropping out through illness. Heaven knows how me and Beth will sound on the podcast, although I doubt you’ll be able to hear much of us over the noise. Incidentally, although she didn’t come to the day, Beth came to the dinner. She did seem to enjoy herself, being married to me she can cope with geeky topics, and even found somebody with whom to talk about Shakespeare!

Perhaps the only down point of the dinner was that thanks to people changing around their orders, the food was ultimately very late, with main courses not arriving until 10pm, when many of the people who were relying on trains had to get going. Having said that, everybody seemed to have a good time. I’ve posted my snaps of the evening to onto Flickr, so hopefully there will be a group with other peoples snaps up there soon. Incidentally, if you attended the event, don’t forget to get your feedback in so as to influence DDD3!

Decisions Decisions

So with only a day to go before the second Microsoft Developer Day, I’m now trying to decide which sessions to attend.

Looking at the agenda there is again a wide choice of sessions, more this time round as there are five tracks rather than the three that there were before. The other factor may well be getting in to some of the popular sessions, as the day is booked out with all 350 places taken, so aside from any last minute drop outs there won’t be any spare seats around. I’m leaning towards trying to stick to one particular track, and also minimising any jumping between rooms, especially between any of the thirty minute sessions, currently it looks like the schedule in Chicago 2 may be the one for me.

We’ve actually got a spreadsheet going at work amongst the people who are going to try and ensure that if there are any clashing sessions where people can’t attend both, that between us we manage to cover everything. Anyway, I’m really looking forward to the day, and also the Geek Dinner that is going to take place afterwards, should be fun.