2017-08-01 UTC
JanKusanagi joined the channel
wilkie and xmpp-social joined the channel
tantek joined the channel
tantek joined the channel
# 13:52 tantek hello #social - just a heads-up that today's telcon is still contingent on Evan being able to make it to chair, as discussed in our 2017-07-11 telcon.
timbl joined the channel
# 14:18 cwebber2 and nice to see the mention of ActivityPub on the map :)
timbl joined the channel
# 15:34 tantek cwebber yeah! great mention of AP and getting involved!
# 16:37 csarven I can't recall names now but I've come across even systems that are medium-like, posting at medium.com to announce their upcoming stuff. facepalm.
# 16:47 tantek csarven, yes, *some* people at Mozilla post on Medium, and there is great internal snickering
# 16:47 tantek more often, Mozilla folks post on their own Mozilla related domains, typically with WordPress
# 16:47 ajordan and you're welcome! I have more coming but haven't found the time for it since I've been with family
# 16:48 tantek csarven, the irony here is that Mozilla does not make web server publishing software, whereas Mastodon kinda is
# 16:48 tantek I mean, I suppose you could publish a blog post on Mastodon as a tootstorm
# 16:50 ajordan tantek: I see you under regrets but I thought you said you could make this meeting, just couldn't chair?
# 16:50 tantek ajordan, no I was a maybe at best (see minutes from 2017-07-11)
# 16:51 tantek and now I'm starving and our dinner is at 19:00 ET (exactly when telcon is)
# 16:51 tantek just barely managed to publish PTD beforehand :)
# 16:51 Zakim ajordan, you typed too many words without commas; I suspect you forgot to start with 'to ...'
# 16:58 ajordan wait ben_thatmustbeme which error were you talking about? the whitespace? or the other thing? :D
# 16:59 ajordan just dialed in... guess we'll see if Evan shows up
RRSAgent joined the channel
# 17:01 rhiaro Did I just dial in to hear cwebber2 say "I'm unifying the yak space"
eprodrom joined the channel
# 17:03 Loqi [@strugee2] today on the #SocialWG call: @sandhawke: "so it sounds like instead of shaving the yak, you implemented a new yak"
# 17:04 eprodrom Zakim, who is here?
# 17:04 Zakim Present: sandro, tantek, aaronpk, jaywink, ajordan, rhiaro, cwebber, eprodrom
# 17:04 Zakim On IRC I see eprodrom, RRSAgent, timbl, xmpp-social, wilkie, JanKusanagi, ben_thatmustbeme, ajordan, csarven, Zakim, Gargron, cwebber2, Loqi, dlongley, MMN-o, jaywink, bwn,
# 17:04 Zakim ... aaronpk, raucao, dwhly, astronouth7303, saranix, albino, trackbot, rhiaro, sandro, nightpool, DenSchub, puckipedia, tsyesika, jet, tcit, bitbear, mattl, sknebel, bigbluehat
# 17:05 rhiaro eprodrom: please take a moment to look at those minutes
# 17:07 rhiaro eprodrom: We have postponed our 8/8 and 8/22 meetings
# 17:07 rhiaro ... Just to be clear, it's too late to re-schedule those. Is there an emergency where we need to have one of these meetings?
# 17:08 rhiaro ... Anything urgent that can't be handled on the 15th, we cannot handle on the 8th or 22nd
# 17:08 rhiaro ... I will be irritated if anyone asks me to chair either of those :)
# 17:09 rhiaro ... Want to also make sure it's clear we have a 90 minute meeting today
# 17:09 rhiaro ... We can finish early if everything is wrapped up
# 17:10 rhiaro cwebber2: Last week I was saying that I was held up by a language issue. I did a lot of work this week to try to resolve that. I needed help from the actual language a-
# 17:11 ajordan Zakim seems very confused, I didn't see aaronpk present+
# 17:11 rhiaro cwebber2: I figured out a way forward that involves shaving a different yak. It's almost entirely shaved and seems to be working. Tests uite should be up by the next meeting.
# 17:11 rhiaro ... Other news, in the mastodon beta release, they mentioned WIP AP support
# 17:11 rhiaro ... They have AS2 data representation, but not full AP API yet
# 17:12 rhiaro ... That's the state of things. Short update.
# 17:12 rhiaro eprodrom: The yak shaving is for the test suite or for an implementation?
# 17:12 rhiaro cwebber2: The test suite. There was an underlying structural issue that prevented me from launching the test suite, but it's nearly plugged.
# 17:12 rhiaro cwebber2: Things have stayed pretty quiet over the last week
# 17:13 rhiaro ajordan: Don't we have outstanding issues from a while ago? The private message issue?
# 17:13 rhiaro cwebber2: I thougth that got moved to extension, because we resolved that if it wasn't a protocol issue, it could hbe handled as an extension
# 17:13 Loqi [puckipedia] #239 mediaUpload: only post to outbox if it's a Create activity?
# 17:13 rhiaro ... There is one that's kind of really open for discussion, but I haven't done enough research on it yet
# 17:14 rhiaro ... I said I'd look at how twitter and other things were doing it to make sure we're doing the right thing, but I havne't had enough time to do that
# 17:14 eprodrom Zakim, who is here?
# 17:14 Zakim Present: sandro, tantek, aaronpk, jaywink, ajordan, rhiaro, cwebber, eprodrom
# 17:14 Zakim On IRC I see eprodrom, RRSAgent, timbl, xmpp-social, wilkie, JanKusanagi, ben_thatmustbeme, ajordan, csarven, Zakim, Gargron, cwebber2, Loqi, dlongley, MMN-o, jaywink, bwn,
# 17:14 Zakim ... aaronpk, raucao, dwhly, astronouth7303, saranix, albino, trackbot, rhiaro, sandro, nightpool, DenSchub, puckipedia, tsyesika, jet, tcit, bitbear, mattl, sknebel, bigbluehat
# 17:15 rhiaro does'nt understand where Zakim's Present list comes from
# 17:15 rhiaro ... Since they haven't spoken up yet, I'm going to assume that neither aaronpk nor julien is available
# 17:15 rhiaro ... Does anyone know of any discussion points that we should address about WebSub that we can talk about in their absence?
# 17:16 rhiaro ... My guess is that we don't, but now is the chance..
# 17:16 rhiaro eprodrom: Last week we had a resolution to update PTD. Tantek made an update to the agenda that he's done a new WD
# 17:17 rhiaro ... Not sure if there are ways for us to make any progress on PTD without tantek here
# 17:18 rhiaro eprodrom: We had talked about ideas for briding webmention and AP, is that in SWP?
# 17:18 rhiaro eprodrom: Any other progress on other documents?
# 17:19 rhiaro cwebber2: No meeting last week. We have one tomorrow.
# 17:20 rhiaro ... If you want to discuss anything in the CG go ahead and add it
# 17:20 rhiaro ajordan: Historically the agenda for this is JIT compiled
# 17:21 rhiaro ajordan: I noticed that in all of our specs in the SotD it says send comments to the mailing list but that isn't really where we do things so I'm worried that if someone sends feedback to that address it won't get seen
# 17:21 rhiaro ... Seems that we should find out if we can change that technically/politically, and if so how. And if we can't then there's nothing to do.
# 17:21 rhiaro sandro: We do mention github there right? We say both?
# 17:22 rhiaro cwebber2: I think it's auto generated by respec
# 17:22 Zakim rhiaro, you typed too many words without commas; I suspect you forgot to start with 'to ...'
# 17:22 rhiaro ... I wouldn't want to take out the mailing list comlpetely
# 17:22 rhiaro ... We might as well do our comments through facebook
# 17:23 rhiaro ... THe fact is, almost all of us are on the mailing list, even if many don't pay attention to it
# 17:23 rhiaro ajordan: I'll see if we can get respect to add it
# 17:24 rhiaro rhiaro: THe github minutes are all linked at the top
# 17:24 rhiaro ... It should say where we want the comments to go
# 17:25 rhiaro ... Leaving things as they are with the boilerplate.
# 17:25 rhiaro ... PLease do not feel you have to fill up the next 35 minutes
# 17:26 rhiaro ... No meeting next week. Next one is scheduled for the 15th
# 17:26 rhiaro ... If there are no objections I'll leave the duration as 90 minutes
# 17:27 Zakim As of this point the attendees have been sandro, tantek, aaronpk, jaywink, ajordan, rhiaro, cwebber, eprodrom
# 17:27 Loqi rhiaro has 155 karma in this channel (274 overall)
# 17:27 eprodrom Thank you for scribing
# 17:27 Loqi rhiaro has 156 karma in this channel (275 overall)
# 17:27 Loqi eprodrom has 47 karma in this channel (48 overall)
# 17:29 eprodrom That was quick
# 17:29 ajordan eprodrom: one of our shortest I think, especially compared to how much we had blocked out
# 17:30 eprodrom ajordan: almost definitely not
# 17:30 eprodrom But I will be in town
# 17:34 ajordan eprodrom: anyway maybe we can meet up, would be fun to see you in person :P
# 17:36 rhiaro ajordan: respec lets you link to the issue tracker in the config, for the header
# 17:36 ajordan rhiaro: I think we're talking about the same thing?
# 17:36 rhiaro the other advantage of the mailing list is that it's archived at a URL
# 17:38 ajordan I can't test ActivityPub locally because of a Firefox regression :/
# 17:48 ajordan ok so there *is* a `github` option which adds a "Participate" section to the header
# 17:50 ajordan "Participate" is new, Repository is there already
# 17:51 Loqi [LJWatson] #919 Ability to customise status content
# 18:23 csarven Just noticed mastodon's new logo. weird. maybe I don't get it.
# 18:30 saranix you mean the small one behind the word? looks more like a mustashed whale or smiling dinosaur than a trunked creature
# 18:34 csarven The 'm' in the foreground of the blue speech bubble is throwing me off
# 18:39 saranix the mustashe :-)
# 18:40 saranix it's not a speach bubble, it's a rotated -28 degrees (who tilts their head that way?) mastodon silhouette
# 18:42 saranix it still looks mostly like a smiling whale/dinosaur to me
timbl joined the channel
# 19:04 Loqi Ok, I'll tell them that when I see them next
# 20:04 Loqi [@strugee2] @sandhawke @dustyweb: "no I'm actually porting the yak shaver... um... I'm unifying the yak space in Guile"
# 20:11 cwebber2 is both the co-maintainer of Guile, the language, and Fibers, the CSP event loop I'm integrating with ;)
# 20:12 ajordan I knew about the Guile and I remembered his name from the mailing list
# 20:12 ajordan sits back on his high JS-event-loop-which-is-easy-and-well-defined horse
# 20:13 cwebber2 ajordan: yeah but you gotta rewrite all your code into continuation-passing-style manually, whereas our language does that for you automatically
# 20:14 cwebber2 (that's what promises are btw: manual continuation passing style... which is an intermediate language form in many compilers)
# 20:15 ajordan cwebber2: yeah, that's very true! async/await syntactic sugar helps a lot with that though
timbl joined the channel
# 20:16 cwebber2 ajordan: yeah but you still gotta align your coroutines manually right?
# 20:16 cwebber2 iirc they're taking the same approach as in asyncio in python
# 20:17 Loqi [@strugee2] sometimes I'm tempted to make a language literally called YavaScript. it would basically smooth out JS' issues (cont.)
# 20:17 ajordan cwebber2: not sure I quite know what you mean by "align your coroutines manually"
# 20:17 ajordan so basically async/await lets you do something like
# 20:18 cwebber2 in python where you suddenly end up in the "two languages" problem; your old code can't be nonblocking without converting it all to coroutines, and your new code won't work nicely with code that isn't nonblocking
# 20:18 ajordan where getSomethingFromNetwork() returns a Promise
# 20:19 cwebber2 ajordan: so you can't do non-coroutine-aware-function -> coroutine-aware-function -> non-coroutine-aware-function
# 20:19 ajordan so you don't have the "two languages" problem in JS but it's basically an accident of history
# 20:20 ajordan because *everything*, virtually without exception, is already built for async
# 20:20 cwebber2 but you still do have much more manual CPS than would be nice
# 20:20 cwebber2 you shouldn't have to have the word "promises" at all :)
# 20:20 ajordan and Promises are basically just a formalization of that with better error handling
# 20:20 cwebber2 well async does let you do one nice thing with coroutines
# 20:21 cwebber2 which is to sort of suspend your function in the middle while you wait for results
# 20:21 ajordan cwebber2: no async/await doesn't do that, it's just syntactic sugar
# 20:22 cwebber2 yeah I'm familiar with that, but the asyncOperation itself probably can pseudo-suspend
# 20:22 ajordan that can be directly translated to something like
# 20:24 ajordan cwebber2: yes so when you call asyncOp() it will synchronously *start* an HTTP request, create a Promise object, and return the Promise. then yield to the event loop
# 20:24 cwebber2 so delimited continuations let you suspend a function chain at any point
# 20:24 cwebber2 any io code that would block *automatically* suspends to the scheduler
# 20:24 cwebber2 and that's because the continuation passing style is still there, but it's baked in at the language level
# 20:25 cwebber2 so that makes io easy, but of course having multiple concurrent agencies communicating is also challenging, and that's where you either use Communicating Sequential Processes (this is what Go does) or Actors
# 20:26 cwebber2 (don't confuse CSP and CPS, too different acronymns :))
# 20:26 ajordan yeah that's really nice. that's exactly what bugs me about async/await and Promises; I shouldn't need an extra keyword
# 20:27 cwebber2 you're passing in as an argument a function which is where you "return"
# 20:27 cwebber2 direct style can be automatically transformed into CPS
# 20:27 ajordan Node.js basically "solves" this on the human side just by making all the stdlib functions async by default (i.e. you have to explicitly opt in to sync operations)
# 20:30 cwebber2 but if you think about this, what does it mean to return?
# 20:30 cwebber2 yeah, you can invert the program and "pass it in" to the part that has the + 8
# 20:37 cwebber2 the hole left in "returning to" a function is itself another function
# 20:38 cwebber2 instead of actually invoking the continuation place where it would return
# 20:38 cwebber2 you can pass back the inverted program that *would* get the return value
# 20:38 cwebber2 that looks like tricky stuff and it's hard to invert your brain that way
# 20:38 cwebber2 but in a sense, that's the point: it's hard for humans do do this procedure inversion in their head
# 20:41 ajordan ahhhhhhh yes I think I see what you're saying now
# 20:42 ajordan so the thing you're inverting is the order of computation basically
# 20:42 ajordan so like you always compute the "innermost" function first
# 20:42 ajordan and then pass its result to the next "outer" function, in this case a
# 20:43 ajordan thanks for taking time to explain this btw, it's really interesting
# 20:45 ajordan oh and also then the implicit thing is that between each function call you can suspend/yield to the event loop right?
# 20:49 cwebber2 here's an example of implementing a coroutine using it
# 20:49 cwebber2 however, you could make this coroutine happen anywhere in the program
# 20:49 cwebber2 *any* part of the program, called within that call-with-prompt
# 20:50 cwebber2 with this, you can implement any control flow mechanism
# 20:50 cwebber2 the second part of the call-with-prompt has the identity function (lambda (k) k)
# 20:51 cwebber2 it could have stored it for later execution, maybe after saving a file descriptor to the event loop
# 20:51 cwebber2 so this is powerful magic, but what's even nicer is that it has solid theoretical underpinnings, but your users don't have to understand it at all
# 20:51 cwebber2 they can just write code that's as straightforward as a normal blocking program
# 20:52 ajordan ahhh that's really interesting. IIUC abort-to-prompt then is the point where it yields and waits...?
# 20:53 cwebber2 so you can imagine that being part of your event loop
# 20:53 cwebber2 anyway, long and rambling, but hope that's interesting
# 20:53 ajordan that sounds similar to what I'd put in YavaScript
# 20:54 cwebber2 btw this is a "delimited continuation", but there's technically an "undelimited continuation", aka call/cc
# 20:54 ajordan I should play with The Little Schemer (which you suggested a while ago)
# 20:54 cwebber2 - undelimited package up the whole state of your program in something you can call, but when you call it, the place you call it from throws away the whole state of its computation!
# 20:55 cwebber2 - delimited instead are captured from a certain point up: you can call them like functions, and they return values
# 20:57 ajordan I started playing with Go too a while back, at the very end of a programming institute thing I was at. never got to the interesting async parts though :/
# 20:57 cwebber2 I'm about to port mudsync over to prove that my port of 8sync to be on top of fibers is fully working
# 20:58 cwebber2 ok! well, now you know a bit more context behind all that hand-waving (literal and figurative)
timbl joined the channel