00:03:59  * a_lequit (Remote host closed the connection)
00:12:31  * dan336joined
00:17:54  * dan336quit (Quit: Leaving.)
00:28:01  * a_lejoined
00:55:47  * kazuponjoined
01:02:11  * UniOnquit (Remote host closed the connection)
01:03:56  <rphillips>would be slick to get the song's stream apis added
01:05:16  <rch>yeah that would be cool
01:05:20  <rch>it's highly nodelike
01:07:29  * kazuponquit (Remote host closed the connection)
01:20:52  * DarkGodquit (Ping timeout: 256 seconds)
01:31:50  * kazuponjoined
01:40:40  * dan336joined
01:43:01  * a_lequit (Remote host closed the connection)
01:43:36  * a_lejoined
01:47:50  * a_lequit (Ping timeout: 250 seconds)
01:54:43  * dan3361joined
01:54:44  * dan336quit (Read error: Connection reset by peer)
02:00:51  * dan3361quit (Quit: Leaving.)
02:03:05  * dan336joined
02:07:34  * dan336quit (Client Quit)
02:26:58  * a_lejoined
02:29:14  <rphillips>I want to write http2 into luvit
03:05:11  * a__quit (Remote host closed the connection)
03:06:22  * a__joined
04:08:52  * kazuponquit (Remote host closed the connection)
04:57:07  * kazuponjoined
07:14:39  * SouLjoined
07:32:51  * srenatusjoined
08:06:34  * kazuponquit (Remote host closed the connection)
08:07:01  * kazuponjoined
08:11:30  * a_lequit (Remote host closed the connection)
08:11:36  * kazuponquit (Ping timeout: 255 seconds)
09:02:22  * bjornquit (Remote host closed the connection)
09:36:20  * srenatusquit (Changing host)
09:36:21  * srenatusjoined
09:51:55  * bjornjoined
09:51:55  * bjornquit (Changing host)
09:51:55  * bjornjoined
10:52:33  * bjornquit (Remote host closed the connection)
10:55:25  * bjornjoined
10:55:25  * bjornquit (Changing host)
10:55:25  * bjornjoined
12:25:30  * kazuponjoined
12:39:16  * kazuponquit (Remote host closed the connection)
12:52:30  * SouLquit (Ping timeout: 264 seconds)
12:56:16  * kazuponjoined
12:59:20  * kazuponquit (Remote host closed the connection)
13:01:50  * kazuponjoined
14:34:36  <rphillips>morning
14:34:37  <rphillips>https://github.com/luvit/luvit/pull/519
14:35:19  * travis-cijoined
14:35:19  <travis-ci>luvit/luvit#999 (add-buffer - 804f932 : Ryan Phillips): The build passed.
14:35:19  <travis-ci>Change view : https://github.com/luvit/luvit/commit/804f932ea2fa
14:35:19  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/39948948
14:35:19  * travis-cipart
14:41:14  * travis-cijoined
14:41:14  <travis-ci>luvit/luvit#1001 (add-buffer - 6a5da94 : Ryan Phillips): The build passed.
14:41:14  <travis-ci>Change view : https://github.com/luvit/luvit/compare/804f932ea2fa...6a5da94e8665
14:41:14  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/39949603
14:41:14  * travis-cipart
14:55:12  <rphillips>hmm. latest luvit binary... type 'exit' in the repl and there is a stack overflow
15:01:08  * dan336joined
15:05:35  * UniOnjoined
15:56:48  * a_lejoined
16:45:24  * kazuponquit (Remote host closed the connection)
16:46:09  * SouL_joined
17:01:53  * SouL_quit (Ping timeout: 260 seconds)
17:08:14  <rphillips>i wish we could tweak LUA_IDSIZE easier
17:08:23  <rphillips>it trims the stack trace file paths to 60 by default
17:18:31  * travis-cijoined
17:18:31  <travis-ci>luvit/luvit#1003 (add_instanceof_test - 2eef3d9 : Ryan Phillips): The build passed.
17:18:31  <travis-ci>Change view : https://github.com/luvit/luvit/commit/2eef3d902405
17:18:31  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/39965186
17:18:31  * travis-cipart
17:20:38  * a_lequit (Remote host closed the connection)
17:21:15  * a_lejoined
17:25:32  * a_lequit (Ping timeout: 256 seconds)
17:39:45  * a_lejoined
17:40:23  * a_lequit (Remote host closed the connection)
17:40:49  * a_lejoined
17:46:08  * kazuponjoined
17:50:16  * kazuponquit (Ping timeout: 250 seconds)
18:32:11  <rje>rphillips: creationix: what can i do to help you guys in luvi/luvit land?
18:33:13  <rphillips>rje: checkout the luvi-up directory in luvit
18:33:29  <creationix>s/directory/branch/
18:33:49  <rphillips>thanks :)
18:33:58  <rphillips>tests/to-convert has tests that need to be converted
18:34:21  <rphillips>tim is working on fs
18:34:34  <rphillips>i took some low hanging fruit/easy ones
18:34:48  <rphillips>we are merging into the luvi-up branch
18:35:52  <rje>k, thanks
18:36:00  <creationix>rje: also we still need some options added to luvi if you want to work on the C side
18:36:13  <creationix>the zlib bindings in luvit need moving
18:36:37  <creationix>since we don’t need streaming json, we can try cjson instead of yajl. Also I was trying my hand at a pure lua version to see how fast it was
18:37:04  <creationix>and the windows service stuff from virgo needs moving to luvi
18:37:14  <rje>what's most helpful right now? tests, zlib, services?
18:37:50  <creationix>not sure, the C bindings are pretty independent
18:38:06  <creationix>we’ll need them eventually, but it’s not blocking anything right now and doesn’t depend on anything
18:38:51  <creationix>rphillips: which parts are you working on now?
18:39:28  <creationix>the net module needs re-implementing on top of luvi, we have core.lua. I think that’s the last dependency to net
18:40:52  <creationix>I have several examples of how to use the tcp stuff in luv if that helps. https://github.com/luvit/luv/blob/master/tests/test-tcp.lua
18:41:18  <rphillips>I was going to work on x509/crypto tests in luvit
18:41:35  <rphillips>but I can work on the net module
18:41:56  <rphillips>rje: what do you want to work on? everything is pretty much up for grabs
18:42:49  <creationix>rphillips: did you see how I supported callbacks and coroutines in the fs code?
18:43:01  <rphillips>haven't checked yet...
18:43:08  * srenatusquit (Quit: Connection closed for inactivity)
18:43:16  <rje>anything is good for me.
18:43:38  <creationix>we should probably do something similar for the tcp actions that have one callback (uv_shutdown, uv_tcp_write, uv_tcp_connect, uv_close, etc)
18:43:40  <rje>let's try some c coding, what needs to get done there?
18:43:52  <creationix>zlib and window service
18:44:07  <rphillips>zlib should be straight forward and somewhat simple
18:44:18  <creationix>see how rphillips made flags in the cmake file https://github.com/luvit/luvi/blob/master/CMakeLists.txt#L3-L4
18:44:24  <rje>k
18:44:24  <creationix>we want zlib to be another option
18:44:38  <rphillips>cmake has a findzlib module https://github.com/Kitware/CMake/blob/master/Modules/FindZLIB.cmake
18:44:59  <rphillips>-DWithZLIB=ON probably
18:45:10  <creationix>and if you can do the windows service stuff after that, that would be great. I have no clue where to start there. the option to turn it on will go here https://github.com/luvit/luvi/blob/master/msvcbuild.bat#L12
18:45:58  <creationix>the different flavors for unix are defined in the Makefile https://github.com/luvit/luvi/blob/master/Makefile#L5-L12
18:46:29  * kazuponjoined
18:47:07  <creationix>for windows we’ll need static zlib, but osx has a new enough version that we can dynlink?
18:47:21  <creationix>(osx needed static for openssl since apple hasn’t supported it in a long time)
18:48:35  <rphillips>i'm going to get a quick lunch... brb
18:48:43  <creationix>rphillips: enjoy
18:48:45  <rphillips>i'll start on net and look at the fs-sugar coroutine stuff
18:49:10  * DarkGodjoined
18:51:29  * kazuponquit (Ping timeout: 265 seconds)
19:03:10  <rje>so the zlib layer goes into luvi?
19:04:30  <creationix>rje: correct, all C bindings go into luvi, luvit no longer has any C code
19:04:33  <creationix>nor will the new virgo
19:04:48  <rje>creationix: ?
19:05:05  <rje>for virgo we'd need some c bindings...
19:05:31  <creationix>things that shouldn’t go into luvi?
19:05:37  <rje>right
19:05:59  <rje>luvi wouldn't need a sigar interface
19:06:17  <creationix>well, I do have a backup plan for those use cases where the .dll/.so files are embeded in the zip, but loaded as binary addons
19:06:27  <creationix>and correct, no sugar goes in luvi
19:06:35  <rje>luvi probably wouldn't need mysql baked it
19:06:56  <creationix>true, though mysql I would do in pure lua if I had time to write it
19:07:19  <creationix>postgres protocol was my very first node module over 5 years ago :)
19:07:25  * dan336quit (Quit: Leaving.)
19:07:43  <rphillips>del taco ftw
19:08:26  <creationix>It would take me much longer to drive to town and pick up fast-food
19:09:20  * travis-cijoined
19:09:20  <travis-ci>luvit/luvit#1005 (fs-sugar - f0b5a5e : Tim Caswell): The build passed.
19:09:20  <travis-ci>Change view : https://github.com/luvit/luvit/compare/b171f3f358df...f0b5a5e61cbb
19:09:20  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/39976213
19:09:20  * travis-cipart
19:10:13  <creationix>rje: fwiw, there are a few ffi bindings for mysql
19:10:23  <creationix>as long as we can assume the machine has the library
19:11:42  <rphillips>we use our own ffi binding to mysql
19:12:42  <creationix>but one of the main goals of luvi is that people can do luvit and virgo development without having a C compiler on their machine
19:15:52  <creationix>it would be pretty easy to bake in a feature where the luvit/virgo binary unzips itself to a folder, lets you modify the contents and then updates itself with the new contents of the folder
19:16:02  <creationix>so we could have some pre-built binaries in the zip tree
19:16:33  <rje>i'm all behind that, we just may need some modules (could be precompiled), that we can bring into virgo that test of the world woudn't need. we'll cross that bridge when we get to it
19:16:46  <rje>s/test/rest/
19:17:54  <creationix>right, I did research a way to load dynamic libraries out of the zip file. It’s not pretty, but it is possible for all the platforms we care about.
19:18:04  <creationix>bmeck is researching the same thing for node
19:18:20  <rphillips>unzip to a temporary filesystem location?
19:18:36  <creationix>that’s the most portable way, but cleaning up the temporary files is sometimes tricky
19:18:43  <creationix>I believe that’s the method jar files use
19:19:05  <creationix>there are platform specefic libraries for doing a dlopen on an in-memory string
19:19:27  <rphillips>the adapt function is cool... i think we should merge that into core.lua or utils.lua
19:19:52  <creationix>ok, if you think it’s useful there too
19:20:16  <creationix>one thing I’m not sure about is if I should wrap coroutine.yield() in an assert so we can throw errors
19:20:41  <creationix>but then again, for things like fs.open, and fs.stat, I often try to read files that might not exist and it’s not an error if it doesn’t exist
19:21:02  <creationix>if a user forgets to assert, they will error soon afterwards when their result is nil
19:21:26  <creationix>also I
19:21:45  <creationix>I’m considering using the error class in core to create error objects like we had before
19:21:59  <creationix>then you could check err.type == “ENOENT”, but err still tostring properly
19:25:28  <creationix>or users could simply string.match(err, “^ENOENT:”) when they care since it’s so uncommon
20:03:50  <rphillips>i think p() has a stack overflow
20:03:54  <rphillips>can't prove it yet though
20:04:10  <rphillips>+1 on the error stuff
20:05:21  * dan336joined
20:05:54  <creationix>p should detect cycles and I think the max depth to dump is 3 levels
20:06:22  <creationix>rphillips: should fs.readdir (it doesn’t exist in libuv anymore) keep the old behavior or returning an array of file names?
20:06:42  <creationix>or should it contain tables with {name, type} entries like uv_fs_scandir returns?
20:07:04  <creationix>I have the type data, just wondering if I should throw it away to keep the old behavior
20:07:04  <rphillips>probably the same as before
20:07:14  <creationix>I’m also wrapping scandir into a lua iterator
20:07:20  <rphillips>, let's add fs.scandir though
20:07:23  <rphillips>+1
20:07:26  <creationix>for name, fileType in fs.scandir(path) do
20:10:14  <rphillips>p() on a uv_tcp_t stack overflows
20:10:20  <creationix>rphillips: https://github.com/luvit/luvit/blob/fs-sugar/tests/test-fs.lua#L93-L133
20:10:28  <creationix>rphillips: that’s strange
20:10:55  <creationix>it doesn’t for me
20:11:11  <creationix>rphillips: is it closed?
20:11:13  <rphillips>hmm. i'll look more into it
20:12:12  <creationix>heh, luv’s tostring for handles breaks on closed handles
20:12:17  <creationix>but not a stack overflow
20:14:26  <creationix>https://github.com/luvit/luv/commit/b149c16620c9cf1a5750715f380a375c5f4f711c
20:15:23  * travis-cijoined
20:15:23  <travis-ci>luvit/luvit#1007 (fs-sugar - c274290 : Tim Caswell): The build passed.
20:15:23  <travis-ci>Change view : https://github.com/luvit/luvit/compare/f0b5a5e61cbb...c274290954c5
20:15:23  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/39985547
20:15:23  * travis-cipart
20:20:48  * travis-cijoined
20:20:48  <travis-ci>luvit/luv#138 (master - b149c16 : Tim Caswell): The build passed.
20:20:48  <travis-ci>Change view : https://github.com/luvit/luv/compare/a1f3aa3f4f54...b149c16620c9
20:20:48  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/39986100
20:20:48  * travis-cipart
20:33:02  <rphillips>ah hah
20:33:19  <rphillips>that might be what I'm seeing
20:55:06  <rphillips>creationix: wondering, did you write the nextTick logic yet?
20:55:21  <creationix>no, but I did add setImmediate
20:55:29  <creationix>nextTick requires changes to luv’s core event model
20:55:30  <rphillips>cool. that'll work... where is that?
20:55:34  <creationix>timer module
20:55:36  <rphillips>thanks
20:57:16  <creationix>rphillips: do you understand access(2) on unix?
20:57:34  <creationix>it was recently added to libuv as uv_fs_access, but the docs are quite lacking
20:58:02  <creationix>my understanding is it tells you if you have permissions to read/write/execute a path by passing in a 0-7 mode int
20:58:35  <rphillips>looks like that is corrent
20:58:38  <rphillips>correct
20:58:47  <rphillips>R_OK, W_OK, X_OK
20:58:50  <rphillips>are the bitmasks
20:59:22  <creationix>so in libuv the result seems to always be 0 or some error (<0)
20:59:35  <creationix>how should I expose that to lua, true for success and false for failure?
21:00:22  * a_lequit (Read error: Connection reset by peer)
21:00:24  <creationix>and should we add some string input for the bitmask? (not that we’re still using numbers for mode in other fs operations like tonumber(“644”, 8) in fs.open
21:00:42  <creationix>*note that…
21:00:55  * a_lejoined
21:01:43  <creationix>though for mode on fs.open, we accept “r”, “r+”, “w”, etc...
21:02:17  <creationix>maybe I could accept a string with “r”, “w”, and “x” and loop through it building the bitmask, empty string would be F_OK or 0
21:02:54  * a_lequit (Read error: Connection reset by peer)
21:03:09  * a_lejoined
21:05:11  <rphillips>that seems reasonable
21:08:12  <rphillips>we need to bump luv in luvi
21:14:59  <creationix>ok, I’ll bump it after I get this fs_access fix in
21:15:30  <rphillips>looks like the overflow depends on the terminal
21:19:24  <creationix>interesting
21:27:37  <creationix>rphillips: https://github.com/luvit/luv/pull/84
21:35:55  * travis-cijoined
21:35:55  <travis-ci>luvit/luv#139 (fix-fs-access - 5cca724 : Tim Caswell): The build passed.
21:35:55  <travis-ci>Change view : https://github.com/luvit/luv/commit/5cca7241c26b
21:35:55  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/39994162
21:35:55  * travis-cipart
21:36:49  * a_lequit (Remote host closed the connection)
21:37:34  * a_lejoined
21:38:41  * a_lequit (Remote host closed the connection)
21:39:18  * a_lejoined
21:41:26  * travis-cijoined
21:41:26  <travis-ci>luvit/luv#141 (fix-fs-access - 4f1d4aa : Tim Caswell): The build passed.
21:41:26  <travis-ci>Change view : https://github.com/luvit/luv/compare/5cca7241c26b...4f1d4aafc1ba
21:41:26  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/39995019
21:41:26  * travis-cipart
22:05:49  * kazuponjoined
22:09:28  <creationix>rphillips: shall I build new binaries for luvi-binaries?
22:10:51  * kazuponquit (Ping timeout: 255 seconds)
22:16:12  * travis-cijoined
22:16:12  <travis-ci>luvit/luv#143 (master - 41ebd35 : Tim Caswell): The build passed.
22:16:12  <travis-ci>Change view : https://github.com/luvit/luv/compare/b149c16620c9...41ebd35415c1
22:16:12  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/39998979
22:16:12  * travis-cipart
22:17:26  <rphillips>+1
22:18:39  <creationix>linux is pushed, compiling darwin and attempting to boot my windows laptop
22:18:48  <creationix>we’ll see if the laptop or appveyor finishes first
22:19:42  * travis-cijoined
22:19:42  <travis-ci>luvit/luvi#82 (master - 3d6c969 : Tim Caswell): The build passed.
22:19:42  <travis-ci>Change view : https://github.com/luvit/luvi/compare/efe72db2ae8e...3d6c969187fc
22:19:42  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/39999429
22:19:42  * travis-cipart
22:20:29  <rphillips>almost get net working
22:20:56  <rch>exciting stuff in here lately
22:22:10  <creationix>my laptop won’t update. Time to do a clean install with win 10
22:22:11  <creationix>what could go wrong
22:31:37  * a_lequit (Remote host closed the connection)
22:32:13  * a_lejoined
22:35:33  <rphillips>https://github.com/luvit/luv/pull/85
22:36:27  * a_lequit (Ping timeout: 244 seconds)
22:37:39  * a_lejoined
22:50:23  <creationix>rphillips: I was wondering how I should expose that. A new function is fine.
22:55:40  * travis-cijoined
22:55:40  <travis-ci>luvit/luv#146 (master - d79d76e : Ryan Phillips): The build passed.
22:55:40  <travis-ci>Change view : https://github.com/luvit/luv/compare/41ebd35415c1...d79d76e99950
22:55:40  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/40003923
22:55:40  * travis-cipart
23:14:54  * a_lequit (Read error: Connection reset by peer)
23:15:28  * a_lejoined
23:16:01  * a_lequit (Read error: Connection reset by peer)
23:16:31  * a_lejoined
23:16:51  * kazuponjoined
23:21:06  * kazuponquit (Ping timeout: 244 seconds)
23:41:59  <creationix>I’m going to start adding [ci skip] to all commits that can’t affect the tests (like README tweaks)
23:46:28  * DarkGodquit (Ping timeout: 250 seconds)