Nicholas Blumhardt
banner
nblumhardt.com
Nicholas Blumhardt
@nblumhardt.com
Founder at @datalust.co, core maintainer for #serilog, original #autofac author, long-ago-.NET PM. Deep down the #rustlang rabbit hole. Also at https://nblumhardt.com/@nblumhardt.
Hope you're all doing okay out there 👋
July 29, 2025 at 10:56 PM
I can't believe it's so rare to get a terse, sensible, un-pushy issue raised ahead of a PR that feel the need to micro-blog when it happens, but here you go 😂 github.com/serilog/seri...
Add support for NO_COLOR env var · Issue #130 · serilog/serilog-expressions
Hey! There is a slight inconsistency between different serilog console logging methods when it comes to support for NO_COLOR env variable. See https://no-color.org/ for the reasoning. Also there ha...
github.com
July 29, 2025 at 10:56 PM
Building the Serilog sink for OpenTelemetry on OTLP, rather than the SDK, is turning out pretty well. It's super stable and in wide use at v4.2.0, while there's still no final SDK API for non-Microsoft loggers.

Dependencies aren't inherently bad, but **schedule dependencies** almost always are.
May 31, 2025 at 1:15 AM
The first 1.0M is the hardest 😉

www.nuget.org/packages/Ser...
May 26, 2025 at 7:22 AM
Has anyone investigated writing an MCP server binding for System.CommandLine in #dotnet?

Just poking around to keep up with what's going on in that space, seems like it could be an interesting quick bootstrapping option for existing codebases..?
May 25, 2025 at 9:21 PM
Happy Firefox user, here, but I need to spend more dev time in Chromium-based browsers. Is the Chromium project itself the go-to privacy-conscious option? Any others I should take a look at? 🙏
May 23, 2025 at 12:38 AM
Reposted by Nicholas Blumhardt
We’re about to take C# to the next level!

#dotnet #csharp
May 22, 2025 at 12:31 AM
After me spending years maintaining a .NET state machine library, we implemented the core node state machine in plain old C# 😅

Couldn't be happier - states as classes, trigger handlers as switch statements returning new states, it's such nice, clear, direct code I don't think I'll look back....
datalust.co Seq @datalust.co · May 21
A peek into the delicate machinery that adapts a running Seq node to its role in the cluster: blog.datalust.co/leader-elect...
May 21, 2025 at 5:48 AM
Since data movement has such a huge impact on performance in distributed systems, we did a bit of work cleaning up Seq's query plans in 2025.1, and now explicitly show the send/receive operations that connect computations locally and over the network.

Still not perfect, but getting closer! 😁
May 20, 2025 at 2:55 AM
Reposted by Nicholas Blumhardt
Today's the day! Seq 2025.1 is ready at datalust.co/download, and on Docker Hub/ECR 😎

Find out what's new in the release announcement 👉 blog.datalust.co/announcing-s...
Seq — centralized structured logs
Seq is the self-hosted search, analysis, and alerting server built for structured log data.
datalust.co
May 19, 2025 at 11:31 PM
Reposted by Nicholas Blumhardt
Hello, world! 👋
April 24, 2025 at 10:35 PM
What I've been up to for the past year: blog.datalust.co/seq-clusteri..., and one of the toughest things to ship that I've ever worked on 😅
It's time to prepare for Seq Clustering!
Now in preview, Seq 2025.1 introduces high availability (HA), scale-out clustering in the Datacenter subscription tier. * Seq 2025.1 clusters continue ingesting data and serving queries even when on...
blog.datalust.co
April 24, 2025 at 10:08 PM
Today's "quick-and-dirty" hack turned out quite nicely; a Seq relay (replication/forwarder) plug-in that properly handles traces, OTLP envelope properties, etc.: github.com/nblumhardt/s...
GitHub - nblumhardt/seq-app-relay: A simple HTTP/JSON forwarder that preserves all event metadata.
A simple HTTP/JSON forwarder that preserves all event metadata. - nblumhardt/seq-app-relay
github.com
April 23, 2025 at 6:35 AM
Whoah, just spiked replacing Seq's internal cluster HTTP proxy with #aspnetcore's YARP, and once I remembered to register its service dependencies, it Just Works™️ first try, WebSockets and all.

That's the mark of a nice piece of software, going to have to dig into this thing 😎
April 16, 2025 at 11:50 PM
Reposted by Nicholas Blumhardt
The option to build a complementary product or service isn't viable for everyone, but for high-use libraries, it's within reach a lot of the time.

When you build one of these things, you end up a bit of a domain expert, and have a high chance of seeing the gaps and opportunities others won't...
April 16, 2025 at 9:38 PM
Surprised to see a few posts like this lately. I've been strongly anti-license-switch for as long as this stuff has been going on, but perhaps not loud enough.

There is no future in which this will happen. The #serilog project doesn't even accept donations! It's by the community, for the community.
What would break the dotnet csharp world right now, would be if #serilog followed suit and did the same thing.

May companies would be forced to engineer away to alternatives or pay for license. As logging is not a straight forward thing to replace.
April 16, 2025 at 8:29 AM
The apparent end of the CVE database caught me by surprise... Aside from fragmented means like GitHub tickets and mailing lists, how is everyone expecting to receive vulnerability notifications going forward? No viable replacement in the wings?
April 16, 2025 at 5:58 AM
Well, looks like we all ended up here, so I'd better stop lurking and say "hello" 👋
April 16, 2025 at 5:55 AM
Reposted by Nicholas Blumhardt
Undroppable Types
jack.wrenn.fyi
November 30, 2024 at 6:04 PM