No DDD South West In 2013

The DDD South West team (Rob Bracken, Rachel Clements, Martyn Fewtrell, Chris Myhill, Ross Scott and myself) have reached a tough decision that there will not be a DDD South West in 2013. We are taking a break. We don't know how long the break will be yet - one year, two years, more ? but we plan to review the process regularly. The reasons will be fairly obvious to anyone who has been to DDD South West ? it is a whole ton of work and we need a break. Martyn Fewtrell, Chris Myhill, Ross Scott and myself have done DDD South West four years in a row and despite the team being a good size to distribute responsibilities it is still a considerable undertaking and the bottom line is that sometimes there have to be things in life other than organising conferences.

I also want to be clear though: we enjoyed it. It was a whole bunch of fun. It was very exciting and it was very rewarding. Personally I am very gratified that the South West .NET community is alive and well and the events inspired people to step up and take a step towards something new. I would particularly like to thank all of the speakers who gave their time for free and came along armed with great enthusiasm and inspired developers to try new technologies. I would also like to thank the army of community people who so consistently over the last four events walked up to me and said so simply "how can I help?". I would also like to thank all of our sponsors who made the difference between the events happening and the events not happening; as I always say "free means that someone else pays". And I would like to thank my co-organisers who have attended so many Harvester meetings and endured so many emails and have been so patient with me.

Go community!

Technorati Tags: ,

Currently rated 2.8 by 6 people

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

Posted by: guysmithferrier
Posted on: Thursday, January 10, 2013 at 4:24 PM
Tags:
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (7) | Post RSSRSS comment feed

Video: Mind Control Your Computer at UX Brighton 2012

Last month I presented "Mind Control Your Computer" (using the Emotiv EPOC Neuroheadset) at the excellent UX Brighton 2012, You can watch the 32 minute video here. Of all the conferences and events I attended this year I have to say I enjoyed UX Brighton the most - great attention to detail and really interesting people. You can watch all 8 videos of UX Brighton 2012 here (there are some really excellent presentations there).

Alternatively if you're really into the Emotiv you can watch a full hour on this subject from the same session I gave at NDC 2012 at http://vimeo.com/43549132 or you can listen to a .NET Rocks podcast at http://www.dotnetrocks.com/default.aspx?showNum=702.

Currently rated 3.3 by 6 people

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

Posted by: guysmithferrier
Posted on: Wednesday, December 12, 2012 at 10:18 AM
Tags:
Categories: Emotiv
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Podcast: Interviewed by Jesse Liberty for Yet Another Podcast

I was recently interviewed by Jesse Liberty for Yet Another Podcast and you can listen to it at http://jesseliberty.com/2012/11/19/yet-another-podcast-82guy-smith-ferrier-on-internationalization/. The interview is 40 minutes long and is primarily about internationalization in .NET with a short discussion at the end on the .NET community in the UK. Along the way we discuss CLDR (the Common Locale Data Repository) and NCLDR (.NET CLDR), machine translation, how FxCop is one of the most misunderstood tools in the .NET world, pluralisation rules, genders, postcodes, currencies and more.

One point I would like to correct though: I make a point that the pluralisation rules for Polish (and Hungarian, Russian, Arabic and others) are more complex than for English. The actual rules that I quote are not quite right. For the record the Polish pluralisation rules are:-

  • Count: one, Rule: n is 1
  • Count: few, Rule: n mod 10 in 2..4 and n mod 100 not in 12..14
  • Count: many, Rule: n is not 1 and n mod 10 in 0..1 or n mod 10 in 5..9 or n mod 100 in 12..14
  • Other

Many thanks to Jesse Liberty for inviting me on the show - I really enjoyed talking about my favourite subject.

Currently rated 3.8 by 8 people

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

Posted by: guysmithferrier
Posted on: Thursday, November 22, 2012 at 8:30 AM
Tags:
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Video: How To Achieve World(-Ready) Domination In ASP.NET MVC 4

The third aspConf (formerly mvcConf) was held on 17th and 18th July 2012. I was very pleased to present "How To Achieve World(-Ready) Domination In ASP.NET MVC 4" (aka "Internationalizing ASP.NET MVC"). You can watch a video of the presentation here. You can also download the slides and source code. Here's the session abstract:-

