All Posts

  • Published on
    I've been using Visual Studio for a very long time. Probably close to two decades. It has it's strengths and weaknesses, but I've always been able to get the job done. I've been using Rider for a few months now and I'm really enjoying it. I made the switch partially to try something new, and partially from some mild peer pressure from all the young guns in the office. It's a great IDE and I'm finding it to be a great alternative to Visual Studio. Recently, I noticed that JSON configuration files (as are commonly found in ASP.NET Core projects) were not nested like they normally are in Visual Studio. I googled around for a solution, but after a reading a few inadequate solutions, I decided to write my own. I'm sharing it here in case anyone else is looking for a solution.
  • Published on
    Recently, I’ve noticed some confusion relating to Clean Architecture and the concept of ‘services’. In popular Clean Architecture templates such as the SSW CA Template and Jason Taylor’s CA template, there is a single service called DateTimeService in the Infrastructure project. This can mistakenly lead developers to think this is where ALL services should live (which is not the case). This post will use the term ‘service’, but other terms like ‘manager’, ‘helper’, or ‘utilities’ are equally applicable. So where should services live? Let’s dive in and take a look.
  • Published on
    In the world of software development, Architectural Decision Records (ADRs) are indispensable for capturing and communicating crucial architectural choices throughout a project's lifecycle. This blog post explores the significance of ADRs, emphasizing their role in providing historical context, promoting transparency and accountability, facilitating collaboration, and enabling informed decision-making. It also offers practical insights on creating and maintaining ADRs effectively. By embracing ADRs, software development teams can enhance project clarity, foster collaboration, and make more informed decisions, leading to successful and resilient projects.