LINQ (Language Integrated Query) is a widely used feature in .NET, and it’s great to see that it’s still being built upon and modernized…
Naming things is hard, especially if there are multiple words that make up that name. Remembering names of naming conventions can also be…
NimblePros is pleased to welcome Cameron Young to our team in the role of Consultant. Cameron recently graduated to alumni status in the…
Code coverage analysis is a useful tool for any developer looking to build high-quality, maintainable code. It helps identify gaps in your…
While I was looking at the Ardalis.GuardClauses repo, I noticed that the build process was failing. Talking with Steve, I noticed that the…
We’re continuing to grow our team, and are excited to have Sarah “Sadukie” Dutkiewicz joining us! We have known Sarah through her prolific…
In today’s digital age, having a website or a web application has become a necessity for businesses and individuals alike. But deploying a…
In this quick tutorial, you will learn how to run and debug your application in Linux using WSL (Windows Subsystem for Linux) and Visual…
Compression can be a useful tool for reducing the size of data transmitted over a network or stored on disk. The .NET framework includes…
If you’ve run into an issue with LocalDB or SQL Server where the process fails to start and you see an error message about misaligned log…
This post is part of the F# Advent Calendar 2022 hosted by Sergey Tihon. The goal of this post is to provide a glimpse into the journey of…
Unit Testing Validation of Annotated Models It’s no secret that I like to unit test my code. The more I can decouple from dependencies and…
This is part of my blog post series on AutoMapper. Part 1 Part 2 Part 3 This was something I stumbled across in my work lately, which…
In this article we’ll show how structs and classes have different behaviors when it comes to constructors and why you need to be careful…
Fluent Assertions is a library used to make C# test code more readable and expressive. This frees your tests from syntax heavy assertion…
This is the third part of my blog post series on AutoMapper. First part here! Second part here! AutoMapper Allows Self-Mappings Without Map…
I recently tried a code kata that Steve Smith posted in our devBetter Discord server. The kata is essentially a modelling exercise. The goal…
If you’re coming from another programming language like JavaScript, Rust or Go, you may be familiar with the function found in the standard…
So you’ve set up some benchmarks for some performance critical piece of code in your application. Perhaps you’ve even followed along with my…
In the latest release of Ardalis.Result, a community requested feature was added to convert results from one type to another. This allows…
In this article I will show, step by step, how to set up a .NET benchmarking project. It is a cleaned up transcript from a video I made. We…
This is the second part of my blog post series on AutoMapper. Check out the first part here! AutoMapper: A Very Testable Tool One of the…
In a commencement address Steve Jobs gave to a Stanford graduating class, he said: You’ve got to find what you love… The only way to do…
Over the years, one of the tools I end up setting up / using / maintaining a lot has been AutoMapper. For the uninitiated, AutoMapper is a…
ASP.NET Core has great support for automated integration testing. The docs provide everything you need to get started, and there are many…
We’re pleased to announce our newest team member, Philippe Vaillancourt. Phil has many years of software development experience and is…
I was recently going through the process of installing the developer tooling I use on a fresh, new laptop. I installed the usual suspects…
We’re pleased to announce our newest team member, Jeremiah Cooper. Jeremiah has over a decade of professional software development, spanning…
Earlier this year Microsoft announced a new way to manage dependencies in .NET applications called Central Package Management. This new way…
Specification is a pattern in Domain Driven Design that helps encapsulate domain knowledge in a reusable way. The term Specification was…
A result is an abstraction that allows developers to express the value as well as the outcome of an operation. A basic result can represent…
Monitoring and Logging are critical pieces to the overall health and success of an application. Logging, which we’ll be specifically…
A Smart Enum is an enhancement of the C# enum that provides a strongly typed and object oriented approach to enum types. Smart Enums can be…
In a previous article we covered Getting Started with Guard Clauses. We introduced what guard clauses were, when they should be used as well…
A guard clause is a software pattern that simplifies complex functions by “failing fast”, checking for invalid inputs up front and…
Localization, the process of providing information in multiple languages as specified by the user, is a pretty common requirement for web…
We’re pleased to announce a new member of our team, Kyle McMaster. Kyle is passionate about learning new technology, and he looks forward…
devBetter is a group coaching program and professional software developer community. Its goal is to enable developers to accelerate their…
We hope that this note finds you well. It has been a long and unusual year for us all, and it is nice to finally be seeing some light at the…