Recent posts

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

C# 7: what's new?

Visual Studio 2017 hit RTM this week, so it’s time to take a look at all the new features that made it into C# version 7. There’s quite a lot to get through, so let’s dive right in…  read full post

Implementing an async producer/consumer queue using BlockingCollection

In this post, I’d like to shine some light on a relatively unknown class from the .NET framework: BlockingCollection. I’ll use this powerful class to implement an asynchronous, multi-threaded, in-memory producer/consumer queue using just a few lines of code.  read full post