Did you know that you can control serial COM ports from a web page? Me neither. Here's what I've learned about it.
How does a ZIP file work? And how do you make really, really, _really_ big ones? Read this post to find out.
When using Packer to build virtual machines, sometimes I just want to pause it and poke around. Here's how I achieve that.
I got into the GitHub Actions beta! Here's what I've learned so far.
If you're sick of System.IO.FileLoadExceptions, you've come to the right place!
In ASP.NET Core, you can write custom formatters to serialize or deserialize objects from/into request bodies. But how do you pick one without a Content-Type?
.NET today is no longer a walled-off Microsoft-only environment. This post explores how it has evolved and how you can evolve your software with it.
Do you think all HTTP headers are Train-Cased-Like-This? If so, you're in for a surprise.
The more "smart" features added to a car, the more distracting and dangerous it can be.
Here's how to do it on Linux, macOS and Windows. No surprises, Windows is by far the most complex.
How do you create an immutable tree structure? The Roslyn compiler developers figured it out, and in this post I break down what they did.
It can be hard to make sense of the increasing complexity found in .NET stack traces. Once you strip out the noise, it becomes understandable.
How do you debug the .NET Core base class libraries on a Mac? Like this.
The good news is that you can now make HTTP/2 requests from Windows. The bad news is that it needs a blog post to explain it.
There's a handful of race conditions you can hit when running child processes. Here is how to avoid them.
Did you know that redirecting input streams can cause a deadlock? Well, now you do.
I'm pretty sure this is a bug, I can't make any sense of it at all otherwise.