Some great words from Imani Barbarin on disability:

How many people wear glasses? I see some hands. So you got some accessibility in your life. Don’t think that because your disability is accommodated, that you no longer have one.

We need to do more to come to terms with the way that disability plays a role in our life and recognize we’ve been taking the lead from disabled people the entire time. And it’s okay. It’s okay to understand your own vulnerability and the ways that the system has been weaponized against you. It’s okay to say that you need rest and restoration.

Whatever you do, I encourage you: please look at the disability angle. Even if you think it doesn’t impact you. I always say — when I’m being mean and sarcastic [laugh] — that the only thing separating me from you is luck and time.

Imani Barbarin from her talk “Who Belongs?” at the Othering & Belonging Conference

I recommend watching her whole talk.

How many people wear glasses? I see some hands. So you got some accessibility in your life. Don’t think that because your disability is accommodated, that you no longer...
Such a great turnout for the #BikeSummer kickoff ride! I rode ahead and got some drone footage of the crowd!
#bikesummer #pedalpalooza
Nothing like the smell of a little heat transfer vinyl in the morning
#pedalpalooza #bikesummer

Finally have my car back

Tomorrow is the Bike Summer kickoff ride in Portland and I just submitted the airspace approval so I can fly a drone around the ride! Hoping to get a few good shots of bikes on bridges!
#drone #bikesummer

🎵 Ooh, the Odesza live album is out! The Last Goodbye Tour Live

Per-capita EV registrations by state

ARIA Pool & Cabanas

at ARIA Pool & Cabanas

Finally getting my car back, hopefully

Yesterday I proposed the idea of a “minimum interesting service worker” that could provide a link (or links) to archives or mirrors when your site was unavailable as one possible solution to the desire to make personal #indieweb sites more reliable by providing at least a user path to “soft repair” links to your site that may otherwise seem broken.

Minimum because it only requires two files and one line of script in site footer template, and interesting because it provides both a novel user benefit and personal site publisher benefits.

The idea occurred to me during an informal coffee chat over Zoom with a couple of other Indieweb community folks yesterday, and afterwards I braindumped a bit into the IndieWeb Developers Chat channel¹. Figured it was worth writing up rather than waiting to implement it.

Basic idea:

You have a service worker (and “offline” HTML page) on your personal site, installed from any page on your site, that all it does is cache the offline page, and on future requests to your site checks to see if the requested page is available, and if so serves it, otherwise it displays your offline page with a “site appears to be unreachable” message that a lot of service workers provide, AND provides an algorithmically constructed link to the page on an archive (e.g. Internet Archive) or static mirror of your site (typically at another domain).

This is minimal because it requires only two files: your service worker (a JS file) and your offline page (a minimal self-contained static HTML file with inline CSS). Doable in <1k bytes of code, with no additional local caching or storage requirements, thus a negligible impact on site visitors (likely less than the cookies that major sites store).

User benefit:

If someone has ever visited your personal site, then in the future whenever they click a link to your pages or posts, if your site/domain is unavailable for any reason, then the reader would see a notice (from your offline page) and a link to view an archive/mirror copy instead, thus providing a one-click ability for the reader to “soft-repair” any otherwise apparently broken links to your site.

Personal site publisher benefits:

Having such a service worker that automatically provides your readers links to where they can view your content on an archive or mirror means you can go on vacation or otherwise step away from your personal site, knowing that if it does go down, (at least prior) site visitors will still have a way to click-through and view your published content.

Additional enhancements:

Ideally any archive or mirror copies would use rel=canonical to link back to the page on your domain, so any crawlers or search engines could automatically prefer your original page, or browsers could offer the user a choice to “View original”. You can do that by including a rel=canonical link in all your original pages, so when they are archived or mirrored, those copies automatically include a rel=canonical link back to your original page or post.

The simplest implementation would be to ping the Internet Archive to save² your page or post upon publishing it. You could also add code to your site to explicitly generate a static mirror of your pages, perhaps with an SSG or crawler like Spiderpig, to a GitHub repo, which is then auto-served as GitHub static pages, perhaps on its own domain yet at the same paths as your original pages (to make it trivial to generate such mirror links automatically).

If you’re using links to the Internet Archive, you can generate them automatically by prefixing your page URL with https://web.archive.org/web/*/ e.g. this post:

https://web.archive.org/web/*/https://tantek.com/2024/151/t1/minimum-interesting-service-worker

Possible generic library:

It may be possible to write this minimum interesting service worker (e.g. misv.js) as a generic (rather than site-specific) service worker that literally anyone with a personal site could “install” as is (a JS file, an HTML file, and a one-line script tag in their site-wide footer) and it would figure everything out from the context it is running in, unchanged (zero configuration necessary).


This is post 14 of #100PostsOfIndieWeb. #100Posts

https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton
→ 🔮


Post glossary:

GitHub static pages
  https://indieweb.org/GitHub_Pages
HTML
  https://indieweb.org/HTML
JS
  https://indieweb.org/js
rel-canonical
  https://indieweb.org/rel-canonical
service worker
  https://indieweb.org/service_worker
Spiderpig
  https://indieweb.org/Spiderpig
SSG
  https://indieweb.org/SSG

 
References:

