Thoughts and stuff
About
  • Mar 6, 2026

    Where is my disk space? Docker ate it.

    How to find and reclaim hundreds of gigabytes that Docker Desktop silently consumes on Windows, and the vhdx file you probably don't know about.
  • Feb 8, 2026

    Running the devcontainer CLI without installing it

    How to run the devcontainer CLI without installing it on your host machine, using only Docker.
  • Purple seals on a "bliss" background. One of them has a captain's hat and a cup with two handles and a Kubernetes logo. The other has a small cog.
    Jan 18, 2026

    Failing to replace Docker with Podman for Dev Containers

    I tried replacing Docker Desktop with Podman on Windows. It didn't work out. Here's what happened, what I learned, and why I'm back on Docker Desktop.
  • A computer monitor displaying an error message with a sad face emoji. Text overlay reads Implementing RFC 9457: Problem Details for HTTP APIs in ASP.NET.
    Sep 26, 2025

    Implementing RFC 9457: Problem Details for HTTP APIs in ASP.NET

    Tell your clients what went wrong, not just that something went wrong. With RFC 9457 and ASP.NET it's easy to do.
  • A computer monitor displaying colourful lines labeled AuthenticationHandler, with a magnifying glass showing a question mark in front and a shield with a checkmark. Text overlay reads Testing an AuthenticationHandler in ASP.NET.
    Sep 26, 2025

    Testing an AuthenticationHandler in ASP.NET

    How to set up an AuthenticationHandler for testing
  • Two silhouettes with a glowing connection between them representing equal C# records.
    Dec 25, 2023

    Comparing records with collections in C#

    Records have surprising equality-semantics when they contain collections. Here is a simple way to fix it.
  • Computer screen displaying C# code with a magnifying glass highlighting logging functions and a checklist of passed test cases.
    Dec 22, 2023

    Testing your logging in C#

    When you want to test that you are logging correctly it can be tricky - as extension methods and statics are hard to mock. Here is a way to do it.
  • illustration of a vibrant Fediverse community rising like a phoenix with interconnected nodes representing various platforms, set against a starry cyberspace background, symbolizing a welcoming and interconnected online world
    Dec 17, 2023

    A new home in the Fediverse

    I have my own Fediverse server now, and I think you should join the Fediverse.
  • A new computer setup with various applications
    Dec 11, 2023

    Setting Up a New Windows PC

    Setting up a new computer can be a bit of a chore, this is my list of things I always set up on a new Windows PC.
  • A diverse group of people gathering around a computer discussing ideas and creating something
    Dec 10, 2023

    From big ideas to small wins

    From big ideas to small wins - a story about a hackathon.
  • A split monolith with a smaller statue in front of it
    Sep 30, 2023

    On microservices

    Much has been written about microservices. I have thoughts on when they make sense and the consequences of using them.
  • Make it go fast
    Sep 6, 2023

    Optimizing this site

    I've put some effort into optimizing this site
  • drawing of a server-room
    Sep 4, 2023

    Going serverless with Jekyll

    This blog is now powered by Jekyll
  • A Commodore 64
    May 25, 2023

    Reconnecting

    I met an old friend and colleague at a conference, and we talked about old computers. I am now intrigued and slightly intimidated!
  • Merging roots
    May 23, 2023

    Merging aggregates

    As we learn and evolve our system we sometimes need to move the responsibilities of one aggregate-root into another. This article explains how to do that in a consistent, event-sourced manner.
  • A black car in a very clean garage with two red doors
    May 9, 2023

    Generating domain-driven code

    Letting a large-language-model generate a domain in code
  • decision trees
    Apr 2, 2023

    OneOf (with benchmarks)

    OneOf is a library that gives something close to discriminated unions in C#. How does it perform?
  • A plate of creamy chicken pasta with spinach and sun-dried tomatoes
    Mar 17, 2023

    AI Chicken

    AI-made recipe for chicken pasta with spinach and sun-dried tomatoes
  • multicoloured cogs on a blue background
    Mar 16, 2023

    VSCode tasks

    Setting up tasks in vscode to get a smoother red-green-refactor cycle.
  • Screenshot of vscode with a devcontainer active
    Mar 12, 2023

    DevContainers

    How to use devcontainers in vscode to make your development environment repeatable and contained
  • A snowy landscape with trees, houses, garages a road and a gray sky
    Feb 24, 2023

    Winter is back

    The cold and snow has returned to Norway
  • Feb 24, 2023

    We care about your privacy

    if a website tells you that they “care about your privacy” while presenting tracking cookies – they don’t.

  • looking up towards bookshelves with books in a modern library with a glass roof
    Feb 23, 2023

    Domains in docs

    Do not use real domains or ip-addresses in your documentation!
  • An open book with a wooden stick lying across the pages
    Jan 29, 2023

    BookWyrm

    BookWyrm is a social site that supports ActivityPub and centers on reading and books.
  • Kate Morley’s palette of 12 muted colours
    Jan 29, 2023

    A nice palette

    A nice palette of 12 muted colours
  • Jan 17, 2023

    Choir

    I have started singing in a few choirs local to me.
  • man listening to headphones in a forest
    Jan 17, 2023

    Podcasts

    Podcasts I follow
  • Jan 16, 2023

    Hello world!

    Own your words, they say. So I started this blog on my own domain.

Subscribe

A collection of thoughts and stuff, primarily about programming and technology.

  • TomasEkeli
  • TomasEkeli
  • TomasEkeli