#dev 2023-11-28

2023-11-28 UTC
#
[tantek]
that sounds like a feature request on mf2py to support metaformats!
geoffo joined the channel
#
[jacky]
so curious about how indiecert works
#
[jacky]
kinda hard to search
#
[jacky]
imagine it's like "fetch the cert of a domain and do something with it"
ianjs, roxwize and geoffo joined the channel
#
[jacky]
TIL about `<keygen>`
#
[tantek]
[snarfed] except the domain mentioned there is dead indiecert .net
#
[tantek]
keygen should be a warning to future format/protocol designers. if you only solve part of the use-case with your protocol, you're not actually solving anything, you've made something that will waste a lot of time by a lot of implementers trying to make it work somehow, because obviously something in a "standard" must be implementable to create an actual feature right?
#
[jacky]
that feels like the same issue with rel=me auth that relies on silos (Twitter being a great example and I can't see why with GitHub's recent moves why they wouldn't be next)
#
[jacky]
more reason to lean on primitives than silos--
#
Loqi
silos has -1 karma over the last year
#
[tantek]
right, hence why we used the UX developed with rel=me to then design IndieAuth on building blocks that did not require any silo OAuth
#
[snarfed]
sure, noted in https://indieweb.org/indiecert.net , but [jacky] was curious about how it works/ed, and that post explains
#
[jacky]
yeah but when/if most silos pull a Facebook and gate things more, it'd be good to have options for folks who don't have the means of setting up a IndieAuth service for themselves
#
[jacky]
ideally 😄
geoffo joined the channel
#
[jacky]
tbh tho this _feels_ like WebAuthn can solve but without JavaScript (which is an understandable but annoying requirement of it0
#
[jacky]
but at the same time, all of this is speculative until something's up and running 🙂
#
[tantek]
jacky, you can find lots that's still there at https://wiki.mozilla.org/CA and what it links to. That page at least looks like it's being updated
#
[jacky]
oh TIL Mozilla maintains NSS
#
[jacky]
yeah that'll be a good starting point
#
[jacky]
it _kinda_ seems like HTTP/2 nixed the usefulness (or feasibility?) of client certs (in browsers, at least)
[0x3b0b] joined the channel
#
[jacky]
like https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen being gone _forces_ this to use some sort of JS
#
[tantek]
client certs / keygen, parts of an incomplete system that was never "finished" being designed even for workable prototypes that would hold up to security & privacy concerns etc.
#
[tantek]
that whole path should go away but it's been politically charged enough (outside of Mozilla) that's been difficult to fully deprecate from the web platform. even just dropping keygen was a difficult battle
#
[tantek]
it's hard to argue with people's of what a technology "could be" if there were only more technology added onto it
#
[tantek]
people's hopes* of what a technology "could be"
#
[tantek]
tl;dr: it was always half-baked
#
[jacky]
right - feels like one of those horse before carriage situations
#
[jacky]
but this horse is using PDKDF hashing
#
[jacky]
or something lol
[0x3b0b] and gxt joined the channel
#
[jacky]
that's partly why I hinted at splitting it out!
#
[jacky]
b/c I could imagine YT swatting that IP for doing stuff like this
#
[jacky]
but then it's only ~200 users so probably not _too_ noticable?
#
[snarfed]
ohhh but it sounds like they still don't actually extract audio from videos, they just redirect at listen time. https://podqueue.fm/pages/help/podcasters
#
[jacky]
heh now that feels like swatting flies (would hate for that link to work one time and then not another)
#
[jacky]
that list _has_ to be coming from some configuration 😭
geoffo, jeremycherfas, thekifake, hoylecake, [KevinMarks], [tantek], sebsel_ and sebsel joined the channel
#
[manton]
Google rolling out “ProfilePage” metadata. I guess I should support this but reading it just makes me wish Google recognized Microformats. https://developers.google.com/search/docs/appearance/structured-data/profile-page
#
barnaby
love to publish my agentInteractionStatistic and read my friends’ agentInteractionStatistics
[Paul_Robert_Ll] joined the channel
#
[Paul_Robert_Ll]
There’s something to be said for _not_ supporting Google’s latest and greatest doctrines, although obviously harder decision to make for a commercial entity like http://Micro.blog
#
[schmarty]
i'll amplify that to there's _a lot_ to be said for not supporting it. :}
#
[manton]
I’m not even sure I understand the benefit to it yet. I guess Google can display search results differently.
#
[Paul_Robert_Ll]
So basically make it easier for them to not have people visit your site 😏
#
[manton]
Ugh, good point.
geoffo joined the channel
#
[Paul_Robert_Ll]
Relevant post I read the other day: https://ln.hixie.ch/?start=1700627373&count=1
thekifake joined the channel
#
c​apjamesg
sknebel I’d need to monitor for file changes, determine what parts of the site need rebuilt, then rebuild them.
#
c​apjamesg
If I update one post, I only need to rebuild that template.
#
c​apjamesg
Then I’d need some kind of dependency graph.
#
c​apjamesg
Or query system.
#
c​apjamesg
So if I update a check in markdown file, both the check in page and the maps that reference it will need to be updated.
#
c​apjamesg
Therein lies an engineering challenge.
#
sknebel
but pretty much the same one as for software builds
#
c​apjamesg
sknebel can you recommend some reads?
#
sknebel
I'll look for some
#
sknebel
capjamesg: so what I can think of right now is the thing that Nikola uses in the backend: https://pydoit.org/
#
Loqi
[preview] [getnikola] nikola: A static website and blog generator
#
[jacky]
oooh it uses a DAG
#
sknebel
that's where you pretty much always end up
#
sknebel
(I guess some tutorial for "make" might also be worth a look, just dont get to deep into the make-specific syntax)
#
[schmarty]
make is super powerful. i've written some Makefiles in my day. sometimes i find it lovely and simple. sometimes it confuses me greatly.
#
[jacky]
same lol
#
[jacky]
I've been using https://just.systems/ a bit more
thekifake joined the channel
#
[jacky]
mainly b/c the output's nice lol
#
sknebel
in a site you're going to have a bunch of things you cant cover with general per filetype rules (like the dependency of category pages on posts tagged such), there something like make needs workarounds
#
sknebel
(but a pattern also seen in software builds is systems that generate makefiles expressing the exact dependencies, and then make is used to execute the build)
#
sknebel
oh, good read in that direction too: https://aosabook.org/en/posa/ninja.html
#
[jacky]
> systems that generate makefiles
#
[jacky]
cries in autoconf
#
sknebel
we've made some progress since then. maybe not enough, but some
#
sknebel
(and autoconf arguably is doing something a bit different mostly, its not so much about splitting the dependency graph generation from the execution)
thekifake joined the channel
#
[jacky]
oh yeah for sure
#
c​apjamesg
I read "acyclic" as "acrylic"
#
c​apjamesg
I was like "what does paint have to do with this!" 😄
#
c​apjamesg
I have always been reading it as acrylic.
#
c​apjamesg
The name now makes so much more sense.
#
[aciccarello]
I remember when the Angular team was pushing for Bazel. I know it's a open source version of Google's build infrastructure. I haven't seen it used much though.
#
[aciccarello]
It doesn't seem to have gotten much adoption in the JS space
#
[jacky]
I forget what project uses it a lot
#
[jacky]
I do know, re: JS, that biome is a rising option now
#
[snarfed]
dammit tantek you tanteked me into implementing metaformats 🤦‍♂️
#
[jacky]
tanteking++
#
Loqi
tanteking has 1 karma over the last year
#
[jacky]
does anyone implement some sort of "link checking" prior to publishing posts?
#
[jacky]
but I'd imagine that this is something a Microub-enabled client would do
#
Loqi
[preview] [Harsh Shandilya] @jalcine Some great finds in there, thanks for sharing!P.S. the link to Quill author Aaron's webpage has a typo and tries to go to your own site instead
#
[snarfed]
[tantek] I'm trying to grok https://microformats.org/wiki/metaformats#parsing_an_element_for_properties . does it really mean that if there are metaformats, those override the corresponding mf2 property's textContent? that doesn't seem right...?
Guest28 joined the channel
#
[tantek]
[snarfed] those rules are per element
#
[tantek]
the expressions like "if meta.p-x[content]" are CSS Selectors that either apply (evaluate true) to the element/node you are parsing or they don't
#
[snarfed]
ok. so they only apply to ancestor elements of meta tags?
#
[tantek]
no, a CSS selector like "meta.p-x[content]" only applies to a meta element with class name of the form "p-*" (not strict CSS syntax) with a "content" attribute
#
[tantek]
here is a tool to help in the future
#
[tantek]
what is a Selector
#
Loqi
It looks like we don't have a page for "Selector" yet. Would you like to create it? (Or just say "Selector is ____", a sentence describing the term)
#
[tantek]
Selector is /CSS
#
[tantek]
what is CSS
#
Loqi
Cascading Style Sheets (CSS) are used to format the display of HTML https://indieweb.org/CSS
#
[snarfed]
I wonder if anyone has ever published a meta tag with an mf2 class in the wild
#
[tantek]
CSS << Tool to translate a CSS Selector into what it means in English: https://kittygiraudel.github.io/selectors-explained/
#
Loqi
ok, I added "Tool to translate a CSS Selector into what it means in English: https://kittygiraudel.github.io/selectors-explained/" to the "See Also" section of /Cascading_Style_Sheets https://indieweb.org/wiki/index.php?diff=90872&oldid=90572
#
[snarfed]
yeah I'm roughly familiar with selectors, just didn't grok how they determined "an element" in "parsing an element for properties" there
#
[jacky]
I def want that as a hover-over in my editor though, that'd be handy
#
[tantek]
[snarfed] re: "wonder if anyone has ever published a meta tag with an mf2 class in the wild" unknown, however not the point. Since mf2 classes can be used on *any* element, the spec needs to be explicit about what to do with a class on any element, especially elements without a textContent model. the lack of explicit spec text around <meta> tags was/is a hole in the mf2 parsing spec that is patched by the metaformats spec
#
[tantek]
snarfed, to select an ancestor of a meta tag you'd need to use the :has selector
#
[tantek]
[jacky], or perhaps in browser dev tools?
#
[jacky]
oh that'd be cool too!
#
[tantek]
ok I need to file that as a bugzilla feature request
#
[snarfed]
oh sure, makes sense for the spec, just informs implementation priority
#
[tantek]
I have never seen it but maybe could search httparchive for the mere presence of a class attribute at all on meta tags as a first level check
#
[tantek]
if there's legacy there I want to know about it
#
[tantek]
it also provides a way for authors to be *explicit* about how they want their meta tags treated
#
[tantek]
instead of implicit/backcompat
#
[tantek]
also a potential path forward for adding explicit mf2 support to all those js;dr content sites that have zero content inside the body element, except they provide plenty of summarized content in the meta tags
#
[KevinMarks]
hah, put the classes on the mastodon meta tags
#
[tantek]
precisely
#
[jacky]
haha tbh yes
#
[tantek]
the funny thing is that due to OGP / Twitter Cards (and adoption elsewhere like in Slack), what used to be invisible (meta tags) has been made far more visible than page content itself, since lots of people see previews but don't click on a link to view the actual page content
#
[tantek]
^ hmm, maybe that's worth a blog post
#
barnaby
oh yeah that’s definitely an interesting insight
#
[snarfed]
ok, mostly complete metaformats implementation in mf2py: https://github.com/microformats/mf2py/pull/213 , cc [capjamesg] sknebel angelo
#
Loqi
[preview] [snarfed] #213 first pass at implementing metaformats
#
[tantek]
[snarfed]++
#
Loqi
[snarfed] has 82 karma in this channel over the last year (125 in all channels)
#
[tantek]
Perhaps related, the IndieWeb Gift Calendar day 1 is coming up! (2023-12-01 is Friday!)
#
[tantek]
wow with one supposedly working prototype and another even a partial implementation start, that's enough to merit an issue
#
[tantek]
[snarfed] sounds like you'd be for "consider incorporating metaformats into core mf2 parsing spec"? perhaps an issue on https://github.com/microformats/microformats2-parsing/issues ?
#
[tantek]
also I see tests in that PR! [snarfed]++
#
[tantek]
oh I already ++'d above, and too soon for another
#
[snarfed]
honestly I have no clue if I should support incorporating it into mf2 parsing core
#
[snarfed]
just needed something to normalize multiple metacrap sources
#
[tantek]
similarly, those two extensions (backcompat use <title> as implied p-name, and meta[description] as p-summary) are likely worth an issue also to track
#
[snarfed]
pros and cons to standardizing things 🤷
#
[snarfed]
happy to defer to people who think more about mf2 parsing and standards
#
[tantek]
"consider extending metaformats backcompat to imply p-name from title element, and p-summary from meta[description]"
#
[tantek]
on same issue repo
#
[tantek]
half the challenge of writing up an issue coming up with a good issue name right? 😉
#
[snarfed]
there's also <meta name="author">, but its content is text, not URL, and it seemed a step too far to imply a whole h-card author property just from that
#
[tantek]
agreed. and meta name="author" has no existing (popular) consuming code use-case
#
[tantek]
title element is used everywhere by code (browsers, search engines)
#
[tantek]
meta[name="description"] is supported by search engines. meta[name="author"] is not.
#
[tantek]
s/meta[description]/meta[name="description"/
#
[KevinMarks]
snarfed++
#
Loqi
snarfed has 83 karma in this channel over the last year (126 in all channels)
#
[KevinMarks]
I wonder what it does with my evil mixed markup page
#
[tantek]
^ so that's two issues that could be filed on microformats2-parsing/issues for anyone who is looking for some GitHub green grid points 🙂
#
[snarfed]
from https://microformats.org/wiki/metaformats : "Additional implementations are not encouraged at this time." lol
#
Loqi
[preview] Tantek Çelik
#
[KevinMarks]
hm, @adactio's mixed markup post has lots it's markup https://adactio.com/journal/9881
#
[tantek]
[snarfed] lol and fixed
#
[aciccarello]
[snarfed] I don't think `og:image` should be parsed as `u-photo` since it's hardly ever a photo post. I think `u-featured` would be more accurate.
#
[KevinMarks]
```<meta name="twitter:card" content="summary">
#
[KevinMarks]
<meta name="twitter:site" content="@adactio">
#
[KevinMarks]
<meta name="twitter:image" content="https://adactio.com/icon.png">
#
[KevinMarks]
<meta name="twitter:title" content="Metadata markup">
#
[KevinMarks]
<meta name="twitter:url" content="https://adactio.com/journal/9881">
#
[KevinMarks]
<meta name="twitter:description" content="So many standards to choose from.">
#
[KevinMarks]
<meta property="og:url" content="https://adactio.com/journal/9881">
#
[KevinMarks]
<meta property="og:title" content="Metadata markup">
#
[KevinMarks]
<meta property="og:description" content="So many standards to choose from.">
#
[KevinMarks]
<meta property="og:image" content="https://adactio.com/icon.png">```
#
[KevinMarks]
```<meta name="twitter:card" content="summary">
#
[KevinMarks]
<meta name="twitter:site" content="@adactio">
#
[KevinMarks]
<meta name="twitter:url" property="og:url" content="https://adactio.com/journal/9881">
#
[KevinMarks]
<meta name="twitter:title" property="og:title" content="Metadata markup">
#
[KevinMarks]
<meta name="twitter:description" property="og:description" content="So many standards to choose from.">
#
[KevinMarks]
<meta name="twitter:image" property="og:image" content="https://adactio.com/icon.png">```
#
[tantek]
aciccarello disagreed, evidence: 99% of Instagram permalinks
#
[KevinMarks]
that 2nd one would be a good test case
#
[aciccarello]
Instagram happens to be photos but og:image is used everywhere to get better social media previews. So GitHub issues have an og:image
#
[tantek]
aciccarello also 99% of Flickr permalinks
#
[aciccarello]
I'm not saying it shouldn't be parsed but that it can't be reliably used as a signal that a page is a photo page
#
[KevinMarks]
the `twitter:card` distinguishes whether `twitter:image` is primary or not (or used to before Musk broke it)
#
[tantek]
separately WTF someone snuck in Onion URLs into Tweet permalinks? e.g. <meta http-equiv="onion-location"
#
[snarfed]
the other thing I wonder about with the current metaformats spec is, if the URL is a home page (ie path `/`), should the default type be h-card instead of h-entry
#
[tantek]
[snarfed] if you see examples of that (home page ie path / with meta tags that seem to imply an h-card), can you add to https://microformats.org/wiki/meta-examples accordingly for analysis?
#
[tantek]
(freshly created page)
#
[schmarty]
tantek: the Tor folks had a big push for onion-location for sites that have onion mirrors a few years back. https://blog.torproject.org/more-onions-porfavor/ https://community.torproject.org/onion-services/advanced/onion-location/
#
[snarfed]
sure, I expect most do. I looked at http://yahoo.com http://bbc.com http://microsoft.com http://zeldman.com just now, and they all do
#
[jacky]
[tantek] I vaguely remember something about this
#
[jacky]
re: onion URLs
#
Loqi
wallabag has 1 karma over the last year
#
[KevinMarks]
Alec Muffet went to FB and got them working on onion and that encouraged other silos
#
[tantek]
What is onion
#
Loqi
Tor (The Onion Router) is "a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet https://indieweb.org/.onion
#
[jacky]
this approach, that is
#
[schmarty]
yeah! been seeing a lot of chat in the last few weeks about "html web components" that take the approach of enhancing some HTML. (rather than leaning hard into shadow DOM, etc.) adactio has done a few posts on them!
capjamesg, roxwize, alecjonathon, eb, ancarda, srushe and vikanezrimaya joined the channel
#
[jacky]
this would be excellent for priming /webactions (I know this comes up like once a quarter now lol)
[tw2113] joined the channel
#
[tantek]
Whoa that does look cool!
sp1ff and geoffo joined the channel
#
GWG
If I'm having trouble figuring out how to handle audience on posts, for proof of concept for Ticketing as I figure that out, wondering if I should take a page from gRegor and create a ticketing system that issues tickets, redeems them for tokens, but ultimately, all the tokens do is give access to one or more test pages.
gxt joined the channel