Native Windows NT 3.51 apps that still run under Windows 10 #

The author of Running DOS Apps on Windows (HN thread) has tested and uploaded a number of standalone EXEs from Windows NT 3.51 that still run well under Windows 10:

Name   Size
calc icon calc.exe   54 KB
cdplayer icon cdplayer.exe   78 KB
charmap icon charmap.exe   52 KB
clock icon clock.exe   30 KB
control icon control.exe   41 KB
pbrush icon pbrush.exe   230 KB
perfmon icon perfmon.exe   176 KB
sndrec32 icon sndrec32.exe   106 KB
sol icon sol.exe   182 KB
telnet icon telnet.exe   66 KB
terminal icon terminal.exe   162 KB
winmine icon winmine.exe   36 KB

Cursory testing reveals that perennial-favorite time-wasting tool Freecell also works; just extract FREECELL.EXE and CARDS.DLL from the Windows NT 3.51 Workstation CD:

expand D:\I386\FREECELL.EX_ -r C:\Games
expand D:\i386\CARDS.DL_ -r C:\Games

/windows | Jul 27, 2020

The Ashtavakra gita #

commences with such aphorisms as:

before transcending them in only seeming contradiction:

Passages from the 1972 reprint of Ashtavakra gita, translated by Hari Prasad Shastri and published by Shanti Sadan (an updated edition is available from the publisher).

/misc | Jul 15, 2020

Batch delete all email from IMAP Inbox in iOS #

Some email services (Spectrum/TWC/Road Runner, Yahoo!, etc.) allow forwarding but not automatic deletion of forwarded email, leading to potential quota exceedance over time.

This Python script* can be scheduled or run manually to batch delete all messages in the Inbox:

#!/usr/bin/env python
import imaplib
M = imaplib.IMAP4_SSL("")
typ, data =, 'ALL')
for num in data[0].split():, '+FLAGS', '\\Deleted')

Under iOS, use a-Shell (App Store | GitHub) to edit and save the script (e.g., "emptyinbox") in vim, then set as executable (chmod +x emptyinbox). Run simply as emptyinbox or pair with Shortcuts (specifying the full path, /private/var/mobile/Containers/Data/Application/long-string/Documents/emptyinbox) and add an icon to the Home screen via the Action icon.

* H/T codersofthedark, the imaplib documentation, and the participants in this discussion.

/misc | Jul 03, 2020

Fix the paper feed roller on Brother MPrint MW series mobile printers #

In almost a decade and a half of using Brother MPrint MW series mobile printers, the only problem I've had is with the paper feed roller (aka the "pick-up roller"), which generally stops feeding paper after 4 or 5 years.

Brother's MW-140BT's FAQs & Troubleshooting includes a document entitled The paper does not feed., which recommends checking that the paper is properly loaded, the cover closed, etc.

However, the final suggestion (reproduced below) to clean the pick-up roller with a piece of cellophane tape is marginally useful; it would sometimes allow one or two more prints before failing altogether (though it seemed to have less to do with cleaning and more to do with making the roller just tacky/sticky enough to pick up the paper):

1. Affix a piece of cellophane tape to the pick-up roller.
2. Remove the cellophane tape from the pick-up roller.
3. Rotate the pick-up and repeat the procedure to clean the entire surface of the roller.

Searching for a real solution to the paper feed problem, I stumbled onto No more paper jams or misfeeds!, which suggests using a rubber restorer like one of these:

(A similar product not mentioned in the article: CleanTex Rubber Roller Restorer.)

I went with CaiKleen RBR due to its diminutive size and applicator.

Applying a few drops to a couple of Q-tips and cleaning the roller with them worked wonders - several units that I had given up on began feeding perfectly.

One of the units needed a new battery; Brother would not ship their $92 BT100 MW-145BT Li-ion battery to my location, so I ordered NextBatteries' Brother MW-145BT battery (listed as a compatible replacement for Brother's BW-100 and BW-105 batteries) for $20.90 - it charged right up in an MW-120. (The original battery is held down by tape, so a bit of force is required to remove it.)

The A7 paper (model C-11 or C11S) required by the MPrint MW 100 series printers is still available from Brother.

/misc | Jun 17, 2020

