February 19, 2024| blog.nimblepros.com
This post is part of a series on NServiceBus. In the previous articles, we looked at fundamental concepts for messaging and how to get…| NimblePros Blog RSS Feed
Exceptions are thrown in code to indicate something went wrong. The reason we have exceptions instead of merely letting a program crash with…| NimblePros Blog RSS Feed
Exploring the Unit of Work pattern and how NServiceBus simplifies its implementation in distributed systems.| blog.nimblepros.com
This post is part of a series on NServiceBus. In the previous articles, we looked at fundamental concepts for messaging and how to get…| NimblePros Blog RSS Feed
Why are there so many containers in eShopOnNServiceBus?! Sadukie demystifies that in this post!| blog.nimblepros.com
We all strive to keep stable development branches in a clean state. Fresh checkouts should never have broken code, failing tests, or…| NimblePros Blog RSS Feed
Introducing Barret Blake, our newest team member!| blog.nimblepros.com
Using workflow_run in GitHub Actions| blog.nimblepros.com
Let’s suppose you’re working on an application that experiences transient faults—for example, a REST service you depend on occasionally…| NimblePros Blog RSS Feed
Learn how we reuse a GitHub workflow in our repos.| blog.nimblepros.com
Mark commits you make locally as Verified in GitHub by using GPG to sign the commits you make.| blog.nimblepros.com
Imagine you’re at a concert. You have the conductor, who is the orchestrator, making sure each instrument plays its part at the right time…| NimblePros Blog RSS Feed
Have you ever found yourself scratching your head, wondering “Why did we decide that?” a few months (or even years) into a project? Or maybe…| NimblePros Blog RSS Feed
Let's demystify Authentication, Authorization, and OAuth.| blog.nimblepros.com
This month I broke my non-conference-attendance streak of 10 years and returned to Stir Trek for their 2025 conference. I attended live…| NimblePros Blog RSS Feed
These are Sadukie's adventures at Stir Trek 2025 - including sessions on HTML, CSS, Blazor, and HTMX!| blog.nimblepros.com
Recently, I decided to tackle a homemade red velvet cake with Ermine frosting for my older son’s birthday. He asked that I’d bake him the…| NimblePros Blog RSS Feed
The quality of your application code can be measured in many ways. Let's take a step back and consider measuring said quality based on how easy (or difficult) it is to make changes to the application.| blog.nimblepros.com
Learn how to run GitHub Pages locally using a Dev Container.| blog.nimblepros.com
NimblePros Named a Particular Software Partner for Expertise in NServiceBus We’re excited to announce that NimblePros has been officially…| NimblePros Blog RSS Feed
Let’s settle this once and for all: AutoMapper isn’t evil, and the ‘just write the mapping code by hand’ crowd isn’t crazy either. After a…| NimblePros Blog RSS Feed
I’ve recently been working on an application with basic ASP.NET Core identity. We’ve generated the necessary SQL tables via EntityFramework…| NimblePros Blog RSS Feed
Introducing Jeff Zuerlein, our newest team member!| blog.nimblepros.com
We know that domain-driven design (DDD) can be tricky to implement. We have helped many clients along the way, getting them out of these…| NimblePros Blog RSS Feed
We are excited to announce the early access launch of our course on Implementing Individual Accounts in ASP.NET. In this course, we explore…| NimblePros Blog RSS Feed
Take advantage of C#'s 'in' keyword to modify parameters, making them immutable and passed more efficiently.| blog.nimblepros.com
We are continuing our public webinars through 2025! This year’s webinar series kicked off with a webinar on Architecture Testing for .NET…| NimblePros Blog RSS Feed
Over on Bluesky, we’ve started adding a Question of the Week that comes up during the beginning of the week. I’m picking questions that are…| NimblePros Blog RSS Feed
Write cleaner test assertions with better messaging using the Shouldly library| blog.nimblepros.com
In this post, Sadukie shares topics to look forward to in 2025!| blog.nimblepros.com
In our post on Running Gatsby in a Dev Container, we set up a dev container running a non-root user. While prepping for our Dev Containers…| NimblePros Blog RSS Feed
This blog post is part of the 2024 C# Advent Calendar. Thanks to Matt Groves for organizing this awesome collection of knowledge and…| NimblePros Blog RSS Feed
Yes, it is in fact possible to test randomness within your application! Like with so many other facets of your code, it’s important too…| NimblePros Blog RSS Feed
This post is part of the Festive Tech Calendar 2024 adventures. Just as holiday cookie recipes give you tried-and-true methods for festive…| NimblePros Blog RSS Feed
LINQ (Language Integrated Query) has always been a game-changer for .NET developers, streamlining data manipulation with elegance and…| NimblePros Blog RSS Feed
Occasionally you’ll find yourself wanting to query data from a database. I know I do! Sometimes that involves grouping your data. Sometimes…| NimblePros Blog RSS Feed
So you’ve been through part 2 : Scaling the Monolith, and you’re still thinking microservices might be the right answer? OK, Let’s talk it…| NimblePros Blog RSS Feed
Welcome back to this series on architecting applications and systems with scaling in mind. In Part 2 of this series, we are going to take…| NimblePros Blog RSS Feed
In our webinar on “Common Antipatterns and Refactorings”, I mentioned loops could sometimes be seen as antipatterns. Some people were…| NimblePros Blog RSS Feed
I was working with another developer the other day, using C# records. When using a record, you may have seen syntax similar to primary…| NimblePros Blog RSS Feed
Welcome to the series “Architecting to Scale”. In this series we are going to look at an iterative approach to scaling your applications…| NimblePros Blog RSS Feed
This post is part of a series on NServiceBus. In the past couple articles, we created a saga that tries to verify a contributor’s phone…| NimblePros Blog RSS Feed
This post is part of a series on NServiceBus. In the previous article, we created our first saga. In this article, we will introduce the…| NimblePros Blog RSS Feed
In the last dev containers post, I mentioned that one of the painful things I have to deal with is maintaining Gatsby sites. The real pain…| NimblePros Blog RSS Feed
Picture this - you’re a consultant who happens to be working on projects in different versions of Node.js. Or maybe you’re a consultant who…| NimblePros Blog RSS Feed
For a long time, I’ve been used to creating regular expressions in C# like this: I declare it because I know it’ll never change or require…| NimblePros Blog RSS Feed
Introduction Let’s assume we understand the need for a good suite of integration tests. Personally, these are my sweet spots for the level…| NimblePros Blog RSS Feed
This post is part of a series on NServiceBus. In this article, we will implement the happy path of our example saga introduced in the…| NimblePros Blog RSS Feed
This post is part of a series on NServiceBus. In the previous articles, we looked at fundamental concepts for messaging and how to get…| NimblePros Blog RSS Feed
Last week, while I was at the dev up conference in St. Louis, I caught Kevin Johnson’s presentation called “Rising from the Ashes…| NimblePros Blog RSS Feed
AutoMapper isn't the tool for every scenario, but what is done in these more complex cases? Is AutoMapper still useful when more complexity is present?| blog.nimblepros.com
Legacy code refactoring made easier with characterization tests. Using Verify and Bogus, capture current behavior efficiently, enabling confident code improvements with less manual effort.| blog.nimblepros.com
NimblePros is excited to welcome another new member to our team (and we’re still small enough that we like to celebrate each new addition…| NimblePros Blog RSS Feed
Consulting remotely for multiple clients presents many unique challenges not seen in other areas of software development. Within the scope…| NimblePros Blog RSS Feed
We are pleased to announce the arrival of our Clean Architecture course. Get in-depth with Ardalis' Clean Architecture template and how to use it with your own code!| blog.nimblepros.com
As I prepare to deliver a mentoring talk, I think about the various “-ships” that help move careers forward. In this post, we’ll look at…| NimblePros Blog RSS Feed
.NET’s abstraction finally absolves us of the need to wrap and friends with a custom interface. I’ve used it a lot for my date/time…| NimblePros Blog RSS Feed
Ever find yourself needing to make the same edits to consecutive lines in VS Code? Learn about multi-line editing!| blog.nimblepros.com
In our recent webinar, we talked about architectural katas. We explained what they are, how they can be used, and a few different approaches…| NimblePros Blog RSS Feed
I have a few Gatsby sites that I contribute to for work. The frontmatter boilerplate has been a thorn in my side, and I figured there has to…| NimblePros Blog RSS Feed
When you need to test pages with a shared session storage using Playwright for .NET but aren't sure where to start, we got you covered!| blog.nimblepros.com
Fitness tests, also known as architectural fitness functions, are like checkups for your software’s design. They assess how well your…| NimblePros Blog RSS Feed
You’re being responsible! You want to ensure that merges into your stable source control branch are safe, so you gate any merges with a…| NimblePros Blog RSS Feed
Every architecture decision involves trade-offs. Let's explore some of the architectural characteristics involved in these trade-offs.| blog.nimblepros.com
When you need to test pages behind authentication using Playwright for .NET but aren't sure where to start, we got you covered!| blog.nimblepros.com
NimblePros is excited to welcome another new member to our team! Jeff Valore is a Senior Consultant who brings a wealth of experience as a…| NimblePros Blog RSS Feed
Ever want someone to book time with you on your Google Calendar? Check out Google Appointment Schedules!| blog.nimblepros.com
Dependencies on external resources can make code difficult to test or maintain. This is hardly a hot take. Recently, a user in the devBetter…| NimblePros Blog RSS Feed
This post is the fourth in a series on NServiceBus, a popular messaging framework for building distributed systems. If you’ve missed any of…| NimblePros Blog RSS Feed
Congratulations to Eric Fleming and Kyle McMaster - our newest Particular Software Recognized Professionals| blog.nimblepros.com
There are many ways to work with `dotnet run` as a background process. Let's look at other options to DotnetBackground.| blog.nimblepros.com
Learn how to run your .NET projects in the background for easier testing.| blog.nimblepros.com
We can’t stress the importance of documentation in software architecture. The decisions that you make today will impact the project now and…| NimblePros Blog RSS Feed
This post is the third in a series on NServiceBus, a popular messaging framework for building distributed systems. In the previous post, we…| NimblePros Blog RSS Feed
Pull requests, or PRs, are a functional requirement in any cooperative development environment (and single development environment, in my…| NimblePros Blog RSS Feed
Getting started with NServiceBus| blog.nimblepros.com
What is NServiceBus? In this article, we will look at NServiceBus and the Particular Service Platform and what it can do for you.| blog.nimblepros.com
Every now and then I need to do some math in my code, for some required business logic rule or other purpose. As an easy example, let’s…| NimblePros Blog RSS Feed
In today’s increasingly complex world of software development, asynchronous messaging has become a fundamental architectural principle when…| NimblePros Blog RSS Feed
Recently someone asked: A simple question. I have a set of tasks to perform and I want to optimize their performance. Basically reading a…| NimblePros Blog RSS Feed
After seeing Steve pairing with ChatGPT, I’ve been pairing with my friends ChatGPT and Bard Gemini to help me get past writer’s block. This…| NimblePros Blog RSS Feed
This article is part of a series on leveling up your testing skills Creating Test Objects via Design Patterns Supercharging Your Test Data…| NimblePros Blog RSS Feed
Analyzing Your SQL Server Database: A Guide to Extracting Key Metrics with SQL Queries Introduction As a software developer or database…| NimblePros Blog RSS Feed
In our last post, Scott talked about code katas as a tool for learning a language. Today, I’m going to introduce you to another type of kata…| NimblePros Blog RSS Feed
On Learning New Programming Languages| blog.nimblepros.com
This blog post is going to explore the events that happen in A Visit from St. Nicholas by Clement Clarke Moore using EventStorming.| blog.nimblepros.com
Refit: Adding Bearer Authentication| blog.nimblepros.com
Using the Bogus library to create realistic test data for domain-driven applications.| blog.nimblepros.com
Where C# Primary Constructors Make Sense| blog.nimblepros.com
A walkthrough of how to use AutoFixture to generate test data and how it can help you write better tests.| blog.nimblepros.com
.NET 8 Finally Gives Us A Time Abstraction - TimeProvider| blog.nimblepros.com
When building objects in tests, there are 3 design patterns that assist with building test objects - Factory pattern, Object Mother, and Builder pattern.| blog.nimblepros.com
This is a recap of Sadukie's presentation of 'From Legacy Monoliths to Microservices via EventStorming'.| blog.nimblepros.com
Hacktoberfest provides many opportunities to contribute to open source projects, network with the community, and find professional opportunities. Ardalis and devBetter have some repos open for Hacktoberfest!| blog.nimblepros.com
If you have been wanting to learn more after any of our monthly webinars, be sure to check out our upcoming paid training offerings.| blog.nimblepros.com