Thursday, October 31, 2019

Aperture to - preparation

I despise Apple in general and Tim Cook in particular. I wasn’t always that way. In the 00s I was kind of fond of Apple.  That ended with the way Cook killed Aperture in 2014. Apple could have provided an exit, but they didn’t.

Being unable to leave Apple has not improved my mood over the past six years. The exit cost is too high. On the bright side my Apple resentment has made it easier to resist the Apple watch. So I have a bit more time in my life for family, bikes, skis, and CrossFit. Thanks Tim!

I’ll still be on Aperture into 2020, three years beyond my original plan. The Catalina catastrophe has made staying on Mojave more agreeable. I’ll have to switch sooner or later though, almost certainly by 2021. So I’m working on a list of what I need to do prepare. I’ll update this post with items I think about:

  1. Eliminate all stacks. I have hundreds of unwanted stacks created by Apple’s original hacked up iPhoto to Aperture migration (that was horrible). I need to edit each of the stacked images and remove the duplicate.
  2. Flatten the keyword hierarchy (the marvelous hierarchy is from a time when giants walked the earth).
  3. Regenerate images from RAW (this will take eons and is high risk).
  4. Be sure image locations and face recognition (never worked) are turned off.
  5. Simplify all smart albums not supported by
  6. Create an empty shell of current Library, then use that to import all images from past Library. Confirm everything is correct.
  7. Rebuild database to confirm no errors.
  8. Per Apple’s migration directions, create full-sized “previews”.
  9. Ensure iCloud is empty of images and that destination library is empty with no iCloud sync. Disconnect from network.
  10. Import into
  11. Validate.

This project will take many months, many backups, and purchase of at least one other 1TB SSD.

Tuesday, August 20, 2019

Black Diamond Spot User Guide (manual)

I’m swearing off Wirecutter. Again.

It’s not that their recommendations are awful, they’re just kind of inexpert. They don’t actually use the products they recommend, they just test them.

Like the Black Diamond Spot headlamp. I needed something for an upcoming trip and it wasn’t mission critical, so I used the Wirecutter recommendations. The Spot actually works ok, and seems well made, but it’s ridiculously complex. The Spot is what happens when you give bored Chinese engineers some chip space.

Serious climbing headlamps have maybe two settings — basic and high. This has at least 6 settings based on combinations of switch press, hold and side tap. My brain looked at the directions and shut down.

And those directions — they go on for pages and pages in many languages, but the core is a small series of pictures. Sure to be lost, essential to reference, and not available online.

So here’s my scan of the part of the Black Diamond Spot User Guide that matters

You’re welcome.

Here are all the friggin modes (I put them in a note on my phone). Die Wirecutter, Die.


Not Powered On (why it needs a lock mode)
- press and release 1x: turn last active light on
- press and release 2x: toggle between spot and wide angle light
- press and release 3x: strobe
- press and hold 2s: red light on
- press and hold 3s: always turns on spot light
- press and hold 4s: toggle lock mode (small blue light blinks for a few seconds in lock mode)

Powered On
- press and hold: goes to bright then dims as hold
- 3x: strobe

(light tap when powered on)
- activate BOTH spot and wide angle

Saturday, August 17, 2019

Best way to get Scrivener content into a blog post

After various experiments the best way I’ve found to get Scrivener content into a MarsEdit blog post is to complete to HTML then copy/paste the rendered HTML into MarsEdit.

Everything else messes up paragraphs.

Friday, August 16, 2019

Mountain bike dropper posts, a very quick review

A public Facebook group featured the best review of dropper posts I’ve read, by TB R-A. Reposting here so it’s not lost...

I’ve owned the RockShox Reverb, Fox Transfer, Specialized Command, Bontrager whatever it is called, and 9 Point 8 Fall Line. Of them all the Fall Line has had the best actuation and has been the best performing.

The Reverbs are a pain because they need bled. The bleed process is easy enough, but still a pain. Also, if the line would be damaged or cut out on a long ride you’re SOL. You can’t fix it in the field.

