#dev 2024-02-01

2024-02-01 UTC
[0x3b0b], btrem, reillypascal, geoffo, [tw2113], j12t, jacky, tPoltergeist, rocto, CRISPR, Guest6_ and sam_b joined the channel
#
jacky
it's feb so like mentioned, it's time for ticketing in sele
#
jacky
I'm leaning into this "vending" idea I played with on https://sele.jalcine.dev/dashboard
#
jacky
but I think first I'll do the thing to check for support (as I'll need that logic for ticket sending anyhow)
sam_boyer, sam_b and tPoltergeist joined the channel
#
jacky
Web sign-in is to IndieAuth as [___] is to Ticketing for IndieAuth?
#
jacky
has been avoiding using the phrase IndieAuth in Sele as much as possible unless in the explainer space of how it works
#
jacky
reading /Ticketing_for_IndieAuth#Introduction is making me think that "conditional access" might be the best phrase to use
barnaby, CRISPR, rocto, [schmarty], sam_b, gRegor, gRegorLove_ and tnbd joined the channel
#
jacky
alright so https://sele-test.jacky.wtf/support is the result of this morning (and some of last night's) hacking. Should give a lil' list of what kind of support your site has (going to push folks to this if there's issues with their site when signing in)
#
jacky
for example https://sele-test.jacky.wtf/support?me=https%3A%2F%2Fjacky.wtf%2F (TIL that I'm showing a ticket endpoint lol)
[jeremycherfas], tnbd and tPoltergeist_ joined the channel
#
Loqi
jacky has 8 karma in this channel over the last year (43 in all channels)
#
Loqi
[preview] Home Sign In
#
gRegor
Initial thought, I'm not sure what "modern approach to Web sign-in" means
#
gRegor
"using a Web sign-in service possibly provided by" maybe this part could check the issuer hostname vs the authorization endpoint to make it concrete, if they match don't need "possibly"
#
gRegor
[Al_Abut], Your RSS feed isn't showing up reverse chronological, kind of random. The lunch post is showing up below some 2021 posts.
jacky joined the channel
#
[Al_Abut]
Oh weird. I’ll look into it, thanks! I realize now that the RSS feed readers and validators were re-sorting them based on the date value, not the actual underlying order.
#
jacky
ghost (algorithms) in the shell (of the RSS reader)
#
[Al_Abut]
Haha. For a second I thought you were reading my mind because one of my blog drafts is titled “RSSing into the void”
#
[Al_Abut]
Shared at last night’s HWC how weird it’s been to go from gorging on consuming feeds for a few months and keeping up with everyone, to now creating a feed and having no idea if anyone’s reading it.
#
jacky
I guess that's something that'd prevent someone from posting - if it's read
#
jacky
I know I don't use cohost mainly for that reason (and also out of all of the things I've used, discovery is hardest on there for me)
#
[tantek]
+1 gRegor "modern approach to Web sign-in" doesn't mean anything (tried searching the wiki, DDG, Google) — if there’s a specific practice that can be improved, name it in particular, and link to the docs
#
aaronpk
what is the not modern approach? 🤔
#
Loqi
It looks like we don't have a page for "not modern approach? 🤔" yet. Would you like to create it? (Or just say "not modern approach? 🤔 is ____", a sentence describing the term)
#
gRegor
[Al_Abut], I like this feed preview tool https://monocle.p3k.io/preview
#
gRegor
resists setting up that redirect to /1990s
#
[Al_Abut]
Thanks! Is there a tool you like for testing locally? That way I could test without experimenting in public and polluting readers for my (extremely massive and global audience of) existing subscribers?
#
[Al_Abut]
Also might encourage me to dive deeper into the RSS spec and try some more things beyond just debugging
#
jacky
aaronpk: exposing the endpoints directly w/o the IAM endpoint
#
jacky
tantek + gRegor: good points, I'll update accordingly (and file myself a ticket)
#
aaronpk
what is the IAM endpoint?
#
Loqi
It looks like we don't have a page for "IAM endpoint" yet. Would you like to create it? (Or just say "IAM endpoint is ____", a sentence describing the term)
#
jacky
indieauth metadata endpoint
#
jacky
I should not use that abbreviation lol
#
[tantek]
[Al_Abut] this kind of problem with RSS is why I gave up on it and went with Atom instead, much clearer docs/validator telling you when things are right or wrong
#
aaronpk
IAM usually means "identity and access management" 😂
#
aaronpk
especially in this context
#
Loqi
definitely
#
[tantek]
what is IAM
#
Loqi
It looks like we don't have a page for "IAM" yet. Would you like to create it? (Or just say "IAM is ____", a sentence describing the term)
#
aaronpk
why is indieauth metadata the not-modern approach? that is a recent addition in indieauth
#
[tantek]
^ go for it aaronpk
#
[Al_Abut]
I can see that. I went for RSS just because it’s built into my site generator.
#
jacky
oh it should be the other way around
#
[Al_Abut]
But apparently not well!
#
[tantek]
[Al_Abut] right, it is hard(er) for folks in general to do RSS "well"
#
jacky
going to replace "modern approach" for "consolidated advertising"
#
[Al_Abut]
I’m open to the idea of trying atom. Anything to help me procrastinate from the actual writing itself 😆
#
[Al_Abut]
Pulling my hair out with the FR units in CSS Grid on mobile is why I lagged on my weekly blog post until less than an hour before the midnight deadline last night…
#
jacky
I think I should also add some notes on what could be addressed/changed if I'm marking something as "different" from expectations
#
jacky
thanks for the feedback y'all :)
shoesNsocks, cambridgeport90 and [aciccarello] joined the channel
#
gRegor
[Al_Abut], if you want another option (lol), for newer feeds I've chosen to use microformats2 h-feed and h-entry markup, then use granary to convert that into an Atom feed. Works great and is more DRY.
#
gRegor
This feed for example, is a redirect to granary that's handling that: https://gregorlove.com/stream/feed.atom
#
gRegor
What is granary?
#
Loqi
granary is the social web translator https://indieweb.org/granary
tnbd and btrem joined the channel
#
gRegor
I did a presentation and linked some more resources: https://gregorlove.com/2018/11/recap-of-an-introduction-to-microformats/
#
jacky
gregor++
#
Loqi
gregor has 24 karma in this channel over the last year (91 in all channels)
cambridgeport90 joined the channel
#
cambridgeport90
So... asking the question I had in the other channel...how do we keep search engines from suspending Searx instances for too many requests?
[TMichelleMoore] joined the channel
#
jacky
no idea
#
cambridgeport90
I'm thinking about putting up an instance beneath my domain at some point, making it publically available, but not sure I want to if I'm going to have to dodge fake suspensions on a constant basis?
#
jacky
that'd require either some whack-a-mole / VPS swapping whenever it goes out
#
jacky
right cambridgeport90
#
jacky
I think nitter finally gave up in a semi-related vein b/c X/Twitter stopped allowing them to do guest accounts
#
cambridgeport90
i mean...not impossible, considering one of my servers is in a friend's datacenter...so, he could take care of anything I couldn't...LOL
#
jacky
lol until they block the whole ASIN ;)
#
jacky
but that'd require a _lot_ of traffic to merit that
#
jacky
or a overzealous netadmin
#
cambridgeport90
Nitter I think is somehow still alive, but it probably takes an API key. I might reapply for that, considering I post up there very little, and I don't know if getting feeds via something like grannary is still possible?
#
[Al_Abut]
[gRegorLove] that’s a good intro, thanks! I want to add more microformats over time. Right now I’m still busy with your advice from an earlier to HWC to focus on writing stuff that’s worth hearing :)
#
[snarfed]
cambridgeport90 granary no longer has its own API key, you'd need to bring your own, which realistically none of us have any more. and Nitter never used the official API
#
[snarfed]
(well, I don't know about never, but not since I've known it)
#
cambridgeport90
Ah...it's probably nowadays easier to get an API key, especially if it's just for viewing.
cambridgeport90 and jonnybarnes joined the channel
#
gRegor
writing++
#
Loqi
writing has 1 karma over the last year
#
[snarfed]
cambridgeport90 the free API keys that don't need (much) approval only let you post, and only as yourself, not other users. otherwise afaik the lowest tier starts at $5k/mo, and using the v2 API, juggling it vs v1 for different calls, managing your key(s), etc are all still famously unreliable
#
[snarfed]
...and support is more or less non-existent
#
btrem
Can anyone (in particular, an 11ty anyone) recommend a guide for creating a plugin? The only one I've found so far is https://bryanlrobinson.com/blog/creating-11ty-plugin-embed-svg-contents/ and that one is not answering some basic questions for me. So a plugin guide for amateurs?
#
[aciccarello]
I agree the documentation on plugins is pretty sparce
#
[aciccarello]
What question are you trying to answer?
#
[aciccarello]
From what I can tell, a plugin is just a function which accepts the 11ty config api.
gRegorLove_ joined the channel
#
btrem
I have several related filters. If I put them in my plugin folder in ./plugins/wordle/index.js, it loads fine. However, every plugin I've seen uses .eleventy.js. If I put my filters in /plugins/wordle/.eleventy.js, 11ty throws an error: Error in your Eleventy config file '.eleventy.js'. You may need to run `npm install`....Cannot find module './plugins/wordle'
#
btrem
ugh, sorry for italics. Maybe I should have put the directories in back ticks?
#
[aciccarello]
That sounds like more of a convention. Do the plugins you're looking at have their own package.json that is pointing to that file?
#
btrem
me goes to check
#
[aciccarello]
Like if the plugin is being loaded via `require` then it's a node modules resolution question.
#
btrem
Appears so, yes. So I need a package.json that declares .eleventy.js as the value for the main: key?
#
[aciccarello]
Yes. Or you could update your require path to point directly to the .eleventy.js file
#
btrem
Because I would not have thought of that. ;-)
#
btrem
Right. The problems amateur developers encounter. :(
#
[aciccarello]
ha, yeah. The 11ty docs assume a certain familiarity with how node works. And node is a large api...
#
[aciccarello]
For my site, I left the plugins as named JS files and required them by name. No package.json needed. https://github.com/aciccarello/ciccarello.me/blob/1bc14860a9b1af832408a49d7ce21c5ebd336f63/.eleventy.js#L112-L114
#
btrem
It makes sense in hindsight. Without declaring a main: key, 11ty looks for the index file. Being a javascript module, that's index.js. (sigh)
#
btrem
Well, this plugin is probably going to have several files. Also, I want to eventually publish it for others to use. So a directory is the way to go.
#
[aciccarello]
That sounds right. My plugins were mainly for organizing my build config.
#
btrem
[aciccarello]++ thanks
#
Loqi
[aciccarello] has 1 karma in this channel over the last year (11 in all channels)
#
btrem
Yeah, that seems to have resolved the problem. :-D several *days* of banging my head against the wall.
#
btrem
I'm laughing now, but I wasn't laughing an hour ago! ;-)
#
[aciccarello]
Well, I'm half a day into banging my head against a jest module mocking problem so I feel your pain.
#
[tantek]
what is Searx?
#
Loqi
searx is a self-hostable, open source, metasearch engine, that could potentially be deployed on a personal website https://indieweb.org/searx
#
btrem
[aciccarello] since you're here: can a shortcode access an 11ty filter? It seems like the correct formulation is `${this.myFilter(myVar)}`. But 11ty says this.myFilter is not a function. Also tried `{$myFilter(myVar)}`. Same error.
#
btrem
Or is there some other way to filter a front matter item or what have you in a template literal?
#
[aciccarello]
I remember having issues accessing liquid filters but I thought there was a way to access 11ty filters.
#
[aciccarello]
_heads to the docs_
#
[aciccarello]
Are you using an arrow function `eleventy.addShortcode('name', () => {/* code */})` or `eleventy.addShortcode('name', function () {})`?
#
btrem
The latter.
#
[aciccarello]
hm, maybe they aren't accessible
#
btrem
I saw in the docs that you can't use arrow functions if you want to access this.
#
[aciccarello]
The other option is referencing the function directly in the JS
#
btrem
That leads to problems with scope. Like, if the filter function is in .eleventy.js, I can't access it in table.js.
#
[aciccarello]
Do you have access to the eleventy config api in that context? That has a `.getFilter("filterName")(filterParam)`
#
btrem
Ooh, I forgot about that. I'll check and get back to you.
#
[tantek]
[jacky] when searching for the modern approach thing, I did find this: https://web.dev/articles/sign-in-form-best-practices — haven't fully read through it but figured I should share while you're in the middle of implementing sign-in things
#
[tantek]
Curious what you think of the advice therein
#
btrem
[aciccarello] alas no dice: Cannot read properties of undefined (reading 'getFilter')
#
btrem
I think it might still still be a scope issue, but I'm not sure.
#
[aciccarello]
Yeah, I'm not sure either. I've usually gone with directly referencing javascript functions rather than trying to go through 11ty itself.
#
[snarfed]
bit of a false dichotomy, obviously there's a big spectrum in between, eg masto.host is basically what they want, just like http://micro.blog is for IndieWeb. self-hosting admin tax is real, and a good reason friendly purpose-built hosts are valuable
#
Loqi
ok, I added "https://dragon.style/@anthracite/111858600791886848" to the "See Also" section of /admin_tax https://indieweb.org/wiki/index.php?diff=92808&oldid=89866
#
[KevinMarks]
From what I have read, the admin tax on mastodon is pretty high and involves a lot of subsystems to wrangle.
#
[tantek]
it's much higher than other self-hosted software yes
#
[Joe_Crawford]
I got 2 messages from my instance about the critical update and by the time I checked my instance masto.host had already applied the update. $6/month well spent.
#
[snarfed]
masto.host++
#
Loqi
masto.host has 1 karma over the last year