#dev 2016-08-19

2016-08-19 UTC
KevinMarks joined the channel
#
miklb
the more I look at modifying my rakefile to get the bridgy response, the more I think I'm going to need a ruby mentor to help talk me through
#
miklb
would also help if I knew how a webmention was constructed :-P
#
aaronpk
miklb! What part of webmention do you need help with? webmention.rocks should be a pretty helpful tool to walk you through it
#
aaronpk
hmm my OSBridge talk might be a good resource
#
aaronpk
I walk through step by step building a page and getting a comment to show up there
cmal joined the channel
#
miklb
aaronpk the rakefile that aaron gustfason shared uses curl to send the webmention. I want to convert that to use net/http so I can get the response from bridgy (I'm assuming that's correct) so that I can get the u-syndicate link and store that as jekyll front matter.
#
aaronpk
That sounds doable!
#
miklb
and right now, I'm honestly not understanding how the webmention is constructed between endpoint, target and source
ben_thatmustbeme joined the channel
#
bear
you can also look at how I do it in python
#
bear
what is ronkyuu
#
Loqi
ronkyuu is a Python open source project that is being designed to handle all IndieWeb requirements for static sites https://indieweb.org/ronkyuu
#
bear
hmm, that is wrong
#
bear
but that is a python lib to process webmentions and it has some notes on testing
#
bear.im
edited /ronkyuu (+1) "update dfn"
(view diff)
#
miklb
thanks bear
#
miklb
n00b question alert; sending a webmention is just endpoint?source=source_url&target=target_url ?
#
miklb
if anyone familiar with ruby and net/http can tell me if I'm on the right track, I'd be grateful https://gist.github.com/miklb/690a76b88a2f289681f6df09ebcaa709
KevinMarks_ and mindB joined the channel
#
KevinMarks_
Well, it's a post, so not in the url, but effectively yes. You can do it with a form
#
KevinMarks_
However you send a form POST in your language, do that
#
KevinMarks_
(sorry, replied in the slack, forgot it wasn't mirrored)
#
miklb
KevinMarks_ this is just for sending a webmention so I can get the response. It's done via a Rakefile. Currently uses a curl command
#
miklb
didn't realize slack didn't mirror to IRC
#
KevinMarks_
Only the indieweb one does at the moment
#
KevinMarks_
So, the point is that the parameters go in the payload, form encoded, as it's a POST not a GET
#
miklb
gotcha
KevinMarks joined the channel
#
miklb
assumes that payload can be sent as json
#
aaronpk
Why would you want to send the payload as json? That sounds like extra work
#
miklb
because I don't know what I'm doing and I'm googling examples :)
#
miklb
it *looks* pretty straight forward with net/http
#
KevinMarks
Is that ruby?
#
miklb
that is the deep end of the pool I'm in tonight, yes
#
KevinMarks
Looks easy require "net/http" require "uri" uri = URI.parse("http://example.com/search") # Shortcut response = Net::HTTP.post_form(uri, {"q" => "My query", "per_page" => "50"})
#
aaronpk
Form encoded is built in to every http library so basically if you don't do anything special and use an example you find you will end up sending a form encoded request
#
aaronpk
my favorite ruby http client is httparty but it's not a big deal
#
miklb
aaronpk I saw reference to that, but for my needs, wasn't sure another gem was necessary
#
miklb
seems like you can set the params and then pass params.to_json along with headers but doesn't look like need to do that?
#
rascul
yay my site generator is "done" now i get to play with templates
#
KevinMarks
No, you don't want to send json here.
#
miklb
ok. thanks
#
KevinMarks
Micropub has a json option, but webmention is just form encoding
#
aaronpk
response = Net::HTTP.post_form(uri, {"q" => "My query", "per_page" => "50"})
#
aaronpk
That seems simple enough
#
aaronpk
just send source and target params
#
miklb
yep. seems to be working. Just need to get the link onto the live post to confirm.
#
aaronpk
just googled net::http form post
#
miklb
knowing what ot google for…priceless
#
rascul
does mf2 require classes or can i use an id also?
#
rascul
well, intead of, not also
#
miklb
totally worked. Thanks aaronpk, KevinMarks
#
miklb
now on to phase 2
#
KevinMarks
No, classes not id
#
KevinMarks
You can use an id, but mf2 won't parse it
#
rascul
ok thanks
#
emmahodge.org
edited /2016/NYC2/Planning (+357) "/* Questions */"
(view diff)
#
emmahodge.org
edited /2016/NYC2/Planning (+2) "/* Questions */"
(view diff)
#
AngeloGladding
KevinMarks, kylewm had the same repr h-card implementation on his own site -- he's aware and a patch has been submitted
#
AngeloGladding
i've added you both to the crawl
#
AngeloGladding
i'm json dumping my graph to one degree of separation: https://angelo.lahacker.net/people/graph.json
#
AngeloGladding
anyone feel free to use it for analysis
#
AngeloGladding
1.2 MB at this point.. a full dump.. i'll release a two-degrees dump soon.. will be an order of magnitude more data..
#
AngeloGladding
i'll actually make use of the data on the individual person pages on my site
#
AngeloGladding
highlighting representative h-cards, collapsing feed entries into readable summaries, etc
#
AngeloGladding
just providing a near real-time semantic graph of the indieweb
#
miklb
my new crazy idea is instead of trying to parse out just the url for u-syndicate and try to save it as front matter is to dump the whole response to a json data file sinceJekyll can read them and then all of the tweet object is available
KevinMarks, loicm_, KevinMarks_ and tantek joined the channel
#
Loqi
guten morgen
#
petermolnar
is anyone aware of a comparison of front matter "variables" in the most common static generators? (jekyll, hugo, pelican, etc. )
#
voxpelli
petermolnar: please share if you find one :)
#
petermolnar
sounds like something I'll need to do myself
#
petermolnar
I was thinking to look into the "old" formats, such as asciidoc, various library methods, the current most commons way and try to come up with some sort of most compatible layout
#
petermolnar
what is frontmatter?
#
Loqi
It looks like we don't have a page for "frontmatter" yet. Would you like to create it?
#
petermolnar
what is front matter?
#
Loqi
It looks like we don't have a page for "front matter" yet. Would you like to create it?
#
petermolnar
frontmatter is a common way to include metadata in plain text, commonly Markdown formats by adding a YAML block in front of the actual data, divided by a top "---" and a bottom "---" or "...". Pandoc supports these blocks when converting one format to another, see http://pandoc.org/MANUAL.html#extension-yaml_metadata_block
#
loqi.me
created /frontmatter (+356) "prompted by petermolnar and dfn added by petermolnar"
(view diff)
#
loqi.me
created /front_matter (+24) "prompted by petermolnar and dfn added by petermolnar"
(view diff)
#
petermolnar
what is pandoc?
#
Loqi
It looks like we don't have a page for "pandoc" yet. Would you like to create it?
#
petermolnar
pandoc is a format converter which supports an extreme variety of input and output formats; useful to convert from/to HTML, Markdown, XML, docx, etc. formats. See http://pandoc.org/
#
loqi.me
created /pandoc (+213) "prompted by petermolnar and dfn added by petermolnar"
(view diff)
cmal and mindB2 joined the channel
#
GWG
Morning
#
Loqi
rise and shine!
#
cmal
ahoy
cmal and singpolyma joined the channel
#
@sil
@mhoye Yeah. Webmentions provide the same two-way-link that pingback was made to do, but they haven't been adopted.
(twitter.com/_/status/766632685133504512)
#
@mhoye
@sil WebMentions doesn't solves any of the problems that really killed pingbacks, that being spammers.
(twitter.com/_/status/766634406110953472)
KevinMarks, loicm and Loqi joined the channel
#
miklb
voxpelli what do you think of my latest hair brain idea of dumping the whole response from bridgy into a json data file?
#
aaronpk
"haven't been adopted" is a bit harsh
#
aaronpk
maybe "haven't been adopted by major services"
#
KevinMarks
Haven't been widely adopted, but WordPress should ship them
cmal joined the channel
KevinMarks and doesntgolf joined the channel
#
aaronparecki.com
edited /OpenID (+7) "fix openid.server example"
(view diff)
#
voxpelli
miklb: could work, can't really remember the full flow there of the top of my head :)
#
miklb
seems pretty straight forward to read the data files. Found I was going to have difficulty figuring out which file I needed to add the FM to, so this way I can use a regex to get the last part of the source URL which happens to be slug, and use that as the data file name, Then can slug FM to access the file and loop through the data. At least that's my plan :)
#
miklb
and on that note, off to the beach shortly for the weekend. have a good one everyone.
rhiaro, mindB, gRegorLove, KevinMarks and cmal joined the channel
#
cmal
https://www.w3.org/wiki/Socialwg/Federation/Candidates ← Isn't ActivityPub considered a federation protocol? is there a specific reason why it's not listed there?
KevinMarks_ and AngeloGladding joined the channel
#
aaronpk
cmal: the last edit to that page was over a year ago. i think activitypub wasn't considered a federation protocol then
#
cmal
thanks for the clear answer :)
#
aaronpk
always a good idea to look at the date of the last edit on wiki pages :)
#
cmal
(true)
#
aaronpk
also the group changed the way we were working from picking a single option to letting multiple options develop in parallel
#
aaronpk
so the whole question of "which thing should we use as the federation protocol" became irrelevant
#
aaronpk
so that page stopped getting updated
#
cmal
so you think there's going to be parallel adoption of PubSubHubHub and ActivityPub for federation?
#
cmal
is there even any proposal for interoperability between these two?
#
cmal
(or with Solid?)
#
aaronpk
pubsubhubbub was only recently adopted by the group so not really sure where that's going to end up
mindB and KevinMarks joined the channel
#
cmal
still I haven't stumbled upon any proposal for mapping of data types between Solid/ActivityStreams/MF2, if anyone has *any* reading on the topic, consider me interested :)
#
aaronpk
i suspect there won't be much until there are actually more implementations of activitystreams
#
aaronpk
right now the whole activity* side of things is pretty experimental and only has a couple implementations, mostly by the authors of the specs
#
aaronpk
rhiaro is the only one I know of who's actually implemented parts from all three of solid, activitystreams/activitypub, and microformats2 in her own site
#
aaronpk
i'm sure she would welcome more people trying out similar things if you're interested :)
KevinMarks joined the channel
#
cmal
hmm that's interesting
#
cmal
is this the source code running her website? https://bitbucket.org/rhiaro/slogd
#
aaronpk
not sure
#
aaronpk
i think so?
#
cmal
cool, I'll take a peek :)
KevinMarks joined the channel
#
rhiaro
cmal: slogd is my current site, rebuilding to be centered around activitystreams/activity pub in github.com/rhiaro/sloph .. Hoping to get that rolled out this weekend/next week
#
rhiaro
slogd is a hodgepodge. Well, everything is
#
rhiaro
And documentation is sort of shaping up at https://w3c-social.github.io/social-web-protocols, but still a ways to go
#
Loqi
[Amy Guy] Social Web Protocols
#
rhiaro
documentation for mapping between those things, that is
#
rhiaro
sloph also does some LDP (solid) parts, slogd doesn't beside everything being stored as RDF
KevinMarks joined the channel
#
cmal
thanks for the links rhiaro :)
#
rhiaro
no problem.. happy to answer questions
#
rhiaro
a lot of it is quite baffling
#
rhiaro
(even to me :)
#
cmal
so, sorry I'm a little lost in your code, what actual data format are you using to store items? and what is this "turtle" thing ? https://github.com/rhiaro/sloph/blob/master/data/160601-002038_574e1c4d6f40d.ttl
#
cmal
(with many prefixes for different data representation schemes)
#
rhiaro
turtle is an RDF syntax
#
rhiaro
I'm storing it in a triplestore
#
rhiaro
There are some data dumps lying around for testing
#
rhiaro
/ backup
#
rhiaro
It's not very well organised, sorry
#
rhiaro
I don't actually store in those flat files
#
cmal
so you store the content as AS2, microformats2 and RDF or isn't that what you mean by triplestore?
#
cmal
https://en.wikipedia.org/wiki/Triplestore ← guess I found the answer to my noob question :)
#
rhiaro
AS2 and microformats are vocabularies. Sloph uses AS2 plus a couple of others. RDF is an abstract graph syntax. Triplestore is a database to store RDF in.
#
rhiaro
vocabularies ie schema
#
cmal
so you use RDF to store the objects and generate views for AS2/MF2 ?
#
cmal
(or I still don't get it? ^^")
#
rhiaro
That's right
#
rhiaro
If you request a page with Accept: ld+json you get AS2 as JSON
#
rhiaro
if you reqeuest text/html you get an html page with RDFa and microformats
#
cmal
clever :)
#
rhiaro
(well not yet because I haven't finished my tempplating, but that's the idea0
#
rhiaro
(sorry for typos I'm on an extremely wobbly train right now, my laptop is all over the place)
#
kevinmarks.com
edited /events/2016-08-24-homebrew-website-club (+21) "/* Where */ goDaddy again"
(view diff)
#
rhiaro
a slightly outdated subset of sloph is running at blog.rhiaro, so if you try:
#
rhiaro
curl -v -H "Accept: application/ld+json" http://blog.rhiaro.co.uk/updated-working
#
rhiaro
you get AS2 json
#
rhiaro
if you try text/turtle you get turtle
#
rhiaro
It might even do rdf/xml but we don't need to talk about that ;)
#
kevinmarks.com
edited /events/2016-08-24-homebrew-website-club (+71) "/* San Francisco */ indie event"
(view diff)
#
cmal
so, sorry for the very noob questions (I'm very new to RDF), but do you think RDF is more suited as a backend storage than AS2/MF2? I'm guessing it must be easier and faster to parse than MF2, but regarding AS2 I don't see a real difference between the two (RDF seems to be using tripples, AS2 has transitive/intransitive semantics and object/actor/activity differentiation)
#
cmal
so did you chose RDF storage for technical reasons or to try out something new? (or anything else?)
#
rhiaro
AS2 is a JSON syntax, which can also be represneted as JSON-LD. That's just a serialisation of RDF (like turtle). So I can store my data in the abstract graph form in the triplestore (still using AS2 as the vocab) and then serialize it in whatever syntax requested (json, html, turtle)
#
kevinmarks.com
edited /events/2016-08-24-homebrew-website-club (+52) "/* San Francisco */ fb event"
(view diff)
#
rhiaro
so they fit together well
#
cmal
(and yeah the cURL header Accept did return some JSON to me, consider me very impressed)
#
rhiaro
and the EasyRdf php library makes parsing and serialising this stuff super easy
#
rhiaro
just as you'd use a microformats parsing library
#
cmal
are you saying RDFa and AS2 share the same vocabulary but represented differently (JSON-LD vs XML)?
#
rhiaro
RDFa is just another serialisation - it's RDF in HTML (like microformats)
#
rhiaro
the vocabulary is still AS2
#
cmal
I see
#
rhiaro
So where you'd do <article class="h-entry"> in microformats you'd do <article typeof="Note">
#
rhiaro
different syntaxes, but basically doing the same thing in the HTML case
#
rhiaro
RDFa has more HTML attirbutes you use to describe stuff, where mf2 just uses class. But mf2 prefixes (p-, u-) do the same thing as the different html attributes
#
rhiaro
more or less
#
KevinMarks
I did a post that mapped between them, but not for a h-entry case
mindB joined the channel
#
cmal
wow, thank you so much for your time rhiaro you just saved me from hours of confusion (doesn't mean I'm gonna skip reading the specs, don't worry :D)
#
rhiaro
happy to answer these kinds of questions :)
#
rhiaro
it's like the one thing I know about
#
rhiaro
also I have a bunch of posts on my site exporing some of this stuff, check /tag/activitystreams, /tag/microformats, /tag/socialwg and similar
#
KevinMarks
You wrote the book on it
#
cmal
I sure will take a look :)
#
AngeloGladding
rhiaro i'm adding all pages with representative h-cards to an indieweb-wide crawl -- if you add a `p-uid` to your h-card's `p-url` i can add you too
#
gRegorLove
I think I have one on gregorlove.com, though only by accident, since I only publish the most recent article on the homepage, not a stream.
#
gRegorLove
Not sure I understand the differences between representative h-card and /authorship
#
AngeloGladding
the list is at https://angelo.lahacker.net/people and i have indeed added you
#
AngeloGladding
yours does look unintentional
#
AngeloGladding
but it passes #3 in the parsing algorithm at http://microformats.org/wiki/representative-h-card-parsing
#
Loqi
representative-h-card-parsing
#
AngeloGladding
oh hey thanks for pointing out /authorship
#
AngeloGladding
it suggests improvements on the representative h-card parsing algorithm that could allow me to add some 70+ from /irc-people that don't currently have one
KevinMarks and mindB joined the channel
#
aaronpk
representative h-card is meant to be used on someone's author URL, /authorship is to discover the author given a URL of a post
#
AngeloGladding
aaronpk: from /authorship "Note: the steps of checking for "url == uid == page's URL" and "url that's also a rel-me" were incorporated inline from the steps for parsing a representative h-card. Some improvements have been made here due to feedback from implementations in practice, and those improvements should be incorporated into an iteration of representative h-card. "
#
gRegorLove
So authorship supersedes it? What's an "author URL"?
#
aaronpk
oh huh
#
aaronpk
i thought representative h-card was when you're starting with like an indieauth login URL
#
AngeloGladding
not sure what you mean there but indieauth would be a great time to use it -- to present the consuming site w/ full name and contact (basic registration material)
#
aaronpk
when you sign in to https://telegraph.p3k.io it looks for an h-card on your page and adds your contact info and photo from it
#
gRegorLove
AngeloGladding: Cool. What are your plans for that list?
#
gRegorLove
rel=followee is interesting. Haven't seen that before, I don't think.
#
AngeloGladding
yeah i definitely made it up
#
AngeloGladding
wiktionary has it defined
#
AngeloGladding
whereas the noun form of "following" is just as you'd expect -- a group of people
#
AngeloGladding
your person page on my site rel=me's back to your site
#
gRegorLove
I have a list of people I'm following. No rels, though. http://gregorlove.com/following/
#
aaronpk
what is following?
#
Loqi
follow is a common button in silo UIs (like Twitter) that adds updates from that profile (typically a person) to the stream shown in an integrated reader, and sometimes creates a follow post either in the follower's stream ("… followed …" or "… is following …") thus visible to their followers, and/or in the notifications of the user being followed ("… followed you") https://indieweb.org/following
#
aaronpk
gRegorLove: add yourself there?
#
aaronpk
oh huh
#
gRegorLove
Yeah, those two are a bit confusing
#
aaronpk
oops "follow" just un-worded
#
AngeloGladding
gRegorLove nice -- should definitely add an XFN rel to those
#
gRegorLove
What is XFN?
#
Loqi
XFN is an abbreviation for XHTML Friends Network, the network of visible links across blogs that claim various XFN relationships with/to each other https://indieweb.org/XFN
#
gRegorLove
I think I had XFN ages ago.
KevinMarks joined the channel
#
gRegorLove
With my current indieweb understanding, I'm not sure what functionality XFN would give me.
#
AngeloGladding
it was the first microformat that predates microformats
#
aaronpk
basically nothing right now
#
gRegorLove
I primarily use that page now as a list of domains I'll accept vouch from
#
AngeloGladding
where do you link to it from your main page?
#
gRegorLove
And, in theory, importing subscriptions to a reader like /Woodwind, when they support that.
#
gRegorLove
It's not linked publicly on my site yet.
#
gRegorLove
Still working through some navigation / structural changes
#
AngeloGladding
so if you rel=me it somehow from your identity page -- e.g. rel=me "About" and from "About" rel=me /following -- i'll find it and represent it on your page on my site
#
gRegorLove
I like my minimal layout and didn't want to just start packing a bunch of links in navigation or footer, so I have stuff like /following and /events not linked :)
#
AngeloGladding
i'll eventually traverse all rel=me's
#
aaronpk
yeah i have a bunch of unlinked pages too
#
AngeloGladding
i think that breaks some fundamental rule of WWW ;)
#
gRegorLove
AngeloGladding: What would it represent on your site? Like you'd show the list of sites I'm following?
#
aaronpk
security by obscurity
#
AngeloGladding
danger
#
AngeloGladding
that'll keep you from open sourcing your code
#
aaronpk
it's not really supposed to be secret anyway
#
gRegorLove
Is the JSON supposed to appear at the bottom of https://angelo.lahacker.net/2016/08/18/uWdjG/added-event ?
#
AngeloGladding
gRegorLove -- a decentralized social network should emerge
#
AngeloGladding
um yeah i'm heavy on the consumption right now, light on the production :)
#
gRegorLove
np, just wondering :)
#
AngeloGladding
i'm working out a way to abstract post-types, etc. at the core of my platform
#
AngeloGladding
so yes its there for dev purposes
#
gRegorLove
Hmm. Would a rel=me to my "following" page be accurate? It's not really another profile that represents me.
#
gRegorLove
What is rel-me
#
Loqi
Using rel=me on a hyperlink indicates that its destination represents the same person or entity as the current page, which is a key building-block of web-sign-in and IndieAuth https://indieweb.org/rel%3Dme
#
AngeloGladding
hmm.. that's actually a good question
#
AngeloGladding
i made that assumption long ago
#
AngeloGladding
that definition may be a modernized adaptation
#
gRegorLove
Yeah, I think it definitely represents more current practices. Don't know about the history.
#
gRegorLove
I have rel-mes in <links> on my homepage, so could easily add a link to following there. A different rel might be preferable (or not... not sure)
#
AngeloGladding
http://gmpg.org/xfn/11#me "There is an implicit "me" relation from the contents of a directory to the directory itself." interesting..
#
AngeloGladding
i'd say it's appropriate and i'll be using rel=me's to build a personal graph so it'll be appropriate at least in my context :)
#
AngeloGladding
i'll ask around
#
gRegorLove
ben_thatmustbeme's list is at https://ben.thatmustbe.me/whitelist and is linked from his homepage as rel-alternate, AS2 format apparently: http://stream.thatmustbe.us/?op=mf2-as2&url=https%3A%2F%2Fben.thatmustbe.me%2F%2Fwhitelist
#
gRegorLove
I'm going to stick with rel-mes for other profiles
#
aaronpk
gRegorLove: i think that rel-alternate link is on every page and links to the stream.thatmustbe.us converter for each page itself
#
gRegorLove
oops, looking at the wrong page source
#
gRegorLove
You're right.
#
gRegorLove
I thought at some point his homepage linked to the whitelist, but not currently
#
AngeloGladding
aaronpk ChrisAldrich made a good comment last night -- the ever expanding crawl will help us visualize what technologies are and are not being used
#
aaronpk
that was the goal of indie-stats.com
#
GWG
Yawn
#
GWG
I am going to accomplish something this weekend.
#
AngeloGladding
bear presented indie-stats.com last night
#
AngeloGladding
so it appears to be more of an archive
#
AngeloGladding
which will certainly give it more coverage and lend itself to a simple interface
#
AngeloGladding
but i'm looking to crawl around rel=me's and fetch content found inside h-entries and what not
#
AngeloGladding
pull in data from behind walled gardens
#
AngeloGladding
heuristics here and there, raising the bar of standards compliance through immediate visual feedback
#
AngeloGladding
overlapping no doubt.. i'll have to take a look at his code
#
AngeloGladding
but eventually i want to distribute the crawl load amongst other peers and query the graph in a decentralized fashion
#
AngeloGladding
so i'm definitely just bootstrapping now by dumping /irc-people and what not but i don't intend to keep a complete list forever
#
AngeloGladding
gg bbl