Logging is an important piece of functionality for any application because it helps tremendously with troubleshooting issues and health monitoring. A common technique is to write to log files, but they can get very large and difficult to inspect. I will show you the configuration steps needed to write to Azure Table Storage so that you can more easily consume the logging data your application provides.

In an effort to keep code testable while adhering to the single responsibility and inversion of control principles, using an Inversion of Control (IoC) container like Autofac is a must. I have had a lot of fun working with this popular tool to handle all of my dependency injection. It works by holding all the object references in a static class, and it will build the dependency graph for you automatically. Then you just ask the container to resolve a type, and you have a fully instantiated object. This is much better than newing up the dependencies in the class manually because now I can easily create tests and inject mock dependencies for unit testing.

Many articles I’ve read about generic classes show a very simple implementation that can sum 2 numbers, output the type passed in or something similar. These are useful articles for basic understanding of how to get started with generic classes, but I am going to go a step further by showing a real world example of them.

The rising demand for getting a Minimal Viable Product (MVP) to the market as quickly as possible has highlighted the criticality of Validated Learning within the Software Development Life cycle (SDLC.) Validated Learning is an important step to take after you implement your vision because it allows you to test your product or feature to determine whether it is useful. To test, we use a principle called the Build-Measure-Learn.

I was very excited when I finally received my Espruino Pico from my first Kickstarter backing last week. I have a Raspberry Pi and an Arduino, but this was different because it natively ran JavaScript. Since I’m a web developer this was a programming language that I was very familiar with. My deep interest in technology started out as a kid with electronics, so being able to use C# code to communicate with a micro controller has always interested me. So far I am very pleased with the ease of use and the short amount of time it took to get get started.

A couple of years ago I decided to seek out a keyboard that did not include a 10 key pad. This desired feature ended up cutting my keyboard options drastically. It is handy to have the 10 key pad, but I wanted the mouse to be closer for ergonomics. I found myself looking at a mechanical keyboard manufactured by Cooler Master 10 key-less with Cherry MX Red switches. It was unlike any other keyboard I had ever tried and I bought it. It took a few weeks to get used to, but I knew it was worth it. For those who are not familiar with Cherry MX switches, they are the individual switches beneath each key that are color coded according to their feel.