#social 2018-02-14

2018-02-14 UTC
timbl, rowan and bwn joined the channel
#
ajordan
cwebber2++
#
Loqi
cwebber2 has 111 karma
#
aaronpk
Oh hey it’s almost tomorrow already
timbl, rowan and bengo joined the channel
#
ajordan
that is generally the way time works
#
ajordan
at least in my experience
#
ajordan
will probably be less sassy once he's had dinner
bengo, bwn, xmpp-social, Loqi and dlongley joined the channel
#
cwebber2
moin moin
#
cwebber2
reminder that a SocialCG call in approx 1 hour :)
timbl joined the channel
#
ajordan
I may be IRC only for the call, we'll have to see
#
ajordan
unfortunately my phone headphone jack is somewhat borked and I can't install Mumble on the computer I'm using because I don't have root
#
ajordan
wonders if Plumble lets you hold the phone to your ear like a regular phone call
bengo and BanjoFox joined the channel
#
ajordan
topic's out of date but I guess it doesn't really matter now
#
bengo
are socialcg telecons at 16 UTC?
#
bengo
or 15 (....now)
#
ajordan
bengo: telecon is in just over 30 minutes
#
bengo
thx
#
ajordan
I think we switched it cause of DST
#
ajordan
idk timezones are hard
#
BanjoFox
Cwebber said about 40 minutes from now (well 37 atm)
#
bengo
Cool. 7am PST was harsh
#
ajordan
bengo: when I'm home (which is PST) I can barely do 8am :P
#
bengo
Where are you now?
#
ajordan
in college which is EST
#
bengo
Got it. Yeah big diff
#
ajordan
the nice thing about college is that I have always had terrible sleeping schedules but now it's socially acceptable for me to say "I'm a college student" and then people move on
#
ajordan
lol yep
#
BanjoFox
What are we at EST-wise now... -5 or -6GMT ... I can never seem to keep track -.-
#
ajordan
no idea tbh but it's 10:28 AM local time
#
ajordan
wait no I do know because my static site generator uses UTC offsets. I believe it's -4 for DST, -5 during the winter. or the other way around. [citation needed]
#
BanjoFox
Yeah I know what the local time it, but not the UTC or GMT offsets ;)
#
BanjoFox
Doesn't much matter I suppose :)
#
ajordan
ah BanjoFox I was guessing you knew UTC time but not localtime :D
#
ajordan
guess it was, uhh, the literal opposite
#
BanjoFox
Yep
#
BanjoFox
cause this is Amurika and we dont need to know about nothing outside of Localtime ;)
#
ajordan
oh my god
#
ajordan
(so true tho)
#
BanjoFox
I know.... I tried REALLY SUPER DUPER HARD not to cringe when my boss said "we live in the greatest country" ....
#
BanjoFox
ANYWAYS
#
BanjoFox
hello! and TZAG
#
ajordan
hahaha
#
Loqi
rofl
#
ajordan
meanwhile I'm irrationally disappointed that no one has responded to my Mumble bug in the past 40 minutes or so, even though that's a *completely* unreasonable expectation
#
BanjoFox
What bug?
#
Loqi
[strugee] #3340 Unprivileged user install on Windows
#
BanjoFox
OOPS
#
BanjoFox
I wonder if that's because they need access to the audio device. Mumble works pretty good on Android :) I dialed in that way before.
#
ajordan
yeah I really like Plumble
#
Loqi
[ajordan] unfortunately my phone headphone jack is somewhat borked and I can't install Mumble on the computer I'm using because I don't have root
#
ajordan
BanjoFox: do you know if you can hold Plumble to your ear like a regular phone call?
#
ajordan
cause if not I'm about to find out ;)
#
BanjoFox
LOL
#
BanjoFox
IIRC ... yes? I usually plug in my earbuds x.x
#
ajordan
yeah see my headphone jack is all sorts of screwed
rowan joined the channel
#
ajordan
it gets confused and tries to pause music, open the music app (which I have it set to do when the jack is plugged in), adjusts the volume... etc. etc.
#
BanjoFox
XD
#
BanjoFox
Dang... it looks like there is no "portable" version of Mumble client for Win
#
ajordan
all the stuff you can do by pressing a button on fancy earbuds
#
ajordan
I own a Nitrokey Storage and it's literally the biggest piece of technology I own that isn't broken in one way or another
#
BanjoFox
XD
#
ajordan
I mean I guess I have a desktop computer back home that boots okay
#
BanjoFox
waves at @rowan
#
ajordan
but overall 0/10 would not recommend having everything broken
#
ajordan
waves too :-)
#
BanjoFox
haha
#
BanjoFox
that is a pretty strong endorsement for not breaking everything ;)
#
ajordan
it all happened so fast too
#
bengo
is that mumble mpassword correct?
#
ajordan
ProTipβ„’: Purism laptops are nice but if you break something they may just, like
#
ajordan
not have replacements handy
#
ajordan
bengo: that's worked for me for a long while
#
bengo
I get "password or certificate rejected"
#
bengo
but can see a ping and 3/100 users
#
bengo
nvm
#
ajordan
I just tried with Plumble, Works On My Machine
#
bengo
EBKAC
#
BanjoFox
@bengo :D
#
ajordan
ah gotcha
#
ajordan
error code one D I zero T
#
rhiaro
I'm getting "Wrong certificate or password for registered user", cwebber2?
#
bengo
I had entered the hpassword in the username field...
#
bengo
I put 'ben' as username and it worked
#
cwebber2
rhiaro: did you use mumble on another computer?
#
rhiaro
oh I think I put the password as the username
#
cwebber2
rhiaro: you may just want to change your username
#
BanjoFox
oops
#
ajordan
that's two in one day
#
cwebber2
it generates a security certificate that's associated with your user I thiiiiiink but I forget how things work
#
cwebber2
oh there you are :)
#
aaronpk
I always get a certificate warning when I connect
#
rhiaro
oh it made a happy sound
#
rhiaro
I might have to leave in 30 mins but I'm here for now
#
ajordan
guess it's that time, dialing in
#
rhiaro
when I set it up my mic on the lowest settings was whistling like phasers from original Star Trek so imma leave that off
#
ajordan
cwebber2: I have no idea what you just said, my headphone jack turned the audio all the way down
#
BanjoFox
I should dial in.. but I am already sitting down...
#
Loqi
totally
#
BanjoFox
<-- at $daygig so.... I would have to go find a conf-room to hide in XD
#
ajordan
trackbot?
#
cwebber2
trackbot, start meeting
#
trackbot
is preparing a teleconference.
RRSAgent joined the channel
#
trackbot
RRSAgent, make logs public
#
RRSAgent
I have made the request, trackbot
#
trackbot
Meeting: Social Web Working Group Teleconference
#
trackbot
Date: 14 February 2018
#
ajordan
present+
#
cwebber2
present+
#
bengo
present+
#
rhiaro
present+
#
aaronpk
pesent+
#
sandro
present+
#
aaronpk
present+
#
ajordan
read that as present+
#
ajordan
present+ eprodrom
#
ajordan
lol I typo'd the typo, I meant peasant+
#
cwebber2
chair: cwebber2
#
cwebber2
scribenick: bengo
#
bengo
cwebber2: why dont we get started with the agenda and main topic
cdchapman joined the channel
#
ajordan
shouldn't we be approving last week's minutes?
#
ajordan
or were we just doing that in the WG
#
bengo
cwebber2: first major topic: ActivityStreams 2.0 @context, specifically the growth of the context
#
bengo
cwebber2: Why don't I frame the issue as it stands. Others can join in and correct me if I miss something.
#
aaronpk
afaik the cg doesnt have any official standing to approve the minutes on
#
bengo
cwebber2: Effectively, AS2 is being used as the primary vocabulary for ActivityPub
#
ajordan
ah right
#
bengo
cwebber2: And for extensions. We have a couple extensions so far. In SocialWG we agreed to hand off extension process to the CG>
#
bengo
cwebber2: To give backstory. One of the discussions in SocialCG awhile ago (not with everyone here), is "How should we handle extnesions". What we agreed at the time (sandro to confirm): We'd have a fairly lax process.
#
ajordan
s/extnesions/extensions/
#
bengo
cwebber2: Wiki page to register extensions people want to work on. Discuss in SocailCG. Once the extension is put into use, we'd document it and put in the AS2 @context
#
bengo
cwebber2: But documentation for that specific term would be on the wiki pages.
#
bengo
sandro: Sounds right
#
bengo
cwebber2: Something else happening around that time... for the sake of preserving the integrity of messages on the network, servers wanted ability to know messages came from who it says. So Linked Data Signatures adopted by Mastodon.
eprodrom joined the channel
#
bengo
cwebber2: We were looking at the extensions as append-only. But the challenge was: Mastodon would cache the @context at build time of release, so if there was an older version of mastodon with older @context, and new version comes out with new @context/extension, the challenge was that the old server would actually see the new message and think the sig was invalid
#
bengo
cwebber2: because when doing the normalization of the document, there would be that extension property in the context, so it wouldn't put it in the normalized linked data
#
bengo
cwebber2: So at that point, sandro volunteered to freeze the @context at every time we added terms to the vocabulary.
#
Loqi
[sandhawke] I've now implemented this so people can experiment: https://www.w3.org/ns/activitystreams-history/ contains all (eight so far) versions of the jsonld version of the namespace document, with cache control max-age 1 year. It's generated by a s...
#
bengo
sandro: I wrote a tiny script to expose each version in the context at a nice URL
#
bengo
sandro: CVS. But like any VCS, I just wrote a script to publish each tag in the VCS at a diff URL
#
bengo
cwebber2: There is output of that script. As you can see, there are two optional URLs for each. Via either the semantic-ish version or via the hash
eprodrom_ joined the channel
#
bengo
cwebber2: note we're not the only group thinking about this. JSON-LD mailing list too.
#
bengo
cwebber2: It's not a problem if you just don't know what a term is. But it is a problem for signatures.
#
eprodrom
"context"
#
bengo
cwebber2: So let's fast-forward to last meeting. Versioning got mentioned. Evan?
#
ajordan
eprodrom: I was literally JUST thinking that
#
bengo
cwebber2: There may be concern that the vocabulary itself is versioned, but I intended just the @context document to be versioned.
#
bengo
cwebber2: Do we even want the AS2 @context and vocab to change often? or rare?
#
sandro
+1 whole summary cwebber2
#
ajordan
eprodrom: link to what you're reading?
#
bengo
eprodrom: Hi! Let me just quote from AS2 spec (reads from spec that says to use a specific string as @context)
#
bengo
eprodrom: It's a SHOULD
#
bengo
eprodrom: What we are apparently now recommending is people should use *some other* URL as the @context. I think that that is a bad idea
#
bengo
eprodrom: Especially if we are going to have multiple @context strings on our networks.
#
bengo
eprodrom: Developers now have to look for not 1 string, but many. I think that is a problem.
#
bengo
eprodrom: It means that people looking for AS2 documents are now finding other things.
#
bengo
eprodrom: I am co-author of this document and had no idea about these version strings. They are undocumented things.
#
bengo
eprodrom: The likely thing is that developers will not do that. They will copy what they find in Mastodon. I think we ahve a few different options here
#
bengo
eprodrom: one is documenting this versioning process. And do so in a way that minimizes chaos on the network
#
bengo
eprodrom: Or we can not do version strings, and commit to doing single @context strings, with the problems that that might cause.
#
bengo
eprodrom: And figure out something else [for signatures?]
#
bengo
eprodrom: I do not think that generating multiple @context strings based on version with minor additive changes is an effective way to do this.
#
Zakim
sees sandro on the speaker queue
#
Zakim
sees sandro on the speaker queue
#
cwebber2
ack sandro
#
Zakim
sees no one on the speaker queue
#
bengo
sandro: I agree with what Evan said, makes sense. When I set this up it was as an urgent experiment for Mastodon.
#
bengo
sandro: It was just to try it out. So far, it's working, it seems. I don't know first-hand. Maybe cwebber2 knows.
#
eprodrom
q+
#
Zakim
sees eprodrom on the speaker queue
#
Zakim
sees eprodrom, cwebber on the speaker queue
#
ajordan
sandro: by what definition of working
#
bengo
sandro: In some ways this is a truce between just-JSON and LD folks.
#
Zakim
sees eprodrom, cwebber, ajordan on the speaker queue
#
bengo
sandro: And just-JSON people won't be doing Linked Data Signatures
#
bengo
sandro: In the LD world you would never just compare strings, you would dereference things first
#
cwebber2
ack eprodrom
#
Zakim
sees cwebber, ajordan on the speaker queue
#
bengo
eprodrom: Yeah but this is a SHOULD, and we're sort of saying 'ignore that SHOULD' because now we're doing this new thing to support LDS
#
bengo
eprodrom: It seems to me like we can do 1 of 3 things
#
bengo
eprodrom: 1) Throw out this SHOUDL
#
bengo
eprodrom: 2) Throw out supporting LDS
#
bengo
eprodrom: 3) Throw out adding extensions to @context
#
ajordan
s/SHOUDL/SHOULD/
#
bengo
+1 3
#
cwebber2
there's one more, which is something ajordan suggested last meeting
#
bengo
eprodrom: I would vastly support throwing out LDS
#
bengo
eprodrom: After that, the next best option is #3 since we have production code that would not like #2
#
Zakim
sees cwebber, ajordan on the speaker queue
#
bengo
sandro: SHOULD is 'do this unless you have a good reason to do something else'.
#
bengo
sandro: I see LDS as a good reason. LDS trumps the SHOUDL
#
eprodrom
HODL
#
bengo
smh
#
cwebber2
ack cwebber
#
Zakim
sees ajordan on the speaker queue
#
bengo
cwebber2: It might be worth looking at what Mastodon is actually doing
#
eprodrom
+1
#
bengo
cwebber2: Here is a paste of an actual AS2 option
#
bengo
cwebber2: In Mastodon
#
bengo
cwebber2: Mastodon not even using these versioned strings for @context
#
ajordan
ping Gargron
#
bengo
cwebber2: They've just been adding to the context themselves.
#
bengo
cwebber2: They've been adding their own extensions in the @context *object*, not string.
#
bengo
cwebber2: I don't think it's a good long term option
#
eprodrom
q+
#
Zakim
sees ajordan, eprodrom on the speaker queue
#
bengo
cwebber2: ajordan has another option
#
bengo
cwebber2: As I understand it, option #4 is that we recommend @contexts are shipped and have an effective time-to-live before we recommend they update them
#
bengo
cwebber2: We can do via HTTP Headers
#
bengo
cwebber2: It adds one more thing that applications might have to put on a scheduler. And that may be too much
#
ajordan
I'd like to respond, I have a lot of comments
#
bengo
cwebber2: option #5: If it's distasteful to put extensions in the AS2 @context, maybe we could have an extensions-specific vocabulary.
#
bengo
cwebber2: (and @context). And if you want to hang out in extension world, use that, or respect the TTL
#
cwebber2
ack ajordan
#
Zakim
sees eprodrom on the speaker queue
#
bengo
ajordan: awesome static
#
ajordan
hold on
#
ajordan
IRC it is
#
ajordan
1) sandro's remark about only LD people caring about LDS strikes me as incorrect
#
ajordan
because you can still have plain JSON consumers on the AP network who basically shove all the LD/LDS stuff into a corner and never touch it because there are Grues
#
bengo
sandro: I was oversimplifying slightly. My main point was you can't do LDS without a JSON-LD parser
#
ajordan
sandro: yes that's true BUT
#
ajordan
if you're relying on recognizing AS2 documents by the @context in plain JSON
#
ajordan
your LDS will work fine
#
ajordan
but it may never reach that part of the code because you don't recognize the @context!
#
Zakim
sees eprodrom, cwebber on the speaker queue
#
ajordan
sorry I'm slow typing
#
ajordan
anyway 2)
#
ajordan
you don't need a scheduler to require refreshes of the AS2 context
#
ajordan
because you only need to refresh it if LDS validation fails
#
bengo
good point
#
ajordan
who cares if you have an out-of-date context if the signature matches
#
ajordan
so all you have to do is refetch *if* the signature fails AND *if* your cache is out of date
#
ajordan
you can just do that in-band during a request-response cycle
#
sandro
*AND* if the CG adds things quickly whenever anyone needs them
#
bengo
q+
#
Zakim
sees eprodrom, cwebber, bengo on the speaker queue
#
ajordan
whatever works
#
cwebber2
ack eprodrom
#
Zakim
sees cwebber, bengo on the speaker queue
#
bengo
eprodrom: The advantage of adding extensions to same @context that we keep using is that it's always the same 'thing'. 'thing' means same URL.
#
bengo
eprodrom: If we produce different URls, there is not the same advantage of adding to same context
#
bengo
eprodrom: By doing versioned context strings, we lose any advantage of adding extensions to that @context
#
bengo
eprodrom: It would be nice if mastodon did things differently (no versioned context strings?).
#
ajordan
btw my third thing was a strawman proposal that I think might make everyone happy
#
cwebber2
ajordan: make that proposal!
#
bengo
eprodrom: I don't think we should recommend versioned context strings
#
bengo
sandro: I'm just suggesting in the rare case you are doing LDS
#
bengo
q?
#
Zakim
sees cwebber, bengo on the speaker queue
#
ajordan
cwebber2: you want me to just dump it while other people are talking?
#
bengo
eprodrom: MAYBE if we did it with downsides called out
#
cwebber2
ajordan: yes
ajordan_ joined the channel
#
cwebber2
ajordan: I'll read it out
#
ajordan_
cwebber2: great
#
bengo
eprodrom: We're in a bad place if we stray into folk specifications
#
ajordan_
okay so basically here it is:
#
Zakim
sees cwebber, bengo on the speaker queue
#
bengo
cwebber2: Let's see what aj has
#
sandro
PROPOSED: add to https://www.w3.org/ns/activitystreams-history/ an explanation that this is pretty much only for LDS
#
bengo
eprodrom: So far aj seems like his proposals will just change mastodon. Do we have power/levers to do that?
#
bengo
eprodrom: e.g. members here could give PRs to mastodon
#
bengo
q?
#
Zakim
sees cwebber, bengo on the speaker queue
#
Zakim
sees cwebber, bengo on the speaker queue
#
ajordan_
extensions go into individual @context documents that are pushed out pretty quick by the CG and considered experimental. everyone gets to reference those in their @contexts to ensure that LDS works. once things stabilize we can add that into the AS2 context
#
bengo
sandro: It would be great to find what works for mastodon. What would largely address your concern if the history document to say it's required for LDS
#
BanjoFox
Well... Aardwolf is going to be doing a Mastodon-like implementation. I imagine that Rustodon will be doing the same.
#
ajordan_
but people can keep referencing the old "individual" @context while the network refreshes the main @context
#
bengo
q?
#
Zakim
sees cwebber, bengo on the speaker queue
#
ajordan_
so LDS always works
#
ajordan_
but eventually you can drop the "individual" extension @context
#
bengo
sandro: As soon as they do change, LDS breaks.
#
cwebber2
ack cwebber
#
Zakim
sees bengo on the speaker queue
#
cwebber2
ack bengo
#
Zakim
sees no one on the speaker queue
#
cwebber2
scribe: bengo
#
ajordan_
sandro: are you telling me that you can't append to the @context without breaking LDS?
#
cwebber2
scribe: cwebber2
#
ajordan_
not modify, append
#
eprodrom
+1
#
sandro
-1 that's an anti-pattern
#
cwebber2
bengo: I was going to mostly suggest what ajordan_ has done, though I think let's look at what Mastodon has done which is add their own context items, do extensions at other URLs, that's what linked data is all about IMO. If an extension is used for a year or two years, that can fold into AS2 extensions
#
Zakim
sees sandro on the speaker queue
#
cwebber2
bengo: I like the idea that this is what linked data is for, and the cost is mostly larger documents which there are ways to get around things, and I want to support what ajordan_ is saying. I also am coming from a place of my own implementation, and I don't think versioned contexts is the way to go
#
cwebber2
bengo: I do have an implementation that does linked data things for certain things but not for others
#
cwebber2
sandro: so you're consuming content which has signatures you're supposed to check, but you aren't checking them?
#
cwebber2
bengo: true but I'm not sure you're supposed to check the signature
#
eprodrom
q+
#
Zakim
sees sandro, eprodrom on the speaker queue
#
cwebber2
sandro: I'm not sure but I think if there are signatures and others aren't checking them that opens vulnerabilities
#
cwebber2
bengo: it doesn't apply much to my mostly-anonymous implementation, but it's a good check I'll review
#
cwebber2
sandro: going back to your previous point of develop extensions elsewhere, then eventually pull things in to vocabularies... that was the original vision for the semantic web and it didn't happen. the reason it failed is you move it into another place then people become dependent on *that* namespace, then you can't move it. You can't move things in RDF, you can't move a vocabulary. so the solution seems to be having fairly appendable vocabularies
#
cwebber2
bengo: or don't move things
#
bengo
scribenick: bengo
#
cwebber2
sandro: yes but then you end up with like 20 namespaces at the top of the document, which seems not what you want... we want one AS2 context and keep it simple. this happens in turtle documents for instance and it's a pain
#
Zakim
sees sandro, eprodrom on the speaker queue
#
cwebber2
ack sandro
#
Zakim
sees eprodrom on the speaker queue
#
cwebber2
ack eprodrom
#
Zakim
sees no one on the speaker queue
#
Zakim
sees cwebber on the speaker queue
#
bengo
eprodrom: I'd liek to propose that we document the versioned context strings, how they can be used, and what the downsides are
#
sandro
q+ to say yes let's document, can we brainstorm all the places that documentation needs to mentioned?
#
Zakim
sees cwebber, sandro on the speaker queue
#
bengo
eprodrom: if we see a lot of implementations using those version strings, and there are a lot of those strings, then we can address that problem
#
Zakim
sees cwebber, sandro on the speaker queue
#
cwebber2
ack cwebber
#
Zakim
sees sandro on the speaker queue
#
bengo
cwebber2: I agree with document what we're doing. But in a certain sense we don't know what we're doing.
#
bengo
cwebber2: We made these URLs for one reason, and they aren't even being used.
#
bengo
cwebber2: And the current thing being done by Mastodon is different. We don't know what they want.
#
bengo
cwebber2: Let's look at the proposals
#
bengo
cwebber2: #1) Keep extending AS2 document. And publish versioned URLs alongside.
#
eprodrom
Expires: header?
#
bengo
cwebber2: #2) Extend @context and vocabulary, but we suggest a TTL. And to refresh during conditions ajordan_ described: when signature failed and your context is old
#
ajordan_
q+ to clarify sandro's issue with my strawman
#
Zakim
sees sandro, ajordan_ on the speaker queue
#
ajordan_
actually I'll just ask now since I'm IRC anyway
#
bengo
cwebber2: #3) Let's add extensions outside of AS2 @context. Put them in as sandro said 'the original semantic web vision' which sandro says is a pain point. And later we can maybe fold things in
#
Zakim
sees sandro, ajordan_ on the speaker queue
#
sandro
PROPOSAL-1: keep extending AS2 document and have versioned snapshots
#
sandro
PROPOSAL-2: extend context/vocab, and use TTL or sig-failing as a trigger to refresh
#
sandro
PROPOSAL-3: put extensions at at other URLs
#
bengo
cwebber2: Am I missing something?
#
bengo
cwebber2: Any corrections?
#
cwebber2
q+ to do straw poll
#
Zakim
sees sandro, ajordan_, cwebber on the speaker queue
#
cwebber2
ack sandro
#
Zakim
sandro, you wanted to say yes let's document, can we brainstorm all the places that documentation needs to mentioned?
#
Zakim
sees ajordan_, cwebber on the speaker queue
#
sandro
q+ to say I don't think P-2 works
#
Zakim
sees ajordan_, cwebber, sandro on the speaker queue
#
eprodrom
q+
#
Zakim
sees ajordan_, cwebber, sandro, eprodrom on the speaker queue
#
bengo
sandro: I don't think proposal #2 works. It still breaks.
#
bengo
(can you verify old signatures with #2)?
#
cwebber2
bengo, you should be able to, if it's append only
#
ajordan_
I was assuming we would encourage the TTL thing. since consumers would be refetching the main AS2 context we'd be able to drop "individual" contexts eventually
#
bengo
cwebber2: Anything other than append-only would be bad.
#
ajordan_
^^^ about my strawman
#
ajordan_
"since consumers would be refetching" meaning LD consumers
#
ajordan_
and plain JSON consumers wouldn't care
#
bengo
sandro: Does signature include namespace doc or @context?
#
bengo
cwebber2: expanded to URIs first. Full-quads.
#
bengo
sandro: But the only things signed are the triples sent to you
#
bengo
cwebber2: So let's say you have a fresh AS2 doc before any of this was added. It should work because you're not using any next context terms.
#
bengo
sandro: So why didn't mastodon do it? (refresh when you get a bad signature)
#
bengo
cwebber2: It might not have been suggested
#
bengo
sandro: I think we did, but don't remember what happened
#
bengo
cwebber2: For mastodon specifically they were bundling at build-time.
#
Zakim
sees ajordan_, cwebber, sandro, eprodrom on the speaker queue
#
bengo
cwebber2: idk if they would be willing to change their behavior. They have new opinions since they've had a growing @context
#
bengo
cwebber2: reads ajordan last few chats
#
eprodrom
I'm -1 on #2 also
#
ajordan_
thx cwebber2 :P
#
Zakim
sees ajordan_, cwebber, sandro, eprodrom on the speaker queue
#
eprodrom
Do we need to keep discussing it?
#
cwebber2
ack ajordan_
#
Zakim
ajordan_, you wanted to clarify sandro's issue with my strawman
#
Zakim
sees cwebber, sandro, eprodrom on the speaker queue
#
Zakim
sees cwebber, sandro, eprodrom on the speaker queue
#
ajordan_
that was it
#
Zakim
sees cwebber, eprodrom on the speaker queue
#
cwebber2
ack sandro
#
Zakim
sees cwebber, eprodrom on the speaker queue
#
cwebber2
ack eprodrom
#
Zakim
sees cwebber on the speaker queue
#
bengo
eprodrom: First of all, I want to make sure I absolutely understand the problem.
#
bengo
eprodrom: I want to make sure, cwebber2, are you saying if the document at that @context URL changes, would the signature be different?
#
bengo
cwebber2: No because it doesn't use an extension
#
bengo
eprodrom: Will you make an example where the sigs would change?
#
bengo
cwebber2: yes I'll do in IRC
#
cwebber2
{"@context": "https://www.w3.org/ns/activitystreams", "id": "https://example.com/evanp", "type": "Person", "noBots": true}
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
bengo
cwebber2: So let's say you wanted to use the extension to disallow bots. That's a new term. And let's say two versions of mastodon et al that use AS2
#
ajordan_
fyi 5 minutes to the hour
#
bengo
cwebber2: New version of smilodon comes out after `noBots` was added. Old version on server A, new on server B.
#
bengo
cwebber2: Old server tries to expand above document using it's old context, so it drops noBots. So when the graph is signed, it doesn't have the noBots term in it
#
sandro
assumed we might go to 90 minutes
#
bengo
cwebber2: If sig is generated with context that DOES have nobots, the signature would be different
#
bengo
eprodrom: Wouldn't it resolve to _:noBots?
#
bengo
eprodrom: Not omitted
#
bengo
cwebber2: oh yes
#
bengo
cwebber2: Because AS2 has default context
#
bengo
eprodrom: If we used a versioned context. Then they'd get the correct expansion for noBots?
#
bengo
cwebber2: correct
#
Zakim
sees cwebber on the speaker queue
#
bengo
sandro: No one should ever sign a document that is not in the context
#
bengo
cwebber2: It would fail previously, but maybe not the case now that we have an '_' in there.
#
eprodrom
q?
#
Zakim
sees cwebber on the speaker queue
#
eprodrom
q+
#
Zakim
sees cwebber, eprodrom on the speaker queue
#
bengo
(I failed to scribe the details there)
#
cwebber2
ack eprodrom
#
Zakim
sees cwebber on the speaker queue
#
bengo
eprodrom: It seems like best practice is to update the @context document. Shipping past @contexts that never get updates is a bad idea. That's great guidance!
#
bengo
eprodrom: It's also something completely out of our control
#
bengo
+1
#
Zakim
sees cwebber, sandro on the speaker queue
#
bengo
eprodrom: yes I -1'd propsal #2 earlier since it's out of our control
#
bengo
eprodrom: They aren't using caching correctly. That's why they get this problem. They're just not doing it right
#
bengo
cwebber2: An alternate suggestion: when this happens, is it severe?
#
eprodrom
q+
#
Zakim
sees cwebber, sandro, eprodrom on the speaker queue
#
bengo
cwebber2: Next agenda item might help with this. If might not be that severe, or implementers may change their behavior.
#
bengo
eprodrom: You can always validate something that's shared by going to the `id` URL for that item and seeing if it's there.
tantek joined the channel
#
bengo
eprodrom: Private networks, things that are not accessible, TOR. There are possibilities of not being able to get it, but it's a good first step to try.
#
bengo
eprodrom: And if you're doing LDS, you'll probably still be requesting something to get a public key
#
bengo
eprodrom: So we may also want to publish "ways of validating things" suggestions.
#
Zakim
sees cwebber, sandro, eprodrom on the speaker queue
#
ajordan_
eprodrom: would you feel the same about us not having control if we published an official CG spec-like thing that said "this is how you do signatures on AP"? and made refetching a MUST?
#
cwebber2
ack sandro
#
Zakim
sees cwebber, eprodrom on the speaker queue
#
ajordan_
the point being that it would be some kind of spec we could point at instead of just a best practices thing in a wiki page or whatever
#
bengo
sandro: We're caught where we don't belong between LDS and Mastodon. There was failing in communication between them.
#
eprodrom
sandro++
#
Loqi
sandro has 56 karma in this channel (63 overall)
#
bengo
sandro: Seems like LDS should say "you must fetch context before failing a signature". And if Mastodon respected that, we wouldn't have this problem.
#
bengo
sandro: Maybe there is a good reason to do that (e.g. embedded offline devices), but we can't know that.
#
Zakim
sees cwebber, eprodrom on the speaker queue
#
eprodrom
q-
#
Zakim
sees cwebber on the speaker queue
#
cwebber2
ack cwebber
#
Zakim
cwebber, you wanted to do straw poll
#
Zakim
sees no one on the speaker queue
#
bengo
cwebber2: Straw poll?
#
sandro
PROPOSAL-1: keep extending AS2 document and have versioned snapshots
#
sandro
PROPOSAL-2: extend context/vocab, and use TTL or sig-failing as a trigger to refresh
#
sandro
PROPOSAL-3: put extensions at at other URLs
#
eprodrom
+1
#
bengo
+1 it doesn't hurt to have URLs
#
sandro
assume everything is well documented
#
bengo
eprodrom: (with documentation)
#
sandro
PROPOSAL-1: keep extending AS2 document and have versioned snapshots
#
bengo
cwebber2 : Let's vote on Proposal 1
#
bengo
(sry scribe fail)
#
eprodrom
+1
#
bengo
+1
#
cwebber2
+0.5 / +1
#
sandro
(assuming it works for Mastodon, etc)
#
bengo
cwebber2: 0.5 because not all implementers here
#
sandro
PROPOSAL-2: extend context/vocab, and use TTL or sig-failing as a trigger to refresh
#
bengo
cwebber2 P2
#
eprodrom
-1
#
bengo
cwebber2 Proposal 2
#
sandro
+1 if it works
#
bengo
-1
#
cwebber2
scribenick: cwebber2
#
cwebber2
bengo: I'm more like a +0, I just don't think it's a whole solution
#
bengo
+0 - I don't know enough about LDS
#
cwebber2
sandro: can you explain explicitly?
#
cwebber2
eprodrom: if people are doing this correctly already we wouldn't have a problem, I don't see any value in trying to have even more prescriptive mechanisms they won'tt follow
#
sandro
eprodrom: people arent doing this already, can't guarantee they will in the future
#
ajordan_
also I don't think we can say people aren't doing this "correctly"
#
ajordan_
nobody said to refetch contexts so why would people think to do that
#
bengo
-1: I dont' like mutating the document. It can lead to ambiguity when adding terms that someone was using intentionally undefined
#
cwebber2
cwebber2: just to point out I'm not sure that askign for hashes is less prescriptive
#
bengo
I don't think "One context URL" is actually more gain than pain
#
sandro
why would someone use an intentionally undefined term...?
#
bengo
retrofitting old JSON APIs
#
bengo
cwebber2: One propsal, a little goofy: We could have content-addressed @contexts. And with special #fragments with SHA-sigs of the @context
#
sandro
PROPOSAL-3: put extensions at at other URLs
#
bengo
cwebber2 Proposal 3
#
bengo
+1
#
bengo
(this is automatically what will happen with 'beta' extensions)
#
sandro
-0.9 would make everyone use a messy list of URLs at the top of every document
#
eprodrom
+0
#
ajordan_
-0 for the proposal as listed because of sandro's ballooning @context concerns
#
cwebber2
PROPOSAL-4: {"as:noBots": true}
#
ajordan_
but I think we could solve that by "migrating" stuff to the AS2 context
#
ajordan_
by telling people to refetch
#
sandro
cwebber2: Just use the CURIE approach
#
bengo
-1 don't claim things in a namespace you don't govern
#
eprodrom
-0 implementers can do this already
#
sandro
-0.9 gives up much of niceness of AS2
#
bengo
cwebber2: Most enthusiasm for versioned thing
#
eprodrom
q+
#
Zakim
sees eprodrom on the speaker queue
#
ajordan_
-1 breaks plain JSON if you try to change it
#
cwebber2
ack eprodrom
#
Zakim
sees no one on the speaker queue
#
bengo
eprodrom: If we talk about adding to this @context, should that be in Issues on GitHub?
#
bengo
cwebber2: I have an action item saying that a git repository would be better than wiki for extensions, because issues/PRs/everything. In a way that matches other things we're doing.
#
bengo
cwebber2: Only W3C members can edit w3 wikis, not all community members
#
bengo
eprodrom: Can we just use existing repo for activitystreams?
#
bengo
cwebber2: I'm okay with that
#
bengo
sandro: I think there should be a repo per extension
#
bengo
cwebber2: Sounds like similar problems to Proposal #3
#
bengo
sandro: This isn't for machine-readable @context, but for discussing a new extension (human readable)
#
ajordan_
cwebber2: sandro means instead of having swicg/as2-extensions we'd have swicg/as2-nobot, swicg/as2-follower-migration, etc. on GitHub
#
bengo
eprodrom: I strongly feel it should be in same repo. That's where the document you're extending is.
#
Zakim
sees no one on the speaker queue
#
Zakim
sees cwebber on the speaker queue
#
BanjoFox
Perhaps same repo but different branches?
#
cwebber2
ack cwebbrer
#
Zakim
sees cwebber on the speaker queue
#
cwebber2
ack cwebber2
#
Zakim
sees cwebber on the speaker queue
#
Loqi
[evanp] #459 Add vcard to @context
#
bengo
cwebber2: I'm sold on evans suggestion. We do need one repo for discoverability reasons.
#
bengo
cwebber2: If we're changing the context anyway, it might as well be in that repo
#
bengo
folks can fork AS2 to develop/edit an extension, then PR back in
#
ajordan_
can we give people collaborator access to the AS2 repo?
#
bengo
sandro: How do I propos an extension? What are the steps?
#
bengo
sandro: Make a PR? And revise my PR based on issues?
#
bengo
cwebber2: Sounds like a process that implementors would already be familiar with
#
bengo
eprodrom: Yeah a single property would start as an issue, then PR, discussion on PR.
#
bengo
eprodrom: A whole repo for noBots seems like a lot
#
bengo
eprodrom: A bigger thing with a whole new ontology: sure use a new repo. Make and develop that repo, use as separate @context string. At some point we suck it into AS2 @context.
#
sandro
-1 if you use it as a separate namespace YOU CANNOT MOVE IT
#
Zakim
sees cwebber on the speaker queue
#
eprodrom
separate context or separate namespace?
#
tantek
is glad to see vcard as an explicit desired addition, instead of yet another SemWeb fork re-use.
#
bengo
cwebber2: Evan has a proposal
#
ajordan_
sandro: why can't you move it? if you have people refetch contexts
#
bengo
cwebber2: We should notify jasnell
#
sandro
You can't move the RDF namespace, because people write code & data which uses those URLs
#
bengo
HTTP 30x
#
eprodrom
sandro: but context and namespace are not the same, right?
#
cwebber2
PROPOSED: Discuss and curate ActivityStreams extensions in the ActivityStreams git(hub) repository, with normal issues / PRs, etc
#
tantek
remembers when people used to (re)fetch DTDs for XML processing, and remembers how that turned out (total failure in practice, DDOS on W3C servers etc.)
#
cwebber2
tantek :)
#
bengo
+1 for extensions developed by CG. Also supportive of extensions outside the CG in diff repos
#
ajordan_
tantek you're missing a lot of context for this discussion, we're discussing refetching only when signature validation fails *and* when caches are out of date
#
tantek
file this in the cateory of "Yay! Let's repeat all the mistakes of XML in JSON 10-20 years later with a whole new generation of developers!"
#
Loqi
does a happy dance!
#
bengo
Maybe W3C IT will learn to maintain a scalable web service after 20 years
#
cwebber2
notes that the proposal we went with avoids the problem tantek is raising
#
tantek
bengo maybe a decentralized protocol should not depend on a centralized point of failure
#
cwebber2
with its other complexity introduced :)
sknebel joined the channel
#
bengo
while true; curl tantek.com/micropub; done
#
bengo
cwebber2: I want the CG to be welcoming. That should be a priority
#
tantek
bengo, that's a different problem, the use of "well known" paths, which we also avoided in SocialWG specs.
#
sandro
+1 assuming we keep it as welcoming as possible
#
eprodrom
+1
#
bengo
cwebber2: Sounds resolved?
#
ajordan_
not -1 but I just don't like the "you can't write to your own spec" if you have edits over a long period of time
#
ajordan_
though maybe I missed something
#
ajordan_
it's not the worst in the world
#
ajordan_
is there a reason why we can't have a repo for extensions and just give people write access liberally?
#
eprodrom
Nope
#
eprodrom
Go make that
#
bengo
sandro: If they want to put it in their own repo, that's fine. If they want a block of text, cool too. But they need to link from our centralized registry
#
ajordan_
repeat?
#
bengo
cwebber2: Is clarifying it's okay for people to write their own spec in another repo, and we link from our extension to them. Is that okay with you?
#
sandro
-1 to them needing a "really good reason". It is sufficient that they want it.
#
ajordan_
uhh IIUC sure
#
bengo
cwebber2: Let's resolve this, with condition of if we see a red flag from jasnell
#
bengo
cwebber2: Is that fair?
#
eprodrom
Sounds good to me
#
bengo
+1
#
ajordan_
I don't quite understand what's going on but it doesn't matter a huge amount and your proposal seems better so
#
ajordan_
let's do it
#
cwebber2
RESOLVED (pending acceptance from jasnell): Discuss and curate ActivityStreams extensions in the ActivityStreams git(hub) repository, with normal issues / PRs, etc
#
bengo
cwebber2: Bumping last agenda item to next week.
#
eprodrom
sandro: can we chat for a couple of seconds?
#
bengo
sandro: Are you writing something chris?
#
eprodrom
That was my question!
#
bengo
cwebber2: Making new git repo?
#
bengo
cwebber2: I'll make a PR and jasnell can sign off
#
bengo
bye
#
ajordan_
bye, thanks all
#
eprodrom
What new git repo?
#
cwebber2
trackbot, end meeting
#
trackbot
Zakim, list attendees
#
Zakim
As of this point the attendees have been ajordan, aaronpk, cwebber, eprodrom, ben_thatmustbeme, bengo, rhiaro, sandro
#
trackbot
is ending a teleconference.
#
cwebber2
eprodrom: not a new git repo
#
cwebber2
same git repo
#
bengo
(I could have mis-scribed)
#
trackbot
RRSAgent, please draft minutes
#
RRSAgent
I have made the request to generate https://www.w3.org/2018/02/14-social-minutes.html trackbot
#
eprodrom
I thought we just agreed to use the AS2 repo
#
trackbot
RRSAgent, bye
#
RRSAgent
I see no action items
RRSAgent left the channel
#
cwebber2
eprodrom: yes, that's what we agreed to
#
eprodrom
sandro: I'd like to figure out how we document the versions thing
#
cwebber2
bengo++ for scribing a longggg meeting :)
#
Loqi
bengo has 8 karma in this channel (18 overall)
#
eprodrom
bengo++
#
Loqi
bengo has 9 karma in this channel (19 overall)
#
ajordan_
bengo++
#
Loqi
bengo has 10 karma in this channel (20 overall)
#
eprodrom
sandro: I don't think we actually decided on someone to do it
#
cwebber2
eprodrom: one of you or I should do it... I can do it if you'd prefer :)
#
cwebber2
I can do it unless you prefer too!
#
cwebber2
after I shower, that is
#
cwebber2
eprodrom: just to be sure we're on the same page: I'm figuring I (or you) will make a respec community group report type document to collect vocabulary?
#
tantek
apologies for not being able to participate "on the phone" - am already on #css telcon.
#
ajordan_
sandro: I *think* I never got an answer to a question but I may just have missed it since everyone was talking
#
cwebber2
ajordan_: what question?
#
ajordan_
cwebber2: I'm about to type it out
#
eprodrom
cwebber2: I was just thinking something in the ERRATA.md
#
cwebber2
eprodrom: we could do that... .md may be easier to edit for people... though is ERRATA.md the right place?
#
cwebber2
maybe EXTENSIONS.md
#
ajordan_
so I understand this is a resolved issue now but just for my own understanding, if implementors refetch contexts on signature fail + cache expiry, why can't you migrate individual extension contexts into the main AS2 context?
#
eprodrom
ajordan_: you can
#
eprodrom
If people did it the way you said, it would work well
#
eprodrom
Your proposal was good except for the part where we can't actually get people to do it
#
tantek
regrets+
#
ajordan_
eprodrom: right I have thoughts on that too but sandro had an objection besides that so for the purposes of this question I'm assuming refetch will work in practice
#
bengo
ajordan_ I am grateful for you contribution on the TTL thing.
#
bengo
ajordan_ AFAICT it will work in practice.
#
ajordan_
bengo: lol I appreciate it
#
eprodrom
cwebber2: Here's proposed text for ERRATA.md: "In some circumnstances, such as for [LDS], implementers may need to use a context URL for an immutable document. As extensions are added, we create new versioned documents, by version number and by hash. This version history is available [here]."
#
ajordan_
I understand I'm beating a dead horse here, I would just like to understand
#
cwebber2
eprodrom: oh, these are two different changes, I just realized
#
cwebber2
1) suggest how to deal with LDS (I agree that's ERRATA, but maybe it belongs in both)
#
cwebber2
2) start extensions page
#
eprodrom
An extensions _page_?
#
eprodrom
Why?
#
cwebber2
eprodrom: by "page" I just mean "file"
#
bengo
In that ERRATA it would be pretty cool to be able to say "If you want to support versioned contexts, look for this string PREFIX in the @context"
#
eprodrom
OK but why
#
bengo
so it is still pretty simple string comparison
rowan_ joined the channel
#
cwebber2
eprodrom: or do you think it should go in AS2's actual normal spec file
#
cwebber2
as the editor's draft
#
cwebber2
(I hadn't considered this!)
#
eprodrom
cwebber2: no no no no no
#
eprodrom
cwebber2: wouldn't we just keep using this page? https://www.w3.org/ns/activitystreams
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
eprodrom
It seems to be working really well
#
cwebber2
eprodrom: oh uh, yes I suppose so :)
#
cwebber2
I forgot about that page ;)
#
ajordan_
eprodrom: about refetches not working in practice, if we had a canonical "spec" (or CG report or whatever) that said "this is how you do signing on the AP network" I feel like that would be good enough? like I totally understand that right now it isn't because LDS is basically undocumented and wishy washy
#
cwebber2
eprodrom: sounds good to me
#
eprodrom
ajordan_: THEY WORK IN PRACTICE
#
ajordan_
???? but your whole objection was that people wouldn't do them
#
ajordan_
that's what I meant by "working in practice"
#
eprodrom
No, my objection is that they're already not doing it
#
ajordan_
ohhhhhh I see
#
ajordan_
so it's a compat thing
#
eprodrom
Yes
#
ajordan_
new implementations would do it right but anyone who wrote an implementation *right now* and then never touched it again wouldn't work?
#
eprodrom
I think documenting the "right" way to do signatures in specifics and verification in general is a super good idea
#
bengo
ajordan_ If you write your best version of that it will likely be very useful to implementors
#
eprodrom
bengo: I agree
#
ajordan_
eprodrom: thanks for the explanation, sorry it took me so long to get it lol
#
ajordan_
eprodrom: do you have 5 minutes to make some DNS changes for me? otherwise I can email you
#
eprodrom
I can't, sorry
#
eprodrom
email me
#
ajordan_
will do
#
eprodrom
And let's do our meeting on Friday
#
ajordan_
sure, I'll ping #pump.io
#
BanjoFox
Are there any plans to do a Matrix bridge for this channel?
#
eprodrom
Uh
#
eprodrom
I have never heard of such plans
#
bengo
ajordan_ do you have an ActivityPub implementation?
#
ajordan_
doesn't Matrix bridge into IRC natively?
#
BanjoFox
it might. but I'm not sure how to connect here from Matrix :)
#
ajordan_
bengo: uhh in theory I am working on porting pump.io to ActivityPub, in reality my laptop screen is smashed and the manufacturer doesn't know when they'll be able to replace it
#
ajordan_
so my ability to do so is very limited
#
eprodrom
Oh no
#
bengo
ah that's right. thx for reminding me
#
eprodrom
ajordan_: what are you hacking on then?
#
cwebber2
ajordan_: oh shi
#
ajordan_
eprodrom: WELL
#
ajordan_
that's a very interesting question
#
ajordan_
so all I have access to is library computers running Windows
#
ajordan_
I have root which is nice, they just netboot the computer so you can trash the system and reboot and it comes up clean
#
eprodrom
"Alexa, delete line 475 of main.js"
#
ajordan_
so my workflow thus far is, log into a server with Node.js -> develop -> throw changed files and/or git patches into ~/public_html -> curl them down to the Windows box -> git commit
#
ajordan_
I can't commit on the server because I can't put my signing keys on the server
#
csarven
re "tantek is glad to see vcard as an explicit desired addition, instead of yet another SemWeb fork re-use" -- So, what's "reuse" and what's the "problem" with reuse? mf-1 "reused" terms from VCARD and serialized them entirely in its own way. So did mf-2 in a completely different non-backwards compatable way - Crystal clear longevity fail. All within ~5 years! Is there a particular need to bash SW (yet again)? Isn't that what the IWC wiki is for? Can we
#
csarven
get past the microformats or everything else sucks / jabs perhaps this year (2018)? That'd be great!
#
tantek
csarven - nope, they're all backwards compat as proven by use of both at the same time in markup and converters that work also
#
tantek
csarven, maybe get past strawman framing of anything to do with microformats?
#
csarven
We have a different understanding of "backwards compatible"
#
tantek
csarven, perhaps, e.g. with massive deployment comes different understanding
#
ajordan_
eprodrom: what I'll probably do is sit down one day and set up MongoDB/Node/etc. on the library computers which will allow me to push through, and I'll just sit there for like 8 hours so I don't have to do it again
#
csarven
Happy to entertain the pretext that this has anything to do with mf being great and all other solutions on the Web are apparently broken
#
tantek
csarven, the fact that vocab re-use advocates still embrace FOAF over vCard is the continuing irony
#
csarven
You have a false impression.
#
csarven
People are not all FOAF or vCard or otherwise.
#
tantek
csarven, just saw it in a beaker issue thread. so it continues
#
csarven
FOAF and vCard are not 1-1 replacements.
#
csarven
Different histories there as well.. which probably not worthwhile to bother
#
tantek
the examples are all simple contact type info
#
tantek
for which there is no reason for foaf
#
tantek
keeps happening, so I assume it's political, not technical
#
csarven
The point is that application developers, data publishers has the freedom to choose the most appropriate vocab(s) for their stuff. No one is forced to go all in or nothing, or have to answer to a centralised wiki.
#
csarven
Which examples?
#
csarven
nothing wrong with FOAF or vCard.
#
csarven
Again, not an either or.
#
csarven
If people want to go ahead with FOAF.. why is that a bad thing?
#
csarven
There is a natural clustering around vocabs
#
csarven
for various reasons
#
tantek
because when they do so when vcard would work just fine, it means they're advocating vocab proliferation, not convegence, minimization, re-use, simplification etc.
#
tantek
vocab prolif = babel = interop fail
#
tantek
already well documented as a namespaces problem
#
csarven
Again, not a 1-1 replacement.
#
tantek
which I realized you and I disagree on, which is fine
#
csarven
It is not 100% or nothing
#
tantek
again, "when vcard would work just fine"
#
tantek
so yes
#
ajordan_
alright I gotta go. eprodrom I'
#
csarven
Different semantics, so no.
#
ajordan_
ll email you
#
tantek
eprodrom++ for re-using vCard
#
Loqi
eprodrom has 54 karma in this channel (55 overall)
#
eprodrom
thanks
#
csarven
There is no point in handwaving form the outside
#
ajordan_
thank you
#
csarven
People have the authority to use whatever they need to.
#
csarven
Just because you wouldn't, doesn' tmean hat everyone else should follow that.
#
csarven
Regardless of how logical you may think the reasons that you know to be
#
tantek
I will also point out the my original statement simply stated a positive statement about vCard.
#
tantek
csarven, you unnecessarily brought the microformats haterade
#
tantek
so quit trolling
#
csarven
Sure, with the added and unnecessary jab at SW
#
csarven
I'm trolling.. right ok
#
tantek
yes, because I didn't mention microformats in my statement at all
#
tantek
you jumped straight to haterade
#
tantek
= trolling
#
csarven
Like I said, if you want to jab at SW, that's all great and everything, but do it on the IWC wiki. It is off to a stellar start any way
#
csarven
or IWC backchannel or hwatever
#
tantek
#notallSW
#
csarven
If you repeat yourself, does it give you the feeling that your argument is strengthened?
#
eprodrom
cwebber2: so, one of the things I wanted to put on the agenda for today, being valentine's day, was discussing web dating systems
#
eprodrom
I did a talk about dating on the open web at MozillaFest and it went over great http://slides.com/evanpro/dating-on-the-open-web
#
tantek
better topic eprodrom for sure :)
#
saranix
cwebber2: minutes posted to 2018-02-13 but it is 2018-02-14
#
eprodrom
I'm going to put it on the agenda for the next meeting
#
csarven
Hey, I'm cool with you. I just want to move beyond jabs. cwebber2 's article leaves it at a good point
#
csarven
"decentralized social web initiatives haven't yet faced an all-out attack from what would be presumably be their natural enemies in the centralized social web"
#
tantek
all-out attack has been unnecessary, why waste resources?
#
cwebber2
saranix: thanks for pointing it out... fixing it
#
cwebber2
I always seem to do this :P
#
tantek
it was sufficient to acquihire enough "social web" folks in the mid/late 2000s to kill momentum
#
cwebber2
> Exception encountered, of type "RuntimeException"
#
csarven
Anyhew.. figured that's a reasonable common goal, and not get stuck on upper-case / lower-case semantic web..
#
ajordan
eprodrom: sounds awesome
#
eprodrom
cool
#
tantek
csarven, you have a funny way of wanting to move beyond jabs by opening with a personal jab in response to a personal *compliment* that I made to evan
#
tantek
which wasn't even directed at you (#sealioning)
#
cwebber2
apparently it was fixed anyway despite the exception https://www.w3.org/wiki/SocialCG/2018-02-14/minutes
#
csarven
personal jab? Please quote me
#
ajordan
both of you need to take a break from this argument
#
ajordan
take a deep breath, it'll be okay
#
tantek
csarven, 09:56 PST, this channel.
#
cwebber2
eprodrom: let's put web dating systems on next week's agenda :)
#
ajordan
cwebber2: classic W3C :'D
#
tantek
ajordan, you're doing the false equivalence thing of attacker/victim
#
cwebber2
maybe I'll even use the right date this time!
#
tantek
I complimented evan. csarven attacked me unprovoked.
#
csarven
tantek Please quote me the exact text on my initial message that you felt was a "personal jab". That's precisely what I asked you to do. Not give me a datestamp and which channel. I say "quote".
#
eprodrom
cwebber2: did it already
#
cwebber2
eprodrom: thanks :)
#
eprodrom
cwebber2: 2018-02-28 correct?
#
tantek
attackers should be called out. calling out people forc alling out attackers is victim blaming.
#
eprodrom
Biweekly IIRC
#
csarven
Dude, quote me.
#
csarven
Stop talking nonsense
#
eprodrom
:(
#
csarven
If you repeat yourself, it doesn't change the reality
#
tantek
I did, you directed at me a personal attack in that single IRC statement
#
csarven
That might work in your circle but not with me
#
eprodrom
l8r innov8rz
#
tantek
you can go find the URL from the archives if you wish
#
cwebber2
csarven: tantek: please stop
#
cwebber2
move this to PM if need be
#
csarven
tantek Hey, you are right. You win. KUTGW
#
tantek
cwebber2 - part of maintaining civility is pushing back when people are uncivil
#
tantek
not pushing back against those who call out uncivility
#
melody
i miss one meeting and this place explodes what on earth happened
#
cwebber2
tantek: I think you're both being uncivil in that you're both escalating
#
tantek
even if it is awkward / uncomfortable
#
tantek
cwebber2, do not mistake not backing down, for escalating
#
tantek
or mislabel / exaggerate
#
Loqi
misses one meeting and this place explodes what on earth happened too
#
bengo
+1 cweber.
#
bengo
leaves
#
csarven
tantek Why do you feel that you are always right? I simply asked you to clarify yourself by merely backing up "personal jab". I asked to simply highlight some text from what I originally said and paste. A quote. Why do you refuse to that or ignore that and continue to feed false information? What do you want out of this exactly?
#
tantek
csarven, I am not interested in your further attacks and strawmans
#
csarven
Sure. Like I said. You win.
timbl joined the channel
#
tantek
try this, when someone compliments someone else, perhaps restrain yourself from attacking them
#
csarven
[18:56:04] <csarven> re "tantek is glad to see vcard as an explicit desired addition, instead of yet another SemWeb fork re-use" -- So, what's "reuse" and what's the "problem" with reuse? mf-1 "reused" terms from VCARD and serialized them entirely in its own way. So did mf-2 in a completely different non-backwards compatable way - Crystal clear longevity fail. All within ~5 years! Is there a particular need to bash SW (yet again)? Isn't that what the IWC
#
csarven
wiki is for? Can we get past the microformats or everything else sucks / jabs perhaps this year (2018)? That'd be great!
#
csarven
There you go
#
csarven
If anyone owould like to point out a "personal jab" in there.. I'd be happy.
#
ajordan
cwebber2++
#
Loqi
cwebber2 has 112 karma
#
csarven
If not, please retract your statement.
#
csarven
I'm out. Dinner etct.
#
cwebber2
I why I think there was unnecessary antagonism by both parties
#
cwebber2
but frankly
#
cwebber2
I'd rather the conversation just dropped
#
cwebber2
er, *I can point out why
#
cwebber2
seems that's happened though, so
#
cwebber2
I'm afk to shower finally
#
tantek
cwebber2 I will continue to pushback against unprovoked attacks, and you should too, as a co-chair, instead of making it a "there are two sides" false equivalency
#
saranix
"<csarven> "decentralized social web initiatives haven't..." what article is this?
#
tantek
saranix, a pretty good post by cwebber2
#
saranix
uri
#
tantek
looking
#
ajordan
it's on their blog
#
tantek
(there are some points I'd nit, but overall a very good article)
#
saranix
I must admit the title has me intrigued
#
tantek
(e.g. everything we shipped from SocialWG was "restful", not just any one approach / stack)
#
tantek
and "we started out with three" is factually incorrect (though optimistic which I admire cwebber2 for), we actually somewhere between 5-15 at the start depending on how you count all the incompatible variants and various projects like "Hydra", "WebID", etc.
#
tantek
It was super hard even just to get *down to* the three that cwebber2 refers to, and not without either toxicity and/or borderline spamming/DoPA by other variants
#
tantek
something about this space (social web) brings out incredible diversity and somehow also animosity, from *numerous* parties (not any A vs B in particular)
#
tantek
anyway, tl;dr, I'm pretty happy that despite all the challenges, we produced a bunch of darn good specs, that appeal to a variety of use-cases and developer approaches.
#
tantek
kinda amazing if you saw how we started out in 2013/2014
#
tantek
anyway I should just write up a proper blog post about it, but linking to cwebber2's will do for now :)
rowan and rowan_ joined the channel
#
cwebber2
tantek left
#
cwebber2
I guess I'll use loqi to intermediate this
#
cwebber2
I'm glad things cooled down
#
cwebber2
maybe there's nothing to intermediate
#
melody
trying to understand the implications of the decision(s?) made today -- if an implementor wants/needs to create extension(s) that add terms what is the process now? i'm not entirely clear from reading the backscroll what was decided in the end
#
saranix
I've never been clear
#
cwebber2
melody: saranix: it's actually fairly simple now
#
cwebber2
make a PR / issue against the activitystreams repository
#
cwebber2
but we need to document it
#
cwebber2
I need to work on that this afternoon
#
cwebber2
the tl;dr for today is:
#
cwebber2
a) extensions are now managed in the AS2 repo proper. Makes sense, since they're AS2 extensions!
#
melody
what happens if AS doesn't want the vocab/terms?
#
cwebber2
melody: json-ld makes that easy
#
cwebber2
you can just add them to your own vocabulary that you define
#
cwebber2
linked data is designed to have multiple vocabularies, we just want to minimize developers having to work with that as much as possible
#
melody
I wasn't sure if that had somehow changed based on today -- like I was planning on (probably) implementing my own vocabulary/context in addition to the existing one because I'm pretty sure my needs are going to be controversial & also require a lot of incubation time before the value of them could be proven
#
cwebber2
b) we're doing the append-only extensions thing, and that still can be complicatted for linked data signatures, and because of that we'll do the frozen snapshots of contexts as we ahve today
#
melody
but i saw some references to not adding additional contexts because it was a bad idea
#
cwebber2
melody: it's not "a bad idea" as much as "we don't want to ask developers to have to do it"
#
melody
ok
#
melody
i'm not sure if i am going to be wanting/needing LDS yet, but prep work for my implementation is slowly ramping up now so i'm putting a lot more thought into the technical constraints
#
melody
and wanting to keep on top of stuff
#
melody
i haven't finished reading up on json-ld -- what happens if multiple vocabularies define the same term? like, mostly curious if like, i implement an extension that eventually gets used in AS without my knowledge, or i've used a term that gets used for a _different_ extension that gets pulled into AS, how badly things will break
#
cwebber2
melody: I'm glad you're ramping up on things :)
#
cwebber2
melody: so, in general that won't happen, because there's an order to the @context resolution
#
cwebber2
the only way that this could happen is if you have two contexts that are extending
#
cwebber2
and if one of the contexts eventually adds the term you defined in the other one
#
cwebber2
and the order of your @context means that suddenly the other one engulfed that term
#
cwebber2
I think that's a rare chance of happening but it is a concern
#
melody
yeah, that's what i'm asking about -- if i define a term in a context at `melodysthing.social/whatever` and then AS also gets an official extension that defines that term sometime later
#
melody
actually pretty likely to need to redefine or break some vocabulary eventually
#
melody
i anticipate i'm going to need to add a lot of things to AP and that some of them are probably going to eventually become extensions, and some might not, and parts of some might make it but other parts might be too controversial, but there are going to be things i'm not going to be willing/able to compromise on if it would violate the integrity of the project's principles around anti-harassment/anti-abuse/accessibility things so i anticipate i'm
#
nightpool
sorry, just joining and also catching up on today's discussion
#
melody
being a good citizen of the fediverse is further down the priority list than other design constraints for me, so i'm going to make a best effort but there are going to be things that aren't proven/things that might not work/things that other people frankly just won't want -- but i guess i will figure out how to reconcile them when it happens
#
nightpool
melody: do you mean you'd be adding terms like 'https://melodysthing.social/term' and are wonder what would happen if that got pulled into a as2 context? but wouldn't an as2 context have to be rooted at 'https://www.w3.org/ns/activitystreams'
#
melody
i'm really not sure of the details, i'm still reading up on json-ld, i only understand linked data in pretty broad terms and i understand how we're using it slightly less than that, but if i have both contexts (which i think i would need?) i was asking what happens if activitystreams adds a term that had previously been my-thing-specific
#
nightpool
all json-ld terms are URIs
#
nightpool
so they have to have an authority and a path
#
nightpool
terms you defined would presumably be defined under a hostname you control
#
nightpool
so it would be impossible for activitystreams to define one that shadows it
#
melody
ah, so as long as i ....nest things under the appropriate context, it should disambiguate them okay?
#
nightpool
uh, -ish?
#
nightpool
basically, every json LD document looks like {"https://www.w3.org/ns/activitystreams#name": "nightpool"}
#
nightpool
but we use @context to compact that to just {"@context": "https://www.w3.org/ns/activitystreams", "name": "nightpool"}
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
melody
after it's been (processed? resolved? flattened?) -- if i'm using the compacted form with terms only defined in my context but then the term is suddenly also in activitystreams' context
#
melody
i am less clear on what would happen
#
nightpool
that would be a problem with pure-json processors
#
nightpool
I, hmm. I guess it does affect older documents too though, since we're not using versioned specifiers.
#
nightpool
I guess the answer is 'if youre concerned it might happen, only ever compact to prefixed terms like "as:name"', maybe?
#
nightpool
i do see the problem you're asking about now though.
#
melody
glad it's not a completely silly question, lol
#
nightpool
if im understanding cwebber2's answer, it was that if you put your context first, no later contexts can 'shadow' it
#
melody
i'm trying to catch up on all this stuff but there's so many standard documents to read and it's a lot to hold in my head while i'm also trying to map it all to my use cases
#
nightpool
yeah, no worries
#
melody
and then there's the additional decisions that get made here
#
nightpool
cwebber2: if you're around i can clarify some of the current mastodon thoughts on LDS for the record.
#
cwebber2
nightpool: I'd love to chat... can we talk in 20mins?
#
cwebber2
I need to eat lunch
#
nightpool
sure
#
ajordan
cwebber2: I was halfway through typing "cwebber2 went to lunch" when you sent that :P
#
nightpool
(it might need to be more like 30 given that im about to go to a short meeting here)
#
nightpool
anyway, melody, given this concern and also similar concerns around pure-json processors.
#
melody
i'm going into a 30m meeting here, will check in when i get back
#
nightpool
oops I was going to finish that sentence but can't, sorry
#
nightpool
yeah see you then
#
melody
forgot i have two more meetings after this one, 1h each, so i might be peeking in but probably won't say much until later
#
nightpool
okay, so, just to capture what I was thinking earlier before I forget:
#
nightpool
right now i think AS2 is a little too liberal about what it allows as far as compact URIs go
#
nightpool
in my ideal pure-JSON world, the only compact uris allowed without prefixes would be ones in the activitystreams context
#
nightpool
and all others need at least some prefix, if not a full uri.
#
nightpool
my concern though is that, as melody mentioned, in the presence of a growing context, these terms can even be amgibuous to a JSON-LD compliant processor.
#
nightpool
sorry, by "these terms" I mean "compact URIs without a prefix"
#
cwebber2
nightpool: hi hi
#
cwebber2
nightpool: I'm not sure I follow... could you type a little pseudo-example about what you're concerned about?
#
nightpool
sure.
#
nightpool
1: server a publishes a document like {"@context": ["https://myname.space", "https://www.w3.org/ns/activitystreams"], "term1": "whatever"}
#
nightpool
this is valid because term1 is a property only in myname.space.
#
nightpool
2. term1 gets added to the activitystreams namespace
#
cwebber2
as an aside: federated myspace? ;)
#
cwebber2
oh myname.space
#
nightpool
now the old document (which may be getting passed around, signed or cached or whatever) has totally different semantics
#
cwebber2
nightpool: right
#
nightpool
depending on which context you resolve from first, which I dont even know without looking it up
#
cwebber2
nightpool: I hear you... this is the danger of mutating contexts basically
#
cwebber2
I think this is semi-unlikely but the presence of semi- does make it a concern
#
cwebber2
because if it did happen
#
cwebber2
it could be really bad
#
cwebber2
especially if all your old documents had that
#
nightpool
right
#
cwebber2
this is a reason for freezing contexts ie on https://www.w3.org/ns/activitystreams-history/
#
nightpool
i'm not exactly sure how that solves the practical problem, unless you just reject all documents with a newer versioned context
#
cwebber2
nightpool: I'm not sure what you mean
#
cwebber2
it will have the same content
#
cwebber2
forever
#
nightpool
right.
#
cwebber2
and if a newer version comes out
#
cwebber2
it won't conflict
#
nightpool
but what happens to, say, a mastodon server when some of the servers you're talking to have upgraded and you haven't yet?
#
cwebber2
nightpool: I think in this case it's relatively safe actually
#
cwebber2
because the json-ld handler, by default
#
cwebber2
will fetch contexts it doesn't know about
#
cwebber2
so say you use a new context with a different hash?
#
cwebber2
no problem
#
cwebber2
the servers that don't know about it will fetch it
#
nightpool
right but we dont do jsonld processing.
#
cwebber2
ah well that's true :)
#
cwebber2
well you do
#
cwebber2
with linked data signatures
#
cwebber2
and otherwise aren't really looking at the context much anwyay
#
nightpool
basically.
#
Loqi
😊
#
cwebber2
so I think there's no problem?
#
nightpool
i guess??? in melodys case their would be, but that's easily avoided by either doing jsonld processing or always compacting to prefixed compact uris
#
cwebber2
so yeah that's another option
#
nightpool
anyway i g2g, but we should pick this up later
#
cwebber2
always compact to your own internal conttext
#
cwebber2
on incoming data
#
cwebber2
then you do that step once
#
cwebber2
and forget about it
#
nightpool
i think that ultimately for the best pure json compatibility, as2 shouldn't allow people to compact to bare URIs for anyhting except term definitions from the activitystreams context
#
nightpool
but i dont know how feasible that change is wrt where we are in the spec process with as2 and ap
#
nightpool
but yeah g2g
#
cwebber2
nightpool: happy to talk more later
#
cwebber2
and thanks for the chat
jaywink and rowan joined the channel
#
melody
finally out of meetings and checking in on this -- i think i actually understood the conversation in the scrollback this time which is very exciting πŸ˜„ proof that i have been ~* learning things *~ but still trying to process the implications, especially around freezing contexts -- like, will a json-ld compliant processor know how to get the frozen context or is this something that will need to be handled if you want it some other way?
#
melody
Like, if I want to make sure I'm only passing around documents with frozen contexts, even if when I get the document it has an unfrozen URI, it's not clear to me where the responsibility for that falls based on my current understanding
#
cwebber2
melody: the frozen document has a unique uri
#
cwebber2
if your document is passed around using that
#
csarven
Forgot to +1 Evan for using vCard. SW fully supports the reuse of that vocabulary as well eg https://www.w3.org/TR/vcard-rdf/
#
cwebber2
an implementation which hasn't seen and cached that specific version (which unlike the append-only one, the frozen one *doesn't* change) will say "oh, I do need to go get this"
#
cwebber2
you can specify a documentLoader in json-ld processors
#
cwebber2
and even the default one
#
melody
@cwebber2 that part i understand, i'm asking how you get the frozen version of the URI -- if i get a document that just has "https://www.w3.org/ns/activitystreams" how do I get the frozen version of that context and replace it and will doing so screw up signatures again?
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
will go out and fetch for a context it doesn't know
#
cwebber2
melody: so we need to write more about this conventions... for now you can say you pin the frozen version your application knows about / currently works with to the application's configuration
#
cwebber2
so when it constructs a new json-ld document, it knows "well I'm working with X frozen uri" and that's what it attaches to the @context
#
cwebber2
does that make sense?
#
cwebber2
so it's currently a human doing that, but maybe
#
cwebber2
we should have a machine-fetchable version, for example for mastodon's build step, which can go check and fetch whatever the latest frozen uri is and its associated payload
#
cwebber2
melody: wdyt? does that make sense?
#
melody
for stuff that originates with me, i think so -- will i also have to manually map the base URI to the frozen version for stuff coming from implementations that aren't as careful?
#
cwebber2
I think if they didn't specify a frozen version
#
cwebber2
you just use the latest live version
#
Loqi
definitely
#
cwebber2
and hope for the best
#
melody
that adds my problem back w/ compacted terms but i guess i can just be sure i prefix mine
#
cwebber2
you compact it to your local context the moment you get it, if you'd like to be extra safe when sttoring long term
#
melody
but i think in practice i can't really control whether other people are giving me frozen contexts and i do worry that this will bite me if i don't mutate the document to freeze the context when i get it
#
melody
and mutating the document would invalidate the signature
#
melody
probably?
#
melody
i feel like it _should_
#
melody
but i guess i'm not sure
#
melody
i'm still not sure if i'm going to be caring about LDS or not
#
cwebber2
melody: so maybe it would be helpful to look at what an "expanded" json-ld document does... not sure if you've had a chance to try this yet but I think it'll bring some useful context
#
melody
yeah i've not gotten to mess around with it much yet and still not sure if i'm going to have to implement libraries for json-ld in addition to all my other work, haven't gotten there yet
#
melody
the project itself is still very much in a UX Research/Design phase, but I'm trying to bridge that to also determine like, what infrastructure needs to come into being to realize these things we're talking about and can I make the standards fit
#
melody
so i'm straddling a weird line between high-concept and buried in the weeds
#
melody
and having to context-switch back and forth regularly
rowan joined the channel
rowan joined the channel