Microsoft 365: Set up email aliases / forwarders to external addresses in Exchange #

Free email forwarding / aliasing is a common feature at most mail hosts, but Microsoft appears to have left the process undocumented for their 365 Exchange offering. Here's how:

  1. Head to (click Recipients → Contacts if the link lands on the Exchange admin center Home page)

  2. Click "Add a mail user"
    Microsoft 365 - adding an allias or forwarder

  3. Fill out required fields (Display name, Alias, User ID, Domain, and Password) and enter the desired destination address in the optional "External email address" field
    Microsoft 365 - adding a forwarder or alias

  4. Click Next → Create

H/T: 4IT

/misc | Dec 17, 2022

If Parallels Desktop 18 hangs while signing out or signing in #

to your Parallels account via the GUI, try these commands instead:

Sign out:

% prlsrvctl web-portal signout
The user has signed out successfully.

Sign in:

% prlsrvctl web-portal signin ""
Please enter password:
The user has signed in successfully.

Activate license (registered license beforehand at → "Register a License Key"):

% prlsrvctl install-license -k XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX
The license has been successfully installed.

/mac | Nov 24, 2022

Offline speech-to-text that is accurate and free (as in speech) #

Accurate speech recognition has largely been relegated to the cloud, with unfortunate if predictable results:

Even Apple's "privacy respecting" macOS has removed offline-only speech recognition since macOS 10.15 Catalina.

Happily, there is an accurate and free (as in speech) option for offline speech to text processing - OpenAI's Whisper (GitHub | Hacker News). According to the blurb, it "approaches human level robustness and accuracy on English speech recognition"; daily testing has borne that claim out.

Installation is a breeze:

pip install git+

as is basic usage:

whisper audio.mp3.

A number of models are available, including the default "small" (which "works well for transcribing English" and weighs 483MB) and "large" at around 3GB.


Sindre Sorhus' free Aiko offers a native macOS/iOS GUI for "the Whisper large v2 model on macOS and the medium or small model on iOS depending on available memory". Both MAS and non-MAS versions available.

/nix | Nov 02, 2022

Check ISO images for consistency #

with filesystem-level headers via Isolyzer. Supports "ISO 9660, High Sierra, Universal Disk Format (UDF), Apple Hierarchical File System (HFS), Apple HFS+, and hybrids of the above file systems, e.g. ISO 9660 + HFS; UDF Bridge (UDF + ISO 9660)". Open souce Python / Windows binaries. Detailed documentation.

/misc | Oct 11, 2022

Image-to-text OCR tools for macOS #

Because Live Text in Preview is so fickle:

/mac | Oct 11, 2022

Backing up IMAP accounts in macOS #


* For now at least; Apple vows to remove Ruby and Perl too (what's next Apple, ed?!), though both remain as of macOS 12.6

If you receive

ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

avoid the impulse to use sudo, instead specifying GEM_HOME and updating your $PATH in ~/.zshrc (.bash_profile for Bash users):
export GEM_HOME=/Users/username/.gem
export PATH="$GEM_HOME/bin:$PATH"

then reloading .zshrc:
% source ~/.zshrc

Otherwise, messages imported into Mail will show "No Sender" in the From field. This command will put the exported messages into ~/"Library/Thunderbird/Profiles/UID.default-release/Mail/Local Folders/imap-backup.sbd/".

Additional closed-source GUI options

/mac | Oct 08, 2022

Fastest method for deleting massive directories in Windows #

This method appears to be the winner:

del /f/s/q folder-name > nul && rmdir /s/q folder-name

Tested on a ~10TB directory (containing many hundreds of thousands of files) residing on a SATA-connected 32TB Windows Storage Spaces SSD array. Time to delete: ~10 seconds. On a USB 3.1-connected 32TB RAID 0 HDD array, the process took just over a minute.

Despite a claim to the contrary, I found this robocopy method to be slower:

mkdir "empty" && robocopy "empty" "deletetest" /mir /w:1 /r:10 /mt:32 > nul

(See also Robocopy: Is /MT with more threads faster?)

Speaking of timing commands in Windows, check out this neat batch script by user87453 for approximating *nix's time command:

@echo off

set start=%time%

:: Runs your command
cmd /c %*

set end=%time%
set options="tokens=1-4 delims=:.,"
for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a end_s=100%%c %% 100&set /a end_ms=100%%d %% 100

set /a hours=%end_h%-%start_h%
set /a mins=%end_m%-%start_m%
set /a secs=%end_s%-%start_s%
set /a ms=%end_ms%-%start_ms%
if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
if %hours% lss 0 set /a hours = 24%hours%
if 1%ms% lss 100 set ms=0%ms%

:: Mission accomplished
set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
echo command took %hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%s total)

