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.
-
Safe Concurrency with Ada — A Practical Guide to Tasks and Protected Objects
How Ada builds concurrency into the language: tasks, rendezvous (entry/accept), and protected objects, shown through eight compilable code examples.
-
Introduction to Formal Verification with SPARK — From Ada Contracts to Mathematical Proof
A practical introduction to formal verification using the SPARK subset of Ada. Covers how to step up from contracts (Pre/Post) to proofs, using GNATprove, lo...
-
The Appeal of the Ada Language — Expressing Design Through Types and Powering Software That Runs for Decades
An introduction to the appeal of the Ada language: strong typing, range constraints, separation of specification and implementation via packages, design by c...
-
What Is MFC on Windows? Foundational Knowledge for Maintaining Existing Assets
An overview of the Microsoft Foundation Classes (MFC): its relationship to Win32, application structure, message maps, Document/View, DDX/DDV, and the things...
-
What to Do Before Disposing of a Windows PC — A Practical Checklist for Data Erasure, Account Unlinking, and Backups
What to do before disposing of, transferring, selling, or returning a leased Windows PC — covering backups, data erasure, BitLocker, Microsoft accounts, OneD...
-
What Is a PDB (Program Database)? — Understanding Debug Information, Symbols, and Source Link
A PDB (Program Database) file maps compiled code back to source for debuggers. Learn what's inside, whether to ship it, and how Source Link works.
-
What Is Roslyn? Reading, Fixing, and Generating C# Code from the Compiler's Point of View
An overview of Roslyn (the .NET Compiler Platform): Syntax Trees, SemanticModel, Workspaces, Analyzers, Source Generators, and where they fit (and where to b...
-
Windows App Outsourcing and Contract Development: What to Sort Out Before You Ask
Before commissioning Windows app outsourcing or contract development, here is how to sort out existing software modification, device integration, COM/ActiveX...
-
Using Algebraic Data Types in .NET Framework / .NET — Designing States and Results with Types
How to use algebraic data types — especially sum types and discriminated unions — in .NET Framework and .NET, and what you gain: F#, C# class hierarchies, re...
-
Handling Windows Impersonation Tokens Correctly — Borrowing Privileges per Thread and Reverting Safely
A practical guide to Windows impersonation tokens — access tokens, primary tokens, thread tokens, impersonation levels, RevertToSelf, and .NET's WindowsIdent...