#social 2017-11-15
2017-11-15 UTC
timbl and bengo joined the channel
# bengo https://activitypub.com
rowan joined the channel
# @rektide I need to re-review Social Web Protocols (https://www.w3.org/TR/social-web-protocols/) with an eye towards whatever specs are closest to the dev-ships general common practical ReST. (twitter.com/_/status/930633013721010176)
cdchapman, ajordan and rowan joined the channel
# ajordan oh btw cwebber2 I felt like I should share this with you earlier but forgot: https://cloud.strugee.net/index.php/s/jM7Exe9KkUP2fmK
sknebel, xmpp-social and Loqi joined the channel
# puckipedia lol, my instance's view of the entire federation network https://puckipedia.com/_dumpAll (I hacked Kroeg to dump every activity in my sharedInbox into this collection)
timbl and rowan joined the channel
# rhiaro quiet mastodon plug in here folks! https://www.nytimes.com/2017/11/15/opinion/serbia-facebook-explore-feed.html
# puckipedia csarven: so what's the use of as:object in a Create being a URI
# puckipedia because obviously it's created already
# puckipedia cwebber2: is that actually useful information
# puckipedia which specific version
# csarven will try https://test.activitypub.rocks/
# puckipedia cwebber2: "someone could bait & switch you"? so someone sends a Create, then changes the contents?
# puckipedia ... how about those contents being signed as well
# puckipedia or, how about someone posts a Note containing sensitive content. someone likes that note. does that mean that you can't censor the private content without invalidating the like?
# erincandescent One reason for Create to be a URI is because you created an object on a third party server
# erincandescent e.g. you might have an ActivityPub connected bug tracker, which would post
{type: Create, object: https://bugs.example.com/issue/2938}
to your outbox# puckipedia cwebber2: now imagine that the delete/update happened between the like being signed and the like being delivered
# puckipedia (I still totally think signing every object separately is way more than enough)
# erincandescent But you also don't want to be serving up old versions of objects, e.g. they might have had data redacted intentionally or the object might have been deleted
# puckipedia it's 15:42 somewhere in the world :P
rowan joined the channel
# puckipedia effectively? nothing, I think
# puckipedia at least, I am 90% sure that Kroeg could Create an empty object
# puckipedia but I would suggest audience (to/bto/cc/bcc) and type to at least be something that's AS-y
# puckipedia you can even have non-AS2 Activities
# puckipedia I use to/cc to determine who can see the object
# puckipedia csarven: as:Public / Public / https://www.w3.org/ns/activitystreams#Public
# puckipedia rhiaro: mine makes it entirely private, *except* if it's in a collection, then the owner of that collection can view it
# puckipedia (and I need to check if I do access control if you POST something into a collection)
# puckipedia csarven: "to": "Public"
# puckipedia it's mostly a JSON-LD thingy
# puckipedia range?
# puckipedia just IDs / URIs
# puckipedia it's defined as a fake Collection inside AP
# puckipedia JSON-LD just kinda turns https://www.w3.org/ns/activitystreams#Public into as:Public
# csarven https://www.w3.org/TR/activitystreams-vocabulary/#dfn-to says as:Object .. and I take it that as:Public is added by AP
rowan joined the channel
# erincandescent Shame we couldn't have made it an urn
# @kevinmarks #FHIRdevdays17 @GrahameGrieve: Kevin provided a link to Websub https://www.w3.org/TR/websub/ - we should look at it to see how it maps (twitter.com/_/status/930816265576501248)
# xmpp-social [ajordan] erincandescent: why isn't a URL not good enough? Just curious
# erincandescent Because its a non-dereferencable resource
# erincandescent It names a concept not an actual thing
# erincandescent Most RDF concepts named with URLs are types, though
# rhiaro I mean if we can have http://www.w3.org/2006/time#Wednesday we can have as:Public
# erincandescent Also more so its because its the one https URI which is a special case
# erincandescent Its more that if it was a special urn (or other uri scheme) then software which foolishly attempted to deliver to it would automatically fall over :p
# xmpp-social [ajordan] *sits back, gets some popcorn and watches the bikeshedding*
# erincandescent csarven: ActivityPub says to attempt to deliver to objects with https URIs in the audience properties, except for special value as:Public
# erincandescent Well it'll do a GET request to look up as:Public as an application/ld+json object first :p
# erincandescent Which I assume will get the context returned to it
# erincandescent If you wanted to be crazy you could actually define as:Public in the context :p
# erincandescent Its defined as an LD term, but not as a LD object
# erincandescent @graph [
{id: as:Public, type: ???}
]cdchapman joined the channel
# csarven $ curl -iLH'Accept: application/ld+json' https://linkedresearch.org/annotation/csarven.ca/dokieli-rww/b6738766-3ce5-4054-96-ced7f05b439f
# csarven curl -iLH'Accept: application/ld+json' https://linkedresearch.org/annotation/csarven.ca/dokieli-rww/b6738766-3ce5-4054-96a9-ced7f05b439f
rowan joined the channel
# cwebber2 csarven: the goal is to uphold two things simultaneously: that json-mindset users are able to work with data, and graph people are able to work with data (and in fact, the json-mindset users will be able to get some of the robustness of having unambiguous terms without much thinking about it)
# csarven hmm, hang on.. I think the as:object is all oa:Annotation stuff, so since that's not in the AS2 land, can it just stay as is? Bcecause right now, I'm going to take as:Create with some other as stuff (and sure we can have that in compact) and then the as:object will just include whatever is there. would that be valid?
# csarven Have a look at curl -iLH'Accept: application/ld+json' https://linkedresearch.org/annotation/csarven.ca/dokieli-rww/b6738766-3ce5-4054-96a9-ced7f05b439f -- that will be the valu of as:object
rowan joined the channel
# bigbluehat ...as much as I'd love to fix that...csarven is probably right...
# csarven https://json-ld.org/playground/#startTab=tab-expanded&json-ld=%7B%22%40context%22%3A%22https%3A%2F%2Fwww.w3.org%2Fns%2Factivitystreams%22%2C%22type%22%3A%22Create%22%2C%22object%22%3A%5B%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%22%2C%22%40type%22%3A%5B%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23Annotation%22%5D%2C%22http%3A%2F%2Fschema.org%2Fname%22%3A%7B%22%40language%22%
# csarven org%2Fdc%2Fterms%2Frights%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Fcreativecommons.org%2Flicenses%2Fby%2F4.0%2F%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23canonical%22%3A%7B%22%40id%22%3A%22urn%3Auuid%3A48355bb0-0afd-4f73-9a18-f1e8b6fb415b%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23hasTarget%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2Fdokieli-rww%23abstract%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23hasBody%22%3A%7B%22%40id%22%3A%22https%3A
# csarven 3A%22en%22%2C%22%40value%22%3A%22Sarven%20Capadisli%20replies%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23motivatedBy%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23replying%22%7D%2C%22http%3A%2F%2Fschema.org%2Fcreator%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2F%23i%22%7D%2C%22http%3A%2F%2Fschema.org%2FdatePublished%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%222017-04-15T21%3A24%3A58.293Z%22%7D%2C%22http%3A%2F%2Fpurl.
# csarven %2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23note-b6738766-3ce5-4054-96a9-ced7f05b439f%22%7D%7D%2C%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2F%23i%22%2C%22%40type%22%3A%5B%22http%3A%2F%2Fschema.org%2FPerson%22%5D%2C%22http%3A%2F%2Fschema.org%2Fimage%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2Fmedia%2Fimages%2Fsarven-capadisli.jpg%22%7D%2C%22http%3A%2F%2Fschema.org%2Furl%22%3A%7B%22%40id%
# csarven 2Fwww.w3.org%2Fns%2Foa%23hasSelector%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23fragment-selector%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23renderedVia%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Fdokie.li%2F%22%7D%7D%2C%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23fragment-
# csarven 22%3A%22http%3A%2F%2Fcsarven.ca%2F%22%7D%2C%22http%3A%2F%2Fschema.org%2Fname%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%22Sarven%20Capadisli%22%7D%7D%2C%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2Fdokieli-rww%23abstract%22%2C%22%40type%22%3A%5B%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23SpecificResource%22%5D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23hasSource%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fcsarven.ca%2Fdokieli-rww%22%7D%2C%22http%3A%2F%
# csarven selector%22%2C%22%40type%22%3A%5B%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23FragmentSelector%22%5D%2C%22http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2FconformsTo%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc3987%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23value%22%3A%7B%22%40type%22%3A%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23PlainLiteral%22%2C%22%40value%22%3A%22%23abstract%22%7D%2C%22http%3A%2F%2Fwww.w3.org
# csarven %2Fns%2Foa%23refinedBy%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23text-quote-selector%22%7D%7D%2C%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23text-quote-selector%22%2C%22%40type%22%3A%5B%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23TextQuoteSelector%22%5D%2C%22http%3A%2F%2Fwww.w3.
# csarven org%2Fns%2Foa%23prefix%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%22rchitecture%20and%20implementation%2C%20%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23exact%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%22demonstrating%20advanced%20document%20authoring%20and%20interaction%20without%20a%20single%20point%20of%20control%22%7D%2C%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23suffix%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%
# csarven 22.%20Such%20an%20environment%20provides%20t%22%7D%7D%2C%7B%22%40id%22%3A%22https%3A%2F%2Flinkedresearch.org%2Fannotation%2Fcsarven.ca%2Fdokieli-rww%2Fb6738766-3ce5-4054-96a9-ced7f05b439f%23note-b6738766-3ce5-4054-96a9-ced7f05b439f%22%2C%22http%3A%2F%2Fschema.org%2Fname%22%3A%7B%22%40language%22%3A%22en%22%2C%22%40value%22%3A%22Note%22%7D%2C%22http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2Frights%22%3A%7B%22%40id%22%3A%22https%3A%2F%2Fcreativecommons.org%2Flicenses%
# csarven 2Fby%2F4.0%2F%22%7D%2C%22%40type%22%3A%5B%22http%3A%2F%2Fwww.w3.org%2Fns%2Foa%23TextualBody%22%5D%2C%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23value%22%3A%7B%22%40type%22%3A%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23HTML%22%2C%22%40value%22%3A%22What%20are%20you%20trying%20to%20tell%20me%3F%20That%20I%20can%20dodge%20bullets%3F%22%7D%2C%22http%3A%2F%2Fschema.org%2Fdescription%22%3A%7B%22%40type%22%3A%22http%3A%2F%2Fwww.w3.
tantek joined the channel
# Loqi Tantekelik made 1 edit to [[Socialwg/2017-11-14]] https://www.w3.org/wiki/index.php?diff=105220&oldid=105215
# tantek Draft agenda for next week up: https://www.w3.org/wiki/Socialwg/2017-11-21 please add as necessary!
timbl joined the channel
# Loqi Tantekelik made 2 edits to [[Socialwg/2017-11-21]] https://www.w3.org/wiki/index.php?diff=105223&oldid=0
# Loqi Tantekelik made 1 edit to [[Socialwg]] https://www.w3.org/wiki/index.php?diff=105222&oldid=105200
# tantek ajordan cool! when you want to try sending a webmention, you can try RSVPing to today's HWC SF (even if the answer is "no" :) ) http://tantek.com/2017/319/e1/homebrew-website-club and you should see it show up very quickly there at the bottom
# puckipedia <rhiaro> though cwebber2 implemented JSON-LD himself, and I think puckipedia did too? <- I have, lol
# puckipedia csarven: my suggestion is to only Create a single object at a time
# puckipedia also there's no as:actor on the as:Create
# puckipedia csarven: the as:object is https://linkedresearch.org/annotation/csarven.ca/dokieli-rww/b6738766-3ce5-4054-96a9-ced7f05b439f; http://csarven.ca/dokieli-rww#abstract; and http://csarven.ca/#i
# puckipedia oh and the note fragment thingy
# puckipedia so technically, it isn't -- but the spec is ambiguous enough that, I think, every single implementation only supports a single object
# puckipedia and somehow I feel like you aren't creating your schema:Person every single time
# puckipedia then only as:Create that object
# puckipedia well, there's no requirement t hat you as:Create every single object. as:Create just notifies everyone that you created it (in s2s, in c2s it does store it as well)
# rhiaro one of the triples in there is <> as:object <http://csarven.ca/#i>. Is that right?
# rhiaro where <> is the Create, so semantically that means you created <http://csarven.ca/#i>
# puckipedia ^ that's what I mentioned as well
# rhiaro of things, including <http://csarven.ca/#i>
timbl and distopico joined the channel
# puckipedia yep, though you can replace @id with id and @type with type - AS defines those aliases
# puckipedia ehm, why isn't your JSON-LD doing the above
# puckipedia compact it with the @context?
timbl joined the channel
rowan and bengo joined the channel
# xmpp-social [ajordan] tantek: haven't posted it yet
# xmpp-social [ajordan] I just got out of class and now I have a meeting about doing some research in the spring :-)
# Loqi [Manuel Ortega] I'll be showcasing a mini #ActivityPub implementation in #Ruby during the November Ruby meeting in #Madrid http://www.madridrb.com/topics/mini-implementacion-de-activitypub-en-ruby-567 Here the code https://github.com/ortegacmanuel/hanatachi/blob/mas...
# puckipedia and I can client-side render emojis :)
# puckipedia https://dl.puckipedia.com/up/emojo.png
tantek joined the channel
rowan_, bengo and tantek joined the channel
timbl joined the channel
# bengo started federated conversation with @cwebber2 about the ActivityPub features at risk and which people can implement before next week (cc puckipedia )
# puckipedia cwebber2: server:security-considerations:sanitize-fields, shouldn't that be client?
# puckipedia anyways, I am working on ticking most of the No/(N/A) items to Yes :P
# puckipedia server:security-considerations:do-not-post-to-localhost done
# puckipedia the client tags, in order of page, yes/yes/yes/yes/(can't do Add/Remove)/yes/no/no/yes
# puckipedia so, ehm, do I add a quick "add to collection/remove from collection" thingy - yes I do
# puckipedia sounds good :P
# puckipedia also quick question: what *does* count for the filtering malicious content? :P
# puckipedia because Kroeg is trying to be as generic as possible...
# puckipedia it's easy enough to hook something into Kroeg to filter spam
# puckipedia well, Kroeg already processes every item going through an in/outbox by putting it through a bunch of filters
# puckipedia right, so I'll pop in a bit of code that allows you to load external libs and then decide the order in which filters are ran inside the config :P
# puckipedia and add the """spam""" filter as an example
# puckipedia :D: I can't create Collections from the GUI
# puckipedia fixed https://puckipedia.com/status/fb732ab2/this-is-a-collection
# puckipedia :D that's a collection containing an object I added with the "add" button :P
# puckipedia Remove didn't work
# puckipedia ugh ugh ugh I know why
# puckipedia I also know why deduplication didn't work
# puckipedia aand I fixed deduplication *and* removing entities
# puckipedia post is gone again :D
# puckipedia ticks box
# puckipedia for recursively-add-targets, does a depth of 1 count? :P
# puckipedia ... also I'm 100% sure my templating language is now turing-complete
# puckipedia okay I'll add multiple layers of recursion
# puckipedia wow this is broken
# puckipedia fixed
# puckipedia it recurses, but only 3 posts deep
# puckipedia cwebber2: so far, https://gist.github.com/puckipedia/80b3494fc69f578ae96534641c6c8e5c -- I think
# puckipedia not yet done :P
# puckipedia eh
# puckipedia it's one no/yes :P
# puckipedia I know :P
# puckipedia tbh I had most of them
# puckipedia but the client part of Kroeg is weirdly wonky
# puckipedia time to test the """Spam""" filter
# puckipedia cwebber2: this configurable enough? :P https://github.com/puckipedia/Kroeg/commit/bc5f31e8f31e10f10c0460ea887c1998b5372039
# puckipedia and I have a prepared Spam filter :P
# puckipedia tbh a config field that says "regex to filter content with" would be good enough I bet
# puckipedia of course :P
# puckipedia a neural network that tries to decide which posts are okay:
# puckipedia Math.random() < 0.9 ? ok : not ok
# puckipedia sooo, which ones do we still need an implementation of, heh
# cwebber2 puckipedia: https://activitypub.rocks/implementation-report/ congrats on being AP's first totally-complete AP implementation :)
# puckipedia yeah :<
# puckipedia gonna try to force a distbin object into Kroeg
# puckipedia :)
# puckipedia I just realised I don't do s2s Add/Remove to local collection
# puckipedia ... I very quickly fixed that
# tantek ajordan your markup looks like it produces an RSVP h-entry properly with author http://pin13.net/mf2/?url=https://strugee.net/blog/2017/11/not-going-to-todays-hwc-san-fransisco-2017
# tantek however it looks like a webmention was never received from struggee.net: https://webmention.io/api/mentions.jf2?target=http://tantek.com/2017/319/e1/homebrew-website-club&wm-property=rsvp&sort-by=rsvp
timbl and tantek joined the channel
bengo joined the channel
JanKusanagi joined the channel
# ajordan https://github.com/strugee/lazymention/blob/feeb87b99ad5408b825fe726ae66cd833fc69e86/lib/webmention.js#L61 here's where that's coming from - since the logs say it worked I'm inclined to think it's a bug in the Webmention library I'm using
tantek joined the channel
# ajordan https://github.com/strugee/node-webmention-client is the source for that