Tantek Çelik

inventor, connector, writer, runner, scientist, more.

💬 👏
  1. RSVP yes to: an IndieWeb event attending Homebrew Website Club - Pacific - 10th Anniversary & Thanksgiving Edition

    It’s the 10 year anniversary of Homebrew Website Club (HWC) which first took place 10 years and 2 days ago!¹

    We’re celebrating at tonight’s HWC Pacific meetup, live on Zoom til ~20:00 PST.

    Plans are afoot for the first ever #IndieWebCamp San Diego as well:

    Join us on Zoom (see event link above) and chat: https://chat.indieweb.org/

    ¹ https://indieweb.org/events/2013-11-20-homebrew-website-club

  2. likes John Peart's post

  3. coding at #IndieWebCamp Nuremberg, completed the following projects:

    0.0: fixed the https://chat.indieweb.org/ footer to drop #Matrix as an access option since their bridge is disabled (#IndieWeb IRC, Discord, and Slack still work great), and provided an explicit link/encouragement for filing issues

    0.5: investigated IndieWeb wiki issues (mobile presentation), possible fixes, and documented them: https://indieweb.org/MediaWiki_customizations#Issues

    0.7: added HTML <search> element support to my home page and permalinks as nerdsniped by @adactio.com (@adactio@mastodon.social @adactio); expanded to <search role=search> to also support folks using older browsers / screenreaders that only support #ARIA 1.1.

    0.8: replaced my incorrect use of HTML attribute aria-hidden="true" (on my links to #BridgyFed) as pointed out by @jkphl.is (@jkphl@mastodon.social @jkphl) and https://sonja-weckenmann.de (@sweckenmann@mas.to), with hidden="from-humans". Since other values are allowed on the hidden attribute and treated as hidden="hidden", the "from-humans" value communicates a subtle semantic that the element is intended for consumption by robots & crawlers, like #Bridgy.
    0.8.1 Update: created a pull-request (https://github.com/snarfed/bridgy-fed/pull/701) to update the BridgyFed documentation markup examples to use the 'hidden' attribute accordingly as well. Update 2: it's been merged! e.g. https://fed.brid.gy/docs#how-post

    Time is up for today’s IndieWebCamp Create Day so my remaining projects will have to wait.

  4. Inspiring mix of perspective expanding and personal talks at border:none (https://border-none.net/ @border_none) the past two days. Thanks speakers, volunteers, and especially organizers @marcthiele.com (@marcthiele@mastodon.social @marcthiele) and @jkphl.is (@jkphl@mastodon.social @jkphl).

    Looking forward to the next two days at #IndieWebCamp Nürnberg @tollwerk.de (@tollwerk@mastodon.social @tollwerk) of personal site demos, brainstorming sessions, and making, creating, & hacking things from UX to protocols to improve & interconnect our websites, with each other ( #Webmention ), #fediverse ( #BridgyFed & #ActivityPub ), and others ( #POSSE #backfeed ).

    Still a few spots if you’re in town or can hop on a train and join us Saturday & Sunday!

    🎟 Tickets: https://ti.to/beyondtellerrand/bordernone-2023/with/kqyaidtq92k
    🗓 Event: https://events.indieweb.org/2023/10/indiewebcamp-nuremberg-2023-DmXe4dYdfagc
    ℹ️ More info: https://indieweb.org/2023/Nuremberg

    #bordernone #bono23 #IndieWeb

  5. ↳ In reply to hachyderm.io user shanselman’s post @shanselman@hachyderm.io thanks for the invitation! Chatting about #POSSE and #IndieWeb techniques in general sounds like fun — let’s do it

  6. likes David Pierce’s post

  7. Great article on #POSSE by @davidpierce.xyz (@davidpierce@mastodon.social @pierce) @Verge:


    Several key #IndieWeb POSSE practices explained:

    First, post on your own site:

     “In a POSSE world, everybody owns a domain name, and everybody has a blog. (… a place on the internet where you post your stuff and others consume it.)”

    Second, syndicate elsewhere, appropriately for each destination:

     “Then, your long blog post might be broken into chunks and posted as a thread on X and Mastodon and Threads. The whole thing might go to your Medium page and your Tumblr and your LinkedIn profile, too. If you post a photo, it might go straight to Instagram, and a vertical video would whoosh straight to TikTok, Reels, and Shorts. Your post appears natively on all of those platforms,”

    You can use Bridgy Publish (https://brid.gy/) to POSSE to many destinations, and Bridgy Fed (https://fed.brid.gy/) to #federate to #Mastodon and other #fediverse destinations, directly from your site instead of posting a copy on yet another account on yet another server.

    Third, and this is a key piece that distinguishes proper POSSE setups, with original post perma(short)links back to your posts on your domain:

     “typically with some kind of link back to your blog.”

    All copies link to (your) home.

     "And your blog becomes the hub for everything, your main home on the internet."

    You have power over your domain (name), not outside silos.

    David embedded a screenshot of one of my posts, a reply post:

    screenshot of Tantek replying to a tweet by Zeldman.
    in which I posted a reply *on my own site*¹ to @Zeldman.com’s tweet (itself a reply to a POSSE copy of one of my posts), and POSSEd my reply to Twitter so it would thread with his reply.

    This illustrates another important detail of a proper POSSE setup:

    Fourth, post *replies* and other responses from your own site, whether to other IndieWeb sites, or to others’s silo posts (tweets etc.).

    Own your data means owning your replies as well.

    David also noted several challenges and good questions about POSSE. Some of these have answers & established practices, others are areas of exploration. E.g.

     "The first is the social side of social media: what do you do with all the likes, replies, comments, and everything else that comes with your posts?"
    The short answer is #backfeed: https://indieweb.org/backfeed

    Backfeed is a concept I first wrote about as “reverse syndication”².

    As you syndicate your posts out to #socialMedia silos, you reverse syndicate any responses there back to your original post.

    Your site can do this with a service like #Bridgy, which uses the #Webmention standard to forward such silo responses back to your site, and #BridgyFed which does same for responses from Mastodon to your #federated posts.

    David asked many other questions, which are deserving of their own posts to help answer, so I’ll leave you with just one more:

     "The most immediate question, though, is simply how to build a POSSE system that works."

    The short answer is: just start³.

    Even if you have to do it manually (until it hurts), even if you have to edit your posts on a static GitHub site (behind your domain name of course), and then copy & paste to your silo(s) of choice, just start.

    By practicing POSSE, even manually, you will learn what aspects of POSSE & backfeed matter the most to you, what aspects actually involve reaching & responding to friends and others you care about.

    By doing so you will naturally focus on setting up & making what you need, and you too can join the future of web publishing, today.

    Questions? Join us in the chat: https://chat.indieweb.org/ (also on Discord, IRC, and Slack)

    This is day 46 of #100DaysOfIndieWeb. #100Days

    ← Day 45: https://tantek.com/2023/289/t1/bridgyfed-webmention-like-fediverse
    → 🔮

    Post glossary:

    backfeed / reverse syndication
    make what you need
    manual (until it hurts)
    original post link
    own your data
    own your replies
    social media
    static site

    ¹ https://tantek.com/2023/253/t2/
    ² https://tantek.com/2010/034/t2/diso-2-personal-domains-shortener-hatom-push-relmeauth
    ³ https://tantek.com/2023/001/t1/own-your-notes

  8. 👍 to a comment on issue 500 of GitHub project “interop”

  9. Implemented liking/favoriting of #Mastodon posts via Bridgy Fed on my site! (Actually of any post on any site that #BridgyFed can discover an #ActivityPub endpoint to send likes to.)

    Tested it by liking @evanp.me (@evan@cosocial.ca @evanpro)’s reply¹ confirming that he received a notification from my prior post². I sent a #Webmention from my like post³ to Bridgy Fed, and it #federated the like to Evan’s server, which subsequently showed up in the "favourites" list of Evan’s post:


    Every step that connects heterogenous #socialWeb systems & protocols feels like progress.

    This is day 45 of #100DaysOfIndieWeb. #100Days #IndieWeb #like #likes #fediverse #favorite #favourite #favourites

    ← Day 44: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me
    → Day 46: https://tantek.com/2023/296/t1/posse-syndicate-link-reply

    ¹ https://cosocial.ca/@evan/111237962392745000
    ² https://tantek.com/2023/287/t1/federating-mentions
    ³ https://tantek.com/2023/289/f1

  10. likes evan’s reply

  11. Bridgy Fed (#BridgyFed) recently added support for federating @-@-mentions to #Mastodon: https://fed.brid.gy/docs#mention

    So here’s a test:

    Happy birthday @evanp.me (@evan@cosocial.ca @evanpro)!!!

    Let’s see if Evan receives one or more notifications of these mentions, especially on cosocial, directly from my blog to his Mastodon account.

    Previous related posts on how to @-mention across the #IndieWeb, #fediverse, and silos:
    * https://tantek.com/2023/014/t4/domain-first-federated-atmention
    * https://tantek.com/2023/017/t1/socialweb-blogs-reply-comment-post
    * https://tantek.com/2023/018/t1/elevate-indieweb-above-silo
    * https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
    which is enough material on the subject to be worth a broader overall blog post on at-mentions, @-mentions, @-@-mentions, how to write them, how to send #Webmentions or #federate them, and perhaps how to recognize & send notifications for them.

  12. 👍 to a comment on issue 435 of GitHub project “strategy”

  13. ❤️ to a comment on issue 435 of GitHub project “strategy”

  14. More Thoughtful Reading & Writing on the Web

    Ben Werdmuller recently published an inspiring and thought-provoking blog post: “Subscribing to the blogs of people I follow on Mastodon”. Beyond the insights and excellent developer how-to in his post, I believe it points to something larger: a fundamental thoughtfulness difference between writing rapid short-form posts (whether tweets or toots) and medium or longer form writing (on blogs or journals), and the impact of that difference on readers: that the act of reading more thoughtful writing nudges & reinforces a reader into a more thoughtful state of mind.

    If you have not read Derek Powazek’s watershed blog post “The Argument Machine”, I highly recommend you do so. In the nearly ten years since his post, Derek’s hypothesis of Twitter’s user interface design being the ultimate machine to create & amplify disputes has been repeatedly demonstrated.

    Derek’s post predated Mastodon’s release by nearly three years. Ironically, by replicating much of Twitter’s user experience, Mastodon has in many ways also replicated its Argument Machine effects, except distributed across more servers.

    I’ve witnessed numerous otherwise rational, well-intentioned individuals write reactive posts on Mastodon, exactly what the Twitter-like interface encourages. Quick emotional responses rather than slower, more thoughtful posts and replies.

    I’ve seen the artificial urgency of tweets & toots bleed over into emotional essays on public mailing lists. New participants join a list and immediately make entitled demands. Fearful bordering on paranoid assumptions are used to state assertions of “facts” without citations. Arguments are made that appeal to emotion (argumentum ad passiones) rather than reasoning from principles and shared values.

    Implicit in Ben’s post, “Subscribing to the blogs of people” (emphasis mine), is a preference for reading longer form writing, published on a site a human owns & identifies with (a la #indieweb), neither silo nor someone else’s garage.

    The combination of taking more time (as longer form writing encourages) and publishing on a domain associated with your name, your identity, enables & incentivizes more thoughtful writing. More thoughtful writing elevates the reader to a more thoughtful state of mind.

    There is also a self-care aspect to this kind of deliberate shift. Ben wrote that he found himself “craving more nuance and depth” among “quick, in-the-now status updates”. I believe this points to a scarcity of thoughtfulness in such short form writings. Spending more time reading thoughtful posts not only alleviates such scarcity, it can also displace the artificial sense of urgency to respond when scrolling through soundbyte status updates.

    When I returned from #W3CTPAC, I made a list of all the thoughts, meetings, sessions that I wanted to write-up and publish as blog posts to capture my experiences, perspectives, and insights beyond any official minutes.

    Yet due to distractions such as catching up on short form posts, it took me over a week to write-up even a summary of my TPAC week, nevermind the queue of per-topic notes I wanted to write-up. To even publish that I had to stop and cut-off reading short form posts, as well as ignoring (mostly postponing) numerous notifications.

    There’s a larger connection here between thoughtful reading, and finding, restoring, and rebuilding the ability to focus, a key to thoughtful writing. It requires not only reducing time spent on short form reading (and writing), but also reducing notifications, especially push notifications. That insight led me to wade into and garden the respective IndieWeb wiki pages for notifications, push notifications, and document a new page for notification fatigue. That broader topic of what do to about notifications is worth its own blog post (or a few), and a good place to end this post.

    Thanks again Ben for your blog post. May we spend more time reading & writing such thoughtful posts.

  15. I recently wrote a high level summary blog post:

    W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023


    of my time at the #W3C (@W3.org, @w3c@w3c.social, @W3C) #TPAC the week before.

    Posting this note to explicitly #hashtag that article with topics mentioned therein:

    #Sevilla #Seville #Spain #WICG #SocialCG #SWICG #Fediverse #SocialWeb #sustainability #IndieWeb #ActivityPub

    because I forgot to put explicit categories (p-category markup) in the article post.

    Adding that markup after publishing, and then sending an ActivityPub update (via #BridgyFed) is apparently not enough for #Mastodon to notice that the Update has new tags to display and aggregate on tag pages. In my next #w3cTPAC article post I’ll be sure to include category markup before publishing and see if that works.

    Post glossary:

    article post
    note post

  16. W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023

    This year’s W3C TPAC (Technical Plenary and Advisory Committee) meetings felt denser in many ways, packed tighter with more topics, and more active participants. There were so many specific things in specific meetings, new connections, victories, new challenges, that in addition to capturing summary notes, I'm considering writing blog posts about each meeting or session.

    Nearly all of them have public minutes that document both participants, and a good portion of what was discussed. I have my own notes, and combined with recollected details of what was minuted, I have my own observations to share. I encourage everyone who participated at TPAC (whether in-person or remote) to consider either writing a summary blog post about the experience, perhaps highlighting a few things that stood out, or if there were specific technical discussions that advanced something in a positive direction, or challenges blocking progress, those are worth their own blog posts as well.

    TPAC week 2023 took place from Monday through Friday , in Sevilla, Spain.

    Here is a summary outline of meetings, sessions, and discussions I participated in. Not listed: conversations at breakfasts, morning & afternoon breaks, lunches, dinners, and of course hallways. Unlinked for now, each of these has a calendar event with description, minutes, almost all of which are public.

    • Monday
      • WICG (Web Incubator Community Group)
    • Tuesday
      • Social Web Incubator CG (community group), AKA SocialCG or SWICG
      • DID WG rechartering discussion
      • AC meeting
      • Vision TF
      • Fediverse meetup
    • Wednesday — Breakouts day!
      • Chartering at W3C
      • Technical Roadmap at W3C
      • SocialWeb Test Suite Discussion
      • SocialWeb Data Portability Discussion
      • Introducing the Web Sustainability Guidelines (WSGs)
      • Report to Members, Hearing from Members
      • Technical Plenary reception
    • Thursday
      • CSS WG, briefly
      • Afternoon break: Solid charter discussions, use-cases, IndieWeb Micropub, ActivityPub
    • Friday
      • Social CG planning
      • Departing conversations & reflections

    Those are the sessions & discussions that I found in my notes. I also met a lot of new people during meetings, meals, and discussions at breaks. As I write up my notes on specific sessions and their minutes (and hyperlink the above list items), I expect to recall more context and details. If you were at TPAC in Seville, I encourage you to write-up your experiences as well, while the thoughts, feelings, and insights are fresh in your mind. By documenting & publishing our collective experiences (using the #w3cTPAC hashtag) we can build upon them together.

  17. 👍 to a comment on issue 113 of GitHub project “AB-public”

  18. 👍 to a comment on issue 8693 of GitHub project “html”

  19. 👍 to issue 387 of GitHub project “activitypub”

  20. 👍 to a comment on issue 96 of GitHub project “AB-public”

  21. 👍 to issue 112 of GitHub project “AB-public”

  22. RSVP yes to: www.w3.org’s post going to the #SocialWeb CG meeting @W3C #w3cTPAC tomorrow (2023-09-12) at 09:30 CEST.

    Looking forward to seeing @evanp.me (@evan@cosocial.ca @evanpro) and many others!

    So many advances in #ActivityPub, #Webmention, Micropub, #IndieAuth etc. that it may be time to restart the #SocialWebWG to officially update all our active specifications.

    We can & should also reach out to #Bluesky & #Nostr communities to work together on shared semantics and bridging protocols to continue growing a heterogenous #fediverse built on the #OpenWeb.

    We know it is possible. We worked hard in the Social Web working group to align a lot of semantics across #ActivityStreams and #microformats2. The fruitful results of that are services like http://fed.brid.gy/ which I myself use to send a Webmention when I make a new post (like this one) and have #BridgyFed automatically federate it via ActivityPub using my personal site identity to #Mastodon followers and others.

    @snarfed.org wrote up a recent comparison of top #decentralized #socialProtocols that can help inform a lot of this discussion: https://snarfed.org/2023-09-04_50856

  23. 👍 to a comment on issue 43 of GitHub project “tpac2023-breakouts”

  24. ↳ In reply to Tantek’s note Shared times with Molly mostly captured on Flickr, our community sharing site of that era.


    Conferences like #SXSW #WWW2005 #OpenWebCamp and a @CSSWG meeting @W3C #w3cTPAC 2006.

    But this one hurts the most:
    Molly Holzschlag and Cindy Li at Web Directions North 2007.

  25. ↳ In reply to @zeldman’s tweet @Zeldman day by day my friend. If you would have asked a month ago I would have said no, for unrelated reasons which are thankfully mostly resolved.

    At #w3cTPAC this week, with many who also knew Molly. I expect there’ll be a lot of sharing.

    Day by day.

  26. I was traveling when I heard the news about Molly Holzschlag (@mholzschlag).


    Her #CSS #accessibility #OpenWeb contributions are well documented. May she be at peace. Appreciated @Zeldman.com’s (@Zeldman) note: https://twitter.com/zeldman/status/1699395939792822335

  27. Threads.net now supports the #indieWeb #microformats #openStandard rel-me for distributed ✅ verification!¹ (supported since 2023-08-09)

    My Threads profile already had my domain since it was created from my Instagram profile.

    View source on https://www.threads.net/@tantek and you can see the #relMe on a link tag:
     <link rel="me" href="https://tantek.com/" />

    Instructions to add yours:
    * Add your domain to your Threads profile "Link" field. That’s it.
    Longer explicit steps: https://indieweb.org/rel-me#Threads

    Thanks especially to @timothychambers.net (@tchambers@indieweb.social,  @timothyjchambers@threads.net) for requesting rel-me support² which one Threads engineer “decided to hack it together” one night!³

    You can view Tim’s profile @tchambers@indieweb.social for a real world example of a Mastodon profile showing a green text ✅ verified link to a Threads profile.

    Tim made several good points in his request:

    “… a small, but disproportionately helpful addition would be to support this "rel=me" feature in your profiles. That could launch well before full ActivityPub, & show the first real integration to open social web standards”

    Microformats (and IndieWeb) standards in general are deliberately designed as small, incremental building blocks which are disproportionately helpful as Tim says.

    These small building blocks which directly enable user features are usually something a web developer can code at least some (often complete!) support for in one day/night which makes them particularly appealing as a way to rapidly support open #socialWeb standards used by the #fediverse and beyond.

    Incrementally implementing microformats & IndieWeb standards also demonstrates good will and good intentions for supporting the #openWeb.

    This is day 44 of #100DaysOfIndieWeb. #100Days

    ← Day 43: https://tantek.com/2023/171/t1/anniversaries-microformats-posse
    → Day 45: https://tantek.com/2023/289/t1/bridgyfed-webmention-like-fediverse

    * 2023-02-01 Wikipedia.org supports multiple rel=me links: https://tantek.com/2023/139/t1/wikipedia-supports-indieweb-rel-me

    ¹ https://www.threads.net/@mosseri/post/Cvu2eXurRbB
    ² https://www.threads.net/@timothyjchambers/post/CupCvChAxI8
    ³ https://www.threads.net/@0xjessel/post/Cvu7-A4viZu

  28. ↳ In reply to a comment on issue 852 of GitHub project “standards-positions” Thanks https://github.com/bgrins for this summary write-up. Per this analysis I’m going to label our position on this proposal as negative.

    Since this is a proposal in a personal GitHub repo, and not standards track work nor in any open incubation group, there is no need for a dashboard entry. Closing accordingly.

  29. ↳ In reply to issue 8930 of GitHub project “csswg-drafts” Regarding History:
    > The earliest such proposal I could find was this one from 2009. (https://lists.w3.org/Archives/Public/www-style/2009Apr/0225.html)

    This sounded familiar (as in I thought I had proposed something similar a while ago), and it turns out I had proposed exactly a "tooltip pseudo-element" nine years earlier 🙈😭


    Note that the year 2000 was before the WG switched to the "::" prefix for pseudo-element selectors, so all pseudo-elements and pseudo-classes used the single ":" prefix.

  30. June #trailRunner #ultraRunner weekends
    3 finished #MUC50k @InsideTrail #RodeoBeach 9:38:28, my 3rd #50k #ultraMarathon #trailRace
    11 volunteered @TheDipsea #DipseaRace at #MuirWoods
    18 finished @BrokenArrowCA #BA23k 5:22:54 #RingDasBell, my 1st #skyRace
    24-25 crewed pal @davidtlam @wser.org 100mi to a successful #WS100 finish!

    #runner #running #trailRunning

    Heart & mind full, body pushed to its limits, capturing my experiences in a few write-ups.

  31. Two anniversaries today: microformats (18y) and POSSE (11y).

    Happy 18 years of https://microformats.org/ #microformats!

    Most prominent this past year (again) has been the littlest #microformat that could:

    rel=me — AKA #relMe, now effectively the standard for #distributed #verification on the web:
    * https://microformats.org/wiki/rel-me (originally introduced in 2004¹)

    with support added in the past year for:
    * #GitHub multiple rel-me links²
    * #Wikipedia User page rel-me link³

    Figure out how you want to fit into the network.
    #POSSE, short for “Publish (on your) Own Site, Syndicate Elsewhere”, as a term of use is now 11 years old, which is surprising since when it was conceived, the #IndieWeb community was in a period of very rapid innovation & iteration.

    POSSE itself replaced a previous term, "POSE", short for “Publish Once Syndicate Everywhere”, which had only been around a year or two at most (I’m still looking for the first use of the "POSE" abbreviation for that meaning).

    Since “publish once” was vague enough to include practices of publishing once on a social media silo, or in someone else’s garage, we needed to clearly express the requirement to use your own site instead, first, as the source of your truth. Cross-posting to other sites & channels, is a second, optional step, ideally with a permalink linking back to your original post so viewers can easily discover and use your site.

    That distinction was enough for POSSE to express a strong creator-owned-first publishing model that resonated and grew. Every time a silo shutdown at the end of its incredible journey, removing posts & permalinks from the web, POSSE was there for people who were tired of losing their data, permalinks, & profiles, and wanted an alternative.

    This is day 43 of #100DaysOfIndieWeb. #100Days

    ← Day 42: https://tantek.com/2023/160/t1/mastodon-activitypub-follow-form-bridgy-fed
    → Day 44: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me




    ¹ https://gmpg.org/xfn/11#me
    ² https://tantek.com/2023/032/t1/years-relmeauth-replace-openid
    ³ https://tantek.com/2023/139/t1/wikipedia-supports-indieweb-rel-me