An alternate US-International keyboard layout

The default US-International keyboard layout for Windows isn’t exactly my cup of tea. Primarily there are issues, in my mind, with regard to composing keys, but in addition to that there are other characters I’d like to have available in a US-International layout. I put together this particular layout a few years ago, but it’s mostly just languished, occasionally shared with friends or other developers through email or sometimes Dropbox.

Anyway, I’ve done a rebuild, and provided the layout as an installer package or 7-Zip archive for anyone interested. The keyboard layout source file is now also available on BitBucket, in case anyone wants to make their own further changes.

Read more »


Using TinyIoC with Common Service Locator

For a recent project at work, I had the opportunity to use TinyIoC, a single-file IoC container implementation, for a command line program used for quality assurance testing of images. The QA testing itself was in a separate assembly, written for an earlier, WPF application that used MvvmLight and SimpleIoC. The thing is, the assembly which actually did the work was written with service location and dependency injection in mind. I didn’t want to have to add MvvmLight to the command line app just to get SimpleIoC, so I added TinyIoC via NuGet instead, in hopes that I could just use that.

The thing is, that work assembly was relying on Common Service Locator (i.e. Microsoft.Practices.ServiceLocation) to get services both from itself and provided by the assemblies that used it. And TinyIoC doesn’t come with an adapter for Common Service Locator. Fortunately, writing up an adapter isn’t that difficult; you merely need to supply a class implementing IServiceLocator and have that class map the interface’s calls to methods on your container. The following Gist provides an adapter implementation for TinyIoC:

There’s not much else to it but this. Of course, to actually put it to use, you’ll need some code to let CSL know to use TinyIoCServiceLocator – and, of course, register your services with the container:

Voila, TinyIoC and Common Service Locator, hand in hand for your next application.


50,000 words, no waiting

2013-Participant-Facebook-ProfileI am a glutton for punishment. As my co-workers and I go into maximum overdrive for November, I am once again making an attempt at NaNoWriMo! My 2007 attempt, Trollfane, wasn’t completed (and didn’t even reach 10,000 words), in 2008 real life interfered in bad ways, and for 2009-2012 I just never got around to it at all. But it’s 2013, I’m back, and this time it’s personal going to be different.

Unfortunately I’m still working on my plot. Oops.

Read more »


I don’t know when to tell myself to stop.

Author H. L. Mencken Reading at His DeskWith all the stuff going on right now (new job, ongoing projects, Toastmasters, etc.) I’ve decided that I’m going to give NaNoWriMo a shot again this year. I had tried this once before, back in 2007, but I didn’t even make it to ten thousand words (never mind the 50K goal that NaNoWriMo pushes). Well, here we go again, and hopefully this time I’ll do a much better job of preparing. Read more »


TOJam 2013 and Happy Island

TOJam 2013: Haters Gonna EightIt’s been a bit over a week since TOJam happened, and therefore I’m overdue on blogging about my experience there this year. My friend Karl and I participated as “Team Water-Rock”, putting together a game that was originally supposed to be about getting people to work together but ended up simply being an escort mission. The end result? Still something fun, but with a feeling that we could have done better. And I’ll explain why, Game Developer postmortem style. Read more »