Move fast and break Windows

or, Shipping bugs at scale with AI:

2025

Apr:

May:

Jun:

Jul:

Aug:

Sep:

Oct:

Nov:

Dec:

2026

Jan:

Feb:

Mar:

❧ 2026-03-22


"defrag" error on IODD virtual CD-ROM

IODD's virtual CD-ROMs like the ST300 and MINI often display "defrag" when attempting to mount newly-imported ISO images, as detailed by ./techtipsy.

The IODD Guide explains that "The ISO/VHD file is too fragmented to load (Max 24 fragments for ISO; 0 for VHD)." and suggests "Use defragmentation utilities like MyDefrag (dead link) or Defraggler."

Another option is WinContig (H/T), a green, portable app that merited a rare addition to the System page:

🌱 WinContig v5.0.3.3 [961K] + "Quickly defragment individual files without the need to defragment the entire disk." Supports Windows Vista through 11, server versions from 2008 to 2019, and FAT, FAT32, exFAT, NTFS, and ReFS filesystems. 📺

Updates

  1. Initially skipped SysInternals' Contig, believing it only supported NTFS as claimed on Wikipedia ("Supported file systems: NTFS") and even more explicitly on Grokipedia ("It exclusively supports the NTFS file system, leveraging the native Windows NT defragmentation API introduced in NT 4.0, and does not function on FAT, exFAT, or other file systems."). However, version 1.83 successfully defragmented an ISO file on an exFAT-formatted drive.

  2. IODD offers VHD Tool++, a portable app with a number of functions including file defragmenting. However, the current version (0.8.0.1) simply wraps Contig, which is bundled inside. (Curiously, VHD Tool++ is not mentioned on IODD's own error messages page, which instead recommends MyDefrag and Defraggler as noted above.)

❧ 2026-03-22


Setting up Spectrum hawaii.rr.com email accounts in Thunderbird

❧ 2026-03-19


Lightweight, performant Linux distro for legacy Intel Macs in 2026

MX Linux, built on Debian Stable and offered in Xfce, KDE, and Fluxbox flavors, booted a 2012 iMac faster than any of the standard distros, with WiFi and sound working out of the box.

OEM installation is as easy as booting from the ISO and running sudo minstall --oem in the terminal (default accounts: demo/demo, root/root).

Related

❧ 2026-03-06


Run tiny apps in the browser

with RetroTick (GH | HN):

"Run classic Windows and DOS executables directly in your browser. No installation required. Just drag, drop, and watch programs come alive in a web page.

"RetroTick is an x86 virtual machine and Windows/DOS API compatibility layer built from scratch in TypeScript. It parses PE (Win32), NE (Win16), and MZ (DOS) binaries, executes x86 machine code instruction by instruction, and reimplements a subset of the Win32, Win16, and DOS API surface, enough to boot several .exe files from the classic Windows era and render their GUIs in the browser."

The demo site offers a host of classics to enjoy:

Updates

❧ 2026-02-27


Apple Discussions: Access Denied

Despite billing itself as a "vibrant community", the Apple Support Community (aka Apple Discussions) apparently does not tolerate dissent.

A Google search turned up iOS 26.2 (and all of 26) worst upgrade ever hosted on Apple's discussion forum:

iOS 26.2 (and all of 26) worst upgrade ever

Clicking the link redirected to a login page, which was unusual, but OK:

Apple Account login page

That led to an Access Denied page (despite other discussion pages remaining accessible):

Apple Community - Access Denied

Happily, the Wayback Machine had a copy; it showed 1,706 "Me too" votes just 23 days after the post was made:

iOS 26.2 (and all of 26) worst upgrade ever

Apple isn't having quite as much luck censoring the rest of the web:

❧ 2026-02-14


MileBug alternative for iOS

iOS 26.2 broke MileBug at last; it hadn't been updated in years, the founder having apparently sold to Bending Spoons in 2018. Failing to find a simple mileage tracker in the App Store, I cobbled together a Shortcuts workflow which does the job.

Starting mileage is automatically populated by the previous ending mileage, though it can be quickly adjusted via the dashboard widget when necessary (as when switching vehicles or having driven untracked miles).

1. Setup

  1. Create the Log Database

    • Open Notes.
    • Create a new note titled Mileage Log.
    • Add this header on the second line: Date,Vehicle,Start,End,Mileage.
  2. Create the Storage Folder

    • Create a new folder in Notes named Mileage.
  3. Create the Tracker Note

    • Inside the Mileage folder, create a new note titled Milebug.
    • Enter your current odometer reading on the second line (immediately under the title).
  4. Configure a Dashboard Widget

    • Add a Notes widget to your Home Screen, swiping to select one of the Folder options (as opposed to "Note" or "Quick Note"), then tap Add Widget.
    • Tap the widget while it is still jiggling and change the Folder setting from the default Notes to Mileage.
  5. Configure System Settings

    • Navigate to SettingsAppsShortcutsAdvanced.
    • Enable Allow Deleting Without Confirmation. (Ensures that the shortcut runs silently in the background without prompting you every time it updates the tracker).

2. Shortcuts workflow

Open the Shortcuts app and tap + to create a new shortcut.

2.1. Vehicle Selection

  1. Add List.
    • Rename the default items (One, Two) to your vehicle names (e.g., FJ40, Fit).
  2. Add Choose from List.
  3. Add Set Variable.
    • Set Variable Name to Vehicle.

2.2. Get Start Mileage

  1. Add Find Notes.
    • Add Filter → Name contains Milebug → Limit to 1 item.
  2. Add Get Text from Input.
    • Should automatically connect to Note.
  3. Add Split Text.
    • Should auto-fill New Lines.
  4. Add Get Item from List.
    • Change First Item to Item at Index 2
  5. Add Set Variable.
    • Change Variable Name to Start

2.3. Get End Mileage

  1. Add Ask for Input.
    • Change Text to Number.
    • Change Prompt to End Mileage.
  2. Add Set Variable.
    • Change Variable Name to End

2.4. Calculate Distance

  1. Add Calculate.
    • Change + to -.
    • Tap Number and select Start from the list of options
  2. Add Set Variable.
    • Change Variable Name to Distance.

2.5. Prepare Log Entry

  1. Add Date. (Defaults to Current Date)
  2. Add Text.
    • Tap inside the text box
    • Tap the following tokens in the popup menu, adding a comma between each one: Date, Vehicle, Start, End, and Distance.
    • Tap the [Date] token in the text box then set Date Format to Short and Time Format to None.

2.6. Save the Log

  1. Add Append to Note.
    • Tap Text and select Text token with yellow icon
    • Tap Note and select Mileage Log

2.7. Update the Tracker

  1. Add Find Notes.
    • Tap Appended Note then Clear Variable
    • Tap Add Filter → for Name contains, change anything to Milebug and limit to 1 item
  2. Add Delete Notes.
  3. Add Text.
    • Tap inside the text box and enter Milebug on the first line, press Return, then select the End variable from the popup menu
  4. Add Create Note.
    • Change Contents to the Text token with yellow icon
    • Change Folder to Mileage

3. Wrap-up

Related

❧ 2026-01-30


Delete all iOS contacts

Primarily aimed at local contacts, since cloud-synced contacts can be removed from the device by disabling contact syncing. Back up first; deletions are permanent.

Native method (iOS 16+)

Two-finger drag to multi-select contacts, then long press the selection to open the context menu and tap "Delete Contacts". Tedious for more than a few dozen.

Delete Contacts Pro.

This free (no IAP) app deleted over 43,000 contacts in a minute or two: DeleteView all contactsMore (⋯) → Select allDelete SelectedDelete contacts

Scriptable

Shortcuts lacks a native "Delete Contact" action, but Scriptable (free; donations accepted via IAP) allows you to interact directly with the iOS Contacts API, e.g.,

Update

See also Delete all iOS contacts using the Contacts.framework.

❧ 2026-01-30


Random harvest

❧ 2026-01-30


Color e-ink MacBook Pro

A. L. Wies (@DrogenDiego) has married an M1 MacBook Pro with a 40Hz color e-paper display from OED (one of E Ink's few competitors):

"I wanted to share my InkBook. It's a E-Paper Laptop. I bought a used 16 inch MacBook Pro M1 that had a broken screen and replaced it with an OED 13 inch color E-Paper Panel.

"It is based on the modos Paper Dev Kit that's available on https://www.crowdsupply.com/modos-tech/modos-paper-monitor

"I adapted the firmware to my needs and wrote custom dithering algorithms. Mine is using edge aware bayer dithering for most of the content. I also show floyd steinberg error diffusion dithering. It looks very natural but looses brightness.

"I put a thin 6 mm wooden case behind the display to fit the PCB. But with a custom PCB it would've been possible to include everything in the display case.

"It's connected via USBC and acts as an external display. I managed to keep the front camera working :)

"I will do a seperate video where I explain in detail how I did it and the steps involved.

"This year is gonna be really cool for E-Paper. The technology is ready now for everyday E-Paper screens.

"if you have questions you can write in the comments. I will answer them ;)"

A far cry from 2012!

❧ 2026-01-27