#dev 2021-09-27

2021-09-27 UTC
hans1963[d], ShinyCyril and Seirdy joined the channel
#
GWG
aaronpk: I updated those PRs you looked at. Did I address your concerns on any of them?
#
aaronpk
oh cool I haven't looked yet
#
GWG
aaronpk: I added another one, but that's for discussion next month
#
GWG
Also, working on Yarns, as jackjamieson is busy with life. So, I may be adding some Microsub issues.
ShinyCyril, P1000[d], KartikPrabhu, V1, Nezteb9000[d], corenominal[d], indieweb-irc-bri, aaronpk[d], hoenir, push-f, nolith, willnorris, vilhalmer, Zegnat, petermolnar, Murray[d], tetov-irc and [Will_Monroe]1 joined the channel
#
@JamieTanna
↩️ Have you looked into #IndieAuth (https://indieauth.net/) it's an open standard from the #IndieWeb community and allows folks to log in via their personal website - it's built on top of OAuth2 so is fairly straightforward to add support for! (https://www.jvt.me/mf2/2021/09/qiwuz/)
(twitter.com/_/status/1442445429594001408)
cadeyrn[d] joined the channel
#
@spazef0rze
When you click the FB link, but before the browser loads the page, they change the HREF to l.​facebook.​com so for the browser, it seems like you clicked the l.​fb link. Works with right-click as well, maybe because "copy link". And when you move the mouse back again… Sneaky. https://twitter.com/spazef0rze/status/1442364500737282048/video/1
(twitter.com/_/status/1442364500737282048)
#
capjamesg[d]
TIL <a ping=""></a> is a thing.
#
@capjamesg
↩️ I am excited by services like http://micro.blog that build upon IndieWeb technologies and abstract the technicalities away. I would love to see more user-facing services that embrace standards like Webmention.
(twitter.com/_/status/1442477133025079297)
Ramon[d] and akevinhuang joined the channel
#
vikanezrimaya
Who needs a database when you have a whole filesystem? Surely not me and my website after this update: https://gitlab.com/kittybox/kittybox/-/merge_requests/3
#
vikanezrimaya
what is database antipattern
#
Loqi
The database antipattern is the false assumption that a database is the best option for primary long-term storage of posts and other personal content (like on an indieweb site) https://indieweb.org/database-antipattern
[snarfed] joined the channel
#
[snarfed]
capjamesg [tantek], re counting feed types (RSS vs Atom etc), we can probably get it out of Indiemap from the pages.html field. https://indiemap.org/docs.html#schema-pages
#
[snarfed]
anyone's welcome to try, just need to search that field for 'rel="feed"' where url = https?://[domain]/, group by type, and count. (or I can probably get to it eventually!)
#
[tantek]
snarfed, does this mean we need to be recommending rel="feed" (thought it was rel=alternate with type="..." (some feedtype) for both RSS2 and Atom?) for h-feed as well, even if the href is to a "#stream" element right there on the home page?
#
[snarfed]
ah, sorry, no, rel=alternate is fine! I don't mean to change any behavior
#
GWG
I use feed to indicate a link to an alternate or limited suggested feed and alternate for a feed of the same page
ben_thatmust and [schmarty] joined the channel
#
[snarfed]
[tantek] it is a good question though. for this counting, should we identify h-feed support as just the presence of an h-feed element on the home page? and/or rel-alternate with type text/html? (not sure how many of those in practice would be h-feeds...?)
#
GWG
I'd like a better answer
#
[snarfed]
I guess we can include (and break out) all of them
#
GWG
How do we go about figuring this out?
#
capjamesg[d]
That’s a good read GWG. I just skimmed but will bookmark it for later.
#
capjamesg[d]
IndieWeb Search only reads RSS / Atom feeds though rel alternate values right now.
#
capjamesg[d]
And h feed too.
#
capjamesg[d]
I haven’t added JSON Feed support yet. (Is there a good Python parser for JSON Feed?)
#
capjamesg[d]
I think both [tantek] as long as you don’t double count.
#
capjamesg[d]
But I haven’t seen many people use rel alternate for HTML h-feeds tbh.
#
capjamesg[d]
Most sites I have inspected just have the markup directly on the page.
#
capjamesg[d]
But that sample size is small. I didn’t realise you could do a rel alternate HTML feed.
#
GWG
I wrote my own JSONFeed to jf2 converter
#
hendursaga
GWG: did you publish the code somewhere?
#
[snarfed]
some prior art on rel-feed h-feed: https://brid.gy/about#link
#
capjamesg[d]
That would be great if you had that code GWG.
#
capjamesg[d]
Is it code or a endpoint?
#
[snarfed]
...but honestly it'll probably be just as easy to pull out the data you need directly, it's pretty simple JSON
barryf[d] joined the channel
#
capjamesg[d]
I have read the spec much.
#
capjamesg[d]
I wonder how many people use JSON Feed.
#
capjamesg[d]
I might write a converter as a module so anyone can use it.
#
capjamesg[d]
I meant to say “haven’t read…”
#
capjamesg[d]
My mobile typing skills are poor.
#
capjamesg[d]
Oh, JSON Feed will be easy to parse.
#
capjamesg[d]
I thought more work would be needed.
KartikPrabhu joined the channel
#
[snarfed]
yup, it's straightforward, and granary can convert it to most other formats
#
GWG
capjamesg[d]: I sent you my Parse This library.. it's in there
#
capjamesg[d]
[snarfed]++
#
Loqi
[snarfed] has 28 karma in this channel over the last year (55 in all channels)
#
capjamesg[d]
Thanks GWG.
mackeveli_ joined the channel
#
[tantek]
ooh good discussion about feeds / discovery
#
[tantek]
just skimmed the JSONfeed 1.1 spec and I noticed it's keeping things fairly simple and minimal, re-using existing rel="alternate" discovery mechanism:
#
[tantek]
```<link rel="alternate" title="My Feed" type="application/feed+json" href="https://example.org/feed.json" />```
#
[tantek]
I'm thinking we may want to do the same for h-feed
#
[tantek]
rather than pushing for a separate rel=feed
#
capjamesg[d]
I like that idea [tantek].
#
capjamesg[d]
It’s a small detail but would make the relation more consistent with how people often refer to feeds in their code.
#
capjamesg[d]
I haven’t used a rel=feed yet.
#
capjamesg[d]
I don’t remember if I have parsed them for IndieWeb search but I have a feeling I haven’t.
#
[tantek]
capjamesg[d] it would be interesting to be able to search for "any" rel value usage on sites/pages to easily look up a sample number of instances
#
[tantek]
might even make for an interesting summary page, if you're keeping stats on number of uses of specific rel values, similarly for specific "h-*" microformats (how many total, per page, per site, etc.)
#
[tantek]
notes that the h-feed spec doesn't mention "discovery". should probably fix that
#
capjamesg[d]
It is an interesting idea.
#
capjamesg[d]
I have done some basic exploration of this. You can get rel=me links of a site by using the “social” keyword after a domain name.
#
capjamesg[d]
And feeds using “inspect feed” (but that isn’t out yet). I’d love to summarize this or provide some kind of domain level search.
#
capjamesg[d]
Just for fun but also to show implementations.
#
[snarfed]
agreed, querying rel values is definitely useful! Indiemap supports querying rel values pretty easily, eg https://indiemap.org/graphs/link_rels.png (just indieweb specific ones)
#
[snarfed]
SQL is eg `SELECT r.value, COUNT(*) FROM pages p, p.rels r GROUP BY r.value` on the pages table https://indiemap.org/docs.html#schema-pages
#
[snarfed]
[tantek] one catch with rel-alternate for h-feed is that unlike RSS and Atom, we don't have a mime type for h-feed, just text/html, so we can't easily distinguish between h-feed and non-h-feed HTML rel-alternates
#
[tantek]
snarfed, sounds like we need one
#
[tantek]
or rather, sounds like we finally have a use-case for one
#
[snarfed]
so that may be one argument for rel-feed
#
[tantek]
rel=feed doesn't solve that, as those can have a type param as well, which means it could be used for RSS2, Atom etc.
#
[tantek]
and some folks may start "just" doing rel="alternate feed" (which should work by any consuming app of either)
#
[snarfed]
oh but it does distinguish btw h-feed and non-h-feed text/html rel-alternates
#
[tantek]
not really, again, that mime/media type distinction is better made via the type attribute
#
[snarfed]
but there's no mime type for h-feed specifically
#
[tantek]
so if we're settled on application/mf2+json per https://github.com/microformats/microformats2-parsing/issues/52 then perhaps we should consider application/mf2+xml (since that's closest to that and application/xhtml+xml)
#
Loqi
[tantek] #52 Should we specify a MIME type / Content-Type for canonical JSON from parsed mf2?
#
[tantek]
that's the point snarfed, "there's no mime type for h-feed specifically" -> discovery use-case for a mime type for h-feed (or anything that's intended to be parsed for mf2)
#
[snarfed]
ah, sure! got it. sgtm!
#
[tantek]
also from a developer consumption perspective, if they're already keying off the 'type' for RSS2 vs Atom vs JSONfeed handling, asking them to key off something *different* for h-feed is an unnecessary barrier
#
[tantek]
so I'd say that rel-feed is actually actively unfriendly to feed consuming code developers
#
[snarfed]
agreed!
#
[tantek]
GWG, since you've thought about this (and looked into it enough) to write a blog post about it, WDYT of "application/mf2+xml" for the type of a document that's intended for parsing for microformats2 (including h-feed) ?
#
[tantek]
we'd need to write something up like: https://html.spec.whatwg.org/#application/xhtml+xml (perhaps even referencing that)
#
[snarfed]
naive q, why isn't it mf2+html? the common case HTML5 won't actually be XML, right?
#
GWG
I was just about to ask. Also, why not text/ ?
#
GWG
I need to read up on mime types
#
[tantek]
that's the other path, we could do "text/mf2+html" similar in structure
#
[tantek]
good q snarfed, do we want fragile handling like the application/*+xml mime types imply for RSS2 and Atom?
#
[tantek]
and similarly for JSONfeed?
#
[tantek]
all of them (in their specs) require enforcing valid XML/JSON respectively, and require ignoring invalid feeds
#
capjamesg[d]
Wow. I had no idea how big the HTML spec was.
#
capjamesg[d]
I like this discussion.
#
capjamesg[d]
I wish there as an aboutfeeds.com for how to discover feeds.
#
capjamesg[d]
Because right now one has to do a little bit of digging to learn all the different sorts of feeds they might want to support / how to support them.
#
capjamesg[d]
I do think a MIME type should exist.
#
GWG
capjamesg[d]: That's why we discussed a feed discovery algorithm as a missing piece
#
capjamesg[d]
As a consumer of h-feed I’d love a clear definition on rel= attributes and how they relate to h-feeds specifically.
#
capjamesg[d]
[tantek] “text/mf2+html” is the most literal interpretation.
#
capjamesg[d]
Which I like. But that is personal preference.
#
capjamesg[d]
I had no idea about the ignoring invalid feed components. But it makes sense.
#
capjamesg[d]
Because as someone building an application that depends on the contents of a feed, a malformed feed may cause problems at many different stages.
#
GWG
capjamesg[d]: How do you determine if a page is an h-feed?
#
capjamesg[d]
I look for h-feed classes.
#
capjamesg[d]
It’s quite a simple definition but it is fast.
#
capjamesg[d]
And then I look for certain attributes.
#
capjamesg[d]
But if those attributes are not there I have fallbacks.
#
capjamesg[d]
This isn’t so much for search actually, more Microsub feed parsing.
#
capjamesg[d]
Now I come to think of it I need a more robust implementations
#
GWG
The more you look at people's Microformats, the more you have realize some issues. Like the infamous tantek casing
#
[tantek]
capjamesg[d] I have heard from some folks that "look for h-feed classes" is too much work compared to link rel discovery, because it requires a full HTML parse of the document (just to attempt discovery), whereas I have a feeling there's abbreviated parsing/scraping happening for link rel discovery because it "works well enough"
#
[tantek]
ok going to experiment with link rel text/mf2+html and see how that goes
#
[tantek]
there you go, <link rel="alternate" type="text/mf2+html" href="#updates"/> now on my home page
marksuth joined the channel
#
[tantek]
anyone doing feed discovery (in general) and interested in trying to detect that and see how it works for you?
#
GWG
I will add it to my code
#
GWG
How about a name for your feed?
#
[tantek]
what's the use-case?
#
[tantek]
separately, in reading JSONFeed and how it covers a lot really well in not a lot of lengthy prose, I think I need a co-editor for h-feed who is good at succinct clear developer-friendly writing
#
[tantek]
[manton] would you have any interest in co-editing the h-feed spec?
#
GWG
I like names?
#
GWG
Makes it easier to figure out what it's for? Like Updates, Events.
#
GWG
Either way, I'll add the proposed mime type to my codr
#
GWG
code
#
[tantek]
GWG, since you're doing that (adding to your code), consider filing an issue on https://github.com/microformats/h-feed/issues requesting a Discovery section similar to at least what JSON Feed has? https://www.jsonfeed.org/version/1.1/#discovery
#
[tantek]
what is application/mf2+json
#
Loqi
application/mf2+json is an experimental MIME type for the canonical JSON output of a microformats2 parser that is explicitly consumed by at one implementation (XRay), and published by at least two (Granary, WordPress mf2 feed plugin) https://indieweb.org/application/mf2%2Bjson
#
[tantek]
what is text/mf2+html
#
Loqi
It looks like we don't have a page for "text/mf2+html" yet. Would you like to create it? (Or just say "text/mf2+html is ____", a sentence describing the term)
#
[tantek]
^ if someone else thinks that's a good idea, go ahead and define it (rather than being defined by the proposer / first experimenter 🙂 )
akevinhuang2 and shoesNsocks joined the channel
#
[snarfed]
on second thought, text/mf2+html would seem to imply that the target page has mf2, but not necessarily that it's an h-feed. so it might not be a deterministic answer to h-feed discovery. do we care?
#
[tantek]
snarfed, indeed it just means, this HTML is meant to be parsed for mf2. There are multiple ways of addressing your question
#
[tantek]
one is to treat it the way we treat a bunch of top level h-entry elements on a page, as an implied h-feed for consuming applications that want an h-feed
#
[tantek]
since we've discussed allowing *any* microformat as an item in an h-feed, we can potentially expand that to include implying an h-feed for any page with microformats, for the purposes of h-feed consuming code
#
[tantek]
snarfed++ for the dfn!
#
Loqi
snarfed has 29 karma in this channel over the last year (56 in all channels)
#
[tantek]
the implied h-feed then would be the list of top level microformats items in the parsed result
#
GWG
[tantek]: We have an issue for that
#
Loqi
[dshanske] #1 Rules for Implied H-Feed
#
Loqi
[dshanske] #3 Do Not Restrict H-Feed to Only Contain H-Entry
#
[snarfed]
ok, so text/mf2+html doesn't deterministically provide h-feed discovery, but it's still a nice hint
#
GWG
Adding issues
IWSlackGateway, jeremycherfas, marksuth and [Will_Monroe] joined the channel
#
[tantek]
snarfed, depends, if we have a deterministic algorithm for implying an h-feed from any document with microformats, then yes, we can deterministically provide h-feed discovery
tetov-irc joined the channel
#
[snarfed]
hah, clever hack, true
#
[tantek]
I mean I've heard that as a summary of microformats in general 😂
aaronpk, akevinhuang, Seirdy, akevinhuang2, mackeveli_, rommudoh[m] and benatkin joined the channel