Posts from 2024
-
2024-09-08 Early Days - Text Editing Tips
How do you master editing text? Practice is only part of the journey. Knowing what to practice is just as important.
-
2024-09-07 Early Days - Master How to Edit Text
In the early part of your software development career, you spend the majority of your time writing code. This is the time to master how to edit text.
-
2024-08-31 Learning to Program
What should you learn when you are starting out as a software developer?
-
2024-08-03 Type Narrowing in .NET 8
Choosing the incorrect type for data in your applications can be a significant source of bugs. Let’s look how type narrowing can help you.
-
2024-06-02 Leader Election using etcd from C#
Having a service registry can be very useful when you have multiple instances of the same application running. Let’s take a look at how to elect one of the instances to be the leader.
-
2024-05-26 Custom EF Core Migration History
I want to know a bit detail of when data migrations are applied to my database using Entity Framework Core migrations.
-
2024-05-18 Using etcd as a Service Registry from C#
Using a service registry can give many benefits. I’d like to see how we can use etcd for this purpose.
-
2024-05-12 Publishing health Check Data in C#
Sometimes pulling health check data is not possible. Can we push the data?
-
2024-05-05 Creating Root Activities in C#
I recently had a need to create separate traces for each item in a batch. This introduced me to ‘root’ activities.
-
2024-04-29 Exporting Trace Data with SerilogTracing
In my last post I showed how to export logs from a .NET application using Serilog and OpenTelemetry. Now let’s export traces.
-
2024-04-27 Configuring Serilog to use OpenTelemetry
How difficult is it to use OpenTelemetry with Serilog?
-
2024-04-20 Enrich Logs with Trace Data Using Serilog
I’d like to be able to correlate log entries together using trace data. Diagnostics and Serilog to the rescue?
-
2024-04-12 Developing Software Using the Scientific Method
I’ve wanted to write about this topic for awhile now. I wanted to describe how I use the scientific method to develop software. Turns out it was more complex than I thought.
-
2024-04-07 Recording Exceptions with Diagnostic Activities in .NET
The Diagnostics API in .NET provides a great way to record activities in your code using the new
ActivitySource
andActivity
objects. But how do you record an exception? -
2024-04-07 Logging Diagnostic Activities in .NET
The Diagnostics API in .NET provides a great way to record activities in your code using the new
ActivitySource
andActivity
objects. But how do you listen to these activities (and log them)? -
2024-03-31 Distributed Tracing in .NET - Part 3 - Adding Custom Dimensions
In the previous post we described how to enable distributed tracing in .NET applications using OpenTelemetry. In this post I want to enrich the traces with custom dimensions.
-
2024-03-22 Distributed Tracing in .NET - Part 2 - Exception Handling
In the previous post we described how to enable distributed tracing in .NET applications using OpenTelemetry. In this post I want to enrich the automatic instrumentation with application specific data when exceptions occur.
-
2024-03-20 Distributed Tracing in .NET - Part 1 - Setup Open Telemetry
In the previous post we described a sample application and the goals of the exploration into distributed tracing. In this post I want to configure the application to export data using Open Telemetry.
-
2024-03-20 Distributed Tracing in .NET - Part 0 - The Sample Application
I want to explore distributed tracing in .NET. For that I’m going to need a sample application to instrument.
-
2024-03-17 Background Service Health Checks in .NET
Many (most) of the applications I write include one or more background services. Monitoring their status is challenging. Let’s see how health checks can help.
-
2024-03-16 Filtering xUnit Tests in .NET
When running xUnit tests, sometimes you don’t want to run all of them. You can use filters to run a subset of the tests from the command line.
-
2024-03-09 Handling ASP.NET Startup Exceptions
This week we mis-configured a deployment of our ASP.NET application. It leaves it in an awful state with very little details. I wanted to see if I could do better.
-
2024-03-04 Custom .NET Templates
I create new projects all the time to test out ideas. I wish I could have a default solution template that was closer to reality than what the default templates offer. Let’s build one.
-
2024-02-25 Using .NET Access Modifiers
Access modifiers are an often overlooked super power in programming languages. I’m often guilty of making all classes ‘public’. I’m beginning to see the error of my ways.
-
2024-02-18 Linting C# Code - Part 3
Let’s see what one possible workflow looks like for linting your C# code.
-
2024-02-11 Linting C# Code - Part 2
In Part 1, I showed how to lint your C# code using the
dotnet format
command and storing the rules in a.editorconfig
file. Let’s see how we can modify the rules to suit our coding style. -
2024-02-10 Linting C# Code - Part 1
I spent a year and a half working in TypeScript. I learned a lot. I also enjoyed using linting code analyzers. Can I do the same in C#?
-
2024-02-04 Continuous Integration / Delivery Defined
A lot of times I use (or hear) terms that we all assume everyone understands. Let’s remember our fundamentals and define CI/CD for future reference.
-
2024-01-28 Use the Complier to Eliminate Bugs
Runtime error checking can add a lot of noise to your code. Try using the compiler instead.
-
2024-01-21 Obey the Complier
I think it is very useful to treat C# compiler warnings as errors. Let’s explore that idea!
-
2024-01-13 .NET Configuration Validation
Is it useful to validate the configuration of a .NET application? Let’s explore it!