Blog Feed

Announcing Notepad.Net TUI: A Modern Terminal Text Viewer

A fast, familiar, Notepad‑style text viewer for Your Terminal. I’m excited to introduce the first public alpha release of Notepad.Net TUI, a lightweight, terminal‑native text reader designed for anyone who wants a clean, fast, and familiar Notepad‑style experience, without ever leaving the command line. This early release is intentionally focused and stable, giving you a … Continue reading Announcing Notepad.Net TUI: A Modern Terminal Text Viewer →

Gridlock – A Number Puzzle Game

Welcome to Gridlock (https://arcade.d20tek.com/games/gridlock), a challenging number-based puzzle game that combines logic, deduction, and a bit of mathematical intuition. If you enjoy games like Wordle or Sudoku, Gridlock offers a fresh twist that will put your puzzle-solving skills to the test! What is Gridlock? Gridlock is a daily puzzle game where players must fill a 3×3 … Continue reading Gridlock – A Number Puzzle Game →

CSS Media Query for display-mode

This media query property lets you style your web application differently when your app runs as a PWA (Progressive Web App). This lets you hide/show or resize HTML elements when your application is launched in standalone mode. Hide that header or footer when you're in app mode, so your application feels more native. Use case: Make … Continue reading CSS Media Query for display-mode →

Blazor WASM in .NET 10 has Faster Startup

With .NET 10, Microsoft went back to the drawing board on how Blazor WASM starts up and ships assets. Instead of making minor, pathed fixes to Blazor WASM, they reworked compression, caching, and bootstrapping. The results are smaller downloads, faster first loads, and a developer experience that finally competes with the mature front-end frameworks. Here’s … Continue reading Blazor WASM in .NET 10 has Faster Startup →

D20Tek.Functional Migration Guide: Option → Optional

Why the Change? The Option<T> class served as a good starting point for building a functional class that manages having a value or not, but its naming doesn’t align well with .NET conventions because it already has the concept of Option for defining application settings. Therefore, we’ve introduced a new Optional<T> type that’s cleaner, more … Continue reading D20Tek.Functional Migration Guide: Option → Optional →

Evaluating Open Source Dependencies

In the evolving world of open-source software (OSS), it's becoming more common for widely used packages to shift from free offerings to subscription-based models. For software teams, especially senior developers, team leads, and architects, this trend introduces new considerations when evaluating which libraries to adopt. As engineers, our primary responsibility is to balance these decisions … Continue reading Evaluating Open Source Dependencies →

Mediator: Sync and Async Commands

D20Tek Mediator supports both synchronous and async commands. In many cases, synchronous commands are plenty. But when working with data files, external service calls, and databases, it is best for performance throughput to build async WebApi handlers and async commands that process that data. To this point, we have mostly looked at synchronous ICommandHandlers. Here … Continue reading Mediator: Sync and Async Commands →

Introducing MinimalApi.DevView – .NET Toolkit for Minimal APIs

Minimal APIs in .NET make it easy to build lightweight web services with minimal ceremony, but during development, visibility into what your app is doing can be a challenge. That’s what MinimalApi.DevView helps you with. Today, I’m excited to announce the release of D20Tek.MinimalApi.DevView v1.0, a dev-time only diagnostics and discovery toolkit designed specifically for … Continue reading Introducing MinimalApi.DevView – .NET Toolkit for Minimal APIs →