The Transfer worked well enough, but it makes a sucking noise at the top and bottom and drove me nuts.

The Specialized was a bit finicky, I don’t remember much more about it. The Bontrager was OK, but not nearly as nice as the Reverb in terms of quality or performance.

Right now I have the 9 Point 8 Fall Line on both of my bikes. Performance has been flawless and you can easily repair it on the trail should you need to. The upgraded lever made by WolfTooth is really nice, good ergonomics and you can just replace pieces of it should something break (which happened when I loaned my bike to someone). You can release the rail from the head on one side to access the air valve, it’s pretty slick. So, the Fall Line is my choice. I replace the seals annually on it, which takes about an hour. Aside from that nothing really needs done.

Dropper posts are expensive still, though the cheap clones are emerging. I like the idea of the wireless rockshox, but it’s $800 for now. The Bontrager is less costly than the 9 Point 8.

Sunday, August 04, 2019

Bleeding Avid (SRAM) XX/XO 2012 hydraulic mountain bike brakes (scan of manual)

I’ve now bled my front and rear 2012 Avid XX brakes. I did the front first and got an excellent result. I did back twice, the first time it sucked the 2nd time it was good but not as good as the front.  Tricky business! You really need to follow directions fairly precisely.

Want to get some quick notes out here mostly for my use. Maybe later I’ll fill in the rest.

  • If you’re going to bleed brakes buy a set of fresh pads to insert. No sense bleeding with old pads.
  • The Avid/SRAM (SRAM bought Avid) kit I bought for my 2012 XX vintage brakes is amazing. Full of bits and pieces. For bleeding only need a few. Everything feels surgical quality. The procedure felt more like a medical procedure than a bike procedure.
  • The brake block for my Avid XX 2012 is the one in the manual with the prongs. You can use it with the prongs and the pads in place, or with the pads out and the thick end. There’s a right and wrong way to insert, all the cutouts and notches have a purpose. You’re supposed to remove the pads for and use the thick end, but I’m not sure it isn’t better to use the prongs with fresh pads. You’re running risk of getting fluid on pads, that’s supposed to destroy them and the bicycle and surrounding neighborhood.
  • The 2012 manual that came with the kit I used is excellent. I couldn’t find a copy online save from scurvy services that vacuum up PDFs and reserver them. The 2019 manual isn’t as good. It’s sad SRAM didn’t keep this one around, I’ve uploaded a brake fluid stained scan of my copy.
  • Take your wheels off so they don’t get brake fluid on them or tires.
  • They describe the brake fluid as quite toxic. First time around there were drops on the ground and I really needed a clean lint-free rag. Would be easy to get in eyes. Wear eye protection. Wear latex gloves. If you’re sloppy wear crappy clothes. Do it outdoors.
  • The kit includes a small Torx wrench. If you have a magnetic torx bit driver you’ll be very happy.
  • They are serious about that 75-80mm lever distance.
  • You should have lots of isopropyl alcohol around to clean with. I washed my bike with soapy water.
  • Make a copy of the directions so you don’t get brake fluid on your only (paper) user guide
  • The clamps on tubing were super stiff at first. Needed pliers to close clamp. Gets better after use but still a pain.
  • There are lots of online directions and videos but for me the old manual worked best.
  • I think you need the bike somewhat horizontal, don’t have it in a stand where the brake lever is lower than the caliper.

Wednesday, July 03, 2019

I really like my SharePoint list based blog that's not a SharePoint blog

I don’t think anyone is terribly interested in this, so I’m not going to provide a lot of detail, but if you want to know more just email

So why am I writing anything? I’m writing because this thing has worked very well for years. Alas, nobody at work appreciates the simple genius of how it works. So here I can vent.

I ignored SharePoint’s clumsy native blog. I built my blog off the SharePoint announcement list which has basically worked the same way for 10-20 years. Like every list in SP it has an RSS feed (deprecated in newest versions of SP alas) and email notifications with user controlled update frequencies. So the subscription side works fine.

