Sunday, June 28, 2020
Carbon Copy Cloner was quietly excluding 1Password stores from backup (Corrected: app, not data stores)
Wednesday, June 24, 2020
- Google Colab: absolute easiest and least painful. I believe the Python code executes in the browser, so it's substantially slower than execution directly in macOS.
- Microsoft Visual Studio Code for macOS: this does require the traditional Python install with Homebrew, but it's a very beginner friendly environment. The Python plugin provides Jupyter support.
- Homebrew Jupyter: similar to Colab but like Visual Studio is part of the Homebrew/Python path.
- Azure does Jupyter Notebooks (via @jhovland) at notebooks.azure.com.
There are many ways to write and execute Python code:Python tutor (online, visual debugger)Python interpreter (command line)Visual Studio Code (editor, good debugger)Jupyter (notebook)Google Colab (online, collaborative)
During this lab we see all of them and familiarize with the exercises format. For now ignore the exercises zip and proceed reading.
Sunday, April 12, 2020
Facebook only documents exporting a calendar file. (In the mobile app there's a simpler way to add a single Event to a system calendar.)
I couldn't even find any mention online of the Facebook calendar feed. Just sad comments on Facebook's removal of RSS feeds about 7 years ago.
I was just about to give up when a last search found a Business Insider article from Dec 2019. Some Facebook dev has kept it alive in the most obscure location possible.
You can't find it by looking your Facebook Calendar: https://www.facebook.com/events/calendar
You can't see it by looking at your Facebook Events: https://www.facebook.com/events/
The only way to find them is to use the web UI and inspect the ... context menu for any single Event.
Beneath that you will see "Export Event":
In fact the resulting dialog, in addition to allowing saving of a single event, also provides the secret URL for a Calendar feed (RSS, iCal) including the Facebook UID and a "key" for access:
PS. I do appreciate so many Facebook page URLs are readable, persistent, and meaningful. I rely on that given the ever changing menu and navigation structures.
Monday, February 17, 2020
I can't complain too much -- I got a lot of use from it. The EF series is Canon's low end and it's not a great lens. (My Canon 50mm 1.8 is a famously cheap and great lens. With modern sensors it works very well for both portrait and for things I'd have used a 100mm zoom for. It's not image stabilized though.)
It turns out Canon doesn't service EF lenses of that generation. They will give 15% off a new similar lens (not sure what qualifies) or 10% off a refurb lens. Amazon's Canon prices are the same as Canon's list prices.
I think their modern equivalent of the old 28-135 is the Canon EF-S 18-135 (list $600, refurb $440) and EF-S 18-200 ($700). The 28-135 was a full frame lens on my 1.6 EOS body, these are S type lenses so the ranges are quite different. My old 28-125 was equivalent to a 45-200 S lens. After quick scan of review sites the 18-135 might be the better lens.
So a bit more money but a refurb with a 15% discount isn't too bad.
Would be nice if they still serviced old EF lenses. Maybe they do service old L lenses. Given the time it lasted the discount is nice (esp. on refurb) but not sure it's worth the hassle compared to an Amazon purchase. (If I buy I'll use KenRockwell.com referral link.)
Update: I did end up ordering the 18-135 EF-S as it has had a recent upgrade and sounded generally better than the 18-200 for my uses. So less zoom, but lot more wide angle. I took the 15% discount. Canon didn't want my old lens, only the serial number. They didn't have a refurb in stock.
Canon has the worst voice routing system I've used in years -- I had to keep repeating "representative" and on one attempt was booted off with a tedious and even condescending dialog. The automated system couldn't handle lenses.
Sunday, February 02, 2020
I wrote this up for a book project on special needs iPhone users (Explorers), but it's also my recommendation for non-geek iPhone users. Credential management is definitely an unsolved problem ...
Every Explorer online identity involves, at the least, a “username” for the Explorer, a password and either an iOS app name or a web address (URL). Most online identities also require an email address for communication, password resets and (alas) marketing. They may now require a mobile number and the answers to “secret questions”. All of this information makes up an online “credential”; but we often use the word “password” as a shorthand for the whole bundle
It’s hard to manage online credentials. I’m pretty technical, but I still find it a tough problem. Lots of people get locked out of their online services and need to do password resets or even start over with a new account. One day I think Apple will provide a full solution, but to date they’ve been reluctant to take this on.
The good news is that most Explorers can get by with maybe 10-30 credentials and they don’t need to know most of them (more on this below). The key is to use as few online services as possible. Remember, every online service is another credential to manage!
I’m going to suggest three-and-a-half ways a Guide can manage an Explorer’s credentials. Each has advantages and disadvantages. For all of them I have two strongly held recommendations about passwords:
- Don’t reuse passwords for these important sites. If a password is captured (happens!) it becomes part of hacker libraries and will be applied to other Explorer accounts.
- Don’t follow the usual advice to create long random passwords. You’ll go insane trying to tap them out on an iPhone when you can’t see the password characters. Instead combine random pronouncable words, letters and symbols that you can tap. The password should be at least 14 characters. Flip through a dictionary to pick words randomly. This is good enough. You aren’t protecting nuclear launch codes.
Option One: Pencil and Paper
You may remember being told not to write down credentials on paper. That’s like the old advice to treat back pain with bed rest. We were wrong when we said that. Writing credentials on paper and saving them with your home paperwork is super secure. That’s what hard core security geeks do.
This does require good handwriting, but it works for a small number of credentials assuming you follow my password advice. If you need the credentials when you travel you can take a photo and keep it with your personal iPhone photos (be careful not to share it though!).
You do need a backup! You could copy by hand and mail the copy to a trusted friend. In theory public photocopiers are not secure, so I’d say just take a photo and keep it in your iCloud photos (not shared).
Option Two: Use an iCloud Secure Note on a Guide’s iPhone
I recommend this for the passwords my Explorers manage for themselves. An iCloud Secure Note is protected by both your iPhone’s unlock passcode and by a special Secure Note password. The iOS User Guide explains how to create a Secure Note.
An iCloud Secure Note is automatically backed up and you can review old versions of the note. It can also be shared with an Explorer who is able to manage their own credentials.
This method is less secure than paper and pencil but is also less work — and you can copy/paste passwords from the Note rather than type them on iPhone, Mac, or a web browser.
The main risk of this method is accidentally deleting your credentials! Be sure to print out the Note periodically and store the paper copy at home. You can also restore a prior version but this is less reliable. Just print.
Option Three: Use 1Password or another reputable password manager
This is what most computer experts recommend, but true security experts are more cautious. When you use a password manager you are placing a great amount of trust in the vendor. There are so many ways a password manager vendor could steal credentials. Even if a vendor is honest and technically skilled, their products can be acquired by someone less scrupulous.
Of all password managers 1Password is most often recommended for the iPhone. It’s what I use, though I don’t use their Cloud service. The Cloud service is obligatory for most people though, and it costs about $40 a year.
If you’re just managing a few Explorer credentials Paper and Pencil is simpler than a password manager and definitely more secure. If you use a password manager for your own credentials then it may be a good place to store an Explorer’s credentials.
Option Three and a half: Use Apple’s semi-secret password manager
Apple would take over credential management for their customers. It hasn’t happened yet, but they have partial solutions. You can part of Apple’s solution it you have enabled Keychain in Settings:Apple ID:iCloud and you’ve accepted Safari’s offer to save web site passwords. Just say “Hey, Siri, show me my passwords”. You can also go to Settings:Passwords & Accounts: and tap on “Website & App Passwords”.
Another part of Apple’s solution is “Sign in with Apple”. Apple wants iOS apps to support this and there’s a way for web sites to use it as well. This method never shows a password, it works with Face ID or Touch ID.
Both of these solutions are a work in progress. We will know Apple is serious if they create a separate App for managing credentials instead of hiding things away in Settings. Not all iOS apps store credentials in the keychain and “Sign in with Apple” is just beginning.
They are convenient for web sites and apps that aren’t important enough to be properly tracked. Just let the iPhone suggest a password and then forget about it. The iPhone will manage the password and if something goes wrong nothing much is lost.
These three-and-a-half options cover Guide management of Explorer credentials. In my next section I’ll go over which an Explorer will need to manage themselves and how to transition from Guide management to independent management.
 Apple has a partial solution for web sites but nothing for passwords entered in apps and elsewhere. Their longterm solution is called “Sign In with Apple” but it’s unclear if it will succeed or how serious Apple is about this.
 Browsers are not very secure though, so viewing readable passwords in a web browser is not ideal.
 1Password still supports an old local storage method. It requires a very technical user to setup, it’s not well supported any more, and it’s not super reliable.
 Since Apple doesn’t support a guest/parent/Guide Face ID this could block Guide support for an app or site. More on this in the final chapter on political action!