So you've written your ASP.NET MVC application and you want it to work in another language ? Then this session is for you. World-Readiness is all of the work that a developer needs to do to globalize an application and make it localizable (i.e. capable of being localized). In this session we will cover localizing HTML and HTML Helpers, localizing and globalizing Data Annotations, localizing and globalizing JavaScript and localizing URLs. No previous experience of ASP.NET localization is required.

Currently rated 3.6 by 7 people

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

Posted by: guysmithferrier
Posted on: Monday, August 27, 2012 at 4:50 PM
Tags:
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Video: Mind Control Your Computer In C#

Earlier this month I spoke at NDC Oslo and presented "Mind Control Your Computer In C#". The session was recorded and it is available for download now.

You can watch all of the NDC 2012 sessions at http://vimeo.com/ndcoslo/videos.

Technorati Tags: ,,,

Currently rated 2.8 by 6 people

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

Posted by: guysmithferrier
Posted on: Wednesday, June 20, 2012 at 8:29 AM
Tags:
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

NDC Oslo 2012

This week I spoke at the NDC Oslo conference for the first time. This post is about this conference.

The Norwegian Developers Conference, now in its fifth year, is run by Jakob Bradford, Henriette Holmen and Kjersti Sandberg of ProgramUtvikling, a Norwegian training company with a UK arm (called Developer Focus) in London.

NDC has ~1500 attendees, 9 simultaneous tracks, 106 speakers, 40+ sponsors (with ~20 stands) and lasts 3 days. Logistically this is a very significant event. The speakers are chosen from ProgramUtvikling trainers, major industry players and anyone else who chooses to submit papers that are interesting enough. The selection committee is made up of 3 or 4 developers and as such you get an agenda full of really interesting subjects.

The opening keynote was by Aral Balkan who started NDC with a song. But that doesn't really do it justice. It was a full blooded rock opera performance of Pity The Child from Chess The Musical complete with laser lighting. Clearly Aral is hoping to start/revive a significant singing career.

