#dev 2019-05-21

2019-05-21 UTC
eli_oat, snarfed, jjuran, [jgmac1106], billbennettnz, chrisaldrich, eli_oat1, [Rose] and doubleloop joined the channel
#
Zegnat
What is OpenSearch?
#
Loqi
OpenSearch is a specification for search engine discovery and syndication of search results https://indieweb.org/OpenSearch
#
[Rose]
I have to say, I really like your PoC from Sunday.
[tonz] joined the channel
#
[tonz]
Indeed, me too.
#
Zegnat
I enjoyed it too. And have a lot of ideas on how to expand it. But I am honestly not sure I want to spent a lot of time building it.
#
Zegnat
Will probably put it in a GitHub repo just so I can have an issue tracker going
[jeremycherfas] joined the channel
#
[jeremycherfas]
Thanks [aaronpk] Public exposure will come later, so plenty of time to figure that out.
[Rose], [frank], [pfefferle], [jgmac1106] and [tonz] joined the channel
#
doubleloop
I replied to your post [tonz] about subscribing to a Twitter topic
#
[tonz]
I saw it, it’s in the moderation queue
#
doubleloop
I just realised you meant a topic hashtag rather than a curated list, however I think that's perhaps doable too, using @search
#
[Rose]
I use Granary to search Twitter for username mentions and to turn them into feeds.
#
[frank]
How is all this stuff still free?
#
[Rose]
Very nice people are involved?
[pfefferle] joined the channel
#
doubleloop
[Rose]++ nice, so you get Twitter mentions in your Microsub notifications channel?
#
Loqi
[Rose] has 13 karma in this channel over the last year (46 in all channels)
#
Zegnat
marks up indiewebsearchengineproofofconcept output as h-feed so it can be subscribed to
#
GWG
Trying to figure out. Are HEAD requests for webmention verification a good or bad thing? They are mentioned in the spec. But there are suggestions that they are seen as security indicators by some sites
#
sebsel
security indicators?
#
GWG
Reading some notes that some servers think head requests are bots probing a site
#
sebsel
Depending on your definition of 'bot', a webmention client is a bot, so they are right ;)
#
GWG
This started when I hit a granary snag
#
Loqi
[dshanske] #166 Consider supporting head requests
#
GWG
So I wanted to reexamine why I am doing things
#
GWG
I do HEAD requests to check for valid URLs on feed parsing as well
#
Zegnat
HEAD responses should be the same as GET, just without the body. So it can be a performance boost doing a HEAD first and see if you actually want the body at all.
#
Zegnat
E.g. to scan it for MIME types so you know if the body is something you can parse.
#
doubleloop
Zegnat++ on indiewebsearchengineproofofconcept h-feeds
#
Loqi
Zegnat has 49 karma in this channel over the last year (156 in all channels)
#
Zegnat
I can see why Granary wouldn’t support them though. HEAD requests should also contain the content-length etc (as it should have all headers that GET results in), generating those are a lot of work for Granary.
#
Zegnat
And it is too bad to do all that work and not even serve the final body.
#
doubleloop
I think it needs a project codename though
#
doubleloop
Project Stroopwaffel
#
Zegnat
So if snarfed knows most HEAD requests come from bots that he does not want to support, it makes sense to not respond to HEAD
#
sknebel
Is it a "project" now?
#
Zegnat
Nopenopenope. I specifically do not want this to get a name or start to gain any sort of traction in people’s minds :P
#
sknebel
Right. 405 does not mean "there is nothing here, go away"
#
sknebel
405 does mean "I won't answer that request"
#
Zegnat
If granary is serving a 405 to the HEAD, with an Allow header containing GET, it is doing the correct thing. And the way to respond to that is by repeating the request as a GET
#
Zegnat
That should probably be the default handling of everyone that does HEAD requests.
#
Zegnat
You could even fallback to a GET request where you drop the connection once you have received the full HTTP header, to emulate a HEAD. (Though obviously do not do that if you want to do a normal GET right after.)
#
GWG
I am just wondering if I should give up the HEAD entirely
eli_oat, eli_oat1 and [kevinmarks786] joined the channel
#
[kevinmarks786]
Responding to HEAD on appengine is extra work
eli_oat1, [jeremycherfas], ichoquo0Aigh9ie, GWG_, Kaja_, Anchakor_, treora_, stevestreza, callMeBaby, raucao, jackjamieson, blueyed and snarfed joined the channel
#
Zegnat
Depends on your usecase GWG. I only use HEAD for things like endpoint discovery, because in those cases my entire query can actually be answered by just the HTTP headers. It makes sense then, IMO
#
Zegnat
For feed fetching, it is often much more to implement caching correctly on both sides. That way you get the same result, because a server may answer with a 304 (not modified) and does not have to send a body either (like with HEAD)
#
Zegnat
So just GET with the correct cache settings, and if you get 304 you know nothing changed. No need for HEADs.
[eddie], [grantcodes] and [Rose] joined the channel
#
sknebel
Whereas for webmentions caching likely isn't very effective
#
sknebel
But without bad actors, HEAD also doesn't do much
gRegorLove_, [grantcodes], jjuran and snarfed joined the channel
#
Zegnat
HEAD doesn’t do much with bad actors either, seeing how you need the server to return the correct response. It only tangentally gives you protections against bad actors using servers they do not control
#
snarfed
to be clear, granary is 405ing HEADs for scalability, not security. it does a lot of work before it even knows the HTTP response code, and i'm choosing not to burn that work right now on very low quality requests
#
snarfed
(almost all real user requests right now are GETs, not HEADs)
#
Zegnat
Makes a lot of sense snarfed.
snarfed, [tonz], jackjamieson, leg, [tantek], snarfed1, [Rose] and [frank] joined the channel
#
[frank]
I could use some ideas and pointers for a good service. I use Inoreader as my feedreader (still for now) and it can trigger webhooks when I star an article. I am looking for a good service to receive webhooks to and let me send out a micropub request to my server. I tried Zapier but it's quite complicated....
#
[frank]
It might be as simple as send out a curl command when a webhook is received
#
snarfed
[frank]: zapier and ifttt really are worth trying first
#
[Rose]
Zapier can definitely do this.
#
[Rose]
It's not hard to set up, I can share some screenshots.
#
[frank]
Please do
#
[frank]
What would be the action in Zapier? I am researching the Code part now from Zapier but am a bit stuck
#
[frank]
I just found out I can also use the webhooks as an action. That might do the trick.
#
[Rose]
Yes, webhook as an action, like the images just shared. (Love the upload to Media Endpoint shortcut)
[schmarty] joined the channel
#
[frank]
Looks like it's working, but Inoreader has a weird way of formatting the incoming payload. I might need a multi-step zap which will cost me money...meh...
#
[frank]
But then I realised I was once invited to test the new Inoreader/Zapier integration. And shazam....An even better integration
#
[frank]
Works like a charm! Thanks [jeremycherfas] for being the guineapig... 😉 https://frankmeeuwsen.xyz/2019/05/21/16/
#
Loqi
[frankmeeuwsen] IndieWebCamp Utrecht by an author Another absolutely brilliant IndieWebCamp, this time in Utrecht. By now I feel like a bit of an old hand, and it was nice to see old friends and make new ones. The first day, as usual, was devoted to group-organised ... https://secure.gravatar.com/avatar/ae0d61ecec9ba68060523144917aed32?s=100&d=https://frankmeeuwsen.xyz/wp-content/plugins/semantic-linkbacks/img/mm.jpg&r=g
#
[frank]
You might need to work on your h-card though...
[pfefferle] joined the channel
#
Zegnat
Contains an author, but I guess whatever you are using doesn’t do external h-cards, [frank]
#
[frank]
It's the default WP plugins...
#
[frank]
It doesn't contain an author name
#
Zegnat
What is authorship?
#
Loqi
authorship is an algorithm that determines the author of a post https://indieweb.org/authorship
#
Zegnat
Step 5.2 should trigger, because the author is a URL, which should lead to h-card discovery on jeremycherfas’ homepage
#
Zegnat
Unless that one is wrong ...
gxt joined the channel
#
Zegnat
Oh, there we go, that doesn’t seem to have an h-card :o
#
Zegnat
But I see it in the page source. Hmm.
#
doubleloop
My WP like posts usually have a u-like-of which is an h-cite - all added by Post Kinds I thought.
#
Zegnat
!tell jeremycherfas The W3C validator talks about some wrongly closed HTML elements on jeremycherfas.net, that may be why mf2 parsers have a hard time reading the page (no h-card: https://php.microformats.io/?url=https%3A%2F%2Fwww.jeremycherfas.net%2F). Maybe worth debugging?
#
Loqi
Ok, I'll tell them that when I see them next
#
gRegorLove
Hm, the Go parser finds the h-card. More forgiving HTML parsing I guess.
#
Zegnat
!tell jeremycherfas scratch that, I just took an extra minute and noticed the mf2 parser is seeing an runtimeexception. So it is that ephemeral thing you talked about at IWC.
#
Loqi
Ok, I'll tell them that when I see them next
#
Zegnat
There is something weird going on with his site that means certain requests result in runtime errors. I just forgot because I am a little mushy.
#
Zegnat
I wonder if it is about specific request headers, maybe php mf2 is missing something in its settings.
#
gRegorLove
Python gets the runtime exception too
#
Zegnat
curl does not
#
Zegnat
I don’t understand how curl command line would be different from PHP curl we use for mf2
#
aaronpk
curl command line adds some headers
#
Zegnat
Only sending 3:
#
Zegnat
> User-Agent: curl/7.54.0
#
Zegnat
> Host: www.jeremycherfas.net
#
Zegnat
> Accept: text/html
#
Zegnat
I guess I can drop the UA
#
Zegnat
php-mf2 adds the Accept specifically
#
gRegorLove
The runtimeexception seems to be about a missing Twig template
#
Zegnat
yes, but it is weird how that only happens in very rare cases
#
Zegnat
GET still works without the UA. Guess I’d have to run php-mf2 locally and grab full curl logs or something. If it even happens when ran locally.
#
gRegorLove
Adding to confusion, works for my local copy: https://gregorlove.com/php-mf2/test.php?id=75
#
Zegnat
Does not work for xray.p3k.io
[jeremycherfas] joined the channel
#
[jeremycherfas]
Yup. Thanks Zegnat. That might be the same issue I had a week or so ago, which I thought I had debugged. I’m going to have to save this until I am back at my desk on Thursday.
#
Loqi
[jeremycherfas]: Zegnat left you a message 19 minutes ago: The W3C validator talks about some wrongly closed HTML elements on jeremycherfas.net, that may be why mf2 parsers have a hard time reading the page (no h-card: https://php.microformats.io/?url=https%3A%2F%2Fwww.jeremycherfas.net%2F). Maybe worth debugging?
#
Loqi
[jeremycherfas]: Zegnat left you a message 18 minutes ago: scratch that, I just took an extra minute and noticed the mf2 parser is seeing an runtimeexception. So it is that ephemeral thing you talked about at IWC.
#
gRegorLove
My local copy doesn't include the UA header, just Accept
#
[jeremycherfas]
The run time exception is apparently fixed in a recent Grav commit. Again, cannot easily get to it before Thursday.
#
Zegnat
I removed the UA from curl, did not make a difference for me locally, gRegorLove
#
Zegnat
goes to see if he can find the commit
#
Zegnat
that might just tell us why it is doing what it is doing
#
Zegnat
The most recent release has updated twig, but don’t see anything special otherwise. Though it might be in a commit with a less than descriptive commit message
[manton], jackjami_, [jeremycherfas] and kisik21 joined the channel
#
kisik21
Good morning IndieWeb :3
#
kisik21
Zegnat: So, you have an HTTP/2-only blog. Does it use HTTP/2 Server Push?
#
kisik21
I'm kinda interested in using that to speed up my frontend
#
kisik21
so I'm looking for people who could've used it - maybe someone can share their experience!
#
GWG_
Evening
snarfed, [kimberlyhirsh], tbbrown, [tantek], Hyro, [Melanie_Richard and [ldavid_ensiie] joined the channel