Saturday, January 04, 2020
(You can skip the rant to get to the tech details)
<rant>I frequently berate Apple for the radioactive-feces-infested-dumpster-fire that they’ve built out of Family Sharing and Parental Controls / Screen Time / Restrictions  … but my latest experience has added a note of sympathy for the engineers who offend Tim Cook and are HR assigned to work on this prior to leaving Apple.
Apple has built something insanely complicated. The intersection of user interfaces, regional rules and restrictions, content licensing, DRM, functional requirements, iOS, macOS, iCloud, sync, multiple OS versions … heck, there probably time zones in there too. At this point they might as well give up and throw a neural network at it.
Whatever your day job, be grateful this isn’t what you work on.
Things are almost as bad on the consumer side. There’s a reason I seem to be the only person alive trying to make remote Screen Time work. (It’s a book project, I don’t have a choice.) With some effort I’ve come up with practical recommendations for caregivers (example) — but they assume the software actually functions. In practice I have run into a wide range of bugs and weirdness, particularly since iOS 13 was released.<rant>
Among the many complications Apple contends with into are rules about how many devices and how many users can be a part of a Family for the purposes of both DRM management and remote Screen Time. These are poorly documented, but as best I can tell the limit is 5 family members and somewhere around 10 devices (it’s not clear how multi-user accounts on macOS are treated or Apple TV). Our family has five members so we’re pretty much at the limit and I think we’re at the absolute device limit as well.
I say “think” because it’s not clear that there are error messages, I think things simply break.
So the baseline situation is pretty bad, even before one runs into bugs with handing down devices between family members.
I made things worse though. For a book project I added a test account — email@example.com. That pushed us up to six family members and probably hit or exceeded our device limit. Since my test phone is an iPhone 6  it can’t upgrade to iOS 13 and is no longer useful for the book project. So I decided to try to remove it.
That’s where my next set of problems began. I’d make the mistake of creating the book account with an “age” less than 13. Ages are important in Apple’s Screen Time world. Basically:
Age 18 or more: independence, controls stop working, can purchase ad lib, can be Organizer. (Basically at age 18 you need to remove children from Family.)
Age 13: non-vulnerable status but subject to controls, cannot be Organizer. Age 13-18 is the range for Screen Time and content sharing. If you are the caregiver for a vulnerable adult (ex: cognitive disability) and need Screen Time support you need to periodically adjust their birthdate so they are over 13 and under 18. (We need legislation so Apple supports cognitive disabilities they way they support visual disabilities.)
Age 12 or less: vulnerable status. See below for the special rules.
I’d blundered by creating an iCloud ID for a “child” account with a current age of < 13. These vulnerable user accounts are special:
- They cannot be deleted by users. Only Apple can remove them. They can only be shifted between Family Organizers (supports divorce, parental death remarriage, etc). If a child should die, the grieving parents will need to work with Apple support.
- The birthdates cannot be changed. (Of course.)
- Since they cannot be deleted the Organizer iCloud ID they are associated with cannot become a non-Family ID.
- Since the Organizer ID must stay a Family ID the payment method cannot be removed from it.
That last bullet point is important. It’s a bit weird, but Apple documents how to create an Apple ID that doesn’t have a payment method. You can use it to buy free apps and tunes.
You can’t, however, turn that Apple ID into a family organizer:
If you're the family organizer for a Family Sharing group and want to share purchases with your family, you're required to have at least one payment method on file. A payment method is also required to set up accounts for children.
If you have an Apple ID like that, and you try to make it a Family Organizer in macOS Mojave iCloud despite the warning, you’ll get this helpful error message:
“There was an unexpected error”. Yeah, Apple was serious about that “requires a credit card” warning, they just didn’t code the error handler response for those who ignored it. I figured given the kludgy workaround Apple documented that the warning was obsolete. Wrong.
Why does Family Sharing require a payment method? I suspect Apple’s hacked together back ends can’t prevent some purchases even when there’s no payment method — and Apple doesn't want to get stuck with the tab. Another possibility is that it’s needed as part of Organizer identity tracing in case a vulnerable child family member is at risk.
So, what do you do when you have too many kids and you need to dump one that’s under 13?
The only recourse, short of phoning Apple support, is create another full Apple ID (age over 18), make it a Family Organizer, and transfer the sub-13 to that “Organizer”. You need hardware to create a full Apple ID, but if you have a Mac you can do it just by adding a system user. I did that to upgrade a limited Apple ID I’d created long ago to a full Apple ID. I then tried to use this fake parent/Organizer without a payment method, which is how I got the “unexpected error”.
After I added a real payment method and confirmed iTunes could see the account change I tried to again make that Apple ID the Organizer for a new family. This took a while. At first the macOS Mojave iCloud Preference Pane would simply display a blank window. After about five minutes it worked. I presume a back end system got updated.
From there I hopped through the transfer process between the macOS account for my new Organizer Apple ID and my iPhone that currently managed my faux 11yo. Some of the screens i saw are illustrative:
I got an error message during the process saying the request had expired, but it went through anyway. I think I got that errant error message because I backed up a screen to do a screenshot. Yeah, this stuff is fragile.
So it appears for now that I’ve moved my fake 11yo from my true Family to a new fake Family where it will sit for another 2 years. Then it will turn 13 and I can vaporize it (I’ve created a future task :-) and then I can remove the payment method for the fake Organizer.
Once I get my strength up I may try to contact Support about some of the other problems with our Family Screen Time, like that handed down device still stuck to my daughters account (or I can just wait until she’s 18 and exits).
Now I need some Scotch, but it’s still a bit early here ...
 Extending the existing Family Sharing to enable remote Screen Time management was a fatal error.
 The iPhone 6 can’t move beyond iOS 12, but Apple is still supporting iOS 12 on it, and since iOS 12 is superior to 13 in several ways the 6 is arguably now a better phone than the 6s.
