#dev 2022-02-08

2022-02-08 UTC
nertzy joined the channel
#
@AaronGustafson
↩️ I've been taking about this with @aaronpk. We wanted to add to http://webmention.io and http://brid.gy. need to dig up the issue…
(twitter.com/_/status/1490841145500258306)
#
@AaronGustafson
↩️ I've been taking about this with @aaronpk. We wanted to add to http://webmention.io and http://brid.gy. need to dig up the issue…
(twitter.com/_/status/1490841145500258306)
#
[tantek]
capjamesg[d] I specifically did not intend to imply or not 🙂
darkkirb, Seirdy, _wackycity[d], hoenir_, _aaronpk[d], _Murray[d], _shaunix[d], _sarahd[d], _balupton[d], _cygnoir[d], _capjamesg[d], _mossymaker[d], _dovedozen[d], daiyi[d], _edburns[d], Ramon[d]_, sayanarijit[d], hans63us[d], Christian_Olivie, aspenmayer[d], corenominal[d], Myst[d], MarkJR84[d], marksuth[d], Zegnat[d], rattroupe[d], Jeremiah[d], Seb[d], Asaf_Agranat[d], [fluffy], sebbu, jacky, baracurda_ and strugee_ joined the channel
#
@Cayas_Software
An die #WebDevs unter uns: Sind #webmentions schon ein wirklicher Ersatz für Kommentare & Co?
(twitter.com/_/status/1490981572958654464)
tj2, [schmarty]1, [fluffy]1 and [jgmac1106]1 joined the channel
#
capjamesg[d]
What is a contact?
#
Loqi
communication in the context of the indieweb refers to using your personal website as a starting point and potentially way for people to contact you https://indieweb.org/contact
#
capjamesg[d]
What is an address book?
#
Loqi
contacts refers to a set of people, organizations, groups and anything else with one or more addresses (often URLs) for communication https://indieweb.org/address_book
#
kinduff
Yesterday I was #1 in HN for a post, and had an insane amount of webmentions. These webmentions came also with the corresponding amount of spam, or bot accounts that I didn't really wanted to publish.
#
kinduff
My webmention workflow looks something like this:
#
kinduff
[Bridgy, or Others] --> [Webmention.io Webhook] --> n8n
#
kinduff
n8n: [Parse, verify, create a file to GitHub] --> [New commit] --> Deploy
#
kinduff
So you can imagine the amount of deploys I did. I ended up removing the auto-deploy feature.
#
kinduff
What I did instead was to deploy manually from my local, but I saw myself also "moderating", in a way. I was deleting the webmention files.
#
kinduff
And then it came into my mind that I could potentitally use a storage to pre-approve webmentions before publishing them to Github.
#
kinduff
Has anyone have a similar experience? How do you deal with unwanted webmentions?
tetov-irc and hans63us[d] joined the channel
#
capjamesg[d]
What is Vouch?
#
Loqi
The Vouch protocol is an anti-spam extension to Webmention. Webmention with Vouch depends on understanding Webmention https://indieweb.org/Vouch
#
capjamesg[d]
Vouch is one proposed way to deal with spam.
#
capjamesg[d]
When using Vouch, a Webmention endpoint would look for an optional "vouch" by a third-party. If you trust that third party (as defined by a registry of sites you trust that you create and maintain), and the third party links to the person sending you a webmention, the Vouch is valid. Comments with a valid vouch are much less likely to be spam.
#
capjamesg[d]
But, I don't think Vouch is widely supported just yet.
#
capjamesg[d]
My endpoint has a "approved" boolean database column that I *can* use if I want to only show webmentions I have approved to show.
#
capjamesg[d]
In practice, I don't really use this but it's something I really wanted to have. Webmentions that come to my endpoint are by default shown to the world but I can hide them (without deleting them) using this flag.
#
kinduff
> Bob sends along a third parameter, "vouch"
#
kinduff
We trust Bob too much though
#
capjamesg[d]
Although I don't know if webmention.io supports anything similar to this.
#
kinduff
I like your idea of having a boolean
#
kinduff
im doing full static though, so i need to relay
#
kinduff
every day is a day i consider more and more to setup a server
#
capjamesg[d]
Yeah. What you could do is "IF site approved by me THEN show; ELSE don't show until I change something"
#
capjamesg[d]
That something could be a variable in front matter, a JSON value, or whatever makes sense for you.
#
kinduff
like like, capjamesg[d]++
#
Loqi
capjamesg[d] has 27 karma in this channel over the last year (73 in all channels)
#
capjamesg[d]
I parse all of my webmentions using JS so I don't need to make any changes to my static site when I moderate a comment.
#
kinduff
you have a cache layer or are you hitting the api everytime?
#
capjamesg[d]
If I see spam (which I haven't yet but might), I can delete / hide the mention on my endpoint and it will immediately disappear from my site.
#
capjamesg[d]
I hit the API every time.
#
capjamesg[d]
But it's my API so I don't mind haha.
#
kinduff
thats super nice
#
capjamesg[d]
There is a webmention.js script that lets you pull webmentions from webmention.io maintained by I think fluffy.
#
capjamesg[d]
What is webmention.js?
#
Loqi
webmention.js is a common name for a Javascript library for displaying comments and likes from the webmention.io service https://indieweb.org/webmention.js
#
capjamesg[d]
There you go ^
#
kinduff
yes, i started with that one, but I really like to host them myself
#
kinduff
more control you know?
#
kinduff
so im planning to create some sort of webmention service to host and to create custom webmentions
#
capjamesg[d]
Absolutely. That's why I have my own webmention endpoint haha.
#
kinduff
for example, i have 2 scripts to parse hackernews comments, and to parse custom comments from a form I have
#
kinduff
i was thinking of a name, i have the domain badecaf.com which i love because who likes decaf
#
capjamesg[d]
I like the HN comment idea. That's really cool!
#
kinduff
i was thinking like "Mentioner", or "CommentZombie" (like CommentParade but theres zombies)
#
capjamesg[d]
I like decaf haha. But only if it's done right (and in most cases, unfortunately, it is not...).
#
capjamesg[d]
My webmention endpoint is called... wait for it... "Webmention Endpoint" I am bad at naming things.
#
kinduff
hahah
#
kinduff
you know what they say about naming stuff, cache and dns
#
capjamesg[d]
I like "Mentioner"
#
kinduff
or SWBG
#
kinduff
SWG - stupid webmention generator
#
kinduff
😜
#
[KevinMarks]
You may need more than a boolean. You're likely to want an allowlist, a blocklist and a maybe list based on domain, and you may want to vary what you show per post. Like the twitter thing where you can change default behaviour by post, so when it does hit HN or get quote tweeted by a big rotator then you can change to hide the maybes
#
capjamesg[d]
[KevinMarks] I use a boolean to indicate show / hide. Although I definitely agree there needs to be a criteria for deciding whether to show / hide.
#
capjamesg[d]
For instance, I might choose to automatically show all posts but hide those that match example.com if I have had a bad experience with that domain in the past (spam, too many webmentions sent, etc.)
#
kinduff
[KevinMarks]: "Like the twitter thing where you can change default behaviour by post", what do you mean?
nertzy joined the channel
#
capjamesg[d]
What is self hosting?
#
Loqi
self hosting is the practice of running the software for your personal website on hardware under your own physical control, typically on a server at home, or sometimes refers to only the aspect of running web applications on a server under your control but not necessarily in your home https://indieweb.org/self_hosting
#
capjamesg[d]
Self hosting << Cloudflare offers a product that helps protect web servers from attack, no matter where they run (examples cited include a "public cloud" and "a Mac mini under your TV"): https://www.cloudflare.com/en-gb/products/tunnel/
#
Loqi
ok, I added "Cloudflare offers a product that helps protect web servers from attack, no matter where they run (examples cited include a "public cloud" and "a Mac mini under your TV"): https://www.cloudflare.com/en-gb/products/tunnel/" to the "See Also" section of /web_hosting https://indieweb.org/wiki/index.php?diff=79537&oldid=78566
#
capjamesg[d]
That product looks to overcome my security reservations about hosting applications at home ^
#
[snarfed]
oh interesting, it's a WAF? ok
#
superkuh
If you put cloudflare in front it's not self-hosting.
#
superkuh
It's even worse than hosting at some random VPS provider.
#
superkuh
It's actively participating in the unhealthy centralization of the internet.
#
superkuh
I've hosted my .com website from home for over 20 years now while being an antagonistic person on many, many IRC networks. And I have still, never, ever had to deal with a DoS attack. It really is a rare thing and not something 99% of hosts have to worry about, ever.
#
[snarfed]
the product capjamesg linked to is a WAF, not (just) a DOS shield. WAFs protect against breach attempts and compromises. definitely still valuable for small sites
#
[snarfed]
also IndieWeb isn't prescriptive about self hosting, since the amount of "self" in hosting is always shades of gray. We welcome self hosting and not self hosting, we care more about owning your domain and being able to export your data
#
aaronpk
Interesting to see them specifically call out a Mac Mini under a TV 😅
#
superkuh
Okay. I, personally, think any use of cloudflare by a human person not being forced to do it because of work is quite bad.
#
[snarfed]
CloudFlare also does a ton of good and provides useful services at good prices, with generous free tiers. centralization of the internet is bad, agreed, but not the only factor
#
[snarfed]
tech politics isn't quite our primary focus here, so we try to focus on IndieWeb stuff more than hosting "purity," and we want to be accepting of people on all different hosting stacks, and not scare them away by calling them bad
#
[KevinMarks]
I have a mac mini under a tv that runs a plex server, but plex stopped updating it (It's an original mac mini)
#
[KevinMarks]
oh, hang on it's a 3rd generation mac mini so it's only 12 years old
#
aaronpk
I use cloudflare for the domain that serves the avatar images on my comments, it takes a lot of bandwidth off my server
jacky joined the channel
#
jacky
going to hack on the mf2-rust website during lunch today
#
jacky
one endpoint to rule them all (lol)
jacky joined the channel
#
Zegnat
Mac mini under TV? Whatever happened to Dean Edwards and his tower PC in the kitchen as server?
#
Zegnat
desperately tries to find the image
#
Zegnat
This is the image I will always think of when people talk about hosting their blogs from home. http://web.archive.org/web/20150511001625/https://www.flickr.com/photos/mollyeh11/65792910/in/set-1419295/
#
capjamesg[d]
Name server?
#
Zegnat
That box is/was the home of http://dean.edwards.name/
#
Zegnat
Some real webdev history there ;)
#
Zegnat
From when people were backporting IE7 behaviour to IE6
jacky joined the channel
#
@obra
It turns out that if you contact Spotify and ask, they'll give you your full listening history as a JSON file. Consequently, I can tell you that I have listened to 150479.589 minutes of music on Spotify since 2/14/11.
(twitter.com/_/status/1491123728692178944)
#
jacky
ooh that's cool
#
sknebel
wasnt spotify the ones that gave people records down to analytics logging of individual mouse clicks?
#
Zegnat
That is some really consistent Spotify use to be able to pinpoint specific days. But I guess that makes sense for people who enjoy music
#
[tantek]
^ worth adding to /Spotify#Export
#
[tantek]
or to a "How to Export" section (if there isn't one already)
#
capjamesg[d]
It’s good to know that you can get that data.
#
capjamesg[d]
Unlike other platforms that will barely give you anything even if you push them.
#
capjamesg[d]
Not mentioning any names… 😂
#
kinduff
damn, another reason why i wont use spotify ever
#
capjamesg[d]
I don’t like how much they are tracking though.
#
capjamesg[d]
Luckily I moved to Apple Music.
#
capjamesg[d]
But Spotify will still have years of data.
#
kinduff
i do voluntary tracking using lastfm 😂
#
jacky
I like the pages they produce
[aciccarello] joined the channel
#
capjamesg[d]
Has anyone tried to host their own DNS nameserver?
#
capjamesg[d]
What is a nameserver?
#
Loqi
A NS (name server) record in DNS tells the other DNS zone servers which servers are to be considered authoritative for zone updates https://indieweb.org/nameserver
#
petermolnar
I partially host my DNS
#
petermolnar
as in I'm one of the NS on the record, the other is digitalocean
#
petermolnar
the sw I'm using is nsd
#
capjamesg[d]
Or I suppose recursive resolver since the nameserver is typically higher up in the DNS chain.
#
capjamesg[d]
Did you ever consider building your own?
#
petermolnar
you don't need recursive to serve your dns
#
Loqi
[NLnetLabs] nsd: The NLnet Labs Name Server Daemon (NSD) is an authoritative, RFC compliant DNS nameserver.
#
jacky
I've been curious about hosting one for myself purely for curiousity
#
jacky
to see what kind of traffic / calls my home network makes
#
capjamesg[d]
The Pi Hole is pretty good for that sort of tracking.
#
capjamesg[d]
But it isn’t a DNS server.
#
sknebel
ok, so now I'm curious, what do you mean exactly by "DNS server"?
#
jacky
I think NS === DNS server (in this case)
#
sknebel
because the Pi Hole is a recursive resolver
#
sknebel
(at least I thought? or is it just a cache?)
#
sknebel
... yep, seems to be the latter
#
sknebel
still a kind of "DNS server" arguably :D
#
sknebel
so are you asking about something you use on your clients to get DNS results, or hosting one for a website etc?
#
jacky
I'd like something for my own use in my home (both for making resolution of things easier - I've been getting this with Avahi though)
#
jacky
though Avahi doesn't work on Android
#
sknebel
for that pi hole is probably not a bad option to start with
#
sknebel
as a "no/little commandline fiddling" option
#
sknebel
installing something by hand also isn't that bad though
#
sknebel
I run an authorative server for the subdomain thats used for lets encrypt verification for their wildcard certs
#
sknebel
because my usual DNS host doesnt have an API
#
jacky
ooh that's interesting
#
jacky
I'm used to LE via the nginx flow (and that's automated in Dokku)
#
capjamesg[d]
Can you share more about the authoritative server?
#
capjamesg[d]
I need to brush up on my DNS terminology. It’s still new to me.
#
sknebel
I used PowerDNS
#
capjamesg[d]
What I would like to do is have an NS record that points to something like ns.jamesg.blog and resolves queries.
#
capjamesg[d]
But I’d like to build it myself haha.
#
capjamesg[d]
I haven’t found much documentation on how to do this.
#
sknebel
so an authorative DNS server
#
sknebel
"build yourself" as in "write the code yourself", or "install yourself"?!
#
capjamesg[d]
Write the code myself.
#
capjamesg[d]
Apologies for the ambiguity.
#
sknebel
dont actually know how many edge-cases there are you really need for a basic one
#
sknebel
i.e. get a library to parse the DNS packets, then it's probably just a few standard cases to cover?
#
sknebel
(e.g. julia evans recently published a toy resolver in <100 lines, I suspect doing authorative answers instead is not that bad?
#
capjamesg[d]
That’s what I was thinking about.
#
capjamesg[d]
I saw an implementation in Go from someone else too but it used a library that abstracted most of the actual details.
#
sknebel
heh, thats always the question, where do you draw that line
#
sknebel
somewhere between "raw packets please" and "from DNSServer import server"
KartikPrabhu joined the channel
#
capjamesg[d]
Ideally not the latter haha.
#
capjamesg[d]
Julia does the resolver but not the actual serving part from what I can see.
#
sknebel
right, the parsing is left to the lib, and for the recursive query shes using existing DNS functionality too
#
sknebel
and an authorative server doesnt have the second part
#
sknebel
since it already knows the answers
#
capjamesg[d]
Python has dnslib it seems.
#
capjamesg[d]
But I feel like this is actually a bit too much work for me to take on as a beginner.
#
capjamesg[d]
Although I am tempted.
#
sknebel
you could always start with installing and configuring one
#
sknebel
and then later replacing it with homegrown if that still interests you
#
jacky
random thoughts re: microsub
#
jacky
actually nvm (i was thinking about considering imports for https://indieweb.org/Microsub-spec#Search but one could do that via their client)
#
jacky
but I do wonder - is there a concept of feed planets? like a place to find feeds of sorts?
#
sknebel
a planet is kind of that? or a feed directory?
#
jacky
yeah I think so
#
jacky
I'm thinking also for search as well
#
jacky
b/c I want my microsub server to also search those places for feeds if something is entered
#
sknebel
ah, so if I put "jacky" in the search box "something" might know your feed and give that as an answer
#
sknebel
or like podcast search works
#
sknebel
podcast directories are the main feed directories today I guess
#
jacky
one could use brid.gy like this (https://twitter.com/jackyalcine => https://brid.gy/twitter/jackyalcine for example) with some knowledge of lookup for twitter -> bridgy in-built
#
jacky
I figure this is them checking the DOM for new entries and parsing that
#
sknebel
inoreader has something like this too
#
sknebel
also has a tool to let you pick selectors
#
jacky
ah TIL
#
jacky
yeah man the more I think about it, I feel like I'm going to end up making something like a mix of inoreader, newsblur and/or feedly but with micropub and microsub at its heart
#
[KevinMarks]
Google crawl had a thing like that that looked for repeating patterns in pages and effectively reverse engineered the templates to spot when something was added
#
jacky
the only issue is that if this is done as a centralized service (like one person hosting it), if it's down, everyone's subs break. if it's distributed, then it's up to people to keep it up to date and can lead to feed inconsistencies
#
jacky
lol it'd be easier if people published feeds (and marked up pages with actual HTML and not a <div> attack)
P1000[d] and tetov-irc joined the channel
edburns[d] joined the channel