Monday, March 20, 2023

Basic bicycle kit list with some notes on flats

I put a basic bike kit together for my daughter (currently in college with her bike) including a companion shared iCloud Note. I think the note is kind of useful, so here it is for reuse:

Bicycle Kit


Lighting

(Charge these when you get home then every 2-3 weeks even if not used)

Bike Light (NiteRider)

Rear Bike Light Blinky


Repairs

Multi tool in saddle bag

Chain lube (dry)

General Lube for derailleurs, other parts

Inner tube spare

Patch kit and pressure gauge

Tire lever

Bicycle Pumps (floor and mini) 

Schrader adapter


Clothing

Wind shell

Pant ties


Other

Water bottle

Cable and kryptonite locks and keys

Helmet

Bike bag

Register bike


Before ride

Charge lights

Check pressure

Look for loose parts

Check brakes


Changing tube

  • Picture below of tire lever (remove tire), schraeder adapter (carry just in case, is small, can carry by putting on one of your valve stems) and a small pump that doesn’t work great but better than nothing.

Options before patching a flat

  1. See if bike shop nearby
  2. Call a friend to help or bring home
  3. Maybe uber?
  4. Remove tire and replace with new tube
  5. Remove tire and tube, patch and replace.


Links to directions

Using speedier lever - https://www.youtube.com/watch?v=ZbO_03rKyPk 

How to patch a flat  (REI)

Things to know

  1. This is the hardest thing most people do on a bike.
  2. Some tires are really hard to remove and getting tire back on can be hard (Usually have to do with thumbs but speedier lever can be used.  Most tools just make a hole in the tube.)
  3. It’s quite easy to trap a bit of tube under tire. I like to inflate a bit then pinch tire all around the rim trying to free any trapped tube. Then deflate, repeat pinch, then inflate.
  4. Inflation options include: floor pump (best), mini-pump, CO2 canister (meh), gas station pump with Schrader adapter below

Using the Schrader valve adapter

  1. You need to undo the top Presta valve!
  2. Put on adapter
  3. Fill in small steps, but some modern gas station pumps may be slower to fill. Don’t overfill, can blow tire off rim in some older pumps.


Wednesday, March 15, 2023

Apple Family Sharing and reviewing family member charges

Apple's family sharing is complex and problematic. Family member charges are paid first from the Apple Account balance then secondarily to the Family Organizer account. Charges for members under 18 can require pre-authorization, but this cannot be done for over 18. The user interface for viewing Apple Account balances is obviously an old hack that would never pass any true review.

The Family Organizer receives emails with family member transactions on them. There's no comprehensive historic view of all family transactions however. A support article recommends using https://reportaproblem.apple.com, but that has only a 90 day history. Each family member can see their own transaction history on their Apple device, there is no web interface I know of for this comprehensive history. Recurring subscriptions are billed to the organizer but may be viewable only from the member account.

Essentially if a Family Organizer wishes to review family charges they need to do so within 90 days and they need to use reportaproblem.apple.com. Tracking emails is a less effective approach. To review older purchases the Organizer will need to use a family member's device or macOS account.

PS. Apple managed Subscriptions appear in the iOS/macOS subscription list, but 3rd party (ex. YouTube channel) subscriptions only. show up in the User's account view. You will see the recurring charge (monthly, etc) in reportaproblem.apple.com. Subscriptions must be managed in the host app, Apple only handles the billing.

Monday, March 13, 2023

Google Apps (Workspace) email failing? How to check DKIM and update in your DNS settings if needed.

When I travel every bit of IT in our family starts to malfunction. On a recent trip this included Emily's emails, they were intermittently rejected by Gmail recipients. Once I was home I had to dig up old knowledge; I found the answers in prior blog posts (see references below). It looks like something wiped out our Dreamhost DNS DKIM records a few weeks ago [1]. 

It's hard these days to do email with anything that's not full hosted on the big three.