Saturday, December 21, 2019
I upgraded from iOS 12 to 13.3. Most things worked (Parental Controls/Screen Time may be more broken, but it’s always broken), but I had one significant bug.
If I opened a .docx (Word) file in Mail.app it would display in the docx viewer as expected. If I then tapped the share sheet icon the viewer would crash.
David Yeh found a workaround — do a long press on the document and then use the share sheet from that popup screen. Another contributor suggested removing and restoring the mail account, that didn’t work for me.
Today I found a fix for my case. I deleted two utilities: Pinner (last updated 2y ago) and Opener (frequently updated) then restarted my phone. That removed their associated share sheet action apps.
Now the share sheet works for me.
I’ll reinstall Opener if I find I miss it. Pushpin.app was updated relatively recently so I’ll use that instead of Pinner (really, I only use the Pushpin app action).
Sunday, December 01, 2019
- Open Safari and view the specific Note.
- Drag the URL ref to desktop creating a .webloc file, name it as desired
- Store .webloc file in folder
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
I'm now unable to use MarsEdit with Blogger on Mojave or High Sierra. When Google asks me to authenticate instead of getting the usual embedded web page for entering credentials I get a blank page.
Either Google has changed something so this only works on Catalina or there's something odd about my Google accounts. I've tested with
- two non-2FA Google Apps identities that used to work
- my personal 2FA Gmail Google ID
- my wife's personal Gmail Google ID never used for blogger
- two user accounts on my Mojave machine
- 1 user account on High Sierra
- Admin and non-admin account
- Clearing caches with Onyx
- I think I also tried an older version of MarsEdit that was on my old account on the High Sierra machine
Update 12/6/2019: I eventually realized the problem was my home network. I have a Comcast Xfinity router and an Apple AirPort Extreme. Both have had no configuration changes in months, but Comcast recently updated my service and the AirPort firmware went to version 7.9.1 a few months ago.
The PDFs are encrypted. They won't render in macOS Mojave Preview; I can enter the password but I see a blank page. (For more on all the many issues with PDF on every platform but especially macOS see the great Eclectic Light series on macOS PDF by Howard Oakley.)
To remove encryption:
- Drop onto Chrome. Enter password. Chrome will render them.
- In Chrome select Print.
- Change print destination to PDF.
Thursday, October 31, 2019
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:
- 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.
- Flatten the keyword hierarchy (the marvelous hierarchy is from a time when giants walked the earth).
- Regenerate images from RAW (this will take eons and is high risk).
- Be sure image locations and face recognition (never worked) are turned off.
- Simplify all smart albums not supported by Photos.app.
- Create an empty shell of current Library, then use that to import all images from past Library. Confirm everything is correct.
- Rebuild database to confirm no errors.
- Per Apple’s migration directions, create full-sized “previews”.
- Ensure iCloud is empty of images and that Photos.app destination library is empty with no iCloud sync. Disconnect from network.
- Import into Photos.app
Update 2/17/2020: Avalanche claims ability to migrate from Aperture to Lightroom (Mojave and up). I'm looking for reviews.
Tuesday, August 20, 2019
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
Here are all the friggin modes (I put them in a note on my phone). Die Wirecutter, Die.
TOP BUTTON modes
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)
- press and hold: goes to bright then dims as hold
- 3x: strobe
TAP RIGHT SIDE
(light tap when powered on)
- activate BOTH spot and wide angle
Saturday, August 17, 2019
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
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
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.