RSS.Social

Coding Militia

follow: @[email protected]

Posts

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