The refs have more detail but here's the outline of the process:
  1. In Google Workspace - Apps - Gmail - Authenticate email get the DKIM text value. You will probably have to generate a new record.
  2. In Dreamhost control panel manage websites click on DNS settings for domain and enter google._domainkey as host and the TXT record value. (DH UI makes this look like it appends a suffix to this but it really doesn't.)
  3. Once DH says the record has propagated return to the Admin console and click "start authentication"
It can take 48 hours for this to fully propagate but a few minutes after adding the key it did work when I validated as below.

To see if DKIM is working follow the process Google outlines (Usual automated testing services don't work with the way Google Apps do DKIM -- the selector won't work):
Send an email message to someone who is using Gmail or Google Workspace. (You can't verify DKIM is on by sending yourself a test message.) 
In the message header, look for Authentication-Results. Receiving services use different formats for incoming message headers, however the DKIM results should say something like DKIM=pass or DKIM=OK.

If the message header doesn't include a line about DKIM, messages sent from your domain aren't signed with DKIM.

When I looked at view original sent form Emily's account to my personal gmail account I didn't see DKIM=pass or DKIM=OK but I did see two entries starting with:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;

X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; 

More importantly when I scrolled up a bit (this is in Gmail View Original) I saw a header that's interpreting the email headers (I think this might be a newer feature):

Message ID ....

Created at: Mon, Mar 13, 2023 at 2:59 PM (Delivered after 12 seconds)

From: Emily ....

To: John ...

Subject: test DKIM content

SPF: NEUTRAL with IP ...

DKIM: 'PASS' with domain ...

You can also paste the "original message" headers into toolbox.googleapps.com/apps/messageheader/. That gave similar results.

When I tested on a second family domain that did NOT have DNS TXT entry for DKIM it showed as DKIM 'PASS" in the email header interpretation with an odd domain string -- BUT in Google Apps it showed as NOT authenticating. I cannot explain this. 

Once I updated the DNS TXT DKIM entry for that domain and allowed a few minutes for propagation it did show in the Google Apps admin console as authenticating with DKIM and the headers showed the correct domain name.

DH's note on SPF records says they cannot be updated if we are using Google Workspace. This is new since 2018 and I think that's correct.

- fn -

[1] Eons ago every Dreamhosted domain had a free option to add Google Apps (now Google Workspace). That went away and earlier this year Google said they would discontinue the legacy free Google Apps. That was a thrash but on the edge of doom Google relented. I figured a DH script wiped the records but their first tier support said they hadn't done anything and instead referred to Google automated scripts that might change their DNS records (!).

- refs -

Monday, February 27, 2023

Managing sync issues in the Apple Notes app - what I do

I use Apple's Notes app fairly often. It's come a long way from early days but it has its share of bugs. The two I run into most often are formatting bugs and especially sync failures.

Formatting bugs seem to be related to frequent edits to a note using Notes app styles and character formats. Sometimes editing stops working in odd ways. I have to create a new Note and select all/paste into the new Note.

Sync bugs are more common and more serious. There are two kinds of sync bugs - global application sync failure and note specific failure.

Global sync means no notes are synchronizing and perhaps no iCloud content. I've seen that with iCloud password changes. I recommend never changing an iCloud password, Apple really doesn't want it to change. I had to recently because trying to use the Stanza calendar on the Saint Paul Saints web site with Apple integration triggered an instant Apple account lockout and mandated password reset (be afraid).

If iCloud sync doesn't work after a password change and iCloud seems to be properly authenticated first try restarting your iPhone or Mac. Then, on an iPhone, try sending an iCloud email. That last may require you to YET AGAIN enter your iCloud password. With luck the credential problem may resolve for all iCloud functions.

Single note sync failure may be something I see because I'm using Notes across the latest version of iOS and Mojave. I suspect it's actually fairly common even on Monterey/iOS though.

If it's just one note that won't sync between two devices you can check out Apple's web client view of Notes. That will tell you which device is off but it doesn't help with the fix. As far as I can tell there's no sync failure resolution built into Apple Notes. If Apple's sluggish iCloud sync means you have edited one note on two devices when they weren't in full sync then that particular note will no longer sync. No error messages, no offer to sort things out, no creation of two versions, it just quietly sits in isolation.

The workaround is to create a new note and confirm that syncs. Then on each separate device move the content from the now isolated notes into the new syncing note. Then delete the notes that didn't sync on each device.

Synchronization is a problem some seem to have solved (Simplenote for example), but Apple is not among this elite group.

Saturday, February 18, 2023

Apple Watch Sleep App: Reinstallation and setup

My son has an Apple Watch SE running watchOS 9.3.1 (current). I'd never touched an Apple Watch but we wanted to get some data on sleep issues so I dug into it a bit. It turns out that the Sleep app is a frequent topic of Apple Discussion posts. I'll summarize what I learned here in case Google miraculously works and it's helpful to someone else.

References that were actually helpful:

Key discoveries

  1. It's not obvious which Apple Watches support the Sleep app. It seems to work on any device that can run the latest OS. His SE qualified.
  2. It's possible to delete the Sleep app from Apple Watch. His didn't have it; he may have accidentally deleted the app. App Store search is utterly broken so it's hard to find it to reinstall. Reddit had directions (see above) that worked.
  3. Once you have the Sleep app reinstalled you need to follow the directions on Apple Track Sleep with Apple Watch and iPhone carefully including this part: "If you paired your Apple Watch after completing Sleep setup, you can still turn on Track Sleep with Apple Watch. In the Watch app on your iPhone, tap the My Watch tab, then tap Sleep. Then tap Track Sleep with Apple Watch to turn on this setting."
  4. The reports are well done but they are only viewable on the iPhone or Apple Watch. There's no export or print function [1]. Third party apps may have more capabilities, but the App Store is a sewer so I didn't want to wade into it.  Instead I did a bunch of screenshots from his iPhone and used Picsew to stitch them together and Preview to create a PDF with the reports.
- fn -
 [1] You can export all heath data as XML. This produced a 180MB file that BBEdit was able to open. It's not helpful.

Sunday, February 05, 2023

Family member not getting iCloud+ family subscription for 2TB storage - "Use Family Storage" in Settings (Family Sharing)

A family member was seeing only the default 5GB of storage. I prepared to the usual fixes like restart phone, upgrade iOS, leave and restore iCloud and, finally, remove from family and add back in.

Turned out the fix was much simpler as of iOS 16.3.

Settings:Apple ID: iCloud: Manage Account Storage: Use Family Storage.

After I selected this option they got access to our 2TB and the "Use Family Storage" option went away. Instead they had "Change Storage Plan". Tapping that gave the option to leave Family Storage.

Apple's docs mention something about an iMessage going to family members to give them the option to use Family Storage. I suspect that didn't get attention.

Once I'd fixed the problem I used the new keywords to search for Apple documentation. Google found nothing (though it's really bad now) on the Apple site except a post from 2 days ago. So this might be newish.

Update 1/17/2024 

In the 2024 version of iOS and macOS (Sonoma) a friend ran into a similar issue. The family organizer had purchased the 2TB plan but my friend was only seeing the 200GB he paid $1 a month for. This time we found an Apple support document on the problem. If someone is paying for anything beyond the default free storage they have to manually switching into the family plan and end their subscription. This is now found on an iPhone in the newish Settings:Family:Subscriptions.

  1. Go to Settings > Family.
  2. Tap Subscriptions.
  3. Tap iCloud+.
  4. Tap Use Family Storage.

Also, when updating this, I discovered a 2017 post I'd done where I ran into a similar problem. That might be worth a look too.

Wednesday, January 25, 2023

Using IFTTT Webhooks to post RSS feed data to Mastodon (requires pro account)

Update 2/19/2024: I did this using my free IFTT account but per IFTT "Starting February 15th, 2024, webhooks Applets will be disconnected for free users". Currently a subscription is $35 a year but of course that may go up.

------------ original --------------

Eleven years ago I wrote about using the IFTTT service to create tweets from the RSS feed of my Pinboard shares (which are written for myself and for Emily; there are now over 49,000 entries).  

Back then I was continuing a kind of sharing I started with Google Reader Social (details) and continued with App.net after Social died.

Now Twitter is dying, but, incredibly, Maciej Ceglowski's Pinboard endures. I've migrated to Mastodon (on an instance for veterans of App.net!) so now I use IFTTT (still free for my use) to create mastodon posts tagged #jgshare from that old Pinboard RSS.

I'm writing now to share a bit of how that works. I started with a recipe first published in 2017 and updated in 2022 by KelsonV. That recipe uses IFTTT web hooks: I tweaked it a bit to get the output I wanted:

    Descriptive Title

    URL

    Commentary

The recipe is a bit hard to follow but the key steps are:

  1. In Mastodon Profile Preferences Development create an "application" with website "https://ifttt.com/" and Scope of write:statuses. After it's created copy the access token.
  2. In IFTTT create a rule based on the RSS feed of your source (in my case Pinboard shares with a particular tag). My rule starts with IF "New Feed Item"
  3. The action part of the rule is a web request"
    1. URL: https://appdot.net/api/v1/statuses
    2. Method: POST
    3. Content type: application/x-www-form-urlencoded
    4. Authorization: Bearer 1234567890 (replace 1234... with your Mastodon access token)
    5. Body as below.
KelsonV's post has additional details and screenshots.

The trick in the body was to get line spaces between Title, URL and Commentary. This worked:
status = 
<<<{{EntryTitle}}
>>>
<<<{{EntryUrl}}
>>>
<<<{{EntryContent}}
>>>
#jgshare
When I first ran this I'd get errors in my IFTTT log but the rule worked successfully. The errors went away.