• Migrating from WebCORE to Home Assistant

    About a month ago I decided to migrate all my home automation from WebCORE to Home Assistant. I liked the idea of all my home automation being local and inside my house, both from a security and reliability perspective. Furthermore it just seemed like a fun project to tinker with, and in general seemed like it would add a bunch of flexibility to my home automation. In this post I’ll describe my experience with the migration, the good and the bad.

    Read more

  • Learn Span<T> by Implementing a high-performance CSV Parser

    Ever since I first heard about Span<T>, I’ve been wanting play around with using it. It’s a ref struct, so the semantics of using this type and the restrictions that go along with it are best understood by actually trying to use it. So I decided to build a simple CSV parser and see how the performance compared to other mainstream CSV parsers.

    Read more

  • A Tale of Performance and Bad SQL Usage

    The other day I was looking at telemetry for one of my websites to try and finally figure out why I was running into my telemetry cap, which I had been putting off for a while. I’m on the free Application Insights tier, so I only get 1 GB a month and was needing to sample to only 4% of traffic to remain under the cap, which didn’t seem right considering the traffic that site gets.

    Read more

  • Trimming Unnecessary Dependencies from Projects

    When you’re working in large repositories with hundreds of MsBuild projects, you’re bound to have fairly complex build graphs. Over time, these can devolve and you may end up with lots of dependencies between projects which are no longer needed. This can cause builds to slow down as they are less parallelizable, and the developer experience can suffer as you unnecessarily rebuild libraries which have falsely depend on libraries you changed.

    Read more

  • Setting up a Roaming Developer Console

    Have you ever wanted to have your personal scripts and aliases just always available to you in any console session? Well, it’s possible!

    Read more