#dev 2018-10-28

2018-10-28 UTC
snarfed joined the channel
#
aaronpk
this is so frustrating!
#
aaronpk
loqi++
#
Loqi
loqi has 7 karma in this channel over the last year (52 in all channels)
#
aaronpk
I got it to work once in safari
#
aaronpk
but it stopped working again
#
aaronpk
this is not giving me hope for the future of offline web apps
jjuran joined the channel
#
aaronpk
switching to PouchDB with the hopes that it abstracts all this out for me
#
KartikPrabhu
what is PouchDB?
#
Loqi
PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser https://indieweb.org/PouchDB
[dougbeal] joined the channel
#
gRegorLove_
Is Safari a requirement? I thought it was lagging in service worker support.
#
aaronpk
newest safari has some support for it
#
aaronpk
it's missing some APIs but does technically work
#
gRegorLove_
That reminds me I never got back to my offline note support stuff from IWC Baltimore
benwerd joined the channel
#
aaronpk
holy crap it worked
#
aaronpk
pouchdb to the rescue
#
aaronpk
TIL the IndexDB API is a real pain to work with
#
aaronpk
now I need to figure out how to get iOS to delete the cache of the installed app. it seems to be really aggressively caching it beyond what the safari browser does. even if I force refresh it it loads the new version once then goes back to the old version later.
#
aaronpk
wow this is amazing
#
aaronpk
now I need to make it not look like crap
benwerd, jjuran, renem and Xeno1 joined the channel
#
vilhalmer
oh man indexeddb
#
vilhalmer
that brings back memories of a very long summer
#
vilhalmer
I ended up writing our own abstraction around it which was 100% not worth the effort
#
aaronpk
Not worth it in what way?
#
vilhalmer
the project died shortly after, heh
#
vilhalmer
't think pouch existed all the way at that time though
#
aaronpk
a googler wrote an abstraction based on promises and google recommends it in all their docs but even that was too broken for me to use
#
aaronpk
pouchdb seems to be working great now
#
vilhalmer
I'm digging around and see if I still have this code somewhere, I'm sure we ran into the same kind of caching issues
#
aaronpk
Oh the caching is just around service workers, not related to indexdb really
#
vilhalmer
this was a whole offline web app thing
#
vilhalmer
did the install to home screen bit and etc
#
vilhalmer
I think it's probably gotten at least a bit better since then though
#
vilhalmer
we had to hack around things like basic navigation not working without javascript assistance
#
vilhalmer
it seems to be gone forever, which is probably for the best
#
AngeloGladding
ls
#
AngeloGladding
:)
[sebsel] joined the channel
#
[sebsel]
aaronpk++ for private checkins via OwnYourSwarm!
#
Loqi
aaronpk has 101 karma in this channel over the last year (312 in all channels)
sebsel joined the channel
#
Zegnat
I can't wait to steal aaronpk's offline teacup code for my own posting web app
#
@stadolf
One of the hardest things to solve in a #decentralized world is #authentication. Imagine websites authenticating against arbitrary websites. That's what IndieAuth does: https://hacks.mozilla.org/2018/10/dweb-identity-for-the-decentralized-web-with-indieauth/ now we only have a trust problem ;)
(twitter.com/_/status/1056476939760951296)
#
@tonbridigital
We now have Webmention support for event RSVPs on our website plus some other tweaks and changes to highlight our upcoming meetup https://tonbridge.digital
(twitter.com/_/status/1056479786271469569)
[jgmac1106] joined the channel
#
GWG
Morning
#
Loqi
happy day
[pfefferle] joined the channel
#
@RossSchulman
Hey #MozFest2018, new session alert! Come to 604 at 2pm Sunday to learn about/teach about decentralized protocols and standards like ActivityPub and Webmention. https://guidebook.com/guide/147793/event/21982867/
(twitter.com/_/status/1056523008158982144)
[jgmac1106] joined the channel
#
Zegnat
For the people looking into ordering items in readers in creative ways: http://datagenetics.com/blog/october32018/index.html
#
@swentel
The #indieweb module for #drupal now contains a Microsub server. Channels and timeline actions are implemented, so readers work already fine! More info about Microsub at https://indieweb.org/Microsub
(twitter.com/_/status/1056531796077277184)
bradenslen, [tantek], sebsel and tonz joined the channel
#
aaronpk
tonz: set the web server to serve the public folder as the root
#
aaronpk
that's a pretty common pattern now which keeps all the app files from being served by the web server
#
Zegnat
That might not work for default localhost configurations? Would changing the base_url to http://localhost/quill/public/ work?
#
aaronpk
Probably not
#
aaronpk
it expects that it's at a foot domain
#
GWG
aaronpk, how does your admin work for Syndication
#
tonz
I changed the base url in the way @zegnat suggested but that didn't work.
#
tonz
@aaronpk how would that influence other things living on the same localhost webserver (I run a local blog in /blog e.g.)
#
tonz
if I set the public folder to root.
#
aaronpk
Oh I don't think you'll be able to run Quill on the same hostname as other stuff
#
Loqi
[Aaron Parecki] Just installed my own copy of https://silo.pub and launched at https://silopub.p3k.io! Thought I'd share a screencast of how I configure my syndication endpoints in p3k. https://aaronparecki.com/2016/11/29/7/photo.jpg [video]
#
aaronpk
tonz: I use alternate domain names that point to localhost for development. You could try for example to set up the web server to serve quill.local
#
GWG
I will see how I set up my interface
#
GWG
That may inspire
#
Zegnat
Yeah, looks like Quill uses some domain based URL here and there. So wouldn’t be able to share domain. E.g. I see the login will always send you to /auth/ URLs. :(
#
aaronpk
Actually wait there's a config option to set t he base url in Quill
#
aaronpk
if some things are ignoring that it should be possible to fix that
#
aaronpk
But yeah as is I don't think it'll work, but I could try to fix it so it does
#
tonz
ok, thanks will poke around a bit more
#
Zegnat
tonz, I am not sure what your localhost setup is like. But I quiet like https://laravel.com/docs/master/valet That will give you a separate domain for every folder in your Sites folder (on mac)
[tonz] joined the channel
#
[tonz]
@zegnat using MAMP at the mo
#
aaronpk
Huh Valet looks like my local setup but I just do it manually
#
aaronpk
nginx and dnsmasq
#
Zegnat
I didn’t want to figure out the local configs myself last time I set it up, aaronpk. Found valet and am pretty happy with it :)
#
@t
Event: #MozFest: Decentralized Web Standards: From ActivityPub to Webmention At: 2018-10-28 14:00 @mozillafestival RSVP: http://tantek.com/e/4xC1
(twitter.com/_/status/1056554153244274694)
#
[tonz]
ok, got Quill to load locally at quill.test, with root folder pointed to public. It now loads the start screen fine. When hitting the connect button it mysql Access denied for user, so now into the next step down the rabbithole 😉
#
Zegnat
tonz, what did you end up using to get .test hosts running?
[jgmac1106] joined the channel
#
[tonz]
MAMP, you can define multiple hosts in the MAMP console
#
Zegnat
Oh, I didn’t know it supported that these days! That’s nice!
[pfefferle] and [tantek] joined the channel
#
aaronpk
note to self: don't forget about old open tabs connected to the same serviceworker domain :facepalm:
#
sebsel
Yep, they're tricky
#
aaronpk
I managed to lock up chrome somehow because of that
#
aaronpk
TIL Access-Control-Expose-Headers
#
aaronpk
needs to figure out all the CORS headers to get micropub to work
#
sebsel
I'm struggling with my graph-stuff now
#
sebsel
It's easy to say "there is an entry" and "an entry has an author"
#
sebsel
And (channel)-->(feed) is nice too
#
sebsel
But am I really gonna draw lines between a (user) node and all the (entries) when I read them?
#
sebsel
That part feels less like a graph to me.
#
[jgmac1106]
can you somehow publish a read post and have the link between the two generated that way?
#
aaronpk
sebsel: was your goal to have this graph DB be the only backend for the reader?
#
sebsel
aaronpk Hm, maybe I should consider adding another storage, yeah
#
aaronpk
if it feels like it's not the right tool for the job it may not be
#
aaronpk
but it sounds like this is way better suited to finding the connections like you were showing in the demo, so maybe the answer is it's a special-purpose DB in your backend for just that part
#
sebsel
yeah, it's definitely the right choice for that part, I believe.
#
aaronpk
My site has an elastic search backend for just the full text search. It uses MySQL for the normal indexing of posts and tags. I didn't want to figure out how to do all that in ES so I don't mind running two DBs for that
#
sebsel
One way to hack it for now would also be to just stay with the true/false instead of numbers for unread counts. Then I can just store it on the channel :P
#
aaronpk
not the worst idea
#
sebsel
But it also feels like kill your darlings: if I need another storage I should add that.
[kevinmarks786] joined the channel
#
[kevinmarks786]
Monocle didn't like Tantek's event dates
#
aaronpk
I noticed that
#
aaronpk
hm this isn't particularly useful on its own <time class="dt-end dtend">15:00</time>
#
aaronpk
I guess I should make it show the raw text if it fails to parse tho
#
Zegnat
doesn’t that dt-end parse? I thought dt-end includes a date from a previous dt- so it should become a full date?
#
aaronpk
according to HTML?
#
aaronpk
i'm not in the mf2 context here
#
Zegnat
Oh, not according to HTML no.
#
[tantek]
Nope part of date time value parsing in mf2
#
Zegnat
Thought we were talking about mf2 parsed stuff. As I was thinking Monocle was using mf2 to figure out stuff like dates and events.
#
[tantek]
Date (and tz if any) implied from prev dt-* value
#
aaronpk
I have a JS enhancement in Monocle that localizes the display of times in posts, regardless of mf2
#
Zegnat
Ah. Alright. That isn’t going to work, true.
#
[tantek]
Time only in <time> is valid HTML
#
[tantek]
Also the screenshot shows the proper dt-start
#
aaronpk
fixed monocle to only localize the date if it can successfully parse it
#
aaronpk
Zegnat: I pushed the current version of teacup-offline to github if you want to look! https://github.com/aaronpk/Teacup-Offline/blob/master/public/index.html
#
aaronpk
now I can start making it look pretty
#
Zegnat
screenshot? Another Slack-only thing?
#
Zegnat
I’ll have a look later aaronpk! I’m first focussing on making the interface talk Micropub and do the whole start-stop thing :D
#
Zegnat
Adding all these ideas without adding extra taps is … challenging
#
Zegnat
But hopefully I have a new interface to show in Berlin
#
aaronpk
good challenge tho!
#
GWG
Zegnat, I am just curious about meeting you in Berlin. It should be interesting.
#
Zegnat
Same :D Though you’d think - with the amount of information about outselves we put online - some of that curiosity should’ve been quenched.
#
GWG
I am boring
#
Zegnat
is unsure how GWG expects him to be
#
Zegnat
And this is why I want to put a review form on my page. So third-parties can inform eachother about how I am to be around :P
#
GWG
Zegnat, I expect all of your luggage to be marked up with Microformats
#
Zegnat
I might just have to do that now, just for you
#
GWG
I still haven't marked up my nam5
#
GWG
name
swentel joined the channel
#
GWG
swentel: What's next for you?
#
swentel
everything :)
#
swentel
but to be serious
#
swentel
indieauth
#
swentel
and after that webmention
#
swentel
so that the drupal module can basically do everything
#
GWG
I should see if anything you did in Drupal might be worth mirroring in WordPress
[jgmac1106] joined the channel
#
swentel
I also want to something simular like https://github.com/dshanske/indieweb-post-kinds
#
Loqi
[dshanske] indieweb-post-kinds: adds support for responding to and interacting with other sites using the standards developed by the Indieweb Community
#
swentel
I really miss the context now
#
swentel
I think wordpress has all building blocks no ?
#
GWG
swentel, does it?
#
GWG
I'm done?
#
swentel
well, let's see
#
Zegnat
swentel, quick question I had: what do you use to do the feed polling for the Microsub server?
#
swentel
wordpress has micropub, indieauth, post kinds, microsub (yarns)
#
swentel
maybe vouch ?
#
GWG
swentel, Microsub is not stable yet
#
GWG
It will have it
#
GWG
swentel, we sort of have vouch
#
GWG
I built in experimental vouch receiving at the Summit, but it is off by default
#
swentel
Zegnat, it's extremely simple now: the table that stores the feeds has a a column that stores the timestamp for the next fetch, interval can be configured
#
GWG
It stores vouches by default now though, but doesn't verify by default
#
swentel
Zegnat, to fetch, you an either use built-in cron, or use a drush (cli tool for drupal) script which you can set as a cron command
#
swentel
no extra service like watchtower or so atm
#
swentel
GWG, oh, didn't know, interesting
#
swentel
GWG, oh, I'd like to have full ActivityPub too so I can ditch fed.bridgy heh
#
swentel
but that's for 2019 ;)
#
Zegnat
swentel, no extra services is fine, I was just wondering :)
#
Zegnat
Does it support RSS/Atom? Did Drupal have a parser for those?
#
swentel
Zegnat, I use xray for parsing
#
Zegnat
Ooh, and it does feeds, that’s right!
#
swentel
yeah, didn't have to think about all that parsing
#
Zegnat
No further questions your honour.
strugee joined the channel
#
swentel
which why I could write this in about 2 days or so hehe
#
swentel
need to implement more api calls though
#
swentel
but I don't have those yet in Indigenous
#
aaronpk
glad to see all that work in xray getting more use
#
GWG
I need to help with RSS parsing too
#
swentel
like channel, feed, follow, order etc
#
GWG
He's using my parser for Yarns
#
Zegnat
Zend also has a feed library that might be interesting. Been meaning to look into it and see if I can expand it with mf2 feeds
#
GWG
aaronpk: If it helps, I read your code for ideas all the time
#
GWG
So, it gets use as a reference
#
swentel
aaronpk, I don't think I would have written a microsub server into the module if xray didn't exist
#
aaronpk
yeah I can imagine. feed parsing is a lot of work.
#
GWG
aaronpk: I'm hoping not.
#
Zegnat
https://docs.zendframework.com/zend-feed/ - for people looking for more feed parsing code
#
GWG
I have SimplePie built in.
#
swentel
yeah drupal core comes with zend feed
#
Zegnat
XRay uses a fork of Picofeed
#
Zegnat
Basically, every framework tries to offload feedparsing to someone else because it is No Fun^{tm}.
#
swentel
hehe true
#
Zegnat
Ha, aaronpk, probably keep that red bar around for Offline Teacup so you notice when the page is offline. So you do not run into this: https://adactio.com/notes/14456
#
aaronpk
just saw that lol
#
aaronpk
I do like the red bar
[Rose] and [eddie] joined the channel
#
[eddie]
I’m reading up on AWS MediaLive. Dealing with my server config and maintance is starting to bother me too much so I don’t want to add any new features to my server.
#
[eddie]
But I’m thinking about trying to set up a self-controlled Live stream, roughly inspired by aaronpk’s Nginx RTMP article piece
#
[eddie]
So my thought is to build a workflow in AWS that essentially allows me to activate a channel on their MediaLive where I can stream RTMP from my iPhone, archive it to S3 and stream via HLS
#
[eddie]
It seems like it’s all do-able. I think the main key is finding a way to tie into the MediaLive events and send Micropub requests. Then I think I can duplicate everything in aaronpk’s article and have a server free live streaming service
#
aaronpk
whoa cool
#
aaronpk
I will definitely say that setting up my server for that was non trivial and I actually did it in a separate server to avoid messing up my main one
#
@jgmac1106
You folks should build a news stack or template for an #IndieWeb news site. I hate that all the local WordPress themes rely on the facebook comment plugins. Webmentions would be even better. Heck maybe they could do local subdomains for revenue (http://quickthoughts.jgregorymcverry.com/s/1zaHAm)
(twitter.com/_/status/1056638831133376518)
#
[eddie]
Yeah, I was thinking about just doing nginx and thought, I’d have to set up a new server I can’t mess with my existing one
#
[eddie]
Since MediaLive can archive the video to s3, and the s3 file will be created after the stream ends.
#
aaronpk
that's awesome
#
aaronpk
maybe we can set up self-hosted streaming for IWC videos
#
[eddie]
That would be awesome!
#
aaronpk
checks pricing
#
[eddie]
It’s seems reasonable. .30 cents per hour for input and .30 cents per hour per output stream
#
[eddie]
Roughly
#
Zegnat
Does it do reencoding to different bitrates on the fly? (Asks the guy who always tries to remote in on 3G connections.)
#
aaronpk
it does
#
aaronpk
looks like they finally built an AWS service out of Elemental's tech
#
aaronpk
(Elemental is from portland, I have friends who work there)
#
[eddie]
Oh wow! Cool!
#
[eddie]
The only thing that seems odd is I think it requires two input streams for redundancy
#
[eddie]
Which works for IWS I’m sure
#
[eddie]
Not sure if my iPhone app I use can send two streams at once
#
aaronpk
requires? odd
#
[eddie]
Oh yay: “A user can set multiple simultaneous connections to several destinations like software media server, “
#
[eddie]
Yeah I thought so to, and maybe I read it wrong but it seems like it’s require
#
aaronpk
wow this is intense. i'm gonna wait for you to try it out and do a writeup :)
#
[eddie]
Hahaha will do!
#
Loqi
hehe
#
GWG
[eddie]: I have a Dark Sky question for you. Have you ever run afoul of their API limits?
#
[eddie]
I think I’ve finally got my workflow. I ping a Gateway API endpoint that runs a custom lambda function. That function spins up a new channel via media live, returns the url (or URLs) that I need to use for the stream, and it also sends the initial Micropub request for the streaming html and saves the url of the post to update after the end
#
[eddie]
Then I stream and when I stop streaming, the s3 video file is completed which runs a second lambda function that checks for the url of the streaming post and updates it with the video url via Micropub. Post
#
[eddie]
Now that I’ve got the workflow figured out I can try to build it! Haha
#
[eddie]
GWG, not that I have noticed
#
GWG
They limit to 1000 a day
#
[eddie]
I only ping them for every post which I only do 30/40 posts a day
#
GWG
I'm just wondering because I know if I go the aaronpk route I'd be polling ever 5 minutes
#
aaronpk
!calc 86400 seconds / 300 seconds
#
[eddie]
What would you be polling for?
#
aaronpk
!calc 86400 / 300
#
[eddie]
Just based on location tracking?
#
aaronpk
you get 288 polls per day at 5 minutes
#
aaronpk
!calc 1 day / 5 minutes
#
GWG
Okay, so well below
#
aaronpk
come on Loqi
#
[eddie]
Oh wow yeah, there is 1440 minutes in a day
#
[eddie]
So essentially Dark Sky is safe with every 2 minutes
#
sknebel
[eddie]: presumably you pay for Cloudfront outgoing traffic too?
#
[eddie]
sknebel, probably
#
sknebel
not that it's that much with our stream viewer numbers
#
GWG
aaronpk: Still trying to figure out if I should do something compassy
[tonz] joined the channel
#
[tonz]
[aaronpk] when installing quill, do I need to create some tables upfront in the mysql db? If so, which ones? Getting an error msg that table quill.users (quill is the db name) doesn’t exist. Or should Quill create/populate the mysql db by itself.
#
aaronpk
yeah you'll have to create the database manually
#
[tonz]
thanks!
#
aaronpk
rewrites his serviceworker code now that he has discovered messaging between the client and the worker
snarfed joined the channel
#
[tonz]
[aaronpk] got Quill working on my laptop now. https://www.zylstra.org/blog/2018/10/quill-local/
#
Loqi
[Ton Zijlstra] So, I’m posting this using Quill, a micropub client, that I am running on my own laptop (see steps I took). Intending this as a step towards being able to draft postings offline (which I am used to doing, usually in a text editor, or Evernote), as ... https://secure.gravatar.com/avatar/6f35ac704fb4cfa938d87e1ec7039ea7?s=40&d=https://www.zylstra.org/wp/wp-content/plugins/semantic-linkbacks/img/mm.jpg&r=g
#
aaronpk
awesome!
#
Zegnat
That avatar being linked as a photo for the post can’t be right
#
Zegnat
checks mf2
#
Zegnat
That <span> with the classes author and p-author was probably meant to also have h-card
#
[tonz]
Those are the h-cards I removed during IWC Nbg, because it meant having 15 h-cards on my blog front page, and my authorative one not being found.
#
Zegnat
Hrrmm
#
[tonz]
otoh I see that avatar effect on other sites too, e.g. David has it happening for all his posts, judging by his twitter stream https://twitter.com/dshanske
#
sknebel
no, that's something else
#
aaronpk
hm that is a slightly different problem, that's wordpress setting the og:image tag to his avatar
#
GWG
Whcih avatar effect?
#
sknebel
you should remove the u-url u-photo etc classes that were in the mini-h-cards you removed then too
#
GWG
aaronpk: WordPress doesn't set the og:image. That would be a plugin.
#
Zegnat
Weird though. Correctly nested h-card objects as the author of an h-entry should never conflict with representative h-card, tonz
#
aaronpk
GWG I meant "wordpress" in the grander sense
#
Zegnat
My mf2 brain wants to look into this h-card issue, but my general WordPress waryness makes me not want to dive into themes :P
#
GWG
Zegnat: I'll make you very wary then
#
KartikPrabhu
what is representative-h-card?
[frank] joined the channel
#
Loqi
The representative h-card for a page is an h-card on that page that represents that page, if any, as not all pages are about a person or organization, a page might not have a representative h-card https://indieweb.org/representative_h-card
#
[frank]
Tonz++
#
Loqi
Tonz has 1 karma in this channel over the last year (2 in all channels)
#
KartikPrabhu
i don't think h-entry nested h-cards will conflict with representative h-cards according to http://microformats.org/wiki/representative-h-card-parsing
#
Zegnat
It shouldn't. But also I think tonz surfaced some issues with indiewebify.me and it's parser. So I'm not sure what to blame where.
#
Zegnat
GWG it'll be alright. I'll just defer on everything WordPress and let you take the lead there ;)
#
GWG
You can be of help
#
aaronpk
I think i'm done
#
aaronpk
I should have waited to finish until berlin so I could demo it there tho
#
sknebel
congrats, now you can demo in the intro session
#
Zegnat
You can always take quill offline in Berlin and demo that, aaronpk
#
aaronpk
heh that's a bigger project :)
#
[tonz]
@zegnat I think it was this test parser that couldn’t surface my representative h-card http://iwm.gregoreatworld.com/ amidst my 15 with mini h-card.
#
[tonz]
Just to test, is that avatar image gone now? https://www.zylstra.org/blog/2018/10/quill-local/
#
Loqi
[Ton Zijlstra] So, I’m posting this using Quill, a micropub client, that I am running on my own laptop (see steps I took). Intending this as a step towards being able to draft postings offline (which I am used to doing, usually in a text editor, or Evernote), as ...
snarfed joined the channel
#
aaronpk
if anyone wants to try out teacup-offline, it should work for anyone else with a micropub endpoint that supports CORS https://teacup-offline.p3k.app
#
aaronpk
requires manual config to copy+paste the micropub endpoint and access token for now. maybe my berlin project will be to add indieauth support to it
#
aaronpk
that'll be a good test of indieauth in JS
#
aaronpk
should be pretty straightforward to adapt this to other kinds of posting interfaces too. I left lots of comments inside.
[kevinmarks786], petermolnar and [eddie] joined the channel
#
aaronpk
I guess the next step is I should figure out how to be able to include photos
[jgmac1106] joined the channel
[eddie] joined the channel