There were a number of interesting features about NDC that I thought worth noting:-

  • The conference staff all wear conference shirts with their given names printed in large letters on their backs. This is really helpful when you don't know the organisers.
  • The attendee badges have QR codes to allow vendors (and attendees) to scan you and get your contact details immediately.
  • Food is available throughout the conference. There are no set meal times. The queues for food at lunchtime were quite long but once you understood you could eat at anytime it meant you could plan around it.
  • Food is only available in the sponsor area. There are many separate food stations serving drinks, curry, hot dogs, noodles, ribs and a salad bar. Unlike US and UK conferences where sugar is unfortunately very evident there are no snacks like ice creams, chocolate bars and granola bars.
  • Attendees evaluate speakers by walking past a table just outside the presentation room and dropping either a green, yellow or red card into a box. The speaker's rating is therefore the ratio of green to yellow to red cards. There are pieces of paper next to the cards where attendees could write comments if they wanted to but I didn't see any attendees ever writing comments. I confess I'm really not a fan of the green/yellow/red card system. Nearly all attendees simply drop a green card in the box. The distinction between a good presentation with no complaints and nothing wrong with it and a great presentation brilliantly delivered with profound content is completely lost.
  • The speaker hotels are between 1 and 5 minutes walk from the venue. This is exactly how it should be. Unlike the 30 (minimum) minutes travel from hotel to venue at TechEd Berlin.
  • All sessions at NDC are recorded and then made available to everyone (regardless of whether you attended NDC) for free.
  • One of the great innovations at NDC is the Overflow Room. This is a large area with 8 screens showing all of the sessions except for the workshop session. Prior to arriving in the Overflow Room you get a set of headphones attached to a radio device (your badge is scanned so they know who to come to if you don't give it back). You then switch between any one of the 8 channels to listen to the audio of the screen you are looking at. This is of course only possible because all sessions at NDC are already being recorded (and then live streamed to the Overflow Room). The benefit of this feature for the attendee is that you are not committed to any one session and can switch between sessions as easily as flicking a switch.
  • I saw two presentations where the speakers used Visual Basic.NET. I can't remember the last year I saw someone present using Visual Basic.NET.
  • Sponsorship costs between 59000 and 70000 Norwegian krone depending on when you purchase sponsorship (that's between 6300 UKP and 7500 UKP). The early bird All Access Pass for attendees for all 3 days plus workshops is 14900 Norwegian krone (1600 GBP). The early bird price for 1 day is 6900 Norwegian krone (740 UKP). So at a guess the minimum revenue for NDC 2012 is 1,362,000 UKP (40 sponsors * 6300 UKP plus 1500 attendees * 740 UKP).

The speaker event on the first evening was a boat trip with beers and prawns. I had some good conversations (and an especially dodgy one involving cats and bats). Carl Franklin provided the musical entertainment. As he confirmed at the Attendee Party the next evening Carl has a great voice, smooth and gritty in all the right places.

The attendee party was on the second night and was held in the exhibition area. Entertainment was provided by Carl Franklin, Donkeyboy and LoveShack. It was notable for Microsoft's dancing girls and developer song.

My one and only session at NDC was "Mind Control Your Computer In C#". It went well and I was very happy with it. You can download the slides and source code. Thanks to everyone who attended.

Scattered around the exhibition area were various forms of entertainment including an AC/DC pinball machine which always pulls me in. I had to play. I was very pleased to get the high score and win a pair of Beat Solo HD Monster headphones from Experis Manpower Group - thanks, guys.

So I have to say I was really impressed with NDC. A very professional, large scale event. Well done, Jakob and Henriette, you've done a grand job.

NDC 2013 will be from 12th to 14th June 2013. You also might like to know that an NDC UK event is a possibility for the future.

Technorati Tags: ,,,,,

Currently rated 3.5 by 20 people

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

Posted by: GuySmithFerrier
Posted on: Sunday, June 10, 2012 at 3:34 PM
Categories: Emotiv | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

Add Satellite Assemblies To An Assembly For Any Culture

Since the very first release of the .NET Framework we have been able to build satellite assemblies for (almost) any culture. The critical factor though is that in order to do this either the original assembly must not have been signed or else you must be able to sign your satellite assembly with the same key. Clearly Microsoft will not give anyone the key they use to sign their assemblies so although Microsoft release various language versions of their products we, as consumers of those products, are unable to add our own language versions. This includes but is not limited to the .NET Framework itself, ASP.NET MVC and Silverlight.

I would like your help. I would like to optionally remove the restrictions on loading satellite assemblies. At present the satellite assembly must be signed with the same key as its parent assembly. I would like Microsoft to add a mechanism to the CLR which would optionally allow the author of the assembly to relax the rules on loading satellite assemblies such that it checks that the satellite assembly matches its parent in all criteria *except* for the key with which it is signed.

In this were possible then communities would be able to add support for their own language without waiting for Microsoft to support them. Close to home, this would mean that we could have a Welsh version of the .NET Framework (or ASP.NET MVC). This desire isn't limited solely to getting support for Welsh; the feature would work for all languages (there are ~7000 languages in the world and the .NET Framework 4 supports 23 of them so this affects a community near you).

So here's where I would like your help. If you think this is a useful feature please vote for it on User Voice here.

Thanks.

Currently rated 2.8 by 19 people

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

Posted by: guysmithferrier
Posted on: Tuesday, March 13, 2012 at 3:25 PM
Tags:
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

What's New In The .NET Internationalization Source Code

I wrote a book called .NET Internationalization back in 2006. There is a whole bunch of source code (examples and reusable library code) that accompanies the book that is available for download (you don't need to buy the book to get the source code). I have been keeping the source code up to date with various changes since it was first released and I have just uploaded the most recent version. This blog post describes what's new.

Custom Cultures

I added an example of a new custom culture for Spanish (Chile) Unidad de Fomento, es-CL-CLF, to support the UDF currency in Chile.

Resource Code Generators

I added 3 new code generators for Visual Studio:-

  • JavaScriptResourceCodeGenerator - Creates .js files (JavaScript object literals) from .resx files
  • JavaScriptAddParentsResourceCodeGenerator - Creates .js files (JavaScript object literals) from .resx files, adds all parents except invariant
  • JavaScriptAddAllParentsResourceCodeGenerator - Creates .js files (JavaScript object literals) from .resx files, adds all parents including invariant

Machine Translation

The PseudoTranslator has a new Boolean property, ExcludeMarkup (default is true), where characters that are markup tags (e.g. "<strong>") are not pseudo translated.

The GoogleTranslator is now deprecated because the Google v1 translation API was deprecated by Google in December 2010.

I added Google2Translator for the Google v2 translation API. This is a paid service. See http://code.google.com/apis/language/translate/v2/getting_started.html for details.

Resource Administrator

You can now specify a value for PseudoTranslationCultureInfoName in the App.Config which allows you to change the name of the culture used for pseudo translation.

The GoogleTranslator is no longer used.

The Google2Translator is used if a value for "Google2TranslatorApplicationKey" is set in the App.config file.

If either the MicrosoftTranslator or the Google2Translator are used the remaining translators are disabled (because the Microsoft and Google translators are very reliable).

I fixed a bug where comments were not being preserved in neutral and specific resources when automatic translation was on.

The FileBasedResourcesGovernor now has a new property, Extension, which is the file extension of the files (e.g. ".resx").

ResourceGovernor.ReintegrateResourceSet has various bugs fixed.

Globalization FxCop Rules

I added 2 new rules:-

  • DoNotConcatenateLocalizableStrings - identifies code where resource strings are concatenated (use string parameters instead)
  • ResourceEntryIsNotUsed - identifies properties in Strongly Typed Resource Classes that are not used

Note that the ResourceEntryIsNotUsed class requires the Strongly Typed Resource

Class code to be manually modified so that the CompilerGeneratedAttribute is commented out.

The Translator
I added two new utilities:-

  • ReintegrateResources - a command line utility that intelligently reintegrates resources being sent back from the translator
  • ResourcePackager - a command line utility that ZIPs and unZIPs .resx files being sent to/from the translator

Enjoy.

Technorati Tags: ,

Currently rated 3.1 by 9 people

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

Posted by: guysmithferrier
Posted on: Monday, March 12, 2012 at 4:19 PM
Tags:
Categories: .NET Internationalization Book | Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed

Internationalizing ASP.NET MVC Around The UK

I will be presenting "Internationalizing ASP.NET MVC" (aka "How To Achieve World(-Ready) Domination In ASP.NET MVC") at the following venues over the next few months:-

Here's the session abstract:-

So you've written your ASP.NET MVC application and you want it to work in another language ? Then this session is for you. World-Readiness is all of the work that a developer needs to do to globalize an application and make it localizable (i.e. capable of being localized). In this session we will cover localizing HTML and HTML Helpers, localizing and globalizing Data Annotations, the importance of Resource Manager abstraction, localizing and globalizing JavaScript and localizing URLs. No previous experience of ASP.NET localization is required.

Do come along and bring your internationalization problems and questions. This is my favourite subject so getting me talking on it isn't difficult. It's getting me to shut up that's special.

Currently rated 3.8 by 8 people

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

Posted by: guysmithferrier
Posted on: Tuesday, February 21, 2012 at 3:43 PM
Tags:
Categories: Internationalization | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed

Mind Control Your Computer on .NET Rocks!

I recently recorded an episode of .NET Rocks (episode 702) on the subject of the Emotiv EPOC Neuroheadset. The episode covers the headset, the technology behind it, the Expressiv suite (facial detection), the Affectiv suite (detection of emotional state), the Cognitiv suite (detection of conscious thought), along with the applications for this technology including gaming market, applications for the physically impaired and the research potential.

I have to say that recording it was a whole load of fun (although I suspect it was difficult for Carl and Richard to shut me up as I love to go on and on when I'm really into something).

Thanks again to Carl Franklin and Richard Campbell for inviting me on to the show. And congratulations on the very many hundreds of episodes you have created. Looking forward to show #1000.

Currently rated 3.3 by 4 people

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

Posted by: guysmithferrier
Posted on: Tuesday, November 01, 2011 at 7:09 PM
Tags:
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed