I’ve been working with BookSleeve lately. It’s a .Net API for interacting with Redis, a fast key-value store / distributed cache / data structure server. Redis is very nice and very easy to work with, and the API that BookSleeve provides is both as simple as it could possibly be, and deeply performant – all

Using MySQL with Linq to Entities

If you’re thinking about using MySQL with Linq to Entities, just don’t. The provider from can’t handle subqueries, outer joins, or anything else I’ve tried with it beyond simple, one entity selects. Please let me know if there’s a killer EF provider for MySQL that I’ve missed somewhere.

ASP.Net MVC Metadata and Validation

Daniel Chambers posted a nice overview of the ASP.Net MVC metadata and validation classes, with diagrams and analysis. If you want or need to know how these work, this article will save you at least an hour or two of reading the MVC source.

Consolidated Dependencies

Dependency injection (DI) is a very useful technique, especially when it is used consistently throughout a system, but it’s beyond the scope of this post to discuss its virtues – Martin Fowler’s article is a good introduction. DI comes in several flavors, but two of the most common should be mentioned. Constructor injection, in which


I had the pleasure of attending the Microsoft MIX conference this year. It was my first MIX, and I have to say it was very, very useful. When you’re working with the MS technology stack, it’s extremely helpful to get a sense of what MS wants to focus on, what they think is the important

Real World Haskell

When I learned Haskell, there were hardly any books on the subject at all, and those that did exist weren’t really targeting professional software developers. So I wound up learning primarily from academic papers, which was a struggle, as you might imagine. I am happy to report that the need for that sort of thing

Why Isn’t Cabal Installed with GHC?

Given that installing Haskell packages is painless with Cabal and often exasperating without it, why isn’t it just included by default in a GHC install? Seems like an easy step to take that would make a huge difference to the user community, especially new users. Are we supposed to use the new (beta) Haskell Platform

A Beginner’s Guide to R

I’ve been looking for tools for data analysis lately, and remembered R, a language primarily geared toward statistics and graphing. R is a little bit unusual in how it works compared to other languages, so a quick skim of the manual wasn’t giving me a good understanding. A book was called for. Most of the

How to Measure Anything

  We find no sense in talking about something unless we specify how we measure it; a definition by the method of measuring a quantity is the one sure way of avoiding talking nonsense… – Sir Hermann Bondi This book was a great read and completely changed the way I think about measurement. It offers

Tech Note: Finding All the Assemblies Available to Your Application

I sometimes have .Net library code that needs to work both in web applications and in console or service applications. The differences between the two environments, even for a library, are sometimes surprising. For example, I recently needed to find all the assemblies available to (i.e., in the same folder with) the application. My first