Blog
Practical articles from KomuraSoft LLC about website development, SEO, Google Ads, Windows development, legacy asset reuse, and bug investigation.
AI search across this site
Search queries are sent to Cloudflare AI Search to generate results. Please do not enter personal information.
-
What Is the .NET Generic Host? - The Foundation for DI, Configuration, and Logging
The .NET Generic Host in plain terms: one place for DI, config, logging, BackgroundService, and graceful shutdown. Minimal console example included.
-
What Is .NET Native AOT? - How It Differs from JIT and Trimming
How .NET Native AOT differs from JIT, ReadyToRun, and trimming, what you gain in startup and deployment, and where reflection-heavy code breaks.
-
What Are COM / ActiveX / OCX? - The Differences and Relationships Explained
A practical guide to what COM is, what ActiveX is, and what OCX is - covering their differences and relationships, the connection to OLE, where they are used...
-
Choosing Between .NET's Three Timers - PeriodicTimer/Timer/DispatcherTimer
Which .NET timer should you use? PeriodicTimer for async loops, Timer for ThreadPool callbacks, DispatcherTimer for WPF UI, plus a decision table and code.
-
Calling a C# Native AOT DLL from C/C++
Export C entry points from C# with Native AOT and UnmanagedCallersOnly and call them from C/C++ - project setup, string handling, and a working sample.
-
Why Use the .NET Generic Host and BackgroundService in Desktop Apps
How to use the Generic Host and BackgroundService to organize startup, periodic processing, shutdown, logging, configuration, and DI in Windows tools and res...
-
How to Handle ActiveX / OCX Today - A Keep / Wrap / Replace Decision Table
When you find ActiveX / OCX, how to choose between keeping, wrapping, and replacing it, covering 32-bit / 64-bit, registration, browser dependencies, and ven...
-
WPF/WinForms async and the UI Thread on One Sheet
After await in WPF or WinForms, which thread runs your code? Covers Dispatcher.Invoke, ConfigureAwait(false), and why .Result and .Wait() deadlock.
-
Building a Windows Failure-Path Test Foundation with Application Verifier
What Application Verifier is, organized together with how to build a Windows failure-path test foundation using Handles, Heaps, Low Resource Simulation, and ...
-
Investigating Long-Run Crashes of an Industrial Camera App - The Handle Leak (Part 1)
How to look at a Windows app that suddenly crashes after long-running operation, using a case study of an industrial camera control app, from the perspective...