#dev 2023-07-24

2023-07-24 UTC
bret, tei_, sp1ff and pharalia joined the channel
#
aaronpk
since IndieAuth is an extension of OAuth 2.0, you can always refer back to that spec for those details. but yes I agree we should make the example clearer in IndieAuth
tbbrown, tei_1 and bterry joined the channel
#
h​avenmatt
Awesome, thanks all!
tei_, cerealport, IWSlackGateway, jjuran, win0err and [Jo] joined the channel
#
Zegnat
https://koldfront.dk/git/illuminant/about/ - I love it when people bridge things. ActivityPub for NNTP (newsgroup) clients.
[snarfed] joined the channel
#
Zegnat
You had not thought of that one yet, [snarfed]? ;)
#
[snarfed]
correct
#
[snarfed]
at least it's client side, that makes marginally more sense. server to server would have been...very wat
#
sknebel
there are also bridges to use email clients
#
sknebel
i.e. SMTP and IMAP/POP3
#
sknebel
for retro-computing fans
#
Zegnat
I have read about how great newsreaders are, but never actually used one, so I cannot guess whether it would be a good way to use AP or not
kirbo_kirbstar joined the channel
#
petermolnar
Zegnat: that's brilliant
#
petermolnar
the AP -> NNTP thing
[schmarty] joined the channel
#
petermolnar
the one thing that eludes me is why seemingly every AP server needs PostgreSQL
#
[snarfed]
[KevinMarks] re python hosting, I'm still generally happy on App Engine, including for IO-bound workloads like fetching from external sites, just make sure you're using a threaded worker, eg entrypoint: gunicorn --threads 30 ... https://cloud.google.com/appengine/docs/standard/python3/runtime#entrypoint_best_practices
#
[snarfed]
losing the memcache free tier was sad, but I switched to in-memory caching and that's a decent replacement, as long as it's just for caching, not session state or anything
#
[snarfed]
I also hear good things about https://fly.io/ , https://render.com/, and even Vercel's python support
#
sknebel
petermolnar: I think a few have sqlite as an option too, but since lots of them target multiuser operation postgres is the default?
#
c​apjamesg
Vercel has Python support?
#
shreyan[m]
yeah it's a bit hacky but it works pretty well
btrem, [KevinMarks] and angelo joined the channel
cobypear, geoffo and [manton] joined the channel
#
[manton]
Writing a blog post with part of the premise that it’s impossible to build a social web platform that is compatible with Mastodon just by reading the W3C specs. Is that fair? I know I’m not the only one who feels like they are reverse-engineering things but wonder if it’s truly possible with specs alone. [snarfed], [aaronpk], and others… Curious if you have thoughts.
#
aaronpk
no it's absolutely not possible with just the activitypub spec, AP is more of a framework or an idea of a spec, and it requires more details to make something actually work
#
[snarfed]
webfinger is maybe the most obvious part, afaik the AP spec doesn't mention that at all
#
[snarfed]
that's at least fediverse-wide though, not Mastodon-specific
#
[snarfed]
hell I can't even get some things like mentions working even _after_ reverse engineering Mastodon
#
[snarfed]
anyone else here managed to get AP mentions working?
#
aaronpk
webfinger was never supposed to be part of AP, and doesn't need to be
#
Loqi
[preview] [gRegorLove] #493 Add support for publishing mentions
#
aaronpk
but authentication was the part that was intentionally left out of AP that we knew we were going to have to spec later
IWSlackGateway and [snarfed] joined the channel
#
[snarfed]
aaronpk yes true, but it is needed for current user-level fediverse interop
#
[snarfed]
anyone know of an AP implementation that doesn't do webfinger and interoperates with...anything? honestly curious
[manton] joined the channel
#
[manton]
To be clear, when I say specs I mean AP, ActivityStreams 2.0, HTTP Signatures, WebFinger. Everything! I still wonder if it’s possible.
#
[snarfed]
ah. not sure then
#
[manton]
Like if you gave someone all these specs, could they implement it?
#
[manton]
Without also saying: “make sure to sign the requests like this”, etc.
#
aaronpk
no I think there is still some missing pieces
#
[snarfed]
you'd have to know to use a specific non-latest version of HTTP sigs (12 iirc?)
#
[manton]
Right. It’s like the specs have all the pieces, but what’s missing is something that ties it all together.
#
aaronpk
we kind of have the same problem with webmention, since it's not entirely clear how to get from the webmention spec to being able to interpret the microformats on a page
#
c​apjamesg
I’m tempted to implement parts of ActivityPub to learn more about the spec.
#
[snarfed]
maybe. to be fair, most of the Mastodon-isms I found were restrictions that Bridgy Fed only hit because it's a bridge, so it tried to use ids and urls across domains, which notably Mastodon but also others disliked
#
[snarfed]
same with preferredUsername etc
#
[manton]
Yeah, I ran into those kind of URL mismatch problems too. Actually just a few days ago! Because Calckey was rejecting something if my key ID didn’t have the same domain name as my actor ID.
#
[manton]
[aaronpk] That’s a good point about Webmentions + MF2. It’s not complicated but would benefit from a “how to fit the building blocks together” write-up.
#
[manton]
Er, I guess I kind of wrote that, but it’s longer: https://book.micro.blog/webmention/
#
aaronpk
we even have https://spec.indieweb.org/ but it still isn't the complete picture
#
c​apjamesg
I think the lack of a test suite for AP fits in here.
#
[snarfed]
iirc most Mastodon-isms were about AS2 object structure/interpretation, and are now fediverse-isms, not Mastodon specific. summary for content warning, hashtags, mentions, where keys in actors are. remote follow in webfinger is maybe one exception, and afaik isn't in any spec? very optional though
#
[snarfed]
capjamesg++
#
Loqi
capjamesg has 40 karma in this channel over the last year (115 in all channels)
#
aaronpk
urgh, classic. I'm tryign to deploy an app that requires PHP 8.2, but my main server is too old to install that version. Upgrading that server is too risky because it probably has some things on it that require an old version of some software on it. so i'm about to spin up a new server. and this is how my hosting bill gets so large
#
c​apjamesg
How many servers for personal projects do you maintain aaronpk?
#
[snarfed]
[obligatory off the cuff serverless plug]
#
c​apjamesg
I’m at two, because one required enough RAM to crash everything else on my server.
#
aaronpk
4 not including the indieweb or microformats servers
#
c​apjamesg
*one app required enough RAM
#
c​apjamesg
(My Taylor Swift voice comparison tool.)
#
c​apjamesg
[snarfed] what is a good place to start with serverless?
#
aaronpk
[snarfed]: if heroku didn't cost so much to deploy a simple app i would use it more often. but by the time you add a database and redis it starts adding up fast
#
[snarfed]
capjamesg not sure how to answer that, it's maybe too broad a question?
#
c​apjamesg
Perhaps that’s my inexperience talking.
#
[snarfed]
aaronpk yeah understood. lots of other options though, heroku's serverless architecture is pretty dated now afaik
#
c​apjamesg
Suppose I have a Flask app. I want it to dynamically scale. Where do I begin?
#
[snarfed]
pick a host and deploy it?
#
[snarfed]
fly, render, vercel, app engine
#
c​apjamesg
Do I need to write app logic code to make serverless work on day GCP or Lambda?
#
[snarfed]
esp easy if it doesn't store data, but also very doable if it does
#
c​apjamesg
*on say
#
[snarfed]
again I'm not sure how to answer, you need app logic code to have an app, right?
#
c​apjamesg
Wow. This is way different to what I expected
#
c​apjamesg
Skimming the AWS Lambda docs renders my aforementioned questions moot.
#
[snarfed]
lambda is a bit awkward in a few places, not the place I'd recommend starting, but it can work
#
c​apjamesg
Oh this is so clever.
#
c​apjamesg
I’ll need to try Cloud Run for something.
#
aaronpk
i suppose i can try vercel, everyone keeps mentioning that
#
c​apjamesg
I guess this wouldn’t be ideal for RAM-intense apps?
#
[snarfed]
capjamesg https://github.com/snarfed/bluesky-atom/ is a pretty simple example Flask app that runs on serverless. everything there is stock Flask etc except app.yaml, the runtime config, which is pretty simple
#
c​apjamesg
Because you’d have to load something into memory for each container spun up?
#
[snarfed]
capjamesg right but you can easily run on big machines, you just specify that in your config
#
c​apjamesg
I see.
#
c​apjamesg
I need to research billing.
#
[snarfed]
you can usually control scaling, eg a hard upper bound on instances to manage costs
#
[snarfed]
Cloud Run is like Lambda, maybe more aimed at enterprise microservices than small consumer apps. check out App Engine if you like GCP
[KevinMarks], [schmarty], win0err, Soni, lanodan and tei_ joined the channel
#
[KevinMarks]
Lambda suffers from the AWS syndrome that you need to budget a day for debugging permissions each time you change the config, because AWS fails like Vogons when you get one tiny thing wrong rather than giving error messages
#
[KevinMarks]
I used to like Heroku but it has rotted badly
tei_1, superkuh and tei_ joined the channel
#
Loqi
[Joel_Auterson] has 1 karma over the last year
#
Loqi
[preview] [JoelOtter] #1523 Add Bluesky backfeed support
win0err joined the channel
gRegor, tei_ and TechLifeWeb joined the channel