#indiewebcamp 2016-01-14

2016-01-14 UTC
KartikPrabhu joined the channel
#
GWG
petermolnar: I still think using the existing table works better.
#
Loqi
GWG: petermolnar left you a message 53 minutes ago: I've altered wp-webmentions-again; it now creates it's own table in the db to act as a queue, due to the lack of queue manager in WordPress; this way sending can be initiated from anywhere http://indiewebcamp.com/irc/2016-01-13/line/1452726904184
#
GWG
!tell tantek Not yet. I posted one proto RSVP, but not since
#
Loqi
Ok, I'll tell him that when I see him next
#
snarfed
GWG: manual! :P
#
snarfed
manual all the things
#
GWG
snarfed: I know we differ on that
#
snarfed
heh yes
#
GWG
!tell petermolnar I'd still rather have a cron job work on items in the comment table with a special queued status.
#
Loqi
Ok, I'll tell them that when I see them next
#
GWG
snarfed: What would convince you to go automated?
#
snarfed
GWG: i don't understand the question
#
snarfed
GWG: you mean, to post automated RSVPs?
tantek joined the channel
#
GWG
snarfed: I meant, for example, converting you to Post Kinds.
#
snarfed
got me. i'm happy with my site.
#
snarfed
i was thinking of a different question: if your site doesn't support post type X (e.g. RSVP), do you then suffer and never post Xes until you have code for them? which might take indefinitely long?
#
snarfed
or do you post them manually (author the HTML by hand, etc) until if/when you have that code?
#
snarfed
i obviously vote the latter, but that's just me :P
#
GWG
snarfed: I would if I really wanted to.
#
snarfed
cool! glad to hear it
#
GWG
The truth is, I don't go to enough things worth RSVPing to.
#
GWG
I'm not the social butterfly.
#
tantek
GWG, worth doing another manual RSVP just to learn from it?
#
Loqi
tantek: GWG left you a message 31 minutes ago: Not yet. I posted one proto RSVP, but not since http://indiewebcamp.com/irc/2016-01-13/line/1452730145069
#
@AzurepathHQ
If a CRM (or any B2B software application) doesn't allow you import or export your data at will, reconsider your options. #CRM #ownyourdata
(twitter.com/_/status/687436902560038912)
#
KartikPrabhu
what is webmention?
#
Loqi
Webmention is a simple way to notify any URL when you link to it on your site https://indiewebcamp.com/Webmention
#
KartikPrabhu
how are people doing the Step 7. here: https://indiewebcamp.com/Webmention#Protocol_Summary i.e. "verifies that target in the webmention is a valid permalink on Aaron's blog" ?
#
KartikPrabhu
well not on Aaron's but your own site
#
aaronpk
webmention.io accepts anything for that step
#
KartikPrabhu
right but how would a site actually do it? make a request to own site and continue if success?
#
aaronpk
my old site first checks that the domain is aaronparecki.com, then looks up the path to see if the post exists
#
KartikPrabhu
"looks up path" locally i.e. without self HTTP request?
#
aaronpk
yeah, the same way it looks up the path to serve HTTP requests
catsup joined the channel
#
aaronpk
you certainly could just make an HTTP request to yourself to check. I might add that to webmention.io
#
KartikPrabhu
i am having trouble with that because of my horrible mixed db-file storage
#
KartikPrabhu
right now I am checking if an object with that URL is in the DB, but there are static pages on my site that are not in the DB
#
bear
I just make a HEAD request to my site
catsup joined the channel
#
bear
since I don't really have a data store
#
KartikPrabhu
bear: yeah that was another approach I was considering
#
aaronpk
yeah I would say that's easier if you have a mix of dynamic routes and static files
#
KartikPrabhu
should check if his server responds to HEAD :P
catsup joined the channel
#
tantek.com
edited /Friendica (+187) "note at least some Selfdogfooding by maintainer Michael Vogel"
(view diff)
catsup joined the channel
#
KartikPrabhu
cc: kylewm snarfed any input to "how do you check if the target of a webmention is an actual valid page on your site?"
#
snarfed
you all have covered it
#
KartikPrabhu
aah ok cool! :)
#
snarfed
by definition, your site knows how to look up its own posts (somehow) in order to serve them
#
snarfed
how is an implementation detail :P
catsup joined the channel
#
KartikPrabhu
sure... was checking if people here have more clever ways than what I do ;)
#
snarfed
hard to share techniques since it's *entirely* implementation dependent
#
snarfed
in your case, you can just check both db and filesystem, right?
#
tantek.com
edited /who_to_follow (+130) "/* Twitter */ View all separate page"
(view diff)
#
tantek.com
edited /who_to_follow (+75) "sidebar vs page"
(view diff)
#
KartikPrabhu
snarfed: yeah possibly. But there might be a cleverer way to use Django's URL routing stuff.
#
snarfed
sure! as usual, do the simple obvious thing first, then optimize/refactor if you want
#
kartikprabhu.com
uploaded /File:Bowie-tantek-follow.jpg "Who to follow suggestions from Twitter"
#
KartikPrabhu
tantek ^ feel free to include it
Lancey joined the channel
#
tantek
thanks KartikPrabhu
#
@jenbee
TFW you know you're gonna clear payroll with a bit of breathing room to spare. Ain't nothing like it. #entrepreneurlife #indieweb
(twitter.com/_/status/687444369004072961)
mblaney, KartikPrabhu1 and tantek joined the channel
#
mblaney
hello indiewebcamp
#
Loqi
mblaney: bear left you a message 1 day, 1 hour ago: qualified yes - meteor from the sky, no; anything else, maybe http://indiewebcamp.com/irc/2016-01-12/line/1452645093793
#
mblaney
!tell bear I guess my long term goal is having the ability to keep a site up even though a server goes down.
#
Loqi
Ok, I'll tell him that when I see him next
#
tantek
three of us @MozSF for HWC SF meetup so far
#
tantek
we're quietly typing / reading / writing
#
mblaney
there's obviously multiple levels of investment to make that happen, would be nice to be able to read about starting from the smallest set up to the largest
#
bear
mblaney - the answer for that is another question - what type of site is it and what resources does it need to run
#
Loqi
bear: mblaney left you a message 1 minute ago: I guess my long term goal is having the ability to keep a site up even though a server goes down. http://indiewebcamp.com/irc/2016-01-13/line/1452735366723
#
mblaney
bear: it would be a dynamic site, ie backed by a database.
#
bear
right so that is the hardest part - how do you get the database replicated for failover
#
tantek
ok time to update https://en.wikipedia.org/wiki/Webmention since its a W3C draft now
#
bear
the web part of the equation is common now - two or more servers behind a load balancer or round-robin dns
#
tantek
hmm anon edit to link to the W3C spec already. odd
#
mblaney
ok thanks, I guess that answers my initial question that from an indieweb perspective where we all have 1 server, the next level would be to have at least 4 servers.
#
mblaney
(2 servers to run the site and 2 load balancers)
#
bear
or work it so that the db is used to build a static view
#
mblaney
yeah suddenly I like the idea of static sites :-)
#
bear
if you can generate a static version then you could fall back to that if the main site is down
#
aaronpk
i keep thinking about doing that
#
aaronpk
with most of the dynamic bits of my new site all offloaded onto external services that just got a lot easier
#
mblaney
is there a general "fallback" technique?
#
bear
yea, the only thing to figure out is that with a static site you lose the example.com/foo method of routing foo
#
aaronpk
you can fake it
#
aaronpk
with a bunch of index.html files
#
bear
right
#
aaronpk
but yeah it's more limiting
#
aaronpk
that's the technique I used with spiderpig so that old wordpress URLs like http://geoloqi.com/blog/category/news/ still work
#
bear
having a pure static site with your dynamic endpoints being subdomains is much more flexible IMO
#
mblaney
but I mean if you don't prepare for an outage, even with a static site your site will still be down,
#
bear
sure
#
mblaney
so I'm wondering what the glue is
#
bear
finding a vendor that worries about the hard stuff
#
mblaney
snarfed was saying multiple IPs in DNS is enough?
#
bear
yep - that is how I recommend most normal folk do it
#
aaronpk
you still have to proactively remove the dead IP from that pool
#
aaronpk
but at least for n% of your visitors it won't be down
#
KartikPrabhu
and add it back when it is back up
#
aaronpk
where n is 1/#hosts
#
bear
with dns providors like dnsimple you can script that
#
aaronpk
indieauth.com uses this method right now
#
aaronpk
bear: but then who watches the watchers ;)
#
bear
yep, it's turtles all the way down
#
KartikPrabhu
watchers all the way up
AngeloGladding joined the channel
#
@INC_says
From the INC FB page, The Artist. #Inc_says #Roku #RokuUk #indie #indiefilm #indieweb https://twitter.com/INC_says/status/687451825054732288/photo/1
(twitter.com/_/status/687451825054732288)
#
mblaney
well I like the idea of being able to do something (anything) :-)
#
bear
find two good/cheap vps providors like digitalocean
#
mblaney
still I think I have just given myself a very large project that I wasn't expecting
#
KartikPrabhu
there are also service workers which effectively offline your site though not wide-spread browser support yet
#
aaronpk
there are really two parts to the cost, one is the actual cost of the servers, the other is the maintenance cost of making sure the fallback mechanism is working
#
bear
I should really start a small indieweb oriented hosting service
#
Loqi
agreed.
#
KartikPrabhu
indiehosters is one of those
#
KartikPrabhu
don't know feature set though
#
mblaney
bear++ for the service and also the devops advice
#
Loqi
bear has 94 karma
#
tantek
the whole emphasis on four types of linkbacks is irrelevant trivia
#
tantek
I'm rewriting the whole intro para
[snarfed] joined the channel
#
[snarfed]
all good redundancy discussion! mblaney I'll plug cloudflare again, they may have the best and easiest plug-and-play live serving redundancy service I've seen
#
KartikPrabhu
tantek: wikipedia has a lot of that
#
tantek
KartikPrabhu: opportunities to fix pages
#
aaronpk
oh yeah good call on cloudflare
#
aaronpk
i was super surprised how easy it was to set up and how magic it is
#
KartikPrabhu
I try not to get involved with wikipedia editing politics/arguments
#
KartikPrabhu
just reading the "talk" page gives me chills
#
bear
yea, cloudflare is good
#
aaronpk
they have an option to keep serving cached pages when the backend is down
#
mblaney
thanks snarfed will check it out
#
tantek
which talk page?
#
bear
cloudflare is squid/varnish made easy
#
aaronpk
they also have free SSL and it just works like magic without any configuration
#
[snarfed]
aaronpk++ yup the auto cached site serving is arguably the feature mblaney is looking for right now
#
Loqi
aaronpk has 52 karma
#
[snarfed]
bear++ exactly!
#
Loqi
bear has 95 karma
#
aaronparecki.com
edited /Webmention (+6) "link to editor's draft"
(view diff)
#
mblaney
I like the idea that there are services that make this stuff easy, but also want to get to the bottom of how they work
#
mblaney
so will probably revisit squid/varnish now too :-)
#
aaronpk
it's good to know how they actually work so that you can fully appreciate the service
shiflett joined the channel
#
tantek
ok I made pretty deep edits here - take a look and see if people think this is more accurate etc.: https://en.wikipedia.org/wiki/Webmention
#
KartikPrabhu
tantek: does look better than previous one
#
tantek
thanks
#
tantek
I'm getting impatient with crappy / esoteric written Wikipedia articles and just going to start boldly fixing more and more of them
#
KartikPrabhu
excelsior!
#
tantek
yes! (love that movie)
#
tantek
now four of us doing quiet wriiting
hoplo2 joined the channel
#
hoplo2
Hello
#
tantek
almost HWC time!
#
tantek
looks around for benwerd and kylewm
#
KartikPrabhu
hi hoplo2
#
hoplo2
I have a staticly generated website (with Pelican). I have added rel=me to my github/twitter. What’s next?
#
KartikPrabhu
you could work through indiewebify.me
wolftune and jgmac1106 joined the channel
#
hoplo2
Yeah that website is really handy. I’m looking at adding microformats information to my posts, the end goal of this is to add classes to my html?
#
KartikPrabhu
yes microformats are added as classes to your HTML
#
KartikPrabhu
but the end goal is to have microformats so that other sites can interpret your post correctly
#
tantek
kicking off HWC here in SF
#
tantek
I pointed out that W3C published w3.org/TR/webmention - much thanks aaronpk
#
tantek
and minor design tweaks on tantek.com images
#
tantek
Art Brock - my site is http://artbrock.com/
#
tantek
using Drupal
#
tantek
kylewm - going to show something
#
tantek
... website is kylewm.com
#
tantek
... tool that aaronpk wrote called ownyourgram
#
tantek
... lets you subscribe to your instagram feed
#
tantek
... posts your photos from IG to your site
#
tantek
... though for about half the users it seemed to stop working
#
tantek
... Played with IFTTT
#
tantek
... uses a webhook with micropub access token to publish to his site from IG!
#
tantek
... tried taking a photo and posting to IG
#
tantek
... posted to kylewm's site in under a minute!
#
tantek
Ben Werdmuller
#
tantek
... personal site is werd.io
#
tantek
... shows a wordpress site with a single sign-on to Known
#
tantek
... abstracted out the authentication
#
tantek
... shows new "Files" feature of Known
#
tantek
... ability to upload any kind of file
#
tantek
... something for campus customers, but will be in next open source version
#
tantek
... Question: what is the best practice for displaying an uploaded file?
#
tantek
... right now we only display the file name
#
tantek
... I want to display a preview, maybe show it inline, slideshare style
#
tantek
... e.g. Powerpoint or Keynote presentations
#
tantek
... if people ask for presentations they ask for it in Keynote format
#
tantek
... Video!
#
tantek
... viewing now works
#
tantek
... how can we make uploading easier?
#
tantek
... I want to solve that this year.
almereyda, lukebrooker, XgF and ben_thatmustbeme joined the channel
#
tantek
Matt (sp?) accompanied Art
#
tantek
... first HWC meetup. knows ben and kevinmarks
#
tantek
... got interviewed by HuffingtonPost
#
tantek
... started another group called Build The Collaborative Internet
#
tantek
... has a blog on wordpress, where he dumps writing
#
tantek
... wants to make it easier to navigate different kinds of content
#
tantek
Sean (sp?) web dev for 7 years
#
tantek
... been in games for ~15-16 years
#
tantek
... works for a games studio downtown
#
tantek
... head of web dev team
#
tantek
... primarily focuses on toolchain stuff
endi joined the channel
#
aaronparecki.com
edited /events/2016-01-13-homebrew-website-club (+135) "/* Portland */ pdx guest list"
(view diff)
#
artbrock.com
created /User:Artbrock.com (+59) "Created page with "Alt.Currency geek in Woodstock, NY working on nextNet tools""
(view diff)
lukebrooker joined the channel
minsky and snarfed joined the channel
#
@harryhalpin
RT @w3c First Public Working Drafts: Webmention; Social Web Protocols https://www.w3.org/blog/news/archives/5268
(twitter.com/_/status/687498570975559680)
bear joined the channel
#
matthewschutte.com
created /User:Matthewschutte.com (+1019) "Created page with "I am drawn to complex challenges that include: - surfing 50 foot waves at Mavericks - rethinking the role of privacy in a society - architecting a more useful structure for the i...""
(view diff)
hoplo2, snarfed, AngeloGladding, tantek and minsky joined the channel
#
KartikPrabhu
made some basic changes to reply-contexts: https://kartikprabhu.com/notes
#
KartikPrabhu
basically doing a readable text-design
lukebrooker and nitot joined the channel
#
@macybot
The webmentions spec is now being published as a w3c working draft (https://www.w3.org/TR/webmention/) #indieweb
(twitter.com/_/status/687531823006662656)
#
@seeksanusername
#WorkingDraft pour #Webmention par la #W3C (sorte de réimplémentation moderne du Pingback) via @regisrob https://www.w3.org/TR/webmention/
(twitter.com/_/status/687534252683038720)
#
GWG
!tell tantek Any information to decide how many rooms we need to have video etc for?
#
Loqi
Ok, I'll tell him that when I see him next
cweiske and e-lima joined the channel
#
@W3CSuomi
RT @w3c First Public Working Drafts: Webmention; Social Web Protocols https://www.w3.org/blog/news/archives/5268
(twitter.com/_/status/687536296735195136)
sanduhrs joined the channel
#
@cmdlineprompt
@TenYearNote @pmarca (from a shrinking workforce) attrition to continue until we can safely automate resource distribution. #ownyourdata
(twitter.com/_/status/687541637086445568)
Jihaisse and cweiske joined the channel
#
Loqi
petermolnar: GWG left you a message 8 hours, 10 minutes ago: I'd still rather have a cron job work on items in the comment table with a special queued status. http://indiewebcamp.com/irc/2016-01-13/line/1452730254438
#
petermolnar
GWG for receiving, your solution would work, I admit; for queuing outgoing mentions, that was my basic, larger issue
#
petermolnar
also, I don't want the autoinc on the built-in tables
#
petermolnar
until there's a custom comment type support - it could be done with a few filters I believe, so I'll look into that - I'm sticking to this queue solution
sanduhrs joined the channel
gRegorLove, friedcell, loic_m, sanduhrs, sammachin and sanduhrs1 joined the channel
#
petermolnar
!tell GWG http://wpbin.io/4au9hq <- this might be enough to support custom comment statuses, but I'm yet to start testing it
#
petermolnar
sudo Loqi?
#
@michielbdejong
RT @w3c First Public Working Drafts: Webmention; Social Web Protocols https://www.w3.org/blog/news/archives/5268
(twitter.com/_/status/687633345656786944)
#
marcthiele.com
edited /2016/Germany/Guest_List (+0) "/* Participants */"
(view diff)
#
marcthiele.com
edited /2016/Germany/Guest_List (+845) "/* Participants */"
(view diff)
#
aaronpk
come back Loqi
Loqi joined the channel
#
aaronpk
well that worked
#
petermolnar
I'll try that next time
snarfed, singpolyma, stream7 and shiflett joined the channel
#
GWG
Good day all
j12t joined the channel
#
petermolnar
Loqi had a little time off, so: http://wpbin.io/4au9hq <- this might be enough to support custom comment statuses, but I'm yet to start testing it
#
Loqi
grins profusely
#
GWG
It would be. But I'm not sure if there are other concerns. Although 4.5 might be the version of custom comment types, so might be a good time to slip it in.
#
petermolnar
do you have any spare capacity to test it?
#
GWG
You mean, server or time wise?
#
petermolnar
server wise I have spare resources, it's usually the time what's short
#
GWG
The getting and setting aren't the only issue
#
GWG
But, I may fiddle
#
petermolnar
what are the other issues?
#
Loqi
It looks like we don't have a page for "other issues" yet. Would you like to create it? https://indiewebcamp.com/s/10BF
#
petermolnar
we need an escape sequence for what is... ? questions
#
GWG
Avoiding spam checks till the webmention is processed
#
petermolnar
Since I've turned off pingback and regular comments, I turned off akismet as well, so I haven't even thought about that aspect, nice catch
#
petermolnar
you could force-unset all actions on the preprocess_comment hook
#
petermolnar
hack, yes, but should work
tantek joined the channel
#
GWG
I thought I would create a custom new_comment until I could propose integration
#
petermolnar
I think you'll need to be specific what you mean under 'custom comment'
#
GWG
Write a function that is basically a patched version of wp_new_comment.
#
petermolnar
ok, but what is preventing you doing this at the moment?
#
petermolnar
I belive you'd need to:
#
GWG
Creating a function? Nothing but time
#
petermolnar
a, suppress displaying the comment until 'approved'; b, suppress spam filters until the end of custom-approval, which is the pullback of the remote content
#
petermolnar
for this, using currently available filters & hooks + comment_type should do
#
GWG
It's doable as proof of concept.
tantek_ joined the channel
#
petermolnar
but what you're talking about is just a webmention receiver
#
petermolnar
is it not?
#
GWG
petermolnar: Yes. That is the part I'm focusing on right now.
#
GWG
I understand you are looking at a webmention sender.
#
GWG
I think that is the easier of the two to implement.
#
GWG
Unless you consider Vouch, which makes the sender more complex.
#
petermolnar
I revisited both by adding a queue which is filled on action, emptied by cron
#
petermolnar
but yes, the sender is easier
#
GWG
I may play with it a bit. I also have to prepare for IWC NYC next weekend, although still waiting on Tantek for some information
stream7 and hoplo2 joined the channel
stream7_, stream7, j12t, fkooman, e-lima, cleverdevil and KartikPrabhu1 joined the channel
#
yatil.net
edited /2016/Germany/Guest_List (+263) "/* Participants */ Add me"
(view diff)
#
@yatil
@marcthiele The link to the indiewebcamp wiki after getting a ticket at tito goes to /2015/Germany/Guest_List instead of /2016/…
(twitter.com/_/status/687681057194426368)
dirkdiiggler and snarfed joined the channel
#
bear
OpenSSH CVE-0216-0777 -- tl;dr; add "UseRoaming no" to your ~/.ssh/config or /etc/ssh/ssh_config to turn off the experimental feature that for some reason was enabled by default
#
jessman5.com
edited /2016/Germany/Guest_List (+304) "/* Participants */"
(view diff)
M-RyanRix and snarfed joined the channel
#
@itspec55
@vester71 toko bij de beste toko van Nederland #menteng #indieweb
(twitter.com/_/status/687687507442581504)
stream7, cleverdevil, snarfed, renoirb, cleverdevil-, stream7_, obensource, cleverdevil_ and gRegorLove joined the channel
#
GWG
gRegorLove, you said your implementation of webmentions used a cron similar to the one wordpress usrs, right?
#
GWG
Or am I misremembering?
#
GWG
Which is the same as wp-cron, triggered by page load.
hoplo2 joined the channel
#
GWG
I am wondering about the possible load on that.
#
KartikPrabhu1
build and test
#
GWG
I am fact finding right now.
#
kylewm
um, does that kind of cron actually mitigate DoS?
#
snarfed
only somewhat
#
snarfed
serializes the outgoing HTTP fetches, parsing, and processing
#
snarfed
but not the inbound request handling
#
kylewm
ah ok
#
kylewm
and blocks some unlucky person's request every 30 seconds
#
GWG
This is the problem I am facing.
#
snarfed
honestly GWG i still think you're overprioritizing async support
#
snarfed
but i'll try not to rehash the same conversation :P
#
snarfed
on an unrelated note, i made a bridgy screencast for applying for facebook's user_actions.news permission. annoying but at least it's done! https://youtu.be/otq0rcidmyI
#
snarfed
oops that's the old one. here's the new one: https://youtu.be/v6mBcRs8CGI
#
GWG
snarfed, if I am trying to get it into core, it needs to be fully baked.
#
gRegorLove
Lazy cron runs after the page is delivered, doesn't slow the page load
#
gRegorLove
Receiving and sending are async in my plugin, yeah
#
GWG
That is why I am planning before building instead of just building.
#
snarfed
GWG: i understand, i just disagree that "fully baked" necessarily includes async, especially for individual sites
#
snarfed
anyway. i'll stop now. :P
#
gRegorLove
The core WP Pingback plugin doesn't do async, right?
#
gRegorLove
Er, not a plugin, but you know what I mean
#
GWG
Nope
#
aaronpk
if you *can* do async processing in the existing wordpress infrastructure then I think you should. if it requires a bunch of changes to core then probably not worth doing at the moment.
#
GWG
aaronpk, I think you can, that is what I am exploring.
#
gRegorLove
It doesn't seem too likely the WP devs will complain if webmention lacks async, then
#
gRegorLove
GWG: AFAIK, the wp-cron functions similarly. The cron job should run after the page is delivered, so won't slow the page load for anyone.
#
GWG
I intend to build a test plugin at some point.
#
kylewm
ah yeah, I keep forgetting you can do that
#
GWG
I like the existing plugin, but I think we can iterate on it.
#
snarfed
i'm curious which "page loads" you all keep referring to. webmentions usually aren't end user HTTP requests; humans generally aren't waiting on them to finish to see anything.
#
aaronpk
snarfed: wp-cron is triggered on every visit to the wordpress site
#
gRegorLove
snarfed: It's a lazy cron, for hosts that don't allow you to set up cron
#
snarfed
ahh, wp implementation detail, got it. nm.
#
aaronpk
it's a clever trick to avoid needing to set up actual cron jobs
#
snarfed
understood
#
aaronpk
course it has its own problems, which is why I usually set up a cron job that hits the wp-cron.php file manually and disable the automatic one in the config
#
GWG
So it is similar to the design gRegorLove is using.
#
GWG
aaronpk, so do I.
#
snarfed
honestly you might consider waiting to see how the wp core people respond and what they actually care about and ask for. i suspect fully designed and hardened async support will be low on their list.
#
gRegorLove
What are the problems, outside it not being guaranteed to run with the set frequency?
#
Loqi
It looks like we don't have a page for "problems, outside it not being guaranteed to run with the set frequency" yet. Would you like to create it? https://indiewebcamp.com/s/10BG
#
Loqi
yeah!
#
GWG
Are you all so impatient?
ttepasse joined the channel
#
aaronpk
that's actually an interesting point, since the default async method is wp-cron being triggered by visitors, you're actually giving people a worse default than having the webmention request process it synchronously
#
GWG
Do you need your mentions now?
#
snarfed
for decent UX, yes. if not now then within a few seconds.
#
aaronpk
best option of course is a real cron job to keep all the processing outside of web requests, but if you can't do that, then it might actually be better to have the webmention endpoint do everything itself
#
GWG
I planned to design the functionality for a drop in option.
#
GWG
If I get all the hooks and settings right, then you could replace processing with something external.
#
gRegorLove
wp-cron still prevents DoS, so I think it's still better even if it can have memory issues
#
snarfed
gRegorLove: s/prevents/somewhat mitigates/
#
petermolnar
kylewm, GWG: define ( 'DISABLE_WP_CRON', true ); + add * * * * * wordpress wget -q -O- https://petermolnar.eu/wp-cron.php?doing_wp_cron 2>&1 >/dev/null
#
GWG
petermolnar, I do that.
#
kylewm
I like that, progressive enhancement
#
GWG
kylewm, I consider Wordpress Core the big leagues of Wordpress development.
#
gRegorLove
snarfed: I don't follow
#
petermolnar
aaronpk re worst user experience when you're using wp-cron based plugins one might assume it's aimed for environments where system cron triggers wp-cron
#
petermolnar
but that might need to be highlighted in the readme
#
snarfed
gRegorLove: if your small self-hosted WP site gets hit by, say, a 1kqps webmention DoS, you're going to have a bad time just trying to handle those inbound requests, regardless of whether you process them sync or async
#
snarfed
less bad with async, but still bad
#
kylewm
I wonder if there's a service you can configure to hit your wp-cron.php for you
#
gRegorLove
Sure, but that's not because of webmention.
#
kylewm
maybe whatever that one was that kept heroku free boxes from going to sleep
#
gRegorLove
Without the webmention plugin that same site would still crash
#
justonestep.de
edited /2016/Germany/Guest_List (+269) "/* Participants */"
(view diff)
#
gRegorLove
Interesting idea, kylewm. Like pingomatic
#
snarfed
right. my point is that the window of traffic size where you'd survive async but die sync is pretty small
#
GWG
There is another reason.
#
snarfed
e.g. <5qps, you're fine either way. >20qps you're dead either way. and DoSes are usually >100s of qps
#
gRegorLove
Huh, interesting.
#
snarfed
kylewm: gRegorLove: many monitoring services like pingdom, scalyr (i think), new relic have free plans that will probe arbitrary URLs
#
gRegorLove
Now I'm questioning async at all. I feel like I'm missing something. Need to read more. :)
#
snarfed
gRegorLove: welcome to distributed systems design! it's a fun, often counterintuitive world.
#
aaronpk
if what GWG is doing can support *actual* async (outside of web requests) then it sounds like it's worth it
#
GWG
This discussion helps
#
aaronpk
also keep in mind that it's not just a 1kqps DoS you're trying to prevent. another attack is:
#
@lindsey
"Oh, you wanted to *increment a counter*?! Good luck with that!" -- the distributed systems literature
(twitter.com/_/status/575006945213485056)
#
aaronpk
attacker makes 100 simultaneous webmention requests with a source URL that will keep the connection open for an arbitrarily long time. now all of a sudden your server is holding 100 connections open and using ram for each.
#
snarfed
agreed, amplification attacks like that are interesting
#
gRegorLove
My plugin can support actual async. Reason I'm using the lazy cron is because I'm certain a lot of users don't have cron access
#
snarfed
the common case is they send those 100 reqs to 100 different servers. so async doesn't help the end target, but does still help your own server
#
snarfed
anyway. it's complicated. as usual, when in doubt, follow occam's razor, do the simplest thing until if/when you know there's a real problem to address
#
gRegorLove
Depending on the async delay, those 100 requests may not all hit the end target though, right? Which I guess falls under "somewhat mitigates" not prevent.
#
petermolnar
kylewm re: "I wonder if there's a service you can configure to hit your wp-cron.php for you" yes, the system cron :)
#
gRegorLove
s/though/at the same time though/
#
Loqi
gRegorLove meant to say: Depending on the async delay, those 100 requests may not all hit the end target at the same time though, right? Which I guess falls under "somewhat mitigates" not prevent.
#
aaronpk
in my example the site receiving the webmention requests was the target
#
aaronpk
s/target/target of the attack
#
Loqi
aaronpk meant to say: in my example the site receiving the webmention requests was the target of the attack
#
kylewm
petermolnar: i assume you don't have access to the system cron on shared hosting
#
petermolnar
you should
#
petermolnar
even on shared, the web control panels usually allow that
#
Loqi
I agree
#
petermolnar
see, Loqi knows
#
kylewm
ah, good to know
#
aaronpk
who has a sync endpoint I can test with :)
#
petermolnar
feel free to hit mine, though it should be cron async now; I'm curious what's the limit of my setup :)
#
snarfed
aaronpk: mine too. also any tumblr, blogger, or wp.com blog signed up for bridgy
#
snarfed
bridgy will scale much better than my site :P
shiflett joined the channel
#
aaronpk
petermolnar: i just threw 100 webmentions at you
#
aaronpk
each one takes 10 seconds for the source URL to return a response
#
petermolnar
aaronpk I've seen a small spike in nginx requests, but to be honest, with all the iptables and nginx limits in place, I'm surprised it's even visible
j12t joined the channel
#
aaronpk
your processing seems to be async, all the requests returned before the 10 seconds was up
#
snarfed
applied for facebook's user_actions.news permission for bridgy. fingers crossed! https://github.com/snarfed/bridgy/issues/479#issuecomment-171739214
#
petermolnar
don't click the link
#
aaronpk
that's what I sent you
#
petermolnar
just observe the url
#
petermolnar
because it's strange :)
modem_ joined the channel
#
aaronpk
duration=10 makes that url take 10 seconds before it finishes responding
#
petermolnar
the wp-webmentions-again you were hitting checks for valid url source, valid url target & maps the target url to a post id; if all these pass, it pushes it to the queue
#
kylewm
snarfed++ for applying for new facebook permissions during the week
#
Loqi
snarfed has 191 karma
#
snarfed
lol thanks
#
kylewm
I always hate waiting until the end of the weekend :P
#
snarfed
s/during the week/ever/
#
snarfed
ah true
#
GWG
I'm loving this conversation
#
GWG
I wish I didn't have to step away.
#
aaronpk
petermolnar: that makes sense
#
petermolnar
it doesn't check if the remote page is available or that is contains the target url, so it's not entirely according to the draft
#
petermolnar
that is done when it gets out from the queue
#
aaronpk
that's what the spec recommends
#
petermolnar
my reason for that was that in some rare cases the mention might hit me earlier than the page is available online
#
petermolnar
so then the request would fail immediately
#
petermolnar
that situation can occur if the sending is triggered on publish and the publish takes longer than the request
#
snarfed
unrelated, on behalf of bear and me and all other unofficial devopsen here...new ssh vulnerability, update your ssh configs! https://twitter.com/diogomonica/status/687674748772290560
#
@diogomonica
A Vulnerability in an experimental feature added to OpenSSH in 2009, gets fixed by undocumented client-side option. http://undeadly.org/cgi?action=article&sid=20160114142733
(twitter.com/_/status/687674748772290560)
#
bear
snarfed++ of note - make sure that config change is at the *TOP* of your ssh config file
#
Loqi
snarfed has 192 karma
#
ben_thatmustbeme
at the top of?
#
ben_thatmustbeme
why would that matter?
#
snarfed
per-host configs
#
kylewm
sorry for being obtuse but is that /etc/ssh/ssh_config on the client or the server?
#
snarfed
your ~/.ssh/config
#
snarfed
so client
#
aaronpk
also if you've SSH'd into other peoples' machines lately you might want to make new private keys since you can't know if yours was downloaded
#
bear
on linux systems you can set client ssh config defaults using /etc/ssh_config (the service daemon uses /etc/sshd_config )
#
bear
but most folks here only need to update ~/.ssh/config
KevinMarks joined the channel
#
petermolnar
I'd suggest adding ForwardAgent no by default as well; and thanks for the heads up
nitot_ and AngeloGladding joined the channel
#
ben_thatmustbeme
good point about per host configs
#
ben_thatmustbeme
didn't think about that
#
gRegorLove
Looks like this doesn't affet PuTTY on Windows, correct?
#
petermolnar
putty is not openssh
#
petermolnar
so no, that's endangered
Loqi, cleverdevil and tantek joined the channel
#
petermolnar
snarfed any way for us to ++ the we-wants-stream-for-bridgy?
cleverdevil, Loqi, jacus, j12t_ and endi joined the channel
#
snarfed
wonders what petermolnar was talking about
#
tantek
wonders as well
#
Loqi
tantek: GWG left you a message 14 hours, 25 minutes ago: Any information to decide how many rooms we need to have video etc for? http://indiewebcamp.com/irc/2016-01-13/line/1452755937247
#
tantek
GWG, let's go with 2 until I have more information
#
gRegorLove
wonders^3
alexhartley, hoplo2, lukebrooker, stream7 and gRegorLove_ joined the channel
#
tantek.com
edited /events/2016-01-13-homebrew-website-club (+270) "/* Photos */ add kylewm's SF photo"
(view diff)
#
tantek.com
edited /who_to_follow (+329) "/* Twitter who to follow page */"
(view diff)
tantek, alexhartley and KartikPrabhu joined the channel
#
tantek.com
edited /Events (+1088) "past, next"
(view diff)
lukebrooker joined the channel
#
tantek
rhiaro: are we good to go with IndieWebCamp MIT venue details (space, rooms etc.) 2016-03-14..15?
#
tantek.com
edited /Main_Page (+757) "next HWCs, IWCs"
(view diff)
jciv joined the channel
#
tantek
does anyone have "favorite quotes" on their personal site?
#
tantek
what are favorite quotes?
#
Loqi
It looks like we don't have a page for "favorite quotes" yet. Would you like to create it? https://indiewebcamp.com/s/10BH
#
KartikPrabhu
does that count?
#
KartikPrabhu
I should make that into a "quotation" post
#
Loqi
I agree
#
tantek
favorite quotes is a feature of some silo profiles (like Facebook), where a user can add quotes that resonates particularly strongly with them or are self-describing.
#
loqi.me
created /favorite_quotes (+193) "prompted by tantek https://indiewebcamp.com/irc/2016-01-14/line/1452813911119 and dfn added by tantek"
(view diff)
#
tantek
KartikPrabhu: no that's a /quotation post - very different
#
KartikPrabhu
maybe that is an FAQ then: diff between /quotation and /favorite-quotes
#
KartikPrabhu
or an OAQ: Once Asked Question
#
gRegorLove
What is quotation?
#
Loqi
A quotation is a type of post that is primarily a subset of the contents of another post, and often has a citation of that other post https://indiewebcamp.com/quotation
#
gRegorLove
Twice Asked Question. Not sure I understand the difference other than placement on the site.
#
gRegorLove
E.g. FB has the "quotes" section of the profile vs a /quotation that appears in a stream of notes?
#
tantek
correct
#
gRegorLove
The /quotation definition also sounds like it must be a quotation of a post posted at a URL, so quoting something someone said offline wouldn't count?
#
tantek
KartikPrabhu: did you just add that?!?
#
tantek
I feel like I've seen it before
#
tantek
do you remember when you added it?
#
KartikPrabhu
nope. it has been there since the page existed
#
KartikPrabhu
no idea when I made that page!
#
gRegorLove
I'm not sure I understand the importance of the distinction.
#
tantek
gRegorLove: they are different existent phenomena
#
gRegorLove
Hah! Nice, KartikPrabhu
#
tantek
on both indieweb sites and in silos
#
tantek
what is the importance of the distinction?
#
Loqi
It looks like we don't have a page for "importance of the distinction" yet. Would you like to create it? https://indiewebcamp.com/s/10BJ
#
tantek
the importance of the distinction is demonstrated by the existence of different phenomena in the wild, each deserving of their own documentation, analysis, clustering, and possible reconstruction. See for example [[favorites quotes]] vs [[quotation]] posts.
#
tantek
there you go gRegorLove
#
gRegorLove
Should add a /404#IndieWeb_Examples with that, KartikPrabhu
#
gRegorLove
If I quote something someone said at a lecture and it's not online somewhere, is it a /quotation?
#
gRegorLove
Or quoting something read in a book?
#
tantek
different h-cite properties, but still a quotation
#
gregorlove.com
edited /favorite_quotes (+65) "IndieWeb Examples / See Also sections"
(view diff)
#
tantek
took too long to save
#
gRegorLove
Sorry :)
#
gRegorLove
Ooh, nice tool for finding original posts, KartikPrabhu: https://kartikprabhu.com/original-of
#
tantek
(been looking for a silo example)
#
@kartik_prabhu
http://nautil.us Nice article on reading — print and digital. cc: @craigmod
(twitter.com/_/status/685992948111151105)
#
tantek
gRegorLove: never be sorry for updating a wiki page quickly :)
#
aaronpk
oh nicely done
#
aaronpk
adds that to his todo list
#
gRegorLove
Perhaps worth adding to /original-post-discovery
#
tantek
definitely
hoplo2 joined the channel
#
tantek.com
edited /favorite_quotes (+857) "add some more distinguishing details to dfn, indieweb example, silo example"
(view diff)
#
tantek
At this point I refuse to use a silo feature without documenting it first on IndieWebCamp
#
tantek
leaving myself breadcrumbs to escape a particular section of a walled garden
#
tantek.com
edited /Facebook (+97) "/* Features */ about / favorite quotes"
(view diff)