#dev 2023-02-16

2023-02-16 UTC
#
angelo
i need to direct a new user to their registrar to create an A record. assuming the registrar is known i can help by linking to the registrar's page on setting A records.
zimreg joined the channel
#
[tantek]
so let's roll this back to help document it
#
[tantek]
why do I (a user who just bought a domain) need to create an A record?
#
[tantek]
what is an A record
#
Loqi
It looks like we don't have a page for "A record" yet. Would you like to create it? (Or just say "A record is ____", a sentence describing the term)
#
[tantek]
^ huh why didn't what work with Loqi? does Loqi not like defining things that start with A or The?
#
angelo
when we talk about "configuring" or "setting up" DNS we're /always/ talking about "records" but the various registrar UXes differ greatly
#
[tantek]
I don't remember ever setting up an "A record" FWIW
#
[tantek]
just Domain Name Servers
#
gRegor
We've done that fairly often at work when they have other existing DNS records that we don't want to duplicate if we just switched the NS
#
[snarfed]
DNS is one of the biggest remaining accessibility obstacle for basic indieweb onboarding. I think micro.blog's approach of using DNS registrar and provider APIs to do all this automatically, invisibly, is the right idea
#
angelo
tantek did you mean Domain Name Servers as in NS name servers? or a simplification of DNS (even though it's Domain Name System). or the servers that serve your domain name?
#
angelo
NS name servers are definitely a part of the problem
#
[tantek]
well that's enough to motivate documenting some disambiguation
#
[tantek]
Wikipedia redirect enwp.org/DNS to Domain Name System, however our wiki defines DNS as Domain Name Server
#
[tantek]
angelo, which of those is a more useful concept from an IndieWeb user perspective?
#
[tantek]
(that's how we should decide what to document first and how)
#
cambridgeport90[
DNS can mean either,though, depending on context.
#
gRegor
I vote system. Doubt many here are running own DN servers
#
[tantek]
even fewer are Domain Name System architects or maintaining one.
#
gRegor
Yep. Domain Name Server on wp also redirects to https://en.wikipedia.org/wiki/Name_server
#
[tantek]
neither of you answered my question: which of them is a more useful concept from an IndieWeb user perspective? as in in what use-cases would an IndieWeb user need to know / understand one concept
#
[tantek]
vs the other
#
gRegor
Indieweb users are usually setting up records in their registrar's Domain Name System, not setting up a Domain Name Server software, thus I vote system.
#
[tantek]
gRegor, interesting because my experience is the opposite. I don't remember messing with records. I do remember (many times) changing Domain Name Server *entries*
#
[tantek]
angelo said: 'when we talk about "configuring" or "setting up" DNS we're /always/ talking about "records"' — when I talk about configuring or setting up DNS, it's always been "enter these IP addresses into the Domain Name Server entries on your registrar"
#
[tantek]
use-case: migrate from one web host to another, once you have the new host setup, you "flip the DNS" — and what that does that mean?
#
[tantek]
it means changing the Domain Name *Server* entries from the old host to the new host
#
[tantek]
so let's talk about this from a comparison of use-cases perspective
#
gRegor
Domain Name Server to me is the software running it, like Bind. The literal server, not the interface to set up records in the System
#
[tantek]
use-case: migrate from one web host to another
#
gRegor
I would be interested to see if any UX uses term "Domain Name Server" for setting records. I'll check Dreamhost
#
[tantek]
yeah, UI on either/both registrars and web hosts
#
[tantek]
there's LOTS of documentation opportunity there for us to provide a resource
#
[tantek]
so I just checked, I have no A records, so I"m no longer convinced that they are necessary for any of this
#
[snarfed]
You generally need either a CNAME or an A (or AAAA) to resolve a given domain name to an IP
#
[tantek]
on my registrar, "all I had to do" was configure Name Servers
#
[tantek]
and they call them "Name Servers" in the UI
#
[tantek]
they use "DNS" for records
gRegor joined the channel
#
[tantek]
what is a Name Server
#
Loqi
It looks like we don't have a page for "Name Server" yet. Would you like to create it? (Or just say "Name Server is ____", a sentence describing the term)
#
gRegor
Dreamhost doesn't expand "DNS" in its docs, refers to DNS or DNS records. Of which nameservers (one word) is a type of DNS record.
#
gRegor
nameservers (NS) being like, ns1.dreamhost.com
#
gRegor
I maintain that we should use Domain Name System as the expanded acronym, avoiding confusion with nameserver DNS records
#
[tantek]
yeah I'm not seeing any use of "Domain Name Servers", only "Name Servers"
#
[tantek]
well we have an /NS page but it's pretty abstract and useless
#
gRegor
For the simplest case, people setting up a brand new domain, yeah they should only need to update the nameservers with the registrar, no add'l DNS records. If they're switching the domain from one host to another and have other DNS records for mail or something, then it gets more tricky and they might want to add an A record.
#
[tantek]
Name Server is something you configure on your [[domain registrar]] to point to your [[web host]].
#
gRegor
what is 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
#
[tantek]
^ so that is completely useless from an IndieWeb perspective
#
[tantek]
it's jargon defined in terms of jargon
#
gRegor
2014, early days of what-is-ing :)
#
angelo
in dynadot "My Domains > Name Servers" is for external name servers. i need to go to "My Domains > Manage Domains > example.com > DNS Settings > " and there's only a passing mention there of "this interface uses our name servers"
#
[tantek]
what is dynadot
#
Loqi
It looks like we don't have a page for "dynadot" yet. Would you like to create it? (Or just say "dynadot is ____", a sentence describing the term)
#
benatkin
HWC looks to be empty except IndieWebCamp
#
[tantek]
what is a name server
#
Loqi
A Name Server is something you configure on your domain registrar to point to your web host; it’s part of how someone views your website, from typing your domain name into a browser, which looks up your domain name and finds your registrar, whose name servers point to your web host, which then serves your personal site to the browser https://indieweb.org/Name_Server
#
[tantek]
gRegor, Angelo, [snarfed] please review ^ for accuracy and IndieWeb-readability
#
benatkin
we have 2 of us in the HWC zoom now =)
angelo_ joined the channel
rocto, mro, IWSlackGateway, s[_] and prologic joined the channel
#
prologic
I want to talk about IndieWeb ActivityPub and specifically integrating Twtxt<->ActivityPub (See: https://indieweb.org/ActivityPub)
mro, zimreg and [snarfed] joined the channel
#
[snarfed]
go ahead!
mro, CrowderSoup, jonnybarnes and [schmarty] joined the channel
#
[schmarty]
From main channel: Jacky mentioned Nostr had "Bitcoin on top". I'm definitely interested in them finding... other models of incentivizing relays to carry posts. I find the seemingly simple plumbing of Nostr appealing.
#
[schmarty]
I agree they have basically no story for spam or harassment, huge problems there. There's also something anti-web about it that I don't like, pushing everything into JSON messages.
geoffo joined the channel
#
sknebel
in what way does it have "bitcoin on top"?
[tantek] joined the channel
#
[snarfed]
they just finalized a micropayment extension that uses Bitcoin Lightning
#
[snarfed]
it wasn't at all in the core the protocol itself, but people from the Bitcoin community drove much of the early adoption, so those may have been conflated
#
sknebel
right, I had seen that it was used a bunch in those circles, but what I had seen from the protocol seemed free of that
#
[schmarty]
• I appreciate the core docs being free of that stuff. In addition to the micropayments extension I saw folks mentioning paying relays for service in crypto (and want to say I saw a mention of one that already worked this way?). I also peeked at some client that was showing lots of public posts and it was basically a flood of cryptocurrency spamming
#
[schmarty]
lol oops slack format slippage
geoffo, [aciccarello], zimreg, sebbu, gRegor and gxt joined the channel
#
[tantek]
benpate[m] noted in #indieweb "if Montaigne has figured out the APIs, it means that others can too. I love the inspiration, and might consider something like that. Perhaps a bridge from Apple notes to an open publishing protocol?"
#
[tantek]
Agreed and I wonder how / what that protocol would look like
#
[tantek]
Is it "just" Micropub or is there something more?
#
[tantek]
And would an Apple Notes <-> Micropub bridge be possible?
#
aaronpk
at one point i had something similar, syncing posts from the Todoist API -> Micropub
#
aaronpk
afaik there's no rest API for iCloud so I wonder how it works
#
capjamesg
is going to expand his screenshot service
#
capjamesg
[chrisbergr] What is your domain name?
#
capjamesg
What's a good name for a screenshot service?
#
IWDiscordRelay
<c​apjamesg#4492> Yay!
#
aaronpk
!! "Home Screen web apps on iOS and iPadOS 16.4 beta 1 now support the Badging API"
#
aaronpk
this is so cool!
#
[schmarty]
oh ha i misread what this API does and have immediately lost interest after closer reading 😂
#
capjamesg
aaronpk Web push seems to be non-trivial to set up.
#
capjamesg
But I think I'll have to try it :)
#
prologic
[snarfed] so I'm thinking about building a Twtxt<->AP bridge of sorts, and I'm not even sure if its at all possible yet. I'm worried about the RSA keys that are used to sign HTTP signatures for example and how threading will work (if at all?)
#
[snarfed]
prologic it's definitely doable! https://fed.brid.gy/ is an existince proof. fed.brid.gy serves AP endpoints like inboxes and fetches and converts data from users' sites. users redirect their domain's webfinger requests to it too.
#
[snarfed]
it generates and stores users' keys behind the scenes, they don't have to touch them at all
#
prologic
Ahh I see
#
prologic
That sounds like what I want to do
#
prologic
The best example of how this shit™ works I've found is a blog post from Eugene himself: https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
#
prologic
:D
#
prologic
Next questions, how would following/follows work at all in this case?
#
prologic
Do AP clients/servers (whatever) have a unique way of being identified so we can track who/what follows a feed so we can send them these special JSON+LD docs :D
#
prologic
You can tell I really don't like this over engineering AP protocol :D
#
[snarfed]
yeah, AP users are @user@domain. discovery is webfinger on that identifier, which points to their AS2 actor, which you fetch to get their inbox, then you deliver a Follow activity to that inbox
#
[snarfed]
likewise, AP instances would send Follow activities to your users' inboxes that you serve and proxy for them
#
prologic
Ahh!
#
prologic
that seems straight forward then, I just need to recieve those and process them
#
prologic
Know of a simple way of standing up something I can test/develop against that isn't Mastodon? (that thing is uber hard to stnad up :/)
#
[snarfed]
I ran a few of them locally to test against early on, but yeah, took some work. I now just use test users on live prod instances
#
prologic
kk
[KevinMarks] joined the channel
#
[snarfed]
ideally the answer would be https://fedidb.org/ , which sounded nice, but afaict never actually shipped
#
prologic
one last question
#
prologic
since I'm planning on this separate service/bridge thing
#
prologic
how would I go about "delegating" the discover?
#
prologic
I'd have to have webfinger on Yarn.social pods (✅) and point AP actor identities to the service?
#
prologic
👀
#
prologic
Ahh this redirects the entire WKD lookups
#
prologic
interesting looking at fed.brid.gy we (Yarn.social pods) might be able to use this already :D
#
prologic
We already employ basically all the components talked about, including webfinger, profile pages, microformats, etc
#
prologic
Haha
#
prologic
Anyway, I'm gonna try and build a poc this weekend I think
#
[snarfed]
and yeah feel free to see how far you get with bridgy fed
#
prologic
I think the trickiest part is the webfinger part tbh
#
prologic
need to figure out a way just to forward the AP lookup itself somehow as yarnd already implements webfinger
#
prologic
or rather to delegate the AP lookup to bridgy itself for the A2S actor ident
#
prologic
if I'm making any sense at all?
#
prologic
For example, do a webfinger lookup of my feed now: @prologic@twtxt.net
#
[snarfed]
ah. you could just hard code BF's AP actor rel link into your existing response
#
[snarfed]
rel: self, type: application/activity+json, href: https://fed.brid.gy/[domain]
#
prologic
I see
#
[snarfed]
ah wait but do you have multiple users per domain?
#
[snarfed]
BF isn't designed for that
#
prologic
correct, generally speaking, yes
#
prologic
Yeah I was thinking that just now
#
prologic
it would work on my single-user pod, but not any multi-user ones
#
[snarfed]
if you eventually serve per-user subdomains, eg https://prologic.twtxt.net/, then BF could work
#
prologic
In terms of interoperating threading on both sides (AP and Twtxt) I'd take advantage of the in-Reply-To field right?
#
prologic
This is probably the part I'm worried about the most
#
prologic
We use content-addressable hashses for threading
#
[snarfed]
AS2 inReplyTo, right
#
prologic
Not sure how well this will translate into the so-called "fediverse" :)
#
[snarfed]
should be fine, just part of converting between twtxt and AS2
#
[snarfed]
if every twtxt post has a permalink, then you could use those permalinks as AS2 ids, implement conneg, and convert and serve posts as AS2 when you get Accept: application/activity+json
#
prologic
I guess I'm more worried about the AS2 side, say I reply to someone's Toot? (is that what we call it? :D) the activity I send it soing ot have a In-Reply-To of something like https://twtxt.net/twt/xxxxxxx
#
prologic
content negogigate our permalink uris?
#
prologic
we already do!
#
prologic
text/html and application/json
#
prologic
but not activity+json
#
[snarfed]
yeah you'd need to add that, and conversion to AS2
#
[snarfed]
also the inReplyTo would be the toot's URL, not yours
#
[tantek]
wellknown-- and obligatory webfinger--
#
Loqi
webfinger has -3 karma in this channel over the last year (-4 in all channels)
#
Loqi
wellknown has -3 karma over the last year
#
[snarfed]
obligatory conneg--
#
Loqi
conneg has -20 karma in this channel over the last year (-26 in all channels)
#
prologic
I _think_ technically we could keep this the same, as long as we translate this into what AS2 In-Reply-To(s) expect
#
prologic
I guess I'll find out how this will behave :)
#
prologic
So a reply for Twtxt looks like:
#
prologic
2023-02-11T01:24:31Z (#cwzmlqa) Nice one on the double ratcheting for [Salty.im](https://salty.im) @<xuu https://txt.sour.is/user/xuu/twtxt.txt> 👌 Can't wait for us to integrate this shiny piece of work 🥳
#
[snarfed]
good luck!
#
prologic
Thanks :D