#dev 2019-09-11

2019-09-11 UTC
[jgmac1106] and [tantek] joined the channel
#
aaronpk
jacky: did you ever see this mock-up of an authentication app I made a long time ago? https://indieweb.org/kirby-login-app
#
aaronpk
It was supposed to provide a similar UX as clef
#
[Ramiro_Ruiz]
[Jacky_See] I tried, I’m doing something wrong because it says that there were no webmention endpoints found.
#
[Ramiro_Ruiz]
*Jacky
KartikPrabhu and [fluffy] joined the channel
#
jacky
aaronpk: that's basically it tbh
#
jacky
I added some word salad-y stuff to /Fortress
#
jacky
but yeah once I'm okay with Microsub in Lwa, I want to revisit it
#
jacky
that'd be the last 'leg' in the whole thing
#
jacky
koype with out of the box support for lwa and fortress
[KevinMarks], [xavierroy], ludovicchabant, KartikPrabhu, jgmac1106, gRegorLove, cweiske and krychu joined the channel
#
jamietanna[m]
Ramiro_ruiz: are all the links inside your h-entry? I think that's the issue at least for my notes. Not sure about articles tho
LuutheCoolDiscor and cweiske joined the channel
#
jamietanna[m]
Kevinmarks: are you happy for a PR to mention.tech/mentionall that searches for links anywhere on the page, or would you prefer it to be anywhere in the h-entry?
Guest688142, krychu, gRegorLove, uniquerockrz, swentel, [Lewis_Cowles], jeremych_, [jgmac1106] and t-mo joined the channel
#
@jgmac1106
Getting back to the @gtekirby experiments as we start to build a course builder with a webmention badge creator and issuer for @ReviewTalentFS (https://quickthoughts.jgregorymcverry.com/s/BtxOM)
(twitter.com/_/status/1171724855944912896)
KartikPrabhu joined the channel
#
beko[m]
https://wiki.gnupg.org/WKD is someone using this? Sounds interesting. Didn't bother with GPG in a decade. Hated fiddling with keyservers. This sounds a lot more the way I like this.
[Ramiro_Ruiz] joined the channel
#
[Ramiro_Ruiz]
Jamietanna[m]: yes, I don’t know if the problem is that is an empty link as you can see in this note test https://ramiroruiz.com/notes/1568153317/ (I have a lot to work on the markup and the layout).
#
[Ramiro_Ruiz]
e.g.
#
[Ramiro_Ruiz]
<article class="h-entry post">
#
[Ramiro_Ruiz]
<time class="dt-published" datetime="2019-09-10T22:08:37+00:00">Sep 10 2019</time>
#
[Ramiro_Ruiz]
```
#
[Ramiro_Ruiz]
<section class="p-name p-content">
#
[Ramiro_Ruiz]
<p>Just made a...</p>
#
[Ramiro_Ruiz]
<a href="https://brid.gy/publish/twitter"></a>
#
[Ramiro_Ruiz]
</section>
#
[Ramiro_Ruiz]
</article>
#
[Ramiro_Ruiz]
```
#
sknebel
Interesting idea
#
jgmac1106
yeah wondering if it will stick and if webmentions should get the rel=“ugc”
#
cweiske
better than nofollow
#
beko[m]
rel="nofollow ugc" seems to be fine as well
krychu, viaken and eli_oat joined the channel
#
aaronpk
Another thread about issues with bitninja http://www.webhostingtalk.com/showthread.php?t=1707531
#
aaronpk
A bitninja employee even chimes in on the thread a couple times
#
beko[m]
That's old. Really old.
#
aaronpk
It's a year old? That's not that long ago
#
beko[m]
For hosting? =)
#
aaronpk
this is sounding to me like bitninja is using outdated techniques and isn't willing to adapt to changes like CDNs and cloud servers existing
#
aaronpk
no that's old in JavaScript framework time ;-)
gxt joined the channel
#
beko[m]
I avoid such pre-canned stuff. My blacklists are handpicked from e.g. http://iplists.firehol.org/
#
aaronpk
IP blocking alone just isn't a very good technique anymore
#
beko[m]
It's imho enough for a blog.
#
aaronpk
Anyway it sounds like reclaim hosting isn't going to let google cloud stuff make requests to their servers, so imo it's not a good option for IndieWeb sites
#
beko[m]
agreed
#
Loqi
[timmmmyboy] You can read more about how the service, Bitninja, that we use works at https://bitninja.io. The theoretical discussion of whether hosting companies should employ firewalls is frankly not up for debate here so if the answer for us is to drop our fire...
#
aaronpk
That goes for any web host that uses bitninja
#
beko[m]
Mayhap we should start donating IPs and bandwidth for services like bridgy to act as RR proxy =)
[snarfed] joined the channel
#
[snarfed]
(nope nope nope)
#
Loqi
[snarfed] definitely understood @timmmmyboy! no one's proposing that you drop your firewall. we are suggesting that BitNinja may be harmful, though, so you might want to consider alternatives. @Lewiscowles1986's mention of WAF was one good, practical sugges...
#
[snarfed]
[Will_Monroe] if you want to stick with reclaim, one alternative might be to put your site behind a CDN like CloudFlare. bridgy could fetch and use it then
#
@faragunde
↩️ @Cadahiacurrelos Área pontevedresa, subárea Ulla-Umia e microsubárea do Salnés.
(twitter.com/_/status/1171789780994134018)
[Will_Monroe] joined the channel
#
[Will_Monroe]
[snarfed] thank you for that suggestion. I see that Indieweb.org has a page for Cloudflare https://indieweb.org/CloudFlare. Do you have any other suggestions for resources that would help someone with WP site at Reclaim accomplish the goals I would need to have to enable services like Brid.gy and Webmention.io?
#
[snarfed]
heh. we've suggested a number on the github issue, and CloudFlare is another. i may be running out otherwise
#
[Will_Monroe]
[snarfed] by resources I mean guides to how to set it up not other technologies.
#
[snarfed]
sure! there are tons of cloudflare docs and tutorials
#
[snarfed]
it's pretty easy. hardest part is probably just changing DNS
#
[snarfed]
no promises that BitNinja hasn't also blocked CloudFlare though 😐
#
[Will_Monroe]
[snarfed] re the tutorials on Cloudflare, that's good to know. I will take a look. Although, introducing another layer of technology to ensure that Indieweb technologies work is not something that appeals to me. I teach undergraduate/graduate students and I'm interested in eventually bringing Indieweb and some of the DoOO ideas to those students. I want to have an Indieweb setup that would be easy for novices who are setting up their
#
[Will_Monroe]
WP site for the first time to understand.
#
[Will_Monroe]
I'm going to watch the outcome of the discussion on Github and then make a decision about what approach to take. It may mean moving to a new host, it may mean deploying something like Cloudflare.
#
[Will_Monroe]
I really appreciate your help and attention!
#
[snarfed]
you're welcome! agreed, the extra layer obviously isn't ideal; we're only suggesting it as a workaround
#
[snarfed]
and yes, it's also not ideal for bringing to undergrads or other newbies. fortunately we have lots of much easier paths, including micro.blog! reclaim seems to be an outlier here in this indiscriminate blocking; the vast majority of other hosts we recommend (see eg https://indieweb.org/web_hosting) don't have this problem
gxt and [jgmac1106] joined the channel
#
[jgmac1106]
oops wrong channel I will look into Cloudfare already using it....
#
[jgmac1106]
I will note on our /getting-started page since most tutorials are for reclaim, probably should include a disclaimer
#
[jgmac1106]
hey if anyone has a second trying to work on something for Mozilla Open Leaders and ca't figure out my grid mistakes: https://glitch.com/edit/#!/join/b2b3ceb7-7da2-4166-ae99-1fe88dd12550
#
[jgmac1106]
trying to get a border around each grid cell and I can't get my explicitly defined grid-rows to work
jackjamieson and [kimberlyhirsh] joined the channel
#
[jgmac1106]
all fixed
[schmarty], gxt and [grantcodes] joined the channel
#
[grantcodes]
With those WordPress hosting issue, I wonder if there is a hosting service that lets you set up a fully set up site with plugins & themes already installed with one click install. Like the deploy to heroku button
#
[grantcodes]
Probably possible with the aws image things, but aws is very hard to use if you don't understand it
#
[snarfed]
great idea!
#
[snarfed]
agreed AWS is the wrong choice if we want something easy for new users. even with an image-based installer, they then have a VPS to administer ongoing
#
[snarfed]
honestly though, even then i'd still recommend micro.blog over WP for new non-technical users
#
[schmarty]
i find it's more than technical issues that make WP confusing.
#
[snarfed]
sure. it's just big and heavyweight
#
[schmarty]
for example wp.com's limitations vs some third-party hosting
#
[snarfed]
wordpress.com streamlines much of that
#
[snarfed]
eh again those are only limits in the free plan, not in higher tier paid plans
#
[schmarty]
things that we can't easily make clear upfront keep popping up
#
[snarfed]
keeps trying to dispel the myth that wp.com doesn't allow plugins
#
[schmarty]
right, but someone who is not technical is probably also not ready to spend money upfront for hosting that they can't confirm will do what they want.
#
[snarfed]
sounds like that applies to all hosting
#
[schmarty]
i think it does! and the wordpress "ecosystem" actively muddies the waters.
#
[grantcodes]
I think it's more specific to wordpress hosting. A lot have specialized setup for hosting that can be more controlled because it is more predictable than just a generic lamp app
#
[schmarty]
the tendency for every theme/plugin/feature to have monetized versions makes it even harder to navigate
#
[jgmac1106]
It is also the pricing of wp.com to get all the building blocks you need the highest price point. You can get shared hosting at a fraction
#
[snarfed]
[jgmac1106] ...yup, with a corresponding loss of polish and streamlining, which especially matters for new, less technical users. price/accessibility tradeoff
#
[snarfed]
hence why i love that https://indieweb.org/web_hosting starts with the tradeoff questions it does, before recommending any specific hosts
#
[jgmac1106]
Not most expensive you can do it at the $25 a month level
#
[schmarty]
lol oops i think that dropbox info is out of date. i don't think Dropbox web hosting works any longer.
#
[snarfed]
honestly we should maybe only recommend WP as an intermediate and above platform. ie people should start on something easier and cheaper like micro.blog, and only "graduate" to WP or maybe Known after they have experience and want something bigger
#
jacky
$25/mo for hosting?!
#
[grantcodes]
High high level hosting. It's not insane
#
GWG
I need to find someone to help with onboarding
#
jgmac1106[m]
Cost, like time, is relative to privilege. Free and ease will always matter more than building blocks
#
GWG
I am tempted to ask for someone to give me a test account on popular services to test my stuff for a month
#
GWG
I have tested Reclaim and Dreamhost with others
#
[jgmac1106]
Snarfed could Reclaim offer their own webmention and bridgy service to customers... Could see hosting companies offering this as an upsell
#
[snarfed]
hah jgmac1106 you do keep trying to find a business in bridgy/backfeed somehow. admirable!
#
[jgmac1106]
Well this is just trying to get it working on my host... Plus since they deal with FERPA data controlling both makes sense..
#
[jgmac1106]
And is the edtech market... Only way to recoup the years long sales cycle is with an equalky long cycle of upsells
#
[snarfed]
i don't know what the demand or market for backfeed looks like - i'm not sure it would break even - but if they want to build their own, or host and sell bridgy and support it themselves, they're welcome to try!
#
[jgmac1106]
More the webmentions... But its not backfeed its "want to see what people say about your college online??".... Just call it data analytics and HigherEd pays stupid money for it
#
[snarfed]
oh sure i understand marketing. maybe! who knows
#
[jgmac1106]
Ha well back to work.. Thanks for helping to try to sort it all put
[tantek] joined the channel
#
[tantek]
even on the higher tiers at WP com, it's non-trivial to get all the plugins to work, especially with the limited set of WP com themes 😕
#
[snarfed]
true of wordpress in general
#
[snarfed]
actually more importantly the higher tiers let you use pretty much any theme, just like plugins. https://en.support.wordpress.com/business-plan/#what-kinds-of-plugins-or-themes-can-i-use
[kimberlyhirsh] and vika_nezrimaya joined the channel
#
[tantek]
interesting, that probably needs clearer documentation in our WordPress tutorials
#
vika_nezrimaya
good morning IndieWeb :3
leg joined the channel
#
vika_nezrimaya
Trying to do some JS development lately, and I've got a dumb question. Hope you won't be angry since I'm a JS noob! I wanna use fetch() to upload data to the Media Endpoint and receive the URLs from Location header. I'm doing input.files.forEach(file => fetch(<...>).then(urls.push(<...>))), but how can I wait for all uploads to finish? :3
#
vika_nezrimaya
There is async/await, looks like what I need
#
[snarfed]
asyncawait++
#
Loqi
asyncawait has 1 karma over the last year
#
vika_nezrimaya
or maybe it has bugs? I don't have a media endpoint yet :3
#
[schmarty]
vika_nezrimaya: here's one you can play with it you need a testing endpoint :}
#
Loqi
[martymcguire] spano: A micropub media endpoint written in Python using Flask and Flask-HashFS
#
vika_nezrimaya
I'm already looking into using it in production since I so don't want to write a media endpoint
#
vika_nezrimaya
was just reading on the wiki about it
#
[schmarty]
i use it in production 'cuz it's sooooo simple.
#
vika_nezrimaya
And it's Python-based which allows me to deploy it quickly using just another uwsgi vassal (probably)
#
vika_nezrimaya
wow seriously a test micropub endpoint
#
vika_nezrimaya
That's exactly what I need
#
vika_nezrimaya
@snarfed Does it need a non-empty token?
#
vika_nezrimaya
My application doesn't know IndieAuth yet, but it knows MF2-JSON
#
@sardinhaderio
↩️ @Cadahiacurrelos Área pontevedresa, microsubárea Morrazo.
(twitter.com/_/status/1171871822352134144)
#
jacky
lol I think I might be going into the weeds
#
jacky
but adding scope enforcement for actions in microsub is making me kind of wish there was individual routes for it
#
jacky
might be just a language/framework thing
#
sknebel
jacky: not the first to say that :D
#
aaronpk
Clearly you just need to write some more server side abstractions ;-)
#
vika_nezrimaya
aaronpk: can I somehow deploy Aperture and friends in Docker?
#
vika_nezrimaya
I don't know any PHP, but I seem to be able to deploy a docker image on my server...
KartikPrabhu joined the channel
#
jacky
I mean it's def easier if you have _one_ endpoint
#
jacky
it's just a bit of a big matcher on the server
#
jacky
like creating and updating a channel is only noticeable if only one param (name) is there
#
jacky
which now kind of changes what scope I should enforce (create versus update)
#
vika_nezrimaya
Webmentions. Do normal webmention endpoints return Location headers? Or do only syndication services return them?
#
jacky
only if they support reporting status, vika_nezrimaya
#
jacky
vika_nezrimaya: check out Section 3.2 of the spec about that: https://webmention.net/draft/#receiving-webmentions
#
jacky
also if you want a testing client for Micropub, check out https://micropub.rocks/
#
vika_nezrimaya
ok, well, I'll probably be only using send_webmention() return value in syndication scenarios so this usually should not matter for me
#
vika_nezrimaya
jacky: more like a testing server :D
#
jacky
aaaah not a client,
#
vika_nezrimaya
I'm in a process of writing my own JS IndieWeb reader with integrated Micropub
#
vika_nezrimaya
Right now things working are MF2-JSON, a beautiful HTML editor (TinyMCE), tags and titles
#
vika_nezrimaya
Planned are geolocation, attachments via media endpoint and feed reading
#
vika_nezrimaya
and maybe custom fields :3
#
jacky
that sounds cool!
#
jacky
I've been a bit afraid to put a lot of features into my micropub client
#
jacky
so I'm splitting them up
#
jacky
https://publish.koype.net/ is meant for long form and I'm thinking about making a dedicated "short form" one for https://lwa.black.af that can link out to a long-form editor on request
#
vika_nezrimaya
jacky: I assume you're jacky.wtf? seems like all your domains share the property of being very cool :3
#
jacky
lol I am and haha, I appreciate that
#
vika_nezrimaya
btw the main feature not working is...
#
vika_nezrimaya
sending that MF2-JSON to an actual micropub endpoint
#
jacky
I _think_ you can mock that tbh
#
jacky
like if you want to just see the response
#
jacky
is it live somewhere? I can test it with my own site
#
vika_nezrimaya
I did! It prints the JSON on the page. It's not live yet, since I haven't decided on a name yet
#
jacky
aahh gotcha
#
vika_nezrimaya
But I can upload it somewhere real quick
#
vika_nezrimaya
It's tiny, the only dependency is TinyMCE...
#
vika_nezrimaya
and it's completely static and even works offline
#
jacky
nice! could be handy on the go
#
jacky
lol every time I log into this thing, there's something I want to change
[grantcodes] joined the channel
#
[grantcodes]
vika_nezrimaya if your tool is for other people you will run into problems with cors. If it's just for yourself then that's fine 😛
#
vika_nezrimaya
[grantcodes]: I heard Together has the same problems
#
vika_nezrimaya
Or maybe not Together but some other web reader
#
vika_nezrimaya
but CORS on a Micropub endpoint seems reasonable
#
vika_nezrimaya
we're using bearer tokens anyway, so it's reasonably secure...
#
[grantcodes]
Also your code you pasted I don't think will be fully async. If you use for of instead of .foreach on the array you are looping it should work better
#
vika_nezrimaya
[grantcodes]: am I right that if I'll use for instead of Array.prototype.forEach I could have image uploads going in parallel?
#
vika_nezrimaya
That could speed up multi-photo posts by a large margin...
#
[grantcodes]
Together doesn't have the problem because it has a middleware server in node. It's reasonable to support cors on a micropub server, but then you also probably need to users site and Auth endpoint to support cors too
#
[grantcodes]
Unless you don't do that part in js
#
vika_nezrimaya
I'll have to, since I don't plan on having any server-side code...
#
jacky
what are errors from a microsub server supposed / should look like?
#
jacky
I've been doing {error: "code", message: "text"} right now
#
jacky
I feel like I've seen {error: "", error_description: ""}
#
vika_nezrimaya
Well, I'd assume they'd be HTTP 400 responses first of all :3
#
vika_nezrimaya
Nobody shows error_description to users anyway, so who cares? except app developers themselves
#
[grantcodes]
If you change to using async with for of they would run one at a time. If you want them to run parallel then return when they are all done I think promise.all is your friend
#
vika_nezrimaya
I think the second variant is more common
#
jacky
vika_nezrimaya: I'd show it in the "advanced" panel if people did see it / wanted to know
#
jacky
(or some space appropriate for it)
#
jacky
Quill also shows it
#
vika_nezrimaya
Me too, really. I mean, having a field returned that is not used in the UI feels like a waste of network traffic.
#
[grantcodes]
I thought the microsub error message was defined, or maybe it just follows micropub. I think at least one is message is meant to be human read and another for the machines
#
[grantcodes]
*readable
#
jacky
right but I can't find that reference :(
#
jacky
once I do, I'm adding it to the wiki
#
[grantcodes]
Maybe the micropub spec?
#
vika_nezrimaya
[grantcodes]: more like developer readable, as the spec clearly says the message shouldn't be shown to users
#
vika_nezrimaya
implying that it is to be dumped in logs for developers or nerds
#
vika_nezrimaya
at least that was the last time I read it, which was... maybe several months ago?
#
jacky
that's fine - you can still use that information to do things
#
jacky
like if you _know_ your scope is low, you can use it to ask the user if they'd like to re-auth with higher scope privileges
#
vika_nezrimaya
Yeah, this kind of thing could come up with my older version - I had my own auth endpoint which allowed for controlled scopes. I could uncheck a checkbox for a suspicious app and it wouldn't be able to post things if I didn't want to.
#
vika_nezrimaya
s/version/version of pyindieblog/
#
jacky
like I get you
#
jacky
slang, my bad
#
vika_nezrimaya
word is too hard, I use Emacs and Org-mode :D
#
jacky
hahaha
#
Loqi
hahaha
#
jacky
I do want something that'd do a bit of 'hygiene' around tokens - like if I got requested to log-in and it's been like a month; if I still needed those scopes on the app
#
vika_nezrimaya
I was sitting in an anticafe one day and thought about OOBE for an IndieWeb CMS, a bit like WordPress's 5-minute install but more about setting up your identity and not a database
#
vika_nezrimaya
I need to write an article on that, maybe draw some mock-ups
#
vika_nezrimaya
And the things I saw were seemingly inspired by Windows 10 OOBE of all things
#
jacky
like the set up process of Windows?
#
jacky
it's gotten interestingly nice
#
vika_nezrimaya
At least in my imagination, users don't like to be overloaded with lots of settings. They want to handle things one-by-one, but see how much's left...
[schmarty] joined the channel
#
vika_nezrimaya
So it could be - setting up your credentials for IndieAuth, then h-card, then selecting a theme for the blog and then checking settings if everything's right
#
jacky
give 'sane'/safe/simple defaults and let them know how to change if needed
#
vika_nezrimaya
Mmhm! And simple explanations for hard stuff
#
[schmarty]
bringing vouch discussions here since it's dev-y
#
[schmarty]
i believe GWG has some support for checking vouches to the WordPress webmention plugin ecosystem.
#
vika_nezrimaya
Don't say "rel=me links", ask the user "Do you have any other profiles you want to show off?" Don't say p-name, ask "What's your name?"
#
vika_nezrimaya
Something like this.
#
jacky
right - def sounds like a UX thing though
#
vika_nezrimaya
Oh, maybe also ask if the user knows any other people, suggest some famous IndieWeb personalities in a "who-to-follow" first-time Microsub setup
#
jacky
see that _sounds_ like a good idea
#
vika_nezrimaya
I had a problem of finding who-to-follow in my onboarding
#
jacky
that can create a problem of pushing a celebrity status
#
jacky
which, depending on who you ask, isn't ideal
#
vika_nezrimaya
ohhhh yea you're right
#
jacky
discovery is like alchemy lol
#
vika_nezrimaya
Hm, maybe opt for same approach like Mastodon? If the user has entered their, e.g. Twitter, scan people they follow for IndieWeb people (i.e. people with sites linked from their profile and having at least an h-card and/or h-feed)
#
vika_nezrimaya
I'll go write down my ideas... :3
#
jacky
that could work!
[snarfed] joined the channel
#
[snarfed]
vika_nezrimaya i assume you're testing with aperture; feel free to try https://baffle.tech/ too!
#
jacky
this might be a bit aggressive but I don't think I'll have my microsub server support anything that isn't h-feed atm
#
jacky
there isn't solid solutions for RSS and ATOM parsers in Elixir
#
[snarfed]
jacky: just bake in granary?
#
jacky
that's legit what I'm thinking about doing right now
#
jacky
yeah that should be fine for now
#
vika_nezrimaya
@snarfed I don't have newsblur
#
vika_nezrimaya
and microsub isn't implemented yet
#
[snarfed]
huh, sounded like you were building a microsub reader...?
#
jacky
wow the links to my Atom feeds are busted
#
[snarfed]
and newsblur is free for a basic account. not important though!
[tantek], gRegorLove, gRegorLove_ and [bdesham] joined the channel
#
vika_nezrimaya
Hm. Thinking about implementing RSVP posts and a calendar on my site where every event I've posted/reposted/RSVPd to will be shown. But I need searching for this, and for searching I need to implement a different database backend I guess?
#
vika_nezrimaya
Or maybe not, it depends
[KevinMarks] joined the channel
#
[KevinMarks]
Reading scrollback - Promise.All is a good way to spawn an array of things and handle all the results afterwards; I find it clearer than async/await. Jake's article on promises shows all the alternatives neatly https://developers.google.com/web/fundamentals/primers/promises