Recent posts

Solving Einstein's Riddle the lazy way

There’s a logic puzzle called Einstein’s Riddle (originally known as the Zebra Puzzle) which is supposedly pretty well-known, as far as logic puzzles are concerned. It’s also claimed to be quite difficult, with only 2% of people capable of solving it, although that sounds pretty sensationalist and I can’t find a source for that figure.  read full post

Intercepting interpolated strings in C#

If you use C#, you’re probably familiar with interpolated strings, introduced in C# 6. In case you’re not, this:  read full post

Entity Framework conditional includes

If you’ve ever worked with Entity Framework, then you’re probably familiar with the .Include(…) function. You’ve probably also wondered if it’s possible to perform a conditional include (i.e. including only those entities that match a certain predicate). The include function itself doesn’t allow for this, and I thought it simply wasn’t possible until a coworker showed me the following trick.  read full post

More Windows Phone annoyances

There’s lots to love about Windows Phone, but since I’m nitpicking stuff anyway I figure I might as well rant about the rest of my annoyances.  read full post

PIN required: a Windows Phone usability annoyance

When you power on your Windows Phone, it automatically prompts you for your SIM PIN to unlock, well, the phone part of the phone. Of course it’s possible to cancel out of this dialog, because unlocking the phone is not required to access the rest of the device.  read full post

Sony MDR-1000X first impressions

The Sony MDR-1000X are wireless, over-ear headphones with support for active noise cancelling. I’ve owned them for a few weeks now and want to share some of my first impressions. This won’t be a formal review; I’ll just talk about my own, subjective experiences with these headphones.  read full post

Targeting multiple .NET platforms in a single NuGet package with Visual Studio 2017

As the proud owner of a NuGet package (72 downloads and counting!), I’m interested in targeting the new .NET Standard, in order to make my package available on a wider variety of platforms. In a previous post, I showed how to create and publish a simple NuGet package. However, this only covered the basic scenario of targeting a single platform. I now want to target multiple platforms: I want to target .NET Standard, while also remaining compatible with version 4.5 of the full .NET Framework.  read full post