#dev 2018-04-16

2018-04-16 UTC
[miklb] joined the channel
#
[miklb]
heh, that url made me think about an early 90's band I probably hadn’t thought of since the early 90s.
#
dansup
starting a new project is always fun
#
[miklb]
that new git commit smell
#
dansup
heh
eli_oat, AngeloGladding and [eddie] joined the channel
#
[eddie]
grantcodes: Oh definitely! That’s major! I have that on my list of things before 1.0. Currently my site doesn’t support update and delete, so I probably need to add that feature to my site before Indigenous for iOS so I can test it properly 😄
tantek, KartikPrabhu, renem, Mandrake, AngeloGladding, [cleverdevil], barpthewire, cweiske, Mandrake_, [kevinmarks], red-key, sebsel, iasai_, swentel, jeremycherfas, iasai, filippos1 and [jgmac1106] joined the channel
#
david.shanske.com
edited /Micropub-extensions (+44) "/* Location Visibility */"
(view diff)
[kevinmarks] joined the channel
#
david.shanske.com
edited /Micropub-extensions (+82) "/* Visibility */"
(view diff)
#
david.shanske.com
edited /Micropub-extensions (+36) "/* Location Visibility */"
(view diff)
iasai_ joined the channel
#
skippy
good morning.
#
Loqi
skippy: tantek_ left you a message 2 days, 11 hours ago: re: "*all* elements on an MF2 JSON object are *always* arrays, even single-element items" here: http://microformats.org/wiki/microformats2#details_from_examples though it would be good to also be explicit in the parsing spec. Feel free to file an issue for that.
#
Loqi
morning!
[kevinmarks] and [miklb] joined the channel
#
[miklb]
good morning skippy
[colinwalker], KartikPrabhu, [snarfed] and [davidmead] joined the channel
#
aaronpk
what is a PWA?
#
Loqi
Progressive Web App (PWA) is a web site that a client can progressively enhance into a standalone app that's comparable with a native app https://indieweb.org/PWA
#
aaronpk
PWA << [https://adactio.com/notes/13743 Progressive web apps in the app switcher on iOS] (adactio.com)
#
Loqi
ok, I added "[https://adactio.com/notes/13743 Progressive web apps in the app switcher on iOS] (adactio.com)" to the "See Also" section of /Progressive_Web_App https://indieweb.org/wiki/index.php?diff=46886&oldid=38949
#
Loqi
[Jeremy Keith] Progressive web apps in the app switcher on iOS. https://adactio.com/images/uploaded/13743/large.png
[xavierroy] joined the channel
#
skippy
aaronpk: I opened a PR against p3k-micropub. Not sure how busy you are, but it's a pretty straightforward change.
#
aaronpk
oh yeah thanks
#
aaronpk
i'm not sure how i missed that
#
aaronpk
ah because i'm just using the toMf2() function in aperture :)
#
skippy
how would you feel about a followup PR that added a "toArray()" (or, alternately, a "unMf2()") method?
#
skippy
to unpack the array-of-arrays
#
aaronpk
"unpack"?
#
skippy
to convert the single-element arrays back into non-arrays.
#
aaronpk
I don't want to do anything like that in this library
#
aaronpk
this one is supposed to be strict mf2
#
aaronpk
you might want to check out XRay though, XRay can take the mf2 json and turn it into a much simpler data structure
#
Zegnat
skippy, interesting issue filed against the mf2 spec there.
#
Loqi
[aaronpk] XRay: X-Ray returns structured data from any URL
#
skippy
for my purposes, all I want to do is take the MF2 object creaated by p3k-micropub and convert the "properties" to a more sane native PHP array, so I can feed it to \Symfony\Component\Yaml\Yaml::(parse|dump)
#
aaronpk
ah, i do something like that in my website
#
skippy
so I can build YAML front matter for use with Hugo. i have the code, but seemed like a useful thing to add to your library.
#
skippy
Zegnat: interesting how so?
#
aaronpk
that sounds kind of like jf2, so maybe that would be a good thing for a jf2 library to do
#
Zegnat
It is interesting because mf2 is and isn’t JSON at the same time. The output of a microformats parser just happens to take the form of a canonical JSON representation of the data.
#
sknebel
especially since jf2 has rules about what properties can be arrays and which not, and you will need that for such a conversion
#
aaronpk
jf2 doesn't yet but it should ;-)
#
Zegnat
Probably also why micropub specificly refers to the parser output JSON, and not to something like “mf2 JSON”.
#
skippy
i havent had enough coffee to parse all those words Zegnat. :(
#
Zegnat
Hahaha, sorry
#
Loqi
hehe
#
aaronpk
I actually think jf2 should be thought of as a JSON serialization of microformats vocabularies like h-entry, rather than an alternate generic microformats serialization
#
aaronpk
that's how i've been using it anyway, and that's where the value is
#
sknebel
and aaronpk, it does explicitly say for a many of properties in the vocab that they *must* be single values?
#
sknebel
*of the
#
aaronpk
jf2 should, based on what the microformats vocabularies say. although i think i remember some discussion about this that h-entry doesn't actually say certain properties are single-value?
[unoabraham] and [kevinmarks] joined the channel
#
[kevinmarks]
I think all properties are potentially plural, but de facto analysis is useful.
#
sknebel
seems like jf2 says it for every property it explicitly knows, although it doesn't always match actual use
#
skippy
what is jf2?
#
Loqi
jf2 is a working prototype of a simpler JSON serialization of microformats2 intended to be easier to consume than the standard Microformats JSON representation https://indieweb.org/jf2
#
aaronpk
this "potentially plural"/"theoretically plural" thing ends up just pushing the problem elsewhere in the stack, like even as far down as to clients rendering data. making every consumer have to decide these things on its own isn't a good plan, which is why this needs to be standardized somewhere
#
aaronpk
i've been "standardizing" it in practice by making XRay make those decisions, and having a bunch of tools depend on its canonical output
#
schmarty
aaronpk: another question related to XRay - any interest in having XRay pick up responses that are part of an h-entry? i'm thinking u-comment, u-like, u-repost, ...
#
sknebel
example of mismatches: jf2 e.g. doesn't seem to allow multiple photo properties on a post, unlike other tools.
#
Zegnat
I like how mf2 doesn’t really depend on vocabularies at all, and things like h-entry are more or less just documentation of a microformat that has grown in use. So I would definitely like to see things like property plurality to be handled by something like jf2 rather than it getting merged into mf2
#
aaronpk
for example, at some point, something has to decide what to do with multiple published dates, even if that decision is to ignore all but the first date. since in practice pretty much all examples of this kind of content has one published date i just hardcoded that property as singular in XRay
#
schmarty
i'm using XRay's output to organize the links I want to send mentions to, and if those were in there i could send salmentions.
#
aaronpk
sknebel: where are you seeing that? the current jf2 spec doesn't say anything about vocabularies
#
aaronpk
also XRay explicitly returns an array for photo even if there is only one
#
sknebel
then what is "9.2.2 Required Fields and Required Formats" about?
#
sknebel
"photo MUST be a single string value if present on the top level feed object, its author property object, or any direct child entry object"
#
aaronpk
whoa i don't remember that
#
sknebel
it defines entries only as parts of feeds, but there it has a bunch of rules
#
Zegnat
That sounds like a contradiction with 5.4.1 Multiple URLs for video/audio/picture
#
Zegnat
Although that’s really about single HTML elements... Hmm
#
aaronpk
schmarty: i think i was waiting on returning comment stuff until i had some of the feed stuff worked out better in XRay
#
aaronpk
it might be time for that now though
#
aaronpk
tho i'm not sure i want it to always include responses in the parsed result, so might be something you ask for explicitly
#
Zegnat
Though 9.2.2’s video restriction (“MUST be an object”) does seem to conflict with 5.4.1’s “properties MAY be arrays”.
kaushalmodi joined the channel
#
kaushalmodi
TIL about jf2.. so is it standard to have indieweb adopting sites to support both mf2 and jf2?
#
kaushalmodi
Or is one approach "winning" over another? i.e. recognized by more endpoints?
#
aaronpk
kaushalmodi: right now jf2 is not published by any public websites, it's used more as a transport or internal representation for things
#
schmarty
aaronpk: nice. putting it behind a flag or explicit call makes total sense. from a plumbing perspective i am just hoping to avoid parsing the same page with multiple tools.
#
aaronpk
XRay outputs jf2, webmention.io sends jf2 to web hooks configured, etc
#
kaushalmodi
Ah OK, thanks.. I could have started working on a custom Hugo output format to do that otherwise :P
#
aaronpk
both mf2 json and jf2 are not intended to be formats that are published or output from a blog
#
Zegnat
jf2 can be generated from the output of an mf2 parser. So as long as you have mf2 in your HTML, you are peachy.
#
kaushalmodi
Cool! That's what I needed to know.
#
Zegnat
And note that “mf2 JSON” isn’t really strictly defined anywhere either. It is just that the microformats2 parsing specification results in a JSON object, so that is usually the *parser output* you will be seeing. Nobody is offering pre-parsed JSON from their websites as a way to support mf2, AFAIK.
#
aaronpk
A few people are ;-) I had it for a while as a rel=alternate but I don't think anyone ever did anything with it
leg joined the channel
#
Zegnat
Interesting. Any example of people still doing that though, aaronpk?
#
Zegnat
Maybe if I send an accept: json header when requesting your site? ;P
#
@JeffreyKeefer
@pfefferle Can I ask you a question about WebMentions, or is there a better way I can ask for support? I see comments in my WP admin comments so it appears to be connected, but they only appear as a number on the posts themselves.
(twitter.com/_/status/985890617778692096)
#
[kevinmarks]
Granary returns mf2 json as an option
#
aaronpk
[kevinmarks]: that's not publishing, that's just a conversion
#
aaronpk
Zegnat: i thought there was a wiki page with some examples but now i can't think of where it would be
#
Zegnat
Neither can I, and a random search didn’t turn it up for me.
gRegorLove__ joined the channel
#
aaronpk
that feature didn't make the cut for my redesign tho
#
Zegnat
Ah, on the JSON page. Alright.
#
Zegnat
So neither of you are supporting it any longer? Which makes sense, to be honest.
#
aaronparecki.com
edited /JSON (+92) "/* Indieweb Examples */"
(view diff)
#
aaronpk
updated
#
Zegnat
[kevinmarks], Granary being able to return it feels more like Granary being used as the mf2 parser, or as a general content extraction system like XRay. Seems fine to give a JSON response.
#
Zegnat
I think the /JSON page says it pretty good: JSON is “the canonical output of microformats2 parsers”. Such an output blob isn’t mf2 in itself, if you would ask me.
#
aaronpk
mf2 parsing doesn't result in JSON, it results in a native data structure in whatever language the parser is written in. it just happens that JSON is a convenient way to output that especially when sharing examples between languages.
#
Zegnat
Actually, officially it should result in JSON ;) The algorithm specifically starts with “start with an empty JSON”. Although I do agree that it makes little sense.
#
Zegnat
Parsing should also “return the resulting JSON”
#
Zegnat
Maybe I should volunteer taking JSON out of the spec. I’d be willing to set some time aside to tweak the sentences that refer to JSON specifically.
#
Zegnat
has fallen down the rabbit hole
#
sknebel
throws Zegnat a rope ladder
#
sknebel
(I don't think anyone is likely to be confused by this, so no need to bother IMHO ;))
leg and [eddie] joined the channel
#
[eddie]
Hmm can a website have multiple webmention endpoints?
#
aaronpk
"If more than one of these is present, the first HTTP Link header takes precedence, followed by the first <link> or <a> element in document order."
#
[eddie]
Ahh yeah
#
[eddie]
Hmm okay
#
[eddie]
Thinking about micro.blog stuff. Lol
#
aaronpk
i figured :)
renem, sebsel and [jgmac1106] joined the channel
#
[eddie]
I would say if you do add a fallback to m.b’s webmention endpoint if no endpoint is found for a reply you should be like 95% covered that all of your m.b replies should be good to go. There are a couple wordpress instances that can be tricky. They would see your reply but they might not be able to reply to your reply. But most cases you would no longer have to think about how or if you should reply
#
[eddie]
I say this from analyzing the manual replies I’ve been doing
#
aaronpk
haha, i really don't want to do that :)
[aaronpk] joined the channel
#
[kevinmarks]
I was thinking of that with mention.tech as a fallback webmention endpoint, but I would need to make it a bit more useful.
#
aaronpk
please don't make fallback webmention endpoints a thing
#
aaronpk
that will break the whole decentralized concept of webmention
#
[kevinmarks]
Well webmention.herokuapp.com and webmention.io are a bit like that already
#
aaronpk
no they aren't
#
Zegnat
You could have a webmention router that will send an incoming webmention to endpoint A, endpoint B, or both.
#
aaronpk
nobody hardcodes their webmention sending to those sites
#
Zegnat
[eddie], would a wm router be able to do what you want to accomplish? I have apparently missed some vital m.b WM context for this question.
#
aaronpk
Zegnat: right now there are a bunch of wordpress and static sites pulled into micro.blog, and when I see those posts in a reader, only the canonical URL is reported, so when I want to reply, my code checks the site for a webmention endpoint and doesn't find one. when in reality, if I were to send the webmention to micro.blog's endpoint, my reply would be sent and the author would see it
#
aaronpk
the actual fix is to get those sites to advertise micro.blog's webmention endpoint, but that requires some additional setup on the part of those sites
#
Zegnat
Ooh, interesting problem. So the POSSE-target of the blog does support receiving WM, but the blogs themselves do not.
#
[kevinmarks]
That feels like a case for more than one url in an h-entry
#
[kevinmarks]
The other half of that is people replying on micro.blog to the copy there, and it not pinging the webmention on the source post.
#
aaronpk
more accurate is using the syndication property to indicate the micro.blog url
#
aaronpk
that's not missing
#
aaronpk
micro.blog sends webmentions to the source post for replies
#
[kevinmarks]
Oh, odd. They don't seem to make it back to known
#
aaronpk
i think only if the first post came from your site
#
jeremycherfas
That is correct.
#
aaronpk
i don't get webmentions to replies i syndicate to micro.blog for example
#
jeremycherfas
If you post from Known and it is picked up by MB, replies on MB come back to Known.
#
[eddie]
To make this more difficult there is another layer: a person who has Wordpress and does all of their conversations on m.b. They have webmention endpoint on Wordpress allows m.b replies to become comments on their blog’s page. How do they receive IndieWeb replies?
#
[kevinmarks]
Ah, that may be it
#
[eddie]
They can’t add the micro.blog webmention because they want to receive replies FROM m.b but if they receive a reply directly on their Wordpress site from me, there would be no way for them to reply inside of m.b (their preferred social layer)
#
[eddie]
So that’s what is tricky. If this issue didn’t exist I would recommend that manton just provide some guidance on a help page that suggests people add the micro.blog webmention endpoint. But that can’t be used across the board as guidance because of the issue just highlighted
#
sknebel
There the "router" Zegnat mentioned would help - it could send a WM to micro.blog too
#
aaronpk
hm is that the same for my case?
#
aaronpk
where i have a webmention endpoint on my site, so i'm missing some parts of the conversation?
#
aaronpk
oh, no if [eddie] replies to my website, that reply won't be also pushed into his micro.blog account
#
grantcodes
With all the mf2 json / jf2 talk, I was thinking of converting my database all to jf2 but the spec doesn't seem quite ready yet
#
aaronpk
grantcodes: i would agree the spec doesn't seem ready yet, but XRay's format has been very stable now
#
aaronpk
that's what you see coming from aperture too
#
[kevinmarks]
Yes, that's the other issue of forked conversation
#
[kevinmarks]
This feels a bit like the salmention problem
kaushalmodi joined the channel
#
kaushalmodi
Being devil's advocate here, but doesn't mf2 json/jf2 look like JSON-LD? Just with different keys?
#
grantcodes
Yeah it feels like jf2 is done in theory, just some errors in the spec doc
#
grantcodes
Like I'm pretty sure `photo` should be allowed to be an array but says in
#
grantcodes
*it shouldnt
#
kaushalmodi
Sorry, I shouldn't have used "Just" in my last comment.. my view is very much from the surface level, so I am missing out the low level details
#
[kevinmarks]
No, because json-LD can have multiple equivalent forms, whereas mf2 json is more uniform. Jf2 was an attempt to be closer to the activity Streams 2 json format which is a constrained json-LD.
#
aaronpk
kaushalmodi: it might look similar to activity streams JSON, but JSON-LD is a very specific mechanism that allows aliasing properties and using namespace documents. "simple" JSON-LD looks just like JSON, but it means something very specific to those who care
#
grantcodes
kaushalmodi: I understand that though, it's a bit of a hurdle that the indieweb seems to use specs/formats that are not currently the most popular options
#
[kevinmarks]
Mf2 json is expressing properties with nesting, json-LD is expressing a graph of connections, so you can't do a simple equivalence test. You need to treat it as a graph.
#
[kevinmarks]
Json is the most popular option.
#
[kevinmarks]
Json-LD is a specialist tool.
#
Zegnat
Devil’s advocate: what would the “most popular options” be, grantcodes? ;)
#
[kevinmarks]
Html is an even more popular option.
#
aaronpk
most people using JSON-LD don't actually know about the LD part and are just using it as JSON
#
grantcodes
As someone who doesn't really understand it in depth, it seems like a way of writing machine readable stuctured data, so sort of the same goal as microformats
#
[kevinmarks]
We could do csv I suppose, that's fairly popular
#
aaronpk
yeah that's just the "JSON" part of it
#
grantcodes
Zegnat: Well JSON-LD seems to be taking over quite a bit to me, mainly just because google is pushing it for search results.
#
aaronpk
don't worry, they'll change their minds in another year or two
#
aaronpk
also they are just using it as JSON in those examples
#
Zegnat
Ah, sorry, I assumed you meant “specs/formats” as in alternatives to mf2/jf2/webmention, not alternative markup formats html/json/json-ld/...
#
aaronpk
that's what i mean by people who are using JSON-LD for google serps are just treating it as JSON
#
Zegnat
Google isn’t so much pushing JSON-LD (which is just a markup format) as they are pushing Schema as well, which would be the spec part
#
Loqi
[Aaron Parecki] Why Microformats? Owning My Reviews
#
grantcodes
Yeah sorry, my bad terminology
#
grantcodes
But for sure you don't see so much about microformats outside of the indieweb world
#
grantcodes
(not that I'm saying it's a bad thing)
#
aaronpk
you also don't see much about schema outside the google world ;-)
#
Zegnat
Yeah, I was looking into schema but kinda dropped it. Not a whole lot parsing happening that I could find.
#
Zegnat
OpenGraph is probably your best bet if you want to aim at amount of different consumers.
#
aaronpk
the only reason people care about schema right now is because google uses it for showing search results. as soon as google moves on to the next thing, everyone will forget about schema
#
grantcodes
Haha true, but the google world will always be much larger than the indieweb world for the forseeable future
#
aaronpk
opengraph seems to be being consumed by a lot more places
#
aaronpk
at least the minimal opengraph tags for article previews
#
aaronpk
you know what.. google has already started to move off of it, since they're pushing AMP for better search results now
#
grantcodes
I think the other thing that json-ld/schema/open graph has over microformats is the docs are much more accessible
#
aaronpk
that's a solvable problem :)
#
Zegnat
Are schema docs really much more accessible? I was trying to figure out whether I should add markup as a “blog” or as a “feed” for a collection of posts and was completely stumped.
#
grantcodes
That is true. I would like to help as well, but not sure I know enough about it to actually write stuff up
#
Zegnat
It only seems like the docs are more accessible because the JSON-LD blobs that SEO blogs publish, at least, that was my feeling before giving up again.
#
sknebel
don't think AMP counts as "moving off it", since they require Schema for many of the AMP-gated extras
#
sknebel
my experience is similar to Zegnats, there's documentation for stuff but little to no indication which of all that stuff is actually consumed by anything
[cleverdevil] joined the channel
#
[cleverdevil]
All of it makes my head spin. 😄
#
grantcodes
Well maybe choosing what markup to use is more difficult, but I find it way easier to figure out how to actually implement specific stuff vs microformats
#
[cleverdevil]
In many ways, I'd just prefer a huge spec filled with vocabularies.
#
[cleverdevil]
All strictly defined.
#
[cleverdevil]
But, I know why it isn't that way 🙂
#
Zegnat
I mean, sure, vocabularies schema.org has for you [cleverdevil]. If you understand their docs. http://schema.org/BlogPosting
#
Zegnat
I was looking at that, but didn’t feel it was worth the effort.
#
[cleverdevil]
This is part of why I've worked on the JSON Schemas for the vocabularies.
#
[cleverdevil]
So I can have a place that reminds me of all of the attributes that exist in the wild, and what they look like.
#
Zegnat
I also doubt it is actually easier to implement than microformats. This HTML is not for the faint of heart: http://schema.org/BlogPosting#social-media-2
#
grantcodes
Zegnat: Personally I don't like the schema html, but json-ld is usually easier for me to add
#
grantcodes
I like the separation between machine readable data and the human readable html
#
aaronpk
that's definitely something I've been thinking about lately as well
#
Zegnat
The JSON-LD is slightly easier to author, that is true, grantcodes
#
aaronpk
I like the DRY principle of having the human-readable data be the same as the machine-readable data
#
aaronpk
but in practice it seems to break in a few ways, especially with wordpress with all the themes
#
Zegnat
Themes are definitely a problem there, yes. I also wished HTML wasn’t such a pain-in-the-butt to parse.
#
Zegnat
JSON, by comparison, is a lot easier.
#
Zegnat
(Of course, by putting your JSON in your HTML, that is still a bit problematic.)
#
aaronpk
like i'm 99% sure if the indieweb wordpress plugin were to create alternate JSON representations of the page, or embed the mf2 json in the page like schema's embedded json-ld, we would have far better results interoperating with all the wordpress sites
#
kaushalmodi
grantcodes++ about separating meta-data from content
#
Loqi
grantcodes has 13 karma in this channel (16 overall)
#
grantcodes
Yeah, the other one I run into is when I have a bunch of data that I am fine with making available to be parsed but is of no use to people reading the site. Like geo coordinates, my author data on every post etc
#
kaushalmodi
at least for Hugo themes, supporting a separate JSON-based metadata file generation is really easy
#
kaushalmodi
that would even result in faster proliferation of that format
#
kaushalmodi
Currently, one needs to manually tweak the template files for single pages, list pages, etc. to embed the mf2 classes
#
Zegnat
Hmm, do you really need to do that? The same h-entry markup that gets used in an h-feed could also stand by itself on a single item page, surely? With no extra changes to markup?
#
aaronpk
i show different things on the list view vs permalinks
#
kaushalmodi
Zegnat: Yes, the templates for list vs single views are different
#
kaushalmodi
single view would have h-feed > h-entry > p-summary
#
kaushalmodi
s/single/list/
#
kaushalmodi
single view ould have h-entry > e-content,e tc
#
kaushalmodi
as for the json-based indieweb standard, users will need to just add a line or two to their site config to enable that
#
aaronpk
for anyone considering this, it's worth reviewing this page though:
#
aaronpk
what is a side file?
#
Loqi
The sidefile-antipattern is a violation of the DRY principle by the use of secondary files (typically in some one-off XML format) to provide information that is a duplicate of information available in primary files on a website (in HTML), and is an antipattern due to typical DRY violation problems such as out-of-date, missing, corrupted, or outright false data https://indieweb.org/side_file
#
Zegnat
kaushalmodi, oh, interesting, you do not include full e-content on feeds?
#
kaushalmodi
About "out of date", how would it be so? Do people manually create those?
#
kaushalmodi
Zegnat: I like to have list pages with only summaries. People can click on the permalink to read the full article if interested after reading the summary.
#
aaronpk
the "out of date" argument is based on the idea that people normally interact with their visible HTML more often than their side files, so if they change something about the visible HTML, that often doesn't end up reflected in the side file
#
kaushalmodi
So that list page directly translates to h-feed
#
aaronpk
both manually edited as well as themed sites
#
kaushalmodi
aaronpk: Understood, but with static site generators, I seems to be a non-issue.
#
kaushalmodi
*that seems
#
aaronpk
not exactly
#
[eddie]
Interestingly this post (http://cweiske.de/tagebuch/broken-plain-sight.htm) points out how microformats can be as bad as a side file
#
Loqi
[Christian Weiske] Broken in plain sight
#
aaronpk
at some point you're going to make a change to your visible HTML in your static site generator, and you'll have to then also check that your side files are correct
#
kaushalmodi
The side file's purpose would be to just nest the key/value pairs in the output JSON
#
kaushalmodi
So that would be highly decoupled from the HTML
#
kaushalmodi
in the JSON template, it would look like: "title": {{ .Title }}, "author" : {{ .Author }}, "content": {{ .Content }}, and so on
#
aaronpk
cringes at the thought of JSON templates
#
aaronpk
you're going to run into issues that way for sure
#
aaronpk
better to create a data structure then use a real JSON encoder to output JSON
#
aaronpk
otherwise you end up in JSON escaping hell
#
kaushalmodi
haha, it's not so bad in Hugo at least
#
kaushalmodi
that's the template to create a JSON for my whole site
#
[cleverdevil]
The web framework that I created years ago works by having controllers return JSON-like native Python data structures, and if the client requests JSON, it sends it, if it requests HTML, then the JSON data structure is passed to a template, which then creates HTML
#
[cleverdevil]
Best of both worlds 🙂
#
kaushalmodi
this is what those few lines create: https://scripter.co/search/index.json
#
[cleverdevil]
thinks side files are totally fine... in spite of the fact that they're a violation of DRY, they're oftentimes a lot easier to generate than HTML.
#
kaushalmodi
aaronpk: about "using JSON encoder".. yes.. I gave a raw example earlier.. I use the Hugo jsonify function to convert dict/map to json
benharri joined the channel
#
skippy
side files dont violate DRY. You're plugging data into XML for an RSS feed, or plugging data into an HTML template for humans. The content is not being repeated, and the XML or HTML templates are purpose built for differing needs.
tantek joined the channel
#
skippy
the output files are being composed from the same canonical source of data: the author name, author link, content title, content body, etc.
#
aaronpk
they literally violate DRY because the same data exists on multiple URLs
#
[cleverdevil]
They're pretty much the definition of "repeating yourself" 😉
#
skippy
by that argument, syndication to micro.blog or others is a violation of DRY
#
[cleverdevil]
I just don't know if I care in this context...
#
aaronpk
syndication is completely different, especially since micro.blog is pulling the content from my primary data source anyway
snarfed and barpthewire joined the channel
#
skippy
the alternative is to go through major contortions to deal with a single data trying to be used in sometimes orthoganl ways.
#
aaronpk
you could argue that conneg is not DRY, tho we all know what a mess that ends up being to deal with
#
skippy
shrugs.
#
aaronpk
like [cleverdevil] said, it's not *necessarily* bad, but it is literally repeating yourself, so definitely falls under DRY
#
[cleverdevil]
One thing I've noticed about microformats is that the notion is you can simply sprinkle some classes onto your existing markup, and viola, you're good to go. But, in practice, you often have to restructure your markup for that to work, or add new markup.
#
[cleverdevil]
With a side file, you're sort of starting from scratch, and can create precisely what you need to create. Sometimes those side files are even well documented 🙂
#
kaushalmodi
cleverdevil: I can vouch for that.. had to add few wrapper divs just for mf2
#
[kevinmarks]
the biggets change I've seen in this realm in the last few years is GraphQL, which has actual adoption unlike previous attempts at JSON minimising
#
kaushalmodi
Not sure where this discussion is going, but I can see a wider adoption of the side-files approach than people having to hand-edit their html/templates to add mf2
#
[eddie]
I definitely don’t have a bias to either way. They both have their own headaches. The one thing I like about mf2 is what it’s done to enable webmentions, etc. I have found that mf2 does require more focus than I expected to maintain and to help new people get right
#
[kevinmarks]
except that "With a side file, you're sort of starting from scratch" is a bit of a trap, and you end up with a side file for each consumer
#
aaronpk
yeah side files for permalinks is going to open up a whole host of issues for webmentions, and would also likely be immediately spammed
#
[kevinmarks]
a side file for every silo
#
Loqi
Decaying Silos as dead malls 2018-01-20
#
[eddie]
That makes sense.
#
[cleverdevil]
That's true.
#
[kevinmarks]
GraphQL puts a bit more onus on the consumer to say what they are actually using
#
[cleverdevil]
Yeah, I think the key takeaway for me is: side files aren't all bad. They're also not all good.
#
[kevinmarks]
rather than "here's an endpoint with deeply nested JSON, spelunk away"
#
[kevinmarks]
Google seems particularly prone to recreating this every few years as another generation of coders moves through
#
[eddie]
Yeah I’m okay with side files. I doubt we’ll ever really get away from them. I’m also all in on webmentions and the connections that creates. So I’m in support of the easiest and safest way to do webmentions. And if in the future that means changing things, I’m good with it.
#
sknebel
reading scrollback: if you prefer the JSON-LD like blobs in your pages over the mf2/micro-data style of annotating the existing data, nothing stops you from creating a hidden div with mf2-tagged data for the same effect
#
aaronpk
yes the question is getting others to consume that rather than parsing the html
#
skippy
the advantage of side files is that the URL is purpose built for the consumer. Making machine-readable and human readable content on the same URL is a laudable goal, but makes it very hard to allow the most expressivity for the content creator when presenting to humans
#
skippy
given the constraints of the machines.
#
[cleverdevil]
I'd really like my CMS to just return the data in whatever format the client asks for in the `Accept` header 😛
#
[cleverdevil]
Same URLs for everything.
#
[eddie]
:exploding_head:
#
aaronpk
I do think actual side files will be a huge pain to consume for webmentions, but embedded mf2 data like the schema json-ld islands would at least not break all the webmention verification steps
#
[cleverdevil]
(Puny will do this, by the way... it already does for most things).
#
[kevinmarks]
except that making the machines parse the human readable part is a good constraint on the spammers
#
aaronpk
[cleverdevil]: cept that doesn't work for static sites
#
[cleverdevil]
[aaronpk] it can.
#
[cleverdevil]
Its just that no static site CMSes do that *now*.
#
[cleverdevil]
A simple web server configuration.
#
aaronpk
by definition it can't, otherwise it's not a static site
#
[cleverdevil]
I disagree 🙂
#
[cleverdevil]
You're conflating the files on the disk with how the web server decides to serve them.
#
[kevinmarks]
we are getting more embedded json, except that is all we getting and it is hydrated by client side js
#
aaronpk
if it requires special server configuration then it's not static
#
[cleverdevil]
muses on that for a moment.
#
aaronpk
the whole point of a static site is that you can drop the files into any server and it just works
#
[cleverdevil]
I think that's *one* of the points.
#
[kevinmarks]
even a local file:
#
[cleverdevil]
Not necessarily the *whole* point 🙂
#
aaronpk
anything else isn't a static site, it's just a different way of storing content internally
#
aaronpk
and moving the CMS layer out to the http server
#
[kevinmarks]
there are nuances about relative links
#
[cleverdevil]
I can see your point, [aaronpk].
#
[cleverdevil]
Either way, I think this is a small burden.
#
aaronpk
nah, actual conneg is a dealbreaker for anyone who is publishing using a static site generated
#
aaronpk
generator
#
[kevinmarks]
which can still be a good practice - eg tantek's bim archives are still viewable even if his php dies
#
[cleverdevil]
It doesn't work for static sites, but static sites could simply have a `.html` and a `.mf2json` file for each URL.
#
[cleverdevil]
(For example)
[tantek] joined the channel
#
aaronpk
right, which is explicitly not conneg
#
kaushalmodi
what is conneg?
#
Loqi
conneg is short for HTTP Content Negotiation, a method by which a browser or other web client can request content of various types from a web server, and depending on what is requested, and what the server supports, it tries to provide the best it can https://indieweb.org/conneg
#
[kevinmarks]
s/simply/complicatedly/
#
[cleverdevil]
Busted, [kevinmarks]
#
kaushalmodi
kevinmarks: It really is "simply"
#
[eddie]
Back to the earlier point of Wordpress support. I don’t necessarily know that this is a good idea or possible. But would Wordpress putting the mf2 embedded in the page but hidden solve the ocean of themes support issue?
#
[kevinmarks]
not if the themes have mf in too
#
[tantek]
Not sure. It would be potentially subject to all the same metacrap problems of every thing else that does that
#
Loqi
[tantek]: sebsel left you a message 2 days, 8 hours ago: re your reacji brainstorming: sounds like what I've doing with mine https://seblog.nl/2017/02/20/4/day-36-reacji (I just don't post them that often, unfortunately)
#
aaronpk
yes i believe it would
#
[kevinmarks]
then you do get 2 copies
#
[tantek]
Also there’s a big misconception of equivalency
#
skippy
duplicating the mf2 content in a hidden div is punishing human viewers by making them download all that content that they'll never see. Yes, our pipes are big enough usually that its not a huge burden, but I dislike that approach.
#
aaronpk
(assuming you solve all the other problems with duplicate data of course)
#
[tantek]
Metacrap only works for the whole page
#
[tantek]
Whereas proper in-content mf2 works for the page, posts, authors etc
#
[tantek]
All of it
#
[cleverdevil]
Its a nice shim that could be done in a plugin.
#
[cleverdevil]
Rather than depending on WP.org core to solve the actual problem, which I doubt they will anytime soon.
#
[tantek]
That’s the reason search engines push metacrap. They primarily care about just the “page” and its “relevance” to search
#
[cleverdevil]
Pragmatic solution, IMO.
#
skippy
all of this mf2 discussion is reminiscent of the older push to have semantic XHTML. Regular users dont generally give a wet slap about the different between <strong> and <bold>, because they're consumign visually only.
#
[tantek]
As long as themes control what content is displayed, that’s where the markup will have to go
#
[tantek]
Skippy mostly right. For any markup to be relevant, it has to have an observable effect.
#
[cleverdevil]
In an ideal world, [tantek], but WordPress isn't an ideal world. 🙂
#
skippy
as such, regular users are unlikely to care too much about DRY, or side files, etc.
#
[eddie]
That makes sense. The question is in a world where Wordpress core likely won’t solve it and there are thousands of Wordpress installations, what is the “bare minimum” you can achieve to get some additional standard support since we can’t rewrite every theme
#
aaronpk
it's certainly possible to create a wordpress plugin that inserts a <script> tag with mf2 json that would work regardless of which theme is used
#
[tantek]
Cleverdevil, not an ideal world, just the most likely to have accurate data
#
[kevinmarks]
the counterpoint to that is that making things accessible helps everyone, not just visually impaired users
#
[cleverdevil]
I think the chances of WordPress themes doing "the right thing" in the future is pretty much zero.
#
[tantek]
Whereas metacrap tots or gets stuffed with seo spam
#
[cleverdevil]
I hope I'm wrong, though!
#
[eddie]
cleverdevil++
#
Loqi
cleverdevil has 23 karma in this channel (80 overall)
#
[cleverdevil]
WordPress is dominant, so it'd be great if it were out front leading in this space.
#
[eddie]
I agree. I hope you’re wrong but fear you’re right 😁
#
[cleverdevil]
But... they're mostly obsessed with market share and other concerns, not with microformats or IndieWeb.
#
[cleverdevil]
The good news is that there is a direct path to changing that: convincing Matt Mullenweg.
#
skippy
WordPress is too focused on their Gutenberg effort.
#
[cleverdevil]
But, good luck with that 🙂
#
[tantek]
Cleverdevil that’s what happens when projects / companies get big. They primarily care about more growth
#
aaronpk
having been using my reader for a little while now I'm also a bit disenfranchised with the hope of wordpress sorting out the theming issues in order to be able to support mf2 properly
#
[cleverdevil]
I don't blame them, really, I understand it.
#
[tantek]
I think if we had a good reader demo that showed how much higher quality mf2 feeds have, that would be convincing (for Matt and others)
#
[cleverdevil]
I'd much prefer a pragmatic, non-ideal solution that doesn't depend on WP.org, than no solution at all.
AngeloGladding joined the channel
#
[cleverdevil]
(In the meantime, I mean).
#
[cleverdevil]
The best chance at that may be Micro.blog, IMO.
#
skippy
this is, to me, the most telling sign on WP's motivations: https://wordpress.org/plugins/disable-emojis/ the fact that you need a plugin to disable this feauture that was added to core is sad.
#
[cleverdevil]
Needs to be a commercial service
#
Loqi
[Ryan Hellyer] Description This plugin disables the new WordPress emoji functionality. Note: Emoticons will still work and emoji’s will still work in browsers which have built in support for them. This plugin simply removes the extra code bloat used to add suppo...
#
[tantek]
As in show side by side how plain / boring / less info you see in someone’s RSS feed, vs h-feed
#
aaronpk
right now I can't say that h-feed always looks better in my reader
#
[tantek]
Have you filed issues?
#
[tantek]
It should always look better since it can show more info
#
aaronpk
*can* and *does* are different though
#
[eddie]
That requires that people mark up their sites correctly
#
aaronpk
for example, I don't see a photo on [eddie]'s posts
#
[tantek]
Especially all the responses
#
aaronpk
or adactio's
#
aaronpk
actually i don't have any author information for adactio
#
[tantek]
Eddie, no it requires that their code generates their site correctly, like generate the RSS feed etc
#
aaronpk
er i take that back, i'm not sure where [eddie]'s photo went in that channel cause it appears in another
#
[eddie]
You don’t see my photos? How strange. I must have lost markup somewhere
#
[eddie]
Oh! Haha
#
[eddie]
I’ve noticed some weird Monocle bugs
#
[eddie]
Most the time I do see photos but sometimes they are cut off
#
aaronpk
well this is a good example of the state of h-feed https://stream.indieweb.org/
#
[tantek]
aaronpk, surprised about adactio, perhaps file an issue on indiewebify to detect whatever he is doing wrong
#
aaronpk
i added only the best examples to that site
#
[tantek]
aaronpk of course we can continue improving h-feed practices, but that requires capturing them when we see them
#
[tantek]
One obvious are to improve (feeling this personally) that would really shine beyond RSS, is richer replies. With reply contexts etc
#
[tantek]
In-stream
#
[tantek]
RSS can’t do that
tantek joined the channel
#
skippy
that stream reveals interesting stuff.
#
skippy
no author on jeremycherfas post. HTML included with Khurt Williams author name.
#
[kevinmarks]
on the accessibility front, this is still worth reading, despite some of the advice being a bit dated, in terms of how to think about this https://web.archive.org/web/20090225235405/http://diveintoaccessibility.org:80/introduction.html
#
aaronpk
oh I apparently did add some atom/rss feeds to that, for wordpress sites that had bad mf2 markup
#
aaronpk
Khurt's is an RSS feed which has HTML in the author element https://islandinthenet.com/feed/
#
kaushalmodi
to demonstrate the simplicity, this is all it took to implement jf2
#
loqi.me
created /nymwars (+240) "prompted by [kevinmarks] and dfn added by [kevinmarks]"
(view diff)
#
jeremycherfas
Which one do you mean, skippy?
#
skippy
jeremycherfas: "Chgange for a time" on v
#
[kevinmarks]
[kaushal_modi] can you make your json have utf8 rather than \u003f stuff in?
#
kaushalmodi
Now I have the jf2feed.json file for all the single pages
#
jeremycherfas
The Change for a time post got picked up from my /posts page, not sure why the h-card doesn't come though for that.
#
[kevinmarks]
'cos that is nassty json
#
kaushalmodi
kevinmarks: hmm, need to figure that out..
#
aaronpk
jeremycherfas: right now aperture only parses the feed/stream page, not permalinks, so need to make sure all the info is available on that page
#
Loqi
[Jeremy Cherfas] Change for a time
#
aaronpk
right it's not looking at that URL
#
Loqi
[Jeremy Cherfas] Change for a time
#
sknebel
aaronpk: that has an author propertiy too?
#
jeremycherfas
But inside h-entry
#
aaronpk
looks like that has the home page URL as the author property, but there is no h-card on the page with that URL
#
skippy
kaushalmodi: do you have h-feeds in your Hugo list pages?
#
kaushalmodi
skippy: yes, you can check that on my home page too
#
sknebel
aaronpk: ah, so you don't follow links for authorship?
#
aaronpk
yeah it *only* looks at what's on the page, doesn't do any further HTTP requests
#
aaronpk
I didn't want to deal with the implications of the potential explosion of http requests that would cause
#
kaushalmodi
kevinmarks: May be that code-block heavy page uncovers a bug in Hugo
#
kaushalmodi
interesting.. Loqi reports the reply-to Permalink
#
aaronpk
(that might be the fault of unmung)
#
aaronpk
Loqi is parsing the unmung URL
#
Loqi
Jeremy Cherfas
#
jeremycherfas
I'm thoroughly lost now
#
tantek
for (nearly) every use of pin13 above (which is rather raw / low level), our goal should be to replace it with indiewebify (which should show higher level summaries of what to fix)
#
[kevinmarks]
unmung can confuse escaped html with generated html, true
#
aaronpk
jeremycherfas: it's because https://www.jeremycherfas.net/blog doesn't have the full h-card, and Aperture doesn't actually go follow the link and fetch your home page
#
sknebel
jeremycherfas: aaronpk doesn't do the full authorship algorithm, that's why it doesn't show up
#
tantek
every pin13 URL in context above ^^^ is demonstrating a use-case for indiewebify
#
tantek
please file feature requests on indiewebify
#
jeremycherfas
I actually gave up on indiewebify because it kept telling me to things that I did not in fact need to do.
#
skippy
ditto
#
jeremycherfas
Thanks for the explanation, sknebel. But aaronpk is this something that is likely to change in Aperture?
#
tantek
jeremycherfas could you report bugs on those features saying as much?
#
aaronpk
jeremycherfas: not any time soon. adding an additional HTTP request adds a nontrivial amount of work that the server has to do, so I want to make sure I do that right when I do it
#
kaushalmodi
tantek: I reported one.. indiewebifyme doesn't recognized the u-author in h-entry, but pin13 does: https://github.com/indieweb/indiewebify-me/issues/72
#
Loqi
[kaushalmodi] #72 Author linking fails between h-entry/u-author and external h-card/u-url
#
tantek
kaushalmodi++ thank you!
#
Loqi
kaushalmodi has 2 karma in this channel (3 overall)
#
aaronpk
for example, do I fetch the home page each time that URL is encountered within one fetch of the h-feed? do I cache it within the parsing of the one h-feed fetch? do I cache it beyond just the one fetch? when do I invalidate the cache?
#
jeremycherfas
I could indeed tantek, but it looks like the repo has not received a lot of love lately.
#
sknebel
caching for 24 hours or so would be probably be fine for starters
#
snarfed
repo "age" is overrated as an indication of quality or maintenance
#
aaronpk
+1 snarfed
#
snarfed
mature projects can be "done" ish and not have much activity but still be actively maintained
#
snarfed
file bugs! send PRs!
#
aaronpk
sometimes time since last update reflects a level of stability
#
snarfed
aaronpk++
#
Loqi
aaronpk has 137 karma in this channel (1621 overall)
#
kaushalmodi
kevinmarks: Looking at the unmung output for the plantuml link you posted earlier, I don't see what's wrong..
#
aaronpk
sknebel: in that particular case it makes more sense to cache just within the one fetch of the h-feed, since that requires less storing of data and less chances of getting old cache data
#
kaushalmodi
Is it the svg text representation showing up in "text".. that page is mainly svg files
#
sknebel
snarfed: the fact that 6 months old commits haven't even been deployed might though...
#
snarfed
sknebel: sure
#
[kevinmarks]
do I need to login to ownyourgram with the full profile url of my known site?
#
skippy
an h-card generally points to a domain, which indieweb asserts is "you". is there any even anecdoatal data about "identity expiration", as a result of domain expiration or domain migration?
#
[kevinmarks]
what is linkrot?
#
Loqi
It looks like we don't have a page for "linkrot" yet. Would you like to create it? (Or just say "linkrot is ____", a sentence describing the term)
#
skippy
there's a subtle difference between rotting links and rotting domains, though.
#
aaronpk
[kevinmarks]: ownyourgram verification might be down right now due to instagram changes again
#
aaronpk
i've been seeing reports from people but haven't looked into it yet
#
skippy
i might change my permalink structure, while still maintaining my domain name
#
[kevinmarks]
"eventually every URL ends up as a porn site" - Tim Berners-Lee
#
[kevinmarks]
this was failing at the redirect stage
#
loqi.me
created /linkrot (+23) "prompted by [kevinmarks] and redirect added by tantek"
(view diff)
#
sknebel
aaronpk: should issues on stream.indieweb be reported as aperture bugs or does that fall under "this is not supported"?
#
aaronpk
hm, sure start there
#
aaronpk
it's either that or a monocle bug
#
loqi.me
edited /nymwars (+94) "[kevinmarks] added "http://epeus.blogspot.com/2011/08/google-plus-must-stop-this-identity.html" to "See Also""
(view diff)
#
aaronpk
(stream.indieweb.org is actually served by monocle)
#
sknebel
e.g. one of miklb's posts doesn't show an author either, despite having markup
#
aaronpk
ultimately it's XRay that's doing that parsing so if you want to go to the source of the problem...
#
sknebel
hm, that sees it...
#
aaronpk
oh right, XRay's HTTP API does do the additional fetch
#
aaronpk
XRay as a library won't do an additional HTTP request it if you give it the HTML directly
#
sknebel
it's in the html
#
Loqi
[Michael Bishop] /me whispers #indieweb
#
aaronpk
is it in the HTML of https://miklb.com/ though?
#
Loqi
Michael Bishop
#
sknebel
ah, there the h-card is inside the h-feed, not a property. I thought you fetched the individual pages too
#
aaronpk
nope, i really do mean it doesn't do any additional HTTP requests
#
aaronpk
if those h-entrys had a u-author property with a u-url of his home page, xray would find it because the h-card is on that page
#
sknebel
or at least an author property on the feed
#
sknebel
I presume
#
aaronpk
there isn't an h-feed on the page, but yes that should work
#
aaronpk
(tho i think that's the one i forgot to implement in XRay, which i consider a bug that it's missing)
#
sknebel
you could follow his firehose feed, that has a h-feed an author properties
swentel joined the channel
#
sknebel
and now I'm seriously confused what tab I was looking at seconds ago when I saw an h-feed...
#
kaushalmodi
aaronpk, kevinmarks: Just following up on the jf2 discussion.. is this jf2 feed getting parsed correctly? Here's an example: https://scripter.co/fragmentions/jf2feed.json, but any single post page on my site has that jf2 format json.
#
aaronpk
technically that's a jf2 post, not a feed, since there's only one thing there
#
aaronpk
summary should not contain HTML
#
aaronpk
other than that it looks like i'd expect
#
aaronpk
ccccccfiucnbictggkiunrefvltltvvtbjkcccdlnchg
#
aaronpk
bahaha oops
[kaushal_modi] joined the channel
#
[kaushal_modi]
Yes, I just implemented an enter type jf2 for a quick demo
#
[kaushal_modi]
I'll fix the summary
#
skippy
yubikey misfire, aaronpk ?
chrisaldrich joined the channel
#
aaronpk
i've never been able to figure out how to decode those without using the yubicloud service
#
swentel
aaronpk, fetching the feed in aperture is done by watchtower iirc ? Is the source code from that available somewhere, want to try and figure out why it's ignore my timeline feed :)
#
Loqi
[aaronpk] Watchtower: 🏰 a minimal API for watching web pages for changes, roughly speaks the WebSub protocol
#
aaronpk
doesn't try to interpret anything, just passes the content over to aperture
KartikPrabhu and [miklb] joined the channel
#
[miklb]
am I missing some markup?
#
aaronpk
[miklb]: depends on how much you want to strictly comply with the authorship algorithm or make things slightly easier for consumers :)
#
aaronpk
right now you pass the /authorship algorithm, but aperture doesn't follow it exactly
#
[miklb]
of course I want it to be consumer friendly
#
www.boffosocko.com
edited /plurality (+223) "/* See Also */ Conway's Law"
(view diff)
#
swentel
aha, thanks!
#
aaronpk
the smallest change you can make to fix it is to add <a href="/" class="u-author"></a> inside each of your h-entrys
#
aaronpk
since you already have the h-card on the page too
#
sknebel
the h-entries on the front page to be specific
#
skippy
in the spirit of DRY, and since a site like miklb's has content *only* originated by him, is there an easier way to say "I wrote all of these" one time, rather than "I wrote this" for each one?
#
aaronpk
skippy: yes that would be wrapping the whole thing in h-feed and putting the author information there
#
aaronpk
but that is a bigger change to the markup
#
[miklb]
I do occasionally do reposts
#
[miklb]
aaronpk I can do that
#
[eddie]
miklb: you are still the author of the h-entry repost though. Just not the author of the reposted content. But that’s at another level
#
loqi.me
created /tummler (+198) "prompted by skippy and dfn added by [kevinmarks]"
(view diff)
#
[miklb]
OK, I think I added them in the right place
#
aaronpk
looks right! (I'm hoping the missing slash on the h-card URL doesn't throw off XRay)
#
tantek.com
edited /plurality (-223) "Conway's law nothing to do with plurality, cited podcast incorrectly overgeneralizes Conway's law to being about self-design. Undo revision 46912 by [[Special:Contributions/Www.boffosocko.com|Www.boffosocko.com]] ([[User talk:Www.boffosocko.com|talk]])"
(view diff)
barpthewire joined the channel
#
aaronpk
now i just have to wait for miklb to post something to see if it shows up right in monocle :)
#
tantek
I was so close to fixing my reacji reply-contexts but got stuck on PHP emoji detection heuristics
#
tantek
ben_thatmustbeme's library is way too much to call on every text post
#
[kevinmarks]
could you do a quick check for possible emoji first?
#
[kevinmarks]
like "is this short but has astral plane chars" ?
#
aaronpk
tantek: mine takes a different approach, but might also be too much for you https://github.com/aaronpk/emoji-detector-php
#
Loqi
[aaronpk] emoji-detector-php: This library will find all emoji in an input string and return information about each emoji character.
#
[kevinmarks]
though welsh flags might not trigger it
#
tantek
aaronpk that sounds like much more functionality than I need
#
[kevinmarks]
or combined families
#
aaronpk
there is a `is_single_emoji` function
#
aaronpk
which does a few checks to abort early in some easy cases https://github.com/aaronpk/emoji-detector-php/blob/master/src/Emoji.php#L66
KartikPrabhu joined the channel
#
[kevinmarks]
try ":flag-wales:".length
#
aaronpk
haha yep
#
tantek.com
edited /antipatterns (+430) "/* design for silos or enterprise */ enterprise design antipatterns, a place for chrisaldrich's Conway's law links"
(view diff)
#
aaronpk
lol "The Wales emoji is a sequence of the 🏴 Waving Black Flag, 󠁧 Tag Latin Small Letter G, 󠁢 Tag Latin Small Letter B, 󠁷 Tag Latin Small Letter W, 󠁬 Tag Latin Small Letter L, 󠁳 Tag Latin Small Letter S and 󠁿 Cancel Tag emojis."
#
schmarty
it shows up for me in Chrome and FF as just a black flag, haha
#
aaronpk
huh my chrome renders it right
#
[kevinmarks]
mobile got it first
#
tantek.com
edited /antipatterns (+116) "fix sections"
(view diff)
snarfed joined the channel
#
snarfed
!tell KartikPrabhu,[kevinmarks] thanks again for all your recent work on mf2py! i can't wait to start using it. any chance of a pypi release soon?
#
Loqi
Ok, I'll tell them that when I see them next
tantek, wiobyrne, eli_oat and [eddie] joined the channel
#
[eddie]
Well that was pretty easy, aaronpk! Channel Searching!
#
Loqi
[Aaron Parecki] Nice! Yeah I'm having that problem too. One thing I like about glowing-bear.org is it has an option to only show IRC channels with new content, and there's a "search" box at the top of the list so you can quickly access your other channels. I think I...
#
aaronpk
oh nice
#
aaronpk
eddie++
#
Loqi
eddie has 30 karma in this channel (55 overall)
KartikPrabhu joined the channel
#
[eddie]
Searching happens against the entire set, even if your main view is the unread channels. Much nicer!
#
aaronpk
perfect
#
[eddie]
Lol just goes to show how easy things are when it’s stuff Apple expects you to do. Add a red border on the left hand side of a tableviewcell? Good luck! Haha
#
swentel
hehehe
#
swentel
that's searching in the channels you own right?
#
[eddie]
Yep, correct
#
swentel
ok, haven't tought about that yet, only have 6 channels atm
#
[eddie]
Yeah at 6 channels it’s not an issue
#
[eddie]
At 33?
#
[eddie]
Hahaha!
#
Loqi
awesome
#
aaronpk
#poweruser
#
swentel
I don't want to put too much pressure on aperture heh
#
swentel
but I'm going to setup one myself once I have the hwc site up for my local community here
#
swentel
so I can't battletest that one :)
#
[eddie]
Haha yeah. I’m hosting mine locally, so I’m not worried about being a bad shared user
#
swentel
s/can't/can
#
[eddie]
Very cool!
eli_oat joined the channel
#
swentel
[eddie], btw, do you update the 'unread' per article that you scroll by (a bit like monocle does), or do you reset it immediately once you enter a channel ?
[miklb] joined the channel
#
[miklb]
aaronpk I posted a note, will be curious if it comes through correctly
#
[eddie]
Well this next update I plan to add some new options but currently it only marks as read if you interact with it (reply, view original url, etc) or press the “read” button at the top of the channel which marks the whole channel as read
#
aaronpk
[miklb]: it did!
#
[eddie]
Swentel: however I’m planning on adding the ability to mark as read when it scrolls out of view
#
[eddie]
But it will be a configurable option per channel
#
swentel
oh, interesting
#
[eddie]
Because I don’t want all of my channels to do that. My Saved channel should ONLY be marked as read if I interact with an item
#
swentel
makes sense
#
[eddie]
I use that as my own personal Instapaper. In fact, currently the channel is ACTUALLY populated by my Instapaper lol
#
swentel
writing that idea down, interesting
#
swentel
focusing on multi-accounts atm
#
[eddie]
Awesome. Yeah, that’s a big one: multi accounts
#
pstuifzand
the account thing on Android was quite a bit of work
#
[eddie]
aaronpk: Does Aperture support timeline searching? I see it marked as TBD on Microsub spec page so I’m guessing no?
#
swentel
damn :)
#
pstuifzand
the micropub-android repo has a "complete" implementation
#
pstuifzand
it's not really "multi-" though
#
pstuifzand
it will always pick the first one
#
pstuifzand
I guess the hardest part was keeping all the callbacks straight
#
pstuifzand
swentel: I'm already amazed that you kept the code as clean as you did.
#
swentel
hehe thanks
#
swentel
still want more cleanup though
#
swentel
but I'm focused on getting stuff working at the moment
#
pstuifzand
All the callbacks, intents and activities completely took over the code
#
pstuifzand
what part ?
#
swentel
oh, I want a single request base class, a base class for post types
snarfed joined the channel
#
swentel
and also a view class per post display (for the microsub part
#
swentel
too many if else shit in the timeline at the moment
#
pstuifzand
I see, the onResponse method in the timeline, is quite a bit of that
[kevinmarks] joined the channel
#
[kevinmarks]
@pstuifzand can I get on the android seed list please?
#
swentel
I'm glad though that testers can post to their site though
#
swentel
that's encouraging
#
swentel
and exciting since they are all using diferrent platforms
#
pstuifzand
[kevinmarks], sure I have send you an email many weeks ago, did you not receive it?
#
pstuifzand
I will find the links perhaps it already works
#
pstuifzand
that's the optin url for people that are added to the alpha testers list
#
pstuifzand
swentel, I found the gson library for JSON, maybe that will help cleanup the timeline
#
pstuifzand
you can specify classes, and the library will serialize/deserialize the JSON accordingly
#
swentel
mm interesting
#
[kevinmarks]
Oh, I have forgotten my known password because chrome always autocompletea it
eli_oat joined the channel
#
@chrisdmacrae
↩️ Do you have any resources for this @miklb? I really want to learn about webmentions in relation to platforms like Twitter.
(twitter.com/_/status/985988215952871429)
#
loqi.me
created /social_network (+25) "prompted by tantek and redirect added by tantek"
(view diff)
snarfed and eli_oat joined the channel
#
@perlnews
PrePAN: Web::Mention - An implementation of the Webmention protocol, as defined by the W3C and the IndieWeb community. (jmacdotorg@github) - http://prepan.org/module/nYhnPU5b9c1
(twitter.com/_/status/985990395686371328)
iasai and [miklb] joined the channel
#
@daniellecrobins
Deadline approaching! ✨ @FordFoundation - @mozilla Fellowship✨ with @codeforsociety to work on #p2p web with @dat_project DUE FRIDAY! Get writing y'all! https://twitter.com/auremoser/status/984081956018315264
(twitter.com/_/status/985934793094254594)
#
loqi.me
created /ad (+24) "prompted by tantek and redirect added by tantek"
(view diff)
KartikPrabhu joined the channel
#
j12t
aaronpk: thanks. Those do not sound too bad. Not any harder than, say, installing Mediawiki from scratch.
#
aaronpk
probably a little bit rougher but it's at least a similar environment
#
j12t
I'll be trying to convert those instructions into UBOS PKGBUILDs and install from there. That should make it easier for everybody.
[cleverdevil] joined the channel
#
skippy
I'm trying out the WP IndieAuth plugin. It's failing wiht "{"error":"parameter_absent","error_description":"Missing Parameter: me"}".
#
skippy
I see that the URL does, in fact, contain "/wp-json/indieauth/1.0/auth?me=https..."
tantek_, snarfed and KartikPrabhu joined the channel
#
j12t
aaronpk: both are Apache 2.0 licensed? Watchtower has a license file, but not Aperture.
#
aaronpk
oh dear
#
aaronpk
yes it should be apache 2.0
#
j12t
aaronpk: there's a REDIS_HOST in the .env. Not needed, right?
#
aaronpk
depends on which queue driver you use
#
aaronpk
i use redis for the queue
#
aaronpk
you can use a database if you want instaeed https://laravel.com/docs/5.6/queues#driver-prerequisites
#
j12t
Ah, I see. I'm not familiar with laravel. Default value in the example file is 'sync' -- is that the simplest? Can always make things more complicated once it works
#
aaronpk
that might work, but might end up timing out a bunch of requests
#
j12t
that's okay for now
#
aaronpk
should be enough to see it do something anyway
snarfed and Mandrake joined the channel
#
GWG
Good evening
#
skippy
hi GWG. can I ask you about the WP Indieauth plugin?
#
GWG
skippy: Ask away
#
GWG
We're very proud of it
#
skippy
I enabled the plugin on a WP site I have. Then I added the auth and token links to the <head> of a different site. I used to Micropub.rocks to log into the non-WP site. When it sent me to my WP site, WP said:
#
skippy
{"error":"parameter_absent","error_description":"Missing Parameter: me"}
#
skippy
interestingly, if I add "foo=bar&" IN FRONT of the "me=" param, it works.
#
GWG
That is interesting
#
GWG
So, you want to log into another site with your WordPress site?
#
skippy
i want to use my WP site as an auth provider for web sign in.
#
skippy
so that I dont have to rely on external silos.
#
GWG
Do you have access to the error log of your server?
#
skippy
i do. i dont see anything interesting.
#
skippy
that is, nothing other than an HTTP 400 error is recorded.
#
GWG
The WordPress web server
#
GWG
Can you add WP_DEBUG to your Wp-config file, and then monitor the server error log?
#
GWG
It will show you the request and response from the REST API for indieauth.
#
GWG
I'd like to see that
#
skippy
sure.
#
aaronpk
i didn't even think of that use case
#
GWG
I put that feature in in order to debug the test
#
GWG
aaronpk: Neither did I
#
aaronpk
i think that will only work if there's a wordpress user with the domain of the site you're trying to log in as
#
aaronpk
"I added the auth and token links to the <head> of a different site." <-- whatever that site domain is, there needs to be a wordpress user with that URL
#
GWG
aaronpk: Yes, but the error message shouldn't be no me parameter
#
skippy
can a single WP user have multiple URLs listed, allowing me to auth against my WP install from one of several domains?
#
skippy
if I'm trying to use the plugin in an unsupported way, let me know and I'll defer more work.
#
GWG
skippy: Can you outline this in an issue either way?
#
skippy
sure.
#
skippy
how can i test the login? micropub.rocks remembers my previous logins.
#
GWG
Right now, you can't add multiple URLs
#
skippy
indieauth.com doesnt seem to see my header.
#
skippy
oh, i needed to refresh indieauth.
#
GWG
aaronpk: Relmeauth maybe?
#
GWG
skippy: I see a request to your site with the client_id of Indieauth.com
#
GWG
aaronpk: Can indieauth.com make an indieauth request?
#
aaronpk
yeah it'll show up as one of the buttons
#
GWG
aaronpk: I never knew that
#
skippy
if I edit the URL of my WP login attempt, and prefix "me=..." with "foo=bar&me=..." then i *do* get the WP indieauth login prompt.
#
GWG
That worked for me.
#
GWG
I'm checking.
#
GWG
I want to fix that.
#
aaronpk
odd, I get a rest_no_route error
#
aaronpk
oh, something is doing something wrong with ?
#
aaronpk
there's an extra ?
#
GWG
aaronpk: Time for a 2.0.1?
#
aaronpk
it might be indieauth.com's fault
#
aaronpk
for assuming the authorization server URL doesn't have a query string
#
skippy
same experience trying micropub.rocks
#
GWG
skippy: Also written by same source.
#
aaronpk
is it possible to configure wordpress so that the authorization server URL doesn't have a query string?
#
GWG
You mean wp-login.php...?
#
GWG
It doesn't have a query string
#
GWG
It redirects to a page that does
#
aaronpk
No the one with the "rest_route" parameter
#
aaronpk
I need to fix my clients regardless but I can't do that right now
#
GWG
No query string
#
skippy
i get a query string on /wp-json/indieauth, as evidenced above.
#
GWG
aaronpk: If you don't have permalinks enabled, yes.
#
aaronpk
yeah this was a default wordpress install
#
skippy
oh, i was wrong. the /wp-json/indieauth/ link redirects to wp-login.php?blahblahblah
#
GWG
It does
#
aaronpk
gotta run
#
skippy
well, it sounds like I both discovered a bug AND am trying to color outside the lines. :) I can wait on both accounts. this isn't pressing for me; just eager to use an auth source of my own control eventually.
#
GWG
skippy: I intend to fix it
#
skippy
thanks GWG
#
skippy
GWG++
#
Loqi
gwg has 28 karma in this channel (328 overall)
#
skippy
i'd love to be able to use a single WP user account to indieauth across multiple different domains I control, too, eventually.
eli_oat joined the channel
#
GWG
skippy: Sounds like an interesting idea
#
dansup
Thoughts on a federated instagram?
#
dansup
Using ActivityPub ofc
tantek and eli_oat joined the channel
#
aaronpk
my own site is already part of a federated instagram