/windows | Oct 08, 2022 Updating From name for iCloud email accounts #

Neither nor InternetAccounts.prefPane offer a way to change the From name for iCloud email accounts.

Edits to "Name" at are reflected at the top of System Preferences but not in

One must instead:

  1. go to
  2. click gear icon at top left
  3. click Preferences...
  4. click Accounts
  5. click account name
  6. change text in "Full name" as desired
  7. click Done

in order to update the name in

/mac | Oct 08, 2022

macOS: Cannot sign in to iCloud #


Proceed at your own risk (and joy).


macOS 12.6 Monterey


Signed out of an iCloud account. Attempting to sign in to another iCloud account (or even the original iCloud account) failed silently and repeatedly, even after rebooting. Creating a new macOS user account and signing in to iCloud therein worked as expected, but the prospect of manually migrating over user data and settings (while not borking the now-functional iCloud sync) was not especially congenial.


The ability to sign in to iCloud under the orignal macOS user account was restored thanks to nikhilgohil11's suggestion from 2019:

  1. Backup
  2. Empty ~/Library/Caches/ (the original advice to delete the directory itself requires admin credentials; standard users cannot delete their own ~/Library/Caches/ directory, but can delete its contents)
  3. Delete ~/"Library/Application Support/iCloud/"
  4. Delete ~/Library/Preferences/MobileMeAccounts.plist
  5. Reboot

The urtext for this answer appears to be from 2015 by Kurt Lang, who credits Apple support. richard2's 2016 post mentions signing out of iMessage and FaceTime as well as disassociating the Apple ID from your macOS user account (if they were previously linked) beforehand.



/mac | Oct 08, 2022

iOS: Disable WiFi (not just cellular) for specific apps without jailbreaking #

by buying an iPhone in China, which offers an "Apps using WLAN & Cellular" setting in iOS 10.13 and up:

Extremely disappointing that Apple does not permit this critical privacy and security feature on all iOS devices irrespective of region; its exclusive availability in China is especially surprising given that they usually get the short end of the stick:

See also A humble iOS 14 wishlist.

UPDATE: Enabling App Privacy Report in iOS/iPadOS 15.2 and above allows monitoring (but not blocking) app network activity.

/mac | Sep 10, 2022

macOS: Rotate text in #

  1. System Preferences → Trackpad → Scroll & Zoom → enable Rotate.

  2. Open an image in Preview → Tools → Annotate → Text.

  3. After entering desired text and with the text box still selected, use the rotate gesture to turn it as desired.

For more fine-grained control, use Pixelmator (Add text on a path) or Acorn (Path Text | video tutorial).

H/T: blueswirly and Zabobon

/mac | Sep 08, 2022

Excerpts from "The Hindu Conception of Man" #

by Jean Delaire in the September 1908 issue of The National Review (no, not that one):

/misc | Aug 28, 2022

Microsoft Word: Calculate number of days between two dates #

In Excel, it's very simple to calculate the number of days between two dates by simply subtracting one cell from the other, e.g., entering =(B2-B1) in B3 below:

Arrival: 1/1/22
Departure: 2/1/22
Days: 31

While Word supports basic formulas in tables (Table Tools → Layout → Data → Formula), date handling is unsupported; the formula above returns "0.0".

You can of course embed or link an Excel worksheet into a Word document, but there are issues with formatting, layout, and performance.

Field codes allow for calculating dates in Word, but aren't for the faint of heart. Paul Edstein/macropod's Microsoft Word Date Calculation Tutorial (mirror) is the definitive guide; here's a taste from the section entitled "Calculate the # Days Difference Between Two Dates":

{SET a{=INT((14-{EndDate \@ M})/12)}}
{SET b{={EndDate \@ yyyy}+4800-a}}
{SET c{={EndDate \@ M}+12*a-3}}
{SET d{EndDate \@ d}}
{SET a{=INT((14-{StartDate \@ M})/12)}}
{SET b{={StartDate \@ yyyy}+4800-a}}
{SET c{={StartDate \@ M}+12*a-3}}
{SET d{StartDate \@ d}}
\# ,0}

