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.
-
Pitfalls of Network Drives and UNC Paths — Working With File Servers (Shared Folders) From a Business Application
This article organizes the classic problems that show up when a business application writes to or watches a shared folder: why a drive letter (Z:) is invisib...
-
What Is a Digital Invoice? How Is It Different From Emailing a PDF Invoice?
A digital invoice is a mechanism for exchanging invoice data directly from a seller's system to a buyer's system, without a person in the loop. This article ...
-
System Tray Icons and Toast Notifications in Windows Apps — NotifyIcon Pitfalls and Choosing the Right AppNotification API
A practical guide to keeping a business Windows app resident in the system tray and notifying users with toast notifications. Covers the correct use of Notif...
-
Migrating from WordPress to Movable Type — A Practical Guide Worth Documenting Precisely Because It Runs 'the Other Way'
A practical, hands-on walkthrough of migrating from WordPress to Movable Type (MovableType.net): when the migration makes sense, importing posts, pages, and ...
-
How Long Will VB6 Apps Keep Running? — Runtime Support Status and a Practical Path to .NET Migration
How long will VB6 applications keep running? This practical guide clarifies the asymmetry between the VB6 runtime support policy (still supported on Windows ...
-
Moving FAX Orders to the Web ── Designing the Dual-Operation Period and a Phased Migration
A practical guide to migrating FAX orders to web ordering or CSV import. We cover why an all-at-once move to the web tends to fail, how to design the dual-op...
-
What Is EDI? How It Streamlines Business-to-Business Ordering — From Fax, Email, and Manual Entry to Data Integration
EDI is a system for exchanging trade data — such as purchase orders and invoices — directly between companies' computer systems. This article explains, in pl...
-
Japanese Era Dates, Public Holidays, and Closing-Date Processing in Business Apps — Era-Resilient Design, JapaneseCalendar, and Business-Day Calculations in Practice
A report that must show '令和8年' in the Japanese era, business-day calculations that exclude public holidays, payment due on the last business day of the month...
-
A Practical Guide to Process Monitor (ProcMon) — Pinpointing "Settings Not Applied" and "ACCESS DENIED" in 10 Minutes
"I fixed the config file, but nothing changed." "It worked yesterday, but won't start today." Before touching the source code, Process Monitor (ProcMon) lets...
-
When Not to Move a Windows App to the Web: A Decision Table and the Practical Answer of Splitting
Requests to move in-house Windows apps to the web are increasing, but for apps built around device integration, local file processing, offline operation, or ...
-
Localizing WinForms/WPF Apps — resx, Satellite Assemblies, and Culture Switching in Practice
A practical guide to localizing Windows desktop apps, covering the difference between CurrentCulture and CurrentUICulture, how resx and satellite assemblies ...
-
CSV Is Not "Just Text": A Practical Guide to CSV Handling in C# Business Apps (Encoding, Excel Compatibility, Injection Defense)
A practical rundown of the classic failure patterns in business-app CSV I/O - hand-rolled Split(',') parsing, mojibake from BOM-less UTF-8 in Excel, lost lea...
-
Don't Wrap HttpClient in a using Block — Practical HTTP Communication in C# Business Apps (Creation Patterns, Timeouts, Retries)
Creating a new C# HttpClient with using on every request exhausts sockets, but making it static means it stops following DNS changes. This article walks thro...
-
Pinpointing "Slow" with PerfView and dotnet-trace — A Practical Introduction to .NET Performance Investigation
When a business app is "slow," "pegs the CPU," or "occasionally freezes," which tool should you reach for, and what should you look at? This article walks th...
-
Running Google Ads on a Small Budget for BtoB — How to Design and Run a Weekly Routine That Delivers Results on a Few Tens of Thousands of Yen a Month
A practical guide to Google Ads for BtoB companies wanting to start with a budget of just a few tens of thousands of yen a month. Covers how average daily bu...
-
Make Your Site Show Up for Local-Name Searches — A Practical Local SEO Guide for SMEs (Area Pages and Google Business Profile)
For SMEs whose site doesn't show up when someone searches 'area name + industry.' This article lays out the order in which to fix local SEO: setting up Googl...
-
An Introduction to Windows Event Log and ETW — Putting Your Business App's Logs on the OS's Standard Mechanisms
Are you relying on file logging alone for your Windows business app? Event Log and ETW are records visible on a different layer — to operations staff and OS-...
-
More Than appsettings.json — A Practical Guide to Configuration Management in Windows Business Apps (Per-Environment Settings, Secrets, and Where to Write)
A practical look at configuration management for Windows business apps: layering appsettings.json, choosing between IConfiguration and the IOptions/IOptionsS...
-
Why KomuraSoft Builds Websites on the Digital Agency Design System — Low Cost and High Quality Can Coexist
Why KomuraSoft bases its website production on the design system published by Japan's Digital Agency: how standardizing the design phase lowers cost, why it ...
-
Getting More Inquiries on a B2B Website — A Complete Roadmap of What to Fix First, from Acquisition to the Form
When inquiries on a B2B website stall, most companies start by working on acquisition (SEO and ads). But what actually moves the needle is fixing things in t...
-
Printing and PDF Output in Windows Business Apps — Choosing Between System.Drawing.Printing, WPF, and Report Libraries
Organizes WinForms printing with PrintDocument, WPF FlowDocument/FixedDocument printing, and PDF output options into a requirement-based decision table. Cove...
-
Site Renewal Case Study: Miyazaki Trucking Company Douzu Carry Service — What We Carried Over from the Old Site, and How
A real-world walkthrough of a site renewal for Douzu Carry Service, a trucking company in Miyazaki — how we did a full URL inventory, designed 301 redirects,...
-
Website Development Costs for SMEs — A Quick-Reference Price Guide and How to Read a Quote
What SMEs should know before requesting a website development quote: price guides broken down by purpose and scale, how to read the line items in a quote, an...
-
Getting a Real Feel for the OSI Model — Dissecting a Single HTTP Request Into Its Seven Layers
Understand the OSI model through the real thing instead of rote memorization. We assemble and dissect, in C#, the Ethernet frame carrying a single HTTP GET r...
-
How to Think About Windows Session Isolation — Session 0, RDP, and Running Multiple Users Concurrently
This article untangles the concept of a Windows "session," a topic that consistently confuses Windows app developers. It covers why Session 0 isolation exist...
-
Extending the Life of and Migrating VB6 / Access Business Apps — A Decision Table for Keep, Wrap, or Replace
How do you decide whether to leave a VB6 application or Microsoft Access business app as-is, extend its life by wrapping only part of it, or replace it outri...
-
Reading Crash Dumps with WinDbg + SOS — A Practical Guide to Analysis After Collection
Explains how to actually read a collected Windows crash dump using WinDbg and the SOS extension. Covers symbol path configuration, tracking exceptions and me...
-
Preventing Multiple Instances of a Windows App — Named Mutexes and Activating the Existing Window on a Second Launch
This article organizes the classic requirement for business Windows apps — 'don't let the same app launch twice' — around a named Mutex. We cover the pitfall...
-
Safely Calling Win32 APIs from C# — A Practical P/Invoke Guide (DllImport / LibraryImport / CsWin32)
A practical rundown of what to watch for when calling Win32 APIs and native DLLs from C# via P/Invoke. Covers the differences between DllImport and LibraryIm...
-
Integrating Entra ID Authentication into WinForms/WPF Apps — A Practical Architecture with MSAL.NET and the WAM Broker
A practical, hands-on look at integrating Entra ID (formerly Azure AD) authentication into WinForms/WPF desktop apps: the public client mindset, where ROPC s...