I added a couple of fields to the basic list. One is for tags. Tags let me create topical views of the list by creating SP views that filter on tags.

The other field (and this worked better than I imagined) was to create my own PUBLICATION_DATE field and sort the blog (list of announcements) by publication date. The default value is the date created — but I can edit the publication date without changing the post URL!

The last is wonderful. Instead of having to point to an old post and perhaps add some new additions, I just update the old post and revise the publication date to current. SP regenerates email notifications to subscribers, updates the RSS feed, and the view shows the updated post at the top — but the URL is unchanged so links don’t break.

It’s really simple, it’s worked very well for 2-3 years, it should work indefinitely. I wish other blogs worked that way — let me revise publication date, sort by that date, don’t break links.

PS. Why SharePoint? Because where I work that’s what we have. We aren’t getting anything better.

Saturday, June 29, 2019

Chrome: Default pjkljhegncpnkpknbcohdijeoejaedia quit unexpectedly

For years I’ve launched gmail and gcalendar on my Mac using apps in my user/application folder I’d named and I loved them. Not only did they let me go directly to gCal and gMail from spotlight they also opened in my preferred user profile rather than the last user profile I’d used.

Today they crash on use.

Intermittently I got this error message:

Default pjkljhegncpnkpknbcohdijeoejaedia quit unexpectedly.

That looks like malware, but apparently pjkljhegncpnkpknbcohdijeoejaedia is an undocumented internal Google Chrome extension. (Very cute Google.)

After a bit of research I believe those apps were known as Chrome apps, and years ago Google supported creating them on the Mac. Google ended support in 2017. I think the apps lived in a Chrome folder that was removed, but on my machine they survived because I’d moved copies into a user folder.

Today my extended use luck ran out. Now they crash [1] under Chrome 75.0.3770.100. I suspect my Mac was updated today or yesterday, this version of Chrome was released June 18.

I REALLY miss the desktop app functionality. “Progressive Web Apps” were supposed to replace it but I don’t think they happened [2]. I might try this 2018 tip to see if I can restore it.

Or maybe the next release of Chrome will fix the crash :-).

- fn -

[1] sample start of log

