#dev 2021-06-22

2021-06-22 UTC
#
aaronpk
but yes i agree the wording there does not make that explicit or obvious, and could also easily lead to an implementation that compares atom:id values globally, leading to the article takeover you described
Seirdy and [snarfed] joined the channel
#
[snarfed]
sounds pretty easily testable, would be interesting to see how the top few readers behave
#
[snarfed]
and I assume we also want to add something to the h-feed spec to explicitly handle this?
#
[snarfed]
(or h-entry? not sure)
#
[tantek]
we should add something origin-based for u-uids
#
[tantek]
aaronpk, no I disagree with you're interpertation that "it doesn't say you *can't* limit the comparison to IDs only from the same feed or domain", actually that's exactly what it says in the part I quoted
#
[tantek]
it's not reasonable to have to iterate a bunch of things to "not do"
#
[tantek]
so therefore a spec saying "must be based *solely* on the IRI character strings"
#
[tantek]
specifically *solely* really does mean NOTHING ELSE, and yes, namespacing to domains is a form of *something* else as then you'd be comparing those namespaces
#
[tantek]
also the whole point of the UUID feature is so you can change domains and keep updating the "same" feed and entries, which we know since then is a horrible security hole. so I do think it is an actual mistake in the spec.
#
[tantek]
snarfed, I think this would be useful for h-feed and h-entry test cases
#
[tantek]
I do wonder if there's some way to salvage the "change domains and keep the same UUIDs" use-case, like adding a cross-domain redirect test, e.g. from the old feed URL/domain to the new one, and only in that case, allow UUIDs from the new one to overwrite the old one
#
[tantek]
like literally require as part of UUID processing, checking for a redirect via HTTP for the parent feed, and if so, "remembering" that domain association (unidirectionally) for allowing updates to UUIDs
#
[tantek]
separately, GWG do you have an Atom feed for your main site? or only RSS?
#
GWG
[tantek]: Atom is built into WordPress.
#
GWG
By default, at /feed/atom
#
[tantek]
Thanks GWG. I checked https://david.shanske.com/kind/article/feed/atom/ and it doesn't seem like the featured images in your articles are called out in any way in the feed.
#
[tantek]
as in visually your articles seem to have featured images but perhaps not explicitly?
#
[tantek]
(not explicitly marked up as such)
#
GWG
[tantek]: It might not be in the WordPress implementation. How does Atom suggest you do that?
[KevinMarks] joined the channel
#
[tantek]
It doesn't have an explicit feature for it, which is why I was wondering if WordPress came up with some way to express it
#
[tantek]
GWG, would you consider implementing u-featured in your theme for your featured images?
#
GWG
I think I might have done that at one point. It's complicated.
[tw2113_Slack_] and pepperoni_ joined the channel
#
aaronpk
You can base the comparison "solely" on the ID, but you can also decide the scope of what you're comparing that string against
#
aaronpk
But in any case it's definitely not well defined in either direction in Atom and we should solve that in h-feed
shoesNsocks1, capjamesg, pepperoni_, hendursaga, [KevinMarks], barnaby and [jgmac1106] joined the channel
#
petermolnar
what is SPOA?
#
Loqi
single point of aaron is when a relatively early IndieWeb technology is being developed and there haven't been enough implementations to create proper diversity causing an over reliance on one of Aaron Parecki's services in order for the technology to work broadly https://indieweb.org/SPOA
#
sknebel
I mean, there is this thing to intentionally make APIs fail X% of the time to get people to migrate off them :D
#
vilhalmer
I saw a google(?) presentation once where they had added a sleep that they kept increasing until no one was left using the endpoint
#
capjamesg
Wow haha.
#
capjamesg
Any source vilhalmer?
#
capjamesg
petermolnar this sort of makes me want to finish my webmention receiver.
#
vilhalmer
I can almost never find it when I need it, just by accident… let's see
#
barnaby
yeah I’m tempted to reply to that tweet with “jetzt ist es an der zeit, dein eigenen Webmention empfänger zu bauen!”
#
capjamesg
Wow vilhalmer. Amazing.
rockorager and barnaby joined the channel
#
aaronpk
grr the drive filled up with temp files again
#
barnaby
I have some unmanaged log files which tend to do that
#
barnaby
from #microformats:
#
barnaby
heh, I had forgotten the lengths to which my getAuthor function goes to find an author h-card https://github.com/barnabywalters/php-mf-cleaner/blob/master/src/BarnabyWalters/Mf2/Functions.php#L115
#
aaronpk
what is authorship?
#
Loqi
authorship is how to indicate who the author is for a post, and an algorithm that determines the author of a post https://indieweb.org/authorship
#
rockorager
Your fallback makes sense, barnaby
#
barnaby
I need to revisit that library at some point, it’s getting a little out of date
#
barnaby
at the moment the implementation in mf-cleaner is limited by not being able to fetch a second page by itself
#
aaronpk
something about the temp file handling in aperture is not cleaning up the files https://github.com/aaronpk/Aperture/blob/main/aperture/app/Media.php
#
barnaby
so it’s assumed that if it returns a string, it’s a URL which the user needs to fetch and find a matching h-card
#
aaronpk
even tho it looks like it should be according to the code
#
rockorager
I think the spec is still good though, a "deterministic" author should be explicitly defined vs implied by a top-level h-card
#
aaronpk
i should just move all the file handling off into a microservice on lambda or google cloud so that i never touch files in aperture itself
#
barnaby
rockorager: agreed. the extra stuff I’m doing is all optional fallback
#
Loqi
definitely
#
barnaby
aaronpk: or store them as blobs in a DB perhaps?
#
barnaby
oh I guess that would make the imagick usage harder
#
barnaby
aaronpk: is it the temprary resized files which are sticking around in https://github.com/aaronpk/Aperture/blob/main/aperture/app/Media.php?
#
barnaby
the only thing I can see reading through it is that _createFromFile https://github.com/aaronpk/Aperture/blob/main/aperture/app/Media.php#L74 never calls unlink($filedata), only unlink($resized)
hendursaga joined the channel
#
barnaby
although if $filedata is a temp file anyway, then I don’t see where the problem could be coming from either
#
aaronpk
Hm that could be
#
aaronpk
theres no automatic cleanup up the tmp folder
[schmarty] joined the channel
#
[schmarty]
Sometimes it will get cleaned up on reboot but that can be the same as never 😂
[tantek] joined the channel
#
petermolnar
aaronpk: `find /tmp -type f -iregex [namingpattern] -mtime +[number of min days of age] -delete`
#
petermolnar
^ put that in a cron with
[Ana_Rodrigues], [tw2113_Slack_], pepperoni_ and [snarfed] joined the channel
#
barnaby
[snarfed]: re https://github.com/snarfed/bridgy/issues/1047, twitter login is still broken for me, reproducible every time. 1. log out of bridgy 2. click twitter button 3. log into twitter 4. get a “There is no request token for this page.” error
#
Loqi
[barnabywalters] #1047 Twitter login failing with “There is no request token for this page.“
#
barnaby
reddit seems to not work either :/ github works seamlessly
#
barnaby
hmm looks like a firefox thing. it seems to work in chrome
#
[Ana_Rodrigues]
barnaby I had a similar thing a while back. If you clear you localStorage or cookies or something like that (I don’t remember which) (or try in incognito mode in your browser) it should work.
#
barnaby
oh good to know, I’ll try it out
#
[Ana_Rodrigues]
it is because it somehow stored two tokens
#
barnaby
I deleted all local data for *.twitter.com and reddit (brid.gy didn’t have any) and it still didn’t work
#
barnaby
hmm but incognito mode does work
#
barnaby
oh now it works. thanks [Ana_Rodrigues]++
#
Loqi
[Ana_Rodrigues] has 1 karma in this channel over the last year (21 in all channels)
#
[Ana_Rodrigues]
Oh i’m glad! : )
#
barnaby
so now twitter is working, reddit not
#
barnaby
[Ana_Rodrigues]: how did you figure out that it was storing two tokens? digging around in the cookies yourself?
#
[Ana_Rodrigues]
unless my memory is tricking it was because I was digging around yeah. as soon as it worked in incognito I figured it had to be something stored in the browser so I poked around but I can’t remember where I think I found that.
#
[Ana_Rodrigues]
ps: this was in chrome so I don’t think it is browser related.
#
[snarfed]
^ I’m fascinated by what could be causing this, but definitely don’t understand it yet. some errant cookie stored for Twitter or Reddit?
#
[snarfed]
(Bridgy only uses cookies for convenience, doesn’t depend on them for silo login, and this failure was on Twitter’s end anyway)
#
barnaby
seems like it was an errant cookie for twitter, doesn’t look like that’s whatever is causing the reddit issue though
#
barnaby
yeah I looked for brid.gy data to delete and didn’t find any
#
[Ana_Rodrigues]
yes - it is deffo from twitter. I never had to poke on anything related to bridgy.
#
[snarfed]
right. interesting that it happened for you on two silos, at roughly the same time. maybe browser extension or setting gone wrong, but still, such an odd failure model
#
barnaby
I’ll try logging into reddit in another browser to make sure
#
[snarfed]
ah, Reddit may be unrelated, may be a bug in Bridgy or in the Reddit lib we use
#
barnaby
yeah reddit looks like a bug on bridgy’s side, login fails on a separate browser
#
[Ana_Rodrigues]
this happened to me a couple of months ago btw. I “fixed it” on of the 18th of May.
#
[Ana_Rodrigues]
at the time I thought I had to renew my twitter permissions to bridgy so I removed access and gave it again. Then I tried incognito and that’s when I figured that it has to some data in the browser.
#
[Ana_Rodrigues]
When it first started to happen to me I think it was in March or April but I didn’t have the energy to find out why at the time. I could well be some browser extension I added.
wagle and kevinf joined the channel
#
[snarfed]
oh interesting barnaby you may be the first user we’ve hit who has a user subreddit? I don’t even know what that is (I don’t really use Reddit) but does that make sense?
#
barnaby
I have a user subreddit?!
#
barnaby
not as far as I’m aware
#
[snarfed]
maybe? u_barnabywalters?
#
barnaby
u/barnabywalters redirects to https://www.reddit.com/user/barnabywalters which is just a list of my comments/posts?
#
barnaby
it’s not something I ever explicitly activated or chose AFAIK
#
kevinf
Is this a good place to ask some newbie Flask questions?
#
barnaby
kevinf: sure, especially if they’re related to indieweb topics. I think there are some flask users here (I’ve used it a bit but not for a while)
#
[snarfed]
aha, never mind, praw cut a new release just recently and broke us by populating something they weren’t populating for. https://praw.readthedocs.io/en/latest/package_info/change_log.html
#
barnaby
ah that sucks. happy to be the canary in the dependency coalmine ;)
#
[snarfed]
np, thanks!
#
[snarfed]
Fortunately I get error notifications so I know you’re the first person who hit this
#
[snarfed]
(Or unfortunately, depending 😁 )
#
barnaby
it’s a pity it’s so hard to catch things like this in test cases
#
kevinf
Yes re Indieweb: I have my own domains (debone.com for example) and like Python and Flask ( I've learned how to use it at work on a private server), but don't know if I can run flask on the server my ISP provides for a particular domain, or even a good way to check.
#
barnaby
kevinf: what ISP provides hosting? most cheap shared hosting only supports PHP, although there are some (e.g. namecheap) which also support python, nodejs etc
#
kevinf
There are a couple, but debone is on earthlink. I could switch to a new ISP if it means a difference in Flask support, but I'd rather not. I have had bad experience with namecheap, though.
#
kevinf
@barnaby: Any other ISPs you know of that support Python/Flask?
wagle joined the channel
#
barnaby
there are some suggestions here https://indieweb.org/Python#Hosting
#
barnaby
at work we use heroku for python (django/flask) apps, but it’s going to end up being much more expensive than shared hosting
#
kevinf
Thanks for the link. I didn't see it from my probably poorly formed search phrases. I'll take a look there.
#
barnaby
webfaction used to be good for it, but they got bought by tsohost.com, and their site has a broken GDPR modal so I can’t be bothered to poke around their site to look at pricing and support. might be worth investigating though
#
barnaby
searching the web for “cheap python hosting” might also get you some interesting results
#
kevinf
barnaby: It seems having Python support is a "Cloud" thing vs just traditional web hosting? Do I have that right?
[fluffy] joined the channel
#
[fluffy]
I host my python apps on a linode server running nginx and gunicorn
#
barnaby
although beware of VPSs unless you want a lot of admin overhead
#
[fluffy]
I have heard good things about nearlyfreespeech.net
#
[fluffy]
But I haven’t tried them myself
capjamesg joined the channel
#
barnaby
kevinf: mostly, yeah. the vast majority of “traditional” cheap shared web hosts only support PHP, although there are some with support for other runtimes
#
[fluffy]
Dreamhost has support for wsgi apps via Passenger but I had a pretty bad experience with them at the end.
#
barnaby
there are many, many “cloud computing” services where you can run python/ruby/node/etc apps, but they’re usually priced significantly higher than otherwise-comparable shared hosting
#
barnaby
and IMO are overkill for a simple personal site both in terms of price and resources. YMMV though
wagle joined the channel
#
[snarfed]
alternatively plenty of those cloud services have generous free tiers
#
[fluffy]
They let you run wsgi on shared hosting but really want you to run it on their VPS, which has serious provisioning issues.
#
[snarfed]
eg App Engine is great for Python and Flask, and you can run a moderate app/site entirely for free. lots of others are similar. kevinf I’m happy to help there if you want
#
[fluffy]
But yeah if your app is suitable for heroku’s restrictions then give that a try. It’s fairly straightforward to use and the free tier is pretty expansive.
#
barnaby
I’m only familiar with the heroku free tier which puts apps to sleep when unused. amusingly you can get around that by making another free heroku app which pings your website every five minutes
#
[fluffy]
That tends to eat into your free tier usage pretty quickly though :P
#
barnaby
the other thing to watch out for on heroku is the lack of a filesystem
#
[fluffy]
Yeah. It’s designed for object storage.
#
[fluffy]
I think you have a build size limit of half a gigabyte, which is pretty generous for an app but pretty small for a website.
#
barnaby
so any images, css, js etc will either have to be stored as blobs in a DB and served via your app, which can get gnarly, or stored on and served from a separate service
#
[fluffy]
That’s not entirely true, you can serve up static resources from the heroku instance itself.
#
[fluffy]
But they need to be deployed as part of the site build.
#
barnaby
if they’re included in your build, yeah
#
[fluffy]
Publ.herokuapp.com stores all of the content on the app instance, for example.
#
kevinf
Hmm, my guess is that there is a growing demand for Python support for indie-webers and other small entities.
#
[fluffy]
But like if anything gets written out to local files it gets lost when the app gets rebuilt.
wagle joined the channel
#
kevinf
My experience using low cost cloud (GCP) is mixed, but that was for tf/keras + web page gen, but not for hosting/web server stuff.
#
[snarfed]
right. for web hosting, consider serverless options, since they’ll be cheap due to scale to zero and you’ll alost certainly fit inside most free tiers
[schmarty] joined the channel
#
[schmarty]
What is u-arbitrary?
#
Loqi
It looks like we don't have a page for "u-arbitrary" yet. Would you like to create it? (Or just say "u-arbitrary is ____", a sentence describing the term)
#
kevinf
I'll look into this. Meanwhile, as per barnaby's suggeston, I did a search and near the top was this list, but it's 7 years old: https://www.reddit.com/r/flask/comments/2321oc/easiest_and_fastest_way_to_host_flask_python/
#
barnaby
might mean that it looks in all u-* properties for a link to the target?
justBull, wagle and capjamesg joined the channel
#
kevinf
Thanks barnaby and all for that. I've got some things to check now.
#
barnaby
you’re welcome kevinf! feel free to pay it forward by documenting anything you learn about hosting python apps on the wiki
rockorager joined the channel
#
rockorager
[schmarty]: yeah, by u-arbitrary I meant u-*
barnaby joined the channel
#
[schmarty]
rockorager: cool! how does it handle cases where the source URL is missing microformats altogether? spec-wise, a "webmention receiver" is not required to be aware of microformats at all.
#
rockorager
huh.....i actually hadn't considered that
#
[schmarty]
it's mostly a concern for the bits and pieces that _consume_ the received webmentions from your receiver. e.g. displaying them as comments, sending you a notification, etc.
#
[schmarty]
services like webmention.io use microformats like u-in-reply-to to guess a "type" that can make things easier for consumers. webmentions that don't have any microformats indicator on them often just get labeled as a generic "mention".
capjamesg and rockorager joined the channel
#
rockorager
if there are no microformats, it give an empty js object
#
rockorager
I'll have to fix that
#
rockorager
It does a generic "mention-of" like webmention.io *if* there is no specific u-* mentioning the target
#
rockorager
BUT...that assumes the "mention-of" is contained in some sort of h-* parent
#
rockorager
so if there are no microformats at all, the link is ignored
pepperoni_, rockorager, [tantek] and capjamesg joined the channel
#
Loqi
Ok, I'll tell them that when I see them next
#
Zegnat
!tell doosboox just saw your Eddie post, quick comment: the reason "the user input is read when I Alt+Tab to another window" is because you have an onBlur. onBlur triggers on focus loss, which also happens not only when you tab out of the field, but also when the page itself loses window focus.
pepperoni_ joined the channel
#
@Cambridgeport90
↩️ That's actually why I'm moving off of WP for my personal site. Micropub and Indieauth keep dying with no troubleshooting information available.
(twitter.com/_/status/1407413966410686465)
[snarfed] joined the channel
#
[snarfed]
barnaby feel free to retry logging into Reddit in Bridgy, should work now
#
barnaby
yep, works fine now, nice work [snarfed]++
#
Loqi
[snarfed] has 24 karma in this channel over the last year (48 in all channels)
rockorager joined the channel
#
rockorager
When no microformats exist, what should the type of webmention be? When consuming, "mention-of" implies to me that I have microformats and I can pull p-content or something
#
rockorager
But if there are no microformats, unless I dump the entire <body> tag into a content value, it's not clear what to pull from the source
#
rockorager
If anything
#
barnaby
it’s up to you how you want to present content which links to your posts but isn’t marked up with microformats
#
rockorager
So I'm thinking of calling it just a "link"
#
barnaby
you could just show the URL and contents of the <title> element
#
rockorager
That's too much freedom for my puny brain
#
barnaby
or decide to not show it at all if it’s not valuable for readers
#
barnaby
pingback implementations typically found the <a> element containing the link to the target, and excerpted the paragraph containing the link
shoesNsocks1, barnaby, capjamesg, KartikPrabhu, pepperoni_ and [tantek] joined the channel
#
doosboox
Zegnat: oh! Thank you!
#
Loqi
doosboox: Zegnat left you a message 1 hour, 51 minutes ago: just saw your Eddie post, quick comment: the reason "the user input is read when I Alt+Tab to another window" is because you have an onBlur. onBlur triggers on focus loss, which also happens not only when you tab out of the field, but also when the page itself loses window focus.
[fluffy] joined the channel
#
@_shreve
↩️ Nice resources. I haven't implemented webmentions because I thought I would have to build a service for them myself.
(twitter.com/_/status/1407445291683491843)
[jacky] and [snarfed] joined the channel
#
barnaby
[snarfed]: what do you use tag uris for in granary? making domain-agnostic identifiers for things?
#
[snarfed]
ids for silo objects in a unified namespace
#
barnaby
I guess it makes sense for when you have to construct an ID for something which doesn’t really have a URL?
#
[snarfed]
the tag uri basically just concatenate the silo domain and its own id for the object, but it’s a nice wrapper
#
barnaby
I’ve mostly seen them used in the wild in ATOM for identifying blog posts, which always have URLs already, so I never really saw the point of the tag URIs
#
barnaby
but I can see them making sense in that context, and being more useful than making up a random opaque ID
#
[snarfed]
right, the readability and usability (since the silo id is visible in there) is nice
#
[snarfed]
and some are a bit more synthetic and involved, eg tag:twitter.com,2013:1407091343101284355_favorited_by_507922769
samwilson joined the channel