Tantek Çelik

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

💬 👏
  1. @indieweb.org/POSSE in effect!

    Well done @joanwestenberg@threads.net 🙌🏻

    #POSSE threads
     
    https://www.threads.net/@joanwestenberg/post/C43gPbVSzPI:
    “Me: You should publish on your own website first, then other platforms.

     Me: Publishes on my own website first, then other platforms.

     Galaxy brains: HOW IRONIC YOU PUBLISH ON OTHER PLATFORMS”
     

    #IndieWeb

    on
  2. Join the open social web or be relegated the same fate as AOL, who couldn't even sustain their dominant instant messaging silo.
    #Twitter, #Pinterest, #Snapchat, #Quora, you're not special enough to survive on your own. And tick-tock #TikTok.

    #fediverse threads

    https://www.threads.net/@evanprodromou/post/C46RHmMv1te:
    “If Meta can join the Fediverse, what's your excuse?”


    #openSocialWeb #AOL #AIMsilo

    on
  3. https://microformats.org/wiki/rel-me. Want to learn more about rel=me distributed identity verification with zero cryptohashfoo blockchaining? Drop by https://chat.indieweb.org/dev. #HTML FTW!

    https://www.threads.net/@0xjessel/post/C4zGhshpn9t:
    “as everyone is trying out fediverse, today is a good reminder that threads support rel=me link verification -- another open web standard we adopted last year. this is useful right now because you can't see fediverse replies to your posts on threads yet. so if you use a mastodon alt account to reply to your threads posts, setting this up proves you are the owner of the mastodon and threads account. see post below on how to set this up: https://www.threads.net/@0xjessel/post/Cvu7-42PVpC:
     “to set your own up:
      1. add your mastodon profile to your threads link in bio.
      2. add your threads profile to your mastodon profile
      3. save your profile and it should show as verified now”


    Previously: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me

    #microformats #relme #fediverse #Threads

    on
  4. ↳ In reply to a comment on issue 71 of GitHub project “AB-public” Agreed @github.com/cwilso. Given the feedback in the comments, I accept that the marginal benefit of explicitly adding "malvertising" as less than the marginal costs of doing so (document length, jargon/uncommon term).

    I’m open to other purely editorial changes that help simplify the Vision and improve its readability, but those should be proposed as separate issues / pull requests.

    Per @github.com/cwilso’s proposal and no objections to @github.com/TzviyaSiegman’s comment, since I filed this issue I am closing without prejudice.

    on
  5. 👍 to a comment on issue 71 of GitHub project “AB-public”

    on
  6. Are you celebrating #spring #equinox

    [ ] in September for the Southern Hemisphere
    [ ] 2024-03-21
    [ ] 2024-03-20
    [ ] 2024-03-20 03:06Z
    [ ] 2024-03-19
    [ ] 2024-03-19 23:06 EDT
    [ ] 2024-079
    [ ] 2024-079 20:06 PDT

    and optionally, why did you choose which choice(s)?

    on
  7. While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)

    <style>
    p { color: red }
    </style>

    a more robust style element requires a precise series of overlapping code comments.

    Here is the answer if you want a code snippet to copy & paste

    <style><!--/*--><![CDATA[*/
    p { color: red } /* you may delete this sample style rule */
    /*]]><!--*/--></style>


    Here is why:

    1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways to errantly or deliberately misplace markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors. Strictly speaking any use of > child combinator selector syntax should also be HTML escaped (as &gt;) inside a style elment.

    Thus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style element from such processing, including any child combinators. A CDATA section does exactly that:

    <style><![CDATA[
    p { color: orange } /* CDATA allows a </style> here to not close the element */
    body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */
    ]]></style>


    2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3¹ or editor's draft² as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.

    Thus we must hide the CDATA directive, its opening and closing markup, from CSS parsers.  CSS code comments /* ... */ can do exactly that:

    <style>/*<![CDATA[*/
    p { color: orange } /* CDATA allows a </style> here to not close the element */
    body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */
    /*]]>*/</style>


    3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:

    /* */

    This recently showed up in a draft of the This Week in The #IndieWeb newsletter³, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */

    Fortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets (noted there as CDO-token and CDC-token), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.

    This last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:

    <style><!--/*--><![CDATA[*/
    p { color: orange } /* CDATA allows a </style> here to not close the element */
    body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */
    /*]]><!--*/--></style>

    By replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post:

    <style><!--/*--><![CDATA[*/
    p { color: red } /* you may delete this sample style rule */
    /*]]><!--*/--></style>

    Q.E.D.


    Afterword:

    If you’re reading this in a traditional feed reader and see any red or orange text, then your feed reader has a bug (or a few) in its HTML parsing code.

    If you View Source on this post’s original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make principle.

    #CSS #style #styleElement #styleSheet #HTML #HTML5 #CSSsyntax #codeComments #CDATA #SGML #CSScomment #HTMLcomment #SGMLcomment


    Glossary:

    CDATA
      https://en.wikipedia.org/wiki/CDATA
    CSS — Cascading Style Sheets
      https://en.wikipedia.org/wiki/CSS
    HTML — HyperText Markup Language
      https://en.wikipedia.org/wiki/HTML
    HTML5
      https://en.wikipedia.org/wiki/HTML5
    IndieWeb Principles
      https://indieweb.org/principles
    MediaWiki
      https://en.wikipedia.org/wiki/MediaWiki
    original permalink
      https://indieweb.org/original_permalink
    Q.E.D.
      https://en.wikipedia.org/wiki/Q.E.D.

    References:

    ¹ https://www.w3.org/TR/css-syntax-3/
    ² https://drafts.csswg.org/css-syntax/
    ³ https://indieweb.org/this-week-in-the-indieweb
    https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram
    https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram
    https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram
    https://indieweb.org/use_what_you_make

    on
  8. What I created while remotely participating at #IndieWebCamp Brighton 2024: wiki-gardened day 1’s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.

    Day 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.

    At the start of day 2, everyone is encourage to pick things to make¹. What to make at an IndieWebCamp² can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content.

    Everyone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.

    For my "easy" task, I built on what another remote participant, @gregorlove.com completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page³. gRegor had noted that he didn’t have time to clean-up the pages, e.g. convert and fix Markdown links.

    I went through the 13 Session Notes archives and did the following:
    * converted Markdown links to MediaWiki links
    * converted indieweb.org (and some services) links to local wiki page links
    * fixed (some) typos

    With some help from @alexsirac.com (@alexture@todo.eu), I figured out how to create a MediaWiki Contributions summary link of my edits:
    * https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25

    I point this out to provide an example of an IndieWeb Create Day project that is:
    * incremental on top of someone else’s work
    * community contribution rather a personal-focused project
    * editing and wiki-gardening as valid contributions, not just creating new content

    I point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward:
    * new innovations (not incremental improvements)
    * solo (or maybe jointly in a small team) inventions, designs, specs, or implementations
    * something large, a new service or a big feature, not numerous small edits & fixes

    In this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #Indie in #IndieWeb), than any corporation.


    For my "more bold" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements.
    * https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases


    My stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #Mastodon, other #ActivityPub or #fediverse implementations, and even across #socialMedia silos), as well as how many implementations autolink plain text URLs, domains, and paths.

    That stretch goal remains a goal, however I did collect a handful of prior posts on @-mentions which I plan to source for specifying auto-linking and @-mentioning:
    * https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
    * https://tantek.com/2023/014/t4/domain-first-federated-atmention
    * https://tantek.com/2023/018/t1/elevate-indieweb-above-silo
    * https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
    * https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread
    #autoLink #atDomain #atPath #atMention #atMentions #atat #atAtMention


    I was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day:
    * https://indieweb.org/2024/Brighton/Demos

    And read what other participants have blogged about their IndieWebCamp Brighton experience:
    * https://roobottom.com/articles/plugging-into-the-indieweb/
    * https://adactio.com/journal/20968
    * https://theadhocracy.co.uk/wrote/indiewebcamp-brighton-2024/



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

    https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases
    → 🔮


    Glossary:

    Create Day
      https://indieweb.org/Create_Day
    IndieWebCamp Brighton 2024
      https://indieweb.org/2024/Brighton

    References:

    ¹ https://indieweb.org/IndieWebCamps/Attending#Day_Two
    ² https://indieweb.org/what_to_make_at_IndieWebCamp
    ³ https://indieweb.org/2024/Brighton/Schedule#Saturday

    on
  9. Updated the auto-linking code¹ on my website last Sunday to handle a few more @-mention use-cases.

    In particular:
    * @-domains with dashes/hyphens like @sonja-weckenmann.de
    * @-@ with (some) Unicode alphabetic characters like @briansuda@loðfíll.is
    * @-domain-and-path for indicating @-mentions of silo profiles that don’t support @-@ syntax, like @flickr.com/people/tantek or @instagram.com/tantek

    I also dropped auto-linking of URLs with user:password "userinfo", since they’ve been long abandoned and effectively deprecated because there’s fairly wide agreement that such basic HTTP authentication² was poorly designed and should not be used (and thus should not be linked).

    If you’re curious you can take a look at https://tantek.com/cassis.js, which has updated functions:
    * auto_link_re() — regular expression to recognize URLs, @-mentions, @-@, and footnotes to link
    * auto_link() — specifically the code to recognize different kinds of @-@ and @-mentions and link them properly to profiles, domains, and paths.

    This code is only live on my website (testing in production³ as it were) for now, and you’re welcome to copy/paste to experiment with it. I plan to test it more over the coming weeks (or so) and when I feel it is sufficiently well tested, will update it on GitHub as well.

    With this additional auto-linking functionality, I feel I have a fairly complete implementation of how to auto-link various URLs and @-mentions, and plan to write that up at least as a minimal “list of use-cases and how they should work” auto-linking specification.

    This (blog post) is my contribution to today’s #IndieWebCamp Brighton #hackday!

    This was originally a project I wanted to complete during IndieWebCamp Nuremberg last October, however I was pre-occupied at the time with fixing other things.

    #autolink #atmention #atmentions #atat #atatmention

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

    https://tantek.com/2024/047/t1/indieweb-major-update-design
    https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton


    ¹ https://tantek.com/cassis.js
    ² https://en.wikipedia.org/wiki/Basic_access_authentication
    ³ https://indieweb.org/test_in_production
    https://tantek.com/github/cassis
    https://indieweb.org/2024/Brighton
    https://tantek.com/2023/302/t1/indiewebcamp-completed-projects

    on
  10. This past Saturday: finished the #InsideTrail Redtail Ridge 30k #trailRace in 6:00:59.

    A few notes:

    This was my first trail race of 2024, and first in over 6 months, since last year’s Marin Ultra Challenge 50k and Broken Arrow 23k races in June¹. Saw pal Henri after changing into my trail shoes in the Lake Chabot Regional Park parking lot. The storms had scared many away, fewer than 100 showed up to the combined 30k & 50k start.

    The muddy rainy adventure began when we veered off the initial paved trail around the lake and onto a rocky uphill stretch. It was mostly an out-and-back course, with a bit of a loop in the middle. On the second half of that loop there was one fork in the trail without race markings. After spending minutes taking a peek down both options, I guessed right. About a half mile later a wooden trail post validated my choice.

    I kept a sustainable run/hike pace, with some sliding in the mud, stepping around many ruts and puddles of unknown depths. Slower finish than 5 years ago², yet this time with a negative split, and earned my first DLF award!

    #30k #RedtailRidge #trailRun #trailRunner #runner #trailRunning #running #2024_048

    ¹ https://tantek.com/2023/178/t1/june-trailrunner-ultrarunner
    ² https://tantek.com/2019/048/t1/finshed-chabot-redtailridge-30k-pr

    on
  11. likes @beep@follow.ethanmarcotte.com reply at , @molly0xfff@hachyderm.io reply at , @molly0xfff@hachyderm.io toot at , @accordionpolar@indieweb.social reply at , @stevenjmesser@indieweb.social reply at , @nemobis@mamot.fr reply at , @lars@mastodon.social reply at , @KevinMarks@xoxo.zone reply at , @zeldman@front-end.social toot at , and @matthiasott@mastodon.social toot at

    on
  12. ↳ In reply to hachyderm.io user molly0xfff’s post @mollywhite.net (@molly0xfff@hachyderm.io) my #IndieWeb blog is https://tantek.com/ with all posts & responses, @tantek.com #federated via #BridgyFed for posts & #fediverse @-@-responses¹, and lastly a time-delayed² Atom feed³ for top-posts only (notes, articles, sometimes photos)

    ¹ https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
    ² https://indieweb.org/publish_delay
    ³ https://tantek.com/updates.atom

    on
  13. New this week: the #IndieWeb community deployed a major modern update to the design, usability, and cross-device support of the https://indieweb.org/ home page and wiki in general! In brief:

    * Updated MediaWiki install, updated themes, better mobile device support
    * New default theme: Vector (2022), the same as English Wikipedia
    * Lots of CSS fixes for content, sidebars, etc.
    * Home page content simplification and more pleasing design update

    Lots more details on the 2024 homepage and design update project page:
    * https://indieweb.org/2024/homepage

    This was a community effort, with many people pitching in with major & minor contributions, spending weeks, days, hours, or a few minutes here and there helping out.  From server work, to PHP coding, to HTML+CSS (re)coding, to testing variants of MediaWiki themes, browsers, and devices.

    Huge thanks in particular to @PaulRobertLloyd.com (@paulrobertlloyd@mastodon.social) for both driving this design update (e.g. said project page) and doing the heavy lifting of debugging, patching, and testing the latest MediaWiki Vector theme, documenting before & after screenshots, and @AaronParecki.com (@aaronpk@aaronparecki.com @aaronpk) for all the server-side software updates, PHP/IndieAuth wrangling, and critical devops too.

    Go try the new https://indieweb.org/ on any browser, on any device, and share your experience!

    #IndieNews

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

    https://tantek.com/2024/046/t1/the-ephemeral-web
    https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases

    on
  14. likes @thisismissem@hachyderm.io reply

    on
  15. A couple of days ago in an informal discussion in the #indieweb chat channel about how different people view #Mastodon, the #fediverse, or #Bluesky, and services like #Bridgy & #BridgyFed quite differently, I noted¹ that one big unspoken difference was how things on the web last over time, from the traditional persistent web, vs the newer and growing ephemeral web.

    There is the publicly viewable #OpenWeb that many of us take for granted, meaning the web that is persistent, that lasts over time, and thanks to being #curlable, that the Internet Archive archives, and that a plurality of search engines see and index (robots.txt allowing). The HTML + CSS + media files declarative web.

    Then there are the https APIs that return JSON "web", the thing that I’ve started calling the ephemeral web, the set of things that are here today, briefly, gone tomorrow. I’ve previously used the more provocative phrase js;dr (JavaScript required, Didn’t Read) for this #ephemeralWeb, yet like many things, it turns out there is a spectrum from ephemeral to persistent.


    One popular example on that spectrum that’s closer to the ephemeral edge is anything on a Mastodon server running v4 (or later as of this writing) of the software. (I’m not bothering to discuss the examples of walled garden social media silos because I expect we will continue to see their demise² over time.)

    For example, the Internet Archive version of the shutdown notice for the queer(.)af Mastodon server, is visibly blank:

    https://web.archive.org/web/20240112165635/https://queer.af/@postmaster/111733741786950083

    Note: only a single Internet Archive snapshot was made of that post.

    However if you View Source, you can find the entirety of that #queerAF post duplicated across a couple of invisible-to-the-user meta tags inside the raw HTML:

     "**TL;DR: Queer[.]AF will close on 2024-04-12** …"  

    [.] added to avoid linking to a dead domain.

    Note: such meta tags in js;dr pages were part of the motivation to specify metaformats.

    To be clear, the shutdown of queer(.)af was a tragedy and not the fault of the creators, administrators etc., but rather one of the unfortunate outcomes of using some ccTLDs, country-code top level domains, that risk sudden draconian rules, domain renewal price hikes, or other unpredictable risks due to the politics, turmoil, regime changes etc. of the countries that administrate such domains.


    Nearly the entirety of every Mastodon server, every post, every reply, is ephemeral.

    When a Mastodon server shuts down, all its posts disappear from the surface of the web, forever.

    Perhaps internet archeologists of the future will discover such dead permalinks, check the Internet Archive, find apparent desolation, and a few of them will be curious enough to use View Source tools to unearth parts of those posts, unintentionally preserved inside ceremonial meta tags next to dead scripts disconnected from databases and an empty shell of a body.  

    All reply-contexts of and replies to such posts and conversations lost, like threads unraveled from an ancient tapestry, scattered to the winds.


    If you’re reading this post in your Mastodon reader, on either the website of your Mastodon account, or in a proprietary native client application, you should be able to click through, perhaps on the date-time stamp displayed to you, to view the original post on my website, where it is served in relatively simple declarative HTML + CSS with a bit of progressive enhancement script.

    Because I serve declarative content, my posts are both findable across a variety of services & search engines, and archived by the Internet Archive. Even if my site goes down, snapshots or archives will be viewable elsewhere, with nearly the same fidelity of viewing them directly on my site.

    This design for longevity is both deliberate, and the default for which the web was designed. It’s also one of the explicit principles in the IndieWeb community.

    If that resonates with you, if creating, writing, & building things that last matter to you, choose web tools, services, and software that support the persistence & longevity of your work.

    #persistentWeb #longWeb #LongNow

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

    https://tantek.com/2024/035/t2/indiewebcamp-brighton-tickets-available
    https://tantek.com/2024/047/t1/indieweb-major-update-design


    Post glossary:

    API (Application Programming Interface)
      https://indieweb.org/API
    Bluesky
      https://indieweb.org/Bluesky
    Bridgy
      https://brid.gy/
    Bridgy Fed
      https://fed.brid.gy/
    ccTLD (country-code top level domain)
      https://indieweb.org/ccTLD
    curlable
      https://indieweb.org/curlable
    declarative web
      https://www.mozilla.org/en-US/about/webvision/full/#thedeclarativeweb
    Internet Archive
      https://archive.org/
    js;dr (JavaScript required; Didn’t Read)
      https://tantek.com/2015/069/t1/js-dr-javascript-required-dead
    JSON
      https://indieweb.org/JSON
    longevity
      https://indieweb.org/longevity
    Mastodon
      https://indieweb.org/Mastodon
    metaformats
      https://microformats.org/wiki/metaformats
    permalink
      https://indieweb.org/permalink
    principles in the IndieWeb community
      https://indieweb.org/principles
    progressive enhancement
      https://indieweb.org/progressive_enhancement
    reply
      https://indieweb.org/reply
    reply-context
      https://indieweb.org/reply-context
    robots.txt
      https://indieweb.org/robots_txt
    social media
      https://indieweb.org/social_media
    silo
      https://indieweb.org/silo
    View Source
      https://firefox-source-docs.mozilla.org/devtools-user/view_source/index.html


    ¹ https://chat.indieweb.org/2024-02-13#t1707845454695700
    ² https://indieweb.org/site-deaths

    on
  16. Twenty years and two days ago, @KevinMarks.com (@KevinMarks@xoxo.zone @KevinMarks) and I introduced #microformats in a conference presentation.

    I wrote a long retrospective last year: https://tantek.com/2023/047/t1/nineteen-years-microformats

    Since that post nearly a year ago, here are the top three updates & interesting developments in microformats:

    1. Growing rel=me adoption for distributed verification (✅ in Mastodon etc.)
     * Wikipedia: https://tantek.com/2023/139/t1/wikipedia-supports-indieweb-rel-me
     * Threads: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me
     * omg.lol profile links by default: https://home.omg.lol/info/profile-items

    2. A proposal to merge h-review into h-entry, since reviews are in practice always entries with a bit more information:
     * https://github.com/microformats/h-entry/issues/32
     
    3. #metaformats adoptions, implementations, and iteration
     * There was growing practical interest in metaformats, so I updated the spec accordingly
     * A half dozen implementations shipped: https://indieweb.org/metaformats#IndieWeb_Examples
     * Active discussion for evolving metaformats to support more real world use-cases: https://github.com/microformats/metaformats/issues

    Hard to believe it’s been 20 years of iterating and evolving microformats, to #microformats2, growing adoption as #IndieWeb building blocks, distributed verification (those green checkmarks) in #Mastodon and across the #fediverse, and implementing metaformats parsing to standardize parsing various meta tags for link previews into equivalent microformats2.

    From last year’s activity, it’s clear there’s more use-cases, implementer interest, and community activity than ever.  Looking forward to seeing what we can build in 2024.


    Post Glossary

    h-entry
      https://microformats.org/wiki/h-entry
    h-review
      https://microformats.org/wiki/h-review
    link-preview
      https://indieweb.org/link-preview
    metaformats
      https://microformats.org/wiki/metaformats
    microformats
      https://microformats.org/wiki/
    microformats2
      https://microformats.org/wiki/microformats2
    rel-me
      https://microformats.org/wiki/rel-me

    on
  17. #Brighton #London and other #England & #Europe friends:

    🎪 #IndieWebCamp Brighton tickets are available!
    🎟 https://ti.to/indiewebcamp/brighton-2024
    🗓 2024-03-09…10
    🏢 The Skiff, Brighton, England
    🌐 https://indieweb.org/2024/Brighton

    Grab an in-person ticket (limited capacity) then optionally add yourself to the list of participants: https://indieweb.org/2024/Brighton#In_person

    For more information, see organizer @paulrobertlloyd.com (@paulrobertlloyd@mastodon.social)’s post: https://paulrobertlloyd.com/2024/032/a1/indiewebcamp_brighton/


    Also check out @ClearLeft.com (@clearleft@mastodon.social @clearleft)’s “Patterns Day” (https://patternsday.com/) in Brighton the Thursday (2024-03-07) beforehand!


    Previously: https://tantek.com/2024/022/t1/indiewebcamp-brighton-planned


    This is post 9 of #100PostsOfIndieWeb. #100Posts #IndieWeb

    https://tantek.com/2024/035/t1/greshams-law-developers-users-jargon
    https://tantek.com/2024/046/t1/the-ephemeral-web

    on
  18. Similar to @paulgraham.com (@paulg@mas.to @paulg)’s 2008 observation about trolls¹, there’s a sort of Gresham's Law of developers (vs users): developers are willing to use a forum with a lot of users in it, but users aren’t willing to use a forum with a lot of developer-speak.

    Whether such forums are email lists, chat (IRC, #Matrix, #Slack, #Discord), or, well, online forums (#Reddit, #HackerNews), when discussions either start or shift into technical details, jargon, or acronyms, users (in a very broad sense) tend to stop participating, and sometimes leave, never to return.

    Users in this context are anyone with a desire (or a preference) not to chat or even be bothered spending time reading about technical plumbing & #jargon, and see such discussions as a distraction at best, and more like noise to be avoided.

    Paraphrasing Paul Graham again: once technical details, jargon, acronyms “take hold, it tends to become the dominant culture” and discourages users from showing up, discussing user-centric topics, or even staying in said forum.


    The #IndieWeb community started in 2011 as a single #indiewebcamp IRC channel (no email list²) because it was tightly coupled to IndieWebCamp events, which were both highly technical and yet focused on actually making things work on your personal site that you need³, that you will use yourself. Conversations bridged real world use-cases and technical details.

    It only took us five years after the first IndieWebCamp in Portland to recognize that the community had grown beyond the events, and had a clear need for a separate place for deep discussions of developer topics.

    As part of renaming the community from IndieWebCamp to IndieWeb, we created the #indieweb-dev (dev) channel for such technical topics like protocols, formats, tools, coding libraries, APIs, and any other acronyms or jargon.

    The community did a good job of keeping technical topics in the dev channel, and encouraging new folks in the main #indieweb channel who started technical conversations to continue them in the dev channel.

    Still, it was too easy for user-centric topics to veer into technical territory. It often felt more natural to continue a thread in the channel it started rather than break to another channel. There was also a need for regular community labor to nudge developer conversations to the developer chat channel.


    We had already started documenting IndieWeb related jargon on the wiki and turned it into a MediaWiki Category so we could tag individual pages as jargon and have them automatically show-up in a list. Soon after, @aaronparecki.com (@aaronpk@aaronparecki.com) added a heuristic to the friendly channel bot Loqi to recognize when people started using jargon in the main IndieWeb chat channel and nudge them to the development channel.

    Having Loqi do some of the gentle nudging has helped, though it‘s still quite easy for even the experienced folks in the community to get drawn into a developer conversation on main as it were.

    We’ve documented both a summary and lengthier descriptions of channel purposes which help us remind each other, as well as provide a guide to newcomers.

    Both experienced community members and newcomers share much of the user-centric focus of the IndieWeb, the IndieWeb being for everyone, whether developer, hobbyist, or someone who wants an independent presence on the web without bothering with technical details. Whether some of us want to code or not, we all want to use our IndieWeb sites to express ourselves on the web, to use our sites instead of depending on social media silos. That shared purpose keeps us focused.

    It takes a village: eternal community vigilance is the price of staying user-centric and welcoming to newcomers.

    The ideas behind this post were originally shared in the IndieWeb meta chat channel.¹⁰


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

    https://tantek.com/2024/033/t1/earthquake-sanfrancisco-shifted
    https://tantek.com/2024/035/t2/indiewebcamp-brighton-tickets-available


    Post glossary:

    development channel (indieweb-dev)
      https://indieweb.org/discuss#dev
    Discord
      https://indieweb.org/Discord
    format
      https://indieweb.org/format
    Hacker News (HN)
      https://indieweb.org/Hacker_News
    IndieWeb
      https://indieweb.org/IndieWeb
    IndieWebCamp
      https://indieweb.org/IndieWebCamp
    IRC
      https://indieweb.org/IRC
    jargon
      https://indieweb.org/jargon
    Loqi
      https://indieweb.org/Loqi
    main IndieWeb chat channel (on main)
      https://indieweb.org/discuss#indieweb
    Matrix
      https://indieweb.org/Matrix
    meta chat channel
      https://indieweb.org/discuss#meta
    MediaWiki Category
      https://www.mediawiki.org/wiki/Project:Categories
    plumbing
      https://indieweb.org/plumbing
    protocol
      https://indieweb.org/protocol
    Reddit
      https://indieweb.org/Reddit
    tools
      https://indieweb.org/tools
    Slack
      https://indieweb.org/Slack
    social media silos
      https://indieweb.org/silos


    ¹ https://www.paulgraham.com/trolls.html (2008 essay, HN still succumbed to trolling)
    ² https://indieweb.org/discuss#Email
    ³ https://indieweb.org/make_what_you_need
    https://indieweb.org/use_what_you_make
    https://indieweb.org/rename_to_IndieWeb
    https://indieweb.org/jargon
    https://indieweb.org/Category:jargon#Loqi_Nudge
    https://indieweb.org/discuss#Chat_Channels_Purposes
    https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people
    ¹⁰ https://chat.indieweb.org/meta/2024-01-22#t1705883690759800

    on
  19. 👍 to a comment on issue 844 of GitHub project “standards-positions”

    on
  20. likes @SutroTower’s reply

    on
  21. I felt the #earthquake here in #SanFrancisco. A single quick sharp jolt with rapid decay, duration less than 2s, meaning it was relatively nearby and small in magnitude

    I was about to say, perhaps #earthquakes are the last use-case for #Twitter because yes I reflexively checked it and did see posts about it from folks, including a few friends.

    Then I checked https://indieweb.social/tags/earthquake and it has plenty of recent #fediverse posts about the earthquake, several @sfba.social.

    Feels like something big has shifted.

    The #federated #IndieWeb has replaced another #socialMedia silo use-case.

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

    https://tantek.com/2024/027/t1/indieweb-ideals-systems-swappable
    https://tantek.com/2024/035/t1/greshams-law-developers-users-jargon


    Post glossary:

    silo
      https://indieweb.org/silo
    social media
      https://indieweb.org/social_media
    use-case
      https://indieweb.org/use_case

    on
  22. For the #IndieWeb ideals of independence from intermediaries, not requiring corporate platforms or other organizational intermediaries¹, the best systems we have still depend on organizations. However they are all swappable, at will, by the individual:

    1. domain names, depend on registrars, which you can switch
    2. web hosts, depend on hosting providers, which you can switch
    3. internet access, depends on internet service providers, which you can switch
    4. web browsing, depends on browsers, which you can switch
    5. personal devices, that have choice of web browser and internet access, which you can switch, upgrade, and use multiples of simultaneously

    When you can migrate from one provider to another, one device to another, without disruption, without breaking your people-to-people connections, the providers and devices serve you, instead of gatekeeping you.

    This freedom to swap, freedom to choose, depends on practical #interoperability across multiple implementations, multiple services. Open standards are the means to encouraging, testing, and verifying this user-feature interoperability across implementations and services.

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

    https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people
    https://tantek.com/2024/033/t1/earthquake-sanfrancisco-shifted


    Post glossary:

    domain name
      https://indieweb.org/personal-domain
    interoperability
      https://www.w3.org/wiki/Interoperable
    web host
      https://indieweb.org/web_host

    ¹ https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people

    on