Convert audio recordings to text via macOS Enhanced Dictation and Soundflower #



  1. Run Soundflower installer twice

  2. System Preferences > Sound > set both input and output device to "Soundflower (2ch)"

  3. System Preferences > Keyboard > Dictation > set "Dictation:" to "On", check "Use Enhanced Dictation", and set microphone to "Soundflower (2ch)".

  4. System Preferences > Accessibility > Dictation > uncheck "Mute audio output while dictating"


  1. Begin playback of audio file

  2. Press Fn twice in TextEdit to start converting audio to text


  1. To uninstall Soundflower, delete Soundflower.kext from /Library/Extensions (and /System/Library/Extensions if present), sudo kextcache --prune-staging, and restart.

  2. Sound Siphon ($49) or Loopback ($99) can be substituted for Soundflower.

  3. Enhanced Dictation has been removed from Catalina. Therefore, all Dictation data (along with a slew of other information) is sent to Apple for processing:

    Mojave Catalina
  4. This regrettable change, coupled with an error message sometimes encountered in Mojave ("Dictation languages aren't available to download at this time. Try again later."), makes it all the more advisable to backup a copy of the Enhanced Dictation files once they are downloaded. They can be found in /System/Library/Speech/Recognizers/SpeechRecognitionCoreLanguages/ with filenames like en_US.SpeechRecognition, ja_JP.SpeechRecognition, etc.



/mac | Jun 16, 2020

A humble iOS 14 wishlist #

/misc | Jun 14, 2020

Portable app for hot disk cloning a running Windows install #

Tom Ehlert's portable Drive Snapshot has been a longtime favorite for disk image backups, but it does not offer disk cloning.

Another product from Germany, Miray's HDClone, does; it can clone a running Windows system to another drive via the portable hdclone.exe.

However, HDClone comes in a dizzying array of versions:

all of which (other than the free version) are hobbled with activation schemes; even "Professional Portable", which is intended "for professional use on arbitrary PCs", requires a USB dongle:

Use on any PC to be serviced with a USB token provided by us. The software may be permanently installed on those PCs, but can only be used when the token is connected.

While the free version is saddled with a number of artificial limitations (max copy rate of 30MB/s, no support for USB 3.0 or disks over 2TB, no cloning to smaller disks, etc.), it does offer hot disk cloning of live, running Windows instances without the need to install any software or wrangle with activation.

The problem with activation schemes is highlighted by btesoroni's post Lost USB Token and hit limit of December 2019 (which went unanswered, prompting a followup post the next day, Is this company still in business???? which is also unanswered).

Miray, please stop punishing your customers with activation schemes and learn from Tom's nearly two decades of success with his activation-free Drive Snapshot.

/windows | Jun 14, 2020

A modest proposal #

End "Qualified Immunity"

End "Civil Forfeiture"

End "No-knock Warrants"

End the "War on Drugs"

Demilitarize the Police

Require Body Cameras

Setup Civilian Review Boards

Collect Data

Fire Liars

Stop Discriminating Against High IQ Applicants

/misc | Jun 11, 2020

Wealth #

/misc | Jun 09, 2020

Running multiple versions of Thunderbird #

Environment: Windows 10 with an existing default install of Mozilla Thunderbird ("C:\Program Files\Mozilla Thunderbird")

  1. Install desired second version (e.g., 60.9.1) to a new directory (e.g., "C:\Program Files\Mozilla Thunderbird 60") by selecting "Custom" as setup type

  2. Once installation completes, uncheck "Launch Mozilla Thunderbird now" and click Finish

  3. Edit Thunderbird 60's Desktop shortcut, appending a path to a new data directory (e.g., -profile "C:\Users\user\Documents\TB60DATA") to the Target field, which should then read "C:\Program Files\Mozilla Thunderbird 60\thunderbird.exe" -profile "C:\Users\user\Documents\TB60DATA"

  4. On first launch, close the "Set Up an Existing Email Account" and "System Integration" windows

  5. Right click the title bar then click "Menu Bar" > File > Offline > Work Offline

  6. Click Tools > Options > Advanced > Update > check "Never check for updates" > OK

At this point, you can setup an account, add extensions, etc.

In this example, we'll add Kaosmos' ImportExportTools and his updated version of Torge Kummerow's Email Address Crawler, both of which are compatible with Thunderbird 60.* (but no higher; see Christopher Leidigh's ImportExportTools NG for more recent versions):

  1. Download XPI files

  2. Set extensions.strictCompatibility to false in Config Editor (Tools > Options > Advanced > General > Config Editor) to enable Kaosmos' updated Email Address Crawler

  3. Install XPI files (Tools > Add-ons > Extensions > drag XPI files into window)

/windows | Jun 07, 2020

Subscribe or visit the archives.