While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)
<style> p { color: red } </style>
a more robust style element requires a precise series of overlapping code comments.
Here is the answer if you want a code snippet to copy & paste
<style><!--/*--><![CDATA[*/ p { color: red } /* you may delete this sample style rule */ /*]]><!--*/--></style>
Here is why:
1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways to errantly or deliberately misplace markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors. Strictly speaking any use of > child combinator selector syntax should also be HTML escaped (as >) inside a style elment.
Thus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style element from such processing, including any child combinators. A CDATA section does exactly that:
<style><![CDATA[ p { color: orange } /* CDATA allows a </style> here to not close the element */ body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */ ]]></style>
2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3¹ or editor's draft² as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.
Thus we must hide the CDATA directive, its opening and closing markup, from CSS parsers. CSS code comments /* ... */ can do exactly that:
<style>/*<![CDATA[*/ p { color: orange } /* CDATA allows a </style> here to not close the element */ body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */ /*]]>*/</style>
3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:
/* */
This recently showed up in a draft of the This Week in The #IndieWeb newsletter³, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */
Fortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets⁴ (noted there as CDO-token⁵ and CDC-token⁶), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.
This last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:
<style><!--/*--><![CDATA[*/ p { color: orange } /* CDATA allows a </style> here to not close the element */ body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */ /*]]><!--*/--></style>
By replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post:
<style><!--/*--><![CDATA[*/ p { color: red } /* you may delete this sample style rule */ /*]]><!--*/--></style>
Q.E.D.
Afterword:
If you’re reading this in a traditional feed reader and see any red or orange text, then your feed reader has a bug (or a few) in its HTML parsing code.
If you View Source on this post’s original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make⁷ principle.
{
"type": "entry",
"published": "2024-03-15 21:35-0700",
"url": "https://tantek.com/2024/075/t1/css-more-robust-style-element",
"category": [
"IndieWeb",
"CSS",
"style",
"styleElement",
"styleSheet",
"HTML",
"HTML5",
"CSSsyntax",
"codeComments",
"CDATA",
"SGML",
"CSScomment",
"HTMLcomment",
"SGMLcomment"
],
"content": {
"text": "While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)\n\n<style> \np { color: red }\n</style>\n\na more robust style element requires a precise series of overlapping code comments.\n\nHere is the answer if you want a code snippet to copy & paste\n\n<style><!--/*--><![CDATA[*/ \np { color: red } /* you may delete this sample style rule */\n/*]]><!--*/--></style>\n\n\nHere is why:\n\n1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways to errantly or deliberately misplace markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors. Strictly speaking any use of > child combinator selector syntax should also be HTML escaped (as >) inside a style elment.\n\nThus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style element from such processing, including any child combinators. A CDATA section does exactly that:\n\n<style><![CDATA[ \np { color: orange } /* CDATA allows a </style> here to not close the element */\nbody > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */\n]]></style>\n\n\n2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3\u00b9 or editor's draft\u00b2 as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.\n\nThus we must hide the CDATA directive, its opening and closing markup, from CSS parsers. \u00a0CSS code comments /* ... */ can do exactly that:\n\n<style>/*<![CDATA[*/ \np { color: orange } /* CDATA allows a </style> here to not close the element */\nbody > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */\n/*]]>*/</style>\n\n\n3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:\n\n/* */\n\nThis recently showed up in a draft of the This Week in The #IndieWeb newsletter\u00b3, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */\n\nFortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets\u2074 (noted there as CDO-token\u2075 and CDC-token\u2076), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.\n\nThis last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:\n\n<style><!--/*--><![CDATA[*/ \np { color: orange } /* CDATA allows a </style> here to not close the element */\nbody > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */\n/*]]><!--*/--></style>\n\nBy replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post: \n\n<style><!--/*--><![CDATA[*/ \np { color: red } /* you may delete this sample style rule */\n/*]]><!--*/--></style>\n\nQ.E.D.\n\n\nAfterword:\n\nIf you\u2019re reading this in a traditional feed reader and see any red or orange text, then your feed reader has a bug (or a few) in its HTML parsing code.\n\nIf you View Source on this post\u2019s original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make\u2077 principle.\n\n#CSS #style #styleElement #styleSheet #HTML #HTML5 #CSSsyntax #codeComments #CDATA #SGML #CSScomment #HTMLcomment #SGMLcomment\n\n\nGlossary:\n\nCDATA\n\u00a0 https://en.wikipedia.org/wiki/CDATA\nCSS \u2014 Cascading Style Sheets\n\u00a0 https://en.wikipedia.org/wiki/CSS\nHTML \u2014 HyperText Markup Language\n\u00a0 https://en.wikipedia.org/wiki/HTML\nHTML5\n\u00a0 https://en.wikipedia.org/wiki/HTML5\nIndieWeb Principles\n\u00a0 https://indieweb.org/principles\nMediaWiki\n\u00a0 https://en.wikipedia.org/wiki/MediaWiki\noriginal permalink\n\u00a0 https://indieweb.org/original_permalink\nQ.E.D.\n\u00a0 https://en.wikipedia.org/wiki/Q.E.D.\n\nReferences:\n\n\u00b9 https://www.w3.org/TR/css-syntax-3/\n\u00b2 https://drafts.csswg.org/css-syntax/\n\u00b3 https://indieweb.org/this-week-in-the-indieweb \n\u2074 https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram\n\u2075 https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram\n\u2076 https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram\n\u2077 https://indieweb.org/use_what_you_make",
"html": "While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)<br /><br /><style> <br />p { color: red }<br /></style><br /><br />a more robust style element requires a precise series of overlapping code comments.<br /><br />Here is the answer if you want a code snippet to copy & paste<br /><br /><style><!--/*--><![CDATA[*/ <br />p { color: red } /* you may delete this sample style rule */<br />/*]]><!--*/--></style><br /><br /><br />Here is why:<br /><br />1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways to errantly or deliberately misplace markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors. Strictly speaking any use of > child combinator selector syntax should also be HTML escaped (as &gt;) inside a style elment.<br /><br />Thus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style element from such processing, including any child combinators. A CDATA section does exactly that:<br /><br /><style><![CDATA[ <br />p { color: orange } /* CDATA allows a </style> here to not close the element */<br />body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br />]]></style><br /><br /><br />2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3<a href=\"https://tantek.com/#t5Vx1_note-1\">\u00b9</a> or editor's draft<a href=\"https://tantek.com/#t5Vx1_note-2\">\u00b2</a> as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.<br /><br />Thus we must hide the CDATA directive, its opening and closing markup, from CSS parsers. \u00a0CSS code comments /* ... */ can do exactly that:<br /><br /><style>/*<![CDATA[*/ <br />p { color: orange } /* CDATA allows a </style> here to not close the element */<br />body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br />/*]]>*/</style><br /><br /><br />3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:<br /><br />/* */<br /><br />This recently showed up in a draft of the This Week in The #<span class=\"p-category\">IndieWeb</span> newsletter<a href=\"https://tantek.com/#t5Vx1_note-3\">\u00b3</a>, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */<br /><br />Fortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets<a href=\"https://tantek.com/#t5Vx1_note-4\">\u2074</a> (noted there as CDO-token<a href=\"https://tantek.com/#t5Vx1_note-5\">\u2075</a> and CDC-token<a href=\"https://tantek.com/#t5Vx1_note-6\">\u2076</a>), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.<br /><br />This last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:<br /><br /><style><!--/*--><![CDATA[*/ <br />p { color: orange } /* CDATA allows a </style> here to not close the element */<br />body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br />/*]]><!--*/--></style><br /><br />By replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post: <br /><br /><style><!--/*--><![CDATA[*/ <br />p { color: red } /* you may delete this sample style rule */<br />/*]]><!--*/--></style><br /><br />Q.E.D.<br /><br /><br />Afterword:<br /><br />If you\u2019re reading this in a traditional feed reader and see any red or orange text, then your feed reader has a bug (or a few) in its HTML parsing code.<br /><br />If you View Source on this post\u2019s original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make<a href=\"https://tantek.com/#t5Vx1_note-7\">\u2077</a> principle.<br /><br />#<span class=\"p-category\">CSS</span> #<span class=\"p-category\">style</span> #<span class=\"p-category\">styleElement</span> #<span class=\"p-category\">styleSheet</span> #<span class=\"p-category\">HTML</span> #<span class=\"p-category\">HTML5</span> #<span class=\"p-category\">CSSsyntax</span> #<span class=\"p-category\">codeComments</span> #<span class=\"p-category\">CDATA</span> #<span class=\"p-category\">SGML</span> #<span class=\"p-category\">CSScomment</span> #<span class=\"p-category\">HTMLcomment</span> #<span class=\"p-category\">SGMLcomment</span><br /><br /><br />Glossary:<br /><br />CDATA<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/CDATA\">https://en.wikipedia.org/wiki/CDATA</a><br />CSS \u2014 Cascading Style Sheets<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/CSS\">https://en.wikipedia.org/wiki/CSS</a><br />HTML \u2014 HyperText Markup Language<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/HTML\">https://en.wikipedia.org/wiki/HTML</a><br />HTML5<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/HTML5\">https://en.wikipedia.org/wiki/HTML5</a><br />IndieWeb Principles<br />\u00a0 <a href=\"https://indieweb.org/principles\">https://indieweb.org/principles</a><br />MediaWiki<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/MediaWiki\">https://en.wikipedia.org/wiki/MediaWiki</a><br />original permalink<br />\u00a0 <a href=\"https://indieweb.org/original_permalink\">https://indieweb.org/original_permalink</a><br />Q.E.D.<br />\u00a0 <a href=\"https://en.wikipedia.org/wiki/Q.E.D\">https://en.wikipedia.org/wiki/Q.E.D</a>.<br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Vx1_ref-1\">\u00b9</a> <a href=\"https://www.w3.org/TR/css-syntax-3/\">https://www.w3.org/TR/css-syntax-3/</a><br /><a href=\"https://tantek.com/#t5Vx1_ref-2\">\u00b2</a> <a href=\"https://drafts.csswg.org/css-syntax/\">https://drafts.csswg.org/css-syntax/</a><br /><a href=\"https://tantek.com/#t5Vx1_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/this-week-in-the-indieweb\">https://indieweb.org/this-week-in-the-indieweb</a> <br /><a href=\"https://tantek.com/#t5Vx1_ref-4\">\u2074</a> <a href=\"https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram\">https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram</a><br /><a href=\"https://tantek.com/#t5Vx1_ref-5\">\u2075</a> <a href=\"https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram\">https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram</a><br /><a href=\"https://tantek.com/#t5Vx1_ref-6\">\u2076</a> <a href=\"https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram\">https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram</a><br /><a href=\"https://tantek.com/#t5Vx1_ref-7\">\u2077</a> <a href=\"https://indieweb.org/use_what_you_make\">https://indieweb.org/use_what_you_make</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "40563420",
"_source": "2460"
}
It’s Long COVID Awareness Day. An estimated 65 million people suffer from it globally. Remember that the risk of long-term health issues in multiple organs increases after each infection, even if your symptoms were mild.
{
"type": "entry",
"published": "2024-03-15 15:00-0700",
"url": "https://gregorlove.com/2024/03/its-long-covid-awareness/",
"category": [
"LongCovid",
"LongCovidAwareness"
],
"syndication": [
"https://bsky.app/profile/gregorlove.com/post/3knrcktapuc23",
"https://bsky.app/profile/gregorlove.com/post/3knrclyinhl2p"
],
"content": {
"text": "It\u2019s Long COVID Awareness Day. An estimated 65 million people suffer from it globally. Remember that the risk of long-term health issues in multiple organs increases after each infection, even if your symptoms were mild.\n\nEvery COVID Infection Increases Your Risk of Long COVID, Study Warns\n\nLong COVID: major findings, mechanisms and recommendations",
"html": "<p>It\u2019s <a href=\"https://www.longcovidawareness.life/\">Long COVID Awareness Day</a>. An estimated 65 million people suffer from it globally. Remember that the risk of long-term health issues in multiple organs increases after <em>each</em> infection, even if your symptoms were mild.</p>\n\n<p><a class=\"h-cite\" href=\"https://www.unmc.edu/healthsecurity/transmission/2023/12/27/every-covid-infection-increases-your-risk-of-long-covid-study-warns/\">Every COVID Infection Increases Your Risk of Long COVID, Study Warns</a></p>\n\n<p><a class=\"h-cite\" href=\"https://www.nature.com/articles/s41579-022-00846-2\">Long COVID: major findings, mechanisms and recommendations</a></p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "40562283",
"_source": "95"
}
{
"type": "entry",
"published": "2024-03-14T17:52:57-07:00",
"url": "https://aaronparecki.com/2024/03/14/18/teeth",
"category": [
"teeth",
"dentist",
"rootcanal"
],
"photo": [
"https://aperture-media.p3k.io/aaronparecki.com/973a12e55522479a40311413a3aef640f6bb0dcdc9bacd6c510021503cea516e.jpg"
],
"content": {
"text": "The 3D X-Ray machine they have at the endodontist is really cool! You can look at an X-Ray of any slice of the tooth!"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "photo",
"_id": "40552686",
"_source": "16"
}
Well this is a new one, my lip itches but it's still numb so I can't scratch it! I keep trying to scratch it but it feels like the itch is inside it somehow 😬
{
"type": "entry",
"published": "2024-03-14T14:30:24-07:00",
"url": "https://aaronparecki.com/2024/03/14/14/",
"syndication": [
"https://bsky.app/profile/aaronpk.com/post/3knoqgt266u2r"
],
"content": {
"text": "Well this is a new one, my lip itches but it's still numb so I can't scratch it! I keep trying to scratch it but it feels like the itch is inside it somehow \ud83d\ude2c",
"html": "Well this is a new one, my lip itches but it's still numb so I can't scratch it! I keep trying to scratch it but it feels like the itch is inside it somehow <a href=\"https://aaronparecki.com/emoji/%F0%9F%98%AC\">\ud83d\ude2c</a>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/f664891d2386e80efc8492bc5b9346b59daca41f256f72e6290f9e63cef1b6d9.jpg"
},
"post-type": "note",
"_id": "40551399",
"_source": "16"
}
{
"type": "entry",
"published": "2024-03-13 13:36-0700",
"url": "https://gregorlove.com/2024/03/watched-clara/",
"category": [
"movies"
],
"syndication": [
"https://bsky.app/profile/gregorlove.com/post/3knm5ckp3gk2i"
],
"content": {
"text": "Watched Clara (2018) and enjoyed it overall. It\u2019s a slow build but pretty good science fiction, especially for a first-time writer/director.",
"html": "<p>Watched <a href=\"https://www.justwatch.com/us/movie/clara\">Clara</a> (2018) and enjoyed it overall. It\u2019s a slow build but pretty good science fiction, especially for a first-time writer/director.</p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "40540995",
"_source": "95"
}
What I created while remotely participating at #IndieWebCamp Brighton 2024: wiki-gardened day 1’s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.
Day 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.
At the start of day 2, everyone is encourage to pick things to make¹. What to make at an IndieWebCamp² can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content.
Everyone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.
For my "easy" task, I built on what another remote participant, @gregorlove.com completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page³. gRegor had noted that he didn’t have time to clean-up the pages, e.g. convert and fix Markdown links.
I went through the 13 Session Notes archives and did the following: * converted Markdown links to MediaWiki links * converted indieweb.org (and some services) links to local wiki page links * fixed (some) typos
I point this out to provide an example of an IndieWeb Create Day project that is: * incremental on top of someone else’s work * community contribution rather a personal-focused project * editing and wiki-gardening as valid contributions, not just creating new content
I point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward: * new innovations (not incremental improvements) * solo (or maybe jointly in a small team) inventions, designs, specs, or implementations * something large, a new service or a big feature, not numerous small edits & fixes
In this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #Indie in #IndieWeb), than any corporation.
For my "more bold" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements. * https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases
My stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #Mastodon, other #ActivityPub or #fediverse implementations, and even across #socialMedia silos), as well as how implementations link URLs, domains, and paths.
I was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day: * https://indieweb.org/2024/Brighton/Demos
{
"type": "entry",
"published": "2024-03-12 19:19-0700",
"url": "https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton",
"category": [
"IndieWebCamp",
"Indie",
"IndieWeb",
"Mastodon",
"ActivityPub",
"fediverse",
"socialMedia",
"autoLink",
"atDomain",
"atPath",
"atMention",
"atMentions",
"atat",
"atAtMention",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "What I created while remotely participating at #IndieWebCamp Brighton 2024: wiki-gardened day 1\u2019s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.\n\nDay 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.\n\nAt the start of day 2, everyone is encourage to pick things to make\u00b9. What to make at an IndieWebCamp\u00b2 can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content. \n\nEveryone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.\n\nFor my \"easy\" task, I built on what another remote participant, @gregorlove.com completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page\u00b3. gRegor had noted that he didn\u2019t have time to clean-up the pages, e.g. convert and fix Markdown links.\n\nI went through the 13 Session Notes archives and did the following:\n* converted Markdown links to MediaWiki links\n* converted indieweb.org (and some services) links to local wiki page links\n* fixed (some) typos\n\nWith some help from @alexsirac.com (@alexture@todo.eu), I figured out how to create a MediaWiki Contributions summary link of my edits:\n* https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25\n\nI point this out to provide an example of an IndieWeb Create Day project that is:\n* incremental on top of someone else\u2019s work\n* community contribution rather a personal-focused project\n* editing and wiki-gardening as valid contributions, not just creating new content\n\nI point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward:\n* new innovations (not incremental improvements)\n* solo (or maybe jointly in a small team) inventions, designs, specs, or implementations\n* something large, a new service or a big feature, not numerous small edits & fixes\n\nIn this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #Indie in #IndieWeb), than any corporation.\n\n\nFor my \"more bold\" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements.\n* https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\n\n\nMy stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #Mastodon, other #ActivityPub or #fediverse implementations, and even across #socialMedia silos), as well as how implementations link URLs, domains, and paths.\n\nThat stretch goal remains a goal, however I did collect a handful of prior posts on @-mentions which I plan to source for specifying auto-linking and @-mentioning:\n* https://tantek.com/2023/011/t1/indieweb-evolving-at-mention\n* https://tantek.com/2023/014/t4/domain-first-federated-atmention\n* https://tantek.com/2023/018/t1/elevate-indieweb-above-silo\n* https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo\n* https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread\n#autoLink #atDomain #atPath #atMention #atMentions #atat #atAtMention\n\n\nI was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day:\n* https://indieweb.org/2024/Brighton/Demos\n\n\nThis is post 13 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\n\u2192 \ud83d\udd2e\n\n\nGlossary:\n\nCreate Day\n\u00a0 https://indieweb.org/Create_Day\nIndieWebCamp Brighton 2024\n\u00a0 https://indieweb.org/2024/Brighton\n\nReferences:\n\n\u00b9 https://indieweb.org/IndieWebCamps/Attending#Day_Two\n\u00b2 https://indieweb.org/what_to_make_at_IndieWebCamp\n\u00b3 https://indieweb.org/2024/Brighton/Schedule#Saturday",
"html": "What I created while remotely participating at #<span class=\"p-category\">IndieWebCamp</span> Brighton 2024: wiki-gardened day 1\u2019s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.<br /><br />Day 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.<br /><br />At the start of day 2, everyone is encourage to pick things to make<a href=\"https://tantek.com/#t5Vu1_note-1\">\u00b9</a>. What to make at an IndieWebCamp<a href=\"https://tantek.com/#t5Vu1_note-2\">\u00b2</a> can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content. <br /><br />Everyone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.<br /><br />For my \"easy\" task, I built on what another remote participant, <a href=\"https://gregorlove.com\">@gregorlove.com</a> completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page<a href=\"https://tantek.com/#t5Vu1_note-3\">\u00b3</a>. gRegor had noted that he didn\u2019t have time to clean-up the pages, e.g. convert and fix Markdown links.<br /><br />I went through the 13 Session Notes archives and did the following:<br />* converted Markdown links to MediaWiki links<br />* converted <a href=\"http://indieweb.org\">indieweb.org</a> (and some services) links to local wiki page links<br />* fixed (some) typos<br /><br />With some help from <a href=\"https://alexsirac.com\">@alexsirac.com</a> (<a href=\"https://todo.eu/@alexture\">@alexture@todo.eu</a>), I figured out how to create a MediaWiki Contributions summary link of my edits:<br />* <a href=\"https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25\">https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25</a><br /><br />I point this out to provide an example of an IndieWeb Create Day project that is:<br />* incremental on top of someone else\u2019s work<br />* community contribution rather a personal-focused project<br />* editing and wiki-gardening as valid contributions, not just creating new content<br /><br />I point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward:<br />* new innovations (not incremental improvements)<br />* solo (or maybe jointly in a small team) inventions, designs, specs, or implementations<br />* something large, a new service or a big feature, not numerous small edits & fixes<br /><br />In this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #<span class=\"p-category\">Indie</span> in #<span class=\"p-category\">IndieWeb</span>), than any corporation.<br /><br /><br />For my \"more bold\" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements.<br />* <a href=\"https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a><br /><br /><br />My stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #<span class=\"p-category\">Mastodon</span>, other #<span class=\"p-category\">ActivityPub</span> or #<span class=\"p-category\">fediverse</span> implementations, and even across #<span class=\"p-category\">socialMedia</span> silos), as well as how implementations link URLs, domains, and paths.<br /><br />That stretch goal remains a goal, however I did collect a handful of prior posts on @-mentions which I plan to source for specifying auto-linking and @-mentioning:<br />* <a href=\"https://tantek.com/2023/011/t1/indieweb-evolving-at-mention\">https://tantek.com/2023/011/t1/indieweb-evolving-at-mention</a><br />* <a href=\"https://tantek.com/2023/014/t4/domain-first-federated-atmention\">https://tantek.com/2023/014/t4/domain-first-federated-atmention</a><br />* <a href=\"https://tantek.com/2023/018/t1/elevate-indieweb-above-silo\">https://tantek.com/2023/018/t1/elevate-indieweb-above-silo</a><br />* <a href=\"https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo\">https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo</a><br />* <a href=\"https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread\">https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread</a><br />#<span class=\"p-category\">autoLink</span> #<span class=\"p-category\">atDomain</span> #<span class=\"p-category\">atPath</span> #<span class=\"p-category\">atMention</span> #<span class=\"p-category\">atMentions</span> #<span class=\"p-category\">atat</span> #<span class=\"p-category\">atAtMention</span><br /><br /><br />I was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day:<br />* <a href=\"https://indieweb.org/2024/Brighton/Demos\">https://indieweb.org/2024/Brighton/Demos</a><br /><br /><br />This is post 13 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a><br />\u2192 \ud83d\udd2e<br /><br /><br />Glossary:<br /><br />Create Day<br />\u00a0 <a href=\"https://indieweb.org/Create_Day\">https://indieweb.org/Create_Day</a><br />IndieWebCamp Brighton 2024<br />\u00a0 <a href=\"https://indieweb.org/2024/Brighton\">https://indieweb.org/2024/Brighton</a><br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Vu1_ref-1\">\u00b9</a> <a href=\"https://indieweb.org/IndieWebCamps/Attending#Day_Two\">https://indieweb.org/IndieWebCamps/Attending#Day_Two</a><br /><a href=\"https://tantek.com/#t5Vu1_ref-2\">\u00b2</a> <a href=\"https://indieweb.org/what_to_make_at_IndieWebCamp\">https://indieweb.org/what_to_make_at_IndieWebCamp</a><br /><a href=\"https://tantek.com/#t5Vu1_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/2024/Brighton/Schedule#Saturday\">https://indieweb.org/2024/Brighton/Schedule#Saturday</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "40533038",
"_source": "2460"
}
{
"type": "event",
"name": "\ud83d\uddd3\ufe0f The Level Up with XP",
"published": "2024-03-08T22:30:00-0400",
"start": "2024-03-08T22:30:00-0400",
"url": "https://martymcgui.re/2024/03/08/the-level-up-with-xp/",
"featured": "https://res.cloudinary.com/schmarty/image/fetch/w_960,c_fill/https://media.martymcgui.re/3d/c9/27/f4/87778c4a6ef30926d5f28f0d954ba744605689a2b42cf51494e4c296.png",
"category": [
"improv",
"show"
],
"location": {
"type": "card",
"name": "Magnet Theater",
"street-address": "254 West 29th St (btwn 7th and 8th Ave.)",
"locality": "New York",
"region": "NY",
"url": "https://magnettheater.com/"
},
"syndication": [
"https://fed.brid.gy/"
],
"content": {
"text": "Enjoy some improv delights at this indie showcase!\nI\u2019ll be playing in with Philip and his new group of Level Uppers (which is, I believe, not the actual name of the team).\nLooking forward to it! And to seeing you there!!\nMagnet Theater\n\n254 West 29th St (btwn 7th and 8th Ave.)\n\nNew York City, NY 10001\n\nTickets $10: https://magnettheater.com/show/58197/",
"html": "<p>Enjoy some improv delights at this indie showcase!</p>\n<p>I\u2019ll be playing in with Philip and his new group of Level Uppers (which is, I believe, not the actual name of the team).</p>\n<p>Looking forward to it! And to seeing you there!!</p>\n<p>Magnet Theater<br />\n254 West 29th St (btwn 7th and 8th Ave.)<br />\nNew York City, NY 10001<br />\nTickets $10: <a href=\"https://magnettheater.com/show/58197/\">https://magnettheater.com/show/58197/</a></p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "event",
"_id": "40529942",
"_source": "175"
}
{
"type": "entry",
"published": "2024-03-12T10:30:20-07:00",
"url": "https://aaronparecki.com/2024/03/12/9/openweb",
"category": [
"medium",
"openweb"
],
"photo": [
"https://aperture-media.p3k.io/aaronparecki.com/8e6bca758b7f263d2e162accdb606651aee19774de23933768fe05c32e96f78a.png"
],
"content": {
"text": "ah yes, an open letter about the web's 35th birthday, published on Medium, the notoriously open web platform... \ud83e\udd26\u200d\u2642\ufe0f",
"html": "ah yes, an open letter about the web's 35th birthday, published on Medium, the notoriously open web platform... <a href=\"https://aaronparecki.com/emoji/%F0%9F%A4%A6%E2%80%8D%E2%99%82%EF%B8%8F\">\ud83e\udd26\u200d\u2642\ufe0f</a>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/3c4c0856c632e4c2c8bff14cbdb2f2807cf115c6a2b6ddc35973351bb4579162.jpg"
},
"post-type": "photo",
"_id": "40528762",
"_source": "16"
}
Charity affirms the existing distribution of wealth and life chances. Mutual aid challenges it. Charity is top-down. Mutual aid is horizontal. Charity is about control, hierarchy, and isolation. Mutual aid is about solidarity, liberation, and participation.
{
"type": "entry",
"published": "2024-03-11 10:23-0700",
"url": "https://gregorlove.com/2024/03/mutual-aid/",
"category": [
"MutualAid"
],
"content": {
"text": "A good intro video about mutual aid: youtube.com/watch?v=rYPgTZeF5Z0\n\n\nCharity affirms the existing distribution of wealth and life chances. Mutual aid challenges it. Charity is top-down. Mutual aid is horizontal. Charity is about control, hierarchy, and isolation. Mutual aid is about solidarity, liberation, and participation.",
"html": "<p>A good intro video about mutual aid: <a href=\"https://www.youtube.com/watch?v=rYPgTZeF5Z0\">youtube.com/watch?v=rYPgTZeF5Z0</a></p>\n\n<blockquote>\n<p>Charity affirms the existing distribution of wealth and life chances. Mutual aid challenges it. Charity is top-down. Mutual aid is horizontal. Charity is about control, hierarchy, and isolation. Mutual aid is about solidarity, liberation, and participation.</p>\n</blockquote>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "40521379",
"_source": "95"
}
I also dropped auto-linking of URLs with user:password "userinfo", since they’ve been long abandoned and effectively deprecated because there’s fairly wide agreement that such basic HTTP authentication² was poorly designed and should not be used (and thus should not be linked).
If you’re curious you can take a look at https://tantek.com/cassis.js, which has updated functions: * auto_link_re() — regular expression to recognize URLs, @-mentions, @-@, and footnotes to link * auto_link() — specifically the code to recognize different kinds of @-@ and @-mentions and link them properly to profiles, domains, and paths.
This code is only live on my website (testing in production³ as it were) for now, and you’re welcome to copy/paste to experiment with it. I plan to test it more over the coming weeks (or so) and when I feel it is sufficiently well tested, will update it on GitHub⁴ as well.
With this additional auto-linking functionality, I feel I have a fairly complete implementation of how to auto-link various URLs and @-mentions, and plan to write that up at least as a minimal “list of use-cases and how they should work” auto-linking specification.
This (blog post) is my contribution to today’s #IndieWebCamp Brighton⁵ #hackday!
This was originally a project I wanted to complete during IndieWebCamp Nuremberg last October, however I was pre-occupied at the time with fixing other things.⁶
{
"type": "entry",
"published": "2024-03-10 07:55-0700",
"url": "https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases",
"category": [
"IndieWebCamp",
"hackday",
"autolink",
"atmention",
"atmentions",
"atat",
"atatmention",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "Updated the auto-linking code\u00b9 on my website last Sunday to handle a few more @-mention use-cases.\n\nIn particular:\n* @-domains with dashes/hyphens like @sonja-weckenmann.de\n* @-@ with (some) Unicode alphabetic characters like @briansuda@lo\u00f0f\u00edll.is\n* @-domain-and-path for indicating @-mentions of silo profiles that don\u2019t support @-@ syntax, like @flickr.com/people/tantek or @instagram.com/tantek\n\nI also dropped auto-linking of URLs with user:password \"userinfo\", since they\u2019ve been long abandoned and effectively deprecated because there\u2019s fairly wide agreement that such basic HTTP authentication\u00b2 was poorly designed and should not be used (and thus should not be linked).\n\nIf you\u2019re curious you can take a look at https://tantek.com/cassis.js, which has updated functions:\n* auto_link_re() \u2014 regular expression to recognize URLs, @-mentions, @-@, and footnotes to link\n* auto_link() \u2014 specifically the code to recognize different kinds of @-@ and @-mentions and link them properly to profiles, domains, and paths.\n\nThis code is only live on my website (testing in production\u00b3 as it were) for now, and you\u2019re welcome to copy/paste to experiment with it. I plan to test it more over the coming weeks (or so) and when I feel it is sufficiently well tested, will update it on GitHub\u2074 as well.\n\nWith this additional auto-linking functionality, I feel I have a fairly complete implementation of how to auto-link various URLs and @-mentions, and plan to write that up at least as a minimal \u201clist of use-cases and how they should work\u201d auto-linking specification.\n\nThis (blog post) is my contribution to today\u2019s #IndieWebCamp Brighton\u2075 #hackday!\n\nThis was originally a project I wanted to complete during IndieWebCamp Nuremberg last October, however I was pre-occupied at the time with fixing other things.\u2076\n\n#autolink #atmention #atmentions #atat #atatmention\n\nThis is post 12 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2024/047/t1/indieweb-major-update-design\n\u2192 \ud83d\udd2e\n\n\n\u00b9 https://tantek.com/cassis.js\n\u00b2 https://en.wikipedia.org/wiki/Basic_access_authentication\n\u00b3 https://indieweb.org/test_in_production\n\u2074 https://tantek.com/github/cassis\n\u2075 https://indieweb.org/2024/Brighton\n\u2076 https://tantek.com/2023/302/t1/indiewebcamp-completed-projects",
"html": "Updated the auto-linking code<a href=\"https://tantek.com/#t5Vs1_note-1\">\u00b9</a> on my website last Sunday to handle a few more @-mention use-cases.<br /><br />In particular:<br />* @-domains with dashes/hyphens like <a href=\"https://sonja-weckenmann.de\">@sonja-weckenmann.de</a><br />* @-@ with (some) Unicode alphabetic characters like <a>@briansuda@lo\u00f0f\u00edll.is</a><br />* @-domain-and-path for indicating @-mentions of silo profiles that don\u2019t support @-@ syntax, like <a href=\"https://flickr.com/people/tantek\">@flickr.com/people/tantek</a> or <a href=\"https://instagram.com/tantek\">@instagram.com/tantek</a><br /><br />I also dropped auto-linking of URLs with user:password \"userinfo\", since they\u2019ve been long abandoned and effectively deprecated because there\u2019s fairly wide agreement that such basic HTTP authentication<a href=\"https://tantek.com/#t5Vs1_note-2\">\u00b2</a> was poorly designed and should not be used (and thus should not be linked).<br /><br />If you\u2019re curious you can take a look at <a href=\"https://tantek.com/cassis.js\">https://tantek.com/cassis.js</a>, which has updated functions:<br />* auto_link_re() \u2014 regular expression to recognize URLs, @-mentions, @-@, and footnotes to link<br />* auto_link() \u2014 specifically the code to recognize different kinds of @-@ and @-mentions and link them properly to profiles, domains, and paths.<br /><br />This code is only live on my website (testing in production<a href=\"https://tantek.com/#t5Vs1_note-3\">\u00b3</a> as it were) for now, and you\u2019re welcome to copy/paste to experiment with it. I plan to test it more over the coming weeks (or so) and when I feel it is sufficiently well tested, will update it on GitHub<a href=\"https://tantek.com/#t5Vs1_note-4\">\u2074</a> as well.<br /><br />With this additional auto-linking functionality, I feel I have a fairly complete implementation of how to auto-link various URLs and @-mentions, and plan to write that up at least as a minimal \u201clist of use-cases and how they should work\u201d auto-linking specification.<br /><br />This (blog post) is my contribution to today\u2019s #<span class=\"p-category\">IndieWebCamp</span> Brighton<a href=\"https://tantek.com/#t5Vs1_note-5\">\u2075</a> #<span class=\"p-category\">hackday</span>!<br /><br />This was originally a project I wanted to complete during IndieWebCamp Nuremberg last October, however I was pre-occupied at the time with fixing other things.<a href=\"https://tantek.com/#t5Vs1_note-6\">\u2076</a><br /><br />#<span class=\"p-category\">autolink</span> #<span class=\"p-category\">atmention</span> #<span class=\"p-category\">atmentions</span> #<span class=\"p-category\">atat</span> #<span class=\"p-category\">atatmention</span><br /><br />This is post 12 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2024/047/t1/indieweb-major-update-design\">https://tantek.com/2024/047/t1/indieweb-major-update-design</a><br />\u2192 \ud83d\udd2e<br /><br /><br /><a href=\"https://tantek.com/#t5Vs1_ref-1\">\u00b9</a> <a href=\"https://tantek.com/cassis.js\">https://tantek.com/cassis.js</a><br /><a href=\"https://tantek.com/#t5Vs1_ref-2\">\u00b2</a> <a href=\"https://en.wikipedia.org/wiki/Basic_access_authentication\">https://en.wikipedia.org/wiki/Basic_access_authentication</a><br /><a href=\"https://tantek.com/#t5Vs1_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/test_in_production\">https://indieweb.org/test_in_production</a><br /><a href=\"https://tantek.com/#t5Vs1_ref-4\">\u2074</a> <a href=\"https://tantek.com/github/cassis\">https://tantek.com/github/cassis</a><br /><a href=\"https://tantek.com/#t5Vs1_ref-5\">\u2075</a> <a href=\"https://indieweb.org/2024/Brighton\">https://indieweb.org/2024/Brighton</a><br /><a href=\"https://tantek.com/#t5Vs1_ref-6\">\u2076</a> <a href=\"https://tantek.com/2023/302/t1/indiewebcamp-completed-projects\">https://tantek.com/2023/302/t1/indiewebcamp-completed-projects</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "40509664",
"_source": "2460"
}
The Times’s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid. Times’s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid.
Wow, folks. Careful about how you place keyboards relative to grids.
{
"type": "entry",
"published": "2024-03-08T15:44:56-0500",
"url": "https://martymcgui.re/2024/03/08/154456/",
"category": [
"copyright",
"bullshit",
"nytimes"
],
"syndication": [
"https://fed.brid.gy/"
],
"content": {
"text": "NYTimes trying to prove that we cannot have nice things on the open web. \ud83e\udd2c\nhttps://www.404media.co/nytimes-files-copyright-takedowns-against-hundreds-of-wordle-clones/\nPer the Times\u2019 complaint:\n\nThe Times\u2019s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid. Times\u2019s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid.\n\nWow, folks. Careful about how you place keyboards relative to grids.",
"html": "<p>NYTimes trying to prove that we cannot have nice things on the open web. \ud83e\udd2c</p>\n<p><a href=\"https://www.404media.co/nytimes-files-copyright-takedowns-against-hundreds-of-wordle-clones/\">https://www.404media.co/nytimes-files-copyright-takedowns-against-hundreds-of-wordle-clones/</a></p>\n<p>Per the Times\u2019 complaint:</p>\n<blockquote>\n<p>The Times\u2019s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid. Times\u2019s Wordle copyright includes the unique elements of its immensely popular game, such as the 5x6 grid, green tiles to indicate correct guesses, yellow tiles to indicate the correct letter but the wrong place within the word, and the keyboard directly beneath the grid.</p>\n</blockquote>\n<p>Wow, folks. Careful about how you place keyboards relative to grids.</p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "note",
"_id": "40498586",
"_source": "175"
}
{
"type": "entry",
"published": "2024-03-07T20:39:12-08:00",
"url": "https://beesbuzz.biz/blog/7353-Initial-slipcast-success",
"photo": [
"https://beesbuzz.biz/_async/WyJjb250ZW50L2Jsb2cvSU1HXzY4NDMuanBlZyIsMSx7Im1heF93aWR0aCI6MjQwLCJtYXhfaGVpZ2h0IjoyNDAsInJlc2l6ZSI6ImZpbGwifV0.SpZ_OPF93ZBDjxTghfTiNEtLKUw"
],
"name": "Initial slipcast success!",
"content": {
"text": "Today my first two slip-cast pots were unloaded from the kiln and I picked \u2018em up. They came out great!\nMy mold positives are 60mm across, and the bisqueware measures just under 54mm after firing, which tells me exactly what I need to know going forward. Basically anything I model needs to be 1.11x the intended final size. Easy enough to remember.\n\nI\u2019ll be glazing these, of course, although I\u2019m not quite sure what to use them for. I\u2019d only intended them for calibrating my shrink factor and they\u2019re not really a useful size for anything. Maybe they\u2019ll become the world\u2019s worst cortado cups.",
"html": "<p>Today my first two slip-cast pots were unloaded from the kiln and I picked \u2018em up. They came out great!</p>\n<a href=\"https://beesbuzz.biz/blog/7353-Initial-slipcast-success\"></a><a href=\"https://beesbuzz.biz/blog/7353-Initial-slipcast-success\"></a><p>My mold positives are 60mm across, and the bisqueware measures just under 54mm after firing, which tells me exactly what I need to know going forward. Basically anything I model needs to be 1.11x the intended final size. Easy enough to remember.</p><p>I\u2019ll be glazing these, of course, although I\u2019m not quite sure what to use them for. I\u2019d only intended them for calibrating my shrink factor and they\u2019re not really a useful size for anything. Maybe they\u2019ll become the world\u2019s worst cortado cups.</p>"
},
"author": {
"type": "card",
"name": "fluffy",
"url": "https://beesbuzz.biz/",
"photo": "https://beesbuzz.biz/static/headshot.jpg"
},
"post-type": "photo",
"_id": "40490078",
"_source": "2778"
}