#dev 2023-11-15

2023-11-15 UTC
#
[cleverdevil]
(Sorry, got sucked into a meeting, hah. I'll be back here shortly!)
#
Loqi
meetings has -1 karma over the last year
#
aaronpk
meetings--
Renfield joined the channel
#
[cleverdevil]
[snarfed] I think I'd like to open source it eventually. My first priority is making it work for my own site, and I am not really being too careful about generalizing too much at this stage. Once I get things to a good state, I think that it would be fun and useful to clean up a bit and open source.
#
[tantek]
[cleverdevil] consider incremental open-sourcing, like common code/functions first
#
[cleverdevil]
@GWG no worries about using my own words on the IndieAuth implementation, heh. I am much more of a Micropub expert than an IndieAuth expert, and there are great tools out there (like micropub.rocks) to lean on to verify my work against the spec. There isn't anything like that for IndieAuth as of yet.
#
[cleverdevil]
[tantek] definitely worth considering!
#
[tantek]
literally what I've been doing with Falcon and CASSIS
#
[tantek]
and some other bits of common code like for link discovery
#
[tantek]
there are a bunch of IndieWeb building blocks that work well as open source libraries
#
[cleverdevil]
I have to say, the thing I am the most happy with at this point is the data model.
#
[tantek]
what is link discovery
#
Loqi
It looks like we don't have a page for "link discovery" yet. Would you like to create it? (Or just say "link discovery is ____", a sentence describing the term)
#
[tantek]
what is follow your nose
#
Loqi
👃 follow your nose is an intentional principle for designing discovery algorithms that start with the specific URL you want to discover things about, retrieving headers or contents, and parsing for particular link rel values to URLs to the desired information, in contrast to the “well-known” approach of looking outside the specific URL, like using only its domain and a hardcoded path https://indieweb.org/follow_your_nose
#
[tantek]
there we go
#
[cleverdevil]
Data on disk looks like this - `content/year=2023/month=11/day=14/<some-post-uuid>.json`
#
[cleverdevil]
I have roughly 15k files
bterry joined the channel
#
[tantek]
[cleverdevil] here is an example of what I mean by incremental open sourcing common / core functions as libraries etc.: https://indieweb.org/Falcon#Open_Source
#
[cleverdevil]
This SQL is issued to walk the entire directory structure and suck it into DuckDB. I get a view called `content` that I can query with plain SQL, very simply, and can build more complex queries if needed.
#
[cleverdevil]
(It'd be a lot smaller SQL statement if I didn't attach Overland location data to every single post!)
#
[cleverdevil]
overland++
#
Loqi
overland has 1 karma over the last year
#
[cleverdevil]
Basics of the API:
#
[jacky]
you mentioning this just inspired me to pull my own database for http://v2.jacky.wtf; 14 MB for a SQLite database is def more than I expected
#
[cleverdevil]
I have Post subclasses for things like Status, Blog, Listen, Watch, etc.
#
[cleverdevil]
`model.Post.query()` automagically returns the right thing and I can also get specific kinds directly: `model.Watch.query()`
#
[cleverdevil]
Or I can get a subset of kinds: `model.Post.query(kinds=['status', 'blog', 'photo'])`
#
GWG
[cleverdevil]: I enjoyed some of your experimental markup in the past.
#
[cleverdevil]
I am definitely a bit... loose with my markup 😄
#
[cleverdevil]
Guessing I have plenty of places where I am deviating from MF2. I'll certainly benefit from extra eyes once I get a little deeper into the experiment.
#
GWG
Wasn't suggesting deviation.... weren't you the one who added weather as a comment?
#
[cleverdevil]
Yeah, I did that for a while. Then Darksky went away
#
[jacky]
pours one out to a great API
#
[cleverdevil]
But, I still embed location data on every post, and have a ton of data from places like Swarm, Trakt, Overcast, etc.
#
GWG
[jacky]: PirateWeather is API compatible with Dark Sky
#
GWG
I just thought weather as a comment was clever
#
[jacky]
do you see yourself pulling that out from posts (like keeping a log of locations but looking up that info and composing by a timestamp?)
#
[jacky]
I'll check that out!
#
GWG
[jacky]: I do a lot of weird location stuff
#
[tantek]
what is PirateWeather
#
Loqi
It looks like we don't have a page for "PirateWeather" yet. Would you like to create it? (Or just say "PirateWeather is ____", a sentence describing the term)
#
[cleverdevil]
I stream my location using Overland to a little web service I wrote that just dumps it into an S3 bucket.
#
[cleverdevil]
Then, I pull the latest location down once a minute from S3 to my website's server into a static JSON file.
#
[cleverdevil]
When a post gets created, my site sucks that location data in and enriches the post content with it.
#
[tantek]
[cleverdevil] do you have any POSSE use-cases? Or have you fully quit all the silos?
#
GWG
What is Pirate Weather?
#
Loqi
Pirate Weather is a free and open weather forecast API created by Alexander Rey, and supported by the Simple Location WordPress plugin https://indieweb.org/Pirate_Weather
#
[cleverdevil]
I will absolutely support syndication to silos, but at this point I really only spend time on Mastodon and a little on Bluesky.
#
GWG
PirateWeather is Pirate Weather.
#
[tantek]
what is Pirate Weather
#
Loqi
Pirate Weather is a free and open weather forecast API created by Alexander Rey, and supported by the Simple Location WordPress plugin https://indieweb.org/Pirate_Weather
#
[tantek]
what is PirateWeather
#
[cleverdevil]
I have a tool running now that is deleting all of my tweets and historical likes as well, but its taking a long time. Twitter has rate limited everything to extreme levels at this point.
#
Loqi
PirateWeather is Pirate Weather https://indieweb.org/PirateWeather
#
[tantek]
^ GWG that didn't create a redirect
#
GWG
Oops
#
[tantek]
[cleverdevil] for Mastodon do you plan to directly federate (or already to?) e.g. using Bridgy Fed, instead of POSSEing?
#
[tantek]
what's your use case for Bluesky? Is it a Twitter replacement for you?
#
GWG
I still am most interested in United Federation
#
[tantek]
of Planets?
#
[tantek]
what is a Planet
#
Loqi
A planet, in the context of the indieweb, and blogs/feeds for even longer, is a site that aggregates feeds/updates from a variety of sources, typically focused on a particular topic or community https://indieweb.org/planet
geoffo joined the channel
#
[cleverdevil]
[tantek] I will send posts to silos using their APIs from my site, and then rely on Bridgy to send webmentions back.
#
[cleverdevil]
When Twitter jumped the shark, I seriously ramped up my use of Mastodon, and now self-host an instance. Bluesky has attracted a different audience, which fills a gap that Mastodon doesn't. Honestly, I am not sold on Bluesky, and have lots of skepticism about its leadership and monetization strategy.
#
[cleverdevil]
Mastodon is honestly great. It just doesn't have the same level of zeitgeist relevance as Twitter did in its prime.
#
aaronpk
[cleverdevil]: btw in case you missed it, I *finally* did a bunch of updates to Overland this weekend, if you want to join the testflight beta there's a link on https://indieweb.org/Overland
#
[cleverdevil]
What's new?
#
aaronpk
it actually works in the background on iOS 17 now :)
#
aaronpk
tho if you installed it a long time ago i think it keeps the legacy permissions anyway
#
[cleverdevil]
Ah, yeah, its been working fine for me, I think.
#
aaronpk
it has dark mode now too 😎
#
aaronpk
i don't know if you use the trips feature, but it should include a total step count at the end of the trip now
#
[cleverdevil]
Cool, I will join the TestFlight for sure.
#
[cleverdevil]
(This is locked behind an authentication wall for obvious reasons, hence the screenshot).
#
aaronpk
i realized i have enough users of it that i don't want to just push out the update without getting some people to verify that it actually still works
#
[cleverdevil]
Installed and its running. Did a quick force sync and it worked.
#
[cleverdevil]
Dark mode is a nice touch already 😄
#
sknebel
apropos, Google recently announced that they'll require non-company-owned Android apps to have at least 20 beta testers to "ensure quality". thats going to be a mess...
#
aaronpk
oh wow that won't be gamified and spammed at all
#
aaronpk
[cleverdevil]: if you see speed -1 then delete the app and reinstall. i heard one report of that already
#
[cleverdevil]
Showing speed: 0
#
[cleverdevil]
So, I think I dodged whatever bullet that was
#
aaronpk
i assume you are currently not moving so that is good
#
[cleverdevil]
Just with the rotation of the earth
#
[cleverdevil]
Other than that, I am stationary 😉
#
aaronpk
and the earth's orbit around the sun
#
[cleverdevil]
How could I forget?!
#
aaronpk
anyway if anything else super weird happens try deleting and reinstalling first
#
[cleverdevil]
Cool will do
gRegor joined the channel
#
GWG
Okay, after it is merged, my IndieAuth web sign in code is up to the latest spec. Have to decide what I'll do next. Whee
[jeremycherfas] joined the channel
#
[jeremycherfas]
!tell [cleverdevil] Would you mind sharing your approach to exporting your Known data to json files?
#
Loqi
Ok, I'll tell them that when I see them next
#
[cleverdevil]
[jeremycherfas] I wrote a series of fairly hacks scripts. The first one connects to the Known database and loops through every single “entity” (post) in the database. It dumps the Known-specific JSON data to a simple directory structure. It also calls a simple PHP script that uses the Known library to render each post as HTML. Then, I have a second script that walks through the exported data and uses mf2py (Python library) to genera
#
[cleverdevil]
MF2 JSON representations of each post. It also looks at the JSON from Known and pulls some extra detail to add to the output from mf2py.
#
[cleverdevil]
I could probably open source these.
IWSlackGateway, jjuran, jjuran_, [Murray], [KevinMarks], lanodan and omz13 joined the channel
#
jeremycherfas
I'd appreciate that. Do your scripts pull down images too?
wagle, [benatwork], [tantek], eitilt, [jacky] and [schmarty] joined the channel
#
[cleverdevil]
[jeremycherfas] no, it just pulls the URLs to the images. I will make an additional script that will do image downloads to the media endpoint, but am waiting to do that until I get a bit deeper in the project.
[aciccarello], eitilt, geoffo, [marksuth], [nsmsn], [bjoern], gRegorLove_ and [snarfed] joined the channel
#
[snarfed]
hit a big Bridgy Fed milestone yesterday: alpha Bluesky support is feature complete! it's successfully bridging all basic interactions, both directions: user discovery, following, posts, replies, likes, reposts
#
[snarfed]
between that and [Joel_Auterson] building Bridgy Publish for Bluesky, we're getting close to full POSSE, backfeed, and federating support from the IndieWeb
#
aaronpk
wow congrats!
#
aaronpk
[snarfed]++ [Joel_Auterson]++
#
Loqi
[Joel_Auterson] has 3 karma in this channel over the last year (5 in all channels)
#
Loqi
[snarfed] has 88 karma in this channel over the last year (138 in all channels)
#
[snarfed]
thanks man!
#
[snarfed]
now the hard part: ship it without everyone in the fediverse knee-jerk defederating BF
#
aaronpk
can you at least run the bluesky bridge on a separate subdomain so that defederating it doesn't also deferedate the rest of bridgy?
#
[snarfed]
yeah it already is
#
[tantek]
is it bs.brid. gy? 😉
#
[snarfed]
lol no either atproto. or atp.
#
[snarfed]
the galaxy brain approach would be to give each _instance_ in each protocol its own BF subdomain. that would let admins defederate individual bridged instances, but not the whole bridge. theoretically possible if I converted dots to dashes, maybe, but not easy. https://github.com/snarfed/bridgy-fed/issues/711
#
[aciccarello]
lol http://bs.bridg.gy would have been great
#
[snarfed]
evergreen bluesky joke 😎
geoffo joined the channel
#
[tantek]
or blues.brid. gy 🎷
geoffo and eitilt1 joined the channel
#
[m]
Does this mean that we are close to cross posting to Bluesky? 😊
#
[tantek]
Close to federating I hope, without the need for a separate account but we shall see!
#
[snarfed]
[m] yes! cross posting via Bridgy classic seems imminent: https://github.com/snarfed/bridgy/issues/1580#issuecomment-1812105075
#
[jacky]
niceeeeee
#
[snarfed]
federating is probably still month(s) away, since it depends on Bluesky themselves turning that on
#
[jacky]
[snarfed]++ and [Joel_Auterson]++ for hacking on this!
#
Loqi
[snarfed] has 89 karma in this channel over the last year (139 in all channels)
#
[jacky]
oh no it doesn't chain
#
[m]
[snarfed] cool, I’m a bit new to this stuff but does it mean I can add a syndication link to my post and send it to Bluesky using web mentions?
#
[snarfed]
[m] not yet but soon! hence "imminent." it'll work like this: https://brid.gy/about#publishing
geoffo joined the channel
#
[tantek]
[jacky] the ++ only works on the first and last 'words' in a chat statement
#
[tantek]
good to know [snarfed]. I suppose it will be worth experimenting with POSSEing to get a feel for what posts look like on the other side
geoffo joined the channel
#
[jacky]
ahhh okay
#
[tantek]
hey it looks like Mastodon embeds have enough visible content to markup with mf2 h-entry etc. — has anyone tried? https://sonomu.club/@staxl/111416437885924112/embed
#
[tantek]
also does anyone here support adding /embed on the end of their post permalink to provide a small iframe-ready version of their post for embedding?
#
[tantek]
wondering if that's a convention worth adopting
#
[aciccarello]
Would you link to the embed version? Seems less than optimal.
#
[KevinMarks]
it has an h-card still there. Maybe we coudl add back in the other mf2 that was lost in 4.0
#
[tantek]
exactly [KevinMarks]
#
[tantek]
aciccarello, you could automatically embed it in a reply-context! there are lots of use-cases
geoffo joined the channel
#
[aciccarello]
Ah, I see. That makes sense.
#
[tantek]
and then we could try to link to it from Mastodon permalinks with with <link rel="alternate" type="text/mf2+html" "./embed" /> for discovery
#
[aciccarello]
What does it mean to deprecate HTML permalinks?
#
[aciccarello]
> As of v4.0.0, HTML permalinks for statuses and profiles have been deprecated and removed from Mastodon.
#
[tantek]
Ugh I should patch that doc to not say "CSS classes" and say "HTML class names" instead
#
[tantek]
aciccarello yes those docs are confusing
#
[aciccarello]
I'm having a hard time following the change history when the PRs look like this https://github.com/mastodon/documentation/pull/1110
#
Loqi
[preview] [trwnh] #1110 Miscellaneous fixes
#
[tantek]
my complaint is that a "simple" fix to docs https://github.com/mastodon/documentation/pull/1202 was neglected/ignored
#
gRegor
wow, that pr
geoffo, [chrisaldrich] and [nsmsn] joined the channel
#
t​haidaree
so you have an article on your web. it's a normal kind where you published your own thing. you also have a section in your markup that parses mentions
#
t​haidaree
someone posts a mention on their end and does a webmention to your site
#
t​haidaree
how do they style the mention on their end? do people usually use some specific suburl for those? like /my-mentions/mention-1/
#
t​haidaree
yup, seems so. something like /likes/
#
t​haidaree
I presume that's the way to go
saptaks joined the channel
#
[jacky]
oh interesting, I never considered that
#
[jacky]
but not conventionally
#
gRegor
what is like
#
[jacky]
curious about that example you found
#
gRegor
what is likes
#
Loqi
7👍 likes are sometimes part of the information about a post displayed on the post itself, often in a post footer, like a total number like responses, icons of recent likers, or even a datetime ordered list of likes https://indieweb.org/likes
#
gRegor
https://indieweb.org/like#IndieWeb_Examples has examples of people publishing them
#
gRegor
what is url design
#
Loqi
URL design is the practice of deliberately designing URLs, in particular, permalinks, typically for a better UX for everyone who creates, reads, and shares content https://indieweb.org/URL_design
#
gRegor
General URL design stuff there ^. The post type pages such as /like don't usually get into the URL design since that can vary.
#
gRegor
I use /YYYY/MM/slug for the majority of my posts, regardless of type
#
t​haidaree
how do you differentiate regarding styling? you tag your articles?
#
t​haidaree
ah, I see, you're having that star and "in reply to:" in your posts
#
t​haidaree
hummm, now I wonder if I should have /YYYY/MM/DD/slug or just /articles/slug
#
t​haidaree
ok, another question. I use a generated static web. 3xx are server responses. what do you think about making the mapping from old to new urls with nginx that I use for delivering?
[0x3b0b] joined the channel
#
gRegor
Yeah for the like to show up correctly, the microformats2 `u-like-of` is the most important part. The star is just stylistic cause I like them :)
#
gRegor
(show up correctly on the receiving site, that is)
#
gRegor
I don't think I have "in reply to" on my likes, I think those are just /reply posts