#dev 2023-01-24

2023-01-24 UTC
sebbu, [jeremycherfas], starrwulfe, [Rose], gxt, IWSlackGateway and to2ds joined the channel
#
aynish
hello everyone, I'm looking to build webmentions into my blog, which is statically hosted, though deployed nightly. what would be required to self host something like webmentions.io? or would it be better to build my own tool?
IWSlackGateway joined the channel
#
jeremycherfas
hello aynish
#
starrwulfe[m]
aynish: check the project GitHub for a full example —
#
Loqi
[preview] [aaronpk] webmention.io: Easily enable webmentions and pingbacks on any web page
#
jeremycherfas
You can find other places to start in the See Also section of /SSG
#
jeremycherfas
What is SSG
#
Loqi
Static site generators or SSGs are programs that take a set of flat text files on disk and transforms them into a set of static HTML files ready to be served by a standard web server, or some variation of this example https://indieweb.org/ssg
#
aynish
that's awesome thank you so much :)
[KevinMarks] joined the channel
#
GWG
Self hosting Webmention.io may be a bit much for a single user though
#
aynish
yeah, i'm looking into others who've written an SSG with webmention support :) i should be able to co-opt some code or at least understand what needs to be implemented
#
[KevinMarks]
depends what your favourite language to read is - there's also https://github.com/voxpelli/webpage-webmentions in node and https://github.com/kevinmarks/mentiontech in python
#
Loqi
[preview] [voxpelli] webpage-webmentions: A hosted Disqus-like comment service that enables WebMention receiving on any kind of site
#
aynish
well my ssg is python so, makes sense to go with that haha
#
aynish
Clojure could be fun though
#
[KevinMarks]
the mentiontech code uses the AppEngine callback model a lot, but the basics should make sense
tiim_ joined the channel
#
aynish
oh you're the one who made it!
#
aynish
cool
#
aynish
what is AppEngine
#
Loqi
Google App Engine is a an application hosting service that supports several programming languages https://indieweb.org/AppEngine
#
aynish
I like that you vendored all the dependencies hahaha
#
Loqi
aynish: lol
tiim, starrwulfe, [schmarty] and geoffo joined the channel
#
IWDiscordRelay
<c​apjamesg#4492> Loqi 🤣
to2ds and [snarfed] joined the channel
#
[snarfed]
Re "The beauty of the copy and paste solution is fewer 3rd-party dependencies."...
#
[snarfed]
The downside is way more code that you didn't write and now have to maintain on your own, without help from its authors or maintainers
#
[snarfed]
ie, vendored deps are definitely still third party dependencies, just without the community support
[tantek] joined the channel
#
IWDiscordRelay
<c​apjamesg#4492> is pondering a new blog post to write
to2ds joined the channel
#
to2ds
I forgot the smiley on the copy and paste quip. It was meant as a joke. My bad.
Skyther[d] and IWDiscordRelay joined the channel
#
[snarfed]
to2ds also apologies, you were talking about a different thing than vendoring ^ above, totally my bad!
[Caleb_Hearth] joined the channel
#
[Caleb_Hearth]
Hi! I’m working on some webmention things and have been using the microformats gem. It looks like it hasn’t gotten a lot of attention other than ruby and dependency version bumps since ~August of 2018. It’s currently not able to be updated to Ruby 3.2 (the latest version) and so it was removed from Mastodon as a dependency when [a PR to bump that](https://github.com/microformats/microformats-ruby/pull/131) languished. Iâ€
#
[Caleb_Hearth]
wondering if the maintainers ([shaners], Jessica Suttles, [ben_thatmustbe]) would be willing to let me step in to at least help out with dependency bumps?
#
Loqi
[preview] [tenderlove] #131 Remove upper limit on Ruby versions
[jacky] joined the channel
#
[jacky]
use for resolving maybe mf2+html _or_ mf2+json
#
[jacky]
inb4 conneg (lol), I'm looking for a reasonable accept header to use
#
[jacky]
I've been using `text/html, text/mf2+html, application/json, application/mf2+json, application/jf2+json`
#
[jacky]
which feels okay
#
[snarfed]
CONNEG-- (sorry, felt like shouting)
#
Loqi
CONNEG has -21 karma in this channel over the last year (-27 in all channels)
#
[jacky]
[Caleb_Hearth] thanks for the reminder on this!
#
[jacky]
wow looks like this got related to MF2 getting removed from Mastodon? https://github.com/mastodon/mastodon/pull/22923
#
[jacky]
that kinda sucks
#
Loqi
[preview] [tenderlove] #22923 Remove microformats gem dependency
#
[Caleb_Hearth]
For context it looks like it wasn’t being used anymore; the tests had been taken out unfortunately
#
[snarfed]
[jacky] google says text/mf2+html and application/jf2+json don't exist...?
#
[jacky]
I can drop those two but I've included them since we have things like `application/jf2feed+json` (I remember seeing this in some spec)
#
[jacky]
they're all hints either way
#
[snarfed]
as long as you're ok with inventing mime types that no one emits yet!
#
[jacky]
it'd be with a lower q-value
#
[Caleb_Hearth]
[jacky] I haven’t had a chance to PR it but I have a commit on my fork that:
#
[Caleb_Hearth]
• drops unsupported ruby version support
#
[Caleb_Hearth]
• Fixes CI
#
[Caleb_Hearth]
• Removes version limitations that were there to artificially protect people, but actually lead to a maintenance burden
#
[Caleb_Hearth]
• Passes its tests
#
capjamesg
What is Nix?
#
Loqi
It looks like we don't have a page for "Nix" yet. Would you like to create it? (Or just say "Nix is ____", a sentence describing the term)
#
[jacky]
Nice! I don't have commit bits to microformats-ruby but those changes look GTM
#
[snarfed]
[Caleb_Hearth] https://github.com/orgs/microformats/people?query=role%3Aowner shows more people who could eventually make you a committer on the repo, assuming your first PR or two go ok. people there who are active here include [aaronpk] [KevinMarks] [gRegorLove] [tantek] [tommorris]
#
[Caleb_Hearth]
↩️ Cool, thanks. I was going off of the gemspec but definitely others around. https://github.com/microformats/microformats-ruby/pull/132 is the PR if anyone wants to look at it.
#
Loqi
[preview] [calebhearth] #132 Remove failing codeclimate-action step
to2ds joined the channel
#
to2ds
No worries [snarfed]. I was unfamiliar with the term "vendoring(s)." Now there's something I can make more bad jokes about 😄
#
[KevinMarks]
I originally made that in a bit of a hurry as we were going through the webmention spec process, and I implemented from the spec to check it. I have a fair bit of technical debt there to tidy up at some point.
#
[tantek]
[Caleb_Hearth]++ amazing. Thanks so much for doing that analysis and the heads-up. Are you able to submit a PR to the microformats-ruby repo? I'm not a Ruby expert but I'm happy to do a general code review (fluent in C/C++, ok in JS&PHP). Could use at least one Ruby-fluent reviewer
#
Loqi
[preview] [calebhearth] #132 Remove failing codeclimate-action step
#
[tantek]
Oh goodness just saw that you replied in thread and I missed it. Sorry about that. Our chat tends to flatten everything for compatibility with folks using IRC, Matrix etc.
#
[tantek]
(so I forget to check any threads)
#
[Caleb_Hearth]
Yeah I wondered if that might be happening. It’s unfortunately probably going to want a Rubyist to review, but what’s happening is that I relax all version requirements except the minimum Ruby requirement, drop support for Ruby versions that are no longer supported by Ruby’s own maintainers, and remove the Code Climate step which was broken because of a missing/incorrect ENV value, but which I figured wasn’t super duper
#
[Caleb_Hearth]
important.
#
[tantek]
Indeed, I know there are some folks here who develop more with Ruby
#
[tantek]
might be on the indieweb wiki, let me check
#
[tantek]
what is ruby
#
Loqi
Ruby is a programming language and web server runtime environment used for some IndieWeb projects https://indieweb.org/Ruby
#
[Caleb_Hearth]
By the way I’ve been following your blog updates and they’re really great.
#
[Caleb_Hearth]
I’ll request those folks on the PR.
#
[tantek]
Ah, [jgarber] would be perfect for this, just added him to the PR as a reviewer.
#
[Caleb_Hearth]
oh I guess I can’t, so thanks!
#
[tantek]
Thanks for the kind words [Caleb_Hearth] 🙏 I have a couple more updates to post today
#
[Caleb_Hearth]
This is all for a general purpose Webmention send/receive (but only receive) tool for Ruby/Rails projects. Parsing out h-* isn’t 100% necessary but will be a huge step up.
#
[jacky]
(esp for making links into likes, heh)
#
[tantek]
yes it makes a big difference
#
[Caleb_Hearth]
Yup. I have brid.gy set up to forward a bunch of webmentions to my site and I’m persisting them already, but it hasn’t been worth even adding them to the pages yet.
gRegor joined the channel
#
[tantek]
I've been very impressed by the quality of responses from Mastodon folks so I'm thinking of coding displaying webmentions in a few steps: check if domain is on a blocklist (e.g. bad fedi instance, or spam blog), and display it if it isn't from Twitter, then if it is, check for a Twitter allow list (may start with my followings there) and if it is then allow it.
#
[Caleb_Hearth]
[tantek] would you mind approving the GitHub CI flow there so that when [jgarber] has a chance to take a look it’s already been run?
#
[Caleb_Hearth]
Nice!
#
IWDiscordRelay
<c​apjamesg#4492> How do you use Mastodon [tantek]?
#
Loqi
[preview] [Tantek Çelik] #TwitterMigration, first time? Have posted notes to https://tantek.com/ since 2010, POSSEd tweets & #AtomFeed. Added one .htaccess line today, and thanks to #BridgyFed, #Mastodon users can follow my #IndieWeb site @tantek.com@tantek.com No Masto...
#
IWDiscordRelay
<c​apjamesg#4492> How do you read Mastodon?
#
[tantek]
via notifications on my Bridgy Fed dashboard, and threads from those.
to2ds joined the channel
#
to2ds
The naming convention is @domain@domain and not @user@domain?
#
[tantek]
to2ds, they're the same picture
#
[tantek]
for indieweb folks
#
to2ds
Ah! Just trying to wrap my head around all these modes of interactivity.
#
[tantek]
it's simpler when you are the domain
to2ds joined the channel
#
to2ds
Makes sense. Didn't know it was possible for a personal website to emulate an instance.
petermolnar, IWSlackGateway and [tantek] joined the channel
#
[tantek]
to2ds yeah! check out https://fed.brid.gy/docs for more how to set that up
#
starrwulfe[m]
[tantek]and [snarfed] ever thought about doing a short screencast series together to show functionality so folks like to2ds can see how it works? It's a really nice hunk of code that makes it all run, and it's pretty reliable too.
[snarfed] joined the channel
#
[snarfed]
hmm! I haven't, no, but others have for Bridgy non-Fed. I'd happily support anyone else who wanted to do the same for Bridgy Fed
#
starrwulfe[m]
A wild BridgyFed listing appeared in the updated syndication links plugin so if I get it working, I might just take you up on that offer
#
[tantek]
starrwulfe[m], maybe once I'm completed the circle and started showing responses from Bridgy Fed. That would make for a compelling story / demo.
#
starrwulfe[m]
Yeah-- would be nice to get a few different setups and show the differences in implementation too.
#
Loqi
Yeah has -1 karma over the last year
#
starrwulfe[m]
😣 aww Loqi, c'mon man!
[KevinMarks] and to2ds joined the channel
#
sknebel
yeah++
#
Loqi
yeah has 0 karma over the last year
#
starrwulfe[m]
Thanx sknebel, I was waiting for the timeout to balance it
#
to2ds
Thank you [tantek]. Will definitely need to go check the bridgy docs for federation.
#
[tantek]
There's a lot of great stuff there, worth reading and definitely ask any questions if anything seems unclear or unobvious. We all want to make the process of bridging and setting up interoperability easier for more people
#
to2ds
That is awesome! I'm think I'm ready on my personal website end having factored out the front end code from the CMS code and incorporated microformats at least on my equivalent to Notes.
#
to2ds
Whether IndieWeb is ready for my odd sense of humor remains to be seen 😄
mro and [jacky] joined the channel
#
starrwulfe[m]
to2ds: the indieweb runs deep with oddball memes and running gags. The format is actually perfect for it.
#
[KevinMarks]
I talked about this before, but a demo where you read a feed and reply to posts and it looks natural, then you reveal how many things were involved behind the scenes.
[chrisaldrich] joined the channel
#
[tantek]
that should be a demo we can do every year, like at every IndieWebCamp, and it should get more seamless with each iteration
#
[tantek]
preferably on a mobile device
t0nic and to2ds joined the channel
#
to2ds
starrwulfe[m] Good to know!
to2ds joined the channel
#
to2ds
[tantek][snarfed] The Bridgy Fed docs very clear, and the setup looks very straightforward. I think there's a little bit more work needed on my end to tune the microformats and possible create a webmentions endpoint, even if it just dumps to a text file at this juncture.
#
[snarfed]
thanks!
#
[tantek]
[snarfed] can you expand upon (or point to docs) that explain what the line "Tantek Çelik updated their profile " means on https://fed.brid.gy/user/tantek.com ? I haven't made any home page / h-card updates there recently (certainly not in the past few days), so I have no idea what would have triggered this or what it means (and the log item is empty "No log found!")
#
[snarfed]
hah, that was me, clicking on the new update button on your user page
#
sknebel
[snarfed]: something with the log link generation for that is wonky, somehow it puts a second url in the link
#
sknebel
removing that gives a working log
#
[snarfed]
hmm thanks! "working" but massive, need to prune logs to help cases like this with lots of followers and inbox deliveries
#
starrwulfe[m]
[snarfed]: can you get me an OPML list of people I'm following at some point? I'm trying to consolidate my followed AP accounts from the 6 (!) different mastodon/pixelfed/peertube/etc accounts I have all over the place into BF.
#
starrwulfe[m]
(it'll be awhile!)
#
starrwulfe[m]
...even if there was some way to expose a csv or something I could massage into an OPML on my side would be good
#
[snarfed]
sknebel ah no the log link is actually right, it just has a %20-encoded space. same with the link above, and it works
#
starrwulfe[m]
yep-- that's here I'm at right now copying usernames in one by one!
#
Loqi
yep has -1 karma over the last year
#
starrwulfe[m]
Psyduck.png
#
[snarfed]
hmm I'm confused then. there are only four there, right? you want an OPML file of those four?
#
starrwulfe[m]
Noooooooo 😂
#
starrwulfe[m]
when I'm done there's gonna be lots!
#
[snarfed]
if you're already collecting them yourself locally, maybe just keep them in a local file as you go?
#
sknebel
[snarfed]: ? when I click the link I get an error page
#
starrwulfe[m]
yeah, but you know, some of these expand out to strangeness depending on whether it's OG Mastodon, Pleroma, PeerTube,
#
[snarfed]
sknebel right, sorry, that log link itself is right, but _serving_ the log is broken, agreed. I can look eventually
#
starrwulfe[m]
What I can do is export from some of these accounts...
#
[snarfed]
ah ok. sure, I can get you that export
#
starrwulfe[m]
🤦
#
starrwulfe[m]
duhhh
#
[tantek]
[KevinMarks] don’t we have a canonical HTML+mf(2) markup answer/equivalent to OPML yet in 2023? (So folks can publish simple HTML and anyone “wanting” OPML can use a munging service)
#
starrwulfe[m]
>>not you, me. LOL
#
starrwulfe[m]
I can also just try exporting from my other accounts elsewhere. but there's one I know that won't work.
#
[tantek]
I suspect h-card s of XFN links is either insufficient to express desired semantics, or I sufficiently specified for publishing / consuming interop /integrity / lossless roundtripping
#
[tantek]
insufficiently* specified
#
[KevinMarks]
That was XOXO , but I didn't keep the OPML conversion going, just the XOXO <-> JSON
#
[KevinMarks]
OPML is weird in quite a few ways
#
starrwulfe[m]
All I want for Christmas is an Indieweb version of this:
#
starrwulfe[m]
If they could throw in some microsub/pub action...
#
sknebel
it'd be interesting to explore how mappable the two are to each other
#
sknebel
(mastodon API <-> microsub/pub)
#
sknebel
I can think of things that dont map, but maybe it'd still be a useable baseline
[Caleb_Hearth] joined the channel
#
starrwulfe[m]
They're pretty translatable seeing as how there's BridgyFed and [manton] did a great job integrating Micro.Blog with ActivityPub.
#
[snarfed]
Bridgy Fed doesn't use either Micropub or Mastodon API, just ActivityPub
#
[snarfed]
Bridgy non-Fed does Micropub => Mastodon API, but I haven't done a direct comparison
#
starrwulfe[m]
I hear the Mastodon API is kinda not the best...
#
starrwulfe[m]
There's room for improvement I gather?
#
[snarfed]
it's fine
#
starrwulfe[m]
why are some devs complaining about it?
#
[snarfed]
🤷 everyone complains about something?
#
starrwulfe[m]
that's the correct answer. LOL
#
starrwulfe[m]
Or is it the different implementations leave room for variances?
#
gRegor
[snarfed]++ for BF profile updates! Quick turnaround!
#
Loqi
[snarfed] has 67 karma in this channel over the last year (111 in all channels)
#
[snarfed]
welcome!
#
[tantek]
sknebel, I agree it would be an interesting exercise to do the set arithmetic of Mastodon API - Micropub - Microsub - IndieAuth = ? and figure out what pieces are left, and whether they should be added to existing protocols or maybe one or more new building blocks
#
[tantek]
[KevinMarks] it doesn't matter that "OPML is weird in quite a few ways", only the ways in which a non-trivial number of publishers publish "weird" OPML which is supported by a consuming code. Weirdnesses outside that can be ignored for the purpose of designing the HTML+mf2 equivalent.
#
gRegor
what is opml
#
Loqi
OPML stands for Outline Processor Markup Language, an XML-based format and defacto standard used for feed lists interchange https://indieweb.org/OPML
to2ds joined the channel
#
to2ds
It's like IndieWeb University here, I'll tell you what! :D