Process: app_mode_loader [1087]
Path: /Users/USER/*/gCal (jfaughnan).app/Contents/MacOS/app_mode_loader
Version: 4.5.6 (2564.97)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: app_mode_loader [1087]
User ID: 502

Date/Time: 2019-06-29 14:33:12.397 -0500
OS Version: Mac OS X 10.14.5 (18F132)
Report Version: 12
Anonymous UUID: C285F89D-D3A8-7245-0199-81B760782A83

Time Awake Since Boot: 2100 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue:

Exception Codes: 0x0000000000000002, 0x0000000000000000

Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [1087]

Application Specific Information:
dyld2 mode

Thread 0 Crashed:: Dispatch queue:

[2] No, didn’t happen on Mac. Over a year late now:

Progressive Web Apps on Desktop 
Progressive Web Apps now work on the desktop, including Chrome OS and Windows, with support for Mac and Linux coming soon.

For Google macOS is not a priority platform.


Saturday, May 25, 2019

Getting Emily's iCloud photos -- you can multi-select in Photos.web (again)

As recently as 2018, Apple had stopped supporting multi-select in iCloud Photos.web. It was really annoying.

Today it works. I don’t know when this was fixed. It didn’t get a lot of attention in my streams.

It’s a big feature for me.  Now if I want to add photos from my wife or daughter I can browse to their iCloud accounts, select from Photos.web, and download. Much easier than switching to a user account, running Photos.mac, waiting for it to sync, exporting to a shared account, etc, etc.

One odd thing, the file “Modified” date is “Tomorrow at 12:15am”. Presumably a server time zone problem….

Saturday, May 11, 2019

Screen Time old device bug: Dev used device ID as key, forgot Apple ID

There’s a well known old-device bug with Screen Time. Once you’ve setup up Screen Time for a child’s device it will always show up under their Apple ID — even after you wipe the device.

So my daughter’s old iPhone 6 showed up under her Screen Time Apple ID — even after it had been wiped.

Today I changed the Apple ID for that device and enrolled it in Screen Time under a new Apple ID. Then I went to look at her Screen Time device list. Lo and behold — the old device was still there, but now its device name changed to match the device name it had when I reenrolled it with the new Apple ID.

So now one device shows twice in my remote Family Screen Time, once under my daughter’s device list, once under the new Apple ID.

I’ve read that Apple’s Screen Time was a “rush job”. Looks like the dev is doing Screen Time by storing a device identifier — maybe a Serial Number and the device name used at enrollment time. They should have used a combination of Apple ID and device identifier but they used device identifier alone.

Two new discoveries in iOS Screen Time (parental controls): Age 13 and Apple ID incompatible with Screen Time

A reputable Twitter source recently wrote that “Screen Time” was "a rush job".

It feels that way. As part of a book project I’ve spent way too much time experimenting with Screen Time. It needs a top to bottom rewrite. Also needs an API so other vendors can extend what Apple offers. 

Anyway, I’ve learned two new things about Screen Time — two special ages and a hint about why one iPhone could not be enrolled in remote Screen Time.

First the ages. US Screen Time has two special ages: 13 and 18. We know about 18, but the 13 is new to me. 

If a Family Member's Apple ID birthdate means their current age is over 18 then remote screen time blocks are turned off. It’s an 18th birthday gift from Apple! This is a problem for special needs adults — chronologically 18 but very vulnerable. The workaround for a special needs adult is to set their AppleID birthdate so they are 14 (write down the birthdate you used, you may need it).

Note I wrote 14, not, say, 10. That’s because 13 is another special age. If a Family Organizer creates an Apple ID birthdate such that a family member’s age is under 13 they will see, after it’s been created, the message "Children under 13 cannot be removed from Family Sharing.” Not only can they not be removed, their birthdate cannot be changed either. You will need to call Apple Support to have changes made, and you may need to work with a supervisor.  Meanwhile any devices with that Apple ID will count against your sharing cap.

What else did I learn?

I learned that some Apple IDs won’t work with Screen Time. It’s not clear why; I assume it’s a obscure bug somewhere in Apple’s creaky identity management infrastructure. When I set up a test phone for my book project I used an old Apple ID of mine. Without going into the convoluted history, that Apple ID is descended from an old email account and it’s all way too complex to describe. In any case, even though I'd changed the birthdate so age was 14, remote Screen Time settings didn’t “stick”. I’d enable them, they’d flip back to off. I changed the device Apple ID to a fresh one created from my Family Organizer account (which is how I discovered the 13 yo bit) and now it works.

Since my test iPhone doesn’t have a SIM card I wondered if that was part of my remote Screen Time problem. It wasn’t — my setup worked fine. Interestingly when I set the Apple ID this way both FaceTime and iMessage also worked without a SIM card — no ‘waiting for activation’ issues.

Sunday, April 28, 2019

How to clear Google Voice conditional call forwarding from an AT&T phone including iPhone

Long ago I setup Google Voice as my son’s phone’s voicemail using “conditional call forwarding” on H2O Wireless mobile (very cheap, but also weak IT service). I switched him from H2O Wireless to our family AT&T account and wanted to disable the forwarding. 

Unfortunately I couldn’t get Google Voice legacy site to come up on my iPhone so I didn’t disable Conditional Call Forwarding prior to the port. I tried removing the his number from GV but that doesn’t work — it only messes up Google Voice (below).

After the port I couldn’t set a voice mail code for his account. It seemed like voice mail was setup, but when I called him I was routed to Google Voice. Alas, there’s no useful error message.

I restored his mobile number as a forwarding phone in Google Voice but there was  no option for him in Legacy Google Voice to add or remove conditional call forwarding, no “Activate Google voicemail on this phone”. (Probably because the call forward was already in place.)

I tried a #21# trick I read of, but that didn’t work. I thought I’d have to call AT&T but after several searches I found an obscure site with the answer: Dial #61#. That clears “call forward if not answered”. I also used the other deactivation codes as below (67, 61, 62).

I don’t know if that site will stay around, and I couldn’t find this information anywhere else, so here are the set of deactivate codes for several purposes:

To deactivate “Call forward if busy”, 
Simply dial #67# and tap “Call”

To deactivate “Call forward if not answered”,
Simply dial #61# and tap “Call”

To deactivate “Call forward if not reachable”, 
Simply dial #62# and tap “Call”

Android phones may have more control over Call Forwarding but iOS has only forward or don’t forward.

The site also reviews how to setup call forwarding, for example:

To setup “Call forward if busy”,
simply dial 
*67*{NumberRetrieved}*11# and tap “Call”

After using those codes I could set a PIN for his voicemail and it worked normally.

Saturday, April 27, 2019

How to open a tab delimited file in Apple macOS

How do you open a tab delimited file in Apple macOS

Change the extension from .tab to .csv.

Old Mac data exchange used tab delimited files. FileMaker saved them with the extension of .tab. Numbers doesn’t recognize .tab. If you change it to .csv all is well.

Thursday, April 04, 2019

Digitizing home video (once again)

I have made (2000) several (2004) tries (2012) at digitizing our family video but my lost best effort only got about 10% done. I figured I’d just hire a local service and then I let it slide.

Apple’s recent codec retirement announcements prompted me to check what was available locally. I found ancient web sites that were internally inconsistent, no noise reduction prior to compression, unclear codec choices … none of it gave me much confidence. (But see [1,2])

So I’m back at it again. This time I might have an accomplice — someone who needs money and would benefit from learning the tech. So maybe we’ll make a better go of it.

The delays may have let to some data loss, but on the other hand the tech is a bit better. My first attempt would have been with a 400MHz Celeron. Yes, that’s an ‘M’. In those days hard drives were measured in tens of GBs. Now the cheapest hard drive I can buy would hold all of our video.

The tech is a bit better, but choice of codec is still an issue. In 2004 I favored H.264/AAC. I ran into an amazing number of headaches with the Apple software I was using.

For the modern era I found three good references:

They give me a feeling of how tricky it is to do analog video capture well. Time Base Corrector?  BNC terminations? Waveform monitors? CRT monitors?! Yikes.

I did like the sounds of the BlackMagic Intensity digitizer ($240 for T3, $200 for USB 3) used at AUL (Amazon reviews are not great however). It can save output as a lossless file. I want to capture the video as “uncompressed 10-bit 4:2:2” then denoise it, then export as ProRes. Since my accomplice is a student I’ll probably buy the Pro Apps Bundle.

Ideally the process would be automated - capture uncompressed, denoise and incorporate metadata, save as ProRes.

What would I do with this material once it’s digitized? The tech isn’t here yet, but eventually I’d like to incorporate brief (silent) video fragments into my screensaver library. So between showing 10,000 images, show a 30sec of video from our family @ 1995. One day?

- fn- 

[1] From my 2000 page I see Walmart and Target were do video to DVD-R conversions for $35 a tape with YesVideo. They are still around! The price is now $26 for one 2hr tape.  

[2] Pogue years ago recommended Southtree (his screenshot of a VHS tape on a modern laptop screen is remarkable — 333x480 pixels). Their site is impressive; at the moment they’re advertising $57 for up to 3 tapes on 1 thumb drive. I contacted Southtree to ask about denoise/ProRes/etc but they kindly responded that they are consumer-only, so just mp4 compressed.

Tuesday, March 26, 2019

1Password Logins Notes field blank? Maybe it's the CR.

When I moved to Mojave I had to give up on my ancient FileMaker Pro database. The modern versions of FileMaker are far too expensive; consumer databases have passed into history.

For lack of a better alternative I moved over to 1Password. I liked them when they worked with a local password store, I’m not keen on their current cloud solution. I just don’t trust their tech.

I exported as CSV as I’d done many times before. This time, though, I ran into a problem that was probably always there. The first time I went to look up my ‘secret question answers’ they were nowhere to be seen. The Login Notes field where I’d imported them was empty on both iOS and mac OS.

Later I realized the data was there — but only in edit mode. If the default read-only view the notes field showed as empty.

It took a bit of playing around to realize what’s wrong.

Text fields in my version of FileMaker, probably from 2014 or earlier, uses the old classic Mac OS line separator - the single “CR” code. It doesn’t use the OS X/macOS/Unix standard LF or the old DOS CR/LF

When I exported as CSV the output used CR as a separator. When the CSV was imported into 1Password the CR separators went along. They work fine in edit mode but not in view mode.

The proof of the problem was to edit in 1Password, deleting the line feeds and adding new ones. After saving the note displayed correctly.

Update: Per 1Password tech support — turning off markdown formatting causes the notes to appear!

Saturday, March 23, 2019

Converting my old video formats to something that might persist

Apple is killing QuickTime 7 (download 22MB Snow Leopard version here)[1]. The announcement has some useful references.

So I’m back to thinking about one of the worst topics in the geek world — video file formats and codecs. Almost all of which are encumbered by walls of vicious patents (AV1 is the great hope).

It’s been about 4 years since I last made stab at this topic. I reinstalled QT Pro then too!

Conversion from old formats is a PITA. In 2015 I converted an old WMV file (I think I used Flip4Mac [2]) to (I think) lossless uncompressed AVI. The original was 23MB, the AVI output was 311MB. Today I used QuickTime Player 10.5 to open the AVI and it created a 52MB (lossy) .MOV file (Info says it’s H.264 for video, AAC for audio). There’s no control on the conversion compression.

To get this done I’m going to have locate my video files (some in iMovie projects, some in the file system, some in Aperture) and apply some kind of batch conversion where needed. Spotlight’s ability to search for codecs might help, I suspect some useful utilities will show up now that this is getting some attention.

What should I convert to? Ideally I’d choose something designed for video editing. The Smithsonian recommends "Motion JPEG 2000, MOV, AVI”; I don’t understand how MOV gets in there, I thought it was just a container. Also MOTION JPEG 2000 is on Apple’s kill list.

Ok, so things are bad. But we knew that.

Apple’s ProRes is one example of what’s known as an “intermediate codec”. Apple seems to be dedicated to it and I gather it’s widely used in the video industry. So let’s see what other choices there are ...

Fifty. That link lists 50 intermediate codecs. Ugh. Maybe ProRes 442 HQ isn’t the worst option.

I’ll probably have to play around and study some more. Some things I’ll look at ...

  1. Wondershare is $40 for 1 year. There’s a free demo that converts the first 1/3 of the video. It converted an old .wmv file to an HEVC (H.265, AAC) without blinking an eye. Judging by the 1/3 converted the 23MB WMV file would convert to an HEVC file of similar size.
  2. Apple Compressor: $50, or have my college son buy the whole ProApps bundle (Compressor, FinalCut, etc) for eduction for $200.
  3. QuickTime Player’s built-in conversion.

See also:

- fn -

[1] Yes, that’s MB. Wow. It does indeed run on Mojave! Not only that, but I dimly remembered that I had a registration code for QT 7 Pro. Being a total nerd I still have it on hand. I entered the code and clicked “register”, but the registration server is long gone. It still registered though, I quit and restarted and I have the Pro features back.

[2] Replaced by Switch. For $10 you can convert wmv to mp4, for $200 you can to more output formats. If you search wmv to mov conversion you get a lot of junk, so this is worth paying attention to. I might buy it.