Coding Militia
Adopting Problem Details for HTTP APIs
How I've been building APIs and microservices lately (feat. C# & .NET)
Kubernetes API powered resource discovery (feat. K8s C# client)
Care about the domain, not about implementing all the patterns and principles under the sun
Introducing OutboxKit
Keeping an eye on cache hit ratio (feat. FusionCache, OpenTelemetry & friends)
Testcontainers and Podman
Transactional outbox pattern meets distributed tracing and OpenTelemetry
Where are my traces? (weird .NET meets OpenTelemetry gotcha)
Primitive vs strongly typed dictionary keys (feat. frozen collections and BenchmarkDotNet)
A .NET parallel Kafka consumer proof of concept (feat. Akka.NET and the actor model)
Byte array as a dictionary key? Trying out some options
Observing .NET microservices with OpenTelemetry - logs, traces and metrics
"Parse, don't validate" and other type safety driven shenanigans (plus a C# wishlist)
Enforce conventions (but don't go overboard) with architecture tests
From domain events to infrastructure - thinking out loud about possible approaches I don’t hate
Checking out EF Core inheritance options
A reminder to consider that your context, isn’t the only context (.NET 8 TimeProvider edition)
Contract first OpenAPI development (but still use Swagger UI with ASP.NET Core)
Mapping ASP.NET Core minimal API endpoints with C# source generators
The “insert specific tech here” developer: yay or nay?
On résumé-driven development, FOMO and dismissing it
Beware of records, with expressions and calculated properties
[Video] Outbox meets change data capture - hooking into the Write-Ahead Log (feat. .NET, PostgreSQL & Kafka)
[Video] What's the point of async/await in an ASP.NET Core application?
[Video] Quick shout-out to DevToys
[Video] Polymorphic JSON Serialization (feat. .NET & System.Text.Json)
OpenAPI extensions and Swashbuckle
Array or object JSON deserialization (feat. .NET & System.Text.Json)
[Video] Outbox meets change data capture (feat. .NET, PostgreSQL, Kafka and Debezium)
Getting a complex type as a simple type from the query string in a ASP.NET Core API controller
[Video] Checking out NDepend
[Video] High-performance and compile-time logging source generation in .NET 6
[Video] Exploring distributed tracing with ASP NET Core 6
[Video] Are ASP.NET Core Minimal APIs just for demos?
Next level console apps with Spectre.Console
Mistaking software for a finished product
Virtual as a code smell*
Setting up demos in Azure - Part 2: GitHub Actions
Setting up demos in Azure - Part 1: ARM templates
Streamlining package versioning with MinVer
Getting started with GitHub Actions
Going all-in with nullable reference types
.NET Conf 2020 and .NET 5 links
Setting up a build with NUKE
Shaking things up a bit - ASPF02O Outro
Some comments, tips and rants about my path to Kubernetes certification
Event-driven integration #6 - Publishing events (feat. Apache Kafka) [ASPF02O|E045]
Microservices and correctly built distributed systems
Event-driven integration #5 - Quick intro to Apache Kafka [ASPF02O|E044]
Event-driven integration #4 - Outbox publisher (feat. IHostedService & Channels) [ASPF02O|E043]
Event-driven integration #3 - Storing events in the outbox table [ASPF02O|E042]
Event-driven integration #2 - Inferring events from EF Core changes [ASPF02O|E041]
Event-driven integration #1 - Intro to the transactional outbox pattern [ASPF02O|E040]
Event-driven integration - Overview [ASPF02O|E039]
More explicit domain error handling and fewer exceptions with Either and Error types [ASPF02O|E038]
Better use of types - avoiding nulls with an Optional type [ASPF02O|E037]
E036 - Making things more object oriented with rich domain entities - ASPF02O
A look at Building the Future 2020
E035 - Experimenting with (yet) another approach to data access organization - ASPF02O
E034 - Segregating use cases with MediatR - ASPF02O
E033 - Redesigning the API: Improving the internal architecture - ASPF02O
Use POCOs to group data and logic - there's more to life than services and DTOs
"Equals" and "==" are not... equal
Episode 032 - Upgrading to ASP.NET Core 3.0 - ASP.NET Core: From 0 to overkill
A year remote
Episode 031 - Some simple unit tests with xUnit - ASP.NET Core: From 0 to overkill
Episode 030 - Analyzing performance with BenchmarkDotNet - ASP.NET Core: From 0 to overkill
Episode 029 - Simplifying the BFF with ProxyKit - ASP.NET Core: From 0 to overkill
Episode 028 - Multiple service instances tweaks - ASP.NET Core: From 0 to overkill
Episode 027 - Up and running with Docker Compose - ASP.NET Core: From 0 to overkill
Episode 026 - Getting started with Docker - ASP.NET Core: From 0 to overkill
Episode 025 - Integrating IdentityServer4 - Part 5 - Frontend - ASP.NET Core: From 0 to overkill
Episode 024 - Integrating IdentityServer4 - Part 4 - Back for Front - ASP.NET Core: From 0 to overkill
Episode 023 - Integrating IdentityServer4 - Part 3 - API - ASP.NET Core: From 0 to overkill
Episode 022 - Integrating IdentityServer4 - Part 2 - Auth Service - ASP.NET Core: From 0 to overkill
Episode 021 - Integrating IdentityServer4 - Part 1 - Overview - ASP.NET Core: From 0 to overkill
The Uri composition mystery
Episode 020 - The backend for frontend and the HttpClient - ASP.NET Core: From 0 to overkill
Episode 019 - Roles, claims and policies - ASP.NET Core: From 0 to overkill
Episode 018 - Internationalization - ASP.NET Core: From 0 to overkill
Episode 017 - More Identity, more Razor Pages - ASP.NET Core: From 0 to overkill
Episode 016 - Authentication with Identity and Razor Pages - ASP.NET Core: From 0 to overkill
Episode 015 - Calling the Web API from the frontend - ASP.NET Core: From 0 to overkill
Episode 014 - Centralizing frontend state with Vuex - ASP.NET Core: From 0 to overkill
Episode 013 - Starting the frontend with Vue.js - ASP.NET Core: From 0 to overkill
Episode 012 - Move to a Web API - ASP.NET Core: From 0 to overkill
Episode 011 - Data access with Entity Framework Core - ASP.NET Core: From 0 to overkill
Episode 010 - Async all the things - ASP.NET Core: From 0 to overkill
Episode 009 - MVC filters - ASP.NET Core: From 0 to overkill
Episode 008 - Middlewares - ASP.NET Core: From 0 to overkill
Episode 007 - Logging - ASP.NET Core: From 0 to overkill
Episode 006 - Configuration - ASP.NET Core: From 0 to overkill
Episode 005 - Dependency Injection - ASP.NET Core: From 0 to overkill
Episode 004 - The Program and Startup classes - ASP.NET Core: From 0 to overkill
Episode 003 - First steps with MVC - ASP.NET Core: From 0 to overkill
Episode 002 - Project structure plus first application - ASP.NET Core: From 0 to overkill
Episode 001 - The Reference Project - ASP.NET Core: From 0 to overkill
ASP.NET Core: From 0 to overkill - Intro
Finally found a cross-platform Excel parsing library
First look at Kotlin - my first pains
[Redirect Magazine] #27 - ASP.NET Core and Serilog, techie to tech lead, microservices and messaging
[Redirect Magazine] #26 - Web performance, constructor over-injection and the Elastic stack
[Redirect Magazine] #25 - Event sourcing problems, Bing on .NET Core 2.1 and testing distributed systems
[TIL] int vs short and the (unexpected) performance impact
[Redirect Magazine] #24 - Service boundaries, orchestrating containers, event sourcing and CQRS, plus some ASP.NET Core less known features
[Video] Creating a CI/CD pipeline for a .NET library
[Redirect Magazine] #23 - distributed systems, testing, more distributed systems and actors on distributed systems
[Redirect Magazine] #22 - Imaginary problems, .NET pipelines, patterns misuse, architecture resources and CI/CD
Creating a CI/CD pipeline for a .NET library: Part 3 - Building on AppVeyor and Travis CI
Creating a CI/CD pipeline for a .NET library: Part 4 - Code coverage on Coveralls, badges and wrap up
Creating a CI/CD pipeline for a .NET library: Part 2 - Defining the build with Cake and publishing to NuGet
Creating a CI/CD pipeline for a .NET library: Part 1 - Intro
[Redirect Magazine] #21 - Web architecture fundamentals, stability patterns and antipatterns plus a quick look at Kotlin
[Redirect Magazine] #20 - Debugging HTTP requests in Docker, homographs, learning new things and evolutionary architectures
[Redirect Magazine] #19 - Microservices gone sour, OOP done wrong, more on .NET's new Pipelines and HTTPS all the things
[Redirect Magazine] #18 - Span, Memory and Pipelines on .NET Core 2.1
[Redirect Magazine] #17 - Using containers for build environments, configuration in .NET Core, HTTPS all the things, containerized distributed data stores and Shopify's architecture
[Redirect Magazine] #16 - Sharing sources through NuGet, modern .NET overview, some more microservices and a tour through programming history
[Redirect Magazine] #15 - Performance with strings in .NET, cryptography, Node.js issues, microservices and clean architecture
[Redirect Magazine] #14 - Micro Frontends, Polly extensions for HttpClient, WebSockets and Nginx
[Redirect Magazine] #13 - .NET Core 2.1 released, Twelve-Factor App, Reactive Manifesto, readable code, Rx on the cloud and extra JS stuff
[Redirect Magazine] #12 - More JS inner workings, serverless, ASP.NET Core 2.1 and microservice websites
[Redirect Magazine] #11 - Async stuff, cleaning up DI, using Git merge, Spotify engineering culture and new shiny things in EF Core
Dotnetifying gRPC: Sane Edition
[Redirect Magazine] #10 - Events past week, .NET Core future, project versioning, Visual Studio Live Share, Angular 6 and the new SignalR
[Redirect Magazine] #9 - GraphQL vs REST, multi-targeting .NET libraries, analyzers and designing APIs
[Redirect Magazine] #8 - HttpClient, the actor model, saga pattern, ASP.NET Core issues and some more perf stuff
Using .NET's HttpClient without following redirects
[Redirect Magazine] #7 - Using Firefox, .NET Core 2.1 performance improvements, learning new skills and new C# features
Using cancellation tokens on ASP.NET Core MVC actions
Dotnetifying gRPC
[Redirect Magazine] #6 - Code reviews, side projects, functions as dependencies and performance profiling
[Redirect Magazine] #5 - Repository pattern diverging opinion, .NET and Go concurrency, JS Event Loop and Zones
[Redirect Magazine] #4 - CLI tools, coding ASP.NET Core on Linux, actors and some more perf stuff
[Redirect Magazine] #3 - DDD with EF Core, ASP.NET Core, JS and .NET perf and some logging bits
[Redirect Magazine] #2 - Stack Overflow developer survey, general tips, code reviews and some other stuff
My couple of cents on remote work
[Redirect Magazine] #1 - Sharing some links
Quick intro to Docker and Docker Compose: Angular, ASP.NET Core and Postgres app
[Video] Moving the blog to Jekyll and hosting on Netlify
A way to simplify unit tests on static methods
[Video] .NET performance curiosities
[Video] Using Polly to improve .NET applications resilience
[Video] REST vs GRPC in C# just for fun
[Redirect] How To Save The Princess In 8 Programming Languages
Simpler error handling in .NET applications using Polly
Boilerplate hunting with Castle DynamicProxy
[Redirect] How you should (not) use HttpClient
BenchmarkDotNet - Library for benchmarking .NET code
Getting this up and running – Bonus round: SSL, Email and stuff (3/3)
Getting this up and running – Installing Docker and running applications with it (2/3)
Getting this up and running – Initial server setup (1/3)
Getting this up and running - Intro
"Time's up, let's do this! Leeeeeeeeeeeeeroy Jenkins!"
Contact