CINXE.COM

<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"/> <title lang="tr" style="text-transform:uppercase">Tantek &#xC7;elik</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <link rel="icon" href="logo.jpg"/> <link rel="apple-touch-icon-precomposed" href="logo.jpg"/> <meta name="mobile-web-app-capable" content="yes"/> <link rel="webmention" href="https://webmention.io/tantek.com/webmention"/> <link rel="hub" href="https://pubsubhubbub.superfeedr.com/"/> <link rel="openid.delegate" href="https://tantek.com/"/> <link rel="openid.server" href="https://indieauth.com/openid"/> <link rel="authorization_endpoint" href="https://indieauth.com/auth"/> <link rel="token_endpoint" href="https://tokens.indieauth.com/token"/> <link rel="microsub" href="https://aperture.p3k.io/microsub/277"/> <link rel="alternate" type="text/mf2+html" href="#updates"/> <link rel="alternate" type="application/atom+xml" href="updates.atom"/> <link rel="serviceworker" href="serviceworker.js"/> <link rel="me" href="https://fed.brid.gy/r/https://tantek.com/"/> <link rel="me" href="https://xoxo.zone/@t"/> <link rel="author canonical self" href="https://tantek.com/"/> <link rel="author" type="application/activity+json" href="https://tantek.com/@tantek.com"> <style> <!--/*-->*/ /* HTML5+CSS work in progress. Copy paste AT YOUR OWN RISK! */ @import "2023/simple.css"; h2 { font-size:1em; } body { margin:auto; padding:1.6em; max-width:940px; } iframe { max-width:100%; } abbr { text-decoration:none } .header { border-bottom:solid 1px #666; margin-top:0; margin-bottom:1em; } .header h1 { margin:0; padding:5px 0 0; font-size:3em; line-height:1.3; font-weight:bold; white-space:nowrap; } .header h2 { font-size:1.5em; font-weight:normal; line-height:1em; min-width:20em; min-height:3em; margin:0; } .aside dt, .aside dd {margin:0;padding:0} .aside dt { margin-top:.77em; color:#666; } .aside dd { color:#000} .aside img { max-width:100% } form.search { clear: right; text-align: right; margin-bottom: 1em; white-space: nowrap; font-size: 1.3em; } .stream>ol { margin:0; padding:0; } /* div.stream li.h-entry .figure { margin:0 -1em; } */ span.see-more { display:inline; } .interact img, .p-org.h-card img, .p-category.h-card img { height:1.4em; vertical-align:-.3em } @media screen and (min-width:40em) { /* progressive enhance wider screens */ span.see-more { display:none; } body { padding:2em; } .header { height:90px; margin-top:1.3em } form.search { margin-top: -3.9em; width: 34%; float: right; } .stream { clear:left; float:left; width:62%; margin-right:4%; } .stream>ol { margin-right:3em; } .hentry ol, .hentry ul { margin-left:30px; } .aside { float:left; width:33%; } .footer .section { float:left; width:30%; margin-right:3%; } div.stream li.h-entry .figure { margin:0; } .aside .recent-photos { margin-left:0; margin-right:0; } .aside .recent-photos h2 { margin-left:0; } } /* end wider screen enhancements */ .photo { width:73px; float:left; margin:0 20px 0 0; } form.search input[type=search] { width:62%; } form.search input, form.search button { font-size:1em; height:1.7em; -moz-box-sizing: border-box; box-sizing: border-box; margin:0; vertical-align:bottom; } .stream>ol { list-style:none; } .aside h2,.footer h2 { font-size: 1.3em; text-transform:uppercase; line-height:1.25; margin:0 0 1em; } .aside .section { margin-top:2em; } .aside .section.hello { margin-top:0; } .aside .section h2 { margin-bottom:0.5em; } .aside p,.aside li,.aside dl,.footer p,.footer li { font-size:1.3em; line-height:1.54; margin:0; color: #AAA; /* #666; */ list-style:none; } /*.hello p { color:#000; }*/ .elsewhere img { vertical-align:bottom; padding-bottom:.2em; } .aside h2 { font-size:1.5em; line-height:1.43; font-weight:bold; } .aside .recent-photos { margin-left:-1.5em; margin-right:-1.5em; padding:0; } .aside .recent-photos h2 { margin-left:1em; } div.footer { margin-left:1em; clear:both; margin-top:1em; padding-top:5em; } .footer address { white-space:nowrap; } .footer p { margin-top:1em; } .footer .section li { list-style:disc inside; } address { font-style:normal; text-align:center; clear:both; margin:1em 5%; padding:3em; } ul.nav,.nav li,ul.offsite { list-style:none; } ul.nav { float:right; margin-right: 5%; } ul.offsite,.offsite li,.nav li { list-style:inline; display:inline; } #a:link { color: #D0D044; /* color:#2240C0;*/ } #a:link:hover { color:#F0F088; /* color:#22B040;*/ } #a:visited { color:#66D; } #a:visited:hover { color:#99F; /* color:#88D0F0;*/ /* color:#118020; */ } /* events */ #events li.vevent { list-style:none;margin-top:1em; } #events abbr.location { display:block; text-align:center; text-transform:uppercase; font-weight:bold; font-size:2em; word-spacing:-.1em; font-size:1.5em; } #events li.vevent a { display:block; width:167px; text-align:center; color:inherit; border:2px solid; padding:2px 1px 0 1px; } #events li.vevent object,.vevent img { max-width:160px } #events li.vevent .with { display:block } .subhead { display:block } .html5 { display:block; padding-top:3px; color:#3C790A; font-family: Helvetica, sans-serif; font-weight: 900; font-size: 27px; line-height:.7em; } .html5 span { display:block; font-size:66%; line-height:1em; text-transform:capitalize; } #events .vevent a:visited:hover { color:#66F; } #events .vevent a:link:hover { color:#33F; } input,button { font-size:1em; } button { margin: 0 0.5em 0 0; padding:0 0.5em; } kbd { color: #000 } /*<!--*/--> </style> </head> <body class="h-card vcard"> <header><div class="header"> <img class="photo u-photo" src="photo.jpg" alt=""/><a class="u-url u-uid" rel="author" href="/"></a> <div class="hgroup" style="margin-bottom:-1em"> <h1 class="p-name fn" lang="tr">Tantek &#xC7;elik</h1> <h2 class="p-role role"> <span class="p-category category">inventor</span>, <span class="p-category category">connector</span>, <span class="p-category category">writer</span>, <span class="p-category category">runner</span>, <span class="p-category category">scientist</span><span class="see-more">, <a href="#hello">more</a>.</span> </h2> </div> <span class="see-more" style="float:left; max-width:6em; font-size:2.4em; margin:0; padding:0; text-align:center"> <a href="//tantek.com/contact"><abbr title="Message Tantek">&#x1F4AC;</abbr></a> <a rel="payment" href="//tantek.com/tip/1" title="Tip: Did you read something of value here and want to encourage more posts like that? Feel free to tip a small amount and mention which topics you enjoyed! (Just please avoid specific products or services. Thanks! -t)">&#x1F44F; </a> </span> <search role="search"><form class="search" action="https://duckduckgo.com/html/" method="get"><div> <input type="hidden" name="type" value="list"/> <input type="search" value="site:tantek.com " name="q" style="max-width:10.5em"/> <button type="submit">Search</button> </div></form></search> </div></header> <!-- h-feed filled in dynamically --> <div class="h-feed section stream" id="updates"> <div class="pinned"></div> <ol> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">&#x201C;Tell me, what are words for?&#x201D; They are for blogging!<br class="auto-break"/><br class="auto-break"/>Earlier today during an informal espresso live stream in the #<span class="p-category auto-tag">indieweb</span> cafe, Spotify was playing an auto-generated daylist, something like &#x201C;romantic 80s tuesday morning&#x201D;, and the 1982 song &#x201C;Words&#x201D;<a id="t5b51_ref-1" href="#t5b51_note-1">&#xB9;</a> by the band Missing Persons came on.<br class="auto-break"/><br class="auto-break"/>When we heard this lyric:<br class="auto-break"/><br class="auto-break"/>&#x1F3B6; What are words for when no one listens? &#x1F3B6;<br class="auto-break"/><br class="auto-break"/>I remarked half-jokingly in response:<br class="auto-break"/><br class="auto-break"/>Words are for blogging, whether anyone is listening, reading, or not.<br class="auto-break"/><br class="auto-break"/>Another participant noted that blogging sometimes feels like screaming into the void.<br class="auto-break"/><br class="auto-break"/>I noted it doesn&#x2019;t matter if anyone is reading (or listening), it&#x2019;s fine to blog for an audience of one, yourself, even just to have something to refer to or reference in the future.<br class="auto-break"/><br class="auto-break"/>When I write a post it&#x2019;s often directed at only a small number of people, who may be part of a larger conversation. The point of publishing it publicly is to assert a level of confidence and credibility by the act of &#x201C;putting it on the permanent record&#x201D; (since nearly everything blogged is promptly indexed and archived.) with a permalink.<br class="auto-break"/><br class="auto-break"/>The lyrics have some quite prescient bits, like this:<br class="auto-break"/><br class="auto-break"/>&#x201C;No one notices, I think I'll dye my hair blue <br class="auto-break"/>&#xA0;Media overload bombarding you with action <br class="auto-break"/>&#xA0;It&#x2019;s getting near impossible to cause distraction&#x201D;<br class="auto-break"/><br class="auto-break"/>Written and sung more than forty years ago. Long before the web (or #<span class="p-category auto-tag">socialWeb</span>) was a thing.<br class="auto-break"/><br class="auto-break"/>Rewriting the lyrics as a parody could be a fun project, e.g.:<br class="auto-break"/><br class="auto-break"/>&#x1F3B6; What are blogs for when no one reads them? &#x1F3B6;<br class="auto-break"/><br class="auto-break"/>some existing lyrics barely need any edits, like:<br class="auto-break"/><br class="auto-break"/>&#x201C;It&#x2019;s like the feeling at the end of the page<br class="auto-break"/>&#xA0;When you realize you don't know what you just read&#x201D;<br class="auto-break"/><br class="auto-break"/>perhaps an exercise for the reader for now.<br class="auto-break"/><br class="auto-break"/>Previously: &#x201C;Inbox Zero&#x201D; (parody of The Fixx &#x201C;Saved by Zero&#x201D;<a id="t5b51_ref-2" href="#t5b51_note-2">&#xB2;</a>)<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/w/InboxZero">https://tantek.com/w/InboxZero</a> (2009-01-29 <a class="auto-link" href="https://tantek.com/twttr/status/1160324190">https://tantek.com/twttr/status/1160324190</a>)<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 10 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/055/t1/three-steps-indieweb-cybersecurity">https://tantek.com/2025/055/t1/three-steps-indieweb-cybersecurity</a><br class="auto-break"/>&#x2192; &#x1F52E;<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>blog<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/blog">https://indieweb.org/blog</a><br class="auto-break"/>blogging<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/blogging">https://indieweb.org/blogging</a><br class="auto-break"/>permalink<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/permalink">https://indieweb.org/permalink</a><br class="auto-break"/>why blog<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/why_post">https://indieweb.org/why_post</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/><br class="auto-break"/><a id="t5b51_note-1" href="#t5b51_ref-1">&#xB9;</a> <a class="auto-link" href="https://libre.fm/artist/Missing+Persons/track/Words">https://libre.fm/artist/Missing+Persons/track/Words</a> (YouTube link inside)<br class="auto-break"/><a id="t5b51_note-2" href="#t5b51_ref-2">&#xB2;</a> <a class="auto-link" href="https://libre.fm/artist/The+Fixx/track/Saved+by+Zero">https://libre.fm/artist/The+Fixx/track/Saved+by+Zero</a> (YouTube link inside)</span></p> <span class="info footer"><a href="/2025/077/t1/what-are-words-for-blogging" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="18:25-0700">18:25</time> on <time class="value">2025-03-18</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">&#x2764;&#xFE0F;</span><span class="reply-context"> to <a href="https://github.com/w3c/AB-public/issues/211#issuecomment-2725722320" class="u-in-reply-to h-cite">a comment on issue 211 of GitHub project &#x201C;AB-public&#x201D;</a></span></p> <span class="info footer"><a href="/2025/073/t1/" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="14:07-0700">14:07</time> on <time class="value">2025-03-14</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="reply-context" style="display:block">&#x21B3; In reply to <a href="https://bsky.app/profile/did:plc:pgjpl4opnmqxxpb74n4vuabv/post/3lk3zexogbc2l" class="u-in-reply-to h-cite">bsky.app&#x2019;s post</a></span> <span class="p-name entry-title e-content entry-content">Thanks <a class="auto-link" href="https://zeldman.com">@zeldman.com</a> (<a class="auto-link" href="https://zeldman.bsky.social">@zeldman.bsky.social</a> <a class="auto-link" href="https://front-end.social/@zeldman">@zeldman@front-end.social</a> <a class="auto-link h-cassis-username" href="https://twitter.com/zeldman">@zeldman</a>) &#x1F64F;&#x1F3FB;<br class="auto-break"/><br class="auto-break"/>Appreciate your kind words, and same appreciation of your decades of dedicated work &amp; words right back at you.<br class="auto-break"/><br class="auto-break"/>I feel we&#x2019;re all doing what we can to keep at least parts of the web a positive place to connect and collaborate. #<span class="p-category auto-tag">indieweb</span><br class="auto-break"/><br class="auto-break"/>These recent words of yours (tweeted 2024-11-26) struck a chord that resonated:<br class="auto-break"/><br class="auto-break"/>&#x201C;Our euphoria during the first 25 years of web design turns out to have significantly overestimated human intelligence, compassion, and decency.&#x201D;<br class="auto-break"/><br class="auto-break"/>Here&#x2019;s to decades more work &amp; words, perhaps with some acceptance of your observation, and shifting our designs to meet people where they are, enabling and encouraging them to be and do better.</span></p> <span class="info footer"><a href="/2025/071/t3/thanks-doing-what-we-can" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="17:18-0700">17:18</time> on <time class="value">2025-03-12</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Something I wrote in the W3C Authentic Web Mini Workshop&#x2019;s Zoom chat:<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Another implicit assumption (flaw) that is often a part of "purely technical solutions" is the neglect or ignorance (innocent na&#xEF;vet&#xE9;) of existing technical solutions.<br class="auto-break"/> <br class="auto-break"/>A technical proposal should not be praised for what it claims to solve.<br class="auto-break"/> <br class="auto-break"/>A technical proposal must be evaluated by what marginal difference or advantage does it provide over existing technologies.<br class="auto-break"/> <br class="auto-break"/>Any technical proposal that ignores prior technologies is itself doomed to be ignored by the next technical proposal.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>In addition to the slide presentations (links to come) in the mini workshop and Zoom verbal discussion which was minuted (link to come), there was a lot of very interesting discussion in the Zoom chat, which was not minuted. Sometimes such quick back &amp; forth can help inspire summarizing of points which one had not previously written down. <br class="auto-break"/><br class="auto-break"/>I was encouraged by a fellow workshop participant to blog this one so here it is!<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">W3C</span> #<span class="p-category auto-tag">credweb</span> #<span class="p-category auto-tag">credibleWeb</span> #<span class="p-category auto-tag">authenticWeb</span> #<span class="p-category auto-tag">technology</span> #<span class="p-category auto-tag">technical</span> #<span class="p-category auto-tag">proposal</span> #<span class="p-category auto-tag">technicalProposal</span> #<span class="p-category auto-tag">history</span></span></p> <span class="info footer"><a href="/2025/071/t2/w3c-authentic-web-technical-proposals" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="14:45-0700">14:45</time> on <time class="value">2025-03-12</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">I just participated in the first W3C Authentic Web Mini Workshop<a id="t5az1_ref-1" href="#t5az1_note-1">&#xB9;</a> hosted by the Credible Web Community Group<a id="t5az1_ref-2" href="#t5az1_note-2">&#xB2;</a> (of which I&#x2019;m a longtime member) and up front I noted that our very discussion itself needed to be careful about its own credibility, extra critical of any technologies discussed or assertions made, and initially identified two flaws to avoid on a meta level, having seen them occur many times in technical or standards discussions:<br class="auto-break"/><br class="auto-break"/>1. Politician&#x2019;s Syllogism &#x2014; "Something must be done about this problem. Here is something, let's do it!"<br class="auto-break"/><br class="auto-break"/>2. Solutions Looking For Problems &#x2014; "I am interested in how tech X can solve problem Y"<br class="auto-break"/><br class="auto-break"/>After some back and forth and arguments in the Zoom chat, I observed participants questioning speakers of arguments rather than the arguments themselves, so I had to identify a third fallacy to avoid:<br class="auto-break"/><br class="auto-break"/>3. Ad Hominem &#x2014; while obvious examples are name-calling (which is usually against codes of conduct), less obvious examples (witnessed in the meeting) include questioning a speaker&#x2019;s education (or lack thereof) like what they have or have not read, or would benefit from reading.<br class="auto-break"/><br class="auto-break"/>I am blogging these here both as a reminder (should you choose to participate in such discussions), and as a resource to cite in future discussions.<br class="auto-break"/><br class="auto-break"/>We need to all develop expertise in recognizing these logical and methodological flaws &amp; fallacies, and call them out when we see them, especially when used against others. <br class="auto-break"/><br class="auto-break"/>We need to promptly prune these flawed methods of discussion, so we can focus on actual productive, relevant, and yes, credible discussions.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">W3C</span> #<span class="p-category auto-tag">credweb</span> #<span class="p-category auto-tag">credibleWeb</span> #<span class="p-category auto-tag">authenticWeb</span> #<span class="p-category auto-tag">flaw</span> #<span class="p-category auto-tag">fallacy</span> #<span class="p-category auto-tag">fallacies</span> #<span class="p-category auto-tag">logicalFallacy</span> #<span class="p-category auto-tag">logicalFallacies</span><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>Ad Hominem<br class="auto-break"/>&#xA0; attacking an attribute of the person making an argument rather than the argument itself<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://en.wikipedia.org/wiki/Ad_hominem">https://en.wikipedia.org/wiki/Ad_hominem</a><br class="auto-break"/><br class="auto-break"/>Politician's syllogism<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://en.wikipedia.org/wiki/Politician%27s_syllogism">https://en.wikipedia.org/wiki/Politician%27s_syllogism</a><br class="auto-break"/><br class="auto-break"/>Solutions Looking For Problems (related: #<span class="p-category auto-tag">solutionism</span>, #<span class="p-category auto-tag">solutioneering</span>)<br class="auto-break"/>&#xA0; Promoting a technology that either has not identified a real problem for it to solve, or actively pitching a specific technology to any problem that seems related. Wikipedia has no page on this but has two related pages: <br class="auto-break"/>&#xA0; * <a class="auto-link" href="https://en.wikipedia.org/wiki/Law_of_the_instrument">https://en.wikipedia.org/wiki/Law_of_the_instrument</a><br class="auto-break"/>&#xA0; * <a class="auto-link" href="https://en.wikipedia.org/wiki/Technological_fix">https://en.wikipedia.org/wiki/Technological_fix</a><br class="auto-break"/>&#xA0; Wikipedia does have an essay on this specific to Wikipedia:<br class="auto-break"/>&#xA0; * <a class="auto-link" href="https://en.wikipedia.org/wiki/Wikipedia:Solutions_looking_for_a_problem">https://en.wikipedia.org/wiki/Wikipedia:Solutions_looking_for_a_problem</a><br class="auto-break"/>&#xA0; Stack Exchange has a thread on "solution in search of a problem":<br class="auto-break"/>&#xA0; * <a class="auto-link" href="https://english.stackexchange.com/questions/250320/a-word-that-means-a-solution-in-search-of-a-problem">https://english.stackexchange.com/questions/250320/a-word-that-means-a-solution-in-search-of-a-problem</a> <br class="auto-break"/>&#xA0; Forbes has an illustrative anecdote: &#xA0;<br class="auto-break"/>&#xA0; * <a class="auto-link" href="https://www.forbes.com/sites/stephanieburns/2019/05/28/solution-looking-for-a-problem/">https://www.forbes.com/sites/stephanieburns/2019/05/28/solution-looking-for-a-problem/</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/><br class="auto-break"/><a id="t5az1_note-1" href="#t5az1_ref-1">&#xB9;</a> <a class="auto-link" href="https://www.w3.org/events/workshops/2025/authentic-web-workshop/">https://www.w3.org/events/workshops/2025/authentic-web-workshop/</a><br class="auto-break"/><a id="t5az1_note-2" href="#t5az1_ref-2">&#xB2;</a> <a class="auto-link" href="https://credweb.org/">https://credweb.org/</a> and <a class="auto-link" href="https://www.w3.org/community/credibility/">https://www.w3.org/community/credibility/</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Previously in 2019 I participated <a class="auto-link" href="https://misinfocon.com">@misinfocon.com</a> #<span class="p-category auto-tag">MisinfoCon:</span> <br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2019/296/t1/london-misinfocon-discuss-spectrum-recency">https://tantek.com/2019/296/t1/london-misinfocon-discuss-spectrum-recency</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2019/296/t2/misinfocon-roundtable-spectrums-misinformation">https://tantek.com/2019/296/t2/misinfocon-roundtable-spectrums-misinformation</a></span></p> <span class="info footer"><a href="/2025/071/t1/w3c-authentic-web-workshop-flaws" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="08:11-0700">08:11</time> on <time class="value">2025-03-12</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Ten years ago today I coined the shorthand &#x201C;js;dr&#x201D; for &#x201C;JavaScript required; Didn&#x2019;t Read&#x201D;<br class="auto-break"/><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2015/069/t1/js-dr-javascript-required-dead">https://tantek.com/2015/069/t1/js-dr-javascript-required-dead</a><br class="auto-break"/><br class="auto-break"/>in reference to (primarily content) pages that were empty (or nearly so) without scripts.<br class="auto-break"/><br class="auto-break"/>Since then js;dr found its way into a book:<br class="auto-break"/><br class="auto-break"/>Page 88 of &#x201C;Inclusive Design Patterns&#x201D; by <a class="auto-link" href="https://heydonworks.com">@heydonworks.com</a> (<a class="auto-link" href="https://front-end.social/@heydon">@heydon@front-end.social</a>)<br class="auto-break"/><br class="auto-break"/><a class="auto-link figure" href="https://web.archive.org/web/20190405121431/https://twitter.com/jkphl/status/792452368562618369"><img class="auto-embed" alt="Cropped photo of part of page 88 of Inclusive Design Patterns at an angle" src="https://web.archive.org/web/20190405121448im_/https://pbs.twimg.com/media/Cv9bNjYW8AAHOac.jpg"/></a><br class="auto-break"/>and stickers!<br class="auto-break"/><br class="auto-break"/><a class="auto-link figure" href="https://kvalhe.im/@andrew/103211689652698610"><img class="auto-embed" alt="A hand holding about a dozen stickers with the &#x201C;js;dr&#x201D; in black on white text die-cut around the edges of the lettering" src="https://andrew.kvalhe.im/+gcs1iho7eqcknyiqxtjm5qadxi366ewu?x=.jpg"/></a><br class="auto-break"/><br class="auto-break"/>At the time I made the claim that:<br class="auto-break"/><br class="auto-break"/>&#x201C;in 10 years nothing you built today that depends on JS for the content will be available, visible, or archived anywhere on the web.&#x201D;<br class="auto-break"/><br class="auto-break"/>I&#x2019;ve seen and documented many such sites, built with a hard dependency on scripting, that end up dead and unarchived. Many of these have been documented on the IndieWeb&#x2019;s js;dr page:<br class="auto-break"/><br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/js;dr">https://indieweb.org/js;dr</a><br class="auto-break"/><br class="auto-break"/>I have to ask though: does anyone remember building a site 10 years ago (Internet Archive citation) with a Javascript library/framework dependency to display content, that still works today?<br class="auto-break"/><br class="auto-break"/>E.g. using one of the popular libraries/frameworks used to build such sites back then like AngularJS (discontinued 2022), Backbone.js, Ember.js, or even React which was still quite new at the time.<br class="auto-break"/><br class="auto-break"/>The one almost exception I found was Facebook, e.g. this Smashing Magazine post on Facebook barely renders some content and all commentary is missing, in the earliest (2019) version saved on the Internet Archive:<br class="auto-break"/>* <a class="auto-link" href="https://web.archive.org/web/20191123225253/https://www.facebook.com/smashmag/posts/10153198367332490">https://web.archive.org/web/20191123225253/https://www.facebook.com/smashmag/posts/10153198367332490</a><br class="auto-break"/><br class="auto-break"/>You can extract the direct Facebook link if you want to try viewing it in the present.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Regarding those libraries/frameworks themselves, I wrote:<br class="auto-break"/><br class="auto-break"/>&#x201C;All your fancy front-end-JS-required frameworks are dead to history, a mere evolutionary blip in web app development practices. Perhaps they provided interesting ephemeral prototypes, nothing more.&#x201D;<br class="auto-break"/><br class="auto-break"/>Of all those listed above, only React has grown since, likely at the expense of the others.<br class="auto-break"/><br class="auto-break"/>However instead of fewer such libraries and frameworks today, it seems we have many more (though it feels like their average hypespan is getting shorter with each iteration). <br class="auto-break"/><br class="auto-break"/>Since I wrote &#x201C;js;dr&#x201D;, the web has only become more fragile, with ever more dependencies on scripting just to display text content. The irony here is that Javascript, like XML, has draconian parsing rules. One syntax error and the whole script is thrown out.<br class="auto-break"/><br class="auto-break"/>This means it&#x2019;s far too easy for any such JS-dependent site to break, in one or more browsers, whenever browsers change, or Javascript changes, or both.<br class="auto-break"/><br class="auto-break"/>You wouldn&#x2019;t build a site today (or 20 years ago) that depends on fragile draconian XML parsing, so why build a site that depends on fragile draconian Javascript parsing?<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>I&#x2019;ll repeat my claim from ten years ago, slightly amended, and shortened:<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>In 5 years nothing you (personally, not a publicly traded company) build today that depends on Javascript in the browser to display content will be available, visible, or archived anywhere on the web.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>There&#x2019;s a lot more to unpack about what we&#x2019;ve collectively lost in the past ten years of fragile scripting-dependent site-deaths, and why web developers are choosing to build more fragile websites than they did 10 or certainly 20 years ago.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>For now I&#x2019;ll leave you with a few positive encouragements:<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Practice Progressive Enhancement. <br class="auto-break"/><br class="auto-break"/>Build first and foremost with forgiving technologies, declarative technologies, and forward and backward compatible coding techniques.<br class="auto-break"/><br class="auto-break"/>All content should be readable without scripting.<br class="auto-break"/><br class="auto-break"/>Links, buttons, text fields, and any other interactive HTML elements should all work without scripting.<br class="auto-break"/><br class="auto-break"/>Scripts are great for providing an enhanced user experience, or additional functionality such as offline support. <br class="auto-break"/><br class="auto-break"/>Then make sure to test your pages and sites without scripts, to make sure they still work.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>If it's worth building on the web, it's worth building it robustly, and building it to last.</span></p> <span class="info footer"><a href="/2025/069/t1/ten-years-jsdr-javascript-required-didnt-read" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="19:55-0700">19:55</time> on <time class="value">2025-03-10</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Last week I published my first Cybersecurity Friday post with three key steps for indieweb cybersecurity. In summary:<br class="auto-break"/><br class="auto-break"/>1. Email MFA/2FA. Add multi-factor authentication (sometimes called two-factor authentication) to everywhere you store or check email. Do not use phone/cell numbers.<br class="auto-break"/>2. Domain Registrar MFA. Add multi-factor authentication to your domain registrar account.<br class="auto-break"/>3. Web Host MFA. Same for your web host and any intermediate name servers (DNS) or content delivery network (CDN) service accounts.<br class="auto-break"/><br class="auto-break"/>Full post: <a class="auto-link" href="https://tantek.com/2025/052/b1/steps-indieweb-cybersecurity">https://tantek.com/2025/052/b1/steps-indieweb-cybersecurity</a><br class="auto-break"/><br class="auto-break"/>Next time: entropy is your friend in security.<br class="auto-break"/><br class="auto-break"/>If you want my #<span class="p-category auto-tag">Cybersecurity</span> Friday posts as soon as I publish them, follow my site <a class="auto-link" href="https://tantek.com/">https://tantek.com/</a> directly in your reader rather than using #<span class="p-category auto-tag">socialMedia</span> or #<span class="p-category auto-tag">Mastodon</span> or some other notes-centric #<span class="p-category auto-tag">fediverse</span> client.<br class="auto-break"/><br class="auto-break"/>You can subscribe to my site directly with an h-feed supporting #<span class="p-category auto-tag">indieweb</span> Social Reader, or if you use a classic feed reader, it can auto-discover my Atom feed from my home page.<br class="auto-break"/><br class="auto-break"/>You can also read my article blog posts and those from other Mozillians on the Mozilla Planet:<br class="auto-break"/>* <a class="auto-link" href="https://planet.mozilla.org/">https://planet.mozilla.org/</a><br class="auto-break"/>If you look closely you might even find my not-so-secret articles-only Atom feed linked there if you prefer.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 9 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span> #<span class="p-category auto-tag">cyber</span> #<span class="p-category auto-tag">security</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/020/t1/seek-2024-year-in-review">https://tantek.com/2025/020/t1/seek-2024-year-in-review</a><br class="auto-break"/>&#x2192; &#x1F52E;<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>article post<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/article">https://indieweb.org/article</a><br class="auto-break"/>Atom<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/Atom">https://indieweb.org/Atom</a><br class="auto-break"/>content delivery network<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/content_delivery_network">https://indieweb.org/content_delivery_network</a><br class="auto-break"/>cybersecurity<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://en.wikipedia.org/wiki/cybersecurity">https://en.wikipedia.org/wiki/cybersecurity</a><br class="auto-break"/>DNS<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/DNS">https://indieweb.org/DNS</a><br class="auto-break"/>domain registrar<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/domain_registrar">https://indieweb.org/domain_registrar</a><br class="auto-break"/>entropy<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://en.wikipedia.org/wiki/Entropy_(information_theory)">https://en.wikipedia.org/wiki/Entropy_(information_theory)</a><br class="auto-break"/>feed reader<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/feed_reader">https://indieweb.org/feed_reader</a><br class="auto-break"/>h-feed<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/h-feed">https://indieweb.org/h-feed</a><br class="auto-break"/>MFA / 2FA<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/multi-factor_authentication">https://indieweb.org/multi-factor_authentication</a> sometimes called Two Factor Authentication or Second Factor Authentication<br class="auto-break"/>mobile number for MFA<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/SMS#Criticism">https://indieweb.org/SMS#Criticism</a><br class="auto-break"/>note post<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/note">https://indieweb.org/note</a><br class="auto-break"/>social reader<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/social_reader">https://indieweb.org/social_reader</a><br class="auto-break"/>web host<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/web_hosting">https://indieweb.org/web_hosting</a></span></p> <span class="info footer"><a href="/2025/055/t1/three-steps-indieweb-cybersecurity" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="16:10-0800">16:10</time> on <time class="value">2025-02-24</time></a></span> </li> <li class="h-entry hentry as-article"> <div class="article"> <a href="/2025/052/b1/steps-indieweb-cybersecurity" rel="bookmark" class="u-url u-uid"><h1 class="entry-title p-name"> CSF_01: Three Steps for IndieWeb Cybersecurity </h1></a><div class="entry-content e-content"> <p> Welcome to my first Cybersecurity Friday (<abbr>CSF</abbr>) post. Almost exactly one week ago I experienced (and had to fight &amp; recover from) a cybersecurity incident. While that&#x2019;s a much longer story, this post series is focused on sharing tips and incident learnings from an <a href="https://indieweb.social/tags/indieweb" class="hashtag"> #<span class="p-category auto-tag">indieweb</span></a>-centric perspective. </p> <h2>Steps for Cybersecurity</h2> <p> Here are the top three steps in order of importance, that you should take <abbr title="as soon as possible">ASAP</abbr> to secure your online presence. </p> <ol> <li> <b>Email MFA/2FA.</b> Add multi-factor authentication (<abbr>MFA</abbr>) using an actual Authenticator application to <em>all</em> places where you store or check email. Some services call this <i>second factor</i> or <i>two factor authentication</i> (<abbr>2FA</abbr>). While checking your email security settings, verify recovery settings: <strong>Do not</strong> cross-link your emails as recovery methods for each other, and <strong>do not</strong> use a mobile/cell number for recovery at all. </li> <li> <b>Domain Registrar MFA.</b> Add MFA to your Domain Registrar(s) if you have any. Optionally disable password reset emails if possible (some registrars may allow this). </li> <li> <b>Web Host MFA.</b> Add MFA to your web hosting service(s) if you have any. This includes both website hosting and any content delivery network (<abbr>CDN</abbr>) services you are using for your domains. </li> </ol> <p> <strong>Do not</strong> use a mobile number for MFA, <strong>nor</strong> a physical/hardware key if you travel internationally. There are very good reasons to avoid doing so. I&#x2019;ll blog the reasons in another post. </p> <p> Those are my top three recommended cybersecurity steps for protecting your internet presence. That&#x2019;s it for this week. These are the bare minimum steps to take. There are many more steps you can take to strengthen your personal cybersecurity. I will leave you with this for now: </p> <p> Entropy is your friend in security. </p> <h2>Glossary</h2> <p>Glossary for various terms, phrases, and further reading on each.</p> <dl> <dt>content delivery network</dt> <dd><a href="https://indieweb.org/content_delivery_network">https://indieweb.org/content_delivery_network</a></dd> <dt>cybersecurity</dt> <dd><a href="https://en.wikipedia.org/wiki/cybersecurity">https://en.wikipedia.org/wiki/cybersecurity</a></dd> <dt>domain registrar</dt> <dd><a href="https://indieweb.org/domain_registrar">https://indieweb.org/domain_registrar</a></dd> <dt>email recovery</dt> <dd>A method for recovering a service account password via the email account associated with that account. See also: <a href="https://en.wikipedia.org/wiki/Password_notification_email">https://en.wikipedia.org/wiki/Password_notification_email</a> </dd> <dt>entropy</dt> <dd><a href="https://en.wikipedia.org/wiki/Entropy_(information_theory)">https://en.wikipedia.org/wiki/Entropy_(information_theory)</a></dd> <dt> <abbr>MFA</abbr> / <abbr>2FA</abbr> </dt> <dd> <a href="https://indieweb.org/multi-factor_authentication">https://indieweb.org/multi-factor_authentication</a> sometimes called <b>Two Factor Authentication</b> or <b>Second Factor Authentication</b> </dd> <dt>mobile number for MFA</dt> <dd><a href="https://indieweb.org/SMS#Criticism">https://indieweb.org/SMS#Criticism</a></dd> <dt>web host</dt> <dd><a href="https://indieweb.org/web_hosting">https://indieweb.org/web_hosting</a></dd> </dl> <p> Syndicated to: <a class="u-syndication" href="https://news.indieweb.org/en">IndieNews</a> </p> </div> </div> <span class="info footer"><a href="/2025/052/b1/steps-indieweb-cybersecurity" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="13:37-0800">13:37</time> on <time class="value">2025-02-21</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Some solid #<span class="p-category auto-tag">ResilienceStrategy</span> advice in here:<br class="auto-break"/><br class="auto-break"/><a class="auto-link" href="https://bidenwhitehouse.archives.gov/wp-content/uploads/2025/01/National-Resilience-Strategy.pdf">https://bidenwhitehouse.archives.gov/wp-content/uploads/2025/01/National-Resilience-Strategy.pdf</a> (20 page PDF, a well-written quick read or skim)<br class="auto-break"/><br class="auto-break"/>January 2025<br class="auto-break"/><br class="auto-break"/>"National Resilience Strategy:<br class="auto-break"/>&#xA0;A Vision for a More Resilient Nation"<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>While explicitly a #<span class="p-category auto-tag">NationalResilienceStrategy</span>, it has a lot of sound guidance for understanding, analyzing, and developing a resilience strategy at all levels, for yourself and your home, with your neighbors and relationships, to civic resilience, and beyond.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Here is an overview of the sections, to get an idea (if you avoid PDFs), and to help with discovery across various services:<br class="auto-break"/><br class="auto-break"/>* The Need for Collective Action toward National Resilience<br class="auto-break"/>* Defining Resilience<br class="auto-break"/>&#xA0; * Adaptive<br class="auto-break"/>&#xA0; * Protective<br class="auto-break"/>&#xA0; * Collaborative<br class="auto-break"/>&#xA0; * Fair and Just<br class="auto-break"/>&#xA0; * Human-Centered<br class="auto-break"/>&#xA0; * Interdependent<br class="auto-break"/>&#xA0; * Sustainable and Durable<br class="auto-break"/>* Understanding the Resilience Landscape<br class="auto-break"/>* Strategic Approach to Build Attributes of a Resilient Nation<br class="auto-break"/>* Throughlines of a Resilient Nation<br class="auto-break"/>&#xA0; * Cross-system and cross-sector use of resources<br class="auto-break"/>&#xA0; * Resilience manifests in adaptive capacity and communities<br class="auto-break"/>&#xA0; * Layered resilience<br class="auto-break"/>&#xA0; * Cascading reliance<br class="auto-break"/>&#xA0; * Environmental hazards, including climate change<br class="auto-break"/>&#xA0; * Technology innovation and digital transformation<br class="auto-break"/>&#xA0; * Cyber infrastructure<br class="auto-break"/>&#xA0; * Iterative continuous feedback loops<br class="auto-break"/>&#xA0; * Supply chains<br class="auto-break"/>&#xA0; * Robust safety nets<br class="auto-break"/>* Resilience Pillars<br class="auto-break"/>&#xA0; * Pillar I: Governance Systems<br class="auto-break"/>&#xA0; * Pillar II: Social and Community Systems<br class="auto-break"/>&#xA0; * Pillar III: Economic Systems<br class="auto-break"/>&#xA0; * Pillar IV: Infrastructure Systems<br class="auto-break"/>* Conclusion<br class="auto-break"/><br class="auto-break"/>And yes the text contents of the PDF include the terms #<span class="p-category auto-tag">diversity</span> #<span class="p-category auto-tag">diverse</span> #<span class="p-category auto-tag">equity</span> #<span class="p-category auto-tag">equitable</span> #<span class="p-category auto-tag">inclusivity</span> #<span class="p-category auto-tag">inclusive</span>, in many contexts (including and beyond the ones that may come to mind).<br class="auto-break"/><br class="auto-break"/>Related: <a class="auto-link" href="https://tantek.com/2025/011/t1/remembering-aaronsw-twelve-years">https://tantek.com/2025/011/t1/remembering-aaronsw-twelve-years</a><br class="auto-break"/><br class="auto-break"/>Previously, previously:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/336/t1/disruptions-how-to-prepare">https://tantek.com/2024/336/t1/disruptions-how-to-prepare</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/313/t1/reflecting-listening-thoughts">https://tantek.com/2024/313/t1/reflecting-listening-thoughts</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">NationalResilience</span> #<span class="p-category auto-tag">Resilience</span> #<span class="p-category auto-tag">Strategy</span> #<span class="p-category auto-tag">Biden</span> #<span class="p-category auto-tag">BidenWhitehouse</span></span></p> <span class="info footer"><a href="/2025/034/t1/national-resilience-strategy" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="12:10-0800">12:10</time> on <time class="value">2025-02-03</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="reply-context" style="display:block">&#x21B3; In reply to <a href="https://github.com/mozilla/standards-positions/issues/27" class="u-in-reply-to h-cite">issue 27 of GitHub project &#x201C;standards-positions&#x201D;</a></span> <span class="p-name entry-title e-content entry-content">Note that since this issue was opened, the spec was adopted by the Web Apps WG, and published as a W3C Recommendation as of 2023-05-30:<br class="auto-break"/>* <a class="auto-link" href="https://www.w3.org/TR/2023/REC-web-share-20230530/">https://www.w3.org/TR/2023/REC-web-share-20230530/</a><br class="auto-break"/><br class="auto-break"/>Updated latest editor&#x2019;s draft AKA <br class="auto-break"/>* Specification or proposal URL: <a class="auto-link" href="https://w3c.github.io/web-share/">https://w3c.github.io/web-share/</a><br class="auto-break"/><br class="auto-break"/>Dropping label "position:positive" until we resolve the conflicts between negative, neutral, and positive historical comments upthread, to avoid miscommunicating our position (which is semi-orthogonal to any implementation status &#x2014; see individual bugs cited above for that).</span></p> <span class="info footer"><a href="/2025/028/t2/" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="04:42-0800">04:42</time> on <time class="value">2025-01-28</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="reply-context" style="display:block">&#x21B3; In reply to <a href="https://github.com/mozilla/standards-positions/issues/27" class="u-in-reply-to h-cite">issue 27 of GitHub project &#x201C;standards-positions&#x201D;</a></span> <span class="p-name entry-title e-content entry-content">Re-opening this due to unresolved comments (mix of negative, neutral, positive), and substantial new information about the UI that current implementations are presenting as of 2025.<br class="auto-break"/><br class="auto-break"/>Previously, previously, previously: <br class="auto-break"/>* 2018-01-10 <a class="auto-link" href="https://github.com/mozilla/standards-positions/issues/27#issuecomment-356793352">https://github.com/mozilla/standards-positions/issues/27#issuecomment-356793352</a> &#x201C;harmful&#x201D;<br class="auto-break"/>* 2018-01-10 <a class="auto-link" href="https://github.com/mozilla/standards-positions/issues/27#issuecomment-356784523">https://github.com/mozilla/standards-positions/issues/27#issuecomment-356784523</a> &#x201C;pour more fuel on the centralization&#x201D;<br class="auto-break"/>* 2017-12-18 <a class="auto-link" href="https://github.com/mozilla/standards-positions/issues/27#issuecomment-352661649">https://github.com/mozilla/standards-positions/issues/27#issuecomment-352661649</a> &#x201C;lowers friction purely for content silos &#x2026; bad for the web.&#x201D;<br class="auto-break"/><br class="auto-break"/>And a minor unaddressed concern from Martin:<br class="auto-break"/>* 2018-11-08 <a class="auto-link" href="https://github.com/mozilla/standards-positions/issues/27#issuecomment-437243973">https://github.com/mozilla/standards-positions/issues/27#issuecomment-437243973</a> &#x201C;Giving sites the ability to share something else reduces the incentive to set window.location to something usable&#x201D;<br class="auto-break"/><br class="auto-break"/>Since those concerns were written (validated by screenshots at the time showing centralized content / social media silos in browser UI), it appears browsers (perhaps OS updates) no longer show such silos in browser UI for &#x201C;share&#x201D; (as of 2025). <br class="auto-break"/><br class="auto-break"/>Need updated screenshots.</span></p> <span class="info footer"><a href="/2025/028/t1/" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="04:21-0800">04:21</time> on <time class="value">2025-01-28</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">My Seek 2024 Year in Review:<br class="auto-break"/><br class="auto-break"/>* 141 new species observed, of those, the top three kinds:<br class="auto-break"/>&#xA0; * 79 plants<br class="auto-break"/>&#xA0; * 20 insects<br class="auto-break"/>&#xA0; * 16 fungi<br class="auto-break"/>* 56 challenge badges earned<br class="auto-break"/><br class="auto-break"/>June was the month I observed the most new species in 2024, followed by March, and then July.<br class="auto-break"/><br class="auto-break"/>Seek also gave me a graph of observations per month, and also a map of where I made my discoveries.<br class="auto-break"/><br class="auto-break"/>Rather than posting screenshots of the Year in Review that Seek provided me in the app, I am posting the relevant content here in a post on my personal site, which I know I&#x2019;ll be able to search and look up in the future.<br class="auto-break"/><br class="auto-break"/>Seek is a delightful free (like actually free, free of tracking, free of surveillance) native mobile application for identifying species.<br class="auto-break"/><br class="auto-break"/>Made by the iNaturalist folks (<a class="auto-link" href="https://www.inaturalist.org/pages/seek_app">https://www.inaturalist.org/pages/seek_app</a>), Seek works without creating an account, and is able to work completely offline to identify species out in the wild (and add them to your local collection).<br class="auto-break"/><br class="auto-break"/>Seek awards you Species Badges when you discover a number of species of a particular grouping, as well as Challenge Badges when you complete one or more of their monthly challenges that they post.<br class="auto-break"/><br class="auto-break"/>In some ways it&#x2019;s like Pokemon Go, except based on finding and collecting observations of real living things.<br class="auto-break"/><br class="auto-break"/>I have found it quite useful especially when traveling, and wondering is that plant (or animal) the same as one I&#x2019;ve seen elsewhere, perhaps around home, or is it a slightly different species?<br class="auto-break"/><br class="auto-break"/>I also really like the good example that Seek provides for how an app can be immediately useful without requiring extra labor (like creating an account, or logging on) on behalf of the person using it.<br class="auto-break"/><br class="auto-break"/>Lastly, Seek is an excellent example of a truly offline capable app where nearly all of its functionality works just fine without a network connection.<br class="auto-break"/><br class="auto-break"/>Both of these capabilities (offline first, no login wall) are what we should aspire to when we build #<span class="p-category auto-tag">indieweb</span> apps or websites for ourselves and our friends.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 8 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span> #<span class="p-category auto-tag">yearInReview</span> #<span class="p-category auto-tag">iNaturalist</span> #<span class="p-category auto-tag">SeekApp</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/012/t1/eight-years-webmention">https://tantek.com/2025/012/t1/eight-years-webmention</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/055/t1/three-steps-indieweb-cybersecurity">https://tantek.com/2025/055/t1/three-steps-indieweb-cybersecurity</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>login wall<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/login_wall">https://indieweb.org/login_wall</a><br class="auto-break"/>offline first<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/offline_first">https://indieweb.org/offline_first</a></span></p> <span class="info footer"><a href="/2025/020/t1/seek-2024-year-in-review" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="14:04-0800">14:04</time> on <time class="value">2025-01-20</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">16 years ago today I wrote up and posted a proposal for a new calendar: <a class="auto-link" href="http://newcal.org">newcal.org</a><br class="auto-break"/><br class="auto-break"/>Having long been frustrated by unnecessary unevenness and other quirks of the Gregorian calendar, I designed and wrote up a more ordered, mathematically simpler, and more continuously consistent calendar.<br class="auto-break"/><br class="auto-break"/>Building up from the atomic calendar unit of a 'day':<br class="auto-break"/>* five day weeks<br class="auto-break"/>* six week (30 day) months<br class="auto-break"/>* two month (60 day) + a sync day bims<a id="t5a31_ref-1" href="#t5a31_note-1">&#xB9;</a><br class="auto-break"/>* six bim years (minus a day for non-leap-years)<br class="auto-break"/><br class="auto-break"/>After giving it an obvious name, &#x201C;New Calendar&#x201D;, and somehow getting a short speakable .org domain (<a class="auto-link" href="http://newcal.org">newcal.org</a>), I wrote code to do all the calendar computations and conversions.<br class="auto-break"/><br class="auto-break"/>The simpler calendar computations made me realize I had invented something that would help solve a completely different problem I was working on: an efficient date-based storage format for my new blog.<br class="auto-break"/><br class="auto-break"/>It&#x2018;s rare that an invention, or reinvention of something inelegant, actually serves a useful purpose. This was one of those rare exceptions.<br class="auto-break"/><br class="auto-break"/>I also taught myself and have kept practicing the use of ISO 8601 Ordinal dates for my own personal calendaring, which literally gave me a new perspective of time. A much smoother and more linear progression of time across the duration of a year.<br class="auto-break"/><br class="auto-break"/>Previously: <a class="auto-link" href="https://tantek.com/2019/015/t1/10-years-ago-today-new-calendar">https://tantek.com/2019/015/t1/10-years-ago-today-new-calendar</a><br class="auto-break"/><br class="auto-break"/><a id="t5a31_note-1" href="#t5a31_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2015/228/t3/bim-definition">https://tantek.com/2015/228/t3/bim-definition</a><br class="auto-break"/><a id="t5a31_note-2" href="#t5a31_ref-2">&#xB2;</a> <a class="auto-link" href="https://en.wikipedia.org/wiki/ISO_8601#Ordinal_dates">https://en.wikipedia.org/wiki/ISO_8601#Ordinal_dates</a></span></p> <span class="info footer"><a href="/2025/015/t1/16-years-ago-new-calendar-simpler" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="18:03-0800">18:03</time> on <time class="value">2025-01-15</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">&#x1F389; Eight years ago today, the #<span class="p-category auto-tag">IndieWeb</span> Webmention protocol was published as a W3C REC <a class="auto-link" href="https://www.w3.org/TR/webmention/">https://www.w3.org/TR/webmention/</a><br class="auto-break"/><br class="auto-break"/>As a social web building block, #<span class="p-category auto-tag">Webmention</span> was designed to work with various other building blocks. Small pieces, loosely joined. Every year developers find new ways to work with Webmention, and new subtleties when combined with other building blocks.<br class="auto-break"/><br class="auto-break"/>The primary uses of Webmention, peer-to-peer comments, likes, and other responses across web sites, have long presented an interesting challenge with the incorporation and display of external content originally from one site (the Webmention sender), on another site (the Webmention receiver).<br class="auto-break"/><br class="auto-break"/>There are multiple considerations to keep in mind when displaying such external content.<br class="auto-break"/><br class="auto-break"/>Two examples of external content are images (e.g. people&#x2019;s icons or profile images from the author of a comment) and text (e.g. people&#x2019;s names or the text of their comments).<br class="auto-break"/><br class="auto-break"/>For external images, rather than displaying them in full fidelity, you may want to compress them into a smaller resolution for how your site displays the profile images of comment authors.<br class="auto-break"/><br class="auto-break"/>If you accept Webmentions from arbitrary sources, there&#x2019;s no telling what might show up in author images. You may want to pixelate images from unknown or novel sources into say 3x3 pixel grids of color (or grayscale) averages to make them uniquely identifiable while blurring any undesirable graphics beyond recognition.<br class="auto-break"/><br class="auto-break"/>For external text, one thing we discovered in recent IndieWeb chat<a id="t5a01_ref-1" href="#t5a01_note-1">&#xB9;</a> is that someone&#x2019;s comment (or in this case their name) can contain Unicode directional formatting characters, e.g. for displaying an Arabic or Hebrew name right-to-left. Text with such formatting characters can errantly impact the direction of adjacent text.<br class="auto-break"/><br class="auto-break"/>Fortunately there is a CSS property, 'unicode-bidi', that can be used to directionally isolate such external text. Thus when you embed text that was parsed from a received Webmention, possibly with formatting characters, you have to wrap it in an HTML element (a span will do if you have not already wrapped it) with that CSS property. E.g.:<br class="auto-break"/><br class="auto-break"/>&lt;span style="unicode-bidi: isolate;"&gt;parsed text here&lt;/span&gt;<br class="auto-break"/><br class="auto-break"/>Though even better would be use of a generic HTML class name indicating the semantic:<br class="auto-break"/><br class="auto-break"/>&lt;span class="external-text"&gt;parsed text here&lt;/span&gt;<br class="auto-break"/><br class="auto-break"/>and then a CSS rule in your style sheet to add that property (and any others you want for external text)<br class="auto-break"/><br class="auto-break"/>.external-text { unicode-bidi: isolate; }<br class="auto-break"/><br class="auto-break"/>Previously: <a class="auto-link" href="https://tantek.com/2023/012/t1/six-years-webmention-w3c">https://tantek.com/2023/012/t1/six-years-webmention-w3c</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 7 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span> #<span class="p-category auto-tag">socialWeb</span> #<span class="p-category auto-tag">openSocialWeb</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/004/t1/micro-one-onramp-open-social-web">https://tantek.com/2025/004/t1/micro-one-onramp-open-social-web</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/020/t1/seek-2024-year-in-review">https://tantek.com/2025/020/t1/seek-2024-year-in-review</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>HTML class name<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://tantek.com/2012/353/b1/why-html-classes-css-class-selectors">https://tantek.com/2012/353/b1/why-html-classes-css-class-selectors</a><br class="auto-break"/>IndieWeb chat<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/discuss">https://indieweb.org/discuss</a><br class="auto-break"/>pixelate<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/pixelated">https://indieweb.org/pixelated</a><br class="auto-break"/>small pieces, loosely joined<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://www.smallpieces.com/">https://www.smallpieces.com/</a><br class="auto-break"/>Unicode directional formatting characters<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://en.wikipedia.org/wiki/Bidirectional_text#Explicit_formatting">https://en.wikipedia.org/wiki/Bidirectional_text#Explicit_formatting</a><br class="auto-break"/>unicode-bidi CSS property<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi">https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi</a> &#xA0;<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/><br class="auto-break"/><a id="t5a01_note-1" href="#t5a01_ref-1">&#xB9;</a> <a class="auto-link" href="https://chat.indieweb.org/dev/2025-01-05#t1736092889120900">https://chat.indieweb.org/dev/2025-01-05#t1736092889120900</a></span></p> <span class="info footer"><a href="/2025/012/t1/eight-years-webmention" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="21:23-0800">21:23</time> on <time class="value">2025-01-12</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">remembering losing #<span class="p-category auto-tag">aaronsw</span> twelve years ago today, and drawing connections with:<br class="auto-break"/><br class="auto-break"/>* Lawrence Lessig&#x2019;s <a class="auto-link" href="https://lessig.tumblr.com/post/56888930628/on-the-emptiness-in-the-concept-of-neutrality">https://lessig.tumblr.com/post/56888930628/on-the-emptiness-in-the-concept-of-neutrality</a><br class="auto-break"/>* Ben Werdm&#xFC;ller&#x2019;s <a class="auto-link" href="https://werd.io/2025/building-an-open-web-that-protects-us-from-harm">https://werd.io/2025/building-an-open-web-that-protects-us-from-harm</a><br class="auto-break"/><br class="auto-break"/>Two points of connection:<br class="auto-break"/><br class="auto-break"/>1. Neutrality in ethical or policy matters is insufficient, empty, and cowardly. Especially when you know better, neutrality in action is not ethical, it is negligent and wrong, like a lie of omission.<br class="auto-break"/><br class="auto-break"/>&#x201C;Allyship demands more than neutrality &#x2014; it demands action.&#x201D; &#x2014; <a class="auto-link" href="https://werd.io">@werd.io</a> (<a class="auto-link" href="https://werd.social/@ben">@ben@werd.social</a>)<br class="auto-break"/><br class="auto-break"/>&#x201C;&#x2026; there are obviously plenty of contexts in which to be &#x2018;neutral&#x2019; is simply to be wrong. &#x201D; <a class="auto-link" href="https://lessig.org">@lessig.org</a> (<a class="auto-link" href="https://lessig.tumblr.com">@lessig.tumblr.com</a> <a class="auto-link" href="https://mastodon.world/@lessig">@lessig@mastodon.world</a> <a class="auto-link h-cassis-username" href="https://twitter.com/lessig">@lessig</a>)<br class="auto-break"/><br class="auto-break"/>2. Building community for collective action is required for resilient resistance<br class="auto-break"/><br class="auto-break"/>Aaron helped inspire and drive numerous acts of resistance against foes better funded and connected, many acts which succeeded to some degree or completely such as preventing the passage of SOPA.<a id="t5_z1_ref-1" href="#t5_z1_note-1">&#xB9;</a><br class="auto-break"/><br class="auto-break"/>Similarly he built community for collective action, such as co-founding the Progressive Change Campaign Committee and the Demand Progress political advocacy group<a id="t5_z1_ref-2" href="#t5_z1_note-2">&#xB2;</a> which remain active to this day.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>One of the best ways to honor Aaron&#x2019;s memory is to build on the good examples he set that succeeded and continue to succeed.<br class="auto-break"/><br class="auto-break"/>The only neutrality that Aaron supported was net neutrality, prioritizing those that use the internet over those that build &amp; serve it, a priority of constituencies strongly aligned with the W3C&#x2019;s official Ethical Web Principles.<a id="t5_z1_ref-3" href="#t5_z1_note-3">&#xB3;</a><br class="auto-break"/><br class="auto-break"/>If you too reject neutrality and instead embrace allyship &amp; action, some of those actions will require resisting the status quo with the intent of changing it.<br class="auto-break"/><br class="auto-break"/>If resistance with the goal of actual change is your primary objective (rather than recognition), build community to bring about that change, resist collectively not alone, both in the near term, and sustainably into the future.<br class="auto-break"/><br class="auto-break"/>Still miss you Aaron.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Previously:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/013/t1/remembering-aaronsw-eleven-years">https://tantek.com/2024/013/t1/remembering-aaronsw-eleven-years</a> (links to prior posts)<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/><a id="t5_z1_note-1" href="#t5_z1_ref-1">&#xB9;</a> <a class="auto-link" href="https://en.wikipedia.org/wiki/Aaron_Swartz#Opposition_to_the_Stop_Online_Piracy_Act_(SOPA)">https://en.wikipedia.org/wiki/Aaron_Swartz#Opposition_to_the_Stop_Online_Piracy_Act_(SOPA)</a><br class="auto-break"/><a id="t5_z1_note-2" href="#t5_z1_ref-2">&#xB2;</a> <a class="auto-link" href="https://en.wikipedia.org/wiki/Aaron_Swartz#Progressive_Change_Campaign_Committee">https://en.wikipedia.org/wiki/Aaron_Swartz#Progressive_Change_Campaign_Committee</a><br class="auto-break"/><a id="t5_z1_note-3" href="#t5_z1_ref-3">&#xB3;</a> <a class="auto-link" href="https://www.w3.org/TR/ethical-web-principles/#noharm">https://www.w3.org/TR/ethical-web-principles/#noharm</a></span></p> <span class="info footer"><a href="/2025/011/t1/remembering-aaronsw-twelve-years" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="23:23-0800">23:23</time> on <time class="value">2025-01-11</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Alan Watts wrote in the &#x201C;The World As Emptiness&#x201D;:<br class="auto-break"/><br class="auto-break"/>&#x201C;So in the same way, the coming and going of things in the world is marvelous. They go. Where do they go? Don&#x2019;t answer, because that would spoil the mystery.&#x201D;<br class="auto-break"/><br class="auto-break"/>I have to disagree with Watts here.<br class="auto-break"/><br class="auto-break"/>Do ask and DO answer. Again and again. Embrace curiosity, explanation, understanding.<br class="auto-break"/><br class="auto-break"/>Any mystery you can explain will reveal another mystery underneath.<br class="auto-break"/><br class="auto-break"/>There is no spoiling the mystery, there is only the journey of one mystery after another.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">meditationThoughts</span> #<span class="p-category auto-tag">Kula</span> #<span class="p-category auto-tag">meditation</span> #<span class="p-category auto-tag">liveMeditation</span> #<span class="p-category auto-tag">groupMeditation</span> #<span class="p-category auto-tag">AlanWatts</span> #<span class="p-category auto-tag">mystery</span></span></p> <span class="info footer"><a href="/2025/005/t1/alan-watts-mystery-curiosity" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="10:23-0800">10:23</time> on <time class="value">2025-01-05</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">The team <a class="auto-link" href="https://micro.blog">@micro.blog</a> have done it again.<br class="auto-break"/><br class="auto-break"/>They soft-launched <a class="auto-link" href="https://micro.one">https://micro.one</a> yesterday<a id="t5_s1_ref-1" href="#t5_s1_note-1">&#xB9;</a>.<br class="auto-break"/><br class="auto-break"/>This may be the most accessible onramp to the open social web ever.<br class="auto-break"/><br class="auto-break"/>Cost: $1 a month. Yes you read correctly.<br class="auto-break"/><br class="auto-break"/>This is the simplest and cheapest (where you are the customer, not the product) way to own your identity and content online<a id="t5_s1_ref-2" href="#t5_s1_note-2">&#xB2;</a>.<br class="auto-break"/><br class="auto-break"/>Stop posting in someone else&#x2019;s garage<a id="t5_s1_ref-3" href="#t5_s1_note-3">&#xB3;</a>.<br class="auto-break"/><br class="auto-break"/>Time to export your Twitter, and migrate your Mastodon handle to your own home on the web.<br class="auto-break"/><br class="auto-break"/>Of course you can bring your own domain name. Additionally:<br class="auto-break"/>* blog posts, naturally, both articles and microblogging notes<br class="auto-break"/>* photos<br class="auto-break"/>* podcasting<br class="auto-break"/>* custom themes<br class="auto-break"/>* web-clients and native mobile posting clients<br class="auto-break"/>* WordPress, Tumblr, Mastodon, Medium import<br class="auto-break"/>More details (and alternatives) at <a class="auto-link" href="https://micro.one/about/pricing">https://micro.one/about/pricing</a><br class="auto-break"/><br class="auto-break"/>And yes, it interoperates with the open #<span class="p-category auto-tag">socialWeb</span>, including:<br class="auto-break"/>* #<span class="p-category auto-tag">ActivityPub</span> support, #<span class="p-category auto-tag">Mastodon</span> and #<span class="p-category auto-tag">fediverse</span> compatibility<br class="auto-break"/>* #<span class="p-category auto-tag">IndieAuth</span> to sign-in to third-party apps<br class="auto-break"/>* #<span class="p-category auto-tag">microformats</span> support in all built-in themes<br class="auto-break"/>* #<span class="p-category auto-tag">Webmention</span> for sending and receiving replies across websites<br class="auto-break"/>* #<span class="p-category auto-tag">Micropub</span> standard posting API, supporting dozens of clients<br class="auto-break"/>* #<span class="p-category auto-tag">Microsub</span> standard timeline API, supporting social readers<br class="auto-break"/>More #<span class="p-category auto-tag">indieweb</span> support details at <a class="auto-link" href="https://micro.one/about/indieweb">https://micro.one/about/indieweb</a><br class="auto-break"/><br class="auto-break"/>Did I mention the the superb <a class="auto-link" href="http://micro.blog">micro.blog</a> (and <a class="auto-link" href="http://micro.one">micro.one</a>) Community Guidelines?<br class="auto-break"/>* <a class="auto-link" href="https://help.micro.blog/t/community-guidelines/39">https://help.micro.blog/t/community-guidelines/39</a><br class="auto-break"/><br class="auto-break"/>Well done <a class="auto-link" href="https://manton.org">@manton.org</a> and team.<br class="auto-break"/><br class="auto-break"/>This is post 6 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span> #<span class="p-category auto-tag">ownYourIdentity</span> #<span class="p-category auto-tag">ownYourData</span> #<span class="p-category auto-tag">openSocialWeb</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/003/t1/lastfm-year-in-review-playback24">https://tantek.com/2025/003/t1/lastfm-year-in-review-playback24</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/012/t1/eight-years-webmention">https://tantek.com/2025/012/t1/eight-years-webmention</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>IndieAuth<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/IndieAuth">https://indieweb.org/IndieAuth</a><br class="auto-break"/>microformats<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://microformats.org/wiki/microformats">https://microformats.org/wiki/microformats</a><br class="auto-break"/>Micropub<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/Micropub">https://indieweb.org/Micropub</a><br class="auto-break"/>Microsub<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/Microsub">https://indieweb.org/Microsub</a><br class="auto-break"/>Webmention<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/Webmention">https://indieweb.org/Webmention</a><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/><br class="auto-break"/><a id="t5_s1_note-1" href="#t5_s1_ref-1">&#xB9;</a> <a class="auto-link" href="https://www.manton.org/2025/01/03/microone-was-effectively-a-softlaunch.html">https://www.manton.org/2025/01/03/microone-was-effectively-a-softlaunch.html</a><br class="auto-break"/><a id="t5_s1_note-2" href="#t5_s1_ref-2">&#xB2;</a> <a class="auto-link" href="https://tantek.com/2025/001/t1/15-years-notes-my-site-first">https://tantek.com/2025/001/t1/15-years-notes-my-site-first</a><br class="auto-break"/><a id="t5_s1_note-3" href="#t5_s1_ref-3">&#xB3;</a> <a class="auto-link" href="https://tantek.com/2023/022/t2/own-your-notes-domain-migration">https://tantek.com/2023/022/t2/own-your-notes-domain-migration</a></span></p> <span class="info footer"><a href="/2025/004/t1/micro-one-onramp-open-social-web" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="20:48-0800">20:48</time> on <time class="value">2025-01-04</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Yesterday <a class="auto-link" href="https://last.fm/">https://last.fm/</a> (<a class="auto-link h-cassis-username" href="https://twitter.com/lastfm">@lastfm</a>) emailed their year in review reports, which they called #<span class="p-category auto-tag">Playback24</span> and Last.Year.<br class="auto-break"/><br class="auto-break"/>Kudos to them for waiting until the new year to do so, and breaking with the pattern of services prematurely posting year in review summaries.<a id="t5_r1_ref-1" href="#t5_r1_note-1">&#xB9;</a><br class="auto-break"/><br class="auto-break"/>They&#x2019;re also available on the web, without requiring a native mobile app to view.<br class="auto-break"/><br class="auto-break"/>Mine is here: <a class="auto-link" href="https://www.last.fm/user/tantekc/listening-report/year">https://www.last.fm/user/tantekc/listening-report/year</a><br class="auto-break"/><br class="auto-break"/>You can find yours (if you&#x2019;re a <a class="auto-link" href="http://last.fm">last.fm</a> user) by going here:<br class="auto-break"/>* <a class="auto-link" href="https://www.last.fm/user/_/listening-report/year">https://www.last.fm/user/_/listening-report/year</a><br class="auto-break"/><br class="auto-break"/>The page title calls it your #<span class="p-category auto-tag">YearInMusic</span>, and the URL your #<span class="p-category auto-tag">ListeningReport</span>.<br class="auto-break"/><br class="auto-break"/>It has many interesting elements, from various top listened lists (artist, album, track), to what percent of 2024 listens (which they call scrobbles) were new artists, albums, and tracks.<br class="auto-break"/><br class="auto-break"/>Their &#x201C;Top Tags&#x201D; time chart is quite cool. Fascinating to see the differences in music listening over the seasons and the whole year.<br class="auto-break"/><br class="auto-break"/>The report has many interactive features, so it will take me some time to figure out how to save, export, and/or republish my listening report on my personal #<span class="p-category auto-tag">indieweb</span> site.<br class="auto-break"/><br class="auto-break"/>For now I used Firefox to save the page as an .html page to my laptop, and was quite impressed with how much of the information was available in that one file. Much more than #<span class="p-category auto-tag">Spotify</span>&#x2019;s #<span class="p-category auto-tag">Wrapped</span>. <br class="auto-break"/><br class="auto-break"/>That&#x2019;s step 1. Step 2 is figuring out a good way to blog at least some of it.<br class="auto-break"/><br class="auto-break"/>This is post 5 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span> #<span class="p-category auto-tag">LastFM</span> #<span class="p-category auto-tag">YearInReview</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/002/t1/indieweb-third-place-community">https://tantek.com/2025/002/t1/indieweb-third-place-community</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/004/t1/micro-one-onramp-open-social-web">https://tantek.com/2025/004/t1/micro-one-onramp-open-social-web</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>scrobble<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/scrobble">https://indieweb.org/scrobble</a><br class="auto-break"/>year in review<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/year_in_review">https://indieweb.org/year_in_review</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/><a id="t5_r1_note-1" href="#t5_r1_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2025/001/t2/first-new-year-review-prior">https://tantek.com/2025/001/t2/first-new-year-review-prior</a></span></p> <span class="info footer"><a href="/2025/003/t1/lastfm-year-in-review-playback24" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="22:00-0800">22:00</time> on <time class="value">2025-01-03</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">The #<span class="p-category auto-tag">indieweb</span> is more than #<span class="p-category auto-tag">independence</span>. It&#x2019;s also a web, of both personal sites and &#x201C;third place&#x201D; sites like aggregators, bridges, proxies, directories, indexes, and other community sites.<br class="auto-break"/><br class="auto-break"/>Broadly speaking, such &#x201C;third place&#x201D; sites include places we collectively contribute to, and which license our contributions for free use by others. While open source projects come to mind, perhaps a more obvious example is Wikipedia.<br class="auto-break"/><br class="auto-break"/>Similarly, the most obvious &#x201C;third place&#x201D; in the #<span class="p-category auto-tag">IndieWeb</span> community is our community site and wiki <a class="auto-link" href="https://indieweb.org/">https://indieweb.org/</a> as well as the heterogeneous chat <a class="auto-link" href="https://chat.indieweb.org/">https://chat.indieweb.org/</a>.<br class="auto-break"/><br class="auto-break"/>We also have many services run by individuals (or small teams) in the community, for the benefit of the community, like:<br class="auto-break"/>* <a class="auto-link" href="https://snarfed.org">@snarfed.org</a>&#x2019;s <a class="auto-link" href="https://brid.gy/">https://brid.gy/</a> and <a class="auto-link" href="https://fed.brid.gy/">https://fed.brid.gy/</a><br class="auto-break"/>* <a class="auto-link" href="https://aaronparecki.com">@aaronparecki.com</a>&#x2019;s <a class="auto-link" href="https://webmention.io/">https://webmention.io/</a> and many others<br class="auto-break"/>* <a class="auto-link" href="https://martymcgui.re">@martymcgui.re</a>&#x2019;s <a class="auto-link" href="https://xn--sr8hvo.ws/">https://xn--sr8hvo.ws/</a> (IndieWeb Webring)<br class="auto-break"/>* <a class="auto-link" href="https://gregorlove.com">@gregorlove.com</a>&#x2019;s <a class="auto-link" href="https://indiebookclub.biz/">https://indiebookclub.biz/</a><br class="auto-break"/>* <a class="auto-link" href="https://mat.tl">@mat.tl</a>&#x2019;s <a class="auto-link" href="https://libre.fm/">https://libre.fm/</a><br class="auto-break"/>and I&#x2019;m sure many more I&#x2019;m forgetting.<br class="auto-break"/><br class="auto-break"/>All these services respect your data and your ownership of it. #<span class="p-category auto-tag">ownYourData</span><br class="auto-break"/><br class="auto-break"/>All these services are swappable. Many (most?) are open source and self-hostable in case you want to run your own personal instance or another shared instance.<br class="auto-break"/><br class="auto-break"/>The web part of the indieweb complements, connects, and strengthens the indie part.<br class="auto-break"/><br class="auto-break"/>This is post 4 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save">https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/003/t1/lastfm-year-in-review-playback24">https://tantek.com/2025/003/t1/lastfm-year-in-review-playback24</a></span></p> <span class="info footer"><a href="/2025/002/t1/indieweb-third-place-community" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="23:54-0800">23:54</time> on <time class="value">2025-01-02</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">When we say #<span class="p-category auto-tag">ownYourData</span> we mean whatever data is important to you, like the data services aggregate about you and present back to you. Owning that data means extracting it into a form you can hang onto regardless of what the service does in the future (or disappears), and publishing whatever aspects of it you wish to, on your personal #<span class="p-category auto-tag">indieweb</span> site.<br class="auto-break"/><br class="auto-break"/>Speaking of year in reviews<a id="t5_p3_ref-1" href="#t5_p3_note-1">&#xB9;</a> and #<span class="p-category auto-tag">Strava</span> Year in Sport in particular, here are my brief notes for how to get the info from it (before it disappears after the 6th!<a id="t5_p3_ref-2" href="#t5_p3_note-2">&#xB2;</a>) and save it locally so you can write and publish your own year in sport.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>How to find your Strava: Year in Sport 2024 <br class="auto-break"/><br class="auto-break"/>For 2024, the Strava Year in Sport 2024 is only available on the native mobile app (iOS and presumably Android) and not accessible via the website. Prior years which were available on the website e.g. 2018(.)strava(.)com and 2017(.)strava(.)com are long gone.<br class="auto-break"/><br class="auto-break"/>From the mobile app home screen, tap the "&#x1F4CB; You" button in the lower right corner.<br class="auto-break"/><br class="auto-break"/>At the top you should see:<br class="auto-break"/><br class="auto-break"/>"Play back your 2024" heading with an orange button:<br class="auto-break"/><br class="auto-break"/>[ See your Year in Sport ]<br class="auto-break"/><br class="auto-break"/>Tap that button.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Saving Seven Summary Segments<br class="auto-break"/><br class="auto-break"/>You should immediately see an animation start playing, with seven "segments" (like Instagram stories) at the top, gradually filling-in as progress indicators one at a time. <br class="auto-break"/><br class="auto-break"/>For each "segment" if you press the screenshot combination of buttons on your mobile (e.g. volume-up + power on iPhone 14), in addition to taking a screenshot it will put you in a "share" screen with one or more videos or still images to share in a carousel format. <br class="auto-break"/><br class="auto-break"/>For each item in the carousel (if there is more than one)<br class="auto-break"/>* tap the item in the carousel<br class="auto-break"/>* tap the "[&#x2191;] More" button at the bottom.<br class="auto-break"/>* scroll down the list of options up a bit<br class="auto-break"/>* tap "Save Video [&#x2193;]" or "Save Image [&#x2193;]" option to store it locally on your mobile.<br class="auto-break"/><br class="auto-break"/>The seventh "segment" is your overall summary, and shows all your sports combined.<br class="auto-break"/><br class="auto-break"/>Save it (as an image as noted above), then<br class="auto-break"/>* tap the "&#x270F;&#xFE0F; &#xA0;Customize" button<br class="auto-break"/>* choose an individual sport (e.g. "&#x1F45F; Run")<br class="auto-break"/>* tap "Save changes"<br class="auto-break"/>* save that image (as above)<br class="auto-break"/>* tap customize again<br class="auto-break"/>* choose the next sport (e.g. "&#x1F6B2; &#xA0;Ride")<br class="auto-break"/>* save changes again<br class="auto-break"/>* save image again<br class="auto-break"/><br class="auto-break"/>Strava seemingly only reports summaries of (up to?) two of your sports. Those were Run (presumably all running, street and trail) and Ride for me.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Cleanup Your Screenshots<br class="auto-break"/><br class="auto-break"/>After having saved all the videos/images for each "segment", you can:<br class="auto-break"/>* go back to your mobile&#x2019;s top level Photos app/stream<br class="auto-break"/>* delete the screenshots<br class="auto-break"/><br class="auto-break"/>You should see all the videos/images you've saved. If anything is missing, go back to the previous steps and save them again, then remove any duplicates as necessary.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Post Your Year In Sport<br class="auto-break"/><br class="auto-break"/>Go through your saved videos/images, and either post on your own site as-is, or use your mobile&#x2019;s built-in image OCR to copy the text bits into a plain personal year in sport note summary post on your own site. Or some combination of both if you prefer.<br class="auto-break"/><br class="auto-break"/>Add other summaries of your activities and sports as you see fit, like:<br class="auto-break"/><br class="auto-break"/>* &#x1F9D8;&#x1F3FB;&#x200D;&#x2642;&#xFE0F;&#x1F4AA;&#x1F3FB;&#x1FAA8; info on other sports (beyond running and biking), e.g. yoga, weight-lifting, bouldering etc.<br class="auto-break"/>&#xA0; * &#x1F5D3; total days active (of 366)<br class="auto-break"/>&#xA0; * &#x1FAA7; total distance (if applicable)<br class="auto-break"/>&#xA0; * &#x1F199; total elevation (if applicable)<br class="auto-break"/>&#xA0; * &#x23F1; total time<br class="auto-break"/><br class="auto-break"/>* other aspects of your activities (if you have the info)<br class="auto-break"/>&#xA0; * &#x26F0; mountains summited (new, per sport, and/or total different and overall)<br class="auto-break"/>&#xA0; * &#x1F3D4; snow-peaks summited (new, per sport, total different and overall)<br class="auto-break"/>&#xA0; * &#x1F30B; calderas summited (new, per sport, total different and overall)<br class="auto-break"/>&#xA0; * personal leaderboards for your summited mountains<br class="auto-break"/>&#xA0; &#xA0; * top 5 most summited (per mountain)<br class="auto-break"/>&#xA0; &#xA0; * top 5 highest elevation mountains summited<br class="auto-break"/>&#xA0; * number of different cities, states, countries (new, per sport, total)<br class="auto-break"/>&#xA0; <br class="auto-break"/>* &#x1F3C1; number of races you ran, biked etc. (and finished, if not the same)<br class="auto-break"/>&#xA0; * &#x1F5D3; total days raced (if different from number of races, per sport, total)<br class="auto-break"/>&#xA0; * &#x1FAA7; total distance you raced (per sport, total)<br class="auto-break"/>&#xA0; * &#x1F199; total elevation you raced (per sport, total)<br class="auto-break"/>&#xA0; * &#x23F1; total time spent racing (per sport, total)<br class="auto-break"/>&#xA0; * &#x26F0; mountains summited in races (new, per sport, total)<br class="auto-break"/>&#xA0; * &#x1F3D4; snow-peaks summited in races (new, per sport, total)<br class="auto-break"/>&#xA0; * &#x1F30B; calderas summited (new, per sport, total different and overall)<br class="auto-break"/>* &#x1F3C5;&#x1F3C6; number of (or full set of) awards or trophies you earned at races<br class="auto-break"/>* &#x1F5BC; photo of all your medals and/or trophies if any<br class="auto-break"/>* any other stats that you think of that seem interesting to you<br class="auto-break"/><br class="auto-break"/>For each of these annual numbers, you could also compute (optionally display) the percentage change from 2023, if you happen to have those numbers around.<br class="auto-break"/><br class="auto-break"/>This is also a good reason to at least total up these numbers for 2024, whether you publish them or not, for figuring out the percentage change in 2025 next year.<br class="auto-break"/><br class="auto-break"/>When you publish your own year in sport post, might as well re-use the existing #<span class="p-category auto-tag">YearInSport</span> hashtag too.<br class="auto-break"/><br class="auto-break"/>I have already saved all the videos/images from my own Strava Year In Sport, and as I assemble the pieces into my own post, I&#x2019;ll take more notes, and add to the IndieWeb year in review page<a id="t5_p3_ref-3" href="#t5_p3_note-3">&#xB3;</a> accordingly.<br class="auto-break"/><br class="auto-break"/>This post could also be improved with a few screenshots for a few of the steps above. I figured I&#x2019;d publish my notes first to hopefully help some people sooner (since the Strava Year In Sport will disappear after January 6th as mentioned!). I might upload a few screenshots to the IndieWeb wiki later as well.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">yearInReview</span> #<span class="p-category auto-tag">ownYourYearInReview</span><br class="auto-break"/><br class="auto-break"/>This is post 3 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/001/t2/first-new-year-review-prior">https://tantek.com/2025/001/t2/first-new-year-review-prior</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/002/t1/indieweb-third-place-community">https://tantek.com/2025/002/t1/indieweb-third-place-community</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary: <br class="auto-break"/><br class="auto-break"/>hashtag<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/hashtag">https://indieweb.org/hashtag</a><br class="auto-break"/>own your data<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/own_your_data">https://indieweb.org/own_your_data</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/><a id="t5_p3_note-1" href="#t5_p3_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2025/001/t2/first-new-year-review-prior">https://tantek.com/2025/001/t2/first-new-year-review-prior</a><br class="auto-break"/><a id="t5_p3_note-2" href="#t5_p3_ref-2">&#xB2;</a> <a class="auto-link" href="https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM">https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM</a><br class="auto-break"/><a id="t5_p3_note-3" href="#t5_p3_ref-3">&#xB3;</a> <a class="auto-link" href="https://indieweb.org/year_in_review">https://indieweb.org/year_in_review</a></span></p> <span class="info footer"><a href="/2025/001/t3/strava-year-in-sport-how-to-get-info-save" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="17:04-0800">17:04</time> on <time class="value">2025-01-01</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">The first of a new year seems like a good day to assemble, aggregate, summarize and publish various year in review posts for the prior year.<br class="auto-break"/><br class="auto-break"/>When various online services create a year in review for you many weeks before the end of the year (whether #<span class="p-category auto-tag">Spotify</span> #<span class="p-category auto-tag">Wrapped</span> or #<span class="p-category auto-tag">Strava</span> #<span class="p-category auto-tag">YearInSport</span>), it seems they are short-changing you.<br class="auto-break"/><br class="auto-break"/>No one asks for an 11 months in review (except HR departments, which is a different problem).<br class="auto-break"/><br class="auto-break"/>So why do people accept only an ~11 months summary when services provide such a premature &#x201C;year&#x201D; in review?<br class="auto-break"/><br class="auto-break"/>When people say things like &#x201C;Make every day count&#x201D; do they not also believe you should &#x201C;Count every day&#x201D;?<br class="auto-break"/><br class="auto-break"/>In this case, 2024 had 366 days. You should count every one of them, and every thing from every one of them.<br class="auto-break"/><br class="auto-break"/>Rather than &#x201C;sharing&#x201D; a premature year in review, request your &#x201C;year in review&#x201D; today on the 1st of the year from various services, extract the data you want, fill in any gaps, and post your year in reviews on your own site<a id="t5_p2_ref-1" href="#t5_p2_note-1">&#xB9;</a>.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">yearInReview</span> #<span class="p-category auto-tag">ownYourYearInReview</span><br class="auto-break"/><br class="auto-break"/>This is post 2 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2025/001/t1/15-years-notes-my-site-first">https://tantek.com/2025/001/t1/15-years-notes-my-site-first</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save">https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>year in review<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/year_in_review">https://indieweb.org/year_in_review</a><br class="auto-break"/>&#xA0; <br class="auto-break"/><br class="auto-break"/><a id="t5_p2_note-1" href="#t5_p2_ref-1">&#xB9;</a> <a class="auto-link" href="https://indieweb.org/year_in_review#IndieWeb_Examples">https://indieweb.org/year_in_review#IndieWeb_Examples</a></span></p> <span class="info footer"><a href="/2025/001/t2/first-new-year-review-prior" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="16:30-0800">16:30</time> on <time class="value">2025-01-01</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Welcome to 2025!<br class="auto-break"/><br class="auto-break"/>15 years ago today I began posting notes on my own #<span class="p-category auto-tag">indieweb</span> site first, and only later on #<span class="p-category auto-tag">socialMedia:</span> <a class="auto-link" href="https://tantek.com/2010/001/t1/declaring-independence-building-it">https://tantek.com/2010/001/t1/declaring-independence-building-it</a><br class="auto-break"/><br class="auto-break"/>You can too.<br class="auto-break"/><br class="auto-break"/>I am once again encouraging you start the year with:<br class="auto-break"/>1. Getting a personal domain name<br class="auto-break"/>2. Posting on your own site first, then syndicating elsewhere: #<span class="p-category auto-tag">POSSE</span><br class="auto-break"/><br class="auto-break"/>In 2025 there are even more neighborhoods with other people&#x2019;s garages<a id="t5_p1_ref-1" href="#t5_p1_note-1">&#xB9;</a> to post into. Companies, servers, services, disappear all the time, taking all their posts and permalinks with them to graveyard 404<a id="t5_p1_ref-2" href="#t5_p1_note-2">&#xB2;</a>.<br class="auto-break"/><br class="auto-break"/>This is your annual reminder to embrace #<span class="p-category auto-tag">independent</span> ownership of your online self, your creations, and their #<span class="p-category auto-tag">longevity:</span><br class="auto-break"/>* Own your domain -&gt; own your online identity<br class="auto-break"/>* Own your permalinks -&gt; own your posts<br class="auto-break"/><br class="auto-break"/>Want help? Just ask: <a class="auto-link" href="https://chat.indieweb.org/">https://chat.indieweb.org/</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">ownYourContent</span> #<span class="p-category auto-tag">ownYourData</span><br class="auto-break"/><br class="auto-break"/>Once again I am restarting a #<span class="p-category auto-tag">100PostsOfIndieWeb</span> #<span class="p-category auto-tag">100Posts</span> project for the year.<br class="auto-break"/><br class="auto-break"/>This is post 1.<br class="auto-break"/><br class="auto-break"/>Previously, previously, previously:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/001/t1/restarting-100days-indieweb-gift-calendar">https://tantek.com/2024/001/t1/restarting-100days-indieweb-gift-calendar</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/001/t1/own-your-notes">https://tantek.com/2023/001/t1/own-your-notes</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2022/001/t1/12-years-notes-my-site">https://tantek.com/2022/001/t1/12-years-notes-my-site</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2020/001/t1/10-years-notes-my-site">https://tantek.com/2020/001/t1/10-years-notes-my-site</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2015/002/t1/notes-replies-faves-before-twitter-ownyourdata">https://tantek.com/2015/002/t1/notes-replies-faves-before-twitter-ownyourdata</a><br class="auto-break"/><br class="auto-break"/>&#x2190; &#x2728;<br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2025/001/t2/first-new-year-review-prior">https://tantek.com/2025/001/t2/first-new-year-review-prior</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>IndieWeb<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/">https://indieweb.org/</a><br class="auto-break"/>longevity<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/longevity">https://indieweb.org/longevity</a><br class="auto-break"/>post<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/post">https://indieweb.org/post</a><br class="auto-break"/>permalink<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/permalink">https://indieweb.org/permalink</a><br class="auto-break"/>personal domain name<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/personal-domain">https://indieweb.org/personal-domain</a><br class="auto-break"/>POSSE<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/POSSE">https://indieweb.org/POSSE</a><br class="auto-break"/>syndicate<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/syndicate">https://indieweb.org/syndicate</a><br class="auto-break"/><br class="auto-break"/><a id="t5_p1_note-1" href="#t5_p1_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2023/022/t2/own-your-notes-domain-migration">https://tantek.com/2023/022/t2/own-your-notes-domain-migration</a><br class="auto-break"/><a id="t5_p1_note-2" href="#t5_p1_ref-2">&#xB2;</a> <a class="auto-link" href="https://indieweb.org/site-deaths">https://indieweb.org/site-deaths</a></span></p> <span class="info footer"><a href="/2025/001/t1/15-years-notes-my-site-first" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="16:18-0800">16:18</time> on <time class="value">2025-01-01</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Last 2024 #<span class="p-category auto-tag">donation</span> request: please #<span class="p-category auto-tag">donate</span> to any/all tonight!<br class="auto-break"/><br class="auto-break"/>I donated to these, pick ones that resonate with you:<br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/ACLU">@ACLU</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/NAACP">@NAACP</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/InternetArchive">@InternetArchive</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/Wikipedia">@Wikipedia</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/PPact">@PPact</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/Mozilla">@Mozilla</a>**<br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/EFF">@EFF</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/CalAcademy">@CalAcademy</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/deYoungMuseum">@deYoungMuseum</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/Exploratorium">@Exploratorium</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/MontereyAq">@MontereyAq</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/SFMOMA">@SFMOMA</a><br class="auto-break"/><a class="auto-link h-cassis-username" href="https://twitter.com/SFParksAlliance">@SFParksAlliance</a><br class="auto-break"/><br class="auto-break"/>**Disclosure: I work for <a class="auto-link h-cassis-username" href="https://twitter.com/Mozilla">@Mozilla</a>, on &amp; with open web standards &amp; communities <a class="auto-link h-cassis-username" href="https://twitter.com/indiewebcamp">@indiewebcamp</a> <a class="auto-link h-cassis-username" href="https://twitter.com/microformats">@microformats</a> <a class="auto-link h-cassis-username" href="https://twitter.com/W3C">@W3C</a> <a class="auto-link h-cassis-username" href="https://twitter.com/WHATWG">@WHATWG</a> supported by <a class="auto-link h-cassis-username" href="https://twitter.com/Firefox">@Firefox</a> to provide a more human-centric, private, and secure web for all users.<br class="auto-break"/><br class="auto-break"/>Previously: <a class="auto-link" href="https://tantek.com/2019/365/t1/today-donate-renew-arts-science">https://tantek.com/2019/365/t1/today-donate-renew-arts-science</a></span></p> <span class="info footer"><a href="/2024/366/t2/last-donation-please-donate-tonight" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="19:50-0800">19:50</time> on <time class="value">2024-12-31</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Last day of the year and last chance to #<span class="p-category auto-tag">donate</span> to worthy causes for 2024!<br class="auto-break"/><br class="auto-break"/>I post a lot about the #<span class="p-category auto-tag">indieweb</span> but I&#x2019;m not asking you to donate to that.<br class="auto-break"/><br class="auto-break"/>Starting this series of non-profit #<span class="p-category auto-tag">donation</span> posts with asking you to consider donating to the #<span class="p-category auto-tag">independentArts</span>.<br class="auto-break"/><br class="auto-break"/>Choose an #<span class="p-category auto-tag">arts</span> organization local to you or one that friends or family are directly involved in.<br class="auto-break"/><br class="auto-break"/>For example: <a class="auto-link" href="https://theatermitu.org">@theatermitu.org</a> (<a class="auto-link h-cassis-username" href="https://twitter.com/theatermitu">@theatermitu</a> <a class="auto-link" href="https://instagram.com/theatermitu">@instagram.com/theatermitu</a>)<br class="auto-break"/><br class="auto-break"/>Theater Mitu is an independent theater arts organization, space, and community that supports numerous artists, shows, and incubates and produces new work!<br class="auto-break"/><br class="auto-break"/>Donation link: <a class="auto-link" href="https://secure.givelively.org/donate/theater-mitu/the-decade-ahead-10-more-years-of-mitu-in-brooklyn">https://secure.givelively.org/donate/theater-mitu/the-decade-ahead-10-more-years-of-mitu-in-brooklyn</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">TheaterMitu</span> #<span class="p-category auto-tag">NewYork</span> #<span class="p-category auto-tag">NYC</span> #<span class="p-category auto-tag">Brooklyn</span></span></p> <span class="info footer"><a href="/2024/366/t1/last-day-year-donate-worthy-theatermitu" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="12:04-0800">12:04</time> on <time class="value">2024-12-31</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">finished the #<span class="p-category auto-tag">InsideTrail</span> Woodside Ramble 35k #<span class="p-category auto-tag">trailRace</span> in 7:42:58!<br class="auto-break"/><br class="auto-break"/>21+ miles for the 21st. Happy Winter Solstice!<br class="auto-break"/><br class="auto-break"/>One last dance for 2024. Drove down 101 and saw the orange sunrise between the East Bay mountains and stormy cloud cover. Made it to Huddart Park, parked, got my bib, pinned it to to my shorts, left my drop bag on a picnic table, and lined up to start just in time.<br class="auto-break"/><br class="auto-break"/>It was overcast and as we made our way up the hill, the drizzle then rain and wind began. The deep forest protected us from most of it.<br class="auto-break"/><br class="auto-break"/>The recent storms had downed a large tree which blocked part of the original course. The organizers had to re-route the 35k course (and the 55k) into a series of loops. This was my first 3 loops race!<br class="auto-break"/><br class="auto-break"/>It was harder than expected (the course changes added lots more vert) but I finished healthy, no pain, no soreness, so I'll take it, along with my second DLF trophy. I&#x2019;m starting a collection.<br class="auto-break"/><br class="auto-break"/>Started the year with a rainy 30k race (Redtail Ridge<a id="t5_d1_ref-1" href="#t5_d1_note-1">&#xB9;</a>), finished the year with a rainy 35k (with ~60% more vert! nearly 4400'). Seven races in 2024 &#x2705; Good notes to end on for this year&#x2019;s trail racing season.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">35k</span> #<span class="p-category auto-tag">WoodsideRamble</span> #<span class="p-category auto-tag">Ramble24</span> #<span class="p-category auto-tag">trailRun</span> #<span class="p-category auto-tag">trailRunner</span> #<span class="p-category auto-tag">runner</span> #<span class="p-category auto-tag">trailRunning</span> #<span class="p-category auto-tag">running</span><br class="auto-break"/><br class="auto-break"/><a id="t5_d1_note-1" href="#t5_d1_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2024/051/t1/finished-redtail-ridge-30k">https://tantek.com/2024/051/t1/finished-redtail-ridge-30k</a></span></p> <span class="info footer"><a href="/2024/356/t1/finished-woodside-ramble-35k" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="23:36-0800">23:36</time> on <time class="value">2024-12-21</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">signed up for <a class="auto-link" href="https://brokenarrowskyrace.com">@brokenarrowskyrace.com</a> (<a class="auto-link h-cassis-username" href="https://twitter.com/BrokenArrowCA">@BrokenArrowCA</a>) 23k #<span class="p-category auto-tag">skyRace</span> on 2025-06-22!<a id="t5_S1_ref-1" href="#t5_S1_note-1">&#xB9;</a> <br class="auto-break"/>This will be my third #<span class="p-category auto-tag">BrokenArrow</span> race. <br class="auto-break"/>Goals: finish strong, beat last year&#x2019;s time.<br class="auto-break"/><br class="auto-break"/>The race sold out within 10-15minutes of opening this morning. Here&#x2019;s how it went for me:<br class="auto-break"/><br class="auto-break"/>09:00 Pacific time registration opened (I had two laptops ready, reloading every second)<br class="auto-break"/>09:06 I completed registering but it redirected me to the home page (not a confirmation). I thought it had canceled my registration, so I kept trying. The #<span class="p-category auto-tag">UltraSignup</span> site flow was sufficiently broken that I didn't know I had successfully registered.<br class="auto-break"/>~9:15 I was able to check my online UltraSignup profile and see the 09:06 registration.<br class="auto-break"/>09:25 Received email confirmation of registration.<br class="auto-break"/><br class="auto-break"/>You can still register for the 23k waitlist: <a class="auto-link" href="https://ultrasignup.com/register.aspx?did=117118">https://ultrasignup.com/register.aspx?did=117118</a><br class="auto-break"/><br class="auto-break"/>More Broken Arrow races and distances (e.g. 46k, VK, 18k, 11k) registrations are opening the rest of this week, every morning December 10-13.<br class="auto-break"/><br class="auto-break"/>See the <a class="auto-link" href="https://www.brokenarrowskyrace.com/">https://www.brokenarrowskyrace.com/</a> website for details for each. <br class="auto-break"/><br class="auto-break"/>Previously, previously:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/176/t1/finished-broken-arrow-skyrace-23k">https://tantek.com/2024/176/t1/finished-broken-arrow-skyrace-23k</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/178/t1/june-trailrunner-ultrarunner">https://tantek.com/2023/178/t1/june-trailrunner-ultrarunner</a><br class="auto-break"/><br class="auto-break"/><a id="t5_S1_note-1" href="#t5_S1_ref-1">&#xB9;</a> <a class="auto-link" href="https://www.brokenarrowskyrace.com/23k">https://www.brokenarrowskyrace.com/23k</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">23k</span> #<span class="p-category auto-tag">trailRace</span> #<span class="p-category auto-tag">RingDasBell</span></span></p> <span class="info footer"><a href="/2024/344/t1/signed-up-broken-arrow-skyrace-23k" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="10:41-0800">10:41</time> on <time class="value">2024-12-09</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">This is a summary curation of prior posts of mine on why post, what to post, and how to post, as well as some bits I wrote on the #<span class="p-category auto-tag">IndieWeb</span> wiki. This post assumes you already have a blog &#x2014; if you don&#x2019;t have one and wonder why you should, that&#x2019;s a different blog post.<br class="auto-break"/><br class="auto-break"/>If you have a blog and ever feel stuck about why you should post, what to post next, or how to write your post, hopefully this post will help get you unstuck.<br class="auto-break"/><br class="auto-break"/>These reasons, topics, and techniques help me create, expand, edit, publish, and update more posts, sooner. Choose the ones that resonate for you, ignore the rest, and publish what else works for you on your personal site!<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Why Post<br class="auto-break"/><br class="auto-break"/>There is a whole wiki page on the topic:<br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/why_post">https://indieweb.org/why_post</a> &#x2014; which could use some gardening<br class="auto-break"/><br class="auto-break"/>Here are a few specific reasons why you should post:<br class="auto-break"/><br class="auto-break"/>* Wean yourself off social media. Post to your own site instead of social media. If you already post on social media, into someone else&#x2019;s garage<a id="t5_K1_ref-1" href="#t5_K1_note-1">&#xB9;</a>, then you already have reason enough to post. So post on your own site first, and optionally syndicate<a id="t5_K1_ref-2" href="#t5_K1_note-2">&#xB2;</a> to that silo, only if you have friends who still use it to read posts.<br class="auto-break"/>* Search everything you write. Do you post long comments or issues on GitHub? Do you post on public mailing lists? Post such things to your own site, so you can more easily search everything you&#x2019;ve written on a topic. Then post a copy to those external destinations.<br class="auto-break"/>* All the reasons to own your data: <a class="auto-link" href="https://indieweb.org/own_your_data">https://indieweb.org/own_your_data</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>What to Post<br class="auto-break"/><br class="auto-break"/>There are so many things to post about! This is obviously highly personal. Here are a few that I use myself:<br class="auto-break"/><br class="auto-break"/>* Post positive things promptly: <a class="auto-link" href="https://tantek.com/2018/357/t3">https://tantek.com/2018/357/t3</a><br class="auto-break"/>&#xA0; * &#x2026; from that day first: <a class="auto-link" href="https://tantek.com/2018/364/t1">https://tantek.com/2018/364/t1</a><br class="auto-break"/>&#xA0; * &#x2026; in time order: <a class="auto-link" href="https://tantek.com/2018/364/t5">https://tantek.com/2018/364/t5</a><br class="auto-break"/>* Make and share lists. People like lists<br class="auto-break"/>* Post to learn in public, and pass on what you learn<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>How to Post<br class="auto-break"/><br class="auto-break"/>I have spent a lot of time thinking about, trying, and iterating on different methods and techniques for starting, expanding, completing, publishing, and updating posts. These are a few of the techniques I use:<br class="auto-break"/><br class="auto-break"/>* Use a local text editor<br class="auto-break"/>* Capture first, edit &amp; publish later: <a class="auto-link" href="https://tantek.com/2023/365/t1/">https://tantek.com/2023/365/t1/</a><br class="auto-break"/>* Do something positive (in-person), then post about it: <a class="auto-link" href="https://tantek.com/2018/002/t1">https://tantek.com/2018/002/t1</a><br class="auto-break"/>* Single topic post<br class="auto-break"/>* Short and to the point. Edit and remove anything distracting from the main point.<br class="auto-break"/>* Quotable post title<br class="auto-break"/>* Summary opening paragraph<br class="auto-break"/>* Put tangents aside<br class="auto-break"/>* Quotable sentences and multi-sentence paragraphs<br class="auto-break"/>* Subheadings help cluster related paragraphs<br class="auto-break"/>* Use a footer for updates, terminology, previous posts, additional reading, and citations. <br class="auto-break"/>&#xA0; * Move definitions, citations, etc. to the footer unless including them inline either provides little risk of distraction or significantly helps reading flow <br class="auto-break"/>&#xA0; * Use footer sections: Previously, Post Glossary, References, Additional Reading<br class="auto-break"/>* Check your references<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Each of these points could be its own blog post. There are many more whys, whats, and hows. See more on these pages on the IndieWeb community site:<br class="auto-break"/><br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/why_post">https://indieweb.org/why_post</a><br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/what_to_post">https://indieweb.org/what_to_post</a><br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/how_to_post">https://indieweb.org/how_to_post</a><br class="auto-break"/><br class="auto-break"/>Add your own to each, and/or help organize them!<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary<br class="auto-break"/><br class="auto-break"/>mailing list<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/mailing_list">https://indieweb.org/mailing_list</a><br class="auto-break"/>own your data<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/own_your_data">https://indieweb.org/own_your_data</a><br class="auto-break"/>post footer<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/posts#Footer_sections">https://indieweb.org/posts#Footer_sections</a><br class="auto-break"/>silo<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/silo">https://indieweb.org/silo</a><br class="auto-break"/>social media<br class="auto-break"/>&#xA0; <a class="auto-link" href="https://indieweb.org/social_media">https://indieweb.org/social_media</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/><br class="auto-break"/><a id="t5_K1_note-1" href="#t5_K1_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2023/001/t1/own-your-notes">https://tantek.com/2023/001/t1/own-your-notes</a><br class="auto-break"/><a id="t5_K1_note-2" href="#t5_K1_ref-2">&#xB2;</a> <a class="auto-link" href="https://indieweb.org/POSSE">https://indieweb.org/POSSE</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 29 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2024/306/t1/simple-embeds">https://tantek.com/2024/306/t1/simple-embeds</a><br class="auto-break"/>&#x2192; &#x1F52E;</span></p> <span class="info footer"><a href="/2024/337/t1/why-what-how-to-post" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="21:11-0800">21:11</time> on <time class="value">2024-12-02</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">~3 weeks ago I posted some thoughts<a id="t5_J1_ref-1" href="#t5_J1_note-1">&#xB9;</a> about the US #<span class="p-category auto-tag">election</span>. Upon more reflection, more thoughts and some updates.<br class="auto-break"/><br class="auto-break"/>~50 days until many #<span class="p-category auto-tag">changes</span> that will harm many, disrupt many more. Some changes and impacts will be immediate, some in days to weeks, mostly predictable, and some in months or longer, less predictable the further out.<br class="auto-break"/><br class="auto-break"/>It will be a lot like 8 years ago, except accelerated in time and severity, more well planned and executed, and quickly becoming hard to predict.<br class="auto-break"/><br class="auto-break"/>How to prepare for a mix of seemingly unpreventable disruptions and unpredictability?<br class="auto-break"/><br class="auto-break"/>resilience, redundancies, redirects, and resistance.<br class="auto-break"/><br class="auto-break"/>The next 50 days are the calm before a four year storm, if not longer. Perhaps there will be a respite in two years (midterms), perhaps even worth pursuing, yet not something to depend on.<br class="auto-break"/><br class="auto-break"/>For now, the following come to mind as immediately useful, actionable, and necessary, as a ways to act that are sustainable, and build upon each other:<br class="auto-break"/><br class="auto-break"/>1. make changes slowly, gradually, incrementally<br class="auto-break"/>2. take extra care of yourself, physical health, mental health<br class="auto-break"/>3. strengthen connections that matter, close friends, family, neighbors, not social media<br class="auto-break"/><br class="auto-break"/>One goal of these is to build stronger personal foundations from which to take larger actions.<br class="auto-break"/><br class="auto-break"/>Lastly, it is easy to get discouraged after disappointing outcomes. Easy to feel powerless. There are things we can all do, individually or collectively, perhaps locally, and there are many things that are difficult or impossible. It&#x2019;s a spectrum of difficulty, not a dichotomy.<br class="auto-break"/><br class="auto-break"/>Better to focus on approachable actions and goals rather than seeking perfection, the enemy of the good.<a id="t5_J1_ref-2" href="#t5_J1_note-2">&#xB2;</a><br class="auto-break"/><br class="auto-break"/>Surround yourself with those that encourage and celebrate your actions and successes, and spend less time with those who speak fatalism (all outcomes are inevitable), defeatism (all actions are ineffective), or nihilism (nothing matters).<br class="auto-break"/><br class="auto-break"/>Small successes build momentum and upon each other into larger successes.<br class="auto-break"/><br class="auto-break"/>More to follow.<br class="auto-break"/><br class="auto-break"/><a id="t5_J1_note-1" href="#t5_J1_ref-1">&#xB9;</a> <a class="auto-link" href="https://tantek.com/2024/313/t1/reflecting-listening-thoughts">https://tantek.com/2024/313/t1/reflecting-listening-thoughts</a><br class="auto-break"/><a id="t5_J1_note-2" href="#t5_J1_ref-2">&#xB2;</a> <a class="auto-link" href="https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good">https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good</a></span></p> <span class="info footer"><a href="/2024/336/t1/disruptions-how-to-prepare" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="19:46-0800">19:46</time> on <time class="value">2024-12-01</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">ran the Spartan Turkey Trot #<span class="p-category auto-tag">5k</span> #<span class="p-category auto-tag">race</span> in 44:34 <a class="auto-link h-cassis-username" href="https://twitter.com/SpartanTurkey5k">@SpartanTurkey5k</a>!<br class="auto-break"/>2min/mi+ faster average pace than 2023&#x2019;s #<span class="p-category auto-tag">turkeyTrot</span> walk / slow jog of 47:37 on a shortened course (2.86mi).<br class="auto-break"/><br class="auto-break"/>Arrived early for a warm-up and it was the coldest it&#x2019;s been in years (30-something F). <br class="auto-break"/><br class="auto-break"/>Alternated run/walk sessions for ~20min then jogged back to the track start area where they had moved the start since last year. Used the bathroom, and kept warming up with back/forth strides then high knees while waiting with the fam in wave 3.<br class="auto-break"/><br class="auto-break"/>Ran out at a moderate pace dodging walkers and strollers. Once we were on the street the cold air really hit my lungs. Listened to music nearly the whole time. Mile 2 was my slowest but still kept it under 15min/mi (my goal pace). Ran much more than walked in the last mile, and had enough left in the tank to push a little harder the last quarter mile to the finish where I hit my highest heartrate of the race.<br class="auto-break"/><br class="auto-break"/>Pretty happy with a sub-45 in sub-40F temperatures, and a solid improvement after last year&#x2019;s walk/jog which itself was only ~3 months after recovering from a cardio-destroying illness.<br class="auto-break"/><br class="auto-break"/>Considering what to race next, thinking a trail race in December.<br class="auto-break"/><br class="auto-break"/>See also: <a class="auto-link" href="https://www.spartanturkeytrot.com/">https://www.spartanturkeytrot.com/</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">turkeyTrot2024</span><br class="auto-break"/><br class="auto-break"/>Previously:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2022/329/t1/spartan-turkey-trot-5k">https://tantek.com/2022/329/t1/spartan-turkey-trot-5k</a></span></p> <span class="info footer"><a href="/2024/333/t1/spartan-turkey-trot-5k" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="18:24-0800">18:24</time> on <time class="value">2024-11-28</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Day 1 of #<span class="p-category auto-tag">IndieWebCamp</span> #<span class="p-category auto-tag">Berlin</span> 2024<a id="t5Zw1_ref-1" href="#t5Zw1_note-1">&#xB9;</a> was very well attended!<br class="auto-break"/>* 20 participants, more than 3x the previous one in 2022, and third highest (2018 ~30; 2019 ~22).<br class="auto-break"/>* 18 introduced themselves<a id="t5Zw1_ref-2" href="#t5Zw1_note-2">&#xB2;</a> and their personal sites or aspirations for one<br class="auto-break"/><br class="auto-break"/>Collectively we proposed and facilitated 11 breakout sessions<a id="t5Zw1_ref-3" href="#t5Zw1_note-3">&#xB3;</a> on many timely #<span class="p-category auto-tag">indieweb</span> topics covering #<span class="p-category auto-tag">syndication</span>, #<span class="p-category auto-tag">inclusion</span>, #<span class="p-category auto-tag">longevity</span>, #<span class="p-category auto-tag">federation</span> / #<span class="p-category auto-tag">fediverse</span>, how to best use #<span class="p-category auto-tag">Mastodon</span> with your personal site, #<span class="p-category auto-tag">privacy</span> and #<span class="p-category auto-tag">security</span> concerns of being online, #<span class="p-category auto-tag">writing</span>, how can we design better user interfaces for text authoring, and personalized reading #<span class="p-category auto-tag">algorithms</span> for staying connected with friends.<br class="auto-break"/><br class="auto-break"/>Session titles (and hashtags)<br class="auto-break"/>* How to #<span class="p-category auto-tag">POSSE</span><br class="auto-break"/>* How to make the web queerer / stranger. #<span class="p-category auto-tag">queer</span><br class="auto-break"/>* Online presence after our #<span class="p-category auto-tag">death</span><br class="auto-break"/>* Threat modeling #<span class="p-category auto-tag">threatmodeling</span><br class="auto-break"/>* Non-technical collaboration on the internet. #<span class="p-category auto-tag">collab</span><br class="auto-break"/>* Locations and #<span class="p-category auto-tag">places</span> check-in<br class="auto-break"/>* Writing with images. #<span class="p-category auto-tag">imagewriting</span><br class="auto-break"/>* Text authoring UX. #<span class="p-category auto-tag">textUX</span><br class="auto-break"/>* #<span class="p-category auto-tag">SSR</span>, organizing CSS/JS<br class="auto-break"/>* Website design without being a designer. #<span class="p-category auto-tag">designfordummies</span><br class="auto-break"/>* Timeline algorithms. #<span class="p-category auto-tag">timelines</span><br class="auto-break"/><br class="auto-break"/>Etherpad notes from sessions have been archived to the wiki, with session recordings to follow!<br class="auto-break"/><br class="auto-break"/>Day 2 also had 20 in-person participants, the highest IndieWebCamp Berlin day 2 attendance ever! Most everyone from day 1 came back to hack, and three new people showed up. We also had several remote participants.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>References<br class="auto-break"/>&#xA0; <br class="auto-break"/><a id="t5Zw1_note-1" href="#t5Zw1_ref-1">&#xB9;</a> <a class="auto-link" href="https://indieweb.org/2024">https://indieweb.org/2024</a><br class="auto-break"/><a id="t5Zw1_note-2" href="#t5Zw1_ref-2">&#xB2;</a> <a class="auto-link" href="https://indieweb.org/2024/Berlin/Intros">https://indieweb.org/2024/Berlin/Intros</a><br class="auto-break"/><a id="t5Zw1_note-3" href="#t5Zw1_ref-3">&#xB3;</a> <a class="auto-link" href="https://indieweb.org/2024/Berlin/Schedule#Saturday">https://indieweb.org/2024/Berlin/Schedule#Saturday</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 28 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>&#x2190; <a class="auto-link" href="https://tantek.com/2024/306/t1/simple-embeds">https://tantek.com/2024/306/t1/simple-embeds</a><br class="auto-break"/>&#x2192; <a class="auto-link" href="https://tantek.com/2024/337/t1/why-what-how-to-post">https://tantek.com/2024/337/t1/why-what-how-to-post</a></span></p> <span class="info footer"><a href="/2024/314/t1/indiewebcamp-berlin-2024-day-1" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="05:31-0800">05:31</time> on <time class="value">2024-11-09</time></a></span> </li> <li class="h-entry hentry as-note"> <p class="article"><span class="p-name entry-title e-content entry-content">Still reflecting and listening to how different folks are reacting after the US #<span class="p-category auto-tag">election</span> results. A few immediate thoughts:<br class="auto-break"/>* take care of yourselves, physically, emotionally, etc.<br class="auto-break"/>* lean into mutual care, check on those close to you<br class="auto-break"/>* (re)connect with community and especially those that reach out to you<br class="auto-break"/>* (re)consider privacy implications of your actions, IRL &amp; online, spending habits <br class="auto-break"/><br class="auto-break"/>Here in #<span class="p-category auto-tag">SanFrancisco</span> and #<span class="p-category auto-tag">California</span> we are seeing mostly positive local results<a id="t5Zv1_ref-1" href="#t5Zv1_note-1">&#xB9;</a> including a new mayor (who I happened to rank first for many reasons).<br class="auto-break"/><br class="auto-break"/>Lots to think about and do in the next couple of months.<br class="auto-break"/><br class="auto-break"/><a id="t5Zv1_note-1" href="#t5Zv1_ref-1">&#xB9;</a> <a class="auto-link" href="https://sfstandard.com/2024/11/05/san-francisco-election-results-november-2024/">https://sfstandard.com/2024/11/05/san-francisco-election-results-november-2024/</a></span></p> <span class="info footer"><a href="/2024/313/t1/reflecting-listening-thoughts" class="dt-published published dt-updated updated u-url u-uid"><time class="value" datetime="04:04-0800">04:04</time> on <time class="value">2024-11-08</time></a></span> </li> </ol> </div> <aside><div class="aside" id="contact"> <div class="p-note note"> <div class="section hello" id="hello"> <h2>Hello</h2> <p>Hi. I work on web standards and the IndieWeb. I like to run trails, practice yoga, go bouldering, code &amp; design my website, and write when I can. My pronouns are <span class="p-pronouns"><a class="p-pronoun h-pronoun">he</a>/<a class="p-pronoun h-pronoun">him</a></span>. <a href="?" rel="nofollow" title="Choose default theme">&#x1F3E0;</a> <a href="?skin=vtx" rel="nofollow" title="Choose Terminal theme">&#x1F4FA;</a> <a href="?skin=trn" rel="nofollow" title="Choose TRON:Legacy theme">&#x1F94F;</a></p> </div> <div class="section interact"> <ul> <li><a href="//tantek.com/contact">&#x1F4AC; Contact</a></li> <li><a href="//tantek.com/tip/1" title="Did you read something of value here and want to encourage more posts like that? Feel free to tip a small amount and mention which topics you enjoyed! (Just please avoid specific products or services. Thanks! -t)">&#x1F44F; Tip</a></li> </ul> </div> <div class="section information"> <ul> <li> <a href="https://indieweb.org/founders">Founder</a> at <a href="https://indieweb.org/" class="p-org org h-card">IndieWeb</a> </li> <li> <a href="http://microformats.org/about/people">Founder</a> at <a href="http://microformats.org/" class="p-org org h-card">microformats.org</a> </li> <li> <a class="p-role" href="https://wiki.mozilla.org/Standards">Web Standards Lead</a> at <a href="https://mozilla.org/" class="p-org org h-card">Mozilla</a> </li> <li> <a href="https://www.w3.org/Consortium/membership-faq#ACRep"><abbr title="W3C Advisory Committee">AC</abbr></a> <a href="https://www.w3.org/2002/ab/"><abbr title="W3C Advisory Board">AB</abbr></a> &amp; <a class="p-role" href="https://www.w3.org/Style/CSS/members"><abbr title="W3C Cascading Style Sheets Working Group">CSS WG</abbr></a> member at <a href="https://www.w3.org/" class="p-org org h-card">W3C</a> </li> <li>BSCS &amp; MSCS <a href="https://stanford.edu/" class="p-category category h-card">Stanford University</a> </li> </ul> </div> </div> <div class="section elsewhere"> <h2 id="follow">Follow</h2> <ul class="facets"> <li><indie-action do="follow" with="https://tantek.com/"><a href="https://tantek.com/" rel="canonical" title="follow tantek.com in your favorite Social Reader"><abbr title="world wide web">&#x1F310;</abbr> <kbd>tantek.com</kbd></a></indie-action></li> <li><form style="margin:0.2em 0 1em; color:#000" method="post" action="https://fed.brid.gy/remote-follow"> <label for="follow-address"><abbr title="at-at">&#x1F418;</abbr> Follow <kbd title="copy my at-at address to follow from Mastodon">@tantek.com@tantek.com</kbd>:<br> enter your @-@ fediverse address:</label> <input id="follow-address" name="address" type="text" required="required" placeholder="@you@instance.social" title="Type your @-@ address" size="23" value=""> <input name="domain" type="hidden" value="tantek.com"> <input name="protocol" type="hidden" value="web"> <button type="submit">Follow</button> </form></li> <li> <a rel="me" class="u-url url" href="https://micro.blog/t" title="follow me on micro.blog"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 480 480" focusable="false" aria-hidden="true"> <defs> <linearGradient id="a" x1="50%" x2="50%" y1="0" y2="78%"> <stop offset="0%" stop-color="#fb0"></stop> <stop offset="100%" stop-color="#f80"></stop> </linearGradient> <linearGradient id="b" x1="50%" x2="50%" y1="0" y2="100%"> <stop offset="0%" stop-color="#ffc"></stop> <stop offset="100%" stop-color="#ff6"></stop> </linearGradient> </defs> <path fill="url(#a)" d="M427 354c31-37 53-84 53-135C480 98 371 0 240 0 108 0 0 98 0 219s108 219 240 219c28 0 57-5 84-14 3-1 7 0 9 2 20 27 51 46 85 54l5-2v-6a93 93 0 0 1 4-118z"></path> <path fill="url(#b)" d="M352 194l-61 46 22 72c1 3 0 6-3 8h-8l-63-43-63 43h-8c-3-2-4-5-3-8l22-72-61-46c-3-2-4-5-3-8 1-2 4-4 7-4l77-2 25-71c1-3 4-5 7-5s6 2 7 5l25 71 77 2c3 0 6 2 7 4 1 3 0 6-3 8z"></path> </svg> micro.blog @t</a> </li> <li><a rel="me" class="u-url url" href="https://www.threads.net/@tantek" title="Threads account that I&#x2018;m experimenting with"><span style="font-size:1.4em; font-weight:bold; color:#000">@</span> Threads @tantek</a></li> <li><a rel="me" class="u-url url" href="https://instagram.com/tantek/" title="Instagram account where I cross-post my photos"><img src="images/instagram-16x16.png" alt=""/> Instagram @tantek</a></li> <li><a rel="me" class="u-url url" href="https://www.flickr.com/people/tantek/" title="photos on Flickr"><img src="images/flickr-16x16.png" alt=""/> Flickr</a></li> </ul> </div> <!-- h-feed filled in dynamically --> <div id="recent-articles" class="section recent-articles h-feed"> <h2 class="p-name">Recent Articles</h2> <ul> <li class="h-entry"><a href="/2025/052/b1/steps-indieweb-cybersecurity">CSF_01: Three Steps for IndieWeb Cybersecurity</a></li> <li class="h-entry"><a href="/2024/213/b1/choosing-tools">Choosing Tools</a></li> <li class="h-entry"><a href="/2024/180/b1/responsible-inventing">Responsible Inventing</a></li> </ul> </div> <!-- h-feed filled in dynamically --> <div id="recent-photos" class="section recent-photos h-feed"> <h2 class="p-name">Recent Photos</h2> <ul> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2022/289/t1/hot-skyline50k-ultra-finish"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_tjk6ja88e3mjglC50lmeeMAwpr4Pozk_yVhAIuNgq3E.jpg" alt="Tantek running with a focused look in a 2020 MUC50 cap, black singlet &amp; shorts, on a dirt trail with grass, bushes, &amp; trees on both sides, and two runners out of focus ~20 meters behind him."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2021/221/t1/finished-rodeovalley-trailrace"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_9_gqB6h_tK8iyjBEb886XpboOcF8bsEgT_wl76vckqI.jpg" alt="Fogged-in view of a lush green hillside, narrow singletrack trail cutting up from the right and approaching the center, with Tantek power hiking uphill, grinning, water bottle in right hand, holding his side with his left."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2021/218/t1/running-rodeovalley"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_gChM9nrNNko-1aMouw-x74imp7kzUzJKLomkEQ4u8qQ.jpg" alt="White yoga mat on a hardwood floor with running shoes, clothes, gear, fuel laid out in an orderly fashion."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2021/019/t1/marin-trailrun"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_nJH-uVKVhefvOPmfi3mPSlI9MqpeN6WLmS6EbWdKNC0.jpg" alt="Tantek running downhill on a trail with mountains, hills, and an ocean shore in the distant background, under a sunny blue sky."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2021/017/t3/seven-years-ago-npsf-hills"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_fkcHgLiQBPvCLZJHKYdX7CaTedWH8UbLwL1AQuOZV9A.jpg" alt="View of sunset-lit downtown San Francisco in the distance as viewed from Twin Peaks, with the hairpin turn below, and immediately below the green hill slope of Twin Peaks summit."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2021/017/t2/january"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_M152uOnalZ6QfPsz9YMHd2sNPt-U7s2Twx2Lj26gryA.jpg" alt="January of 2021 month calendar built from LEGO bricks, on a hexagonal white on gray blanket background."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/364/t1/last-track"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_77tgUdgL2xYzHOEFYLIf1-kATkEom1PWrqzIEja6Bww.jpg" alt="Multicolored heart painting with a few sequine pieces, outlined in pink with bits of turquoise, paint dripping downward, on a piece of plywood at a construction site, signed KATE_TOVA."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/359/t1/tam-summit"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_OguOnR4ZRWSfkf4xrKwqIhVCw6Fmp8zJZT1reWJclls.jpg" alt="Tantek wearing a buff taking a selfie at the Mill Valley Depot with Nick, Paddy, Olivia, and Emma safely distanced in the background."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/356/t1/december-winter-solstice"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_crDev05xDJVnmxPsasFbdxMvdxDA1tuItOUPEaTVogA.jpg" alt="December of 2020 month calendar built from LEGO bricks, on an hardwood floor background."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/153/t1/justice-for-george"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_wiYEJTxjdxLl_vZFlLefP9O8b-Jv9R12Q92ANKZXhSA.jpg" alt="Stencil street art of George Floyd on a red wall with the word JUSTICE above his head, and FOR GEORGE below."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/137/t3/sf-distancing-day-twelve"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_SpwXl5ANk0Pyg5xBFSovR5qUkMoaEE_6uak0acFKU8w.jpg" alt="Intersection of Frederick and Ashbury streets at night, looking westward, everything is dark except for streetlamps, lights outside a boarded up Ashbury Market, and a second floor corner apartment on the other side, above a lit bus stop for the number 6 outbound bus."/></a></li> <li class="h-entry" style="display:inline;margin:0;padding:0"><a href="/2020/130/t1/ahmaudarbery-blacklivesmatter"><img style="max-width:32%;width:7em;height:7em;object-fit:cover;margin-bottom:0.2em" src="https://fastly.4sqi.net/img/general/width960/476_RLIxPGQ2v_yOJcsVnDalcK2pZETJNnYbZSr1I4VhrBc.jpg" alt="Strava map showing a roundtrip running route in red from Haight Ashbury to near a hairpin turn on Twin Peaks and back."/></a></li> </ul> </div> <div class="section elsewhere"> <h2 id="elsewhere">Elsewhere</h2> <ul class="facets"> <li><a rel="me" class="u-url url" href="https://github.com/tantek" title="open source on Github"><img src="images/github-16x16.png" alt=""/> Github @tantek</a></li> <!--<li><a rel="me" class="u-url url" href="http://tantek.pbwiki.com/" title="projects, notes, and events on PBWiki">PBworks wiki</a></li>--> <li><a href="https://www.imdb.com/name/nm8414793" title="film appearance(s)on IMDB"><img src="images/imdb-16x16.png" alt=""/> IMDB</a></li> <li><a rel="me" class="u-url url" href="https://indieweb.org/User:Tantek.com" title="contributions to IndieWeb wiki"><img src="images/wikipedia-16x16.png" alt=""/> IndieWeb User:Tantek.com</a></li> <li><a rel="me" class="u-url url" href="https://en.wikipedia.org/wiki/User:Tantek" title="contributions to Wikipedia"><img src="images/wikipedia-16x16.png" alt=""/> Wikipedia User:Tantek</a></li> </ul> </div> <!-- <div class="section"> <h2>Contact</h2> <ul> <li><a href="http://tantek.com/w/CommunicationProtocols">Preferred</a>: <a class="u-url url u-impp" href="aim:goim?screenname=tantekc"><img src="images/aim-16x16.png" alt="" /> aim:tantekc</a></li> <li><a class="u-url url" type="text/directory" href="http://h2vx.com/vcf/tantek.com/" title="Download my vCard to add my contact information to your Address Book"><img src="images/vcard-16x16.png" alt="" /> download vCard</a></li> </ul> </div>--> <div class="section"> <h2>Buy my book!</h2> <a href="//tantek.com/html5now"><img src="images/html5nowdvd.jpg" alt="HTML5 Now!"/></a> <p>A step-by-step tutorial for getting started with HTML5 today. Includes reference guide and DVD with 2.5 hours of video plus 100 page searchable full-color PDF eBook.</p> <p><a href="//tantek.com/html5now">Buy at Amazon.com</a></p> </div> </div></aside> <footer><div class="footer"> <div class="section"> <h2>Launched &amp; Live</h2> <ul> <li> <a href="//tantek.com/html5now">HTML5 Now! book &amp; DVD</a> - quickly learn how to write HTML5, from documents to video and vector graphics.</li> <li> <a href="https://asin.cc" title="Amazon product link shortener">ASIN.cc</a> - a handy URL shortener for books and Amazon products</li> <li> <a href="https://h2vx.com/" title="hCard to vCard, hCalendar to iCalendar conversion services">H2VX</a> - add hCard contacts and hCalendar events from web pages to your address book and calendar programs</li> <li class="h-card"> <a class="p-name u-url" href="http://microformats.org/wiki">microformats.org</a> - <span class="p-note">the fastest way to publish your web page contents as data APIs and look better in search engines</span> </li> </ul> </div> <div class="section"> <h2>Currently Working On</h2> <ul> <li> <a href="https://wiki.mozilla.org/Tantek-Mozilla-projects">Mozilla projects</a> - open standards: <a class="p-category category" href="http://microformats.org/wiki/microformats2">microformats2</a> (e.g. <a class="p-category category" href="http://microformats.org/wiki/h-card">h-card</a>, <a class="p-category category" href="http://microformats.org/wiki/h-cite">h-cite</a>, <a class="p-category category" href="http://microformats.org/wiki/h-entry">h-entry</a>, &amp; <a class="p-category category" href="http://microformats.org/wiki/h-event">h-event</a>), some <span class="p-category category">HTML5</span> &amp; <span class="p-category category">CSS3</span>, growing the <a class="p-category category p-org org h-org" href="https://indieweb.org/">IndieWeb</a> &amp; <a href="https://indieweb.org/events/next-hwc">Homebrew Website</a> communities.</li> <li> <a href="https://indieweb.org/">IndieWeb community</a> &amp; <a href="https://events.indieweb.org/">events</a>, <a href="//tantek.com/2014/067/b1/building-blocks-people-focused-mobile-communication">people-focused mobile communication</a>, <a class="p-category category" href="https://indieweb.org/authorship">authorship</a>, <a class="p-category category" href="https://indieweb.org/POSSE">POSSE</a>, <a class="p-category category" href="https://indieweb.org/webactions">webactions</a>, and measuring progress with <a class="p-category category" href="https://indieweb.org/IndieMark">IndieMark</a>. </li> <li> <a class="p-category category" href="http://cassisproject.com" title="CASSIS language and library"><abbr title="Client And Server Scripting Implementation Subset for Javascript and PHP">CASSIS</abbr></a> (<a href="https://tantek.com/github/cassis/">on GitHub</a>) - a functional programming language and framework for code that natively executes in PHP and Javascript.</li> <!-- need help with this: https://indieweb.org/User:Tantek.com#RelMeAuth_PHP_library <li><a class="p-category category" href="http://microformats.org/wiki/RelMeAuth" title="Simplified personal logins with rel-me and OAuth">RelMeAuth</a> - use a personal site and rel="me" hyperlinks to profiles on popular OAuth supporting services like <a href="https://github.com/tantek">Github</a> etc. to sign-in with your own URL. </li> --> <li> <a class="p-category category" href="https://indieweb.org/Falcon">Falcon</a> - personal website, blogging, and social web application. See <a href="https://indieweb.org/Falcon#Working_On">what I'm currently working on</a>. </li> <li> <a href="//tantek.com/w/Whistle">Whistle</a> - personal algorithmically reversible URL shortener.</li> </ul> </div> <div class="section h-feed" id="events"> <h2 class="p-name">Speaking &amp; Events</h2> <ol> <li class="h-event vevent"> <span class="dt-start dtstart"><time>2024-12-21</time></span> <a class="u-url url" href="https://insidetrail.com/calendar/woodside-ramble-trail-run/"><abbr class="p-name summary" title="35k Woodside Ramble trail race">Woodside Ramble 35k</abbr> <abbr class="p-location location" title="Huddart County Park, Woodside, California, USA">Woodside</abbr></a> </li> <li class="h-event vevent"> <span class="dt-start dtstart"><time>2025-05-18</time></span> <a class="u-url url" href="https://www.baytobreakers.com/"><span class="p-name summary">Bay to Breakers 12k</span> <abbr class="p-location location" title="San Francisco, California, USA">San Francisco</abbr></a> </li> <li class="h-event vevent"> <span class="dt-start dtstart"><time>2025-06-22</time></span> <a class="u-url url" href="https://www.brokenarrowskyrace.com/23k"><abbr class="p-name summary" title="23K Broken Arrow Skyrace">BA 23k skyrace</abbr> <abbr class="p-location location" title="Palisades, Tahoe, California, USA">Palisades</abbr></a> </li> </ol> <!-- <p>See <a href="http://lanyrd.com/profile/t/future/">my Lanyrd</a> for more.</p>--> <p> <a href="webcal://dev.h2vx.com/ics/tantek.com">Subscribe to events</a> </p> </div> <div class="favorite-quotes" id="favorite-quotes" style="padding-top:2em;clear:both"> <blockquote>There are two wolves and they are always fighting. One is darkness and despair, the other is light and hope. Which wolf wins? </blockquote> <blockquote>I get things are bad. But what are we doing to fix it?<br/> &#x2014; Casey Newton (<a href="https://en.wikiquote.org/wiki/Tomorrowland_%28film%29#Casey_Newton">Tomorrowland, 2015</a>)</blockquote> </div> <address class="copyright">&#xA9; <time>1996</time>-<time>2025</time> <span lang="tr">Tantek &#xC7;elik</span>, <span class="c">All Rights Reserved.</span> <span style="display:block" class="photo-credit"> Icon photo by <span class="h-card">Rebecca Daniels</span>. </span> <span><a href="https://xn--sr8hvo.ws/&#x1F4CA;/previous">&#x2190;</a> Member of IndieWeb Webring &#x1F578;&#x1F48D; <a href="https://xn--sr8hvo.ws/&#x1F4CA;/next">&#x2192;</a> </span> </address> <div class="disclaimer" id="disclaimer"> No large language models were used in the production of this site. (inspired by <a class="h-cite" href="https://www.rfc-editor.org/rfc/rfc9518.html#appendix-A-4" rel="inspiration"><abbr title="RFC 9518: Centralization, Decentralization, and Internet Standards">RFC 9518</abbr> Appendix A &#xB6; 4</a>) </div> </div></footer> <script src="cassis.js"></script> <script>/**/ var es = document.getElementById("link"); if (es) { es.onclick = function() { var e = targetelement(); e.focus(); e.select(); }; } /**/</script> <script>{var s=navigator.serviceWorker;if(s){s.register('/serviceworker.js');}}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10