#dev 2023-02-02

2023-02-02 UTC
#
[KevinMarks]
The image preview code can use etag/if modified since to decide when to regenerate and skip on a 304.
#
[tantek]
capjamesg, my answer was for HTML permalinks, not images
#
capjamesg
Ah, I see.
#
capjamesg
Apologies. This is my first foray into this area.
#
[KevinMarks]
Anything you're generating from urls should do the etag/if modified since dance.
#
[tantek]
again, sounds like more code that is vuln to breaking in bad ways
#
[tantek]
(i.e. updates stop working)
[jgarber], gerben and geoffo joined the channel
#
@liztai
↩️ PS: I'm trying to see how webmentions work which is why I included the link to my linkblog on this article, which, btw is pretty fascinating.
(twitter.com/_/status/1620987172634431488)
[jeremycherfas] joined the channel
#
@TwitterDev
Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵
(twitter.com/_/status/1621026986784337922)
#
[snarfed]
one week
#
sknebel
unusually generous for major policy changes at Twitter
#
sknebel
sorry, not quite the time for jokes for you, I get that
#
[snarfed]
hah you're right though
geoffo and gerben joined the channel
#
[snarfed]
they really are desperate for revenue
#
pmlnr
I wonder what they're going to do when barely anyone pays up.
#
[KevinMarks]
So, for apps that use twitter for account management, what could we do as a drop in replacement?
#
[tantek]
Oh dear that’s brutal. They really are trying to push everyone toward other solutions.
#
[tantek]
That might be end of Twitter POSSE for me. Unless maybe we chip in to fund Bridgy for a paid Twitter dev account.
mro joined the channel
#
sknebel
[KevinMarks]: oh, good point. is login with twitter also part of the API package?
#
sknebel
that's something that would catch lots of places and force them to at least temporarily pay....
#
pmlnr
Why would we do that? We should be part of the f* no response to that move.
#
pmlnr
> Unless maybe we chip in to fund Bridgy for a paid Twitter dev account.
#
[tantek]
Because lots of folks in the community depend on it and don't have the time/resources to "turn on a dime" with that kind of disruption, and it wouldn't be an unreasonable use of OpenCollective funds to do so. Better to fund just one such twitter dev account than spread the burden around to everyone.
#
[tantek]
we can still individually make that "f* no" response by stopping Twitter POSSE & backfeed on our own sites
#
[tantek]
sknebel, sounds like a perfect opportunity to pitch places that depend on "login with Twitter" to instead switch to RelMeAuth + login with GitHub
#
pmlnr
The response should involve not paying them at all imo
#
[tantek]
while I agree in spirit, I disagree with forcing that decision upon every user of Bridgy
jjuran, gRegor and [jamietanna] joined the channel
#
[jamietanna]
I assume that's for new apps, right? If it's existing stuff that's _wild_
#
sknebel
lol. no, fairly sure that means all apps
#
sknebel
and hey, you got told a week before and not a week after
#
[KevinMarks]
Presumably they are working out how to email or DM all API users right now
mro joined the channel
#
[KevinMarks]
so how do I find the apps I have twitter API keys for? their developer portal is all brochureware now
#
[KevinMarks]
ah, its at https://developer.twitter.com/en/apps which is not linked anywhere in the nav
#
IWDiscordRelay
<j​acky#7226> Why continue to validate Elon's trade though with our donations? That doesn't seem to be good outside of wanting to cling to Twitter for reach/access
#
IWDiscordRelay
<j​acky#7226> That'd also make Bridgy a target indirectly if it's allowing people to subvert the paid tier
#
IWDiscordRelay
<j​acky#7226> I agree with pmlnr on just not doing it. It feels empty to be like "let's go" but also paying to stay
#
aynish
💯
mro, gerben and gRegor joined the channel
#
[jamietanna]
+1 although I'd still like to be able to get webmentions back to my site, interact with posts of people who've moved away, and have access to Twitter feeds through Granary, I'd not be likely wanting to pay for it. Paying for Bridgy Fed maybe but not plain Bridgy for Twitter
#
aaronpk
wowwww
#
aaronpk
im using my own API keys for an awful lot of things
Guest6 joined the channel
#
starrwulfe[m]
Can twitter Bridgy move to the browser extensions like Instagram and Facebook at that point?
#
[jacky]
I can imagine but at that rate, you'd also need to keep a browser window open (or expect a lot of requests to one's site whenever you visit after a while)
#
starrwulfe[m]
I keep a headless browser window open and running in Docker on my NAS for this reason actually.
#
jeremycherfas
I have only two, one of which is to Syndicate from WithKnown. If I don't pay for access, I will not be able to POSSE from there. So, maybe I won't.
#
starrwulfe[m]
It’s throwing a jackhammer at a problem that needs a scalpel but I know no other way
pharalia and mro joined the channel
#
[snarfed]
let's see what the pricing looks like
#
[aciccarello]
I saw an article that the existing paid API access starts at $99/mo
#
[snarfed]
the tweet says/implies that they'll introduce a new tier
#
[tantek]
the pushback has been very strong. wouldn't surprise me if they reversed this decision (like others)
#
[aciccarello]
I can/can't believe they are closing the old api before the pricing has been announced.
#
[tantek]
or did something like greatly limit the "free" tier
#
[jacky]
it's not so much about the pricing as it's about this constant mammoth-and-mouse game that he (and the board, tbh) is playing
#
[jacky]
like continuing to entertain it justifies it
#
aaronpk
good thing i know how to hack oauth
#
aaronpk
this is such a perfect example of one of the things i talk about in my workshops that *normally* isn't a concern
#
[jacky]
that should be at CCC heh
#
aaronpk
i think twitter is even my example i use in the slide deck
#
aaronpk
i should make a youtube video about this right now haha
#
[snarfed]
(minor point, there's no twitter board of directors any more)
#
[tantek]
aaronpk, indeed, preparing for "what should you do if an OAuth server/endpoint you rely on is going to change in 7 days or less?"
#
[tantek]
"for example"
GWG joined the channel
#
[jacky]
[snarfed] ah yeah, I keep forgetting that
#
[jacky]
(which is another ⚰ point)
#
[jacky]
what is song.link
#
Loqi
It looks like we don't have a page for "song.link" yet. Would you like to create it? (Or just say "song.link is ____", a sentence describing the term)
gRegor, gRegorLove_, jonnybarnes, Loqi, geoffo and [will] joined the channel
#
gRegor
Wow re: Twitter API
#
gRegor
I guess my access got suspended at some point anyway. I hadn't used it in years.
#
[tantek]
inactivity might be enough for suspension yeah.
gRegor and [campegg] joined the channel
#
@theshawe
↩️ go deeper on what a multiplayer internet means to @browsercompany hope your team is looking at webmentions via @w3c re: leaving comments on sites. i enjoyed hearing you just riff with your thoughts and journey with other mentors and people, so more of that!!
(twitter.com/_/status/1621251041575534593)
#
[jacky]
oh my god yes
#
[tantek]
Hah nice
#
[snarfed]
how would browsers themselves support webmentions?
#
[tantek]
From #indieweb-stream++
#
[tantek]
@snarfed, imagine leaving a comment on a “classical” site that didn’t support webmentions, and your comment had links. The browser could detect that and send webmentions to those links on your behalf like a client side mention.tech
#
[snarfed]
ok! small, but sure
#
[snarfed]
more broadly, bridging indie replies to traditional commenting forms could be interesting
#
[jacky]
I could see it being something like omnibear but more in-built to the browser
#
[jacky]
like if it detects a post type and webmention endpoint, it could even have some sort of unified UI there (and if the browser's configured to use a Webmention endpoint somehow, could be a part of their service offering)
#
[jacky]
Tbh, Mozilla could do this too
#
[jacky]
a lil' rel=me on one's Firefox account and wham
arghc joined the channel
#
benatkin
https://apis.guru/add-api/ - another place to add an API now that ProgrammableWeb is shut down
#
benatkin
This one accepts OpenAPI. I might try making one if there isn't one. I am not too crazy about OpenAPI for designing APIs or the primary documentation but it's a nice supplemental & machine readable documentation
#
arghc
Just getting started. h-entry says "used to mark-up any other episodic or time series based content." but also for your homepage. Is there some other markup for static pages?
#
arghc
Also, while looking at Types of Posts, it seems that the indieweb is reproducing semantic web schemas, is there no way to piggyback on/cooperate with that existing work?
#
[snarfed]
arghc: the usual advice is to start with consumers, and only mark up what they need. there are established consuming use cases for h-entry articles, notes, replies, etc, and h-card profile info. do you have any consuming use cases for your home page/static pages in mind?
#
[snarfed]
re schemas/taxonomies, microformats have been around for 18 yrs, which might predate semantic web? we also tend to be pretty simple and practical around here, whereas RDF, JSON-LD, etc are more complex
#
Seirdy_
re. the twitter API i'd rather just use Nitter.
#
arghc
my static pages tend to be how-tos and galleries with the occasional ... essay? thrown in. Back in my Drupal days I'd just throw them all open to comments which type of conversation/consumption one hopes indieweb promotes
#
[snarfed]
yup! via webmentions. which generally don't need microformats in your pages, just in other people's comments
#
arghc
re: schemas, pre-xmas I was in the midst of making a jekyll theme that integrated various schemas (using RDFa Lite) and now that I'm getting back into it (or jumping ship to 11ty, haven't decided 8-), and having learned about the indieweb, I dread adding microformats and yet more markup to everything...
#
[snarfed]
definitely understood, that's why we try to take a light touch and only mark up for consuming use cases. we also encourage people to start by asking, what's the next thing you want your site to do, and just do that, instead of trying to implement all the possible plumbing just because it's there
arghc joined the channel
#
arghc
I guess I'm just trying to understand post types and being a dinosaur in not believing that blog posts are the basic thing vs web pages?
#
[snarfed]
sure, we're not really religious about semantics, posts vs pages vs articles, blog vs web site, etc etc
#
aaronpk
the whole indieweb post type discussion is more about defining what you want someone else to do with your content. e.g. if you post a reply to someone and that post has a name, we'd call it an article/blog post and expect it to be displayed a certain way, vs posting a like and expecting it to be displayed differently
#
gRegor
arghc, do your how-tos, etc. have a title and published date? That's an /article and works well with h-entry
#
gRegor
what is ptd?
#
Loqi
Post Type Discovery specifies an algorithm for consuming code to determine the type of a post by its content properties and their values rather than an explicit “post type” property, thus better matched to modern post creation UIs that allow combining text, media, etc in a variety of ways without burdening users with any notion of what kind of post they are creating https://indieweb.org/PTD
#
aaronpk
it's a more pragmatic distinction vs theoretical or semantic
#
arghc
thanks, gRegor, that's what I needed to hear! I was getting hung up on the description in h-entry that says it's time based content.
#
[KevinMarks]
We try to reuse the same properties as much as possible - name, summary, content, author, published date. Schema tends to build a big class inheritance structure, we try to minimise properties to useful ones for consumers, and avoid too much abstraction.
#
benatkin
I'd like something like NewsBlur for reading articles where they get checked off as read - that might be a good consumer of page based articles
#
benatkin
it could show them in a tree I guess, or in something like a sitemap or a mind map
#
benatkin
just thinking
#
[snarfed]
sounds like all the read it later apps? Pocket, Instapaper, etc
#
benatkin
but I realized I wasn't thinking of microformats in the right way
#
benatkin
Ah, I suppose it's related
#
gRegor
what is indiepaper
#
Loqi
Indiepaper is a "read later" service, in the spirit of Instapaper, for the IndieWeb https://indieweb.org/Indiepaper
#
benatkin
But I was thinking more in a list of things on the same site
#
benatkin
I guess if they had a collections feature and I could import third party collections
#
gRegor
One feature of Google Reader I was reminded of with a recent conversation was the ability to add any arbitrary page to your Shared feed (forget the actual term). Other friends on Reader could then read it and comment. It was handy to add arbitrary pages not part of a feed.
#
gRegor
Sounds similar, but a personal "read later"
#
gRegor
what is read later
#
Loqi
Read later is an indication on (or relating to) a website that one wants to save the URL to come back and read the content at a future time https://indieweb.org/read_later
#
gRegor
Hah, I keep coming across pages like this with outdated info on my /read posts. I need to clean those up.
#
[jamietanna]
I notice in https://fedifinder.glitch.me/# there's the ability to "follow" triggering a call to ie https://www.jvt.me/authorize_interaction?uri=https://mastodon.social/@ohhelloana - do we know if that's a url that we could have Bridgy Fed expose and therefore more easily link in with the follow UI?
#
[jamietanna]
I guess it's probably lower priority given the Glitch Twitter app will likely be lost next week
#
[jamietanna]
There's also on 👆 a way to import a csv of followings, it looks fairly straightforward, not sure if it's one we can add to BF?
#
[jamietanna]
And last thought from me is whether anyone's looked at doing a feed-per-person from BF? I'm trying to create a Microsub channel per person to keep in touch with people rather than seeing all the posts and maybe losing content from people
#
[jamietanna]
And yes I can absolutely create issues, just thought I'd drop thoughts here to see first
#
[snarfed]
in order, first q, sounds like remote follow?
#
[snarfed]
last I think granary can do
#
[jamietanna]
Yes, it looks like it is a remote follow
#
Loqi
[preview] [StarrWulfe] #355 Import/Export followers list
#
[jamietanna]
Interesting, is that usable with granary.io or do I need to self host something?
#
[snarfed]
granary.io!
#
[KevinMarks]
@benatkin I was thinking about memex like ideas recently https://www.kevinmarks.com/memex.html commonplace books are a similar idea
#
[snarfed]
and [tantek] documented Bridgy Fed's remote follow support a bit in https://indieweb.org/Bridgy_Fed#How_to_add_a_follow_form , feel free to see if you can redirect that /authorize_interaction path
#
[jamietanna]
Hmm, got an example of how to get it working on granary.io? I think the times I've tried it in the past the `Mastodon` box doesn't seem to like the URLs I give it
#
Loqi
[preview] [Ryan Barrett] So Mastodon 4 went js;dr, which means it requires JavaScript to render content. That means that server-side fetches of Mastodon 4 user profiles and posts, eg indieweb.social/@snarfed, no longer return the actual contents in the response. They definit...
#
[jamietanna]
Oh gotcha, that gives a single post, but not the feed as far as I can tell?
#
[snarfed]
yeah sorry it's non-obvious since it uses the as2 input, not mastodon, which is their own API
#
[snarfed]
user URLs should work too
#
[snarfed]
ah well, sorry, never mind
#
[jamietanna]
Yeah I was hoping to get full feeds, assuming that BF was needed so it can get all posts sent to it as it would already be following and receiving it
#
[jamietanna]
All good! Feature request it is 😁
#
[KevinMarks]
You could do it with the rss feed from mastodon via granary.io
#
[KevinMarks]
Though that is less rich than the h-feed was
#
Seirdy_
<[snarfed]> "https://snarfed.org/2022-12-03_4..." <- Meanwhile GoToSocial requires no JS but it only renders public posts with its read-only FE (an intentional feature). Akkoma's FE also got a new static version which requires no JS.
#
[KevinMarks]
Can we add mf2 to Akkoma like we used to have in mastodon?
#
[snarfed]
[jamietanna] ah damn, true, granary needs to sniff a bit more AP to handle outboxes
#
[tantek]
What is Akkoma?
#
Loqi
It looks like we don't have a page for "Akkoma" yet. Would you like to create it? (Or just say "Akkoma is ____", a sentence describing the term)
#
[snarfed]
should be easy to add though, easier than in BF
#
[tantek]
[KevinMarks] start with defining it and a link to their repo!
#
[tantek]
What is GoToSocial
#
Loqi
It looks like we don't have a page for "GoToSocial" yet. Would you like to create it? (Or just say "GoToSocial is ____", a sentence describing the term)
#
[jamietanna]
Ah OK, I can raise an issue for it but think I may have to leave it for someone with more AP experience 🤕
#
[tantek]
Seirdy_ can you help with defining GoToSocial and adding a link to their repo?
#
Seirdy_
GoToSocial is an ActivityPub server written Go. It provides a lightweight, customizable, and safety-focused entryway into the Fediverse. https://gotosocial.org/
#
Seirdy_
It mandates Authorized-Fetch (you can't turn it off) and only renders public posts, which combined is intended to help increase the friction for targeted harassment and block-evasion.
#
Seirdy_
Gargron (Masto lead) has a much more, uh, privileged view on moderation than the people behind that project. Which I think was one of their motivations.
#
Seirdy_
I think it's looking to become a much better option than Masto
gerben joined the channel
#
[KevinMarks]
So that is not a good project to propose microformats to as they oppose being on the web?
#
Seirdy_
No, public posts are on the web
#
Seirdy_
Posts are public, unlisted, followers-only, or direct.
#
Seirdy_
idk if replies are rendered lemme check
#
[tantek]
That sounds like a great opportunity to add mf2 for public posts only
#
[tantek]
Public as in no login required, viewable in private browsing mode etc
#
[KevinMarks]
Public replies rendered would work. Though I have seen some pushback on public post scraping too. (the twitter thing where you are blocked but can read the post on the web is either a precedent or a loophole depending on who is talking about it )
#
Seirdy_
yes we are quite averse to this. 4/5 of these shut down, takesama is up but got mass-defederated
#
[KevinMarks]
So the microformats webpage-as-api model is not a good fit for that mindset.
#
Seirdy_
a major concern is friction. with authorized-fetch, de-federating from an instance makes it impossible for posts to federate to it (unless it goes out of its way to lie about its name). having to visit the page then imposes some friction.
#
Seirdy_
i think mf should be fine, since the intention of posting with "public" visibility is to make it, well, public.
#
Seirdy_
you can make your default visibility unlisted so it's just "public less visible".
#
Seirdy_
as long as it doesn't significantly decrease the friction of block-circumvention.
#
Seirdy_
or targeted harassment
#
[KevinMarks]
Right. It's danah's old user story of "publish this to everyone in the world except my parents" - very hard in practice.
#
[tantek]
Danae’s user story has nothing to do with what mf2 would enable or not
#
aaronpk
i don't like this tight coupling between microformats and public content that i'm hearing, they are separate issues
#
Seirdy_
honestly yeah, agree
#
aaronpk
microformats can be used on non-public content, and doesn't inherently make it public. and non-public content without microformats can still be scraped and shared
#
[KevinMarks]
Both fair points, but the kind of pushback that we need to be ready for.
#
Seirdy_
yeah, i currently use mf and/or bridgy with webmentions to show replies to my posts on my site, but i don't think people give enough thought to deletion. i've resorted to regularly running a broken link checker; when a link breaks for a webmention, i contact the orig author and ask if they have a preference regarding honoring deletions. if they don't reply within a day or two, i remove the response from the site and then delete it from
#
Seirdy_
my server a week later.
#
Seirdy_
so ideally, projects attempting to "bring fedi to the indieweb" should also take deletion into account
#
Seirdy_
i don't think bridgy does webmention-deletes
#
Seirdy_
many users also have auto-deleting posts (it's a built-in feature for Akkoma)
#
Seirdy_
s/built-in/build-tin and opt-in/
#
Seirdy_
ahhhh *built-in and opt-in
#
Seirdy_
spelling is hard
#
[KevinMarks]
This is where tombstoning can help. If sites support edit but not delete, you first send an edit to [deleted], then send a delete.
#
[snarfed]
doing that in Bridgy ("webmention-deletes") would require polling all silos for every response ever backfed, currently 2.5m and counting 😐 https://github.com/snarfed/bridgy/issues/907#issuecomment-570738356
#
Loqi
[preview] [snarfed] > At a guess it’s about 1000 web mentions down the list. Is there an easier way to find it that clicking “older”? sadly no. at a high level, updating old webmentions when something changes like this is a good use case, but not something Bridg...
#
[KevinMarks]
If sites are sending their own Webmentions and WebSub updates it is doable, but not with polling bridges
#
[KevinMarks]
Plus someone can use it to make politwoops https://projects.propublica.org/politwoops/
#
[tantek]
Has anyone implemented explicit (or implicit) POSSE scheduling?
#
Seirdy_
what is POSSE scheduling
#
Loqi
It looks like we don't have a page for "POSSE scheduling" yet. Would you like to create it? (Or just say "POSSE scheduling is ____", a sentence describing the term)
#
[tantek]
Closest I have is a ~10min delay before items from my site are syndicated to my Atom/XML side file because of the unfortunately poor overcaching behavior of legacy feed readers
btrem joined the channel
#
[tantek]
Enough of a window to catch & fix obvious typos etc before they’re permacached in poorly written polling apps
#
[tantek]
What is scheduled
#
Loqi
scheduling in the context of the indieweb, refers to the feature of setting a specific time for a post to be published in the future https://indieweb.org/scheduled
#
Seirdy_
I just run `make deploy && toot post "$(cat /path/to/post.md)" && sh post-publish-hooks.sh`. If I wanna schedule I use the `at(1)` command.
#
[tantek]
And for that matter, has anyone built or thought about any form of POSSE snooze whereby you pause all POSSEing to a particular destination for some amount of time or until a specific date or until you unpause it explicitly
#
Seirdy_
make deploy builds and rsync's my static site, toot posts to fedi, and the post-publish-hooks submit the page for IndexNow indexing, save to the Wayback Machine, and send Webmentions.
#
[tantek]
There’s a big difference here between publishing on your own site, various legacy side files, and explicit POSSE to other derivations.
#
[tantek]
destinations*
#
Seirdy_
to schedule that, I just echo it all to at. Or use a sleep(1) command.
#
capjamesg
TIL at(1)
#
capjamesg
Seirdy_++
#
Loqi
Seirdy_ has 4 karma in this channel over the last year (7 in all channels)
#
[KevinMarks]
I just had a thought. Given that Mastodon does extension based conneg (add .rss or .json to get a structured version) could we pitch a .html to get the h-feed/h-entry microformats back
#
[tantek]
I don’t mind BFing right away because BF supports sending updates quickly and Mastodon supports respecting updates quickly
#
[tantek]
Good thought [KevinMarks]. This gets back to the questions raised about having a WP plugin to do that
#
[tantek]
Is there a definitive or recommended minimal h-feed template / style sheet for publishing systems to “just do” if they want to offer an HTML side file along side any variants of XML and/or JSON(-LD) side files ?
#
[tantek]
That might be worth an IndieWebCamp hack day project
#
[tantek]
And then implement it in all the h-feed generators from RSS/Atom/AS1&2
#
Seirdy_
yeah there should be a little tool to convert from parsed mf2 json into basic HTML.
#
Seirdy_
or even formalizing a (x)html serialization of it so it can be integrated into tools like extruct.
#
Seirdy_
https://github.com/scrapinghub/extruct pandoc for RDF-like structured data.
#
Loqi
[preview] [scrapinghub] extruct: Extract embedded metadata from HTML markup
#
[KevinMarks]
Granary and unmung kind of do that, but formalising it might be an idea.
#
Seirdy_
(I use the term "RDF-like" very loosely to refer to mf2, RDF(a), Microdata, Open Graph, DCMI, etc)
#
[tantek]
formalizing it might reduce the friction to developing lots of tools
#
Seirdy_
yeah the use case can be specifically for interop with more tools.
#
[tantek]
especially export/output from more tools
#
[KevinMarks]
RDF-like is asking for trouble a bit. I'd go with semantic or meaningful
#
[tantek]
ooh, yeah RDF-like is attaching unnecessary baggage to things which outright rejected RDF/SW framing/design/principles
#
[tantek]
tupletrees would be a more accurate generalization of most of it in practice
#
[tantek]
even in practice RDF is rarely useful before it is munged into a tupletree
#
[tantek]
(like almost no one is doing actual triple-graph ops as part of their well, ops)
#
Seirdy_
i think wikidata does, not sure tho
#
Seirdy_
whoever's funding rdf-star probably is
#
[tantek]
sure, there are a handful of enthusiast projects, just not much in practice that impacts what folks use day to day