Exploring the NuGet v3 Libraries, Part 1
The NuGet version 3 libraries have been available for a while, both on GitHub and on the public NuGet gallery. Despite advice by the NuGet team that they aren't ready for public consumption yet, it's been over six months since the first release of NuGet v3 and many packages are starting to require v3 clients for installation. If you already have an application that uses NuGet libraries, this is, or will shortly become, a problem for your application as more and more packages start only supporting the newer client versions.
Capturing Standard Input in C#
I recently ran across a problem that was surprisingly challenging. I have a console application and I wanted to be able to send it information over standard input. That includes piping data to it such as echo "test" | myapp.exe and receiving command redirection such as myapp.exe < file.txt (see this link for more information about Windows command redirection). This sort of input all comes into your application by way of a stream called "standard input" or "stdin" for short. It turns out there's a lot of edge cases to consider when trying to capture standard input, and accounting for them all can be difficult.
Some Thoughts on Microdependencies, NPM, and Node
Unless you've been hiding under a rock, you've heard about the controversy over left-pad in which a Node developer, angry over a trademark dispute, pulled all of his packages from NPM. It turns out that one of these packages, left-pad, was actually a dependency for a bunch of other packages and so builds everywhere came grinding to a halt. Now everyone has an opinion on the topic, many of which are very thought-provoking. I figure what the heck, since everyone else is writing about it I might as well too.