¹ https://chat.indieweb.org/dev/2024-05-29#t1717006352142600
² https://indieweb.org/Internet_Archive#Trigger_an_Archive
#indieweb #100PostsOfIndieWeb #100Posts
So #Identiverse is using an AI tool to summarize all the conference talks and it works about as terribly as you'd imagine.

Nowhere in my talk did I say "OAuth 3.0", nor did I say anything about global privacy regulation compliance. It straight up hallucinated quotes from me. 🤦‍♂️
ARIA Convention Center

at ARIA Convention Center

Ran my 12th #BayToBreakers race in 1:59:54 on Sunday 2024-05-19.

After a comedy of transit struggles to get to the start line, I jumped in with Corral C runners (my bib was for Corral B) and started with them. Had to use a porta-potty just over a mile into the run.

Great seeing the Midnight Runners crab rave cheer gang in Hayes Valley before Hayes Hill.

Made it into Golden Gate Park, and eventually saw Vivek and David Lam making their way back from the finish.

Just before the Bison paddock, I saw Paddy & Eleanor walking back as well, and stopped to briefly chat with them.

Soon after I saw Adrienne and a few other #NPSF pals running and as they stopped to say hi to Paddy, I took off to go finish.

Adrienne and friends caught up to me on the last segment before Ocean Beach, and decided to run together. After turning the corner onto Great Highway, I could see the finish line. Glancing down at my watch there seemed to be enough time to finish under 2 hours if we picked up. I asked Adrienne if we could try for a sub-2 hour time and she said to go for it. We picked up the pace and after crossing the finish line I stopped my Garmin watch and it read 1:59:54.

Oddly the official Bay to Breakers results (which are not at a linkable URL) showed 2:00:07. The only explanation I have is after the first timing strip after the finish line where I stopped my watch, there was a big crowd of loitering people that made it hard to keep moving, and cross a second timing strip. It is possible the first timing strip did not register my bib chip, and only the second timing strip picked it up. I have emailed Bay to Breakers to see if they can correct it, and included a link to my Strava activity that shows I recorded the entire race on my watch.

It was a harder race than usual, despite the good weather.

There were a few things that contributed. First, I had run each or the prior two days: 5km+ at Friday night’s Midnight Runners 5th anniversary run and run/walk celebration afterwards totaling ~5 miles, and then 6.5 miles at SFRC on the trails on Saturday.

I slept reasonably well the night before the race, and having checked the news announcements about the availability of transit options in the morning, planned accordingly. When I checked the actual train arrival times, none of the MUNI trains that were supposed to be running were running. I ran down to take the MUNI bus which was supposed to go downtown, except it stopped at Van Ness avenue, inexplicably, and the driver told everyone it was the last stop.

Admittedly I was already annoyed that SF MUNI for some reason decided to stop the MUNI trains the morning of Bay to Breakers that could easily have taken thousands of runners to near the race start at Embarcadero via the Market Street subway. Having the bus stop sooner than expected was a second disappointment and discouragement.

I (and many other runners) decided to run towards the start, which was still ~2 miles away at that point.

Upon reaching the Civic Center station on Market street, we realized from the street level displays that BART trains appeared to be running normally like any other Sunday, so we went downstairs and paid for a second transit ticket to take the BART a few stops.

The BART train was full of costumed Bay to Breakers runners. Disembarking at the Embarcadero station, I jogged/ran the rest of the way around the entrance corral maze to the right spot for Corral B entrants, and joined the group waiting at the start line.

Lessons learned: I am not trusting MUNI rail or bus into downtown on Bay to Breakers race day again, despite any announcements from SFMTA. Too many years of bad experiences.

However, BART seems reliable so I plan to find my way to taking BART in the future. Perhaps by taking a bus to the 16th street BART station, avoiding all street closures.

Having missed my start corral due to the transit mishaps, I didn’t see anyone else I knew. The combination of being annoyed at MUNI’s unreliability (both in what was announced vs what was running and premature bus termination) and starting in a crowd not knowing anyone took my motivation down several notches.

Still, the weather was pleasant yet cool, ideal for a race so I ran a pace that felt good for me, and kept an eye out for friends along the course. I stopped after mile 1 for a portapotty pitstop. Back in the chaos of Howard street and then Ninth to Hayes, I saw a few folks I knew from a distance.

Seeing and high-fiving the Midnight Runners crab race cheer crew at Hayes Hill turned my mood around though, and I enjoyed the rest of the race, from Hayes Hill through Golden Gate Park.

It was my slowest Bay to Breakers yet, however first in a while that I finished with friends!

After we grabbed our medals and snacks in the finish area, I hiked/jogged back to the Panhandle, found the Midnight Runners crab rave crew keeping the party going and joined in.

2023: https://tantek.com/2023/157/t1/ran-baytobreakers

#run #race #roadrace #b2b #bay2breakers
#BayToBreakers #NPSF #run #race #roadrace #b2b #bay2breakers
Mastro's Ocean Club
OpenID Board Dinner

Roll up, Roll out

#social-computing #dark-forest #social-media #warren-ellis

Some Logic Pro 11 updates

ARIA Convention Center

at ARIA Convention Center

Proper Eats Food Hall

at Proper Eats Food Hall

Lift Bar

at Lift Bar

Fireworks above the Hawthorne Bridge overlooking the Willamette River. #Portland #OregonExplored