Tantek Çelik

Inventor, writer, teacher, runner, coder, more.

💬 👏
  1. Homebrew Website Club SF!

    Homebrew Website Club retro 1980s-style logo.

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    The Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities, content, and interactions.

    Topics for this week:

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    Optional RSVP: post an indie RSVP on your own site, or just show up!

  2. Sunbeams fanning out from the top right corner with a blue halo arc across their tips landing on a footbridge across a creek in the middle of a forest with well lit greenery from the trees and ferns on the ground.☀️ I watched sunbeams glitter on the Fern Creek footbridge in Muir Woods. 🌲

    #trail #runner #trailrunner #50ktraining #ultratraining #ECSCA #FernCreek #footbridge #MuirWoods #Marin #fromwhereIrun #trailrun #optoutside #getoutside #Sunday #SundayRunday #SundayRundayFunday #nofilter

  3. ↳ In reply to @andymci’s tweet @andymci @no thanks very much for the invitation! Would’ve loved to join y’all but had to catch a flight. Maybe the next #WordPress event we’re both at? Or an #IndieWeb event: https://indieweb.org/events And LMK when you’re next in SF!

  4. ↳ In reply to @HenriHelvetica’s tweet @HenriHelvetica hello!

    Next race is 11/16 @TheNorthFaceECS 50k!
    Then running / powerhiking the 11/17 #ECSCA half marathon with dad.

    Almost time to taper.

  5. ↳ In reply to @andersnoren’s tweet @andersnoren @kevinmarks thanks for the consideration, appreciated!

    @dshanske is the real #WordPress Theme #microformats2 expert. I’m sure he can file good issues. @ChrisAldrich is also great at adding #microformats & #IndieWeb to a #WordPressTheme.

  6. Thank you @WordCampUS and thanks @photomatt for the invitation to speak on “Take Back Your Web”! Huge thanks to @dshanske for all his help!

    Great questions & seeing so many with their own sites. Follow @dshanske’s awesome #WordPress #IndieWeb posts and progress on his own site e.g. https://david.shanske.com/kind/article/ He’ll also be at Contributor Day tomorrow!

  7. #Redecentralize 2019 Session: Decentralized Identity & Rethinking Reputation

    Decentralized lunch

    After the first open session of the day, the Redecentralize confrerence provided a nice informal buffet lunch for participants. Though we picked up our eats from a centralized buffet, people self-organized into their own distributed groups. There were a few folks I knew or had recently met, and many more that I had not. I sat with a few people who looked like they had just started talking and that’s when I met Kate.

    I asked if she was running a session and she said yes in the next time slot, on decentralized identity and rethinking reputation. She also noted that she wanted to approach it from a human exploration perspective rather than a technical perspective, and was looking to learn from participants. I decided I’d join, looking forward to a humans-first (rather than technology plumbing first) conversation and discussion.

    Discussion circle

    After lunch everyone found their way to various sessions or corners of the space to work on their own projects. The space for Kate’s session was an area in the middle of a large room, without a whiteboard or projector. About a half dozen of us assembled chairs in a rough oval to get started.

    As we informally chatted a few more people showed up and we broadened our circle. The space was a bit noisy with chatter drifting in from other sessions, yet we could hear each other we if leaned in a little. Kate started us off asking our opinions of the subject matter, experiences, and about existing approaches in contrast to letting any one company control identity and reputation.

    Gaming of centralized systems

    We spent quite a bit of time on discussing existing online or digital reputation systems, and how portable or not these were. China was a subject of discussion along with the social reputation system that they had put in place that was starting to be used for various purposes. Someone provided the example of people putting their phones into little shaker machines to fake an increased stepcount to increase their reputation in that way. Apparently lots of people are gaming the Chinese systems in many ways.

    Portability and resets

    Two major concerns were brought up about decentralized reputation systems.

    1. Reputation portability. If you build reputation in one system or service, how do you transfer that reputation to another?
    2. Reset abuse. If you develop a bad reputation in a system, what is to stop you from deleting that identity, and creating a new one to reset your reputation?

    No one had good answers for either. I offered one observation for the latter, which was that as reputation systems evolve over time, the lack of reputation, i.e. someone just starting out (or a reset), is seen as having a default negative reputation, that they have to prove otherwise. For example the old Twitter “eggs”, so called due to the default icons that Twitter (at some point) assigned to new users that were a white cartoon egg on a pastel background.

    Another subsequent thought, Twitter’s profile display of when someone joined has also reinforced some of this “default negative” reputation, as people are suspicious of accounts that have just recently joined Twitter and all of sudden start posting forcefully (especially about political or breaking news stories). Are they bots or state operatives pretending to be someone they’re not? Hard to tell.

    Session dynamics

    While Kate did a good job keeping discussions on topic, prompting with new questions when the group appeared to rathole in some area, there were a few challenging dynamics in the group.

    It looked like no one was using laptop to take notes (myself included), emergently so (no one was told not to use their laptop). While “no laptop” meetings are often praised for focus & attention, they do have several downsides.

    First, no one writes anything down, so follow-up discussions are difficult, or rather, it becomes likely that past discussions will be repeated without any new information. Caught in a loop. History repeating.

    Second, with only speaking and no writing or note-taking, conversations tend to become more reactive, less thoughtful, and more about the individuals & personalities than about the subject matter.

    I noticed that one participant in particular was much more forceful and spoke a lot more than anyone else in the group, asserting all kinds of domain knowledge (usually without citation or reasoning). Normally I tend to question this kind of behavior, but this time I decided to listen and observe instead. On a session about reputation, how would this person’s behavior affect their dynamic reputation in this group?

    Eventually Kate was able to ask questions and prompt others who were quiet to speak-up, which was good to see.

    Decentralized identity

    We did not get into any deep discussions of any specific decentralized identity systems, and that was perhaps ok. Mostly there discussion about the downsides of centrally controlled identity, and how each of us wanted more control over various aspects of our online identities.

    For anyone who asked, I posited that a good way to start with decentralized identity was to buy and use a personal domain name for your primary online presence, setting it up to sign-into sites, and build a reputation using that. Since you can pick the domain name, you can pick whatever facet(s) of your identity you wish to represent. It may not be perfectly distributed, however it does work today, and is a good way to explore a lot of the questions and challenges of decentralized identity.

    The Nirvana Fallacy

    Another challenge discussing various systems both critically, and aspirationally, was the inability to really assess how “real” any examples were, or applicable to any of us, or their usability, or even if they were deployed in any even experimental way instead of just being a white paper proposal.

    This was a common theme in several sessions, that of comparing the downsides of real existing systems with the aspirational features of conceived but unimplemented systems. I had just recently come across a name for this phenomenon, and like many things you learn about, was starting to see it a lot: The Nirvana Fallacy. I didn’t bring it up in this session but rather tried to keep it in mind as a way to assess various comparisons.

    Distributed reputation

    After lunch sessions are always a bit of a challenge. People are full or tired. I myself was already feeling a bit spent from the lightning talk and the session Kevin and I had led right after that.

    All in all it was a good discussion, even though we couldn’t point to any notes or conclusions. It felt like everyone walked away having learned something from someone else, and in general people got to know each other in a semi-distributed way, starting to build reputation for future interactions.

    Watching that happen in-person made me wonder if there was some way to apply a similar kind of semi-structured group discussion dynamic as a method for building reputation in the online world. Could there be some way to parse out the dynamics of individual interactions in comments or threads to reflect that back to users in the form of customized per-person-pair reputations that they could view as a recent summary or trends over the years?

    Previous #Redecentralize 2019 posts

  8. Palmtree with a cityscape behind it barely backlit in orange which turns into a deep blue higher up into the sky, sprinklers clearly visible watering the grass in the park.10 minutes before the previous photo. Again a palmtree with a cityscape behind it backlit by the orange glow of dawn, sprinklers on the lawns just behind the tree, in Alta Plaza Park.Cityscape with a slight orange glow behind the buildings, transitioning to darkness above the buildings🌴🌆 Wednesday was my sixth #NPversary. It was a #PRWednesday, like 2013, though in Alta Plaza Park instead of Alamo Square.

    1. After the workout, where the sky turned a deep blue (that soon faded to a clear light blue) before the sun rose.
    2. ~10 min before, more of an orange sky
    3. ~10 min before that, an orange horizon pushing back the black of night

    Finishing this year felt different than last. I am again just over 2 weeks to my first ultra race (#TNFECS #ECSCA 50k). Though this year, I feel more acceptance of where I am, and where I could be with more hard work.

    With perspective I can see now that my journey in #NPSF has taken me through facing and overcoming several different fears. Running is as much mental as it is physical. Still feeling the benefits and gains in both, from (even semi) consistently showing up.

    #fromwhereIrun #NPSF #NovemberProjectSF #NovemberProject #AltaPlaza #AltaPlazaPark #optoutside #getoutside #Wednesday #dawn #sunrise #2019_303 #20191030 #latergram #nofilter

    Previously: https://tantek.com/2018/303/t1/fifth-npversary

  9. registered to run #baytobreakers 2020-05-31!
    Join me in corral A! https://baytobreakers.com/

    @baytobreakers says $39.99
    There is $5.02 Handling
    What is it for? Why separate?
    Why not be upfront, just charge $45 w/o 0.99 or handling shenanigans?

    Previously: https://tantek.com/2018/303/t3/run-bay-to-breakers-2019

  10. #Redecentralize 2019 Session: IndieWeb Decentralized Standards and Methods

    Kevin Marks wearing an IndieWebCamp t-shirt leading a discussion session with a projector screen next to him showing an indie event for Homebrew Website Club

    Kevin Marks started the session by having me bring up the tabs that I’d shown in my lightning talk earlier, digging into the specifications, tools, and services linked therein. Participants asked questions and Kevin & I answered, demonstrating additional resources as necessary.

    IndieWeb Profiles and IndieWebify

    One of the first questions was about how do people represent themselves on the IndieWeb, in a way that is discoverable and expresses various properties.

    Kevin described how the h-card standard works and is used to express a person’s name, their logo or photo, and other bits of optional information. He showed his own site kevinmarks.com and asked me to Show View Source to illustrate the markup.

    Next we showed indiewebify.me which has a form to check your h-card, show what it found and suggest properties you could add to your profile on your home page.

    Checking microformats and JSON output

    From the consuming code perspective, we demonstrated the microformats2 parser at microformats.io using Kevin’s site again. We went through the standard parser JSON output with clear values for the name, photo, and other properties.

    Similarly we took a look at one of my posts parsed by microformats.io as an examle of parsing an h-entry and seeing the author, content etc. properties in the JSON output.

    IndieWeb Standards, W3C Micropub Recommendation & Test Suite

    Next we walked through the overview of IndieWeb specifications that I’d quickly mentioned by name in my lightning talk but had not explicitly described. We explained each of these building block standards, its features, and what user functionality each provides when implemented.

    In particular we spent some time on the Micropub living standard for client software and websites to post and update content. The living standard editor’s draft has errata and updates from the official W3C Micropub Recommendation which itself was finished using the Micropub.rocks test suite & implementation results used to demonstrate that each feature was interoperably implementable, by several implementations.

    Lastly we noted that many more Micropub clients & servers have been interoperably developed since then using the test suite, and the importance of test suites for longterm interopability and dependable standards in general.

    IndieWeb Events & RSVPs

    Kevin used his mobile phone to post an Indie RSVP post in response to the Indie Event post that I’d shown in my talk. He had me bring it up again to show that this time it had an RSVP from him.

    Clicking it took us to Kevin’s Known site which he’d used to post the RSVP from his mobile. I had to enable JavaScript for the “Filter Content” dropdown navigation menu to work (It really should work without JS, via CSS using googleable well established techniques). Choosing RSVP showed a list of recent RSVPs, at the top the one he’d just posted: RSVP No: But I do miss it.

    We viewed the source of the RSVP post and walked through the markup, identifying the p-rsvp property that was used along with the no value. Additionaly we ran it through microformats.io to show the resulting JSON with the "p-rsvp" property and "no" value.

    IndieWeb Identity, Signing-in, and IndieAuth

    As had been implied so far, the IndieWeb built upon the widely existing practice of using personal domain names for identity. While initially we had used OpenID, early usage & implementation frustrations (from confusing markup to out of date PHP libraries etc.) led us down the path of using the XFN rel=me value to authenticate using providers that allowed linking back to your site. We mentioned RelMeAuth and Web Sign-in accordingly.

    We used yet another form on indiewebify.me to check the rel=me markup on KevinMarks.com and my own site tantek.com. As a demonstration I signed out of indieweb.org and click sign-in in the top right corner.

    I entered my domain https://tantek.com/ and the site redirected to Indie Login authentication screen where it found one confirmed provider, GitHub, and showed a green button accordingly. Clicking the green button briefly redirected to GitHub for authentication (I was already signed into GitHub) and then returned back through the flow to IndieWeb.org which now showed that I was logged-in in the top right corner with tantek.com.

    To setup your own domain to sign-into IndieWeb.org, we showed the setup instructions for the IndieLogin service, noting in addition to rel=me to an OAuth-based identity provider like GitHub, you could use a PGP public key. If you choose PGP at the confirmed provider screen, IndieLogin provides challenge text for you to encrypt with your private key and submit, and it decrypts with your public key that you’ve provided to confirm your identity.

    Popping up a level, we noted that the IndieLogin service works by implementing the IndieAuth protocol as a provider, that IndieWeb.org uses as a default authentication provider (sites can specify their own authetication providers, naturally).

    Andre (Soapdog) asked:

    How do I add a new way to authenticate, like SecureScuttleButt (SSB)?

    The answer is to make an IndieAuth provider that handles SSB authentication. See the IndieAuth specification for reference, however, first read Aaron Parecki's article on "OAuth for the Open Web"

    Social Readers and Microsub

    Another asked:

    How does reading work on the IndieWeb?

    From the longterm experience with classic Feed Readers (RSS Readers), the IndieWeb community figured out that there was a need to modularize readers. In particular there was a clear difference in developer expertise and incentive models of serverside feed aggregators and clientside feed readers that would be better served by independent development, with a standard protocol for communicating between the two.

    The Microsub standard was designed from this experience and these identified needs. In the past couple of years, several Microsub clients and a few servers have been developed, listed in the section on Social Readers.

    Social Readers also build upon the IndieAuth authentication standard for signing-in, and then associate your information with your domain accordingly. I demonstrated this by signing into the Aperture feed aggregator (and Microsub server) with my own domain name, and it listed my channels and feeds therein.

    I demonstarted adding another feed to aggregate in my "IndieWeb" channel by entering Kevin Marks’s Known, choosing its microformats h-feed, which then resulted in 200+ new unread items!

    I signed-into the Monocle social reader which showed notifications by default and a list of channels. Selecting the IndieWeb channel showed the unread items from Kevin’s site.

    Does this work with static sites?

    In short, yes. The IndieWeb works great with static sites.

    One of the most common questions we get in the IndieWeb community is whether or not any one partcular standard or technique works with static sites and static site generator setups.

    During the many years on the W3C Social Web Working group, many different approaches were presented for solving various social web use-cases. So many of these approaches had strong dynamic assumptions that they outright rejected static sites as a use-case. It was kind of shocking to be honest, as if the folks behind those particular approaches had not actually encountered the real world diversity of web site developers and techniques that were out there.

    Fortunately we were able to uphold static sites as a legitimate use-case for the majority of specifications, and thus at least all the W3C Recommendations which were the result of incubations and contributions by the IndieWeb community were designed to support static sites.

    There are couple of great reference pages on the IndieWeb wiki for static site setups:

    In addition, there are IndieWeb pages for any particular static site system with particular recommendations and setup steps for adding support for various IndieWeb standards.

    Kevin also pointed out that his home page kevinmarks.com is simple static HTML page that uses the Heroku Webmention service to display comments, likes, and mentions of his home page in the footer.

    What Next: Join Chat & IndieWebCamps!

    As we got the 2 minute warning that our session time was almost up we wrapped up the session with how to keep the conversation going. We encouraged everyone to join the online IndieWeb Chat which is available via IRC (Freenode #indieweb), Slack, Matrix, Discourse, and of course the web.

    See: chat.indieweb.org to view today’s chats, and links to join from Slack, Matrix, etc.

    Lastly we announced the next two IndieWebCamps coming up!

    We encouraged all the Europeans to sign-up for IndieWebCamp Berlin, while encouraging folks from the US to sign-up for San Francisco.

    With that we thanked everyone for their participation, excellent questions & discussion and look forward to seeing them online and meeting up in person!

  11. Gave a 3min lightning talk @redecentralize #rdc19, show > tell. #redecentralize links shown & words spoken from memory:

    * Started with: https://tantek.com/

    Hi my name is Tantek, the .com is silent.

    I’m @t on Twitter when not blocked. I have been posting on my own site instead of Twitter for nearly 10 years now. (https://twitter.com/kevinmarks/status/1187675785978634240)

    10 years ago I got frustrated with Twitter and built my own way to post notes, similar to what people take for granted today using Mastodon etc. This is the result.

    * https://tantek.com/2019/290/t2/wonderfu-hybrid-indieweb-local-first-meetup

    I also post replies, including replies to tweets, from my own site which are then automatically cross-posted to Twitter

    * https://twitter.com/t/status/1184919114717917184

    and threaded there so I don't have to ask everyone to use my solution. Interoperate with how people work today.

    * https://tantek.com/2019/289/t2/orange-sunbeams-npsf

    I also post photos on my own site, and similarly automatically send a copy to Twitter:

    * https://twitter.com/t/status/1184724799723057152

    Also something people are now doing with decentralized solutions.

    * https://tantek.com/2019/303/e1/homebrew-website-club-sf

    What about events? I post events on my own site, receive federated RSVPs, and cross post the details to Twitter:

    * https://twitter.com/t/status/1184919994263453696

    Including the ability to Add to Calendar to your calendar program, whichever you use, using the ICS standard.

    We heard about a decentralized git issues project,

    * https://tantek.com/2019/261/b1/proliferation-manifests-w3c

    well I believe everyone should own their own issues as well, instead of posting them on someone else’s decentralized server, and then syndicate to wherever a project is aggregating their issues, like GitHub:

    * https://github.com/w3ctag/design-reviews/issues/423

    This is all made possible through services and standards,

    * https://brid.gy/

    like Bridgy. I did not have to write to the GitHub API etc. I used a web standard called Webmention, and Bridgy did the work for me to cross-post.

    * https://www.w3.org/TR/webmention/

    Webmention is a W3C Recommendation, one of a half dozen we produced during the W3C Social Web Working Group that I chaired.

    * https://spec.indieweb.org/

    Webmention is now one of many standards maintained by the IndieWeb community, see spec dot indieweb dot org for more.

    * https://indiewebify.me/

    And if you want to get started on the IndieWeb, setting up your site, check out IndieWebify dot me which provides step by step instructions and validators / tests. There’s lots more at indieweb.org. (https://twitter.com/kevinmarks/status/1187674891249733632)

    * https://chat.indieweb.org/

    Like all the other awesome projects here we have heard about, the IndieWeb community has a chat channel.

    It of course bridges to Matrix, and also Discourse, as well as Slack. (https://twitter.com/kevinmarks/status/1187675021487022082)

    * https://indieweb.org/2019/Berlin2

    Because we believe in the value of human interaction and connection we also hold events. I want to invite everyone here to come to an IndieWebCamp in person as well. (https://twitter.com/kevinmarks/status/1187675118199300096)

    If you’re in Europe please checkout IndieWebCamp Berlin November 23-24th.

    * https://indieweb.org/2019/SF

    And if you’re in the States, please join us in IndieWebCamp San Francisco!

    Any questions?

    (Thanks to @KevinMarks for live-tweeting as much as he could (tweetlinks inline in parentheses) keep up with my rapid speech and tab-switching :)

  12. Participated in #MozFest 3hr workshop on “Extinction Rebellion: Using Self-Organising Systems to build a decentralised movement” which was a nerdy awesome intersection of so many things I’ve cared about (e.g. #barcamp) across social circles over the past 15 years.

    Scratched many surfaces. Learned a lot and have terms, phrases, books to look up. Took some notes, hopefully enough to blog later after tomorrow’s #Redecentralize conference.

  13. Considering proposing a #MisinfoCon roundtable; who @MisinfoCon is interested in:

    Spectrums of #Misinformation — Understanding & Mapping
    * time: immediate, up to an event, seasonal, years, cross-generational, 100y+
    * intention: deliberate misleading, shallow sharing, actively believing, etc.
    * how false: knowably false, mixed with facts, distortions, misleading framing, unknowables

  14. In #London soon for #MisinfoCon. Who else will be @MisinfoCon?

    I’d like to discuss:
    * spectrum of #misinformation (e.g. from completely knowably false to false confidence in unknowables)
    * recency (e.g. false “news” vs antivax vs old wives tales vs mythology)
    * existing browser solutions

  15. #IndieWebCamp #Brighton:

    For my #hackday project I added a #serviceworker to my https://tantek.com/ home page with some #offlinesupport:

    1 Custom Offline page
    2 Precache home page, CSS, JS, and cache as you go photos
    3 Precache /contact & /pay pages

  16. ↳ In reply to Tantek’s note #LocalFirst #OfflineFirst #NoCloud #multidevices @IndieWebCamp #Brighton notes: https://indieweb.org/2019/Brighton/localoffline

    Thanks @aaronpk @martijnvdven @adactio @calum_ryan @sebsel @HeNeArXn @petermolnar @qubyte for the discussion!

    See you at #IndieWeb #hackday tomorrow!

  17. #IndieWebCamp Brighton:
    I proposed and am facilitating a session on:
    Local first vs.
    Offline first vs.
    no cloud,
    and multidevices.


    What’s the difference between #LocalFirst & #OfflineFirst?


  18. #IndieWebCamp Brighton intro demos:
    live blog: https://chat.indieweb.org/
    Zoom video: https://zoom.us/j/4955358768

    Can’t make it in person? We have remote participation with streams of talks, discussions, chat / IRC / Slack!

    Details: https://indieweb.org/2019/Brighton#Remote_Participation

  19. ↳ In reply to adactio.com’s post @adactio nice photo and #indieweb demo!

  20. #IndieWebCamp Brighton @adactio adactio.com:
     The #IndieWeb is about a simple concept: You should have your own website. These days that seems almost disruptive. It’s hard to describe but it just feels good posting on your own site.

  21. 10 days of #OpenWeb events

    #IndieWeb Organizers meetup yesterday.

    In #Brighton or #London? Join us:

    @IndieWebCamp Brighton hosted by @Clearleft @68Middlest starting soon!

    #MozFest all week M-Su.

    #MisinfoCon Wed 10/23

    #Redecentralize #rdc19 Fri 10/25!

  22. Want to #DeleteFacebook & not sure how to start?

    Interested in building independent web events and open standards to replace #MeetUp?

    Join us at the next Homebrew Website Club #IndieWeb Meetup:


  23. Homebrew Website Club SF!

    Homebrew Website Club retro 1980s-style logo.

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    The Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities, content, and interactions.

    Topics for this week:

    • IndieWebCamps Amsterdam, Oxford, New York City and Brighton notes, demos, etc.!
    • Local-First and Offline-First inspirations and hopefully demos!
    • Demos of personal website breakthroughs
    • Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    Optional RSVP: post an indie RSVP on your own site, or just show up!

  24. ↳ In reply to @pvh’s tweet Wonderful co-hosting our hybrid #IndieWeb + Local-First meetup with you @pvh!
    Feeling inspired to build some #LocalFirst features into my site this weekend @IndieWebCamp Brighton. Thanks also for https://devdocs.io/ tip! Flight testing it soon :)

  25. 30 days til #TNFECS #Marin 50k. First “official” 50k race. Feeling reasonably trained for it. Last weekend’s 30k felt fine despite pushing, a day after running 7 trail miles. Travel makes training challenging.

    Previously: https://tantek.com/2019/034/t1/signed-up-ecsca-50k https://twitter.com/t/status/1092197119048466434

  26. San Francisco cityscape backlit by orange sunbeams originating from near the center behind the buildings, against a blue sky with scattered clouds🌆 This morning @Nov_Project_SF. Felt like I was still recovering from the weekend. Just kept moving. And dawn turned into orange sunbeams like I’ve never seen before. #NPSF

  27. Sunday at #ChicagoMarathon2019, Brigid Kosgei set a new Women's Marathon Record 2:14:04!
    #NoHumanIsLimited. More inspiration. Went to Marin again, ran 30k+3500' to wrap up a 33 mile week. #2019_286 #20191013.

  28. Saw video of Kipchoge breaking the 2hr marathon this morning: 1:59:40 #NoHumanIsLimited. Incredible & inspiring to all runners. Despite being late to SFRC, I ran 7mi+1253' & neg splits. Great seeing @Amy_Leedham too! Another inspiration. It was a good day.

  29. ran to #NPSF this morning. @Nov_Project_SF 05:30 workout in darkness, in-between planks with Ali, and 06:30 workout while watching the sky lighten. Sunrise after, breakfast, and ran back.

    Previously: https://tantek.com/t51q1 https://twitter.com/t/status/1157454400916508673

  30. ↳ In reply to @SF_emergency’s tweet Dear @SF_emergency, given these conditions, could you help expedite SF Department of Building Inspections applications for inspection+permits for residential small wind turbines?

    As described:
    * https://sfenvironment.org/small-wind-turbine-a-consumer-guide-faq
    * http://www.sfenvironment.org/sites/default/files/fliers/files/sfe_en_planning_permitting_memo.pdf

    Grid-connected is ideal naturally, to help increase local availability of green/clean power.


    More links from my research for San Francisco residences and in general:
    * https://sfenvironment.org/energy/renewable-energy/wind/urban-wind
    * https://sfenvironment.org/article/urban-wind/case-study-wind-solar-powered-home-in-the-mission
    * https://sfenvironment.org/article/urban-wind/case-study-wind-power-in-the-castro
    * https://ww2.energy.ca.gov/2016publications/CEC-300-2016-001/CEC-300-2016-001.pdf
    * https://www.dasolar.com/home-wind-power/california/san-francisco
    * http://energy.dasolar.com/wind-turbine-installation-evaluation
    * https://www.sfgate.com/bayarea/article/bay-area-calif-power-outage-map-14503599.php
    * https://www.mercurynews.com/2017/06/15/wind-its-not-a-breezy-way-to-power-a-bay-area-home/
    * https://www.electricnet.com/doc/wind-turbines-now-permitted-in-san-francisco-0001
    * https://sfenvironment.org/small-wind-turbine-a-consumer-guide-faq
    * https://windexchange.energy.gov/markets/residential
    * https://windexchange.energy.gov/getting-wind
    * https://windexchange.energy.gov/small-wind-guidebook
    * https://sfenvironment.org/small-wind-turbine-a-consumer-guide-faq

  31. Huge thanks to co-organizers @tiereeee @schmarty @dshanske @jgmac1106 for an amazing @IndieWebCamp NYC this weekend. Thanks to @PaceUniversity for having us! So good to see so many new #indieweb sites go live: @nshad314 @teonbrooks et al and all the demos!

  32. RSVP yes to: Tantek’s event hosting Homebrew Website Club #SF #IndieWeb meetup 2019-10-16 17:30 @MozSF!

    Join us! @benwerd @dietrich @generativist @html5cat @NurtureGirl @feross @maira et al

    RSVP: https://tantek.com/2019/289/e1/homebrew-website-club-sf
    More: https://indieweb.org/events/2019-10-16-homebrew-website-club#San_Francisco

  33. ↳ In reply to @marcthiele’s tweet @marcthiele @johanbove would be great to do @IndieWebCamp before @btconf Düsseldorf 2020! Gathering interest/prefs:
    Please feel free to edit, add yourself to date(s) you can make. Join https://chat.indieweb.org/ & let’s chat about volunteering!

  34. #IndieWebCamp NYC: facilitating session on Why Publish with @schmarty @dshanske @tiereeee et al. Many reasons folks like to publish things (publicly) online. Notes being captured into an Etherpad, to be archived to #indieweb wiki after. #whypublish #meta

  35. #NewYorkCity friends! Going to the @IndieWebCamp #NYC pre-meetup/social at Stone Street Tavern @stonesttavern http://stonestreettavernnyc.com/
    Come have eats & drinks with us! (@schmarty et al!) #indieweb #openweb

    (Be there in ~15 minutes!)

  36. ↳ In reply to @jkphl’s tweet @jkphl no worries. Looks like most recent HWC Nürnberg was https://indieweb.org/events/2019-08-07-homebrew-website-club from the photo?
    Will move Nürnberg from "Fortnightly" to "Pop up" so it is not copy/pasted by default.
    Let me know if there is a known frequency! Thanks!

  37. ↳ In reply to @mantonsblog’s tweet @jkphl any photos from this week’s HWC Nürnberg?
    @mrgnrdrck any HWC Berlin photos?
    @grantcodes HWC Madrid photo?
    @jamietanna Nottingham photo?
    @mantonsblog @tomwiththeweath Austin photo?
    @dougbeal @rrrrrrrix Seattle photo?
    Please add ASAP to https://indieweb.org/events/2019-10-02-homebrew-website-club#Photos or reply with link! Thanks!

  38. Homebrew Website Club SF!

    Homebrew Website Club retro 1980s-style logo.

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    The Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities, content, and interactions.

    Topics for this week:

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    Optional RSVP: post an indie RSVP on your own site, or just show up!

  39. RSVP yes to: an IndieWeb event going to #IndieWebCamp NYC this weekend @PaceUniversity with @dshanske @jgmac1106 @schmarty @tiereeee @nshad314 & more!

    Looking forward to more #indieweb demos & #barcamp breakout sessions!

    Complimentary tickets: https://2019.indieweb.org/nyc
    wiki: https://indieweb.org/2019/NYC

  40. #ViewSource @jorydotcom question for #standards panelists:
    What is one way your standards group is more “open” (access, cost, license, patents, D&I etc.) than another standards org (e.g. pick one that Jory mentioned yesterday)?

  41. ↳ In reply to @davidlinssen’s tweet @davidlinssen thank you for the invitation! How about tomorrow afternoon coffee break, or perhaps right after the closing talk?

  42. Amsterdam, #indieweb, and #viewsource friends, join us at The Jitterbug Saloon! Opened it up with @schmarty @sebandeweg @neb @aaronpk and expecting @adactio soon. Taking over tables in the back, plenty of room https://foursquare.com/v/the-jitterbug-saloon/5bf1c1521cf2e1002c48cce4

  43. #indiewebcamp AMS #hackday second project:

    ✅ ➕ Add to Calendar links in Event POSSE tweets with emoji!


    See https://indieweb.org/Add_to_Calendar for why and how to.

  44. Homebrew Website Club SF!

    Homebrew Website Club retro 1980s-style logo.

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    The Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities, content, and interactions.

    Topics for this week:

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    Optional RSVP: post an indie RSVP on your own site, or just show up!

  45. #indiewebcamp AMS #hackday first project done:

    ✅ rel=canonical links from http permalinks to https permalinks

    See https://indieweb.org/rel-canonical for why and how to.

  46. ↳ In reply to @Herschel_R’s tweet @Herschel_R that’s a bug in the “new” Twitter desktop web front-end where it fails to display a single line-break. Works fine in “old” Twitter (e.g. logged out), or Twitter mobile app. Hopefully they’ll fix it soon.

  47. #indiewebcamp AMS @ton_zylstra: shows and summarizes the #indieweb building blocks of #openweb standard protocols & formats:

    #webmention #microformats micropub.rocks #indieauth & more


  48. #indiewebcamp AMS @ton_zylstra:
    “The next big thing
     will be a lot of small things.”


  49. #indiewebcamp AMS @ton_zylstra: To me, the web was always about agency and providing ways for individuals connect to each other in ways they couldn’t before.

  50. RSVP yes to: aaronparecki.com’s post going to #IndieWebCamp Amsterdam TODAY 10:00 at Codam Coding College with @aaronpk @ton_zylstra @schmarty @adactio @david_bryant & more!

    Looking forward to great #indieweb demos & #barcamp breakout sessions!

    about: https://indiewebcamp.nl/
    wiki: https://indieweb.org/2019/Amsterdam

  51. New issue on GitHub project “design-reviews”

    Proliferation of manifests at W3C

    Here at #w3cTPAC 2019 I’m learning that there are quite a few different manifest file format efforts by different groups for different specifications with different but often similar use-cases. Filing this design issue per @hober’s request to track the growing number of manifest formats and approaches to hopefully collapsing and reducing them.

    Here is a few I know of along with their individual TAG review issues.

    And one apparent need for a manifest: W3CTAG #218. There are likely others, please add more below.

    From a web author, developer, publisher perspective, it would be great if we could simplify the number of manifests, ideally one, perhaps with core properties, optional properties for specific use-cases, and a method of expanding each of those by separate working groups for maximum re-use and avoiding collisions / duplication of slightly different properties.

    This issue is intended as a meta-issue just to track the growing number of manifests.

    For specific proposals to provide guidelines to both spec and web authors about how to create some data and provide it in a manifest file, see: W3CTAG #95 (please do not mark as duplicate, I think these serve two different purposes). Thanks for your consideration!

  52. At #w3cTPAC this week: @CSSWG, #Future of @W3C, #WICG. Come say hi!

    Still reflecting on #XOXOFest themes & learnings. Particularly how much online abuse & harassment is growing.

    Let’s chat about this at TPAC, brainstorm if/how we can improve web building blocks to reduce harm, especially toward marginalized individuals & communities.

  53. RSVP yes to: aaronparecki.com’s post going to the @xoxo #indieweb and #xoxo-mastodon breakfast meetup TODAY 8:30am at Cup and Bar with @kevinmarks!

    Open to all indieweb #distributedweb #federatedweb fans & enthusiasts, join us!

    wiki: https://indieweb.org/events/2019-09-06-xoxo-indieweb
    event: https://aaronparecki.com/2019/09/06/1/

  54. ↳ In reply to @theSFmarathon’s tweet signed-up to run the #SF #Marathon 2020-07-26!
    #SFMarathon #TSFM2020 https://www.thesfmarathon.com/

    It’ll be my second official marathon race (I have a few trail races planned before then) and 7th @theSFmarathon race (many halfs).

    Previously: https://tantek.com/2017/253/b1/my-first-marathon

  55. ↳ In reply to @superamit’s tweet @superamit @xoxo awesome! I like to run distance, vert, and dirt, slow & steady (except downhill jams :)

    I get in Wednesday night. Thursday early morning Forest Park perhaps? #XOXOFest #xoxorunners

  56. Clear blue skies above the Pacific Ocean in the distance, fog bank over Muir Beach, and thick green bushes in the foreground.Lookin uphill on Fox trail under an overcast sky.Looking south at Muir beach to ominously overcast grey skies.Looking down at my feet touching the surf at Muir beach.Looking northwest from Muir beach, to a bit of light blue on the horizon over the Pacific Ocean, while the nearby hill and houses are under clouds.Looking down at Horizontal Control Mark Coyote Ridge 2.Looking south to the Marin Headlands, fog behind them covering San Francisco with only a few downtown building tops and Sutra tower poking through.Looking south to Miwok cut-off trail, tall green bushes on either side, Marin headlands in the distance.Map of Tennessee Valley Trails.
    ⛰🏃🏻‍♂️ 15km & ~2k' in #Marin 8/31 to finish #August at 216km & 7116m. Grateful for a month of consistent training at home.
    Traveling a lot soon — HMU to #run in Portland @XOXO, Fukuoka @W3C #TPAC2019, Amsterdam @IndieWebCamp #ViewSource, NYC & Brighton IndieWebCamps, London #MozFest, St. Louis @WordCampUS #WCUS!

    August was a monthly distance running PR and my second highest vertical climbing month after last October’s 207km & 8932m (also only my second time running 200km+ or climbing 5km+ in any month).

    Got a late start that morning and drove myself directly to the Tennessee Valley parking lot. Having forgotten to check the #SFRC route direction, I ran the opposite way again, up Fox with less fog(2) than last week, down Coastal to an ominously overcast Muir Beach(3). Touched the water(4) and noticed blue skies in the distance to the northwest(5). I cut the route short via the beautiful Middle Green Gulch trail up to Coyote Ridge. From the Coyotoe Ridge peak(6) I could see the north side of Muir beach, and a thin blue line of clear Pacific Ocean over the clouds(1). Looking south the city was still covered by fog, just a few buildings and Sutro tower poking through(7). Ran back down Miwok(8) to the Tennessee Valley parking lot and up/down a bit of Marincello to reach 15km.

    I’ll be making good use of the few September and October mornings I’m home and joining up with runners (especially on trails) on my travels when missing Marin #trails(9). Hope to see you out there!

    #runner #MarinHeadlands #trail #trailrun #50ktraining #ultratraining #optoutside #getoutside #fog #KarlTheFog #Muirbeach #2019_243 #20190831 #Saturday #latergram #nofilter

    Previous Saturday: https://tantek.com/2019/237/t1/fog-forests-sunshine-cardiac-hill

  57. Five vertical slices showing the sky changing color over time as viewed from Mt. Tam, from orange on the horizong, to a deep blue sky above, lightening, then the sun cresting, and finally rising.Orange sky on the horizon under a dark sky with a crescent moon.Orange sky on the horizon under a deep blue sky with a crescent moon.Orange sky on the horizon under a light to medium bluish purple sky with a crescent moon.The sun cresting East Bay hills under an orange to light blue sky with a few scattered clouds.The sun rising just above East Bay hills under an orange to light blue sky as viewed from the East Peak of Mt. TamKat, Tantek, and Bryan at the top of Mt. Tam with the sun rising just about the bay in the background, sun beams and an orange glow backlighting their hair and faces.🌙🌅 #tbt to #Tam #Tuesday. Clear sky, crescent moon, and changing of the light(1) from #dawn to #sunrise as snapped while #running/hiking up #MtTam, chasing friends Bryan and Kat. Individual photos from 6:06(2), 6:14(3), 6:21(4), 6:33(5), finally 6:42(6) at #MtTamEastPeak. Plus Bryan’s selfie of us at 6:43(7).

    #MountTam #EastPeak #Marin #trail #run #trailrun #crescentmoon #crescent #moon #50ktraining #ultratraining #optoutside #getoutside #befierce #pushyourself #facethemountain #fitstrongfierce #20190827 #2019_239 #latergram #nofilter

    Previously: https://tantek.com/2019/218/t1/beautiful-sunrise-tam-tuesday

  58. ↳ In reply to @duffy0’s tweet @duffy0 thanks and good to know.

    I’m working on custom "Add to gCal" links next because Google Calendar (website) seems to require its own way of doing things. Maybe that’ll work for the Android app too? Maybe we can experiment tomorrow at HWC SF.

  59. ↳ In reply to Tantek’s note Follow-up @dietrich: per #indieweb interoperability strategy, my indie events (starting with last week https://tantek.com/e/5291), now have:

    📆 Add to Calendar

    Clicking adds the event to MacOS/iOS Calendar. Needs Android testing. Reports welcome!

    Next: Add to gCal

  60. ↳ In reply to @dietrich’s tweet @dietrich awesome! Looking forward to it!

  61. Tantek taking a selfie with three ducks and a goose behind him on the short of Stow Lake, bushes and green lake water behind them, part of the island and trees on the opposite shore behind that under an overcast sky.Stow lake with trees on the sides, a duck with its reflection in the foreground, and the island in the middle.Ocean beach and the Pacific Ocean under an overcast sky.Spreckes lake with a radio-controlled model sailboat in the middle, trees on the opposite shore, under an overcast sky.The Conservatory of Flowers buildings with the flower gardens in the foreground under a blue sky with scattered clouds.🦆🦆🦆 Duck duck duck goose!(1). Ran 11 miles by two lakes(2,4) and the sea(3). Overcast til the Conservatory(5). 31 mile weekend ✅

    #run #runner #SF #SanFrancisco #GGP #GoldenGatePark #StowLake #Lake #selfie #duck #goose #duckduckduckgoose #SundayRunday #SundayFunday #50ktraining #roadto50 #ultratraining #optoutside #getoutside #fog #KarlTheFog #befierce #pushyourself #fitstrongfierce #2019_237 #20190825 #latergram #nofilter

    Last Sunday: https://tantek.com/2019/231/t2/sunday-longrun-tired-legs

  62. ↳ In reply to @dietrich’s tweet 🎉 @dietrich!

    https://indieweb.org/events :)

    Off-cycle Homebrew Website Club SF this week: https://indieweb.org/events/2019-08-28-homebrew-website-club
    Week after I’m hosting a pop-up HWC @MozPDX during @XOXO conf week!

    Still coding, will follow-up when iCal/gCal links work!

    First, another run

  63. Tantek taking a selfie at the top of Cardiac hill, southern view behind him of clear blue skies above tree tops partially hidden by the thick clouds and fog below.Fox trail under a thick fog, with quail and a bunny up ahead on the dirt trail with bushes on both sides.Curious bunny sitting in straw next to bushes on the side of Coastal Fire road on the downhill to Muir Beach.Heather cut-off switch backs partially occluded by fog, lush trees in the foreground on the side of the hill.Coastal view trail in a lush misty forest with most of the trees leaning to the right with the wind.Moss covered trees trunks above ferns, diffuse lighting from the forest canopy.View from Cardiac hill, fairly barren in the foreground, a telephone pole rising up with a slight tilt, trees in the distance barely poking through the thick cloud cover.Looking down on Pirates Cove beach and across the Pacific Ocean, diffuse white light from the clouds, with a sign in the foreground indicating 350 feet to the cove, with various symbols.Tennessee Valley as seen from Coastal Fire road descent: green hills, Tennessee Valley trail winding them past a lagoon to the beach between two cloud covered hilltops.Miwok cut-off view of green hills down to Tennessee Valley shrouded in fog.☁️⛰⛅️ 20+ miles & 4k' of low quiet fog, quail(2) & bunnies(3), lush green hills(4) & forests(5,6), and finally sunshine above the clouds at Cardiac hill(1,7) before running back(8,9) to where I started and up/down another hill(10).

    Being prepared brought more confidence than last week. Started later than planned, yet before #SFRC. Took my own route up Fox trail(2), down Coastal Fire road (stopping only for a curious bunny(3)), thru the Redwood creek woods, across Santos meadow, and up the Heather cut-off switchbacks(4).

    Made good time up Coastal view to the patch of misty forest where most of the trees have grown leaning with the wind(5). Moss covered trees rising from a floor of ferns(6), only a few hundred meters of forest canopy in the middle of an otherwise exposed trail. Still, such relaxing #greentime before finally emerging into the sunshine.

    The climb to Cardiac felt faster and smoother than usual. As a runner I’ve become grateful for fog and overcast skies, yet it was still nice to get some sun at my goal peak where I could look back on the clouds I had climbed through(7). After a brief snack break and saying hi to the volunteers at the Headlands50k aid station, I decided to chase the racers back down the way I came, all the way to Pirates Cove(8).

    Pirates Cove also felt faster, and less scary this time around. Kept encouraging the racers as they passed me on the climb, and chased them down the Coastal Fire road, stopping to snap a greener than usual Tennessee Valley for this time of year(9).

    Returned to Tennessee Valley parking lot at almost 18, hiked/jogged up Miwok trail to more foggy valley views(10), and scampered back down to round out my long trail run. Finally got my 20. ✅

    #run #runner #Marin #MarinHeadlands #trail #trailrun #50ktraining #ultratraining #optoutside #getoutside #fog #KarlTheFog #befierce #pushyourself #facethemountain #fitstrongfierce #2019_236 #20190824 #Saturday #latergram #nofilter

    Last Saturday: http://tantek.com/2019/231/t1/unexpected-weather-trail-run

  64. ↳ In reply to Tantek’s note The next step is to add a link or button on the #indieweb event like:

    📆 Add to Calendar

    to #interoperate with existing apps & services via .ics download (@IETF #openstandard #RFC5545). @schmarty & @gRegorLove do this. I’ll add code for my events too