#dev 2020-05-18

2020-05-18 UTC
#
jacky
oooh this page is a nice concept
#
jacky
thankfully I have data like this indexed on my site
[snarfed] joined the channel
#
Loqi
PESOS has 1 karma over the last year
#
vilhalmer
I wonder how feasible it would be to write an algorithm for creating the urls deterministically from the original so you don't even need the mapping stored on the site?
#
vilhalmer
they might not be too pretty
#
jacky
yeah that sounds like work work work wokr
#
aaronpk
yeah that wouldn't work
#
aaronpk
my posts can be syndicated to any number of sites, most of which i don't control the URL structure for
#
aaronpk
it's really not a big index
#
aaronpk
i have 22,000 syndication URLs stored, the database table for that is 1.5mb
#
jacky
I have to check mine (it's partially broken)
#
jacky
but yeah it shouldn't be terribly huge
#
vilhalmer
not concerned about size, I just like making things overly complex :D
#
jacky
perks of it being a single-user setup
#
jacky
vilhalmer: lmfao
geoffo joined the channel
#
[tantek]
what is original-of?
#
aaronpk
i think this is working
#
aaronpk
the youtube api is so weird tho
#
[tantek]
aaronpk, add yourself! (currently KartikPrabhu is the only implementation listed) https://indieweb.org/original-post-discovery#Implementations
#
[tantek]
I'm now leaning towards why implementing (and using) an /original-of endpoint is better than doing discovery by asking the silo. Added a bit to the See Also / Why
#
[tantek]
In general, the more we can enable IndieWeb site peer to peer IndieWeb site algorithms & protocols that do not require contacting a silo (e.g. surveillance, or silo death), the better
#
[tantek]
I should consider brainstorming on the OPD algorithm accordingly, to only make it apply to if you already have the contents of a POSSE copy, and want to do discovery on those contents. Whereas if you only have a POSSE permalink, I think it's better to do inference on the username -> IndieWeb site (via nicknames cache), and then ask the IndieWeb site to lookup the /original-of
#
Loqi
agreed.
#
GWG
WordPress Syndication Links does it also
#
GWG
I don't do the API version though
#
[tantek]
OPD << Brainstorming: update the OPD algorithm: only do content based discovery if you already have the contents of a POSSE copy. If you only have a POSSE permalink, better to do inference on the username -> IndieWeb site (via [[nicknames cache]]), and then ask the IndieWeb site to lookup the /original-of. Consider also caching that result (POSSE permalink -> original) so you can re-use it in the future (e.g. network transience), and perhaps
#
[tantek]
even return it from your own /original-of endpoint (distributed OPD!)
#
Loqi
ok, I added "Brainstorming: update the OPD algorithm: only do content based discovery if you already have the contents of a POSSE copy. If you only have a POSSE permalink, better to do inference on the username -> IndieWeb site (via [[nicknames cache]]), and then ask the IndieWeb site to lookup the /original-of. Consider also caching that result (POSSE permalink -> original) so you can re-use it in the future (e.g. network transience), and perhaps" to the "See Also" section of /original-post-discovery https://indieweb.org/wiki/index.php?diff=69967&oldid=69966
#
[tantek]
OPD << …and perhaps even return it from your own /original-of endpoint (distributed OPD!)
#
Loqi
ok, I added "…and perhaps even return it from your own /original-of endpoint (distributed OPD!)" to the "See Also" section of /original-post-discovery https://indieweb.org/wiki/index.php?diff=69968&oldid=69967
#
KartikPrabhu
aaronpk: any reason your original-of API needs JSON?
#
KartikPrabhu
wouldn't an HTTP redirect in the API be "easier"?
#
aaronpk
it's easier to parse the json response than http header
#
KartikPrabhu
I guess I'll keep my redirect version as another data point :P
#
aaronpk
mine still does the redirect by default so that it works in browsers
#
KartikPrabhu
aah I see.
geoffo joined the channel
#
aaronpk
but for example: `$url = json_decode(curl_exec($ch))->url` vs `curl_exec($ch); $url = curl_getinfo($ch, CURLINFO_REDIRECT_URL);` (after googling curl flags)
#
aaronpk
higher level http clients tend to make it even harder
#
KartikPrabhu
I guess having both can't hurt
d0gfart joined the channel
#
aaronpk
i really need to start deleting activitypub followers when their servers go down after a while
#
aaronpk
so many failed delivery attempts right now
#
aaronpk
this is why i like offloading this kind of distribution to a websub hub
#
aaronpk
so many dead instances
#
dansup
yeah same here, been meaning to add a circuit breaker to deliveries
#
aaronpk
but i also don't want to delete a follower that is temporarily offline
#
aaronpk
which is what makes it hard
#
[tantek]
That seems like the protocol put the burden / responsibility in the wrong place
#
aaronpk
agreed, which is the problem pubsubhubbub originally predicted
#
[tantek]
This sound worth writing up a brief blurb in /WebSub#Why
#
aaronpk
with websub it at least moves the burden onto the hub, which is good because the hub is a much simplier piece of technology compared to an entire blog engine, and also is generic/agnostic of the thing that is actually generating the content, so one hub can serve many different CMSs
#
[tantek]
Though do we have any Social Readers (or whatever Microsub server s are called) that support WebSub subscriptions?
#
[tantek]
Aperture doesn’t support WebSub right?
beko and geoffo joined the channel
#
aaronpk
it doesn't yet
#
aaronpk
i keep meaning to add it, but it's been "good enough" so far
#
[tantek]
Right this is the flip side. It’s easy enough to say “this is why WebSub” but if I’m practice no one is consuming subs from hubs then it makes a weaker case
#
[tantek]
if in* practice
#
aaronpk
another problem is when I block a host they still send me stuff, including "deleted account" messages from random uesrs on the server
#
aaronpk
luckily those are easy to discard but it's still kind of weird
#
[tantek]
you can't unsub from a whole host?
#
aaronpk
i never subscribed to it
#
aaronpk
someone from there followed me
#
[tantek]
you'd think a host would want to know they could stop sending to you!
#
aaronpk
or wait
#
aaronpk
now i'm confused
#
aaronpk
i definitely never intentionally interacted with this host (gab)
#
aaronpk
but I am getting stuff delivered to my inbox from that host
#
[tantek]
that might be a special case of an abusive fork
#
aaronpk
ah, if someone who follows me boosted a post of mine, and someone from that host was following that person, and then they favorited my post, it would send that to me
#
[tantek]
that's similar to receiving a webmention from anyone then
#
aaronpk
yeah that would be fine, but what's weird is the account delete messages
#
aaronpk
mastodon handles account deletions particularly weird. it'll send out delete account messages for everyone on that server forever
#
[tantek]
so what this really demonstrates is that the whole account follow / unfollow / deletion protocol thing is not well worked out
#
aaronpk
basically i'm stuck receiving delete messages from this host from accounts on that host who never even interacted with me
#
aaronpk
i've "blocked" the host on my end, which just means i throw out the messages before I do any work. i'm not sure if there is some way I can actually tell the host to "reverse block" me or something
#
[tantek]
because just in case a former interaction/response from that server came from the account that was deleted!
#
aaronpk
yes i believe that's the reason
#
[tantek]
there should be a way to unsub to account deletion notifications
#
[tantek]
because clearly the server is keeping a list of folks to notify
#
[tantek]
so there should be a way to get off that list
nickodd joined the channel
#
aaronpk
woohoo, finally finished! all my youtube videos how have a corresponding blog post on my site!
#
Loqi
giggles
#
dansup
nice! aaronpk++
#
Loqi
aaronpk has 61 karma in this channel over the last year (217 in all channels)
[snarfed] joined the channel
#
[snarfed]
aaronpk yeah i got those on bridgy fed too. i originally returned 501 Not Implemented, but they kept retrying and retrying, so i finally changed it to return 200
#
[snarfed]
(and delete them from any bridgy fed accounts that they followed)
#
[snarfed]
they still happen, but at least they don't retry so much
#
Loqi
[snarfed] #63 Handle AP account deletions of followers
#
aaronpk
Interesting
#
aaronpk
so nightpool's recommendation was to return 401 so that the sending server would eventually give up
[tantek] joined the channel
#
[snarfed]
huh, 401 is an odd response to trigger that
d0gfart joined the channel
#
jacky
w.r.t websub in aperture
#
jacky
I was actually going to put that in my webmention server
#
jacky
websub seems like more adjacent in terms of implementation / use to webmentions than microsub (though it does and can power real-time work for microsub)
d0gfart and moppy joined the channel
#
sebsel
reply from iA: next bugfix release of Writer will contain fixes for scope and will have the “type”:[“h-entry”] in an array :)
#
Loqi
iA has 1 karma over the last year
KartikPrabhu, strugee and swentel joined the channel
#
swentel
dansup, just got off a call with NlNet, congrats on the grant too ;)
#
swentel
dansup, will be helping along with pixelfed a bit too, on the author level (for bridgy fed) :)
#
swentel
so you can expect some pull requests soon ;)
[LewisCowles] joined the channel
#
[LewisCowles]
Is pixelfed Open Source? I'd love to 👀 at what collection of things is capable of making a federated drive / images. It might help me do more and pontificate less for the known attachments / uploads as URL's
#
swentel
[LewisCowles], yep, github.com/dansup/pixelfed
#
[LewisCowles]
That is amazing. dansup++
#
Loqi
dansup has 5 karma in this channel over the last year (7 in all channels)
#
[LewisCowles]
AGPL too... That is wonderful. I'd like to see more AGPL things. I wonder if they've managed to sell exemptions to selfish rich folks.
#
[LewisCowles]
javascript++
#
Loqi
javascript has 1 karma in this channel over the last year (-2 in all channels)
[jgmac1106], [Rose], KartikPrabhu and garrettw joined the channel
#
swentel
didn't xray support getting data using microformats from say mastodon?
#
swentel
hmm it should have as I have such a feed in one of my channels
#
swentel
and I've seen posts from it, but not anymore
#
aaronpk
mastodon publishes microformats so that should work
geoffo joined the channel
#
swentel
yep, but it looks like something changed somewhere
#
swentel
even https://xray.p3k.app/ doesn't find them anymore
#
swentel
it just returns the author card
#
swentel
probably some content negotiation thing :/
#
aaronpk
yeah that could be. it also looks for activitypub json using content negotiation
KartikPrabhu and [tw2113] joined the channel
#
swentel
oh, hmmm confusing, I have a local test command and that works
#
swentel
ok, hmm nevermind ... :)
#
aaronpk
nevermind?
nickodd joined the channel
#
swentel
well, it works
#
swentel
it's weird that xray.p3k.app doesn't find them though
#
swentel
there only something broken in my preview call on the drupal side
#
swentel
it only found the author card
#
swentel
which why I got confused
#
swentel
but I just added the mastodon url I wanted to follow, ran the command that gets the feed and that's fine
#
aaronpk
xray has a parameter "expect=feed" which makes it favor returning feeds instead of arbitrary things
#
aaronpk
if you don't include that, then xray doesn't know what you're looking for, and some URLs, usually home pages, are ambiguou
#
swentel
yep, but even that doesn't trigger it in the web app
#
aaronpk
"source-format": "activity+json"
#
aaronpk
so it's not looking at the microformats there at all
#
aaronpk
and mastodon returns JSON for the profile info at that URL not the list of posts
#
swentel
yeah, but, here's the curious part
#
swentel
if I use that same url
#
swentel
ooooooh
#
swentel
I do something different in Drupal
#
swentel
I don't let xray make the http request
#
aaronpk
that'd do it :)
#
swentel
I do it myself with guzzle
#
swentel
yeaaah
#
swentel
I only let xray parse the result
#
swentel
ok hmmm
#
swentel
maybe that's not the best approach
#
swentel
although it doesn't really hurt I guess
#
aaronpk
nothing wrong with that
#
swentel
btw, got some good news today
#
swentel
I received a grant from the NGI (https://www.ngi.eu/)
#
aaronpk
ooh congrats
#
swentel
to work on rebooting indigenous iOS
#
swentel
that's the main part of the grant
#
aaronpk
iiiiinteresting
#
swentel
plus some work on the Drupal indieweb server side
#
swentel
the idea is also to extend the app with more account types, e.g. AP connections with pixelfed/mastodon etc (but that part is still in brainstorming phase)
#
swentel
so that would also get into the Android version
#
swentel
but I'll be basically working on IndieWeb the next 6 months almost full time
#
swentel
I'm going to try and tackle https://github.com/aaronpk/XRay/issues/50 as well
#
Loqi
[aaronpk] #50 Refactor to make it easier to add new formats
#
swentel
that one has been bothering me a few times already :)
#
aaronpk
ah that'd be awesome
#
aaronpk
every time i go into the code that bothers me too but i'm always trying to solve something very small and specific and i never want to tackle that
#
swentel
hehe, yeah, it's tricky to reorganise such a thing
#
aaronpk
i did actually make some progress on that a little while ago
[grantcodes] joined the channel
#
[grantcodes]
Woah congrats on the grant swentel++
#
Loqi
swentel has 22 karma in this channel over the last year (40 in all channels)
#
swentel
thanks :)
#
swentel
aaronpk, if you have code, feel free to put in a branch. Not sure about the timeline yet, I'm busy setting up projects and milestones now, and this one is def on my mind.
#
swentel
anyway, will be fun the next few months
d0gfart and [tantek] joined the channel
#
[tantek]
swentel++ that's awesome!!
#
Loqi
swentel has 23 karma in this channel over the last year (41 in all channels)
#
[tantek]
sebsel, thanks for relaying that info about iA. Any idea when that next release might be? (do they do regular updates etc.)
#
aaronpk
ok i'm buying iA writer to try this out :)
#
aaronpk
it's so cool that it publishes it as a draft!
#
aaronpk
it works with my site :) I guess my site is forgiving about the `type` issue
#
aaronpk
and my oauth screen lets me select scopes to grant so i was able to get around the lack of scopes in the request
[snarfed] joined the channel
#
sebsel
[tantek]: the beta hasn’t landed yet (I joined their iOS beta to test on this issue)
#
sebsel
I have actually no idea how quick they are. They are very thorough tho.
#
sebsel
it is a very nice app, have been writing in it for years. it lead me to Kirby which in turn lead me to IndieWeb. Nice that the connection to the IndieWeb is now so direct
#
sebsel
the only thing I miss now is vim-mapping, but I can live with that :)
#
[tantek]
sebsel that’s great! And good to know. Could you add yourself as an IndieWeb Example user of it to the page?
#
[tantek]
What is iawriter
#
Loqi
iA Writer is a markdown-based writing application that supports the Micropub standard for publishing to numerous services, and specifically to WordPress servers, Medium, and Ghost https://indieweb.org/iawriter
#
[tantek]
(And certainly feel free to update the dfn etc - that was my very rough writing based on previous content, I haven’t used it yet)
[manton] joined the channel
#
[tantek]
saw this go by and figured both that some devs here may be intersted in it, *and*, I figured some of you have webdev blogs that ought to be added (file a GH issue!) to this list: https://github.com/impressivewebs/frontend-feeds
#
Loqi
[impressivewebs] frontend-feeds: An up to date list of RSS feeds for front-end developers.
miklb joined the channel
#
[tantek]
^^^ perhaps also a good reason to have a "webdev" or similar tag (with its own feed), as the blog post about the list does refer to excluding blogs with "Too many personal posts and other things that have nothing to do with web development, with no way to filter"
[KevinMarks], [aimee] and miklb_ joined the channel
#
[KevinMarks]
Honeycomb have improved their free version - worth a look. I've been using it on a client project and the call trace it does by default is very good https://twitter.com/honeycombio/status/1262430415324958722
#
@honeycombio
Free as Honey - With all the excitement around our new Pricing - Event-based and easier than ever before. Don't forget that you can easily start using Honeycomb for your Observability strategy for FREE now. https://bit.ly/2z6TdAe https://pbs.twimg.com/media/EYUNxayWoAEvX0p.jpg
(twitter.com/_/status/1262430415324958722)
d0gfart and [JuJu] joined the channel
#
jacky
honey is _not_ free (and is def environmentally hazardous lol)
#
[snarfed]
honeycomb, not honey
#
Zegnat
Lol. You just made it click for me jacky! The only free honey I could think of is the one from all the YouTube sponsorships “Honey is the free browser extension that …”. I was having a horrible time figuring out how this was linked to the browser extension
#
[snarfed]
oh yeah hah sorry jacky i thought you were thinking that ^
#
Zegnat
“Free as Honey” … so … free as the foodstuff or free as the browser extension? ;)
#
Zegnat
(And what does it mean that some people may immediately think of the browser extension, instead of the millenia old foodstuff?!)
[Rose] joined the channel
#
[Rose]
[manton]++ for upgrading the micro.blog import today!
#
Loqi
[manton] has 17 karma in this channel over the last year (57 in all channels)
#
[Rose]
Just testing now, it seems pretty awesome.
[chrisaldrich] joined the channel; nickodd left the channel
#
jacky
lolol
[jeremycherfas] and [grantcodes] joined the channel
[KevinMarks] joined the channel
#
[KevinMarks]
Free as in honey is like free as in kittens. You're taking on a lot of hive management.
#
[tantek]
nice read jacky.
#
[tantek]
this is unintentionally prophetic: "Yet most web sites are architected in a way that require you to download the css for the entire site when you try to view one page. This is a broken model."
#
[tantek]
Except now it's this:
#
[tantek]
Most web sites are architected in a way that require you to download the JS for the entire site when you try to view one page. This is a broken model.
[LewisCowles] joined the channel
#
[LewisCowles]
[tantek] they could write the cascading bits in SaSS/SCSS if they really cared about the problem as mixins. Then they get rid of dead code, and can namespace their nonsense.
#
[LewisCowles]
I Feel like a lot of the deferred rendering / JS only sites basically take a quick-fix and architect around it for... What's it been 8-10 years? Before React it was jQuery.ajax or DHTML only menus
#
[LewisCowles]
I spent over 2 hours trying to help someone pivot to a mildly less awful iteration of their code, only to panic at the end realising they were not using source control
jeremycherfas and Mikaela joined the channel
#
[tantek]
yikes. There are many aspects to maintaining CSS over time that I can relate to in this article, even "just" for one person maintaining their own CSS.
#
[tantek]
stuff like wanting to just change one thing but worrying about effects in lots of places
[snarfed] joined the channel
#
[snarfed]
is there a corollary of unit tests for CSS rendering?
#
[snarfed]
perceptual diffs? they always seem like a lot of work to maintain. significantly more than code unit tests
#
jacky
there _is_
#
[LewisCowles]
most people shorten that to visual regression testing
#
[tantek]
one of the nice aspects of my old static blog was how literally every month I got to rethink/rewrite the CSS knowing it would only affect that month.
#
jacky
like years ago (like ~5?) when I was shutterstock; there was a set of visual diffing tools
#
[LewisCowles]
You could unit it I suppose, but wouldn't that require a pre-processor and ignore browser-quirks
#
[snarfed]
right. but updating all those "golden" images in the visual regression tests during normal development seems unmaintainable
#
[snarfed]
or maybe it's ok? got me
#
[LewisCowles]
and require a selector strategy that was quite robust
#
[LewisCowles]
visual regression is definitely not for normal development.
#
[tantek]
^^^ yup. labor intensive. with every OS update potentially (which I know you're a fan of snarfed 🙂 )
#
jacky
[snarfed]: it depends!
#
[snarfed]
heh. those are at least way more rare than normal development iterations
#
jacky
so designers had "reference" PSDs that were made into images and kept for diffing
#
jacky
so like they could send it there and devs didn't have to worry (too much)
#
jacky
I wonder how it's done now
#
[snarfed]
^ ugh yeah but that implies painfully long iterations
#
jacky
with things like Figma/Invision et al
#
[snarfed]
waterfall--
#
Loqi
waterfall has -1 karma over the last year
#
sknebel
I think I've seen checks for basic rules like "check important elements stay visible/within the viewport", "check text doesn't get hidden by other elements"
jeremycherfas joined the channel
#
jacky
sknebel: yeah acceptance-y stuff
[Katherine] joined the channel
#
[Katherine]
i am having trouble trying to set up https://withknown.com ... i am following this guide https://www.kiaikim.com/2017/how-to-install-the-known-platform-on-a-dreamhost-shared . i used ftp instead of ssh... i've uploaded all of the files to my website, but when i try to go to my domain (http://article.exchange) nothing appears. i am wondering if its because the contents of Known are still in the known-1 folder, rather than at the parent level?
#
[tantek]
[Katherine] the most recent docs for setting up Known I know of is the tutorial at https://indieweb.org/Getting_Started_with_Known — have you had a look at that? Does that help with your setup?
jeremycherfas joined the channel
#
[Katherine]
[tantek] ehhhhhh i took a look at that. but i just discovered that there's an integration for jekyll to post via email.. that might be easier to set up https://begemot.grin.io/about
#
[tantek]
whoa that'd useful to lots of folks too
#
Loqi
[masukomi] JekyllMail: JekyllMail enables you to post to your Jekyll / Octopress powered blog by email.
#
[Katherine]
this is another one it looks like
#
[tantek]
from my understanding, once you have Known setup, it's got LOTS of really good IndieWeb support, theme etc. without having to install anything else
#
[tantek]
I'm trying to remember who recently here set it up
#
[tantek]
The other place to ask quickly is the #knownchat channel
#
[Katherine]
hm... ok. im troubleshooting one more thing then ill go ahead and ask or just try the jekyll setup
#
[tantek]
yeah I'd go ahead and just say hi in the #knownchat channel that you're setting it up on Dreamhost and does anyone else there have experience with that or tips?
#
[tantek]
they're friendly 🙂
#
[Katherine]
yup! posted over there too
#
[tantek]
great! and now the patience that is async chat 😴
jeremycherfas, d0gfart, [chrisaldrich] and gRegorLove joined the channel