2017-06-30 UTC
j_juran and davidmead joined the channel
# 00:13 gRegorLove It's kind of a proof-of-concept for Vouch. I don't require the vouch parameter with incoming webmentions, but have run tests with that list
# 00:13 AngeloGladding so both solutions are vouch related it seems
# 00:14 gRegorLove Colin's wasn't set up to be, afaik, but it could be used for that, yes.
# 00:14 gRegorLove Are you interested in sending webmentions when you add people to the blogroll?
# 00:23 aaronpk the funny thing is if you don't include it then it's even closer to the OAuth 2 spec
# 00:43 Loqi Indie Map is a public IndieWeb social graph and dataset.
2300 sites, 5.7M pages, 380GB HTML + mf2.
Social graph API and interactive map...
# 00:44 AngeloGladding saw it, love it, great work!
# 00:44 AngeloGladding indiemap++
j_juran, tantek and [miklb] joined the channel
# 02:44 GWG aaronpk, do you have any documentation of the fields you use for webmention.io for logging?
tantek joined the channel
# 03:03 tantek and the period definition terminator strikes again!
# 03:03 tantek (hence I end up using "like" instead of "e.g." in page definitions :) )
# 03:08 aaronpk I think there is very little documentation of webmention.io in general tho so the answer is probably no
# 03:09 GWG aaronpk, trying to enhance webmentions in WordPress. No data kept on failures. Looking for ideas
# 03:11 GWG Right now, we store source url, target url, target fragment, and creation time.
# 03:12 aaronpk If the webmention fails verification then nothing is kept in the logs past the short cache for the status URLs
# 03:15 aaronpk It caches the URLs and timestamp in order to provide a status URL
# 03:18 GWG Response code is one I was thinking of adding
# 03:21 gRegorLove More logging in the receiveWebmention() method in that file, actually.
# 03:27 tantek if you're going to log anything, have a plan / code for: 1) time window, i.e. only keep past n days, and 2) anonymizing by default
# 03:32 GWG tantek, anonomizing for what reason?
# 03:33 GWG What would be anonomized in a webmention log
# 03:35 tantek GWG, for all the reasons @pinboard has been tweeting about for ages
# 03:36 tantek he's written several longer pieces I think too, about how all tech companies need to switch ASAP to 30day logs max for anything web related, and anonymized if possible
AngeloGladding and KartikPrabhu joined the channel
[miklb] joined the channel
Billbennettnz and cweiske joined the channel
# 06:33 raucao so, i was looking into sending webmentions from huginn, but i don't yet understand how that works. if the original page is not an indieweb site, how to i transport the actual like/repost/etc?
# 06:33 raucao (want to send webmentions to known for mastodon favs/boosts)
barpthewire, KevinMarks and KevinMarks_ joined the channel
# 06:50 sknebel the mastodon instance needs the necessary microformats for known to parse
# 06:50 sknebel I know mastodon has some mf2 by now, not sure how much
# 06:52 sknebel at least for some cases. not sure if favorite is in it actually
# 06:53 raucao except with reposts you can only find the MF on mastodon sites, not other ones
# 06:54 raucao i actually care mostly about favs and reposts, so one of those doesn't exist and the other one i often get from gnusocial instances
# 06:54 raucao but how does bridgy do it for e.g. fb/twitter then?
# 06:55 sknebel bridgy creates its own sites mirroring the content, with the correct markup
# 06:56 sknebel it creates on its own page a h-entry with u-url == the twitter post
# 06:57 sknebel and people then whitelist bridgy in their site code to override it in display
# 06:58 sknebel occasionally you might even see the post attributed to bridgy, where they don't have special code for that case
# 06:58 raucao i didn't whitelist anything, it just sends webmentions to known and everything works
# 06:58 raucao ok, so i will publish a mini html page to my public storage linking to mastodon then
# 06:58 raucao and not care about if the favs actually appear on the linked src url
# 06:59 raucao because that's obvious from the other html resource that is actually being parsed for the fav
# 07:00 Loqi [Aaron Parecki] Multi-Camera Portable Live Video Rig
# 07:04 sknebel thats just some known internal thing, I don't think it has any special function
# 07:05 raucao other than letting twitter know that i'm syndicating my content via bridgy :)
# 07:10 sknebel makes a note to talk about bridgy at next HWC Berlin
cweiske joined the channel
# 07:20 sknebel we talked about webmentions last time, and I should have explained the trick bridgy uses
# 07:24 raucao my office is above that on the other side of the building :)
# 07:25 sknebel it has been surprisingly difficult to find a space :/
# 07:25 sknebel betahaus cafe was nice, but now they close really early
# 07:25 raucao i'll ask about that date, because it's one of the very few ones i'll actually be able to make :)
# 07:26 raucao leaving again today, just came back from pdx two days ago, but coming back next friday
# 07:26 sknebel and since we are only ~5 people we can't really ask for a space where they'll have to keep an employee around just for us, which excludes many companies that offer spaces for meetups
# 07:27 raucao as it's my own company, i think they'll be fine with it :D
# 07:27 raucao have to catch a train now, but adding a task for asking about that date (sometimes other companies in our shared office need the space, too)
# 07:27 sknebel yeah. starbucks works surprisingly well (empty enough, relatively quiet (was the problem with other cafes in the evening), but an alternative every now and then would be great
# 07:28 sknebel I'm around IRC most of the time, or e-mail me at any mailaddress at svenknebel.de
j12t joined the channel
j12t joined the channel
j12t and j_juran joined the channel
# 10:26 Zegnat ben_thatmustbeme, I just pushed some of the bug fixes we discussed yesterday to selfauth. New signing code up later today, I hope, if I get it running on my own site the way I want it to run
# 10:28 sknebel Zegnat: signing code = hmac etc? then I shouldn't try to do that today as well :P
# 10:29 Zegnat But ran into other problems with the selfauth code.
# 10:32 Zegnat selfauth is my main todo item today, because I want to start using it myself. If you don’t want to do double work, maybe do something else today ;)
# 10:33 sknebel cause I optimized everything to use micropub... and then found that my ideas and existing clients are in annoying disagreement :/
# 10:40 Zegnat This is starting to look like a pretty big rewrite of parts of selfauth to get more scrutiny in and use proper expiring signed tokens (no “5 to 10 minutes” validity, just 5, or 10). So it will go in a branch when I push it, I’ll request review from everyone then :)
j_juran and j12t joined the channel
# 12:04 Zegnat Nice thing is, we can also use it for the CSRF, so that gets rid off the double functions
# 12:28 Zegnat No error checking in the functions, but didn’t want to include loads of type checks etc. Not really important as long as we use them right
# 12:32 Zegnat Good. It is so easy to miss something that trips up the value of the signing, always appreciate the extra set of eyes
# 13:13 sknebel PHP really has a crypto evolution. 5.6 finally has a lot of basics, 7.2 is going to be really good
singpolyma joined the channel
# 13:15 ben_thatmustbeme while i want to support < 5.6 i think its worth it to do the tests for if function_exists
# 13:21 Zegnat ben_thatmustbeme, no, === is not safe. That’s why I said not timing-attack safe. hash_equals is really the only correct way. We could either do bitwise comparison ourselves, or use hash_equals when available and become non-safe as fallback :(
# 13:22 Zegnat There is a new issue for merging the HMAC branch now. Please put comments there so we can address them :)
j12t and arush1 joined the channel
# 13:53 ben_thatmustbeme also, its unit tested, so if anyone wants to throw any additional tests in there, can mass test them with the validator :)
# 13:58 Loqi ben_thatmustbeme has 13 karma in this channel (243 overall)
# 13:59 Zegnat ben_thatmustbeme, both your review comments have been addressed. I am not sure how I can GitHub that :/
jonnybarnes joined the channel
# 14:02 Zegnat aaronpk, is there a reason why IndieAuth.com OpenID does not work with my authorization endpoint? “Sign in to /openid/complete” does its thing, lets me pick my own auth URL, but then sends me to https://indieauth.com/ instead of the place I was trying to login to (StackExchange)
# 14:05 Zegnat It is specific to OpenID handling though, because I can correctly authenticate to the wiki through indieauth.com
# 14:06 Loqi zegnat has 18 karma in this channel (104 overall)
# 14:07 Zegnat I’ll wait for sknebel’s review and then merge if no problems come to light :)
# 14:18 Zegnat yes, I was just on my way to hit the big green button
# 14:19 Zegnat Hmm, maybe I should have done the merge locally so GitHub wouldn’t add the “extra” commit. I am always a little confused by merge workflows.
# 14:24 sknebel also just changed the secret generation (was hashed unnecessarily), now that should be ok as well
# 14:28 sknebel and for larger changes it's nice to have the context to look up
# 14:30 Loqi [indieweb] indieauth-client-php: Sample implementation and helper methods for an IndieAuth client.
# 14:31 aaronpk Zegnat: it's possible telegraph is using an old version of that library
# 14:32 aaronpk looks like it's using 0.1.14 of indieauth-client-php
# 14:32 aaronpk JSON response handling in indieauth-client-php was added in 0.2
# 14:32 Zegnat Aaah, that’ll be it then. Want me to file an issue with that?
# 14:33 aaronpk needs to make a dependency tree of all his projects so he doesn't forget to update projects that use libraries like this
# 14:35 Zegnat I just filed one re: accept header on the indieauth-client-php project, that’s better than on Telegraph.
# 14:37 aaronpk first i gotta send this post-IWS update and post all my photos
# 14:38 Zegnat I might do a PR for the client one later, depending on how the rest of my day goes
# 14:42 sknebel ben_thatmustbeme: Zegnat: what PHP versions do you want to target? PHP5.3+?
j12t joined the channel
# 14:42 sknebel I saw you talking about it, but don't remember the result
# 14:42 Zegnat Although I think everything we have right now works for 5.3 too?
# 14:43 Zegnat Maybe setup.php should show a warning for version < 5.6
# 14:44 ben_thatmustbeme i thought of that, but setup.php still works after its been generated, which means you are just leaking that info out
# 14:45 aaronpk setup.php should stop working after the config file exists
# 14:45 Zegnat oh, sknebel, mt_rand() is not a Byte[] output, I believe. So not sure what bin2hex() is going to have for effect there... did you test?
# 14:46 ben_thatmustbeme setup.php already has a $configured bool, so can just use to not have it do anything if it is configured
# 14:47 sknebel Zegnat: oops, I trusted that what was there before worked, and md5 also has string input :/
# 14:48 Zegnat Well, I think technically all Byte[] blobs are string in PHP, because it doesn’t have any other representation.
# 14:48 Zegnat But it might include garbage like null-bytes, which is why you don’t often want to use those byte-string-blob-things
# 14:48 Zegnat So md5() makes them ... “safe” ? :p And md5() can of course be applied to the int that comes out of mt_rand()
# 14:49 sknebel Zegnat: md5 and bin2hex per docs both take strings as input?
# 14:49 Zegnat I will have to do some testing before I feel comfortable with giving a solution off the top off my head though
# 14:50 Zegnat bin2hex(mt_rand()) might turn into an extremely short key (not that md5(mt_rand()) was incredibly safe)
# 14:52 sknebel should really generate multiple numbers and combine them
# 14:52 Zegnat No problem, that’s why there are collaborators on the project!
# 14:52 Zegnat I am looking into the generating now, and testing their outputs.
# 14:53 sknebel or is the openssl random not gueranteed to be compiled in?
# 14:54 Zegnat Not guaranteed to be compiled. Probably especially true for 5.3 servers.
# 14:56 sknebel tempted to go tell people with worse PHP to go use indieauth.com
# 15:03 sknebel Zegnat: forcepush that over, my commit shouldn't exist :P
# 15:04 sknebel me neither, but I also don't like crap like that public
# 15:05 sknebel so I don't mind wiping stuff at the top all that much
# 15:05 sknebel (we should maybe show a message "roll 60d16, put here")
# 15:06 ben_thatmustbeme actually, wonder if we should tell people with <5.6 how to just generate an app key with something else
# 15:07 aaronpk it's not just the app key that's the problem though right? it's also generating random auth codes
# 15:07 Zegnat I can’t figure out how to scrap your commit. For some reason I am being dumb with git today
# 15:08 Zegnat no such thing as “random auth codes”. The codes are as secure as the key you use to sign them.
# 15:09 Zegnat We do now that HMAC has landed, aaronpk. Which is probably for the best
# 15:11 sknebel ben_thatmustbeme: the more I think about it, I think having the user generate one is better
# 15:12 sknebel show an error message about the version, ask to upgrade and if not possible generate a secret yourself and put it in
# 15:12 ben_thatmustbeme i think its fine enough to tell them that its bad, but still offer up the bad version
# 15:14 ben_thatmustbeme having something semi random is better than someone going "password1" thats pretty safe right?
# 15:15 ben_thatmustbeme that way the lazy and outdated have semi-random, the outdated and non-lazy can generate good random, the updated get non-random
# 15:15 Zegnat Of course, sknebel, ben_thatmustbeme, feel free to review my key generation
# 15:16 Zegnat Hahaha, sorry if we have been keeping you ben_thatmustbeme!
# 15:17 Zegnat It was already there, or did I accidentally change the name?
# 15:17 Zegnat I just used the constant that was there, sknebel. Only changed the value from 30 to 32, because I honestly cannot stand non-power-of-2-key-lengths
# 15:18 sknebel yeah, we shouldn't do this to often. and probably really use PRs for everything
# 15:20 ben_thatmustbeme sknebel: i thought you were talking about the name of the constant, i don't like naming constants the same as exisitng functions
# 15:20 Zegnat Oh, yeah, that default is mostly there because that is how I designed the initial signature for those functions
# 15:22 Zegnat I.e. to use the functions you do not require to set a ttl. But everywhere we use the functions we want to explicitly set them.
# 15:22 Zegnat Functions were designed with testing and reusability in mind. That is also why they want the key as argument, and not just use the key constant internally.
[cleverdevil], gRegorLove, [miklb] and dougbeal|mb1 joined the channel
# 16:08 sknebel heh, analyzing full indiemap on bigquery is stressful. 1 TB of processing per month is free, one query is 331 GB
tantek joined the channel
# 16:13 sknebel all the results from snarfeds indiemap project. metadata for all the pages he crawled
# 16:28 aaronpk wonders what it would take to write a publish via micropub option
# 16:32 sknebel oh, nvm, I misread bigquery docs. that's only if you really touch all columns
j12t joined the channel
snarfed joined the channel
# 16:55 snarfed hey sknebel, glad you're playing with the indiemap data! happy to help if you have any q's
# 16:57 sknebel got it down to 12 GB per query, thats more manageable once I understood it bills per column
# 16:57 sknebel right now trying to answer how many sites support homepage webmentions
# 16:59 snarfed i also wonder how many advertize the endpoint on home page but don't actually accept them. but still, it's a good start to look!
# 16:59 sknebel right now trying to figure out known sites... they seem to have the authorative h-card on a profile url, so that gets billed as the homepage, but that's probably not what I'D try to webmention.
# 17:00 snarfed i'm really glad indiemap can (hopefully) answer questions like these
# 17:32 Loqi [gRegor Morrill] Almost forgot this proposed specification:
The class h-peep is a root class name that indicates the presence of a marshmallow chick.
Properties:
p-name: The name of the marshmallow chick.
p-color: The color of the marshmallow chick.
p-location...
# 17:35 tantek just glad benwerd is not here to implement that :P
# 17:36 tantek no I mean with a UX and everything like he does
# 17:39 snarfed i definitely knew there were many more sites with mf2 than i included
# 17:39 gRegorLove Do we know approximately how many of the mastodon instances have it?
[colinwalker] joined the channel
# 17:43 [colinwalker] Snarfed: re advertising the webmention endpoint on the homepage but not accepting them, the WordPress plugin does this by default even if homepage mentions are not turned on in the options.
[eddie] joined the channel
# 17:54 Loqi [Ben Roberts] Mastodon and the Indieweb
# 17:56 snarfed yeah i'm less familiar with activitypub than ostatus
# 17:56 tantek indeed, better to directly add building blocks support to Mastodon
# 17:56 tantek I bet that's easier to code too, rather than going through ostatus abstractions
# 17:56 snarfed right. you all are thinking of getting mastodon to do indieweb. i'm thinking of a third party bridge to translate between the two
# 17:57 snarfed definitely ideal if mastodon supports indieweb. the nice part of a bridge is that it would also support gnu social, identica, status.net, etc
# 18:01 snarfed ben_thatmustbeme: i'm still not that familiar with mastodon. is there any way i can see the global timeline on https://w3c.social/ without creating an account?
# 18:07 aaronpk i should really generate thumbnails for photos in my album posts
# 18:08 ben_thatmustbeme based on the list of instances back in april, it looks like the most you would see would be 4 or 5 instances that might not have MF2
snarfed joined the channel
# 18:10 snarfed (also re ease of coding, granary already does AS1 => mf2, so that part wouldn't really add any implementation burden)
# 18:10 ben_thatmustbeme from that old list, those that are not down are all well above the version that had mf2 added
# 18:11 ben_thatmustbeme the biggest issue is that mastodon (and others) have no way to actually refer to URLs as people rather than account uris
# 18:15 snarfed ben_thatmustbeme: i don't follow. do you mean mastodon doesn't have user profile pages?
# 18:17 tantek user@host is text UI convention across unix tools
# 18:20 Loqi [Ben Roberts] ben.thatmustbe.me <does this get translated to a proper link?
https://ben.thatmustbe.me/ < does this? want to just test this quick to see if just adding webmention sending to mastodon would do all of the federation TO indieweb that is needed
snarfed joined the channel
# 18:47 Zegnat snarfed, re wm advertising but not accepting, I think your site was in that category
# 18:49 tantek Zegnat: that makes no sense for my site since I'm "just" delegating to webmention.io and pretty sure it handles homepage mentions
# 18:50 aaronpk tantek: yours likely failed because sometimes xray has trouble fetching Zegnat's site
# 18:52 snarfed hrm afaik the app engine http fetching problems were ssl, right? which tantek.com isn't
# 18:52 snarfed wait webmention.io is on app engine? or telegraph?
# 18:53 aaronpk webmention.io is a ruby app on a VPS, but when it fetches pages it uses xray,p3k.io's API
# 18:53 aaronpk i did that because the ruby parser wasn't good enough to use at the time
# 18:54 schmarty remembers something about appengine timeouts related to IPv6?
# 18:54 Zegnat I think Uberspace has me on both HTTPS and IPv6. Whatever the actual hick-up is, GAE doesn’t like it :/
# 18:58 aaronpk do we have a recommendation for what a webmention sender should do if the webmention POST returns a 301 or 302?
# 18:59 Zegnat “Any 2xx response code must be considered a success.” - nothing on any other code, it seems
# 18:59 aaronpk isn't there a 3xx code that says try the post again at a new URL?
KartikPrabhu joined the channel
# 19:02 aaronpk wait am i getting that backwards? wikipedia is confusing
# 19:03 Zegnat There is no 309, not even according to wikipedia
# 19:03 Zegnat You could still return that code number though, if your server allows it
# 19:03 aaronpk okay yeah, HTTP 308 is a redirect that does not allow the HTTP method to change
# 19:04 Zegnat “This and all future requests should be directed to the given URI.” - is the description on Wikipedia for 301, which made it sound to me that *this* (aka the current) request should be aimed at the new URI. That suggested to me that a POST should be re-POST-ed
# 19:04 Zegnat But the new 308/309 explicitly state not the change the method, so you are right, aaronpk
# 19:05 aaronpk Zegnat: i think what happened was people were returning 301/302 from a POST request in a browser after a form is submitted in order to redirect to the page that was just created, so browsers implemented the next request as a GET
# 19:05 aaronpk and then they had to add 307/308 later to compensate for that behavior
# 19:05 Zegnat That makes sense aaronpk! I can totally see how 301/302 were *meant* to repeat the POST but never did because of use.
# 19:15 GWG When would the webmention source URL and the url property of it's h-entry not match?
# 19:16 Zegnat ben_thatmustbeme is "Do Not Change Your Number" the official error message for 309? ;)
# 19:17 tantek Zegnat there are a variety of valid options for the BODY of the HTTP response
# 19:17 Zegnat I noticed. But your site didn’t seem to sent any actual message in the HTTP header
# 19:17 Zegnat I am mostly wondering about the HTTP header, tantek
# 19:18 tantek the response code has no other requirements about the header
# 19:19 Loqi [snarfed] hey vouch contributors (aaronpk tantek gRegorLove ben_thatmustbeme) have any of you thought about how it should interpret and handle u-url vs webmention source url?
# 19:19 snarfed low priority, just probably still an open question
# 19:19 tantek oh you mean the informal name for the return code
# 19:19 Zegnat “reason phrases” is apparently what those are called
# 19:21 tantek Zegnat, for 309, I believe that is "Eee Iye Eee Iye Yun",e.g. "309 Eee Iye Eee Iye Yun"
# 19:22 tantek 309 << Reason Phrase: "Eee Iye Eee Iye Yun", e.g. "309 Eee Iye Eee Iye Yun"
# 19:22 loqi.me edited /309 (+71) "tantek added "Reason Phrase: "Eee Iye Eee Iye Yun", e.g. "309 Eee Iye Eee Iye Yun"" to "See Also"" (
view diff )
# 19:22 Loqi ok, I added "Reason Phrase: "Eee Iye Eee Iye Yun", e.g. "309 Eee Iye Eee Iye Yun"" to the "See Also" section of /309
[chrisaldrich] joined the channel
Billbennettnz joined the channel
# 19:59 j_juran HTTP/1.1 309 For A Good Time, Call
# 20:28 j_juran ben_thatmustbeme: jjuran
tantek joined the channel
j12t and tantek joined the channel
# 20:55 aaronpk gRegorLove: indiewebify.me should be auto deploying from master. Is something missing?
# 20:56 gRegorLove Though the one you merged doesn't seem to be live on the site. Changed some colors in it.
# 21:00 gRegorLove Slightly darker buttons / links for better contrast in that pr too
# 21:02 aaronpk my appengine logs show that it's running the Jun 11th version
[kiai] joined the channel
# 21:03 gRegorLove Did I update the wrong files? Though it worked on my dev copy, so that doesn't make sense
# 21:04 aaronpk i'm bumping to see if that deploys the new version
# 21:06 sebsel hm, already having problems with logging in to Quill now because I don't send a me-param after the indieauth.
# 21:06 sebsel add the me again and waits for the wikipage to be updated
# 21:07 aaronpk luckily i mostly use the same client library for this so it should be a fix in one place then update all the dependencies
# 21:09 Loqi [aaronpk] IndieAuth-Client: Sample client app to authenticate against IndieAuth-enabled domains
# 21:10 Loqi [indieweb] indieauth-client-php: Sample implementation and helper methods for an IndieAuth client.
# 21:11 aaronpk looks like i pulled out the login flow from quill into that as an example
# 21:14 aaronpk gRegorLove: i apparently moved indiewebify.me off of appengine
# 21:15 aaronpk probably because we were having too many problems with appengine fetching URLs
tantek joined the channel
# 21:16 Loqi aaronpk has 60 karma in this channel (1369 overall)
davidmead joined the channel
# 21:20 Loqi appengine has -1 karma in this channel (0 overall)
snarfed, [grantcodes], [cleverdevil], KartikPrabhu, j12t, davidmead, jjuran and [eddie] joined the channel
# 23:22 sebsel storing tokens instead of JWT, so I can list them and revoke them as I please.
# 23:23 sebsel I had signed up for way to many nice looking Micropub things ;)
snarfed joined the channel
# 23:43 grant.codes created /recommendation (+1090) "Created page with "A <dfn>recommendation</dfn> is a type of post that provides a suggestion to another person. ==Facebook Example== Facebook has a UI for requesting recommendations from friends w..."" (
view diff )