More on fields:

VBA's DateDiff function offers a more straightforward approach: simply insert two Date Picker Content Controls and one Rich Text Content Control (Developer → Controls), then add the following VBA code:

Sub CalculateDaysBetweenDates()
    Dim days As Integer, date1 As Date, date2 As Date
    date1 = ActiveDocument.ContentControls(1).Range
    date2 = ActiveDocument.ContentControls(2).Range
    days = DateDiff("d", date1, date2)
    ActiveDocument.ContentControls(3).Range = days
End Sub

Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
' Update days when focus leaves Content Control box
    Call CalculateDaysBetweenDates
End Sub

If there are additional fields or formulae in the table, add ActiveDocument.Fields.Update under Call CalculateDaysBetweenDates to update them as well.

Rather than referring to the Content Controls numerically based on their location in the document, you can specify their UIDs instead:

  1. Click the desired Content Control to reveal the 3 dot tab to the left, then click on the tab.

  2. Run this VBA code to display the CC's UID:

    Sub GetUniqueID()
    MsgBox Selection.ContentControls(1).ID
    End Sub
  3. Replace the numeric CC reference in the CalculateDaysBetweenDates subroutine with the corresponding UID, e.g., ActiveDocument.ContentControls(1).RangeActiveDocument.ContentControls("1247527479").Range

/windows | Aug 28, 2022

The mind is not in the body; the body is in the mind... #

Excerpts from Michael Grosso's Some Varieties of Out-of-Body Experience, found in D. Scott Rogo's anthology, Mind Beyond the Body:

/misc | Aug 08, 2022

Microsoft 365: "We are unable to connect right now. Please check your network and try again later." #

(TL;DR: Resolved by enabling Windows Event Log.)

Attempting to open Microsoft Office apps like Word or Excel resulted in a "Sign in to set up Office" window; attempting to sign in produced a "We are unable to connect right now. Please check your network and try again later." error message.

CBBG1000 mentioned encountering the same error when "connecting from Outlook Client to O365 Exchange servers via a VPN connection over Juniper Pulse" and working around it by "restarting the NlaSvc service" (which I assumed referred to "Network Location Awareness"); however, attempting to start the service via the services.msc GUI returned:

Windows could not start the Network Location Awareness service on Local Computer.

Error 1068: The dependency service or group failed to start.

Right clicked "Network Location Awareness" → Properties → Dependencies to discover the following required services:

Checked all five services; Windows Event Log had been disabled. Enabled, started, and tried signing in to Microsoft 365 again - success.

/windows | Aug 03, 2022

Convert mbox-based Local Folders to Maildir in Thunderbird 102 #

The roadmap for Thunderbird 102 (2022) mentioned Maildir support and a decade-old Bugzilla issue about finishing the job:

Maildir is a message storage format that should improve data safety, allow for incremental (delta) backups of messages and allow for antivirus to interact better with messages. Maildir will be vastly improved for 102, but may not be pref'd on by default.

845952 - (maildirblockers) [meta] finish "maildir" message storage

There is still little in the way of official documentation, so I decided to test 3 native methods for converting mbox-based Local Folders to Maildir under macOS 12.4 Monterey and Mozilla Thunderbird 102.

Back up before attempting any of these; Mozilla's Maildir in Thunderbird page still warns:

We suggest you leave Maildir disabled unless you are an advanced user, willing to risk your data, and know how to back up your email before turning on Maildir and how to restore it if you run into problems.

1. Failed: New import wizard (from 2022 for Thunderbird 102)

Thunderbird 102 introduced a new import/export wizard which sounded promising; alas, it did not avail:

  1. Create and open a new Thunderbird profile then close the Account Setup tab

  2. Thunderbird → Settings → General → Indexing → "Message Store Type for new accounts:" → change from "File per folder (mbox)" to "File per message (maildir)"

  3. For good measure: Thunderbird → Settings → General → Config Editor... → set "mail.store_conversion_enabled" to "true".

  4. Tools → Import... → Import from another Thunderbird installation → Continue → select mbox-based Thunderbird profile → Continue → uncheck all but "Mail Messages" → Continue → click "Start Import" then "Finish"

Thunderbird automatically restarted and a new "Thunderbird Import" folder appeared under Local Folders, but it only contained empty subfolders.

