#dev 2022-05-26

2022-05-26 UTC
#
IWDiscordGateway
<person> I guess it depends on what their definition of "fully IndieWeb compliant" is. And what fediverse integration they're considering.
#
@brianleroux
↩️ think so, liking the indieauth approach and family of protocols the most currently
(twitter.com/_/status/1529619024715587584)
#
@person72443
↩️ Yeah, highly recommend y'all check out IndieWeb. I recently got my website IndieWeb compatible, it's pretty easy. And if you get webmentions working on your site, it feels like magic.
(twitter.com/_/status/1529622234137972737)
AramZS joined the channel
#
echo[m]1
<IWDiscordGateway> "<person> I haven't done any..." <- o hi! that was me. yes it's real, we're just trying to figure out what the budget and how many people we want and such. [Zandy_Ring] is also in the main #indieweb:libera.chat channel as the COO of Tumblr, i'm engineering 🤓
#
echo[m]1
<IWDiscordGateway> "<capjamesg> One question that'..." <- so i can answer some questions about Tumblr's backend! it's... interesting, as a 15 year old PHP codebase only can be 🙃
#
aaronpk
you know what i actually thought tumblr was older than that!
#
echo[m]1
<[fluffy]> "Yeah in my blog post I purposefu..." <- can you share this blog post? i would love to see it!
#
aaronpk
that means at least it was written in php 5 which is when things started getting good
#
[fluffy]
[echo] btw do you know Thel Seraphim?
#
[fluffy]
Actually that should go in #chat
[Murray] joined the channel
#
echo[m]1
<IWDiscordGateway> "<person> Tumblr is one of the..." <- i'm actually looking to get webmentions working on WP.com. like a bit part of how i'm trying to sell this internally is dangling some tasty OSS goodness in front of the WP.com behemoth.
#
echo[m]1
[fluffy]: nope! feel free to ping me there, that human has an awesome last name
#
aaronpk
that should be #indieweb-chat not sure why the slack bridge didn't translate that channel name like it is supposed to
gRegor joined the channel
#
echo[m]1
i may actually jump back to slack for the main channel, the Matrix integration is very verbose due to the power level changes. if someone knows Matrix better than i i'd love to minimize those.
#
aaronpk
has no idea what "power level changes" means
#
echo[m]1
it means this 🙃
#
aaronpk
what the heck
#
echo[m]1
yeah i recently tried to set up my own matrix bridge (thus my fun TLD), but it's tricky. kudos to whoever managed this, there's so many ways to chat here 💖
#
echo[m]1
<[fluffy]> "http://beesbuzz.biz/blog/9477-..." <- very cool post! honestly a lot went over my head, but yeahhh the whole reblog thing is tricky. also CWs are actually getting native Tumblr support in the next month or two, tho the implementation is different from something like Mastodon
#
Loqi
[fluffy] IndieWeb + Tumblr = 💜
#
echo[m]1
tumblr is a weird niche in terms of content creation tho. we have massive sprawling posts (and frankly i'd LOVE to figure out Color of the Sky on Indieweb lolllll) but also a lot of short quippy stuff. it's a sort of half-way between WordPress and Twitter
#
echo[m]1
our primary focus is on IndieWeb tho, as AP is a Lot and tbh there seems to be lot going on there that i don't quite get yet
#
aaronpk
btw echo[m] if you haven't yet had a chat with [manton] from micro.blog I would highly recommend it, since I suspect there are a lot of similarities between how micro.blog and tumblr approach indieweb standards
#
echo[m]1
i have not! i'll definitely check out micro.blog, that's an excellent domain.
#
[fluffy]
Yeah the more I learn about activitypub the less I want to do anything with it. You have to do so much to get a basic actor working and it also feels so limited.
#
[fluffy]
It doesn't help that the most common implementations of it have opted to basically be Twitter.
#
echo[m]1
question: does the Fediverse not run on AP? i thought PeerTube and BookWyrm and OtherCamelCaseApp run with it, and they don't seem to be Twitter clones
#
[fluffy]
I like how indieweb protocols are more or less decoupled.
#
[fluffy]
Those are all activitypub yeah, I guess I mean more the bloggy-type things.
#
[fluffy]
Usually when people say “fediverse” they mean mastodon/Pleroma
#
echo[m]1
i've noticed that. like i've set up the AP protocol plugin on my WPcom site and it works but it's.... funky?
#
echo[m]1
and the whole system doesn't map cleanly. tho it's only a beta plugin so understandable
#
[fluffy]
Some of the specific details about how mastodon specifically chooses to use activitypub are kind of unfortunate.
#
echo[m]1
is there a place you can link me for more details about that? i keep hearing that but i don't know a lot
#
echo[m]1
i mostly know Mastodon as a platform that's reminding me why i hate twitter lol
#
aaronpk
i think some of the articles linked from here get into some of the activitypub details https://indieweb.org/ActivityPub#Criticism
#
echo[m]1
whoever put "Anything acquired by Yahoo" in the site-deaths article is my hero
#
[fluffy]
Whenever I go into a public rant about it people dismiss it as being mastodon-specific or something that will be solved with other implementations but I don’t see any other implementations trying to do a better job
#
[fluffy]
And there's certainly aren't any reference of like. Generic reader that can subscribe to all these feeds that supposedly interoperate.
#
[fluffy]
The promises of activitypub are all things which were already solved better by RSS and Atom.
#
[fluffy]
And I’ve very much come around on mf2 h-feed as a syndication format. I used to be neutral if not negative about it but over time it makes more and more sense to me. ActivityPub has gone in the opposite direction.
#
[fluffy]
I do wish more people supported p-uid though, relying on URL stability always causes so many headaches.
#
echo[m]1
[fluffy]: p-uid? just googled and getting back nothing.
#
[fluffy]
Then again the same could be said about support for UIDs in RSS and Atom
#
[fluffy]
It's a property that lets you associate a UUID/GUID to an entry, part of mf2.
#
echo[m]1
are the UUIDs local or global? this sounds like a post ID basically.
#
[fluffy]
Oh sorry, u-uid not p-uid
#
[fluffy]
They’re intended to be globally unique but of course you shouldn't rely on that.
#
[fluffy]
Same rules apply to rss and Atom.
#
[fluffy]
Also way too many RSS feeds just use <guid isPermalink=true> which makes it not a guid :P
#
[fluffy]
Basically just treats the URL as the identifier.
#
echo[m]1
yeah, i'm more envisioning the WP standard of [domain]/?p=[post id]
#
echo[m]1
(i've been a WP engineer for like... a decade? oh god)
#
[fluffy]
Yeah post IDs are also an okay way to go, and that's what Publ uses for its request routing. But I had Reasons to also provide full UUIDs in Publ.
#
[fluffy]
(Mostly having proper Atom support as an aspirational thing)
#
echo[m]1
oh that's interesting, i'm surprised that the indieweb wiki is recommending Jetpack for POSSE. used to work there, there's a lot of interesting capabilities to leverage.
#
[tw2113_Slack_]
oh Automattic
#
GWG
aaronpk: I just got a 500 error from the Event Webmention endpoint, using the form, tried to send a webmention to https://events.indieweb.org/2022/05/homebrew-website-club-pacific-c3J3stHOdYUh from https://hobbit.cafe/82-2/
#
Loqi
LIVE NOW: Homebrew Website Club - Pacific
#
aaronpk
well that’s odd
#
GWG
Also, the images and names if you click I'm Going...come from where?
jacky, mro, tetov-irc, AramZS and [manton] joined the channel; echo[m]1 left the channel
#
[manton]
Catching up from yesterday, [echo] definitely let me know if you have any Micro.blog questions.
#
[manton]
[fluffy] Reading your Tumblr post… I’m strongly for @example.com for @-mentioning people by domain name. This is how Micro.blog works. It will auto-link and also send Webmentions to the domain name. I think it helps encourage domain names for identity. Allowing URL paths gets really messy.
#
[manton]
(By the way, noticed the Microformats parser I use blows up on your mailto links. Not sure if there’s an encoding issue there or what, maybe something to check.)
#
[fluffy]
Yeah the problem is that multi-user domains still exist and the path is important
#
[manton]
I agree that multi-user domain exist but disagree that the path is important.
#
aaronpk
regular hyperlinks are a thing
#
aaronpk
<a href="https://example.com/user">@user</a>
#
aaronpk
the microsyntax isn't really that important
#
[manton]
Right, someone can always manually hyperlink whatever URL they want.
#
[fluffy]
As much as IndieWeb folks are generally in the “one user per domain” you have things like tilde.club and neocities where the shared domain is part of the community
#
aaronpk
an editing interface can autocomplete usernames however it wants
#
aaronpk
so yeah a user can type @user in an editor and it could know that for the context of that user it actually means example.com/user
#
[fluffy]
gah why does iOS Slack have so much trouble with URLs and channel names lately
#
[fluffy]
but yeah being able to assign @alias to example.com/alias would be ideal probably
#
[fluffy]
ios slack whyyyyyyy are you doing this
#
aaronpk
wow slack even messed up its own message
#
aaronpk
finally i don't have to blame my gateway for once
#
[fluffy]
oh that’s been the case for a lot of things lately
#
[fluffy]
like when I linked to #chat last night and the thing didn’t translate (I suspect it’s about to do that again)
#
[manton]
Maybe to restate my position: I think it would be valuable to have a convention of @example.com that many IndieWeb-friendly blogs / social networks support. If someone really needs example.com/user, that’s an edge case that can be handled in an application-specific way. Aliases or other shortcuts, or just normal HTML hyperlinks.
#
aaronpk
my point is this isn't even a thing
#
[fluffy]
Well also I’m not a fan of one’s domain name being their identity. I post to beesbuzz.biz but that isn’t my name, that’s just a joke domain I decided to start using as my personal website.
#
aaronpk
if I type `@example.com` in an editor, the editor or my site should turn that into a real hyperlink in the HTML
#
aaronpk
at which point there's no cross-site trickery or agreement needed
#
[fluffy]
also @-syntax is sounding way too much like webfinger addresses per Mastodon
#
[manton]
Mostly the reason I care about this is that I find Mastodon’s @user@domain.com to be not great… A convention around @domain.com just seems better to me.
#
[tantek]
You don't need the '@' aaronpk. "example.com" will be autolinked by typical UIs / publishing tools
#
[fluffy]
webfinger addresses also don’t work for nested paths or specific resources or whatever
#
[tantek]
webfinger--
#
Loqi
webfinger has -1 karma over the last year
#
[fluffy]
That’s a good point!
#
[fluffy]
I guess my main hope is that there’d be some UX to make it easy for someone to refer to me as `<a href=“https://beesbuzz.biz/“>fluffy</a>` (looking forward to seeing how iOS slack messes THAT up…)
#
Loqi
fluffy
#
[fluffy]
huh, aside from the smartquotes that seems to have come through correctly
#
aaronpk
i think the backticks helped
#
[tantek]
now I still want to make #example.com work to explicitly *tag* someone in a post (which is beyond just mentioning them)
#
aaronpk
this is mainly a question for editors, not a question of cross-site interop
#
aaronpk
everything gets turned into hyperlinks in HTML in the end
#
[tantek]
it's only an interop question if we're talking about import/export of plain-textish post formats
#
[manton]
True. Cross-site is handled by Webmentions. It’s just a user experience question, whether there can be some consistent across clients.
#
[fluffy]
sure, but there’s the overall UX convention of how people get referred to in the indieweb, and then there’s also how Tumblr wants to handle it
#
[tantek]
e.g. I don't store the HTML of my notes, I store the plain text of my notes
#
[fluffy]
like Tumblr’s `@fluffy` is not me.
#
[manton]
[fluffy] You could always register fluffy.blog and redirect it…? 🙂
#
[fluffy]
that’s not a scalable solution and also doesn’t work for my many existing pages :P
#
aaronpk
sure but a tumblr post can have `<a href="https://beezbuzz.biz/">@fluffy</a>` in it and it's fine
#
[fluffy]
sure, I’m definitely not debating that
#
[fluffy]
I’m just trying to think about this from a Tumblr UX point of view, since that’s an important thing for whomever is doing that work
#
[fluffy]
like I wouldn’t want people to need to manually create a personal alias to my site in order to be able to interact with me, either
#
aaronpk
i never said anything about manual, the editing interface should handle it seamlessly
#
[fluffy]
I mean manually from their own address book perspective
#
[fluffy]
not from a post editing perspective
#
aaronpk
like if my site has received a webmention from beesbuzz.biz and there's an h-card on that site with a nickname "fluffy" then my editor could suggest that @fluffy should actually link to that domain
#
[manton]
For whatever it’s worth, if you type `hello @manton.org` (for example) into Micro.blog, it converts it to a Markdown link and saves it that way: `hello [@manton.org](https://manton.org/)`. Other systems might save as HTML or not.
#
[fluffy]
the impression I get of Tumblr’s actual storage format is that it’s a Gigantic Mess.
#
[fluffy]
At one point they supported Markdown in the editor but that option has gone away and it never really worked right
#
aaronpk
all i'm saying is there doesn't really need to be an agreement between all indieweb sites for this microsyntax because we don't interop on plain text we interop on HTML where none of that matters
#
[fluffy]
Tumblr’s UX is sort of a constant A/B test except instead of A/B it’s more like Q/7/💩
#
[fluffy]
yeah and I’m not saying that there needs to be an indieweb-wide agreement, I am specifically talking about tumblr
#
[fluffy]
and their interop into indieweb
#
[manton]
Tumblr is also a simple example because they do use subdomains for everything, which is nice.
#
[fluffy]
Yeah, that direction is much simpler (although custom domains complicate things a little)
#
[fluffy]
like tumblr.beesbuzz.biz and fluffy-critter.tumblr.com are both valid references to my Tumblr profile
#
[fluffy]
… sigh
#
[fluffy]
hm, it looks like `fluffy-critter.tumblr.com` always redirects to `tumblr.beesbuzz.biz` now. That didn’t use to be the case.
#
[fluffy]
jfc even with backticks
#
[fluffy]
slack what are you doing
#
[manton]
I think the only reason I “worry” about these conventions is that I’d hate to see Tumblr adopt a syntax like @user@tumblr.com for mentions. It seems needlessly platform-specific, even if it’s all HTML in the end as [aaronpk] said.
#
[fluffy]
huh, and nwo I’m on desktop and those links look fine
#
[fluffy]
Internet UX solipsism
#
[manton]
Speaking of the Fediverse, I noticed recently that Mastodon is rejecting some of my requests with “request not signed”, for simple GETs to fetch someone’s profile JSON, which used to work fine without any signing. Anyone else hit this?
#
[fluffy]
Is that happening on any specific instance? It might be a code change made “for privacy”
#
[manton]
I think only some instances, yeah… Will try to track down. I just assumed a Mastodon version change.
#
[fluffy]
Good luck getting clarity on it and finding the appropriate up-to-date API docs
#
[manton]
Sigh, yeah. 😞
vikanezrimaya, mro, jacky and davemenninger[m] joined the channel; davemenninger[m] left the channel
#
[snarfed]
and aaronpk++ on mostly an editor problem. one option to make mentions explicit could be to add h-card to the link to signal that it's person mention. notation conventions are nice, but maybe not as important for indieweb interop, just within authoring tools/sites themselves
#
[snarfed]
(doesn't answer [fluffy]'s Tumblr product q, of course, which is still worthy)
Xe joined the channel
#
[echo]
↩️ we typically use the NPF format, you can read about it here https://www.tumblr.com/docs/npf
#
[echo]
↩️ but yes.
jacky and mro joined the channel
#
[fluffy]
↩️ [echo] BTW, Slack threads don’t translate well to the various gateways, so we don’t use them here (unfortunately we don’t really have a good way to refer back to specific older chat messages)
#
[echo]
i’m not particularly a fan of `@user@domain.com`. and it’s not entirely consistent whether Tumblr accounts have a subdomain or not. personally i was leaning more towards `blogname@tumblr.com` , although that resembles email in a few ways i’m eh on
#
[fluffy]
echo++ thanks for the technical doc on NPF, that actually answers a bunch of questions I had about Tumblr’s internal representation
#
Loqi
echo has 1 karma in this channel over the last year (3 in all channels)
#
[echo]
like it really depends how we want to represent Tumblr on a product level to IndieWeb. are we a giant network with multiple users? or multiple blogs being hosted on the same platform?
#
[fluffy]
Yeah the big concern I have (reiterating that this is *specific to tumblr integration* and not an indieweb-general concern) is how IndieWeb identities (i.e. profile URLs) will map to the Tumblr UX with how Tumblr presents posts, notes, etc.
#
[echo]
yeah i mean i think something like webmention formatting vs content formatting are two different problems
#
[fluffy]
Like, I’m a long-time user of Tumblr. It’s all well and good to say “URLs are identities” in the IndieWeb space but bridging the gap is hard.
#
[fluffy]
And Tumblr identity URLs are a lot more fluid too, it’s pretty easy for folks to change their usernames or custom domains.
#
[echo]
yep! and blogs can be run by one person or multiple, and one person can be part of multiple blogs
#
[fluffy]
Although that usually causes some fun breakage too so that’s not something that will be getting worse, at least
#
[fluffy]
Yeah, although I don’t see group blogs/sideblogs as being particularly different for the IndieWeb integration issues.
#
[echo]
no, at that point it’s routing on our end
#
[echo]
for markup i’d definitely want to avoid relying on the blog network, the name for the `*.tumblr.com` slash other domain stuff
#
[echo]
for the same reason there’s not a cohesive way in WordPress to add mf2 to every blog- themes are custom and can be different
#
[fluffy]
Yeah. The issue I was trying to raise in my blog post is more that like… okay, beesbuzz.biz and beesbuzz.biz/blog and beesbuzz.biz/articles happen to all be run by the same person, but tilde.club/~alice and tilde.club/~bob aren’t, so you can’t just like rely on the domain name as being the presentational concept of what constitutes the “username”
jacky joined the channel
#
[echo]
exactly
jacky joined the channel
#
[snarfed]
yeah, we haven't robustly worked out how indieweb identity works when you don't have a [sub]domain to yourself, and honestly I don't know that we will
#
[snarfed]
owning at least a [sub]domain is pretty central in indieweb
#
[fluffy]
We’ve made some progress for that though, like with the changes to IndieAuth for supporting multi-user domains.
jacky joined the channel
#
[snarfed]
fortunately that's true for Tumblr too afaik. doesn't solve changing usernames/subdomains, as you mentioned, but then we haven't fully solved that kind of migration here either
#
[snarfed]
[fluffy] true! still early days though
#
[echo]
yeah- like i can do `rel=me` verification as inserted link tags. i’m unsure about the implementation details of IndieAuth
#
[fluffy]
Tumblr at least fits the one-blog-per-[sub]domain pattern, so the Tumblr->IndieWeb identity mapping is already straightforward.
#
[snarfed]
figuring out even an MVP Tumblr IndieWeb product will be hard enough, I'd be inclined to start it with just the standard [sub]domain as identity, and not tackle other hard problems at the same time
#
[snarfed]
eg if the MVP works, except it doesn't support subdomain migration, that's probably ok for v1
#
[fluffy]
[echo] IndieAuth is at least pretty straightforward to support, especially if you already do OAuth (which Tumblr does)
#
[echo]
yeah it makes sense, so long as we can indicate that the identity being referred to is of the blog, and not an individual
#
[echo]
[fluffy] great! yeah we can probably do that.
#
[fluffy]
IndieAuth client work for Tumblr feels like a fairly low priority for me since Tumblr already has its own native client and API (so no real pressing need for Micropub, although that’d be nice). IndieAuth *server* support would be great, though, I’d love for folks to be able to log in to my site with their Tumblr identity without me needing to add Tumblr-OAuth to Authl
#
[snarfed]
right, IndieAuth may not even be one of the more compelling features to prioritize for v1
#
[fluffy]
If I can do a no-effort close of https://github.com/PlaidWeb/Authl/issues/72 I’ll be happy 🙂
#
[snarfed]
I still suspect just mf2 + webmention would be the biggest ROI for a v1 MVP
#
Loqi
[fluffy-critter] #72 Sign in with Tumblr
#
[fluffy]
[snarfed] agreed
#
[fluffy]
That’s why I’ve been focusing on that in my rantles about IndieTumblrWeb
#
[fluffy]
well, that and being able to subscribe to external feeds
#
[fluffy]
That’s another huge compelling part of the equation to me
#
[fluffy]
and is also where URL-to-Tumblr mapping gets tricky, like if someone wants to subscribe to JUST my blog, and not my whole site, for example.
#
[echo]
yeah mf2 is very difficult. like we implemented the great work [KevinMarks] did in the repo, but that’s just for Optica, the default theme
#
[fluffy]
But also there’s the whole like. If someone reblogs one of my blog posts, and someone decides to follow me from there, what feed do they end up following?
#
[echo]
yeah reblogs are kind of a nightmare even for us
#
[fluffy]
Even in IndieWeb that’s not a very well-solved problem right now though. Like beesbuzz.biz/blog/ is an h-feed feed that’s *just* my blog posts (and not even the ‘notes’ subcategory at beesbuzz.biz/blog/chatter/), but it declares Atom feeds for both /blog and /
#
[fluffy]
well, I think it does. It *should*, anyway
#
[snarfed]
you can implement any subset of mf2 (implicit) post types, and ignore others or treat them as generic mentions, no need to be exhaustive
#
[echo]
regarding that PlaidWeb thing you linked, i can definitely see `t:DvRFDGL05g8KB0gwiBJv1A` style formatting being used as an internal indicator, with perhaps blogs having aliases ala Matrix
#
[tantek]
is there any kind of validator for Tumblr themes? or linter that catches "common" errors made when modifying themes?
#
[fluffy]
… it does not. Oops.
mro joined the channel
#
[echo]
no, our theme system is janky as hell
#
[snarfed]
but yeah the product work will be to figure out a user interaction mapping that makes sense to both indieweb and Tumblr people
#
[echo]
like we literally copy/paste code from a repo into an internal dashboard
#
[echo]
and any user can fork and customize things, so we cannot reliably implement mf2
#
[echo]
like, JSON-LD? possible! but doesn’t seem to be a favored tech around here?
#
[fluffy]
Yeah, as much as I dislike dealing with Wordpress themes, at least their structure makes things like mf2 support an incremental pluggable thing.
#
[fluffy]
I don’t think anything in indieweb supports JSON-LD natively
#
[echo]
[fluffy] but that’s not even universally true! a lot of themes are very janky
#
[tantek]
I get that, was more wondering what happens when a user breaks even the HTML of their template, is there a way they can "validate" their template to find where the bugs are?
#
[echo]
i have no idea
#
[fluffy]
There’s the preview pane
#
[echo]
lemme go break a template
#
[tantek]
[echo] the other approach we have worked on a bit in the WordPress world (which GWG is familiar with) is a separate parallel mf2 feed which can serve all the rich IndieWeb post kinds etc. and not worry about markup-breakage from theme-tweaking
#
[KevinMarks]
I think there's space for a indiewebify.me alike but for tumblr to help theme authors debug
#
[echo]
yeah, so what we’re talking about internally is possibly implementing things in what we call Blue Space, the React-driven dashboard and such
#
[fluffy]
yeah `<link rel="feed">` is a worthwhile option. How widely-supported is that in IndieWeb readers?
#
[tantek]
rel-feed--
#
Loqi
rel-feed has -1 karma over the last year
#
[KevinMarks]
Are there themes that are widely adopted, or do people mostly hack their own?
#
[echo]
the default theme is the aforementioned Optica, which does have mf2 now
#
[fluffy]
rel=“feed” is pretty much required to make an h-feed work well from my site’s root page.
#
[fluffy]
I’d rather see it get supported better. My index page is not itself a blog.
#
[echo]
that was the one in the gist i sent you, and i can work getting open-sourced
superkuh joined the channel
#
[KevinMarks]
Well, I need to iterate on it a bit. (I kinda open sourced it in that repo)
#
[tantek]
no [fluffy] we have discussed this a long time ago, and repeatedly. rel=feed is a nonstarter because it doesn't work at all the way existing feed discovery works, and introduces even more complexity
#
[tantek]
tl;dr we have to build on existing rel=alternate discovery
#
[tantek]
from a publisher perspective, it's like the link rel=alternate for your Atom feed, except with type="text/mf2+html" to the h-feed .html file
#
[fluffy]
ah, okay, so it looks like sidecar h-feed is `<link rel="alternate" type="text/mf2+html">`? Works for me.
#
[fluffy]
I think I’d picked up `rel="feed"` from a conversation I had here, rather than from anything on the wiki.
#
[fluffy]
And it was a while ago in any case.
#
[tantek]
yeah I'm behind in a bunch of wiki gardening on this 😞
#
[tantek]
I could use some help with updating microformats.org/wiki/rel-feed, indieweb.org/rel-feed
#
[fluffy]
oh that might be where I saw it then
#
[echo]
sort of! what you did was the raw HTML, not any of the other files. we need to clean a bit up but we can release the full thing at some point, resourcing pending
#
[fluffy]
regardless, it sounds like the best way for Tumblr to provide an h-feed is to do a sidecar mf2+html feed with an appropriate `<link rel="alternate">`
#
[KevinMarks]
Right, the macros need updating to make audio and video mf2 compliant.
#
[fluffy]
but I think that’s also a per-theme thing? I know a lot of themes don’t declare RSS feeds 😞
#
[echo]
does anyone have a link for an implementation of that?
#
[echo]
like is this sort of a feed?
#
[snarfed]
also might be worth doing mf2 for individual posts, which is required for webmentions, before feeds, which isn't
#
[KevinMarks]
Which may be a way to converge theme variations if you want to define more macros.
#
[fluffy]
ooh yeah mf2 for posts is way more important, and that has to be per-theme 😞
#
[KevinMarks]
It's one template for both, which ends up with a lot of conditional code
jacky joined the channel
#
[KevinMarks]
Also there are other sub feeds in there (eg recent likes and suggested posts) which I was trying not to mark up but may have got confused by
#
[fluffy]
Yeah once you have to support it per-theme it becomes easier since you only have the one template to modify, the problem is that it *has* to be per-theme rather than having a shortcut of providing a sidecar feed that Just Works.
#
[fluffy]
like every Tumblr blog has an RSS feed regardless of whether the individual theme supports it
#
[fluffy]
(and as far as I know the RSS feed is not customizable at all)
#
[snarfed]
again though, before implementation details, [echo]the single biggest thing you could probably do to help the Tumblr side is to help find a PM (maybe you?) who can commit to the project, whether contract or full time
#
[echo]
yeah like i said, resourcing is still tbd
#
[fluffy]
yeah and there’ll definitely have to be a LOT of scope management here
#
[echo]
like i know Matt wants to do something here, but we’re trying to internally concretize what exactly that is and how many resources we can commit
#
[snarfed]
ok! just checking because [Zandy_Ring]'s contracting requests seemed to be eng focused
#
[echo]
yes, absolutely
#
[snarfed]
if the PM work is voluntary, maybe you or someone similar, then great! as long as the need is recognized
#
[echo]
ehhh maybe i’ll do PM work? i don’t mind. but yeah we need to find a human who is willing to take point on the product side, but unfortunately in the short term we’re desperately strapped for people
#
[fluffy]
Sending webmention is hard, because that requires adding mf2 to themes. Receiving webmention is hard, because mapping IndieWeb verbs to Tumblr verbs isn’t straightforward. Subscribing to external feeds is… probably not awful, aside from the whole “mapping Tumblr identities” thing, and would likely do a lot to make Tumblr a nice feed reader for the web in general.
#
[echo]
i mean tbh i think the tumblr dashboard is an excellent feed reader
#
[fluffy]
Yeah, it’s just limited to only subscribing to Tumblr.
#
[echo]
yeah- if we could break that wall that’d be interesting
#
[echo]
though the moderation aspects are daunting
#
[fluffy]
oof yeah
#
[fluffy]
but if I can stop POSSEing all my stuff to Tumblr and just let people subscribe to it natively, wow I’d be happy.
#
[echo]
like at least with Mastodon style stuff we can block whole instances, but if everyone is their own site? aw jeez
#
[fluffy]
incidentally LiveJOurnal and Dreamwidth support external feeds through a, uh, not-great hack, where each feed gets its own virtual ‘user’
#
[fluffy]
and it’s up to an LJ/DW user to set that virtual user up
#
[KevinMarks]
Moderation is tricky once you receive webmentions too, especially when you bridge twitter in
#
[fluffy]
like here’s a long-dead LJ user that maps to one of my old comics https://dexdxfeed.livejournal.com/
[Zandy_Ring] joined the channel
#
[Zandy_Ring]
just to chime in - we’re very much looking for engineering support. But I fully see how we need scoping and PM support, so don’t worry that it’s being brushed aside 🙂
#
[echo]
thank you for jumping in [Zandy_Ring]!
#
[fluffy]
The fake-user-per-feed thing might be the easiest way to get external feeds working on Tumblr. Maybe it can be a Tumblr Pro feature to be allowed to set those up?
#
[fluffy]
Or there can be a standard slugify mechanism for converting feed URLs to fake-user names.
#
[echo]
i can’t speak from a monetary viewpoint, though from a personal perspective i’d prefer not to gatekeep this feature if possible.
#
[echo]
just consuming external feeds is doable, we have our own CDN after all
#
[echo]
but interacting and especially reblogging is Hard
#
[echo]
reblogs internally are essentially copying the entire post content into our DB as a meta field
#
[fluffy]
subscribing feels straightforward, but then interacting becomes the “okay how the heck do we send webmentions” nightmare
#
[echo]
so if the target blog post is mf2 compliant mayyyybeee?
#
[fluffy]
oh here’s a thought, maybe the per-feed users are stuck providing an mf2-compliant theme and… yeah
#
[echo]
yeah or RSS/ATOM at the very least
#
[echo]
some standardized way of parsing
#
[fluffy]
webmentions need to send mf2
#
[echo]
mf2 on html is classnames only, right?
#
[fluffy]
so like, an interaction with a feed “user” would generate a mention page
#
[fluffy]
sorta, it’s classnames to declare what sort of data it is but then HTML attributes/text for the data.
jacky_ joined the channel
#
[echo]
(brb for a bit, going to head to the office for happy hour 🍷)
#
[tantek]
another approach to per-post mf2 would be an mf2 "island" inside the post that's marked up with <data value=""> tags separately from the rest of the theme. So they wouldn't be display but they would be picked up. It's not ideal (violates DRY) but could work
#
[tantek]
happyhour++
#
Loqi
happyhour has 1 karma over the last year
#
[fluffy]
That could work yeah
#
[echo]
we can reliably insert stuff into the footer of the site or the head tag. beyond that is questionable.
#
[manton]
[echo] Just to say again what I already said but maybe clearer… The problem with the Mastodon or email-style @-mentions is that they don't cleanly evolve to custom domain names like using subdomains do.
#
[echo]
IF we’re talking the subdomains
#
[echo]
okay, noob question: why are subdomains a requirement?
#
[fluffy]
I also need to bow out, lunch and then D&I chat at work
#
[fluffy]
IMO they’re not a requirement, they’re just a convention that a lot of folks in indieweb assume 😛
#
aaronpk
i don't think anyone is saying subdomains are a requirement, but what you don't want is to *require* that every user identity is a username @ domain
#
[fluffy]
but yeah identity is hard
#
[KevinMarks]
You can augment rss to h-feed, but that will miss the like/repost etc nuance
#
aaronpk
there's a lot of people who have just a domain name as their online identity and forcing a username into that is awkward. that's true with email too, which is why my email address is not aaron @ aaronparecki.com
#
[KevinMarks]
You also have the Tumblr domain vs custom domain issue
sebbu joined the channel
#
[echo]
can't we do aliases? After all, like I was saying blogs aren't necessarily people
#
[echo]
and I think it'd be more feasible to allow mentions to be proxied to whatever service people want if they don't want to just be blogname
#
[snarfed]
Tumblr could route them however it wants under the covers
#
[snarfed]
blogs (ie [sub]domains) advertise a wm endpoint, and wms are sent to that endpoint with source and target posts. for incoming wms, Tumblr could then take that target post URL, look up its [sub]domain's history if necessary, interpret source post based on its mf2, and do anything you want with it
#
[echo]
But wms need a consistent identity, right?
#
[snarfed]
a wm happens at a point in time, from source to target URL. as the recipient, after you receive it, you can do whatever you want to it, including migrating it with its destination user if they switch usernames, subdomains, etc
#
[snarfed]
usually to render it, you only need the source URL, which you fetch once and then extract its type, content, author, author profile image, etc
jacky joined the channel
#
IWDiscordGateway
<capjamesg> And then the author could resend their webmention if it was updated and the endpoint supposed updating too.
jacky joined the channel
#
IWDiscordGateway
<capjamesg> This ensures that, say, if I make a typo I can go fix it and my revised version could show up on the site to which I have sent the webmention.
#
IWDiscordGateway
<capjamesg> Again, contingent on if the endpoint supports such interactions.
#
IWDiscordGateway
<capjamesg> What is everyone’s opinion on validating webmentions at Tumblr’s scale?
#
GWG
Re WordPress, I would like more people to consider a rest posts api endpoint to MF2 gateway
#
GWG
Anyone interested?
#
IWDiscordGateway
<capjamesg> I don’t know how many comments Tumblr gets per day but I have a feeling it’s going to be a massive number. Would Tumblr need to accept / send Webmentions and go through the whole HTTP request thing?
#
IWDiscordGateway
<capjamesg> Or could there be an exception like if a post is a Tumblr one something could be validated from the DB?
#
IWDiscordGateway
<capjamesg> This may not be an issue but I’m curious to hear thoughts on it.
#
IWDiscordGateway
<capjamesg> [Zandy_Ring] I appreciate the clarification re: PM support!
#
[snarfed]
endpoint discovery for outbound wms would be the main scaling question. they'd probably want to cache that per domain with a generous expiration, like Bridgy does. it would be a bit of bandwidth but doable
jacky joined the channel
#
IWDiscordGateway
<capjamesg> That is a good point.
#
IWDiscordGateway
<capjamesg> What expiration does Bridgy use?
#
aaronpk
It's true, tying webmention to any kind of identity might be premature optimization
#
[snarfed]
here are some example stats on Bridgy's outbound wm discovery over the last week, almost all were cache hits: https://snarfed.org/bridgy-wm-discovery.png
#
aaronpk
I don't store any concept of identity for webmentions I receive
#
jacky
learned that the hard way while working on Lighthouse without even going live lol
#
[snarfed]
capjamesg: Bridgy's wm endpoint cache is 2h right now. which technically violates the spec, but 😎
#
jacky
brid.gy has seniority over the spec lol
#
IWDiscordGateway
<capjamesg> That’s interesting.
#
[snarfed]
hah true jacky
#
IWDiscordGateway
<capjamesg> What is the identity discussion de jour?
#
IWDiscordGateway
<capjamesg> How to represent the identity of incoming comments from non-Tumblr resources?
#
[snarfed]
yeah, mapping indieweb <=> Tumblr, identity and interactions, product q's
#
jacky
wonders if there's a running wiki page for points on this re: Tumblr, IndieWeb and identity
#
IWDiscordGateway
<capjamesg> Have we discussed the nickname mf2 property?
#
IWDiscordGateway
<capjamesg> jacky +1 on that 🙂
#
IWDiscordGateway
<capjamesg> What would we call this? IndieWeb Tumblr integration?
#
[tantek]
[echo] re: subdomains, there's a bunch of IndieWeb thinking on subdomains (also vs. paths) here:
#
[tantek]
what is a subdomain
#
Loqi
A subdomain typically refers to a domain with one more "name(dot)" component than that which someone actually has registered which is often seen indieweb sites with a family name domain like joel(dot)franusic(dot)com, or often on silos like matt(dot)wordpress(dot)com https://indieweb.org/subdomain
#
[tantek]
It's not that subdomains are a "requirement" per se, it's that they are better for users than paths in terms of identity, security, privacy
#
stevestreza
Hyped to see whatever is coming out of this as a former Tumblr sweng
#
[tantek]
so we strongly discourage any "path-based" identity on the IndieWeb, because those are even more vulnerable/less secure than subdomains
#
[tantek]
jacky, I think there's a bunch of pages for sites with "IndieWeb Friendly" sections
#
[tantek]
"Integration" sounds so corporate 😛
#
[KevinMarks]
There's the github repo, but maybe we need a wiki page for the indieweb Tumblr discussions too
#
[tantek]
capjamesg, you may want to read through https://indieweb.org/Tumblr#How_to_POSSE which describes reasonably well how to map your IndieWeb posts into Tumblr posts and improve on that
#
[echo]
i really need to read the spec
#
[echo]
my biggest concern is what we call Jubilee, wherein we let people put in requests for taking over names of dead blogs/subdomains
#
[echo]
the internal ID is different (i think) but i’d want to ensure we’re not sending messages to the wrong people if it’s subdomain based
#
aaronpk
may I recommend this as some first reading before diving in to the webmention spec itself https://aaronparecki.com/2018/06/30/11/your-first-webmention
#
[tantek]
interesting. is there a timeout for such dead/stale subdomains?
#
[tantek]
aaronpk, I think [echo] was asking about the identity aspect, not webmentions
#
[echo]
can you clarify what you mean by timeout?
#
[tantek]
like how long a subdomain has gone untouched/unused
#
Loqi
[Aaron Parecki] Sending your First Webmention from Scratch
#
[tantek]
has it "timed out"?
#
[echo]
oh, not a time out in a technical sense, no. it’s more policy.
#
[echo]
and i have no idea what that policy is
#
[tantek]
right, timeout policy
#
[echo]
generally we don’t take down stuff that has a lot of content, as old content gets reblogged regularly
#
[tantek]
makes sense!
#
[echo]
so it’s less time-based and more content-based
#
[echo]
but ALSO time based
#
[echo]
clarity ✨
#
[tantek]
a-ha, so maybe getting an IndieAuth "identity" could be something you could "unlock" after having posted enough "interesting" content (insert some interaction measurement by other users)
#
[tantek]
i.e. once someone has posted enough content that their site won't get taken down or re-assigned, THEN they get the ability to use it as an IndieAuth identity (without risk of reassignment)
#
[echo]
maybe. i’d much rather provide some sort of identity checksum or similar if you are talking to the raw subdomain as an identity and not the internal `t:` uid
#
[echo]
since i’d prefer not to programmatically declare blogs as “real” enough for an IndieAuth identity
#
[echo]
lurkers are valid too, lol
#
aaronpk
i'm hearing a lot of implementation discussions without hearing what the actual overall goals are here. especially with identity stuff, there's a lot of different factors to consider before talking about these kinds of things
#
[tantek]
sure lurkers are valid, but as you pointed out, their subdomains are considered less "permanent"
#
[tantek]
goal: using your tumblr subdomain as your indieauth identity
#
[echo]
yeah like to be clear i can’t answer that question, i am just an engineer nerding out mostly 🤓
#
[tantek]
thought that was well stated previously aaronpk
#
aaronpk
did I miss it?
#
[echo]
is that a goal tho? like it’s a nice idea, but i don’t know if it’s one we’d want to prioritize
#
aaronpk
yeah i don't remember hearing that as a goal before
#
IWDiscordGateway
<capjamesg> What goals does Tumblr have in mind?
#
[tantek]
aaronpk, pretty sure that's been brought up in chat the past few days
#
Loqi
misses it too
#
aaronpk
i was seeing more interest in getting the webmention or feed following things working first, neither of which require indieauth or any authentication stuff
#
[tantek]
[echo] another place to look for explicit "goals" is what did the IndieWeb/Tumblr hybrid community (people that do/use "both") come up with already as manual workaround?
#
[tantek]
That list is effectively documented here: https://indieweb.org/Tumblr#How_to
#
[tantek]
aaronpk, both peer-to-peer interactions (let's not frame this as "webmention" the protocol), or peer-to-peer following (again, "feed" is an implementation detail) require some notion of (semi-)persistent "identity"
#
[tantek]
that's why the discussion of subdomains matters
#
[tantek]
you're right that a notion of identity does not require implementing IndieAuth per se
#
aaronpk
p2p interactions don't require persistent identity, only identity at a point in time
#
[tantek]
no, following requires persistent identity
#
[tantek]
no, webmention updates requires persistent permalinks and thus identity
#
aaronpk
did you not see what i just said lol
#
aaronpk
again, I don't have any concept of identity other than the webmention source URL and my webmentions work just fine
#
[echo]
i would not rely on my questions as a definitive indicator of what we’re prioritizing, that’s ultimately a question for [Zandy_Ring] than i
#
aaronpk
sure i might benefit from doing more smarter things but ignoring the problem is enough for starters
#
[tantek]
"other than the webmention source URL" yes that's based on a domain and that domain ownership not changing
#
aaronpk
no it's not based on a domain, it's a simple string match
#
[tantek]
the assumption that a subsequent webmention of the same source URL must update that webmention is based on persistent links, assumes the same entity is doing both
#
[tantek]
that's where the persistent identity comes from
#
[tantek]
same thing with webmention deletes
#
aaronpk
we never tried to tackle the problem of domain name ownership change w.r.t webmention updates in the spec
#
[tantek]
correct, the spec assumes persistent domain ownership
#
aaronpk
that's definitely more complicated and would likely involve public/private key stuff which is a whole can of worms
#
IWDiscordGateway
<capjamesg> Hm. That is difficult.
#
IWDiscordGateway
<capjamesg> Could webmention update requests be made when a domain is assumed by a new owner that locks the old post and adds some text?
#
IWDiscordGateway
<capjamesg> I don’t think that’s the best idea. I’m just thinking out loud.
#
IWDiscordGateway
<capjamesg> I’m curious about how sites manage this now.
#
[tantek]
aaronpk, I didn't say "solve persistent domain ownership", I noted the protocol *assumes* this
#
[tantek]
capjamesg, it's an unsolved problem
#
[snarfed]
hopefully Tumblr could start without supporting domain/username migration
#
[tantek]
tl;dr sites don't manage this now
#
IWDiscordGateway
<capjamesg> [tantek] thanks for the clarity.
#
[tantek]
snarfed, that's why I proposed only doing it for sites with "interesting" / non-trivial content that Tumblr wouldn't re-assign anyway
#
[tantek]
even if it's "only" dependent on policy, that's still a good start
#
[snarfed]
sure, or just give it to everyone and document the missing migration feature loudly
#
[echo]
yeah from an engineering perspective i’d prefer to return “here is a uid” for identity requests to a given domain
#
aaronpk
that fails pretty quickly too because what's stopping a random domain from returning a uid of another domain :)
#
[echo]
for Tumblr we control the response unless it’s a completely private domain, but also that makes a ton of sense on a protocol level
#
aaronpk
yeah if you know the namespace of these IDs are all Tumblr that works, but then you need some way for a domain to say "this is hosted by tumblr so you can trust whatever they say the ID is"
#
aaronpk
and that ends up looking nearly the same as... the domain name system ;-)
barnaby joined the channel
#
[echo]
yuuup
#
[snarfed]
unrelated, inspired by the wm discovery graph earlier, here's a snapshot of one of my main Bridy monitoring dashboards over the last week: https://snarfed.org/bridgy-monitoring.png
#
aaronpk
oo pretty graphs
#
[tantek]
[echo] is there an undocumented redirect like ID(.)uuid(.)tumblr.com that redirects to the actual subdomain that ID is using right now?
#
[fluffy]
just got out of meetings. incidentally I’ve finally added my actual-h-feed feed to my pages, if anyone wants to take a look and tell me how I messed up. 🙂 They’re disclosed as `<link rel="alternate" type="text/mf2+html">` and they link to the `everything` page for the category (which has been there for a while and was intended to be my h-feed page), and then the `everything` page itself declares an `h-feed` on the content sect
#
[fluffy]
And I think that finally squares the circle between my feeds and IndieWeb-style social readers.
#
[fluffy]
heh, and I just noticed that for all my talk of `u-uid` I’m not actually declaring *that* anywhere, oops
#
[fluffy]
I guess I never figured out any sort of clear guidance on how to declare that in the case of having a UID that isn’t also the permalink URL. And I guess I *could* use my short-links as that because those are stable. So maybe I only need Publ’s UUID generation for Atom?
#
[fluffy]
oh dang my everything feed is missing most of the mf2 in it, jeeze, never mind
#
[fluffy]
okay NOW it’s ready to be looked at, I think. It looks right to me in http://pin13.net/mf2/?url=https%3A%2F%2Fbeesbuzz.biz%2Feverything at least.
#
aaronpk
assuming you intended to put the article content in the summary property and not the content property
#
[snarfed]
also [fluffy] granary and Bridgy translate silo posts to mf2 with uid different from url, feel free to look at those as precedent
#
[fluffy]
Ah nice, thanks
#
[fluffy]
and yeah I meant to put that in content, oops
#
[fluffy]
I think my thinking was originally that since it’s just above-the-fold that it’s just a summary, but that’s where the whole uh `u-continued` proposal comes in
#
[fluffy]
I’m gonna go ahead and just add `u-continued` as a thing, because why not
#
[tantek]
I think until we have a continuation mechanism figured out either p-summary or e-content for in-stream entries is fine
#
[tantek]
for *partial* content in-stream entries that is
#
[fluffy]
I actually had it as `e-summary` 🙂
#
[tantek]
I think that makes sense
#
[fluffy]
oh actually I could make it e-content if there’s no cut and e-summary if there is
#
[tantek]
that way existing social readers that want the "whole content" beyond just the "summary" can detect that and go retrieve the permalink
#
[tantek]
yes that would work too
#
[tantek]
what is e-summary
#
Loqi
It looks like we don't have a page for "e-summary" yet. Would you like to create it? (Or just say "e-summary is ____", a sentence describing the term)
#
[fluffy]
It’s usually p-summary since it’s generally plaintext
#
[fluffy]
Oh also there’s another difference in my h-feed vs. my individual entries in terms of like. image rendition size.
#
[tantek]
e-summary is a microformats2 class name for publishing a summary property typically as part of an [[h-entry]], and is one way to publish a partial content in-stream entry in a homepage [[h-feed]], while indicating to [[social reader]]s that they may retrieve the entire content at the entry permalink.
#
[fluffy]
But I think usually when that’s an issue I have a cut anyway
#
[fluffy]
so I’m willing to ignore that for now
#
[tantek]
assuming you do use e-summary, that would be a good page to capture your usage like that as a real world example
#
[fluffy]
yeah, added
#
[fluffy]
[snarfed] okay I see you use p-uid for the UID, which is what I’m doing too. That makes me feel better about not using u-uid.
#
[tantek]
I think in practice all UIDs ("UUID"s) must be scoped to the domain, because you can't trust domains to make claims about other domains (CORS).
#
[tantek]
which then ironically defeats the supposed primary use-case of UUIDs or Atom IDs of migrating a blog between domains, because there's no trustworthy to actually do that
#
[tantek]
I think this is one of the reasons I'm skeptical of post IDs as a result
#
[tantek]
the *only* use-case I’ve come up with (which might be sufficient to get me to implement TBH) is having post IDs that DO NOT have the post slug in them if any
#
[tantek]
that way if/when you change the slug (and thus permalink) of a post, you don't change its ID and it doesn't show up as "new"
#
[snarfed]
yeah Bridgy is an unusual case here since it's describing other sites, not itself
#
[fluffy]
Yeah the whole reason I want UIDs on my posts is so that posts can be moved around to different URLs within the same site (due to a change in slug or the like) without it being seen as a dupe
#
[fluffy]
well also it’s useful for being able to signal that a post’s been deleted
#
[fluffy]
and really it’s just a fancy post ID. I just use uuid4 because it’s what Atom more or less wanted.
#
[fluffy]
It’d be totally reasonable for me to do a `u-uid` of `https://beesbuzz.biz/4614` or whatever instead of a `p-uid` of `5cf706b2-9029-41f1-ade4-32d4f70579f6`
#
Loqi
[fluffy] Comment policy
#
[fluffy]
And it wouldn’t take a lot to convince me to just do that instead, it’s just that I already have the UUID for atom purposes.
#
[fluffy]
Like if anything switching to u-uid is also more useful since there’s (currently) no way for me to map a UUID back to the originating item externally. But I kind of wanted it to be a one-way anonymous-ish mapping since it feels like it’s easier to maintain privacy that way.
#
[fluffy]
like as it stands, if someone sees a deletion of a UUID they just know that I deleted *something*, but if the deletion references the post ID It’s easy to figure out what post was deleted via the wayback machine.
#
[tantek]
ooh the privacy concern is an interesting one
#
[tantek]
is this so that deletions can be public, even if the post is private?
#
barnaby
I’d assumed it was so that you can publish a deletion without giving any indication about what the content was or where to find it
#
barnaby
so readers/webmention clients etc can check the ID against things they’ve seen and remove it, but a consumer who’s never seen the content has little chance of finding copies of it
#
[snarfed]
which seems...useful, to not draw attention to it, but not a critical feature, if the wayback machine (or whichever cache) already has it
#
[tantek]
snarfed, it can be useful for "unlisted" posts, which may have been "accidentally" picked up by the wayback machine
#
[tantek]
that is, you can use this to delete an unlisted post for those that have seen it, without giving others a clue as to where to find it in the wayback machine
[aciccarello] joined the channel
#
[aciccarello]
Does wayback respect no-index?
#
barnaby
IIRC they ignore most of those “please don’t archive this page” things on account of their goal being to archive stuff
tetov-irc joined the channel
#
barnaby
here’s their statement on robots.txt https://wiki.archiveteam.org/index.php/Robots.txt
#
[tantek]
tl;dr: you can hide their results for specific paths while you control your domain with robots.txt. However they expect to show results for paths when domains expire, robots.txt goes away etc.
#
@sheldon_hull
↩️ I barely get comments on my blog. A few have been just like that. "Please tell me how to implement infra as code in AWS" or something feeling so unspecific like doing homework or something on it. You could disable comments and use webmentions to leverage Twitter discussion
(twitter.com/_/status/1529966407932338191)