2021/02/03

macos term file "could not be opened because it is corrupt"

A ".term" file is a useful way to wrap up some command-line stuff, in a neat little package which requires no command-line knowledge, no luck in typing it perfectly, etc. - for some discussion, see these old Hints articles: Run shell scripts from GUI and Use partial .term files for quick… (note that the ExecutionString attribute can be anything you want…).

I was working on a new .term file, having started by duplicating a perfectly usable one - but getting this unhelpful error:

The file “test.term” could not be opened because it is corrupt.

It may have been incompletely copied from another machine.

And then _finally_ remembered that the file is XML, and ampersands have literal meaning, so must be "escaped", as in HTML, like so:

&

Hopefully, noting that here, saves someone (like myself) a bit of hair-tearing next time.

2020/12/17

FileVault Mac, in headless mode, notifies on boot

Oh; fun!

I'm lucky enough to be experimenting with a new M1 Mac mini, and followed through the prompts (on a kinda autopilot, from setting up my own MacBook) to set it up with FileVault 2 "full-disk encryption", even though this will be a server.

So I found out the hard way, that this then requires (purposely; for security) entering a password _very_ early in the boot process - before it even gets an IP address.

Which also means no remote connection; not via Screen Sharing, or ssh - no headless.

(Note: There is a way to avoid this - for a single boot.)

But; back to the cool part; I rebooted (to apply a software update) before I remembered the above, and a few moments later, while I was trying to debug why I couldn't reach it, the mini (which was indeed headless), started playing the "Find My..." sound effect - that is a nice touch!

2020/11/14

Touch ID becomes an annoyance, when using a MacBook in clamshell mode

For instance: It's a very cool feature, to store an auth token, which allows decryption of passcode-encrypted iWorks docs, via Touch ID.

Except if you've switched to using your MacBook in clamshell mode (i.e.: using an external display, with the lid closed) - in which case, the apps will prompt for the decryption passcode (which, optimally, would be different for each doc) -- even though, in the days before Touch ID, it would store a token accessible via KeyChain.

So, to make the switch back, to using KeyChain instead of Touch ID:

Delete all fingerprints from the Touch ID preference pane, in System Preferences. (Which, since you've switched to clamshell mode, you're rarely using anyway - if ever.)

In retrospect, kinda obvious - though this annoyance has been on my To Do list for awhile. Hopefully this tip saves someone else some trouble.

2020/10/08

can't unlock Mac with Apple Watch anymore?

Problems with "Use your Apple Watch to unlock apps and your Mac" function of macOS?

 (In the "Security & Privacy" section of System Preferences.)


Seeing an error message like "Your Mac was unable to communicate with your Apple Watch"?


Maybe it was working before, and suddenly isn't?


Maybe you recently reset you Apple Watch? (That was the precipitating event for me.)


It took me some digging to find, so hopefully these extra breadcrumbs here, help more folks to this signal boost, for the good folks at macrumors.com, who solved the problem.

2020/02/16

Quicksilver, Spotlight and indexing content

I've noticed that the info I care about (messages, tasks, notes, code, whatever), is spreading to quite a few documents, apps and systems - both local to the device I'm using, and remote. (Maybe in a web system - which may or may not be sync'd / cached on my local device.)

And it's increasingly common, when I'm looking for something, that I can't immediately recall which system it's in, so where to start looking.

Which of course means I now have to put aside what I was trying to do, to focus instead, on how to find the info. And then remember what I was trying to do in the first place, to resume that task - hopefully…

This kind of context-switching sometimes does result in losing the primary task. It's certainly a waste of time and energy.

So, since I use Quicksilver extensively, I started to see this new issue, as a nail, for my Quicksilver hammer…

In the back of my head, I had a recollection that, while I'd always found Spotlight limited and cumbersome, it did a great job indexing the content of apps like Notes and Reminders - two of the systems I wanted to be able to reach into.

People who use Spotlight, may be inclined to observe how well it works for them, and how mystified they are, that some of us don't use it. It's possible, that those of us not using it, have a good reason - there may also be some inertia…

Thinking of Spotlight prompted another memory, that Quicksilver might… yes; it does have a Spotlight plugin - however I got confusing results: It was not showing content (which I knew was there) from Notes or Reminders… It seems to be limited to showing results in a Finder window (vs. the main Spotlight window) - which apparently does not show "Other" content such as Notes or Reminders. :/

I do virtually all searches (including across the web) from Quicksilver. And while I'd prefer to avoid the cognitive cost of deciding how/where to search, then launching a separate search system, and only then specifying what I wanted to find (this is backwards, for most humans) Spotlight does appear to be a better tool, for finding content.

Quicksilver is oriented more to files - and performing actions - than finding content. (Perhaps someone will point out that this too is a misunderstanding. :) )

Another plus for Spotlight: It's available (by default) on iOS as well as macOS, so as I move among those devices, Spotlight is right there.

Time to at least consider, that there are different kinds of nails, and different hammers - some of which, we thought we knew.


2020/01/04

