Fixing the External Monitor Color Problem with My 2018 MacBook Pro

I recently upgraded to a 2018 MacBook Pro. I’m enjoying the additional cores and memory (😀) and coming to terms with the touchbar (🤨). A low point of my first week came when I plugged into my external display, and the image looked really bad. In this post, I’ll describe what I learned and how I managed to fix it. Read more on Fixing the External Monitor Color Problem with My 2018 MacBook Pro…

Creating Azure WebJobs in F#

My colleague Brian recently wrote about Azure Functions in F#. Azure Functions are great, and I definitely recommend them if they fit your use case.

These functions are built on top of an older background processing system called WebJobs. While Functions have largely eclipsed WebJobs, there remain certain [situations][webjobs-vs-functions] where the latter is still a better fit. Read more on Creating Azure WebJobs in F#…

Folding Away Mutations in F#

I’ve been working in F# lately, and one of its smaller features has had a big impact on my programming style: Variables are immutable by default. If you want to change something, you have to declare it mutable. Sometimes, this is what I naturally reach for, and the language rubs my nose in it.

Here’s a story of one of those instances, and a new pattern I’ve picked up as a result. Read more on Folding Away Mutations in F#…

Review: Kinesis Freestyle Edge Keyboard

I’ve been a happy user of wasd mechanical keyboards at home and work for years, but lately I’ve grown interested in improved ergonomics. Some of my colleagues use various generations of Microsoft ergo boards, but I wanted the flexibility of a split board and didn’t want to give up mechanical switches.

When I learned of Kinesis’ new split mechanical keyboard (shortly after its successful Kickstarter), I knew I had to try it. Read more on Review: Kinesis Freestyle Edge Keyboard…

.NET Core, OSX, libcurl, and OpenSSL

.NET Core makes it convenient to develop and test C# code across platforms. On my current project, this means we can do much of our work on Macs without ever firing up a Windows VM.

Even the best abstraction layers occasionally leak, though. Here’s a story of an OSX-specific issue we encountered, what we learned, and how to resolve it. Read more on .NET Core, OSX, libcurl, and OpenSSL…