2. Failed: mbox to Maildir conversion (from 2018 for Thunderbird 60)

From Thunderbird 60.0 Release Notes:

Thunderbird now allows the conversion of folders from mbox to maildir format and vice versa. This is an experimental feature that needs to be enabled by setting the preference mail.store_conversion_enabled. Note that this functionality does not not work if the option "Allow Windows Search/Spotlight to search messages" is selected.

Let's give it a try:

  1. Thunderbird → Settings → General → Config Editor... → set "mail.store_conversion_enabled" to "true".

  2. Right click Local Folders → Settings → change "Message Store Type:" from "File per folder (mbox)" to "File per message (maildir)" → Continue:

The messages in the account Local Folders will now be converted to the maildir format. Thunderbird will restart after the conversion is complete.

Converting the account Local Folders to maildir...

Conversion failed.

3. Succeeded: Phil Davis' method (from 2015 for Thunderbird 38.0.1)

Found thanks to this archived copy: Conversion de mbox à maildir. Instructions have been abbreviated, amplified, and updated:

  1. Create and open a new Thunderbird profile then close the Account Setup tab

  2. Thunderbird → Settings → General → Indexing → "Message Store Type for new accounts:" → change from "File per folder (mbox)" to "File per message (maildir)"

  3. Thunderbird → Account Settings → Account Actions → Add Mail Account... → set up an email account {this account will use Maildir}

  4. Thunderbird → Settings → General → Indexing → "Message Store Type for new accounts:" → change from "File per message (maildir)" back to "File per folder (mbox)"

  5. Thunderbird → Account Settings → Account Actions → Add Mail Account... → set up a dummy email account by entering a name and email address (e.g., → "Configure manually" → INCOMING SERVER: Protocol: POP3 → Hostname:* → "Advanced Config" → OK {this account will use mbox}

  6. Thunderbird → Settings → General → Indexing → "Message Store Type for new accounts:" → change from "File per folder (mbox)" back to "File per message (maildir)"

  7. Exit Thunderbird

  8. Replace contents of ~/Library/Thunderbird/Profiles/new-profile/Mail/ with copy of contents from "~Library/Thunderbird/Profiles/old-mbox-profile/Mail/Local Folders"

  9. Start Thunderbird with the new profile; mail folders from old mbox profile appear under

  10. Select all mail folders under and drag to Local Folders, which will copy them into new Maildir-based directories. Compare message counts by enabling View > Layout > Folder Pane Columns.

* Leaving the hostname as "" creates a hidden folder in ~/Library/Thunderbird/Profiles/new-profile/Mail/, making step 8 slightly confounding.


/misc | Jul 10, 2022

Exporting/archiving email from #

Michael Tsai has hosted a long-running discussion on data loss in starting in Catalina and continuing unabated through Big Sur and Monterey (I have settled on only moving messages from IMAP servers to local storage via Thunderbird).

Further, Mail's built-in export (and import) methods suffer from various limitations and bugs; the following tests were run under macOS 12.4 and Mail 16.0 (3696.100.31):

1. Mailbox → Export Mailbox...

  1. Creates a single MBOX file containing all messages (actually a slightly nonstandard folder with the mbox file named "mbox" and another file named "table_of_contents").

  2. Pro: Successfully exported all messages.

  3. Con: Attempting to import such MBOX files (containing any significant number of messages) back into Mail generally fails with the following error: Some messages could not be imported. The partially imported mailboxes are located in the mailbox named "Import" in the mailboxes list.

  4. While Mail displayed a count of 4611 messages for the mailbox, 4618 were shown in Claws Mail and Thunderbird after import.

2. Click and drag multiple messages from Mail to Finder

  1. Creates a single EML file per message (converting from Mail's native EMLX format, which stores attachments separately) as opposed to MBOX's monolithic single file format.

  2. Pro: Works on even large numbers of messages (tested on a selection of over 10,000 - see below).

  3. Con: Silently fails to export messages with subject lines 252 characters or longer.

  4. When performed on the aforementioned mailbox (which Mail showed as containing 4611 messages while the exported MBOX file was reported to hold 4618), only 4600 messages were exported. The missing messages all had subject lines over 251 characters in length. This was verified by getting a list of all subjects in the mailbox via AppleScript (which also returned 4618 instead of 4611):

    tell application "Mail" to get the subject of every message of mailbox "foo"
    set subjectList to result
    set AppleScript's text item delimiters to "\n"
    set subject1PerLine to subjectList as string
    get subject1PerLine

    then locating those containing 252 or more characters: grep '.\{252\}' subjects.txt. Sure enough, the difference was exactly 18.

  5. Mail reported 10,663 messages in another mailbox; however, clicking and dragging them to a folder in Finder resulted in 10,672 EML files, indicating once again that Mail has a hard time keeping track of messages.

3. AppleScript

  1. Tom Floeren's 2017 "Export Selected Mail Messages" AppleScript still runs under Monterey, exporting highlighted messages to EML files.

  2. Pro: Truncates subjects/filenames over 180 characters to avoid the con described in 2c.

  3. Con: 31 messages were missing from the export after the script terminated with Script Error: AppleEvent timed out. Happily, this was easily rectified by adding with timeout of 3600 seconds above repeat with i from 1 to count of msgSubjects and end timeout below end repeat; afterwards, all messages exported successfully. (UPDATE: See Michael Tsai's post for another potential issue affecting non-ASCII characters under some circumstances.)

  4. As in 1d and 2d above, 4618 messages were exported from the mailbox which Mail had reported as containing 4611 messages. As a final test, ran this simple AppleScript oneliner to get the number of messages in the mailbox: tell application "Mail" to get the count of messages of mailbox "foo"; the result was 4618.

  5. Updated script:

4. partial-emlx-converter

  1. Open source script that "converts .emlx and .partial.emlx files written by Apple's into fully self-contained, 'stand alone' .eml files."

  2. The author, Philipp Katz, relates that "one of my IMAP mailboxes went out of service and I was not able to copy all the messages to a different account with, even though all mails and attachments were there (see here for the story). That’s why I created this script."

  3. Pro: Successfully converted all 4618 messages in test mailbox to EML format.

  4. Con: Not native.

/mac | Jun 14, 2022

Virtualizing Linux, macOS, and Windows ARM64 versions on an M1 Mac #

posted to the docs section.

/mac | Jun 11, 2022

Workflow for scanning/digitizing books #

  1. Scan with smartphone or tablet to JPG via vFlat Scan (Android | iOS)
  2. Clean up scans and convert to B&W TIF via ScanTailor Advanced or ScanTailor Universal
  3. OCR and convert to PDF via Adobe Acrobat

/misc | May 20, 2022

Restore macOS Contacts from Time Machine backup #

or any other backup of ~"/Library/Application Support/AddressBook/".


No consideration is given here to iCloud Contacts sync (though thermo2's 20-step procedure is reproduced below without prejudice). Back up, back up, back up and understand what you are doing. needs to be closed before attempting all methods but the first.

Method 1

Open then "Enter Time Machine" from menu bar icon to restore (H/T). Note that the "Browse Other Backup Disks..." option accessed by Option-clicking the Time Machine menu bar icon really means "Browse Other Backup Disks for the current device". (UPDATE: Michael Tsai reports that this method does not work in Monterey; further, he shared that Time Machine restores in apps other than Finder have not worked for him since around Mojave.)

Method 2

Replace ~"/Library/Application Support/AddressBook/" folder with backup copy of same (tested successfully in High Sierra, Mojave, Catalina, Big Sur, and Monterey).

Method 3

Add .abbu extension to backup copy of ~"/Library/Application Support/AddressBook/" then double click to import (tested successfully in modern macOS versions; similar to above method, but might make importing recovered data simpler for end users).

Method 4

Replace ~"/Library/Application Support/AddressBook/AddressBook-v22.abcddb" with backup copy of same. Tested successfully in Lion but failed in modern macOS versions (worked in Catalina and higher as long as ~"/Library/Application Support/AddressBook/" was otherwise empty).

Method 5

  1. Delete contents of ~"/Library/Application Support/AddressBook/".

  2. Paste the Metadata folder containing .abcdp files (found at either ~"/Library/Application Support/AddressBook/Metadata/" or ~"/Library/Application Support/AddressBook/Sources/UUID/Metadata/") from backup copy into ~"/Library/Application Support/AddressBook/".

  3. Launch; it will recreate AddressBook-v22.abcddb from the .abcdp files in Metadata/ (tested successfully in High Sierra and Mojave, even for Metadata folders created under newer versions of macOS (which is fortunate, as the process failed in Catalina, Big Sur, and Monterey; after exporting a Contacts Archive from Mojave, it was successfully restored to Big Sur, though logging off and on was required for the contacts to appear)).



/mac | May 19, 2022

Twitter feed shutting down #

For those who wish to continue receiving updates, please subscribe via RSS.

/misc | Apr 26, 2022

Imaging and recovering data from floppy disks #






/misc | Apr 17, 2022

macOS: Find file extensions associated with an app #

Shortcat would not import its license file (named "shortcat-license") through the "Add License" button (where the file appeared as greyed out), via drag and drop into the License window, or via drag and drop onto

Resolved by finding which file extension Shortcat was associated with in /Applications/ → CFBundleTypeExtensions*:


Just needed to add any filename and a dot before "shortcat-license", which turned out to be an extension rather than a filename.

* From the CFBundleDocumentTypes documentation:

Key: CFBundleTypeExtensions
Xcode name: "Document Extensions"
Description: This key contains an array of strings. Each string contains a filename extension (minus the leading period) to map to this document type. To open documents with any extension, specify an extension with a single asterisk "*". (In OS X v10.4, this key is ignored if the LSItemContentTypes key is present.) Deprecated in OS X v10.5.

/mac | Mar 25, 2022

Get macOS installers (app, dmg, iso, pkg) and firmware (ipsw) #

with the free and open source MIST - macOS Installer Super Tool:

% mist list
  ├─ Kind will be 'installer'...
  ├─ Include betas in search results will be 'false'...
  ├─ Output type will be 'ascii'...
  ├─ Searching for macOS Installer versions...
  └─ Found 23 macOS Installer(s) available for download

Identifier │ Name              │ Version │ Build   │ Size     │ Date
071-08758  │ macOS Monterey    │ 12.3    │ 21E230  │ 12.23 GB │ 2022-03-14
002-66265  │ macOS Monterey    │ 12.2.1  │ 21D62   │ 12.16 GB │ 2022-02-17
002-57041  │ macOS Monterey    │ 12.2    │ 21D49   │ 12.16 GB │ 2022-01-26
002-42435  │ macOS Monterey    │ 12.1    │ 21C52   │ 12.16 GB │ 2022-01-14
002-23774  │ macOS Monterey    │ 12.0.1  │ 21A559  │ 12.13 GB │ 2021-12-01
002-77154  │ macOS Big Sur     │ 11.6.5  │ 20G527  │ 12.42 GB │ 2022-03-14
002-65695  │ macOS Big Sur     │ 11.6.4  │ 20G417  │ 12.45 GB │ 2022-02-17
002-57023  │ macOS Big Sur     │ 11.6.3  │ 20G415  │ 12.44 GB │ 2022-01-26
002-42341  │ macOS Big Sur     │ 11.6.2  │ 20G314  │ 12.44 GB │ 2022-01-14
002-23589  │ macOS Big Sur     │ 11.6.1  │ 20G224  │ 12.43 GB │ 2021-12-01
071-78704  │ macOS Big Sur     │ 11.5.2  │ 20G95   │ 12.45 GB │ 2021-08-18
001-68446  │ macOS Catalina    │ 10.15.7 │ 19H15   │ 08.75 GB │ 2020-11-11
001-57224  │ macOS Catalina    │ 10.15.7 │ 19H4    │ 08.75 GB │ 2020-10-27
001-51042  │ macOS Catalina    │ 10.15.7 │ 19H2    │ 08.75 GB │ 2020-09-24
001-36801  │ macOS Catalina    │ 10.15.6 │ 19G2021 │ 08.75 GB │ 2020-08-12
001-36735  │ macOS Catalina    │ 10.15.6 │ 19G2006 │ 08.75 GB │ 2020-08-06
001-15219  │ macOS Catalina    │ 10.15.5 │ 19F2200 │ 08.74 GB │ 2020-06-15
001-04366  │ macOS Catalina    │ 10.15.4 │ 19E2269 │ 08.75 GB │ 2020-05-04
061-86291  │ macOS Catalina    │ 10.15.3 │ 19D2064 │ 08.69 GB │ 2020-03-23
061-26589  │ macOS Mojave      │ 10.14.6 │ 18G103  │ 06.52 GB │ 2019-10-14
061-26578  │ macOS Mojave      │ 10.14.5 │ 18F2059 │ 06.52 GB │ 2019-10-14
041-88800  │ macOS Mojave      │ 10.14.4 │ 18E2034 │ 06.53 GB │ 2019-10-23
041-91758  │ macOS High Sierra │ 10.13.6 │ 17G66   │ 05.71 GB │ 2019-10-19

/mac | Mar 24, 2022

macOS: Mount exFAT partitions created in Windows #

0. Issue

An 8TB USB HDD formatted as exFAT in Windows 10 (using the default settings) would not mount in macOS 12.

Disk Utility showed the exFAT partition greyed out. Right clicking it and selecting "Mount" returned:

Could not mount “8TB”. ( error 49223.)

Terminal fared no better:

   % sudo mount -t exfat /dev/disk2s2 ~/mnt
   mount_exfat: /dev/disk2s2 on /Users/user/mnt: Invalid argument
   mount: /Users/user/mnt failed with 71

1. Cause

Seagate's Disk Utility Errors and Questions for macOS 10.11 and higher explains:

Error Message - error 49223
This error message has been seen with drives formatted ExFAT. When using a drive between macOS and Windows, drives should always be formatted on macOS because not all Windows allocation unit sizes (block sizes) are supported by macOS. An unsupported allocation unit size will keep the drive from mounting. This error will be displayed when trying to mount the drive manually with Disk Utility. If you are using this drive between macOS and Windows then back up any important data on the drive and reformat the drive ExFAT on macOS.

2. Solution

Rather than reformatting, exFAT for FUSE (which supports clusters up to 32 MB) was used to successfully mount the partition in macOS:

% sudo /usr/local/sbin/mount.exfat-fuse /dev/disk2s2 ~/mnt

3. Prevention

Finding only incomplete or incorrect guidance online, I decided to test every allocation unit size displayed in the Windows format GUI:

2048 bytes
4096 bytes
8192 bytes
16 kilobytes
32 kilobytes
64 kilobytes
128 kilobytes
256 kilobytes
512 kilobytes
1024 kilobytes
2048 kilobytes
4096 kilobytes
8192 kilobytes
16384 kilobytes
32768 kilobytes

(as well as the two smaller options, 512 and 1024 bytes, offered in the CLI), prepping partitions via the command prompt, e.g., C:\>format Z: /fs:exfat /v:test /q /a:128k .

macOS was able to natively mount exFAT partitions with cluster sizes from 512 bytes to 1024 KB, but not from 2048 KB through 32768 KB.

4. Notes

/mac | Mar 04, 2022

3 cross-platform email tools #

/misc | Jan 10, 2022

"Now what could've given them that idea?" #

The mainstream media continues to gaslight the public with stories like this one from AP News on January 4, 2022 titled Why are so many vaccinated people getting COVID-19 lately?:

"People might mistakenly think the COVID-19 vaccines will completely block infection, but the shots are mainly designed to prevent severe illness, says Louis Mansky, a virus researcher at the University of Minnesota."

Whatever could've given people such a mistaken impression?

UPDATE: Setting aside these unequivocal yet fallacious statements from leading public figures, if the COVID vaccine was indeed "mainly designed to prevent severe illness" rather than to prevent infection or transmission, then why was it mandated in the first place? How can the unvaccinated pose a risk to the vaccinated if the vaccine was "safe and effective"? In short, what was all this about?

Happily, the dawn of a new, saner day may be approaching:

/misc | Jan 04, 2022

Capture and decrypt SSL traffic #


Get SSL session keys

  1. Quit Firefox
  2. export SSLKEYLOGFILE=~/Desktop/sklf && open /Applications/
  3. sudo tcpdump -i en0 -s 0 tcp port https -w ~/Desktop/capture.pcap
  4. Browse to desired HTTPS site in Firefox

Load SSL key log & packet capture files into Wireshark

  1. → Preferences... → Protocols → TLS → (Pre)-Master-Secret log filename → Browse... → ~/Desktop/sklf → OK
  2. File → Open → ~/Desktop/capture.pcap → Open

Search & export text

  1. Edit → Find Packet... → change "Packet list" to "Packet details" and "Display filter" to "String" → enter desired search string into box labeled "Enter a display filter ..." → Find
  2. Right click highlighted result → Copy Bytes Printable Text → pbpaste



/mac | Jan 03, 2022

Subscribe or visit the archives.