#indiewebcamp 2015-07-19

2015-07-19 UTC
j12t and gRegorLove joined the channel
#
kylewm
Jeena: I have a firefox thing for quill/micropub https://kylewm.com/test/quill-firefox/
#
kylewm
there's basically nothing to it... just a manifest.js file that tells it which page to use
#
Jeena
It would be cool if all could use the same manifest file and you'd set the domain on your own
#
Jeena
but neat, thanks, I will try to use it
#
Jeena
Wow, very neat, I love it!
snarfed and KartikPrabhu joined the channel
#
aaronpk
oh nice
snarfed joined the channel
#
bear
if I activate that (quill-firefox) where should it show up?
#
kylewm
little airplane icon in the top right toolbar
#
bear
oh - share this page
#
kylewm
or it might not be shown by default, in which case you have to go into "Customize"
#
bear
do I need to adjust the manifest
#
aaronpk
looks like it worked for me! minus a little fighting with my noscript plugin
#
bear
oh I see - it uses the quill site but I could change it to mine if I had one
#
bear
trying to use persona and persona's popup isn't fully loading
#
aaronpk
huh, that's actually the one I used to sign in just now
#
bear
the persona pop up loads but it has no fields and only a footer
#
aaronpk
weird. totally looks fine for me
#
aaronpk
also you can sign in to quill outside the share thing
#
bear
yea, was just testing it
snarfed and frzn joined the channel
#
GWG
Evening, all
awolf joined the channel
#
aaronpk
bear: do you have any experience with etcd?
#
Jeena
bear I had the same problem just not with persona on this
KartikPrabhu joined the channel
#
bret
cool kylewm didn know about that
snarfed joined the channel
#
GWG
Anyone have any exciting Indieweb plans for the evening?
snarfed joined the channel
#
ben_thatmustbeme
i do have to stay up late tonight working on something
#
ben_thatmustbeme
so ya never know
#
ben_thatmustbeme
i did add a new post type last night GWG
#
GWG
ben_thatmustbeme: Yes, I think I caught it
#
ben_thatmustbeme
what is a snark
#
ben_thatmustbeme
a snark is an experimental post type to denote a sarcastic post. see https://twitter.com/OhMeadhbh/status/622189087550631937
#
@OhMeadhbh
when i build my own twitter replacement, it's going to have a "snark" check-box so you can denote when you're being snarky.
(twitter.com/_/status/622189087550631937)
#
ben_thatmustbeme
what is a snark
#
ben_thatmustbeme
snark is an experimental post type to denote a sarcastic post. see https://twitter.com/OhMeadhbh/status/622189087550631937
#
@OhMeadhbh
when i build my own twitter replacement, it's going to have a "snark" check-box so you can denote when you're being snarky.
(twitter.com/_/status/622189087550631937)
#
aaronpk
I think Loqi is catching the twitter expansion before the wiki hook
#
Loqi
woot!
#
ben_thatmustbeme
a snark is an experimental post type to denote a sarcastic post.
#
loqi.me
created /snark (+89) "prompted by ben_thatmustbeme https://indiewebcamp.com/irc/2015-07-18/line/1437269917875 and dfn added by ben_thatmustbeme"
(view diff)
rbrt joined the channel
#
Jeena
Do we have "poke" as a post type too?
#
aaronpk
haha i don't think anyone has done that yet
#
aaronpk
but there was an indie "yo" at one of the IWCs
#
Jeena
what is yo
#
Loqi
Yo is an app for sending your contacts the text "Yo" https://indiewebcamp.com/Yo
mdik joined the channel
#
GWG
I have plans to write some post types code, but still percolating on design.
#
snarfed
the irc log during the bridgy outage today is kinda hilarious :P
#
snarfed
kylewm++ for good firefighting!
#
Loqi
kylewm has 191 karma
#
GWG
I missed it all
#
snarfed
me too
#
snarfed
logs++
#
Loqi
logs has 5 karma
#
GWG
snarfed: How do I ask you about the micropub stuff without pestering you?
#
snarfed
GWG: lol, no need, the PR is on my todo list
#
snarfed
i can look now
#
GWG
snarfed: I don't want to rush you. Just I paused the work so I would't have too big a dump on you.
#
GWG
Next is Implied Post Types, Post Formats, and Post Kinds.
#
snarfed
GWG: no need to pause work! you can make a new branch from the PR and keep working
#
GWG
snarfed: I know. I just figured I'd give you time. Again, trying to avoid pestering.
scor joined the channel
#
GWG
I figured I'd work on the Post Kinds side, with code I'll use later to interface with the Micropub plugin
#
GWG
So, effectively same thing
schmarty, rbrt and j12t joined the channel
#
snarfed
i haven't kept up with micropub changes since i wrote this
#
snarfed
hey aaronpk etc, is https://indiewebcamp.com/micropub up to date?
scor joined the channel
#
GWG
snarfed: I found a few things that people were doing that were non-standard as well.
#
Jeena
snarfed aaronpk had to restructure the IndieAuth part on the IWC http://indiewebcamp.com/Category:IndieAuth because 3 of us tried to get micropub working but it was difficult to get the first step done, the authentication
#
snarfed
thanks Jeena! i'm actually mostly interested in the non-auth parts
#
aaronpk
snarfed: yes it is! and actually reflects my latest implementation of a micropub endpoint as well
#
snarfed
great, thanks!
#
aaronpk
the only part that is somewhat in flux is the "mp-syndicate-to" bit
#
snarfed
ah, got it
#
GWG
snarfed: I implemented syndicate-to and made mp-syndicate-to an alias to it. Easy to swap the other way
cmhobbs joined the channel
#
snarfed
backwardcompatibility++
#
Loqi
backwardcompatibility has 1 karma
#
snarfed
also aaronpk thanks for the css PR! i'll look soon. and if you do want to tackle how it generates markup, it's all in https://github.com/snarfed/granary/blob/master/granary/microformats2.py
#
GWG
snarfed: I forgot to merge the commits when I made the change.
#
snarfed
GWG: just push to the PR branch, they'll show up
#
snarfed
…oh you did it in master. that'll still work, but you'll want to use a branch next time
#
GWG
snarfed: I did. I switched the whitelist to showing everything.
#
GWG
snarfed: I know. I don't do much branching. I have to learn to work better with others.
j12t joined the channel
#
snarfed
oh, sorry, i misunderstood. nm. ok!
#
GWG
snarfed: I just realized storing all variables means it stores the access token.
#
snarfed
lol, yeah, we need to blacklist a few
#
snarfed
also GWG if you plan to keep sending PRs, i'd love to see a unit test suite eventually!
#
GWG
snarfed: I'll have to figure out how to write one of those.
schmarty joined the channel
#
snarfed
thanks! i'm sure there's a common php+wp way
#
GWG
I'll try to find a tutorial.
#
GWG
My approach so far has been testing using micropub clients
#
GWG
That's why I filed an issue against Quill
#
snarfed
testing++
#
Loqi
testing has 6 karma
#
GWG
That's how I realized that having a query string for your endpoint means that querying it is an issue.
#
GWG
ben_thatmustbeme was able to fix that in Postly already
#
aaronpk
snarfed: oh cool thanks
#
Jeena
How coo! I used kylewm's firefox thing for sharing to reply to a twitter message on my website without using my own frontend and it shows up on twitter and everything, amazing! https://twitter.com/cjk101010/status/622592624382373892
KartikPrabhu and j12t joined the channel
#
ben.thatmustbe.me
edited /snark (+379) "snark info"
(view diff)
#
ben_thatmustbeme
GWG, yeah it was a fairly quick fix
#
GWG
ben_thatmustbeme: Just was more annoyed it took me that long to figure out what the issue was so I could file it.
j12t joined the channel
#
ben_thatmustbeme
yeah, i'm sure i make that assumption in other places
#
ben_thatmustbeme
did you try mobilepub
#
GWG
ben_thatmustbeme: Not yet.
#
ben_thatmustbeme
i should check the code there
#
snarfed
GWG: curious, how did you decide to return the q=syndicate-to response as url-encoded with php array syntax?
#
snarfed
https://indiewebcamp.com/micropub#Querying doesn't say anything about the response
#
GWG
I thought that was what it was supposed to be?
#
GWG
It seemed to work in testing with Postly, as the only client that works with queries.
#
snarfed
oh it may be! i don't know. i'm asking how you know :P
#
snarfed
ahh i see, it's what postly does
#
GWG
Also, everything else seemed to be urlencoded, so I figured..
#
snarfed
i don't actually see much at all specified about responses, right? definitely not url-encoded?
#
snarfed
i'm fine with it, just curious
#
snarfed
could you and aaronpk and ben_thatmustbeme agree on that and add it to the spec?
#
snarfed
(ie the q=syndicate-to response format)
#
GWG
ben_thatmustbeme: What is your take?
#
GWG
(I think he's still here)
#
ben_thatmustbeme
ahh, yes, i don't think i'm the only one to do that. I think aaronpk does it too, many require a token to get that though
#
ben_thatmustbeme
so it was said to keep everything in form encoded as that was the default
#
ben_thatmustbeme
with postly, if you send a request for json it should return it as json too
#
GWG
aaronpk returns everything as content type application/x-www-form-urlencoded
#
snarfed
thanks guys! it'd be good to say that officially in https://indiewebcamp.com/micropub#Querying
#
snarfed
(and the expected param name, and that it's php array syntax, etc)
#
GWG
I think the array syntax is a definite. Everything else is
#
david.shanske.com
edited /Micropub (+297) "/* Querying */"
(view diff)
#
GWG
There was an example in the brainstorming section
#
snarfed
GWG: thanks for the edit!
schmarty and schmarty1 joined the channel
#
ben_thatmustbeme
things probably got a bit muddied when we split it out to the two pages
#
ben_thatmustbeme
thats probably where that info got missed
#
snarfed
thanks for working on this btw, GWG! i definitely appreciate the updates
#
GWG
snarfed: I'm incorporating your feedback.
#
snarfed
thanks!
#
GWG
Pushed
#
GWG
I also added that blacklist
#
GWG
It won't store the access token anymore
nedsauce joined the channel
#
snarfed
thanks!
#
snarfed
GWG: looking good! i think one last round of feedback, and one last round of manual testing to confirm everything still works after the changes, and it'll be good to go
#
GWG
I'm working on the readme now
scor joined the channel
#
snarfed
GWG: could you also document the new filters and mention them in the changelog?
#
GWG
snarfed: Anything else that needs to be blacklisted by default?
#
GWG
Other than the access_token?
#
GWG
I can't think of anything right now.
#
GWG
I have one more thing I probably should add. Pushing now.
#
GWG
snarfed: Should be done for now.
#
snarfed
GWG: thanks! all i have left is a few small readme tweaks
#
GWG
snarfed: I'll be back next week with 0.5
#
snarfed
mind manually testing everything again, both new and existing features? just to make sure we didn't break anything with the review feedback
#
GWG
snarfed: This is version 0.4
#
GWG
It posts using Quill
#
snarfed
great! i'm guessing editing with u= doesn't work just yet though
#
GWG
I didn't do anything with that.
#
GWG
Oh, that
#
GWG
I think it only shows url= right now
#
snarfed
GWG: sorry, i don't understand
#
GWG
snarfed: I think I reverted the u= change because the spec is unclear on it
#
snarfed
it looks like it's actually now edit-of=, not u= ? https://indiewebcamp.com/micropub#Update
#
GWG
That is why I got confused about it
#
snarfed
seems like it just changed from url= to edit-of= . not too confusing
#
GWG
There.
#
snarfed
GWG: thanks! we still want to be backward compatible w/url= though
#
snarfed
also line 135, missing an f
#
GWG
Fixed the typo, added the conditional
#
GWG
i will have to test editing a bit more.
#
snarfed
thanks!
#
snarfed
testing++
#
Loqi
testing has 7 karma
#
snarfed
looking forward to the unit tests before the next PR! :P
#
GWG
snarfed: As soon as I learn. Is this PR done though?
#
snarfed
GWG: getting close!
#
snarfed
have you manually tested url=, edit-of=, and q= ?
#
GWG
q= Yes.
#
GWG
But not url or edit-of.
#
GWG
I haven't done any editing at all
#
GWG
Let me do one now
#
snarfed
please do test them
#
snarfed
thanks!
#
GWG
edit-of does not work as per spec. It may never have
#
snarfed
can you elaborate? do you mean the update, add, and delete params don't work?
#
snarfed
if so, that's ok, we just want edit-of to work like url currently does
#
GWG
It does.
#
GWG
But the url one didn't work properly
#
GWG
It overwrites the published time.
#
snarfed
ah. that was an existing bug? that's fine, we can fix that later
#
snarfed
otherwise updating with url= and edit-of= both work?
#
GWG
Yes. It also overwrites previously set fields if the new ones are blank.
#
GWG
Yes.
#
snarfed
huh, i thought the PR prevents writing blank values
#
snarfed
looking
#
GWG
I'd suggest reading the existing post out, and merging the two arrays.
#
GWG
That is for post meta, not for the post args
#
snarfed
confused
#
snarfed
but no matter
#
GWG
I'll save that for a future PR
#
snarfed
the last thing to do is squash commits
lukebrooker joined the channel
#
GWG
Squashed
scor joined the channel
#
snarfed
looks great GWG, merging now. congrats!
#
GWG
Next, I have to figure out a simple way to write out the massive list for implied post types.
lukebrooker joined the channel
#
snarfed
GWG: maybe unit tests before that? they'll let you skip all the manual testing :P
#
GWG
I have to learn how to write those. Which means I have to find some literature.
#
snarfed
sure! very doable
#
GWG
One is a problem I can think about, the other is a problem I can't think about till I have some more knowledge.
#
snarfed
true! but the tests will give us both more confidence that everything keeps working through the rest of your upcoming PRs
#
snarfed
especially since i don't actually use micropub much, so i wouldn't notice otherwise if it breaks
#
GWG
snarfed: My intention is to get it to the point I could use it.
#
snarfed
understood!
#
GWG
On that note, I'm going to sleep on i
loic_m and evalica joined the channel
awolf, evalica, eschnou, catsup, tvn, loic_m, KartikPrabhu, schmarty, scor and frzn joined the channel
catsup joined the channel
catsup, loic_m, lukebrooker, evalica, tvn, eschnou and KartikPrabhu joined the channel
catsup and evalica joined the channel
#
GWG
ben_thatmustbeme: Why do you send title as opposed to name, which is in the examples?
catsup joined the channel
#
ben_thatmustbeme
oh, is that the correct value?
#
ben_thatmustbeme
that would make sense, since its the correct way to do it in mf2
catsup joined the channel
#
seekr
waves at ben_thatmustbeme and hopes to chat about a f2f meeting soonish (?)
evalica joined the channel
#
GWG
ben_thatmustbeme: Want me to file an issue?
#
GWG
Filed
#
GWG
ben_thatmustbeme: What does your client use for editing? Edit-of?
evalica, catsup and snarfed joined the channel
#
ben_thatmustbeme
GWG, no, just url and mp-action=edit
#
ben_thatmustbeme
i don't do so called "edit' posts
#
GWG
ben_thatmustbeme: The spec no longer shows url=, it shows edit-of as the reserved property.
fkooman, catsup and evalica joined the channel
#
ben_thatmustbeme
is getting annoyed with things being added to the "spec" without the reasoning behind them
#
ben_thatmustbeme
i guess if you wanted to change the permalink of the post
#
ben_thatmustbeme
seems like something you shouldn't do
evalica and catsup joined the channel
#
GWG
I'm confused again
evalica, Pierre-O and catsup joined the channel
#
voxpelli
I guess the Micropub spec is still pretty young so things should be expected to change as more experience is gathered from additional implementations?
#
ben_thatmustbeme
its started going too fast for me to keep up
#
ben_thatmustbeme
i don't read all the logs in IRC any more
#
ben_thatmustbeme
its too much with working too
#
ben_thatmustbeme
i'm guessing a good bit of the changes are coming from activity pump comparison
catsup joined the channel
#
voxpelli
I rarely have time to read any of the logs, I just keep working in my part of the indieverse and sync up with the rest every now and then :)
#
GWG
I need to figure this out, I guess
#
voxpelli
but a good argument to get automated test tools, so we can all easily check whether we need to change something in our endpoints or clients
evalica joined the channel
#
GWG
voxpelli: I'm not sure I'm the best person to write them.
#
voxpelli
GWG: I may take a stab at it, but not sure I have the time to get something out soon
#
GWG
I just keep discovering different issues.
#
GWG
For example, now this editing issue.
#
GWG
Who, other than ben_thatmustbeme, supports editing in their client?
#
ben_thatmustbeme
don't know of anyone
#
ben_thatmustbeme
thats why it annoys me if it changes without me knowing
evalica and catsup joined the channel
#
GWG
ben_thatmustbeme: My problem keeps being that I think I'm making a mistake, when I'm coming up against differences in implementation
#
GWG
Which aren't anyone's fault, but confusing me.
#
ben_thatmustbeme
ahh, not likely
#
voxpelli
ben_thatmustbeme: your entry on the client list on the micropub list doesn't say that you support edits btw
#
snarfed
testing++ GWG voxpelli!
#
Loqi
testing has 8 karma
#
voxpelli
I find the currently documented edit API a bit odd – because the form-encoded values all of the sudden mimics the JSON-format rather than the format of form-encoded creates
#
GWG
snarfed: My testing is stymied by this issue though.
#
GWG
I think we need to agree on the edit API before I try to improve edit support.
#
GWG
So, maybe I should just focus on create right now
#
snarfed
GWG: i haven't followed what "this issue" is, but adding unit tests to the existing code should be doable without solving any new issue
#
voxpelli
GWG: by the edit issue? if so: hard to test something that it seems that no one really supports. If there's no support for a spec, does that spec really exist? And can one test something that doesn't really exist? ;)
#
snarfed
heh, we're just talking about unit tests for existing code. (or at least i am.) voxpelli you're probably talking about something bigger that you can run against any server or client
#
voxpelli
snarfed: yep, as that's the only way we can ensure conformance between many different implementations
#
snarfed
both would be good!
#
GWG
snarfed: The issue is still the same. ben_thatmustbeme is the only one supporting edits I've noticed so far in his client, and his implementation doesn't match the one in the wiki.
#
voxpelli
snarfed: so something like https://github.com/voxpelli/node-webmention-testpinger but for micropub is what I'm thinking
#
GWG
So, trying to test we're accepting the right requests is hard for that reason.
#
snarfed
GWG: sure, understood. worth solving! independently, it'd be worth writing unit tests. they're unrelated.
#
ben.thatmustbe.me
edited /Micropub (+55) "/* Postly */ mention edit ability"
(view diff)
catsup joined the channel
#
snarfed
even if we just added unit tests for all the non-edit functionality, that'd be hugely valuable
#
snarfed
voxpelli++
#
Loqi
voxpelli has 30 karma
#
voxpelli
my endpoint currently solves "editing" by simply replacing any existing document if someone tries to create it again
#
ben_thatmustbeme
voxpelli: do you pull in all data from the old post to make it easier
#
GWG
ben_thatmustbeme: That is what your edit functionality does as well
#
voxpelli
ben_thatmustbeme: I just create a new file from scratch and let that file replace the old one – no pulling of data – so the client has to have persisted some stuff in itself, like the Editorial.app workflow I created does
tilgovi and catsup joined the channel
#
ben_thatmustbeme
voxpelli: i don't pull from the db directly, what i do is passing a url to the client, will have the client poll and parse the mf2 of the post and then prefill the fields
#
ben_thatmustbeme
at least as best it can
#
ben_thatmustbeme
lets me put "edit" links when i log in to my own site
#
voxpelli
ben_thatmustbeme: right, that makes sense on the client side, and then just like I'm doing – make a replace on the server side
#
voxpelli
btw, the relevant change around edits from the Micropub wiki page: http://indiewebcamp.com/wiki/index.php?title=Micropub&diff=prev&oldid=20148
#
voxpelli
aaronpk made a change a
#
voxpelli
a change at 24:th of june
#
ben_thatmustbeme
aaronpk never did like the idea of explicit crud
#
ben_thatmustbeme
ahhhh, i see
#
ben_thatmustbeme
but delete vs delete-of
#
ben_thatmustbeme
so now dropping all mp- prefixes
catsup joined the channel
#
aaronpk
my ears were burning
#
ben_thatmustbeme
i had solved that with mp-action...
#
voxpelli
really? dropping all mp- prefixes? I thought such prefixes made sense, to differentiate between directives made to the micropub endpoint itself and directives that are part of the actual content
#
ben_thatmustbeme
i actually updated everythign to use mp-syndicate-to
#
ben_thatmustbeme
mp-url is wrong though as u-url is a property of the object
#
aaronpk
the edit syntax is derived from the idea of "edit posts"
#
voxpelli
In my endpoint I include all non-mp prefixed data in the post files
#
aaronpk
i thought i had an example of showing that derivation on the wiki, but can't find it
#
snarfed
GWG: so far i've found https://make.wordpress.org/core/handbook/testing/automated-testing/ and https://wordpress.org/plugins/presstest/ , neither of which is exactly what we want - we want something for plugins that we can run from the command line - but they could be good leads
#
ben_thatmustbeme
seemed like a good seperation of concerns
#
ben_thatmustbeme
an actual place where namespacing makes sense
#
ben_thatmustbeme
i thought the idea was concensus from the community before making changes to a spec
#
voxpelli
snarfed: GWG: this boilerplate contains a PHPUnit setup: https://github.com/frozzare/wp-plugin-boilerplate
#
snarfed
voxpelli: ooh perfect thank you! does it set up test db tables too? or mock the db? or…?
#
ben_thatmustbeme
don't remember seeing any of that in the brainstorming first
catsup joined the channel
#
ben_thatmustbeme
clearly it wasn't if "this has been solved by X change to the spec"
#
aaronpk
i went back and forth on this with tantek a bunch
#
voxpelli
snarfed: not sure – I know the guy that has created those repos, but never actually used them myself – I think he will happily answer questions (but he may be on vacation now of course)
#
ben_thatmustbeme
tantek doesn't implement micropub though
#
aaronpk
oh here it is
#
voxpelli
aaronpk: on the question that GWG had: does any client actually implement these edits? so one can have a client to try with?
#
ben_thatmustbeme
so wait, we are doing edits via as2 now?
#
aaronpk
as2 what?
#
snarfed
lol that'd be the day
#
aaronpk
voxpelli: i don't think so. i was testing my development of a micropub endpoint with curl commands
#
voxpelli
snarfed: GWG: the official Twitter WordPress plugin also has tests, might be worth looking at as well: https://github.com/twitter/wordpress
#
ben_thatmustbeme
thats what the looks like
#
aaronpk
i don't know why you think that looks like as2
#
voxpelli
ben_thatmustbeme: edits makes use of the mf2 JSON-data format
#
ben_thatmustbeme
oh thats just posting an "edit post"
#
aaronpk
the idea is you create an "edit" post which describes what changes in the thing you're editing
#
aaronpk
you don't actually have to create the edit post. the micropub syntax for edits is derived from this "edit post", basically a trimmed down version of it, similar to how creating a post is a trimmed down version of an mf2 h-entry
#
ben_thatmustbeme
"Consumers of this post must act only on non-empty property values on the object embedded on the "p-update" property. " made me think you are proposing this h-entry to cause the edit
#
ben_thatmustbeme
it does move toward unification i suppose
#
aaronpk
you certainly *can*
#
aaronpk
and the nice thing is that you can then use the same logic to handle parsing an edit post and parsing a micropub request
#
voxpelli
I think I like this (would still keep mp- prefixes for eg. syndicate-to and such though I think)
#
raucao
was there any progress with private sharing (groups or sth else) after Düsseldorf?
#
aaronpk
so you are one step closer to being able to accept "pull requests" from edit posts
#
aaronpk
raucao: yeah most of it is documented here http://indiewebcamp.com/private-webmention
#
voxpelli
aaronpk: except that edits use the JSON-data format in a form-encoded format which makes it pretty different from a normal form-encoded micropub-reqiest, no?
#
raucao
aaronpk: cool, thanks21
#
aaronpk
voxpelli: yeah the challengs is there isn't a good non-nested form-encoded syntax for edits
#
voxpelli
aaronpk: for consistency I would change the normal creates to the same format as well
#
voxpelli
right now I represent everything as the JSON objects internally in my endpoint, and convert all form-encoded object to the JSON-style
#
voxpelli
now I would have to expect two different formats for the form-encoded formats
#
aaronpk
voxpelli: it's actually pretty simple
#
aaronpk
form-encoded create requests have all properties of the post in the request body, except the "h" value. json-encoded create requests have all properties under the "properties" key
#
aaronpk
my endpoint actually has the same code handling the create logic, i just pass it either $_POST or $request->properties
#
voxpelli
yes, and form-encoded edits also have all properties under a properties key then?
#
ben_thatmustbeme
aaronpk: "pull requests" for you posts? does any social network do that?
#
aaronpk
form-encoded and json-encoded edits use the same serialization
#
aaronpk
ben_thatmustbeme: Github
#
snarfed
also google docs etc
#
voxpelli
ben_thatmustbeme: all my micropub actions are added as commits to a git branch somewhere ;)
#
ben_thatmustbeme
voxpelli: well, thats a matter of internal data structure :P
#
GWG
watches the chatter
#
snarfed
i think wordpress may also let you propose line-level changes to posts. not sure
#
ben_thatmustbeme
i'm just thinking if facebook allowed people to 'suggest an edit' how insanely terrible it would be
#
voxpelli
ben_thatmustbeme: could actually be used by an editor to pull content live from authors
#
snarfed
ben_thatmustbeme: true! fortunately we can learn from more silos than just FB :P
#
ben_thatmustbeme
snarfed: s/facebook/twitter s/facebook/google+ s/facebook/anything that isnt' editing code
#
ben_thatmustbeme
or documents (google docs)
#
snarfed
or posts (wordpress) ?
#
snarfed
code + docs + posts is a pretty damn big space :P
#
ben_thatmustbeme
can you propose edits to posts in WP?
#
snarfed
i mentioned that i think so above ^^^
#
ben_thatmustbeme
scrolls back
#
ben_thatmustbeme
i'm doing a data migration today for work
#
snarfed
not guaranteed
#
ben_thatmustbeme
so missing section
#
snarfed
hoo boy, migrations. always fun/painful. break a leg!
#
ben_thatmustbeme
yeah, but we are finally getting to toss out the idiot former co-workers code
#
ben_thatmustbeme
if all goes well
#
snarfed
ben_thatmustbeme++
#
Loqi
ben_thatmustbeme has 104 karma
#
ben_thatmustbeme
he put everything in a seperate DB that had nothing to do with the original, and he clearly did not know how to design a DB.... or organize code
#
snarfed
such minor details!
#
ben_thatmustbeme
okay, silo examples, i take it back
#
ben_thatmustbeme
never seen that before
#
ben_thatmustbeme
snarfed: also not any sort of straight migration.. a whole bunch of ruby code to translate structure
#
ben_thatmustbeme
and consume things like changes to customer data being stored a html in the db...... rather than fields and generating the html on output
#
ben_thatmustbeme
which means there are entries that are wrong
scor joined the channel
#
bret
So in micropub, where you accept a JSON body instead of urlencoded
#
bret
there is no suppored way to handle files?
#
bret
it dosnt really make sence to shove JSON into multipart
#
bret
eg, nobody is supporting base64 encoded images or anything like that?
#
voxpelli
bret: yeah, I think JSON + multipart isn't supported
#
voxpelli
I'm not supporting it at least
#
voxpelli
(working on file uploads right now)
#
bret
there might be better multipart handlers
#
voxpelli
bret: yep, I've used that before and now uses it through https://github.com/expressjs/multer
awolf and chreekat joined the channel
#
KevinMarks_
data URLs inside the content body work. kinda sketchy, but they do work.
#
bret
KevinMarks_: you mean like a URL pointing to an image hosted elsewhere?
#
KevinMarks_
you could check for them and put them in your own storage instead...
#
bret
inside a JSON body?
#
KevinMarks_
no I mean an inline data: URL for an image. Quill editor sends them
tantek joined the channel
#
bret
KevinMarks_: oh hrmm i haven't inspected the Quill Article editor
#
bret
requests
#
KevinMarks_
the images in that were sent as data: from quill editor
#
bret
KevinMarks_: are they based64 encoded?
#
bret
ohhh
#
bret
crap
#
bret
voxpelli: ^^
#
Loqi
lolz
#
KevinMarks_
as I said, not ideal, but backwards compatible
#
bret
KevinMarks_: what would be better?
#
bret
multipart
#
voxpelli
well, data:uri:s in image tags is more a kind if HTML-data than file data :P so I will probbaly leave them alone
schmarty joined the channel
#
voxpelli
multipart is better as one can stream upload those directly to disk or cloud service without ever keeping them in memory or such
#
bret
is there an S3 or flicker Writable Stream package?
#
voxpelli
what I did at my previous Busboy-project was that I streamed the upload directly to Cloudinary
#
bret
cool
KevinMarks joined the channel
#
bret
voxpelli: did file.pipe(stream) not work?
#
voxpelli
bret: not sure, wrote that 2 years ago + haven't done that much with node's streams
#
bret
i think that might be some suguar to make streams more streamy
#
bret
KevinMarks_: the alternative to is just embedding external images on authorship
ttepasse, snarfed, Rev_Illo and mdik_ joined the channel
#
GWG
returns from lunch and catches up
Rev_Illo joined the channel
#
GWG
Was there actually a consensus
raucao joined the channel
#
KevinMarks
Yes, that works too - imgur your way through (or svgur.com l
#
tantek
digging up a little # FSWS2010 history (Twitter search), and found this quote (which I do remember saying, just didn't have a citation for it before!) https://twitter.com/walkah/status/18857817565
#
@walkah
"indie web first, oligarchies second" /via @tantekcom #fsws2010
(twitter.com/_/status/18857817565)
schmarty and awolf joined the channel
#
tantek
good day ben_thatmustbeme
#
GWG
I keep sending snarfed pull requests over unit tests. I'll get there, but I just fixed some nagging behaviors.
#
ben_thatmustbeme
tantek: you see my new post type? hehe
#
ben_thatmustbeme
what is a snark?
#
Loqi
snark is an experimental post type to denote a sarcastic post https://indiewebcamp.com/snark
#
GWG
ben_thatmustbeme: Can I send you a snark about my feelings on snarks?
#
kylewm
thinking about person tagging... i'm considering "upgrading" any regular tag to a person tag if the name matches the name of a contact
#
aaronpk
Yeah I definitely don't want to go down the route of trying to do file uploads with JSON requests
#
kylewm
any raeson that shouldn't work? like "tantek" always gets upgraded to an h-card
#
tantek
kylewm: that sounds like a reasonable UI - but I wouldn't do it serverside
#
tantek
such person-name auto-suggest UIs are fairly common on various silos, yet they always give you the ability to just have the plain text
#
kylewm
so server side you'd recommend storing it more explicitly
#
kylewm
rather than the implicit "if these two things happen to match up"
#
tantek
right - I don't think the server should try to be "intelligent" like that, but rather build such intelligence into the interactive client so the user can make an explicit choice (and have it be respected by the server)
#
ben_thatmustbeme
indeed, client side is a lot better
#
aaronpk
I was struggling earlier trying to decide whether to store person tags in a separate list from regular tags
#
kylewm
what'd you decide aaronpk?
#
tantek
no need - as you can store them just as URLs alongside non-URL tags
#
ben_thatmustbeme
aaronpk: i went with storing in the same list, but flagging it as a tag
#
tantek
if you like, you can *cache* the person-tagness (name, photo etc.) next to the URLs
#
aaronpk
I can see doing it both ways. I decided to store them separately so my logic in the templates is simpler
#
aaronpk
Since I show them in separate lists
#
ben_thatmustbeme
i show them in the same list, so it made sense to keep them together
scor joined the channel
#
kylewm
do either of you cross-reference tags to your contacts-list thing?
#
GWG
Post Kinds thinks everything coming in from Micropub is an RSVP. Think I need to switch projects for a bit.
#
aaronpk
kylewm: I don't yet but only because I was in a rush doing it and only show the URL right now. Planning on looking up the URL in my nicknames cache to display the tag better soon
#
emmak
what about uploading photos and media separately from the post?
#
kylewm
has decision paralysis, will come back to this later
frzn joined the channel
#
ben_thatmustbeme
kylewm: not yet, but definitely on my to-do list
#
aaronpk
emmak: there should be no problem referencing a URL in the "photo" property
#
aaronpk
If you don't do anything special, and just store Micropub values as they come in, it will Just Work
schmarty joined the channel
#
GWG
aaronpk: You still need to know how to display the properties, don't you?
#
aaronpk
Yes but that can happen when the post is being rendered
#
emmak
a client could publish a jpg binary, save the returned "location" header, then make a json post with photo property set to that location
#
kylewm
presumably that's the kind of think you'd want to do to support storing photos in S3 or something
#
aaronpk
Yep I expect some clients/servers to do that for sure
#
voxpelli
emmak: I think I saw somewhere around Micropub that one should support plain URL:s as input in addition to file uploads
#
voxpelli
then how one makes a file available on that URL is up to oneself more or less
#
aaronpk
I was actually considering making the Quill editor do that, rather than the crazy data uri thing it does now
#
voxpelli
I'm creating supports for files mostly because OwnYourGram is sending them and it felt like a good tool to support :P
#
emmak
what is data uri?
#
aaronpk
data uri is a syntax for embedding file data (usually images) in an HTML img tag
#
loqi.me
created /data_uri (+107) "prompted by emmak https://indiewebcamp.com/irc/2015-07-19/line/1437328964505 and dfn added by aaronpk"
(view diff)
#
aaronpk
Feel free to expand :-)
#
emmak
thanks :)
#
emmak
that is cool you can start a wiki entry just by talking to loqi
#
Loqi
who, me?
#
KevinMarks_
the data uri is an interesting fallback
#
KevinMarks_
that it worked from quill through silo.pub was neat
#
voxpelli
it's a neat way of making self-contained html-pieces
#
KevinMarks_
hm, if a micropub endpoint parses for img URLs, fetches them and stores them in its own store, then using data: or an intermediate upload service ends up equivalent
squeakytoy2 joined the channel
#
@t
5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro ... http://tantek.com/2015/200/t1/fsws2010-inspiration-indiewebcamp
(twitter.com/_/status/622834198383038464)
#
tantek
unintended typo: interopeerable - interoperable peer to peer
#
@evanpro
RT @t: 5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro ... http://tantek.com/2015/200/t1/fsws2010-inspiration-indiewebcamp
(twitter.com/_/status/622834718053019648)
#
@codebear
RT @t: 5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro ... http://tantek.com/2015/200/t1/fsws2010-inspiration-indiewebcamp
(twitter.com/_/status/622835312973230085)
#
bear
that was a great meeting
#
tantek
bear - looking at the photos made me nostalgic, and realized that I'd used the wrong tag on mine in Flickr! (now fixed obv) https://www.flickr.com/photos/tags/fsws2010/interesting/
#
bear
that is when I met most of you for the first time
#
tantek
I think I'm going to leave that typo in just for the subtle lol
#
bear
I love that typo
#
GWG
I remember the day I met bear and tantek.
#
GWG
It was a magical experience
#
tantek
!tell kylewm been playing with Woodwind, noticed a few things. 1) subscribe to a domain (kylewm.com) errors w/o http:// in front, 2) long URLs in posts causes horizontal scroll, 3) could use white-space:prewrap for displaying notes with higher fidelity.
#
Loqi
Ok, I'll tell them that when I see them next
#
tantek.com
edited /mobile (+449) "document challenges, long URLs causing horizontal scroll, solution"
(view diff)
#
tantek.com
edited /mobile (-13) "/* long URLs causing horizontal scroll */ -tags"
(view diff)
#
tantek
!tell kylewm here's the CSS for getting longURLs to linewrap more nicely: https://indiewebcamp.com/mobile#long_URLs_causing_horizontal_scroll
#
Loqi
Ok, I'll tell them that when I see them next
#
kylewm
tantek: cool thanks for the feedback! definitely want to avoid horizontal scroll. I saw those errors in the logs trying to subscribe to schemaless domains. I thought <input type="url"> was doing input validation on those for me, does noscript bypass that?
#
Loqi
kylewm: tantek left you a message 6 minutes ago: been playing with Woodwind, noticed a few things. 1) subscribe to a domain (kylewm.com) errors w/o http:// in front, 2) long URLs in posts causes horizontal scroll, 3) could use white-space:prewrap for displaying notes with higher fidelity. http://indiewebcamp.com/irc/2015-07-19/line/1437332112069
#
Loqi
kylewm: tantek left you a message 2 minutes ago: here's the CSS for getting longURLs to linewrap more nicely: https://indiewebcamp.com/mobile#long_URLs_causing_horizontal_scroll http://indiewebcamp.com/irc/2015-07-19/line/1437332340874
#
tantek
not all browsers support input type="url", and you must always do input validation on the server regardless since form submissions can be faked
#
tantek
the /Monocle code seems to handle subscribing to schemeless domains
#
kylewm
ok good to know. what browser were you using out of curiosity?
#
tantek
mobile safari / iOS 8
#
tantek
(so reasonably new)
#
tantek
I'm not a huge fan of the draconian UI imposed by input type=url FWIW
#
kylewm
hehe, yeah it feels like the 90s
#
tantek
input type=url is fixable however, using JS
#
tantek
see the example use of <input type="url"> here http://tantek.com/relmeauth/ and the inline <script> that makes it friendlier! (i.e. you can type in kylewm.com and it won't complain)
#
tantek
(I really should just blog that solution)
#
tantek
(too many things to blog!)
#
@kevinmarks
“there’s no realistic hope that websites will actually improve from here.” @felixsalmon misses the #indieweb of hope http://www.theguardian.com/media/2015/jul/19/ad-tech-online-experience-facebook-apple-news?CMP=indieweb
(twitter.com/_/status/622845598761259008)
#
KevinMarks
You should. Or suggest it to the html spec
#
Loqi
definitely
#
tantek
ok added it to my blog-this.txt queue :)
#
@rejon
RT @t: 5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro ... http://tantek.com/2015/200/t1/fsws2010-inspiration-indiewebcamp
(twitter.com/_/status/622846977722593280)
eschnou joined the channel
#
@nickreynoldsatw
RT @kevinmarks: “there’s no realistic hope that websites will actually improve from here.” @felixsalmon misses the #indieweb of hope http:/…
(twitter.com/_/status/622850097534136320)
loic_m, KartikPrabhu and scor joined the channel
#
KevinMarks
I should blog the fragment links to things with floating headers thing
MMN-o, KartikPrabhu, schmarty, squeakytoy3 and mapkyca joined the channel
schmarty1, MMN-o, cweiske, chreekat, eschnou and MMN-o_ joined the channel
#
KevinMarks_
if I have a website that is static pages, should i mark it up as h-entry?
#
bret
KevinMarks_: what do you mean?
#
bret
example?
#
KevinMarks_
well, it's site for may wife's teaching business, wiht 4 pages
#
KevinMarks_
headsuptutoring.com
#
KevinMarks_
when it was one page h-card made sense
#
KevinMarks_
now I'm not quite sure.
#
bret
¯\_(ツ)_/¯
#
bret
whats the use case?
#
bret
;shrug
#
bret
oops
KevinMarks__ joined the channel
#
kylewm
grrr, i have some python code for calling the flickr api. it works fine on the command line, but when i run it inside appengine it gives Permission denied
#
kylewm
oauth1--
#
Loqi
oauth1 has -2 karma
KartikPrabhu, MMN-o, snarfed and g3funk joined the channel
#
cweiske
shouldn't that be yourpythonflickrapi-- or flickr-- instead of bashing a protocol?
#
Loqi
slack/snarfed: it seems pretty generally accepted that oauth1 is harder to use than oauth2
MMN-o joined the channel
#
Loqi
slack/snarfed: not "bashing" necessarily; oauth1 was a huge achievement and step forward!
#
GWG
snarfed, saw your message, by the way
ttepasse_ joined the channel
#
Loqi
slack/snarfed: hey, good!
#
kylewm
cweiske: maybe, the fault could be with python or flickr or whatever. but oauth1 is what makes it opaque and difficult to debug
#
@funkyfoe
RT @kevinmarks: “there’s no realistic hope that websites will actually improve from here.” @felixsalmon misses the #indieweb of hope http:/…
(twitter.com/_/status/622872702496456705)
MMN-o and chreekat joined the channel
#
@jimpick
RT @kevinmarks: “there’s no realistic hope that websites will actually improve from here.” @felixsalmon misses the #indieweb of hope http:/…
(twitter.com/_/status/622877758016720896)
interactivist, MMN-o, KartikPrabhu, scor and ttepasse joined the channel
#
GWG
pfefferle just added me to wordpress-uf2. I wonder if this means I have arrived.
#
KevinMarks__
Kylewm is that part of appengine wrapping things?
KartikPrabhu and snarfed joined the channel
#
KevinMarks__
Appengine fetching things needs care, I was getting some errors with unmung.com until I switched to explicit fetching
#
KevinMarks__
If you want socket level access you need a paid account I think
#
KevinMarks__
They wrapped their fetch api in urlopener iirc
snarfed1 and lukebrooker joined the channel
#
GWG
is reading about PHPUnit
#
GWG
Learning to write unit tests is hard
#
snarfed1
testing++
#
Loqi
testing has 9 karma
#
snarfed
thanks GWG!
#
bear
it's hard but oh my is it so useful and helpful
#
snarfed
bear++
#
Loqi
bear has 68 karma
#
bear
gwg__
#
bear
gwg++
#
GWG
bear: Any advice?
#
Loqi
gwg has 106 karma
#
GWG
I've never written one.
#
snarfed
every time you write code, you then have to test it. you can do it manually or automatically. i know which i prefer :P
#
GWG
Trying to test Micropub in PHP
#
snarfed
GWG: are you looking at the examples in the issue i filed?
#
bear
start simple and borrow heavily from other people's use of the unit test lib you use
#
snarfed
agreed
#
snarfed
GWG: other than phpunit, the two key parts for these will probably be 1) either creating/deleting the db tables for the test to use, or mocking out the db, and 2) figuring out how to give the wordpress code an http request and get a response
#
snarfed
i definitely recommend looking at the example links in that issue
#
snarfed
GWG++!
#
Loqi
GWG has 107 karma
#
bear
you will find working with databases and HTTP endpoints some of the hardest tests to write
#
snarfed
maybe so. fortunately in this case we can just copy what these examples do
#
bear
I will often isolate the code that has to write to the database just so I can test everything around it except the actual database call
#
bear
ah - having working unit tests to copy from is awesome sauce
tvn joined the channel
#
GWG
We have working ones?
KartikPrabhu and tantek joined the channel
#
GWG
snarfed: The thing is that it is trying to test outgoing code, not incoming code.
#
snarfed
outgoing code?
#
snarfed
and which of those three linked repos are you talking about?
#
GWG
snarfed: I think I have to write something that simulates a client.
#
GWG
In the unit tests I saw there, they are unit testing the client code. Whereas we're unit testing server code
#
snarfed
huh, ok. let me look. i'm sure at least one of those three examples will work for us
#
GWG
I think I need to write a class to generate Micropub calls, and then run unit tests with that so it can test the server.
#
GWG
But, this is my first unit test
#
snarfed
looking now
#
GWG
Either way, I'll try and learn, I suppose. Having a class that implements client functions is not a bad thing either.
#
GWG
Clearly we lack clients anyway
#
snarfed
anyway, don't go too far down that road. we're not looking for a test client; we just want unit tests
#
GWG
snarfed: None of them note edit support.
#
GWG
snarfed: That was the issue earlier today
#
GWG
snarfed: So basically, my idea is to write some functions that implement a barebones client, then the unit tests use them to send in some arbitrary data.
#
bret
for self encoded tokens
#
snarfed
GWG: i understand the idea, i just don't think that's what we want. give me a little time and i'll find the right example.
#
GWG
snarfed: Okay. As I said, might be the wrong approach.
tantek and friedcell joined the channel
#
snarfed
to be fair, GWG, that is basically what we're going to do, i just expect it will be much more minimal than you're thinking
#
GWG
snarfed: I figure...if I have to write the code, might as well write it so it can be reused, even if barebones.
#
snarfed
GWG: sure! if you want to write a general purpose micropub tester that can be used against any (remote) server, sure. that's not what i'm asking for here though
#
bret
aaronpk, kylewm (maybe even snarfed) whats a good example of a JSON web token signing secret?
#
bret
how long should that thing be ?
#
GWG
snarfed: I know it isn't strictly necessary, but I was thinking of the big picture.
#
snarfed
GWG: not at all, it's a great idea! i know voxpelli was interested earlier. i'm sure lots of other people would be too
#
snarfed
i just want simple unit tests for wp-micropub too, independent of a bigger test client
KevinMarks joined the channel
#
GWG
snarfed: What is missing, from what I can see, is a micropub client library
#
GWG
snarfed: Did you find the simple example though?
#
emmak
bret: long enough that its impractical to brute-force
#
snarfed
GWG: https://indiewebcamp.com/micropub#Open_Source says there are two PHP micropub libs. looks like at least one is a client, maybe both
#
snarfed
GWG: not yet, working on day job stuff. i'll let you know.
ehlovader joined the channel
#
emmak
8 bytes would be 2^64 possible secret keys
KartikPrabhu joined the channel
#
bret
cool (or emma :)
#
bret
emmak++
#
Loqi
emmak has 13 karma
#
emmak
i've used 16-18 bytes from the openssl random bytes function for this type of thing
#
GWG
snarfed: p3k-micropub is part of aaronpk's p3k system, and thus pretty specific. Also appears to be server, not client.
#
snarfed
GWG: sure, ok. the taproot one says it's client side
friedcell joined the channel
#
GWG
snarfed: It appears to be authentication only.
#
snarfed
GWG: so "implements both client app and resource provider authentication " on the wiki is lying?
#
snarfed
surprising
chreekat joined the channel
#
GWG
snarfed: Wrong library linked?
#
snarfed
GWG: got me, i haven't looked
#
snarfed
i'm guessing it's findable
#
aaronpk
My rule of thumb with keys is as long as you have at least as many bits as a uuid you're fine
#
GWG
aaronpk: Do you know if Taproot ever got its full micropub client library? I can't find it
#
GWG
Because the one linked on the page is an Indieauth client library, not a MicroPub one
#
snarfed
GWG: also try wiki history
#
tantek
good afternoon #indiewebcamp!
awolf and friedcell joined the channel
#
snarfed
hey tantek
#
GWG
barnabywalters put it in, which is consistent
#
tantek
is trying to follow the auth related discussions as best he can.
gRegorLove joined the channel
#
bret
emmak: you should link your token endpoint on http://indiewebcamp.com/token-endpoint#$encryption_key#Examples
#
@LootMountain
5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro organize http://tantek.com/2015/200/t1/fsws2010-inspiration-indiewebcamp
(twitter.com/_/status/622914073148194816)
snarfed joined the channel
#
notenoughneon.com
edited /token-endpoint (+291) "/* IndieWeb Examples */"
(view diff)
tantek and KartikPrabhu joined the channel
#
snarfed
GWG: that whole series looks good. start with the first part if you haven't written unit tests before: https://pippinsplugins.com/unit-tests-wordpress-plugins-introduction/
#
GWG
Pippin knows his stuff
#
GWG
I use him as a reference all the time
#
snarfed
great!
#
GWG
Did you catch his talk at Loopconf on how to avoid breaking backward compatibility when changing your data structure?
#
snarfed
GWG: no, sorry. i don't really follow wp
#
snarfed
or conferences
#
GWG
snarfed: Neither do I on conferences. But they put the videos up. I watched them while doing something else. At least the interesting ones
#
GWG
After I contributed to breaking acegiak's site, it was a topic I had strong feelings about.