hdiutil Error 110: image not recognized

A script to keep a disk image (AKA dmg) mounted, was suddenly failing - silently.

(Why create such a script? In this use-case, the image / volume should only be mounted when the app using it, is frontmost and might need it; otherwise it should be dismounted - so that it may be safely mounted by another Mac. Since there's no file-locking in this scenario, mounting it on multiple Macs simultaneously, can result in conflicts. Since this is a sparsebundle, conflicts result in multiple bands, which is usually (somewhat) straightforward to sort out - but manually, and who wants that?)

I ran the script in a debug / trace mode (bash -x) and saw nothing interesting - except then I noticed:

hdiutil attach -quiet -noautoopen /path/here

Ah yes; after debugging the previous issue, I'd set -quiet, to make the output cleaner.

(BTW: The -noautoopen option is handy, since without it, the Finder otherwise can open a window for the top level of the volume - right in front of whatever it was you were working on.)

So I ran that command with -verbose instead - and got this error message:

Error 110 (image not recognized).

Which didn't get me far; I couldn't find any references that helped, especially since the image mounted OK from the GUI - at which point I realized the problem:

It worked in the GUI, because /path/here was an alias - however the script did not know how to resolve an alias; it needed a symlink instead - which the GUI happily also recognizes. A symlink just isn't be able to auto-update, as an alias can, if the target is moved. (Side note: symlinks can be _much_ smaller; handy on a small filesystem.)

2019/11/26

Moving tabs between windows, in macOS Safari

Great feature; drag a tab from one window to another - works like a charm!

(No tabs showing, to drag? Create a new tab - at which point, you'll see a tab, for your original, to drag.)

Drag not working? You always end up with a separate window? Likely because (interestingly): It's disallowed to drag tags between a "private" window, and a normal window - looks like the private-ness is per-window.

2019/11/22

Recover lost Safari windows

You know how macOS Safari has that great feature (I believe credit goes to other browsers, for getting it earlier), where when you quit the app (or restart or it crashes), and when you start it up again, all your windows are right back where they were? And what a huge weight off your mind that is?

My Mac just had a Kernel Panic, and when I restarted, all the windows were gone - what a feeling of letdown and loss.

Luckily, I remembered another feature - which is apparently built on the same saved data:

History -> Reopen Last Closed Window

(If you like command-key shortcuts: shift - command - T)

And - faith restored: It saves a _bunch_ of them; just keep hitting it, to open the N last closed windows.

I don't know what the max of N is, but I did about 30, no sweat.

Phew!

2019/02/07

more about delight in the Apple Human Interface

Cool; I just used the "Back" function in Apple's Safari web browser - and happened to be paying attention enough, to see that what it actually did, was what I _wanted_, rather than what I asked for:

I happened to be in a tab created by a command-click of a URL in the previous tab; there was no "back" in this case - so it did _exactly_ the right thing - it closed the tab and returned me to the previous tab.

This is precisely the thoughtful design that Apple is known for:

  • Some of us (developers) know it directly, and know how much work it takes.
  • And the rest of us who use a Mac, iPhone, iPad, etc., know it simply because, when the interface surprises us, it's usually a pleasant surprise.

A delight if you will - which is actually an explicit part of the official Apple Human Interface Guidelines.

That's a lot of hard work, which is usually (by design!) unnoticed - the point is not the device, but what _you_ want to do with it.

Although, every once in awhile, it's nice to appreciate - thanks, folks!

2019/01/03

Delving Into Outlook / Exchange Server-Side Rules

Got a lot of rules?

Tired of paging through the GUI, trying to find just which rule is (mis)handling those emails?

Here's how to get the "code" for the rules, as text:

Use OWA - something like this, modified for your realm:

https://outlook.office.com/owa/?realm=YOUR-REALM-HERE&path=/options/inboxrules

Manual navigation (if the above URL doesn't work):
  • InBox Rules (under Options > Mail > Automatic Processing - or use Help)
  • At page bottom: "click here to generate a diagnostic report"
The resulting email contain your rules - now you can at least grep / search through them!

The file most people will be interested in, is "InBoxRules.txt"; here are some highlights from one:
  • Name="the name you gave your rule"
  • ExecutionSequence="101" <-- important; rules are executed in order
  • StateFlags="Enabled, ExitAfterExecution" <-- no further rules will be used
  • <Restriction
    • SubType="RecipientRestriction" <-- this rule is based on recipient
  • <Action…
    • Type="OP_MOVE"
  • FolderName="Deleted Items" <-- and the action is to delete the msg

Notes:
  • An XML browser helps a lot; I use BBEdit.
  • Yes; this is read-only - you do have to go back to the GUI to make any changes.
  • Since this web UI shows the contents of rules as text, it may be enough to use it directly (ex: using the browser's "Find" function) - with the added benefit of being able to make any desired changes directly. It is however, necessary to click through each rule, to see the full definition...
  • My previous post may also be helpful: How-To recover / export Outlook for Mac "Smart Folder" AKA "Saved Search" configs