Tuesday, July 21, 2026

Easy but wordy

Have you noticed that Visual Studio's Win32 dialog editor supports adding ActiveX controls? Right click on a dialog surface in a Win32 project, and "Insert ActiveX Control" is right there. But if you do that in a plain vanilla Win32 project, the control won't show up in runtime. Short of MFC or ATL, there is no built-in ActiveX  containment logic for Win32 projects that I know of. Native COM is a great lightweight COM client helper, but no containment there. So, what would it take to host an ActiveX control?

Monday, July 20, 2026

No .NET - no problem

The Microsoft Web Browser control, the tried and true built-in HTML viewer of Windows, does not have a ready made method for loading an HTML document from a text string. Yet its managed wrappers (e. g. System.Windows.Controls.WebBrowser do.

Wednesday, July 15, 2026

Unicode, circa 1994

Public announcement of the day: on the Objective C++ compiler than ships with Xcode 26.6 (and maybe before, who knows), the option -fshort-wchar is broken, unless you also specify -fno-builtin-wcslen, and it only manifests in release builds. The evidence is overwhelming.

Monday, June 8, 2026

...and naming things

 As the joke goes, naming things is the other hard problem in IT. I think there is one overlooked naming pattern that deserves more love.

Wednesday, May 6, 2026

VBA.NET, no such thing

 Another day, another lovely point of friction on the managed/native border. I was trying to instantiate and call the .NET class System.Security.Cryptography.HMACSHA256 from an Excel macro.

Friday, May 1, 2026

Polyglote troubles

Being fluent with multiple languages plays a trick on one where a construct exists in many of them, but is worded differently.