2018-04-17 UTC
jjuran joined the channel
# 00:05 dansup aaronpk: interesting, is your site compatible with gnusocial?
# 00:06 aaronpk not yet, I tried getting bridgy fed set up with it so it would be, but ran into some problems
# 00:07 aaronpk but people are following my photos, and i'm following other peoples' photos just fine right now
tantek joined the channel
# 00:11 dansup aaronpk: I'm working on a federated image sharing web app (like instagram meets mastodon), I'll have to bug you sometime and figure out how we can get interop
# 00:12 dansup Just started it last night, but I'm making pretty good progress already. Basic stuff like registering and posting to the local timeline is done
# 00:15 aaronpk well the easy place to start is adding microformats to the site, then everyone using indieweb readers can follow the posts. then you could send and receive webmentions like micro.blog does.
jjuran joined the channel
# 00:16 aaronpk interop in small pieces
# 00:18 Loqi [dansup] I don't think webmentions are appropriate for the fediverse. The privacy implications, along with the potential for abuse (DDoS) do not justify any benefits in my opinion. #webmentions #fediverse
# 00:19 dansup If you have ActivityPub support on your site, I can remote follow you and my server will push any updates I make to your site
# 00:19 aaronpk that's not the gargron thread is it?
# 00:19 aaronpk that argument completely missed the point
# 00:19 dansup no I made that thread I linked.
# 00:20 dansup aaronpk: If webmentions are supported, I think it should be opt-in by default. The user might not be aware of that, so I think privacy wise it should be disabled by default. What do you think?
# 00:21 aaronpk the point is webmention is just the federation plumbing, and is just how it works. no need to enable or disable
# 00:22 aaronpk if you're really concerned, you could avoid sending webmentions to links that are just a plain mention of a URL, e.g. just linking to something in a post. but any like-of or reply-to URLs should always get a webmention, since you're saying you're actively replying to that link
# 00:23 dansup Yeah, maybe I am being too paranoid. I would be okay with blacklisting webmentions to facebook and google and enabling them ;)
# 00:24 aaronpk "luckily" facebook and google don't accept webmentions right now anyway so you're safe
# 00:24 GWG aaronpk: That cookie that pfefferle put in isn't working.
# 00:24 aaronpk GWG: what cookie?
# 00:24 aaronpk that sounds familiar
# 00:25 aaronpk GWG: i'm fixing indieauth.com right now to not mangle the query string
eli_oat joined the channel
# 00:27 gRegorLove This is a weird PHP thing I don't think I've seen before: `class Foo {}` followed by just `Foo;` not `new Foo();`
# 00:28 gRegorLove Inherited code on a PHP 5.4 server (ouch)
# 00:28 aaronpk gRegorLove: does that.. do anything?
# 00:29 gRegorLove That's what I'm trying to figure out, hah. In my testing no, just treats it as an undefined constant, so treats it as 'Foo'
# 00:30 gRegorLove The files were encrypted with ionCube, so I'm wondering if the decryption messed something up.
# 00:31 aaronpk GWG: okay fixed indieauth.com to work with auth endpoints that have a query string
# 00:31 GWG aaronpk: I'm still trying to figure out why this cookie isn't being picked up
# 00:32 aaronpk is that what's going on?
# 00:32 GWG aaronpk: In my tests, yes.
# 00:32 aaronpk i'm trying to replicate this
# 00:35 GWG Oh...there is the issue.
AngeloGladding joined the channel
# 00:40 aaronpk thinks we should move to -wordpress
Mandrake and renem_ joined the channel
# 02:03 GWG Editing the episode of that podcast where I talked to Chris about the IndieAuth plugin, and told him that my endpoint has a UI for revoking tokens.
# 02:03 GWG And you can't do that in some other endpoints
# 02:03 aaronpk I don't even have a UI for that!
# 02:03 GWG aaronpk: I said that
# 02:04 GWG It's a feature I like.
# 02:04 aaronpk Indeed. I would like to add that for myself at some point
# 02:04 aaronpk Along with showing the last time each was used
leg and [miklb] joined the channel
# 02:09 [miklb] aaronpk I’m looking over dgold’s installation instructions and it mentions ” need to have a token endpoint set up already in order for Aperture to know how to verify access tokens it receives in Microsub requests” I don’t follow that step
# 02:10 aaronpk If you already support Micropub clients it should work fine
# 02:10 aaronpk Aperture will ask your token endpoint to check if a token is valid
jjuran joined the channel
# 02:11 [miklb] gotcha. thanks
# 02:16 j12t aaronpk: so Watchtower has three entry points? 1) Web server request, 2) a persistent .service, and 3) a cron job? What's the difference between 2 and 3?
# 02:17 aaronpk The cron job triggers the scheduler to run the background tasks
# 02:17 aaronpk I want to combine 2 and 3 at some point but this was easier
# 02:21 j12t I see. So what does the .service thing do?
[eddie] joined the channel
AngeloGladding, [jeremycherfas], cweiske, eli_oat[m], [pfefferle], mindB, plindner, grantcodes, schmarty, myfreeweb, peterlawson[m] and zoglesby joined the channel
# 06:24 jjuran “it should default to opt-out with a setting to enable it.” <— what
KartikPrabhu, [unoabraham], [jeremycherfas] and [kevinmarks] joined the channel
# 07:18 [kevinmarks] [dansup] how are the privacy and ddos implications different for activitypub than webmention?
swentel joined the channel
# 07:19 [kevinmarks] If you accept @ mentions from people, how is using webmention versus activitypub different?
# 07:23 swentel hmm different implemenation, same result I guess?
# 07:23 swentel *implementation
# 07:24 [kevinmarks] Right but dansup and gargnon are talking as if webmention is qualitatively different and I don't understand why
# 07:26 swentel less quality in what exactly ? the data you receive?
[snarfed] joined the channel
# 07:41 [snarfed] I'm guessing they (and AP) need private sharing, and we don't really have even private posts (much less wms) thoroughly worked out and widespread in the wild in indieweb, so they don't know that it's possible or how to do it
# 07:41 [snarfed] if so, they're kinda right. onus is on us!
# 07:42 swentel hmm yeah, I've been thinking about that yesterday, I see a private property in the webmention payload, but haven't thought about it how it would work nicely
# 07:42 swentel especially in combination with bridgy for instance
# 07:49 swentel oh interesting
# 07:49 [snarfed] (but forget about bridgy for now, no support for private anything planned there)
# 07:50 swentel in a way it doesn't make much sense anyway
# 07:50 swentel it's something I wouldn't want to code either, too sensitive
# 08:11 Zegnat “how are the privacy and ddos implications different for activitypub” - AP includes the whole message in the POST body to my inbox, right? If I do not need to fetch an unknown external resource, that may make for different ddos implications?
[unoabraham] and dgold joined the channel
# 08:30 petermolnar Zegnat: see the history of trackback on that
[kevinmarks] joined the channel
# 08:35 [kevinmarks] And see the history of email for the inbox outbox model that activitypub uses
jeremycherfas joined the channel
jeremych_ and [jgmac1106] joined the channel
# 11:20 dgold !tell [miklib] oops, that could be clearer. will amend
# 11:20 Loqi Ok, I'll tell them that when I see them next
[jgmac1106] joined the channel
# 11:32 [jgmac1106] I use a script for all my nav menus on my courses. I release modules once a week. My students have to delete their browser cache to get the javascript to load my side navigation. Is there anything I can do so they don't have to do this?
# 11:34 swentel use a parameter on the call to the js ? e.g. <script src="file.js?id=1"> - augment the counter to get a fresh version should work
[kevinmarks] joined the channel
# 11:34 [kevinmarks] how is the js loading the data?
# 11:37 dgold !tell [miklib] done!
# 11:37 Loqi Ok, I'll tell them that when I see them next
iasai_ joined the channel
# 12:29 [jgmac1106] swentel I just tried it. tjhat works thanks
# 12:34 [jgmac1106] sorry Kevin didn't see you asked. I was using: var xhr = new XMLHttpRequest();
# 12:34 [jgmac1106] xhr.open('GET', encodeURI('sidebar.html'));
# 12:34 [jgmac1106] xhr.onload = function() {
# 12:34 [jgmac1106] if (xhr.status === 200) {
# 12:34 [jgmac1106] document.getElementById('sidebar-wrapper').innerHTML = xhr.responseText;
# 12:34 [jgmac1106] alert('There is no sidebar.html to load. Error: ' + xhr.status);
# 12:34 [jgmac1106] xhr.send();
[miklb] joined the channel
[jgmac1106], KartikPrabhu, leg, [pfefferle] and [miklb] joined the channel
# 14:33 loqi.me edited /Fatwigoo (+131) "Zegnat added "The name is inspired by the worst offenders, social media buttons: '''Fa'''cebook, '''Twi'''tter, '''Goo'''gle." to "See Also"" (
view diff )
[kevinmarks] joined the channel
# 14:52 [kevinmarks] That should use browser caching, so if it is not working right you may have your cache headers misset
singpolyma and Mandrake joined the channel
KartikPrabhu, tantek and [jgmac1106] joined the channel
# 15:40 [jgmac1106] <meta http-equiv="Cache-control" content="no-cache"> in the header would that work?
# 15:41 [jgmac1106] that doesn't seem smart though
# 15:42 tantek what is cache-control?
# 15:42 Loqi It looks like we don't have a page for "cache-control" yet. Would you like to create it? (Or just say "cache-control is ____", a sentence describing the term)
# 15:44 [jgmac1106] reading the MDN article now so not answering, have to hand it to the crew Documentation getting better and better.
benharri joined the channel
# 15:47 [jgmac1106] ooh may play with <expires> since I release moduels on a weekly schedule
# 15:49 [jgmac1106] "Cache-Control: max-age=604799, must-revalidate" maybe better will this on a supershort interval and then see if I can deploy for next week
snarfed joined the channel
# 16:25 tantek !tell sebsel thanks for the link https://seblog.nl/2017/02/20/4/day-36-reacji - I'm having difficulty understanding what the screenshot is about though - is it a screenshot of your home page/stream? or is it how you show reacji from other to your posts?
# 16:25 Loqi Ok, I'll tell them that when I see them next
kaushalmodi joined the channel
# 16:33 kaushalmodi Surprised to see Org mode referenced here; I use it for my site source :)
singpolyma and jjuran joined the channel
# 16:41 tantek wow completely missed the DRY / sidefile debate yesterday morning
# 16:44 tantek anyone who thinks stuff "just" works with side-files / feed files has never had to incrementally implement new content types in their own CMS / site and feel the actual engineering / development pain of having to implement *twice* (or more) for every feature.
# 16:45 kaushalmodi After the debate, I tried implementing jf2 json files for my static site, and it was a much better experience than manually embedding the mf2
# 16:45 tantek side-files do not "just work", they force you to double (or more) your code maintenance tasks, including bugfixes over time
# 16:45 tantek kaushalmodi: you're mistaking the cost of initial implementation, for the cost of lifetime implementation, which is 99% maintenance, 1% intial implementation
# 16:46 tantek maintenance is where side-files die
# 16:49 tantek no, when you add new features to your CMS, new content types, new properties for higher fidelity content, you have to maintain your code, updating it accordingly
# 16:50 tantek if all you want to do is reimplement early 2000s RSS then yes, "there's hardly any maintenance neeeded"
# 16:50 tantek if you want to create something feature competitive with modern social media tools, you will have to keep incrementally implementing new features
# 16:51 tantek every (side-file / feed file) format you add support for increases your code maintenance burden accordingly
# 16:52 tantek code meaning the code that generates the static sites
# 16:54 Zegnat Adding mf2 to your HTML also adds maintenance, I think that is the argument some people are making. So if (plain HTML + sidefile) is less maintenance than (plain HTML + mf2), that is totally doable. E.g. kaushalmodi saying adding a jf2 file was less maintenance than adding mf2 into the HTML.
# 16:55 kaushalmodi Someelse else presented the benefit of sidefiles.. basically separating the content from metadata.
# 16:55 kaushalmodi If I disable jf2 generation (by commenting just one line in my site setup), my site will still be functional.
# 16:55 kaushalmodi I cannot disable mf2 embedding that easily.
# 16:56 dgold I don't think mf2 + html <= html + sidefile
# 16:56 dgold its a similar level of maintenance
# 16:56 dgold the peculiarities of the side file might make a little headache, mind
# 16:56 tantek but it's not meta-data, it's actual data
# 16:56 kaushalmodi For mf2 embedding, you might have to structure your HTML a particular way.. for example, I needed to add few extra div wrappers for mf2 classes.
# 16:57 kaushalmodi Adding jf2 sidefiles did not need me to mess with the content (HTML)
# 16:57 tantek kaushalmodi: mf2 was designed to minimize or not even need any changes in the markup - if you're finding you have to do that, share your example and ask for help
# 16:57 tantek probably means we could provide more examples
# 16:57 kaushalmodi tantek: By meta-data, I mean.. the data not used to show the content on browser.
# 16:58 aaronpk there's definitely a maintenance cost to adding mf2. that's why I haven't even added mf2 to some of my post types yet
# 16:58 kaushalmodi I had to add many divs and spans with .hide class just for adding p-author, h-card, etc.
# 16:58 tantek that's not what meta-data is, meta-data is literally data about data
# 16:58 kaushalmodi Because I treat that as meta-data, not something to display on my site
# 16:58 tantek kaushalmodi: you shouldn't have had to add "many divs and spans" - sounds like there may be a misunderstanding of how mf2 works
# 16:59 tantek you don't display divs and spans either
# 16:59 tantek mf2 classes are just like more tags, they're not "meta-data"
# 16:59 kaushalmodi OK, let's not consider the technicality of meta-data vs data for now.
# 17:00 tantek if you follow your reasoning, you should just serve plain .txt and put the HTML in a separate file
# 17:00 tantek mf2 is just more HTML that's the key
# 17:00 kaushalmodi What I am getting at is that I needed to add this for h-entry compability:
# 17:00 tantek you didn't already have a link to your permalink?
# 17:00 kaushalmodi no, not on that same page
# 17:01 Zegnat Oh yeah, that gets me sometimes too. I have been hijacking the link[rel="canonical"] for that recently.
# 17:01 kaushalmodi On the list/feed pages, I of course had the post permalinks, so there this hide class was not needed
# 17:01 aaronpk that's a pretty common one i've seen
# 17:01 tantek if it's so common, where are the docs of examples of it?
# 17:01 aaronpk also getting the authorship right is always a trick
# 17:01 Zegnat People do not want a navigationable link from the permalink page to the permalink page. Thus people are hiding the link.
# 17:02 aaronpk personally i like having a page link to itself on the timestamp of the post, but not everyone agrees
# 17:03 tantek hmm I'm confused, I thought the *common* pattern (e.g. WordPress by default etc.) is for the post title to link to the permalink
# 17:03 tantek even on the permalink page
# 17:03 aaronpk post title? i don't think so. also that doesn't help with posts with no titles
# 17:03 Zegnat Not in modern WP, and not for a long time at the least. Not sure when they would have done that.
# 17:04 singpolyma I've always done that, but I know some people don't
# 17:04 kaushalmodi also, some posts don't have dates too.. like "about" page or "colophon" page
# 17:04 singpolyma the default WP theme still does
# 17:04 aaronpk oh yeah, i had to add the text "permalink" in place of the timestamp for those kinds of pages
# 17:04 Zegnat Default WP theme does that? I totally do not remember it doing that.
# 17:04 singpolyma ... and "about" page is not a post
# 17:04 kaushalmodi so that's the point I am making..
# 17:05 kaushalmodi with sidefiles, you can pack all the needed "data" in there, without messing with the normal page HTML structure
# 17:05 Loqi [Martijn van der Ven] Martijn’s Big Five personality traits
# 17:05 kaushalmodi Zegnat++ Very cool, will do that.
# 17:05 Loqi zegnat has 53 karma in this channel (196 overall)
# 17:05 Zegnat Well done Loqi, getting my name and everything!
# 17:06 singpolyma you certainly don't need the class=hide in your case because (a) you have no text in the anchor tag, so it won't show anyway and (b) you can target u-url directly with CSS
# 17:06 tantek interesting, I use a visible <input> at the end of my posts to make it easier to copy/paste the URL when you've finished reading it
# 17:06 tantek and that's marked up with u-url u-uid
# 17:06 tantek with the canonical URL of course
# 17:06 tantek instead of hiding it in a <link>
# 17:07 tantek sounds like this discussion / examples is worth documenting, since it is unobvious, and/or a challenge
# 17:07 tantek what is a permalink?
# 17:07 kaushalmodi tantek: About copying, I just do Ctrl+L Ctrl+C :)
# 17:07 singpolyma In general, people can copy the permalink from their location bar. But I do still linkify my title because it's easy
# 17:07 singpolyma and helps some users
# 17:07 tantek kaushalmodi: sure that works for you but is not obvious for most users
# 17:07 aaronpk i copy from location bar on a laptop, but it's soooo awkward on mobile
# 17:07 aaronpk much easier to use the "share" action on mobile
# 17:07 singpolyma really? Which mobile?
# 17:07 aaronpk ios, it always selects things awkwardly
# 17:08 tantek there's plenty of web UIs where copying the URL is difficult or completely hidden
# 17:08 singpolyma interesting
# 17:08 tantek singpolyma: EVERY SINGLE EMBEDDED WEBVIEW IN A SEPARATE APP
# 17:08 aaronpk oh god also that
# 17:08 tantek like if you click on a link in the Twitter iOS app
# 17:08 tantek no URL bar. good luck
# 17:08 aaronpk want to copy the link of the thing you opened in the twitter app? good luck
# 17:08 singpolyma Oh man. that sounds horrible
# 17:08 tantek sounds like we have a bit of a divide here
# 17:09 tantek between experience being primarily / only laptop / desktop
# 17:09 tantek and OTOH mobile browser / webviews
# 17:09 singpolyma I use mobile all day. Just not iOS :)
# 17:09 tantek same in android apps
# 17:09 singpolyma Good to hear about these limitations
# 17:09 Zegnat webviews on Android haven’t been hard on me, but I may not end up in them often enough. Most of them have a way to send whatever is open to Chrome where you get the full UI.
# 17:09 kaushalmodi Zegnat: I see one problem implementing your trick.. My "single post" template touches just the body tag.
# 17:09 Zegnat E.g. Facebook just lets you break out of the webview on Android
# 17:10 tantek kaushalmodi: also many (most?) CMS put various ?utm_crap in the URL in the address bar
# 17:10 tantek so after you paste it you have to edit that crap out
# 17:10 Zegnat kaushalmodi, ah, yes, that would be a setback.
# 17:10 kaushalmodi To add that rel=canonical, I will need to rearrange my template structure to include head tag in the "single post" layout too
# 17:10 singpolyma kaushalmodi: or move the link tag to body, maybe?
# 17:10 tantek kaushalmodi: if you have to, <a class="u-url" href=""></a> also works
# 17:10 kaushalmodi tantek: that's why I stick with static sites.. think work exactly as I designed.. but I can see a use of permalinks in those cases
# 17:11 kaushalmodi s/think works/things work/
# 17:11 kaushalmodi tantek: That's was I have right now
# 17:11 kaushalmodi .. the a tag with u-url class
# 17:11 Zegnat A big part of the static site generator I am playing with is actually just smartly adding a wrapper div to my content to make e-content work. So I totally see where people are coming from when they say they need to reorganise their HTML to add mf2 :)
# 17:11 kaushalmodi I was just looking into refactoring that into rel=canonical
# 17:12 tantek kaushalmodi: but you don't need to replicate your permalink
# 17:12 tantek since relative URL resolution will fix it in your case (since you don't use any ?utm nonsense)
# 17:12 singpolyma kaushalmodi: tantek means that markup literall. empty string for href
# 17:12 kaushalmodi ah, understood, thanks
# 17:13 Zegnat (You can actually add rel="canonical" to the <a> as well, if you want to provide that.)
# 17:13 tantek hmm I thought we had an issue for also treating non-href u-* values as relative
# 17:13 Loqi [Zegnat] #10 u- parsing should always do relative URL resolution
# 17:13 kaushalmodi tantek: I'll just leave it as it is for now. Replicating the permalink is not a problem.. it's just .Permalink in my template
# 17:14 kaushalmodi I've always been a fan of absolute links
# 17:15 tantek kaushalmodi: fair, in that case you can make the markup even friendlier (and invisible even without any CSS) with a <data> element
# 17:15 tantek e.g. <data class="u-url" value="{{ .Permalink }}
"></data>
# 17:15 tantek that's also better for accessibility, since you avoid having an empty anchor
# 17:16 kaushalmodi Thanks. Can that data tag live in the body tag?
# 17:17 kaushalmodi Cool! data class="u-url" value="{{ .Permalink }}
" /> it is then :)
# 17:17 kaushalmodi s/data/<data/
# 17:17 Zegnat Not selfclosing
# 17:17 tantek even if it's not perfect, it's an improvement
# 17:17 tantek correct, do not self-close
# 17:17 Zegnat Double checked. Not self-closing.
# 17:17 kaushalmodi ok, thanks.. I thought that data tag was analogous to self-closing meta tags in head
# 17:18 tantek in general in HTML, there will be no more self-closing tags
# 17:18 tantek that bit of XML has been abandoned
snarfed joined the channel
# 17:18 kaushalmodi TIL. Thanks tantek++
# 17:18 kaushalmodi Loqi did not see that?
# 17:18 tantek Loqi wants to see any ++ -- first
# 17:19 kaushalmodi tantek++ :)
# 17:19 Loqi tantek has 27 karma in this channel (427 overall)
# 17:19 tantek kaushalmodi: the broader purpose of the data tag is to markup data that is different from the visible text, e.g. <data class="p-rsvp" value="yes">I'm going!</data>
# 17:19 tantek different *syntax
# 17:19 Zegnat Ha, the example showing “a blog post using the article element” in the HTML spec can’t be marked up with mf2 without adding a wrapper <div> either. Atleast not to cover what most people expect from h-entry.
# 17:19 tantek Zegnat - worth a pull request to improve the HTML spec :)
# 17:20 Zegnat Not really. There is simply no <content> element. Which we would need to add e-content
# 17:20 kaushalmodi Just to clarify.. can u-* type be a non-link?
# 17:21 Zegnat Anything can be anything. u-* just instructs parsers to look in e.g. href-attributes first. And to resolve from relative URLs to absolute ones.
# 17:22 Zegnat You could use p-url as well, if the URL isn’t in a href-attribute but in plain text.
# 17:22 kaushalmodi I failed to note of an issue.. some p-*/u-*/?? did not work in the wrong tag.
# 17:22 Zegnat Basically the classes are: [parser instruction]-[property name]
# 17:22 kaushalmodi Let me see if I recorded that in any of my commits
# 17:23 Zegnat p- is never going to look in href-attributes, for instance.
snarfed joined the channel
# 17:30 tantek Uh oh I just got this error: "No hub at pubsubhubbub.superfeedr.com"
# 17:30 tantek anyone else using pubsubhubbub.superfeedr.com?
# 17:31 Loqi The Very First Rule of Life
# 17:31 Loqi The Very First Rule of Life
# 17:32 Zegnat That HTML is actually super close to how I have been authoring my posts for grapefruit.zegnat.net. My static site generator adds the wrapping <div> required for e-contents when I am done writing.
# 17:36 kaushalmodi Zegnat: What SSG are you using? Have the theme in public?
# 17:36 Zegnat My SSG is 1 file of PHP DOM-mutation code that I wrote myself.
# 17:37 tantek onefilephp++ :)
# 17:37 Loqi onefilephp has 1 karma
# 17:37 Zegnat It parses the HTML of a template file, parses separate post files. From every post file it extracts the root “article” tag, does some magic to embed mf2, and then appends it to the month-view-template.
# 17:38 Zegnat Then writes 1 file per month, and sets a symbolic link for index.html to the latest month.
# 17:38 Zegnat Of course whether the month stuff works I will not know until next month ;)
# 17:38 tantek Zegnat hah - I used to keep one static file per month in my original blog! (2002-2008)
# 17:39 tantek (I mean it's still there at tantek.com/log )
# 17:40 kaushalmodi Thanks for that info.
# 17:43 Zegnat You were definitely one of many inspirations for the format, tantek
# 17:44 tantek Zegnat it made some things easier
# 17:44 tantek and enabled preserving some of the stylistic creativity I experimented with early on
# 17:45 tantek but since I noticed that I stopped changing the styling for the last many months of those years of the blog, I decided I could let go of the simplicity of that "feature" when building Falcon for my new blog
# 17:46 Zegnat If I have time again, maybe this summer, I will see if I can port the site generator to Go. See if I can learn that language.
# 17:48 Zegnat Mostly because I like doing DOM manipulation on the HTML, and PHP isn’t really the best language for that.
# 17:48 tantek I am painfully aware of that
# 17:49 tantek (my static file storage depends on / uses PHP documenting loading and DOM manipulation)
# 17:49 aaronpk there is no best language for DOM manipulation :P
# 17:50 Zegnat But in PHP I have to use a separate library for HTML5 parsing, and then I still only get what libxml things of as a DOM to work on :(
# 17:50 tantek no seriously did superfeedr just go down?
# 17:50 tantek now getting lots of "No hub at pubsubhubbub.superfeedr.com"
# 17:50 Zegnat (Also considering Python, as the HTML5 library there seems to be doing well for other IndieWebbers.)
AngeloGladding joined the channel
# 17:54 tantek no it was working fine until today
# 17:55 tantek perhaps to websub.superfeedr ;)
[kevinmarks], [xavierroy] and snarfed joined the channel
# 18:06 Loqi Ok, I'll tell them that when I see them next
# 18:07 tantek !tell grantcodes I'm also thinking such minimal examples would be great for each microformat page on the microformats wiki e.g. microformats.org/wiki/h-card /h-entry /h-event etc.
# 18:07 Loqi Ok, I'll tell them that when I see them next
# 18:09 [kevinmarks] Node and Go have post html5 default parsers, which is helpful. PHP, python, Ruby and java all have various sgml/xml based things that need care.
# 18:11 [kevinmarks] I need to make that "I <? PHP" t-shirt again
# 18:11 tantek speaking of PHP funtimes
# 18:12 tantek I'm about done with the complexity of emoji detection in PHP
# 18:12 tantek so here is my heuristic for detecting a likely short (one character-ish) emoji string in my reply-to content:
# 18:13 tantek function is_short_emoji($s) { return ord($s)>225 && strlen($s)<26; }
# 18:13 tantek use-case, compact reply-contexts for reacji posts (especially in-stream)
# 18:13 sknebel [kevinmarks]: don't think it's fair to say node is better than python just because python has a bad one in the stdlib instead of none at all like node
# 18:14 aaronpk I don't think the difficulty of emoji detection is limited to php
# 18:15 [kevinmarks] Is strlen bytes?
# 18:15 aaronpk I believe so yes
# 18:15 aaronpk mb_strlen is the one that's aware of multibyte chars
# 18:16 [kevinmarks] Does that work on Welsh and Scottish flags?
# 18:17 tantek using mb_strlen didn't make any difference
# 18:17 tantek still reporting length in bytes
# 18:18 [kevinmarks] I can see that, sknebel as you could pick a bad lib, but python has 3 legacy ones built in that lead you astray.
# 18:19 tantek [kevinmarks] have you seen any flag reacji in the wild, anywhere? much less those flags?
# 18:20 sebsel Facebook had a rainbow-flag last summer
# 18:20 Loqi sebsel: tantek left you a message 1 hour, 54 minutes ago: thanks for the link https://seblog.nl/2017/02/20/4/day-36-reacji - I'm having difficulty understanding what the screenshot is about though - is it a screenshot of your home page/stream? or is it how you show reacji from other to your posts?
# 18:21 sebsel Oh, yes, that might not be clear. It's a screenshot from my feed, the upper post is a reacji.
# 18:21 Loqi sebsel has 19 karma in this channel (61 overall)
# 18:22 tantek (perhaps right below Ben Roberts, and include your screenshots / links with explanation? that would help a lot!)
# 18:23 sebsel But... I'm the Sebastiaan Andeweg on there. Right under you
# 18:23 tantek oh wait you're there, you just need a more prominent section
# 18:23 sebsel There is something weird with the sub-heading.
# 18:25 grantcodes tantek: feedback welcome on that, I'm working on turning it into a wiki plugin to automate generating the other outputs from html so it is never out of date
# 18:25 Loqi grantcodes: tantek left you a message 18 minutes ago: I'm also thinking such minimal examples would be great for each microformat page on the microformats wiki e.g. microformats.org/wiki/h-card /h-entry /h-event etc.
# 18:28 tantek could you add screenshots or links to your posts of the screenshots?
# 18:30 sebsel tantek oh yes, on it!
[pfefferle] and [miklb] joined the channel
# 18:35 Zegnat [kevinmarks], put me down for a <? PHP t-shirt. Haha
cweiske joined the channel
# 18:54 cweiske There should be no issues with the indiechat search site anymore; I've just upgraded from 8 to 32 GiB of RAM on the server.
# 18:55 Loqi cweiske has 33 karma in this channel (136 overall)
# 18:55 sknebel (thanks for running it!)
# 18:56 cweiske I had feared that I'd need to move everything onto a new server, which is a labour-intensive process taking days
# 18:56 cweiske but it actually was only a config upgrade that took .. 30 seconds
# 18:56 cweiske now we pay 40 instead of 30€/month, but since I share the server with 2 friends it's only 3€ per person extra
# 18:57 Loqi cweiske has 34 karma in this channel (137 overall)
snarfed, swentel, [kevinmarks], iasai, swentel_ and tantek joined the channel
# 21:06 tantek cweiske++ for running/hosting indie chat search.
# 21:06 Loqi cweiske has 35 karma in this channel (139 overall)
# 21:07 tantek if you can estimate an annual cost that you think is the % use of that hosting fee for the search, maybe we can apply some opencollective funds to help pay for it
# 21:08 tantek IMO it's definitely a very valuable service to the community that is worth at least helping to cover the hosting costs for
# 21:10 tantek though perhaps that's more #indieweb-meta
# 21:11 tantek grantcodes: great! here's a few quick ones - all presentational off the top of my head
# 21:12 tantek s/MF2 HTML Markup/HTML+mf2
# 21:12 tantek s/Rendered HTML/Rendered
# 21:13 tantek s/MF2 JSON/mf2 JSON
# 21:13 tantek those are all in the tab names
# 21:14 tantek we don't need to say "Markup" in the tabs because the heading is already "How to markup"
# 21:14 tantek another thought is:
# 21:14 tantek s/MF2 JSON/Parsed
# 21:14 tantek because JF2 already implies JSON
# 21:15 tantek unless part of the goal is to appeal to JSON API trendiness
# 21:15 tantek s/MF2 JSON/JSON
# 21:17 Loqi seblog has 1 karma in this channel (2 overall)
# 21:17 tantek sebsel++ I mean :)
# 21:17 Loqi sebsel has 20 karma in this channel (62 overall)
[miklb], eli_oat, Tom, iasai_ and [cleverdevil] joined the channel
tantek and snarfed joined the channel
snarfed joined the channel
# 23:43 schmarty GWG I probably need to update Flask-IndieAuth to handle the recent updates to the indieauth spec
# 23:43 GWG schmarty: That is likely.
# 23:44 GWG IndieAuth for WordPress has the aaronpk stamp of approval in terms of standard compliance.
Kaja__ joined the channel
# 23:46 schmarty That will probably help me get this back up to snuff
# 23:48 Loqi [dshanske] #3 Add docs
# 23:51 schmarty I’m traveling at the moment but I can tell you that it does the simplest possible thing. A form encoded POST with audio, photo, name, description, tags. The metadata from the mp3 comes in as id3-title, id3-duration, etc
# 23:51 schmarty I’ll get that written up though
# 23:52 GWG Should it be id3-title?
# 23:54 schmarty No media endpoint support, for example. No JSON posts.