Thursday, June 18, 2026

My macOS ai coding projects to date

This is a reference post - mostly for my own use. Over the past few months I've used ai coding tools to create several personal solutions. I don't think the results are appropriate to share on github - it's probably easier/faster to have an ai recreate from general descriptions. In future I'll give projects a separate post in case anyone wants to the code, and if I remember I'll add them to this list and link to a project specific post.

  • PDF highlight exporter: I did this for my Old Person UMN courses. All our readings are PDF now. In Apple Preview I highlight text of interest, then drop PDF on a Python applet that creates a citation-friendly plaintext file I can use in studying, writing, and import into MindNode.
  • Windows slideshow from macOS Photos. Creates an 800x600 floating window and displays specified album photos in a slideshow window that behaves like any other Finder window.
  • Web scraper of all articles by a specific journalist - a single use script that created a citation-friendly plaintext of all articles by them.
  • Folder search in Photos.app. It's banana-pants that Photos does not search folder names. I have hundreds of folders. The script creates a plaintext file I can search using a text editor. It's easy to then browse to the folder in macOS Photos
  • A web app that reformats an unreadable public Google Sheet into a mobile/desktop friendly view of CrossFit Minneapolis-St Paul workouts. This is one of my faves; I use it several times a week and it's the only app so far that other people use.
  • A data reformatting app that takes several standard CSV files from SportsEngine and turns them into a useful worksheet.
  • A data reformatting app that lets me download a class list and turn it into names I can put into Apple Notes.
For context I have extensive (decades) of work experience as a product manager and in technical domains too esoteric to describe. I last coded for money around 1981 (FORTRAN), did a shareware C app in the 90s that had one paying customer, and I can more or less read/edit Python. I would never have done these projects without ai coding but I do have serious development experience.

Migrating from Microsoft To Do to Apple Reminders

I've used Microsoft's To Do app for several years but Microsoft has failed to fix a number of annoying bugs. Meanwhile Apple Reminders has pretty much crushed all macOS alternatives; it's now effectively the only game in town. Especially since I no longer need Apple/Windows interop. So it's migration time again, now from To Do to Apple Reminders. I'll share here a few things I've learned during this migration.

My tasks have gone through at least five migrations over 3-4 decades. I think I last migrated from Toodledo.  I've lost track of all the various apps I've used before that. The digital task list might have started with the PalmPilot in the 90s but it's more likely that they began in one of the many cool but forgotten "Personal Information Managers" that we used in the 80s and 90s.

Some past migrations, especially in the PalmOS days, used CSV export/import. That failed as data structures became more complex. Now I tend to migrate over time, reentering some tasks, closing out others. I could probably boil the ocean and have an agent do it, or ask an ai to write code to do it, but I've grown to accept the migration refactoring as valuable. Part of the migration is archiving all data.

Which is all context for quickly sharing a few things I have learned. I'll update this post with other things I learn.

  • Neither Microsoft To Do or Apple Reminders have export/import or good backup support. They are cloud first with the usual cloud issues.  To Do data can supposedly be exported via Outlook. There are decent sounding Shortcut based options for JSON export from Reminders. I have not used them yet.
  • Apple Reminders has subtasks. They are cleverly hidden from basic use.
  • Reminder "Sections" are most useful as Kanban-style column headers. I think that's what the feature was designed for. Switch to Column view to see them. They are also cleverly hidden from basic use.
  • You can't hide Notes from displaying in Reminder views. You can select a Note in Apple Notes, then share to Reminder and the Reminder created will have a deep link the Note. This is incredibly poorly documented. The trick to making it work in Sequoia is to change the almost invisible access control from person-based collaboration to Anyone with link then share to Reminders. Or Share:Copy Link in Notes and paste URL into a Reminder info URL field. Another approach is to put any notes in a subtask since these can be hidden.

Thursday, April 02, 2026

My new favorite utility - a Claude-built python app for turning macOS Preview PDF highlights into a plaintext list

I've asked Claude to build me a few tools, but my new favorite is a macOS droplet that turns macOS Preview PDF highlighted text into a plaintext document like this:


It's written in Python. I used Google Antigravity -- there wasn't much of a prompt. By accident I prematurely submitted something like 'turn every contiguous highlighted text string into a quotes with page number'. It went through some minor revision cycles that simplified the citation reference and added a descriptive header with available metadata. I even made some small changes by hand. (Antigravity burned my free Claude Thinking credits so I started doing more things manually.)

Claude made me a bash script that lets the Python code run as a droplet.

If I open the text file and copy all, then paste into MindNode, I get one quote per node.

I used Claude Thinking with Google Antigravity. I tried Gemini a bit but it is far behind Claude.

I thought about sharing the code for this, but it's ai generated. You could just tell the ai what you want using the above as an example. (The "con-stitutive" is a hard-for-Claude edge case with text wrapping in PDFs.)

Anyway, if anyone wants the code just leave a comment below and I'll put it on my personal web site and add a link here.

Sunday, January 18, 2026

Canon BR-E1 remote blinking red when used with Canon Digital Rebel SL2: Bluetooth repairing

My Canon BR-E1 remote was blinking red when I tried to use it with my Canon Digital Rebel (DR) SL2, aka EOS 200D. Perplexity ai answers were all incorrect.

