DevWeek 2009 Slides And Source Code

You can find the slides and source code for my DevWeek 2009 presentations this week here:-

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Monday, March 23, 2009 at 12:32 PM
Tags:
Categories: Silverlight | Internationalization | Events | Miscellaneous - Technical | Visual Studio
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Liam And Guy Do Virtualization

Following on from Liam Westley's excellent presentation on "Virtualisation for developers" at The .NET Developer Network in October 2008 Liam and I are teaming up to do our first double act at The Next Generation User Group in Birmingham on 12th February 2009. The evening consists of two presentations:-

  • Virtualisation For Developers with Liam Westley
    Not used virtualisation technology yet? As a developer, you are missing out on some great time saving technologies. Concentrating on the use of Virtualisation for developers on workstations and servers; What is virtualisation ? What virtualisation tools are available (especially for free) ? Why is virtualisation advantageous ? Where should you utilise virtualisation ? Tips and tricks - configuration and tweaking performance. Legacy application development (VB6, VS2003), installation tests, clean client images, documentation for screen capture as well as confirming how to get to configuration settings, consolidation of development hardware, internationalisation, breaking the 3Gb memory barrier, CI/build/test servers? .....
  • Automating Testing With Virtual Server 2005 with Guy Smith-Ferrier
    Virtual Server 2005 is a free virtualization download from Microsoft. It allows you to run and maintain multiple virtual machines running different Microsoft operating systems in different configurations. Virtual Machines allow you to test your software in different configurations without the need for buying and maintaining separate physical machines. Virtual Server 2005 includes an API for programmatically controlling these virtual machines. This session describes this API and shows you how to use it to run automated tests on multiple platforms.

The evening starts at 6:30pm instead of the regular time of 7:00pm. You can sign up for this one here.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Thursday, November 06, 2008 at 12:50 PM
Tags:
Categories: Events | Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

How To Write Custom FxCop Rules

I love FxCop. What I like about it most is that you can write your own FxCop rules. That means that when you define a coding rule in your development standard you can write a custom FxCop rule for it and get FxCop to enforce the rule. Certainly this speeds up code reviews but it also relieves us all from the dull drudgery of wading through code for the silly little things and allows us to spend our time using our brains instead.

I've been writing custom FxCop rules for a number of years and although I'm a big fan the part where I get to writing the rules has traditionally been a lot of pain. The reason is that there wasn't any documentation for the SDK - you had to work it out yourself. I wrote Chapter 13 of .NET Internationalization explaining how to write custom rules but this was focused more on what it meant to the world of internationalization than all of the details of how to write rules. Well now the pain can go away for everyone. Everyone put their hands together for Jason Kresowaty. Jason took it upon himself to write the documentation for the FxCop SDK! Microsoft didn't ask him to do it, he just did it anyway. And it's very good (you can download it here). What's even better is he wrote Introspector (available for download at the same location). Introspector does for introspection of assemblies what Reflector does for reflection of assemblies. FxCop is based on Microsoft's introspection engine (FxCop hasn't used reflection for some years now) so an Introspection tool is a godsend (or a Jason-send in this case).

Thanks, Jason, this is a big deal.

