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 "Not Responding" Really Is — How Windows Decides an App Has Hung, and How to Design Apps That Don't
Windows marks a window Not Responding after 5 seconds without message retrieval and shows a ghost window: the check, hang causes, UI-thread design, and inves...
-
Spurious Wakeups — Why a Condition Variable Wakes "Without a Notification" and How to Wait Correctly on Windows
Condition variable waits can wake with no notification (spurious wakeups). Why Windows allows it, and the correct while-and-predicate wait in Win32, C++, and...
-
How the Clipboard and Drag & Drop Work — Handling OLE Data Transfer Correctly in Business Apps
Why Excel pastes break and paste fails once the source closes: clipboard formats, delayed rendering, OLE drag and drop, and clipboard history and cloud sync ...
-
WPR/WPA in Practice — A Primer on Investigating "the Whole PC Is Slow" Across the Entire System
Investigate a slow PC or slow startup that Task Manager cannot explain with an OS-wide ETW trace: capture with wpr.exe, then read CPU, waits, and disk I/O in...
-
Windows Shutdown from the App's Point of View — Surviving Exit Notifications, Restarts, and Power Loss Correctly
Data corrupted by a nightly Windows Update restart is preventable by design: WM_QUERYENDSESSION/PRESHUTDOWN notifications, cleanup in seconds, and power-loss...
-
Windows App Accessibility Basics — UI Automation and Preparing for Mandatory Reasonable Accommodation
How screen readers read Windows apps via UI Automation: WinForms/WPF naming, keyboard, contrast, and verification tools, under Japan's amended disability law...
-
Japanese Font and Character Pitfalls — Handling JIS2004, Ideographic Variation Selectors, and Gaiji in Business Apps
Character trouble in business systems sorts itself out once you separate character codes (data) from fonts (appearance). Covers JIS2004 glyph changes, IVS, a...
-
From Group Policy to Intune — A Device Management Migration Guide for Small and Medium Businesses
AD server due for replacement: GPO or Entra ID plus Intune? How each applies, licensing, Group Policy analytics inventory, five migration stages, pitfalls fo...
-
Choosing a Windows Service Account — LocalSystem, Virtual Accounts, and gMSA
Still running Windows services as LocalSystem? Compare LocalService, NetworkService, virtual accounts, domain users, and gMSA by privileges and network ident...
-
OneDrive Files On-Demand and Business Apps — The Assumptions Placeholders Break and How to Fix Them
A desktop CSV will not open or an import fails with "file not found": OneDrive's KFM and Files On-Demand may be why. Covers placeholders, attribute checks, a...
-
How Windows App Compatibility Works — Keeping Old Apps Alive with Compatibility Mode, Shims, and Compatibility Administrator
Why Compatibility mode makes old apps run: how shims (API hooks) work, what key shims do, rollout via Compatibility Administrator and sdbinst, limits, and ex...
-
The Depths of Windows Memory (Part 3) — Section Objects and Copy-on-Write: What DLLs and File Mappings Really Are
This article connects section objects, image and data mappings, the shared cache, and copy-on-write to explain how DLLs and shared memory share physical pages.
-
Windows Shell Integration Today — Context Menus, File Associations, and What Changed in Windows 11
Why Windows 11 hides context menus behind "Show more options": extension → ProgID → verb basics, classic shell-extension caveats, and the IExplorerCommand + ...
-
Corporate Proxies and Windows Apps — Sorting Out Proxy Resolution in WinINET, WinHTTP, and .NET
Browser works, business app fails behind the corporate proxy? Usually WinINET, WinHTTP, environment variables, and .NET read different proxy settings as diff...
-
The Depths of Windows Memory (Part 2) — The Life of a Physical Page: Five Lists and the Truth About the Page File
Connects the PFN database, Standby, Modified, memory compression, and the page file to explain where a physical page goes after it leaves the Working Set.
-
Packet Capture on Windows in Practice — Choosing Among pktmon, netsh trace, and Wireshark
When the app log says only timeout, the packets on the wire tell more. Capture with built-in pktmon or netsh trace where Wireshark cannot be installed, and r...
-
The Depths of Windows Memory (Part 1) — The Moment a Virtual Address Becomes Physical RAM: A Page Fault from Start to Finish
Connects VirtualAlloc, VADs, page tables, the TLB, demand-zero faults, and hard faults to explain the moment a virtual address is assigned physical RAM.
-
Decoding Windows Error Codes — The Three-Layer Structure of Win32 Errors, HRESULT, and NTSTATUS
Decompose 0x80004005 before searching. The three layers of Win32 errors, HRESULT, and NTSTATUS, why 0x8007xxxx is a rewrapped Win32 error, and lookup via err...
-
Registered Information Security Specialist Exam, Spring 2024 (Reiwa 6) Afternoon Q1 — JWT alg=none, API Authorization, and Interim WAF Mitigation
This article explains Afternoon Q1 of Japan's Spring 2024 RISS exam: JWT alg=none, API authorization, Mass Assignment, 4-digit code brute force, and interim ...
-
What Does Windows' "Memory Usage" Actually Mean? — Reading Working Set, Private Bytes, Commit, and the Page File Correctly
Task Manager Memory, Working Set, Private Bytes, and Commit differ. See how virtual and physical memory relate, the page file's role, and which metrics revea...
-
Practical Multithreading Best Practices: Java Edition — Conventions for the Virtual Thread Era
Run Java tasks on ExecutorService and virtual threads, not raw threads. Covers synchronized vs. ReentrantLock, cooperative stopping via interruption, atomic ...
-
Practical Multithreading Best Practices: C Edition — Writing Safely the Win32 API Way
In C on Win32 the established practice is _beginthreadex, SRW locks and condition variables, Interlocked, and a stop event plus WaitForMultipleObjects. Also ...
-
Practical Multithreading Best Practices: C++ Edition — Designing Failures Out with RAII and jthread
C++ data races are undefined behavior. Learn the std::thread destructor trap, stopping with jthread and stop_token, scoped_lock, atomic's real role, and Win3...
-
Practical Multithreading Best Practices: .NET Edition — What to Decide Before You Add More Threads
Keep .NET/C# threads from crashing or hanging. Ride on Task, cut shared mutable state, lock with discipline, stop with CancellationToken, and respect the UI ...
-
Registered Information Security Specialist Examination, Autumn 2023 (Reiwa 5) Afternoon Question 2 Explained — Files Walking Out Over the Guest Wi-Fi
Autumn 2023 RISS exam Afternoon Question 2 shows how a USB-banned company loses files over guest Wi-Fi. It covers certificates, HSTS, MAC filtering, EAP-TLS ...
-
Volume Shadow Copy (VSS): The Mechanism and the Practice — Why Backup Software Can Copy Files That Are Still in Use
In-use files hit sharing violations, yet backup software copies them. This covers VSS requester, writer and provider roles, copy-on-write, vssadmin, and diff...
-
Using WMI/CIM from C# and PowerShell — A Practical Guide to Hardware Inventory, Process Monitoring, and Remote Queries
WMI/CIM is the standard way to read a PC serial number, watch disk space, and detect process starts. Covers CIM cmdlets, Get-WmiObject migration, C# APIs, an...
-
A Practical Guide to Group Policy (GPO) — How It Works, Confirming Application, and Choosing Between GPO and Intune
This guide covers how Group Policy works, the LSDOU order, verifying with gpupdate and gpresult, GPO versus Intune, and customer GPOs that change how your ap...
-
Windows Security Audit Policy and Event Log Investigation in Practice — Becoming an IT Team That Can Read Event 4625
A practical guide for "look into the failed sign-in logs": basic versus advanced audit policy, subcategories to enable, 4624/4625/4688, Security log sizing, ...
-
A Practical Guide to Windows LAPS — Retiring the Shared Local Administrator Password Across All PCs
A shared local admin password lets one compromised PC spread to all via Pass-the-Hash. This guide covers Windows LAPS rotation, AD/Entra ID storage, and oper...