This is a Bluetooth remote. The red blinking is an error code related to pairing. You probably need to repair, though it doesn't hurt tI o change the remote battery.

Forget the web and forget ai, you need the PDF manuals for your SL2 and the BR-E1. But if you can't find them:

  1. On Camera: Wireless communication settings.
  2. Change Bluetooth function: setting to "remote".
  3. If it still doesn't work you need to repair. Choose "Check/clear connection info"
  4. Now choose Pairing.
  5. On remote press and hold W/T for 3 seconds and release. LED flashes briefly.

Tuesday, January 13, 2026

Face-name assignment in macOS Photos app is only local, not synchronized to iCloud

Apple's photo management software is a great illustration of Apple's decline.

Anyway, just so you know, the assignment of Face/Pet identification to a Photo is only stored locally. It's not synchronized to iCloud.  I have also read that it does not really work with storage optimized macOS Photos Libraries; the process only works on full res images (might very very slowly work, never really catches up with adding photos).

If your Library is corrupted and you start a new instance from iCloud you lose all the Face ID information (and probably other information). I don't know if full local backup and restore saves the Face identification data.


For images that I care about I use a smart album in my full res Library to tag Face identified images with keywords. Those are synchronized.

PS. Bonus bug just discovered today: Photos.app has keywords that don't find any photos using a smart album, but when you delete the keyword you are told there are actually photos that have it.

Monday, January 12, 2026

Sharing with iCloud Links: working around a bug in macOS Sequoia Photos

I don't write many posts about Apple bugs in the modern era. If I did I'd be putting out several every day. I cannot use a modern macOS Apple product without running into yet another bug. Photos is a particularly rich example of the Tim Cook era bugfest.

Today's bug concerns sharing by iCloud Link. This is theoretically the best way to share photos and videos between iCloud users (full res, esp video, full metadata if you are careful), but there's a bug with assigning them to an album (may depend on volume)

Steps:

  1. Open iCloud Link via messages
  2. See result in Sharing:iCloud Links. Wait until fully downloaded.
  3. Drag and drop to an album
  4. The images do not appear.
There's something broken in the drag and drop function. Maybe it's fixed in Tahoe, but Tahoe is a typical Tim Cook era product. Broken by both bugs and bad design.

I tried a few things, I'm not sure yet what worked. That included switching to an instance of my Photo Library that is full resolution download. After the usual long delay due to iCloud throttling the images did appear in my Library, but not in the album they were copied too. I could move them from the Library to an album.

Next time I'll try selecting all images, dragging to "Library", then reviewing in "Recently Saved" and copying to an album. If that works I hope I remember to update this post. I think if you try to copy them to an album it looks like it intends to copy (get the warning about adding xxx images); I think even though they don't make to the album they do end up, eventually, in the Library.

I apologize to everyone I ever shared an iCloud Link with.

Tim Cook should have been fired years ago. The stock would be worth less but the company would suck less.

Monday, November 24, 2025

Sequoia: 400 GB free storage but not really: How to force Photos to downsize using large encrypted disk images

I read Eclectic Light so I know about macOS APFS free space chaos. Recently macOS Photos quietly grew to consume most of my boot drive leaving only 30GB free. I switched to optimized storage while preserving a full local library on an external drive.

So Finder showed 400GB free --- but it's "purgeable free". So not really. One of my sparse disk image ran out of space (causing cryptic error messages) because it couldn't grow even 10GB.

In theory the OS should be shrinking the Photos Library as needed. But if it's doing that it's doing it slowly. An ai claims iOS Photos is much better at shrinking than macOS Photos; macOS Photos optimizes only under severe pressure (10GB free?!) and then only slowly.

I created sets of 20GB images followed by a shutdown and restart. Over an hour or so of this I was able to get 90GB truly free. That's enough free I can just chip away at the rest by creating then eventually deleting larger disk images (regular, NOT sparse). Just make sure you don't back them up accidentally - wastes space. A full shutdown appears to be needed as part of the routine (magical incantation).

(The other approach is to nuke local photos and let it rebuild optimized from iCloud.)

PS. There are so many bugs in modern Apple software I only post workarounds for the big ones. I will be glad to see Tim Cook retire.

Update 11/25/26

Some further refinements
  • Create a folder to hold the disk image and in Time Machine set as no backup
  • Use Disk Utility to see the real free space
  • Create an encrypted (reduce compression possibility) disk image about 8-10 GB less than true free space. (If you make it too large Photos can't iCloud sync, about 8-10GB seems to work)
  • Let things sit for a few hours.
  • Shut down and restart
  • Delete image and empty trash
  • Shut down and restart and check Disk Utility for true free space
  • Repeat every few days until Photos is beaten back
  • Pray Tim Cook has a happy retirement
Once Photos starts optimizing it seems to work in bursts, sometimes freeing up 5-10GB in a burst of activity. Photos doesn't need to be running; folklore says it is faster if it's not running but I have not verified that. The full shutdown does seem to be necessary to see true recovered space. You can run Photos to verify that it's doing iCloud sync.

It's funny to see the different size estimates in Finder vs Storage (preferences) vs Disk Utility. In Storage Photos uses 35GB (aspirational!). In Finder it used 512GB originally, now down to 467GB and shrinking. Disk Utility showed about 15 GB free space, Storage says about 500 GB free, Finder Info says 500GB purgeable.