(Alternatively, if you don't want to read the docs I gave a presentation on this at a VBUG Conference and you can download a video of this presentation here and the slides here).

 

Technorati Tags: FxCop, Jason Kresowaty, Introspector, Introspection

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Thursday, July 10, 2008 at 9:50 PM
Tags:
Categories: Internationalization | Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

DotNetDevNet: July 2008 Presentations

I rarely present at my home user group (The .NET Developer Network) in Bristol but next month I’m making an exception. On Tuesday 8th July 2008 I’m giving two separate presentations:-
  • How To Give Great Presentations
    Ever wanted to give great presentations at work, user groups, conferences or DDD ? This presentation is for you. It is designed to teach you everything you need to know about making your presentation an excellent presentation. Almost anyone can learn how to give great presentations; it is all a matter of knowing how to choose your subject, how to prepare your presentation, how to give your presentation and what not to do in your presentation. The information provided in this session is the accumulation of tips and tricks of over 20 years of giving and receiving technical presentations, running a technical training company and being the trainer for Borland’s European Train The Trainer programme. No previous experience required.
  • Top 10 Tips For Internationalizing ASP.NET Applications
    The localization model introduced in ASP.NET 2 is effective and easy to learn. On the face of it you select Tools | Generate Local Resources and you’re done. But this process is only effective if you know localization and globalization issues to look for. This session provides a Top Ten list of localization and globalization issues that are specific to ASP.NET applications and shows how to overcome these problems. Without giving too much away a few of the issues covered are localizing images, localizing JavaScript, globalizing regular expressions and preparing aspx and ascx files for effective localization.
These two don’t have much in common but they’re on two of my favourite subjects so it should be a good night. For full details go here.

Technorati Tags: DotNetDevNet, The .NET Developer Network, I18N, Internationalization, ASP.NET

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, June 23, 2008 at 9:45 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Source Analysis (aka StyleCop)

Like many people I’ve been waiting for this one for a long time. Last week Microsoft released Source Analysis (aka StyleCop). Source Analysis is a free utility for analysing C# source code (Source Analysis does for source code what FxCop does for assemblies). It ensures consistency of code style throughout a project (and across all developers on a team). Source Analysis has approximately 200 rules covering all those niggley bits like whether to include spaces, whether to use spaces or tabs, where curly braces should be used, how comments should be used etc. etc. Imagine anything you have ever argued about with other developers on your team with regard to ’good style’ and Source Analysis has a rule for it. Of course, like FxCop the first time you use it Source Analysis will throw up hundreds of errors but also like FxCop you can disable any of the rules and if you don’t have time to fix them all you can disable the whole lot and then enable them progressively as you can spare 10 minutes here and there. You can even write your own StyleCop rules but this isn’t officially supported in this release.

You can download it from http://code.msdn.microsoft.com/sourceanalysis. You can read the Source Analysis blog at http://blogs.msdn.com/sourceanalysis. After installing Source Analysis you will notice that the current release is 4.2 which will seem odd given that this is the first public release. The explanation is that Microsoft have been using this tool internally across most teams that use C# for years. Consequently this is a very mature product that has had many of its rough edges knocked off already.

Another Source Analysis feature that I really like is that apart from the fact that it can be integrated into the Visual Studio IDE and the build process you can set Source Analysis to treat its warnings as errors - so for those who are particularly strict on coding standards you can set Source Analysis so that any code style deviation breaks the build.

It’s worth pointing out though it’s just for C# - no Visual Basic support here. Although it can be argued that to some extent Visual Basic doesn’t need Source Analysis because the editor ensures code style consistency without additional help and this is a feature that Visual Basic developers have enjoyed for years.

And in the next version of Source Analysis there will be the option to automatically fix errors.

Thanks for releasing this one, Microsoft, it will make a big difference - not to mention the initial flush of religious code style wars that we will be part of over the next year.

Technorati Tag: Source Analysis, StyleCop, FxCop

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Friday, May 30, 2008 at 9:54 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

StyleCop To Be Publicly Released

StyleCop is a Microsoft utility that analyses code style in the same way that FxCop analyses IL. It checks issues like whether curly braces are on the same line or the next line, how and when to use blank lines, whether if statements should contain curly braces even for single line statements and a whole plethora of code-beauty and style issues. As such it is fantastic for ensuring that all developers on a project code to the same style. Sadly the utility has always been an internal one used on many Microsoft projects. The good news is that someone, somewhere has seen fit to release it (see the FxCop forum for the brief mention). There is no specific release date at the moment but second quarter of 2008 has been mentioned. A huge thank you to whoever made this happen - it is much appreciated.

Technorati Tags: StyleCop, FxCop

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, March 31, 2008 at 9:35 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (3) | Post RSSRSS comment feed

ADO.NET Data Services At NxtGen

Last year I gave a number of presentations on ADO.NET Data Services (formerly Astoria). This year The Next Generation User Group seem very interested in this subject. I gave this presentation at Coventry last Monday (28th January 2008) and I’m doing it again in Oxford tomorrow night (12th February 2008) and again in Cambridge in April (probably Tuesday 29th April). This version of the presentation has been updated for the December CTP and you can download the slides here. Here’s the abstract for the presentation:-
The emergence of Web 2.0 technologies has brought new opportunities and caused us to solve old problems in new ways. AJAX and Silverlight applications need read/write access to data and business objects without performing full page refreshes and without dumbing down the data so much we are just left with primitives. Microsoft’s answer to this problem is ADO.NET Data Services. In short ADO.NET Data Services is a data access layer for client-side technologies such as AJAX and Silverlight. This session shows how it works, how you can write ADO.NET Data Services data servers and how you can customize ADO.NET Data Services to your applications requirements.
Technorati Tags: ADO.NET Data Services, Astoria, NxtGen

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, February 11, 2008 at 5:52 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

New Version Of The Developer Highway Code

Great news! If you’ve ever picked up a copy of the Developer Highway Code by Paul Maher, a Technical Evangelist at Microsoft UK, you’ll be delighted to know that he’s updated it and you can download it now at http://msdn2.microsoft.com/en-gb/security/aa473878.aspx. You can also enter a competition there (just by downloading the guide) to win one of 20 copies of Windows Vista Ultimate. Alternatively the guide is being printed so if you can hang on until January 2008 you should be able to pick up a paper copy at an event somewhere. Congrats to Paul for maintaining such a high standard and to Microsoft for giving away this valuable resource.

Technorati Tags: Developer Highway Code, Paul Maher, UK Application Security

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Thursday, December 20, 2007 at 9:04 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

ADO.NET Data Services ("Astoria") December CTP Released

Yesterday (Monday 10th December 2007) the December CTP of ADO.NET Data Services (the new name for Microsoft Codename "Astoria") was released. This is considered to be the first CTP of this product on the grounds that the May 2007 CTP and the September 2007 CTP were based on a prototype and this new CTP is based on production code. There are many new features but of immediate importance is the fact that this release works with the ADO.NET Entity Framework Beta 3 and the RTM of Visual Studio 2008.

Technorati Tags: ADO.NET Data Services, Astoria, ADO.NET Entity Framework

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Tuesday, December 11, 2007 at 9:54 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Extension Methods Will Save The World - My First Micropresentation

At DDD6 last Saturday I gave my first micropresentation. Micropresentations, also known as Pecha Kucha (Japanese for "chit-chat"), are presentations of exactly 20 slides of exactly 20 seconds each. PowerPoint is set to automatically advance each slide so once you start the presentation going you have 6 minutes and 40 seconds to give your presentation and then you’re finished. I watched various members of the UK community give some very impressive micropresentations at MIX:UK 07 in London in September and thought I’d like to give it a go. I got my chance at the lunchtime slot at DDD6 where Zi Makki organises the grok talks presented by anyone who wants to have a go (BTW if you’d like to give grok talks or micropresentations a go I can thoroughly recommend it - contact your local user group or look out for DDD7).

If you’d like to see how I got on Craig Murphy video’ed all of the grok talks and my micropresentation and when these get posted on either Craig’s site or the DDD site I will post another message. But if you can’t stand the wait and you really must see how I got on I cobbled together a recording of the PowerPoint deck and a sound recording I took and made a quick video (personally I would wait for Craig’s video because you get to see some wild man excitedly gesticulating and pointing frantically at the screen). You can download the video here and if you only want the slides you can get them here.

So what did I learn from my first attempt at a micropresentation ?

  • The preparation time for a micropresentation is completely disproportionate to the length of time of the presentation. The presentation is obviously 6 minutes and 40 seconds but I spent many hours preparing it.
  • As you only have 20 seconds to show each point it really forces you to nail your demonstrations. I found it very interesting to take any demonstration that I wanted to give and reduce it to its constituent screen shots and add animations and graphics to highlight the essential pieces of information that I wanted to show. I am very grateful for having gone through this procedure because it really focuses the mind on being able to get to the point in the minimum amount of time, an approach which transfers to more traditional presentations very nicely.
  • I used animations to simulate drawing on the screen. I like to use ZoomIt to draw on the screen to focus the audience’s attention on a particular point but obviously not only would it be not Pecha Kucha to interfere with the slides whilst they are running but also it takes valuable seconds to annotate the slide. So I added the annotations to the slides and animated their arrival on the slides after a given number of seconds that I just guessed at. Seemed to work ok though.
  • I found it difficult to find 20 separate pieces of information about my subject until I started spreading subjects over slides. Pecha Kucha purists will probably be annoyed at my abuse of the format (e.g. repeating slides only changing them by the animations to illustrate new points, revisiting slides that have already be shown in order to consolidate a point).
  • In the previous micropresentations that I had watched it seemed to me that one of the difficult parts of this format was in timing your speech so that it ended exactly as the slide moved on to the next point. If you ended before then there was a few seconds where the speaker is clearly waiting for the slide to move on (you can see this on at least 2 of the slides in my presentation). I thought I had a cunning plan to solve this problem. First I started looking for a digital egg timer that would count down in seconds and would reset back to 20 seconds after it hit zero. I couldn’t find one. Then Jesse Liberty suggested using a digital chess timer. I wasn’t able to find a timer that would count down and reset back to 20 seconds without a player having to press the "done" button so I simply set my timer to 6 minutes and 40 seconds. I reasoned that if I needed to look at the timer then it didn’t matter what the minutes digit showed or indeed what the tens of seconds digit showed because it would be very obvious to me whether I was in the first 10 seconds or a slide or the second 10 seconds of a slide. What I needed was the very last digit and seeing that it was, say, 3 or 4 seconds would tell me how close I was. I liked the theory. I practised using the digital chess timer and found it to be very helpful. Come the live presentation I set the timer on the desk and started it going as I started the presentation. I didn’t look at it once. Apart from the fact that I didn’t want the distraction the presence of the audience made me realise that I had to be looking at them and not at the timer. Tried it, didn’t like it, moved on.
  • Something that I desperately wanted to get right was the ending of the presentation. I wanted to end exactly on the 6 minutes and 40 seconds mark. I didn’t. I ran over by 4 seconds. I was disappointed with myself for this. The presentation had ended and there was this black screen and I was still talking. Admittedly it was only 4 seconds in a presentation of 6 minutes and 40 seconds but I think ending your final word on the final second of the presentation is very impressive and I will strive to get this right next time.

So what do I conclude from this ? It was fun. It was a lot of work for such a tiny amount of time. I thought people enjoyed watching the spectacle of someone being put under real pressure (I didn’t mind it either). I also thought people appreciated the basic point of Pecha Kucha: you have to make your points clearly and move on; there is no messing about and there is no delay and there is no digressing - you make your points and you get off. If you’re up for the challenge I have to say that I can recommend it.

Technorati Tags: Pecha Kucha, Micropresentations, Extension Methods, DDD6, DDD, Grok Talks, Craig Murphy, Zi Makki

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Friday, November 30, 2007 at 9:02 PM
Categories: Miscellaneous - Technical
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed