Middleware order is important

Place ASP.NET Core middleware in the order that matches routing, security, and endpoint behavior.

July 5, 2026 · 2 min · Lukas Walter

Nullable warnings are design feedback, not noise

Treat nullable warnings as pressure to make object state and API contracts clearer.

July 5, 2026 · 2 min · Lukas Walter

Pass CancellationToken through real boundaries

Thread cancellation through every expensive operation instead of dropping it mid-chain.

July 5, 2026 · 2 min · Lukas Walter

Prefer health checks that test dependencies deliberately

Health checks should say something useful about readiness without turning every probe into production load.

July 5, 2026 · 2 min · Lukas Walter

Prefer keyset pagination for deep lists

Use seek-based pagination when users move through large ordered result sets.

July 5, 2026 · 2 min · Lukas Walter

Run Python in-process from .NET with CSnakes

A quick tip for embedding Python directly into a .NET app with CSnakes when you want a small slice of the Python ecosystem without a separate API service.

July 5, 2026 · 4 min · Lukas Walter

Separate prompts from authorization

Do not let prompt instructions decide what data or actions a user is allowed to access.

July 5, 2026 · 2 min · Lukas Walter

Start independent tasks before awaiting them

Create unrelated asynchronous operations first, then await them together.

July 5, 2026 · 2 min · Lukas Walter

Use approval for side effects, not for every tool call

Reserve human approval for actions where a wrong call would actually matter.

July 5, 2026 · 2 min · Lukas Walter

Use file-based C# apps for small repo utilities

Use a single C# file when a repo utility is useful but a full project would be ceremony.

July 5, 2026 · 1 min · Lukas Walter