If you come from building web services or desktop line-of-business apps, the game loop is one of the stranger things you will meet in game development. It looks simple (run forever, update the world, draw the world) but a surprising amount of details hide in how you measure the time between those updates. This post … Continue reading The FixedStepClock: Why Games Keep Two Clocks
Blog Feed
Building a Physics-Based Visual Dice Roller for Blazor
The d20Tek.DiceNotation library has been able to evaluate dice expressions such as 4d6k3+2 for a long time. It parses the notation, rolls the dice, applies the keep and drop rules, and hands back a DiceResult. That has the basics that any application needs to handle the randomness of dice rolls. But it doesn't bring it … Continue reading Building a Physics-Based Visual Dice Roller for Blazor
Publishing to NuGet.org from GitHub Actions with Trusted Publishing
TL;DR: If you publish NuGet packages from GitHub Actions using a long-lived NUGET_API_KEY secret, that workflow is going to break. Long-lived API keys are being deprecated, and existing keys are scheduled to stop working in late 2026. The new process is Trusted Publishing: your workflow uses GitHub's OIDC token to request a short-lived, single-use API key at publish … Continue reading Publishing to NuGet.org from GitHub Actions with Trusted Publishing
Introducing D20Tek.Blazor.BrowserStorage
The problem: browser storage in Blazor shouldn't be hard Blazor developers hit the same issue sooner or later: you need to store something in the browser, and suddenly you're writing JavaScript again. User preferences, session tokens, game state, shopping carts... all of it lives in localStorage or sessionStorage. But Blazor doesn't expose those APIs directly, … Continue reading Introducing D20Tek.Blazor.BrowserStorage
Fixing Blazor WASM Deep Linking on Azure Static Web Apps
When you deploy a Blazor WebAssembly application to Azure Static Web Apps, everything works perfectly when you navigate from the root URL. But the moment a user bookmarks a deep link, shares a URL, or refreshes the page on any route other than /, they're greeted with a cold 404 Not Found error. This post … Continue reading Fixing Blazor WASM Deep Linking on Azure Static Web Apps
DevLog: Week of March 8, 2026
Blazor MarkdownView Implemented MarkdigRenderer (for IMarkdownRenderer) to take markdown text and render it as html. Implemented MarkdownView that has Markdown parameter and used IMarkdownRenderer to convert it to html. Implemented AddMarkdownRenderer helper to register default renderer with DI. Added unit tests for this component and helper classes. Added MarkdownViewPage to the FullSample.Wasm project to show … Continue reading DevLog: Week of March 8, 2026
DevLog: Week of March 1, 2026
Blazor ModalDialog Built Modal package and publish to NuGet.org. Deployed Blazor sample app to Azure Static Web Apps. Fixed bug where ModalDialog.razor.js module could not be found and loaded. Refactored component to use ModalDialogBase with shared functionality. Moved scoped CSS to global CSS so it can be shared with other modal components. Link: https://www.nuget.org/packages/D20Tek.BlazorComponents.Modal/ Notepad.Tui Released … Continue reading DevLog: Week of March 1, 2026
dev-log: Weekly Developer Work Log Tool
A command-line utility to help developers create and edit weekly work logs, persisting them as structured markdown files. Track project accomplishments and delivery status week by week, all without leaving your terminal. Overview dev-log is a lightweight .NET global tool built for developers who want a simple, structured way to record what they accomplished each week. … Continue reading dev-log: Weekly Developer Work Log Tool
Notepad.Tui Alpha 0.2: Full-Featured Text Editor
After a couple of weeks of steady development, I'm excited to share the Alpha 0.2 release of Notepad.Tui - a terminal-based reimplementation of the classic Notepad app built entirely in .NET 10. This release marks a major milestone: the editor now covers the core editing capability that you'd expect from a daily-use text editor, all running … Continue reading Notepad.Tui Alpha 0.2: Full-Featured Text Editor
Dev-Log: Week of 02/22/2026
Weekly tracker of the projects that I worked on this week. Notepad.Tui Implemented editing features into Notepad.Tui. Added support for undo/redo functionality, allowing users to revert or reapply changes. Implemented Find and Replace functionality, enabling users to search for specific text and replace it within the document. Implemented Find/Replace/Go to Line dialogs using Terminal.Gui library. … Continue reading Dev-Log: Week of 02/22/2026