2016-08-02 UTC
# 00:03 KevinMarks In general, ignoring unknown ? parameters is expected behaviour isn't it?
KevinMarks_ joined the channel
# 01:48 tantek GWG, that will take a long time, time that could be used coding
# 01:49 GWG In this case, it made me think I should look at this issue.
# 01:51 GWG Because I've been pushing for h-entry change in WordPress.
# 01:51 GWG Should I change my recommendation it be on the top-level element?
# 01:51 tantek GWG, unclear because of WordPress's bad history with dealing with legacy markup and theme / core / styling dependencies
# 01:52 tantek I would suggest either ALL of the markup for h-entry etc. go into "core" OR, likely better, ALL of it go into a plugin or theme
# 01:52 GWG tantek: Core is out of the question. They rejected it for backcompat.
# 01:52 tantek GWG, h-entry has nothing to do with backcompat
# 01:52 GWG There shouldn't be. But u-photo was put onto every avatar on the theory it was always inside an h-card.
# 01:53 tantek "the theory"? how is that not the same code as the u-photo?
# 01:53 tantek this sounds like you might be running into WordPress architectural flaws
# 01:54 tantek regardless you need to figure out a way to make *THE SAME CODE* do both the h-* class name and any u-* p-* properties for it
# 01:54 tantek otherwise they will get out of sync, and you'll get very bad markup errors
# 01:54 tantek just like what has happened with classic WordPress and "hentry" (before h-entry)
# 01:56 GWG tantek: This is akin to walking through a minefield.
# 01:57 tantek this is akin to planting new mines in an old minefield
# 01:58 GWG Every idea one of us has seems to do that.
# 01:58 tantek we've built plenty of things that grow and build upon each other and continue growing
# 01:59 tantek it's WordPress in particular I'm talking about - in terms of making sure to NOT replicate the errors of the past
# 01:59 GWG tantek: I meant, every idea we have about how to address the WordPress issue seems to plant new mines.
# 01:59 tantek It's probably going to require that an entire plugin be responsible for all the markup, and making sure that property class names are only injected when the plugin can be absolutely certain that it successfully injected the h-* root class name for those properties
# 02:00 GWG That was what the wordpress-uf2 plugin was supposed to be. I think it may be time for an update...but I'm not sure how a plugin can be certain
# 02:01 GWG That is why I'm saying this may require a group of people to take on.
# 02:02 GWG tantek: You are good at breaking down complex problems into simple problems. I've seen you do this.
# 02:03 tantek GWG, it has to look at the markup that has been "output" so far, and verify what it expects is there
# 02:07 GWG Output buffering is frowned upon in WordPress.
# 02:07 tantek GWG, output buffering would not be necessary if you could actually trust the plugin hooks to do the right thing
# 02:08 tantek that's how I would pushback. the plugin architecutre is too unpredictable/complicated to be dependable, thus you have no choice but to output buffer to make sure the right thing is happening
# 02:08 GWG Every time, or as a 'diagnostic test?
# 02:08 tantek broken architecture should be more frowned upon than output buffering
KevinMarks, KevinMarks_ and cweiske joined the channel
KevinMarks_, loicm_, tantek and petermolnar joined the channel
singpolyma joined the channel
# 15:23 GWG Anyone have any thoughts on PHP session handlers? I was looking at memcached vs redis.
# 15:29 aaronpk Those two won't be very different for most applications
# 15:31 GWG aaronpk: I was looking at only running one, and both are an option for a persistent WordPress object cache.
gRegorLove joined the channel
# 15:32 GWG The arguments seem to suggest redis is more flexible.
# 15:48 aaronpk memcache is basically just storing keys and values. Redis has a bunch of different ways you can store things.
# 16:03 GWG Right now, I am not using either directly.
# 16:07 GWG I was doing some server work over the last few days. I brought back separate whole page caching for mobile so I could deliver different resources if I wanted to.
# 16:09 GWG And Linode has given me more RAM since I last significantly tweaked those settings.
# 16:10 aaronpk last time i got that upgrade i downsized a machine back to what it had before and cut my costs in half :)
# 16:11 voxpelli for sessions that should be persistent – use Redis – Memcache clears all data on restart if I remember correctly
# 16:11 voxpelli true, but at least you can make it persistent there :)
# 16:12 voxpelli both Redis and Memcache being primarily in-memory are very easy to use wrong and not really get the benefits from that one would assume
# 16:13 voxpelli when primarily used as caches the worst case scenario is that one gets no benefits from them, when used as data stores those the worst case scenarios are quite far worse
# 16:14 voxpelli GWG: memory scales very badly, when you reach the limit it's very hard to scale up
# 16:15 aaronpk the big mistake people make with redis is using effectively as a cache, but not actually removing things from it, so it just keeps filling up
# 16:15 voxpelli yeah, or to think that they can save something in Redis when they just have some 100 of them and when they get 10 000 of them they don't really have that much space left for them
# 16:16 voxpelli one should pretty much only store things in redis where one have the need for speed that comes with in-memory databases
# 16:16 voxpelli and keep the rest in more classic disk-backed systems
# 16:16 aaronpk i often use the zsets with keys being unix timestamps in order to keep a sort of rolling last N items in a list
# 16:17 GWG For me, implementing a persistent object cache for WordPress reduces database load.
# 16:17 KevinMarks_ Memcache does flush things automatically (or after time) does Redis not?
# 16:17 aaronpk but you can put things in redis and if you don't set an expiration it tries to hold on to them forever
# 16:18 aaronpk so you just have to be careful about how you use it. always setting TTLs on things, or using data structures in a way where you're always trimming them during normal operation
tantek joined the channel
# 16:21 GWG Using it in testing, it certainly has a better cli.
# 16:24 GWG I need to get my server email notifications system back online.
# 16:24 GWG Anyone have a service they like witha free or cheap tier?
# 16:26 GWG I think I can handle less than 10k
# 16:34 GWG tantek, I just need my server to send alert emails and running a mail server is a pain
# 16:34 voxpelli There's a difference between newsletter e-mail services and transactional e-mail services, so important to use the right one :)
# 16:35 aaronpk eh, "newsletter" email services are a whole different thing. I wouldn't call mailgun a "transactional" email service.
# 16:35 aaronpk you could send newsletters with mailgun if you wanted to
# 16:37 GWG My recent voxpelli Webmention failure made me want to get better logging.
# 16:37 voxpelli aaronpk: they call it that themselves in the title of their site "Transactional Email Api Service" :P
# 16:37 aaronpk yeah because they don't want to attract newsletter customers ;-)
# 16:39 voxpelli eg. Mailchimp would be totally the wrong service for this use case though :)
# 16:39 voxpelli despite it probably being the most widely used service for sending emails
# 16:40 miklb don't they have a transactional service as well as their newsletter service
# 16:40 aaronpk self-hosted email newsletter application that can send via mailgun
# 16:40 GWG I have to figure out what email notification I may want about Webmentions.
# 16:40 miklb right, because they dropped free tier or something?
cweiske joined the channel
# 16:54 aaronpk it's only used in GET, but in practice many server libraries mix get and post params so best to reserve it for both
# 17:02 voxpelli One of the great things with mf2 is the extensibility that in turn encourages experimentation and innovation, so anything that makes that carry over to Micropub and similar is great
# 17:08 miklb voxpelli following up on a prior conversation, I've got a #jekyll question for you
# 17:12 miklb voxpelli in your post layout, you include post.html and pass post=page, but then when you load post-content, you pass post=post. I don't follow assigning post variable assignments
# 17:13 miklb I want to wrap up (finally) the micropub stuff for the theme today, have a lull in $work
# 17:14 voxpelli miklb: It's Jekyll that assigns the data to different variables
# 17:15 voxpelli So through my assigning I normalize it to the same variable (and since its in an include there's no downsides, not sure what would happen otherwise)
# 17:16 voxpelli Well, only explicitly assigned bars are available in an include, right?
# 17:16 miklb well this comes back to where I was getting single page views to display content from front matter and the templates are using post.frontmatter not page.frontmatter
# 17:18 miklb but somehow it works for you ¯\_(ツ)_/¯
# 17:23 voxpelli miklb: It could be because I use includes and you don't, same code might not be usable inside and outside of an include
# 17:23 miklb I do use a post-content include, and tried passing post=page and it didn't work
# 17:24 miklb I don't have a post.html include though just the post layout
# 17:24 miklb maybe I'll just trying it your way to see if it works. Trying to avoid all of the logic checks in the jekyll IW theme
# 17:48 miklb hmm. maybe I can just copy post-content and use a page-content
# 18:21 aaronpk 404 would be a weird response because it would suggest the micropub endpoint is not found
# 18:22 cweiske 400 could also mean your http lib is broken, so that's not better
# 18:23 aaronpk that's true, but that's sort of how this kind of api has ended up working
# 18:24 aaronpk in my ideal world, the endpoint would always return HTTP 200 and all error handling would be done in the response body. i've seen a couple APIs like that, but it's relatively uncommon.
# 18:25 cweiske reading the error response section in detail tells me that I break the Micropub rules when I implement my "501 not implemented" status code, since none of the 4 allowed error codes carry that meaning
# 18:25 aaronpk "If there was an error with the request, the endpoint must return an appropriate HTTP status code, typically 400, 401, or 403..."
# 18:26 cweiske If an error body is returned, the response body MUST ... property named error with the value set to one of the below:
# 18:29 cweiske oh, quill just successfully created a post on my micropub endpoing. success.
# 18:43 cweiske let's see what happens when my token endpoint returns tokens with HTML tags and " and ' in them..
# 18:44 cweiske <link rel="token_endpoint" href="http://anoweco.bogo/bobby-tables.php"/>
# 18:47 aaronpk do we need to set restrictions on what chars can be used in tokens?
# 18:48 aaronpk I should try generating some tokens with RTL characters in them and see what happens
# 18:59 cweiske quill happily accepts funny tokens and passes them on
# 19:01 cweiske too bad quill's html editor dumps the in-reply-to url
# 19:29 voxpelli thinks he has come up with a way to derive layout selection from mf2 data in a declarative way so it can be done through a configuration ENV variable – yay
KevinMarks joined the channel
# 19:45 voxpelli I have to say – PEG grammars are awesome, overkill, terribly confusing and awesome
# 21:16 miklb voxpelli that layout selection, is that in response to my questions?
# 21:42 miklb is reading more about jekyll includes and passing params and variables
tantek and singpolyma joined the channel
# 23:37 tantek.com edited /Events (+215) "move July event to past, LeadingDesign Conf this October, UX London next May is just a few days after IWC Nuremberg! IWS 2017 June (likely)" (
view diff )
# 23:44 Loqi voxpelli has 88 karma (4 in this channel)
# 23:45 miklb I just groked how includes and passing params work :-P