00:01:02  * a_lequit (Remote host closed the connection)
00:12:29  * not^vjoined
00:16:43  * UniOnquit (Remote host closed the connection)
00:20:09  * a_lejoined
00:27:42  <rje>rphillips: i had written some basic logging and error cb, they're in the pr
00:29:35  * travis-cijoined
00:29:36  <travis-ci>luvit/luvi#275 (winsvc - 85c67c9 : Rob Emanuele): The build was broken.
00:29:36  <travis-ci>Change view : https://github.com/luvit/luvi/compare/db29b1246d32...85c67c96b7e6
00:29:36  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/47993639
00:29:36  * travis-cipart
00:29:49  * not^vquit (Ping timeout: 245 seconds)
00:33:57  * a_lequit (Read error: Connection reset by peer)
00:34:06  * a_lejoined
00:58:29  <rphillips>hmm. i kicked that build
00:58:35  <rphillips>looked strange
01:00:48  * travis-cijoined
01:00:48  <travis-ci>luvit/luvi#275 (winsvc - 85c67c9 : Rob Emanuele): The build passed.
01:00:48  <travis-ci>Change view : https://github.com/luvit/luvi/compare/db29b1246d32...85c67c96b7e6
01:00:48  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/47993639
01:00:48  * travis-cipart
01:04:23  * a_lequit (Remote host closed the connection)
01:05:57  * a_lejoined
01:08:23  <rphillips>when I looked at that PR i didn't realize the lua code is just the sample
01:08:40  <rphillips>that is slick
01:18:26  <rje>rphillips: ?
01:21:46  <rphillips>i initially thought that was a lua module
01:23:56  <rje>oh, have you tried it?
01:25:02  <rphillips>not yet
01:25:08  <rphillips>i'll try it in the morning
01:43:38  * a_lequit (Remote host closed the connection)
01:44:04  * a_lejoined
01:45:16  * a_lequit (Remote host closed the connection)
01:46:27  * a_lejoined
02:11:58  * a_lequit (Ping timeout: 255 seconds)
02:50:54  * a_lejoined
03:03:31  * avidaljoined
03:51:45  * avidalquit (Quit: Textual IRC Client: www.textualapp.com)
03:52:13  * dan336joined
03:53:16  * dan336quit (Client Quit)
03:56:05  * avidaljoined
03:56:09  <avidal>there we go, irc bouncer back online
04:02:33  * avidalquit (Remote host closed the connection)
04:09:23  * avidaljoined
04:42:54  * dan336joined
05:01:16  * dan336quit (Quit: Leaving.)
05:44:25  * a_lequit (Read error: Connection reset by peer)
05:44:55  * a_lejoined
07:48:14  * jetjoined
07:51:16  * jetlquit (Ping timeout: 255 seconds)
08:13:23  * DarkGodjoined
08:42:35  * a___joined
08:43:56  * a__quit (Remote host closed the connection)
11:10:31  * indexzeroquit
11:10:45  * indexzerojoined
12:46:25  * travis-cijoined
12:46:25  <travis-ci>brimworks/luvi#1 (master - 82b8d35 : Brian Maher): The build passed.
12:46:25  <travis-ci>Change view : https://github.com/brimworks/luvi/compare/ddda2f32f744...82b8d3535c19
12:46:25  <travis-ci>Build details : http://travis-ci.org/brimworks/luvi/builds/48043748
12:46:25  * travis-cipart
12:56:49  * jetljoined
12:59:58  * jetquit (Ping timeout: 245 seconds)
14:10:04  * a_lequit (Read error: Connection reset by peer)
14:10:33  * a_lejoined
14:41:09  * a_lequit (Remote host closed the connection)
14:47:30  * a_lejoined
14:52:11  * a_lequit (Read error: Connection reset by peer)
14:53:18  * a_lejoined
15:36:32  * dan336joined
16:01:07  * a_lequit (Remote host closed the connection)
16:09:59  * a_lejoined
16:32:21  * a_lequit (Remote host closed the connection)
16:33:39  * UniOnjoined
16:34:22  * a_lejoined
16:35:16  * a_lequit (Remote host closed the connection)
16:35:55  * a_lejoined
17:00:20  * a_lequit (Remote host closed the connection)
17:01:05  * a_lejoined
17:28:09  * a_lequit (Remote host closed the connection)
17:28:59  * a_lejoined
18:04:26  <dan336>oh by the way I have been working on a luvit project for a while now and I think its pretty cool
18:04:28  <dan336>https://github.com/fliping/flip
18:05:10  <dan336>its a cluster member monitor that allows scripts to be run as members come up and go down.
18:05:35  <dan336>Its a WIP, and there are some missing features like dynamically adding new members and things like that
18:05:47  <dan336>but if your configuration doesn't change that often, it works really well.
18:06:34  <dan336>we are using it to move VIPs between master/slave failover nodes, and also for the slave detecting when it should failover of the master.
18:07:19  <dan336>t also has a api that allows 3rd party projects to tie into the member detection system.
18:07:53  <dan336>but like I said its a WIP. so there will be some funny things about how it is set up.
18:34:36  <creationix>dan336: super cool
18:34:48  <creationix>using the node.js style APIs for I/O?
18:36:35  <dan336>yep. the only IO i really do is udp sockets, http requests, and spawning processes. but yeah using the node.js style APIs/
18:37:05  <dan336>I still haven't updated it to the newest luvit, I think the http module was why it wasn't working (it still seems influx a bit)
18:37:18  <dan336>or it was the last time I tried to update it
18:38:20  <dan336>but yeah luvit worked really really good for this. I like how it only uses a few meg of ram, we replaced an expensive 70+ MB node.js process with it
18:38:43  <dan336>and when you run a 70 MB process thousands of times, it kind of adds up.
18:47:17  <rje>creationix: rphillips: do we want to keep the winsvc code as a part of luvi or make it external?
18:50:27  <rphillips>hmm
18:50:38  <rphillips>i'm thinking luvi
18:50:50  <rphillips>would be slick to just ship the binary that works on windows as a service
18:53:00  <rje>k, going to merge
18:55:45  <creationix>yep, luvi is fine for service code
18:56:07  <creationix>till we have a good way to distribute pre-built dlls to embed in luvi apps, most C code will be in luvi itself
18:57:06  <creationix>rphillips: I can use the socket result from tls.createServer the same as net.createServer right?
18:57:13  <creationix>it appears to be a duplex node stream
18:57:31  * dan336quit (Quit: Leaving.)
18:57:36  <creationix>but I'm never getting and data using :on("data", ...)
18:57:45  <creationix>(trying to make https server)
18:59:39  <rphillips>right
19:00:42  <rphillips>iirc, the tls.createSocket is an event emitter
19:00:54  <rphillips>since it takes cleartext and proxies to the ssl socket
19:01:08  <creationix>here is my minimal https module https://github.com/luvit/luvit/blob/http-sugar/app/modules/https.lua
19:01:21  <creationix>once it has the plaintext stream, it's just normal http handling
19:01:53  <creationix>I'm trying to make a test server https://github.com/luvit/luvit/blob/aad28f5724df57ea0fc8876fb99ec99eed58d4b0/examples/http-server.lua#L17-L27
19:02:00  <creationix>but curl complains about bad ssl protocol
19:02:09  <creationix>luvit simply never emits "data" events
19:02:31  * travis-cijoined
19:02:31  <travis-ci>luvit/luvit#1473 (http-sugar - aad28f5 : Tim Caswell): The build passed.
19:02:31  <travis-ci>Change view : https://github.com/luvit/luvit/compare/f4660b1c59f7...aad28f5724df
19:02:31  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48089783
19:02:31  * travis-cipart
19:04:20  * travis-cijoined
19:04:20  <travis-ci>luvit/luvi#277 (master - d58d8e4 : Rob Emanuele): The build passed.
19:04:20  <travis-ci>Change view : https://github.com/luvit/luvi/compare/e6312b30e1da...d58d8e4f257e
19:04:20  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/48089652
19:04:20  * travis-cipart
19:04:39  <creationix>hmm, my path to the certs was wrong, so I guess I wasn't passing in key and cert after all
19:04:47  <creationix>tls should probably fail in that case if they are required
19:12:47  <rphillips>creationix: make sure curl is using tls by default
19:12:58  <rphillips>--tlsv1
19:13:06  <creationix>ok, I got it to work with curl by changing the options a little, but firefox doesn't work
19:13:11  <creationix>I'll push my changes...
19:14:47  <rje>rphillips: short vidyo chat?
19:14:55  <rphillips>sure!
19:18:17  <creationix>rphillips: when you get a chance, see if I'm doing anything wrong or if it's a tls bug. https://github.com/luvit/luvit/blob/http-sugar/examples/http-server.lua#L17-L21
19:18:32  <creationix>works great with curl as long as you pass in -k
19:18:38  <creationix>it's using a new self-signed cert I made
19:18:56  <creationix>but firefox hangs
19:19:08  * travis-cijoined
19:19:09  <travis-ci>luvit/luvit#1475 (http-sugar - 58fbb7f : Tim Caswell): The build has errored.
19:19:09  <travis-ci>Change view : https://github.com/luvit/luvit/compare/aad28f5724df...58fbb7f6df74
19:19:09  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48091920
19:19:09  * travis-cipart
19:20:33  * travis-cijoined
19:20:33  <travis-ci>luvit/luvit#1477 (http-sugar - cb1cd29 : Tim Caswell): The build passed.
19:20:33  <travis-ci>Change view : https://github.com/luvit/luvit/compare/58fbb7f6df74...cb1cd2937690
19:20:33  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48092360
19:20:33  * travis-cipart
19:21:56  <creationix>hmm, chrome has the same issue as firefox
19:23:40  <creationix>heh, but gnome's browser works
19:33:36  <avidal>creationix: thoughts on the resolver/loader being part of lit instead of luvit? It becomes like luarocks in that regard, lit is a package manager which ships its own package loader as well. Anything that uses lit to manage packages needs to use the lit loader as well?
19:34:01  <creationix>avidal: seems sane
19:34:35  <avidal>And luvit will be built on luvi + lit, so it'll use the lit loader
19:35:00  <avidal>But someone who wants to just use luvi to make a binary can freely use whatever they want
19:36:26  <creationix>yep, it makes sense to couple require with lit
19:37:01  <creationix>rphillips: good news, the http module in luvit 2.0 is blazing fast. I'm getting almost 6000 req/s using a single core on my chromebox
19:37:11  <creationix>the node streams don't slow it down much at all
19:38:45  <creationix>https://gist.github.com/creationix/9b46f12f44331b19d3c1
19:40:40  <rphillips>nice
19:41:09  <rphillips>creationix: what is the difference from luvit and luvi on that test?
19:45:18  <creationix>the cluster bench gets Requests per second: 43817.37 [#/sec] (mean)
19:45:22  <creationix>but that's using 4 cores
19:46:46  <creationix>ok, maybe 6k isn't that fast
19:46:57  <creationix>with a single core, the raw luvi version is getting 31447.53 with ab
19:47:16  <creationix>obviously ab is the bottleneck here, the results vary wildly
19:53:30  <avidal>luv is usable from lua/luajit directly, as long as it's in package.cpath, right?
19:54:38  <creationix>wrk gives stable results. luvit is ~6k, single core luvi is ~40k
19:55:00  <creationix>so I guess there is a cost to the stream abstraction, hmm
19:55:22  <creationix>but it won't be as big a deal in apps doing real work
19:56:26  <creationix>I'd be ticked pink if my real production app could handle 6k/sec on a cheap chromebox core
20:05:32  <avidal>ah, can't import luv.so using lua52 because it seems it was built with lua51 by default
20:07:50  <avidal>maybe, not sure how to parse the cmake file
20:15:44  <avidal>ah, there we go
20:16:09  <avidal>well, still can't load it in 5.2 but at least i know i can load it in lua5.1
20:17:27  <rphillips>rje: master for luvi for windows starts up like this:
20:17:44  <rphillips>https://www.evernote.com/shard/s9/sh/6a9a6be2-ce06-411c-a943-6224d0a0a1b2/381a23f886d6b0b5adf1e03e881c9d9e
20:18:13  <avidal>but you can't run the tests with lua5.1 because ffi is a luajit thing
20:18:27  <rje>rphillips: er, you can't run it from the commandline
20:19:08  <rphillips>Shouldn't the standard luvi help display?
20:19:20  <rje>rphillips: build it into a single exe, run that exe with the "install" param
20:19:48  <rje>rphillips: vidyo?
20:19:49  <rphillips>oh gotcha
20:19:54  <rphillips>LUVI_APP is set
20:20:01  <rphillips>cool
20:20:29  <rje>if you lupp master you'll get the log file changes
20:20:35  <rje>er pull
20:23:50  * travis-cijoined
20:23:51  <travis-ci>luvit/luvi#278 (master - 726887c : Rob Emanuele): The build passed.
20:23:51  <travis-ci>Change view : https://github.com/luvit/luvi/compare/d58d8e4f257e...726887c0a75f
20:23:51  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/48098996
20:23:51  * travis-cipart
20:32:05  * dan336joined
20:33:52  <rphillips>rje: hmm. latest master and start isn't working
20:34:03  <rphillips>right click the service and it says failed to start
20:34:07  <avidal>alright, got the luv tests running (and passing) on lua51
20:37:20  <avidal>what's the proper way in a standard lua script to cache a computation so repeated requires to the same module return the same data?
20:37:43  <rje>rphillips: vidyo?
20:38:01  <rphillips>roger
20:38:08  <avidal>oh duh, the results of the module are cached already
20:45:38  * rambocoderjoined
20:55:13  * rambocoderpart
21:17:56  <creationix>rphillips: could my issue with newer browsers be that they only support newer tls versions?
21:18:07  <creationix>you mentioned something about hard-codeing tls v1
21:19:45  <rphillips>it selects tlsv1 as the minimum version
21:20:15  <rphillips>openssl s_client works?
21:20:25  <rphillips>openssl s_client -tls1 ...
21:20:44  <rphillips>i'll try here as well
21:22:22  <rphillips>hmm. i get the same thing
21:23:07  <rphillips>http 1.0 vs 1.1 thing?
21:23:40  <rphillips>hmm. works with curl w/ 1.1
21:26:53  <rphillips>creationix: works with safari
21:27:15  <rphillips>i wonder if it's the cipher suite I selected
21:27:19  <rphillips>it's from nodejs
21:33:41  <rphillips>doesn't finish the tls handshake
21:33:45  <rphillips>in chrome
21:35:38  <rphillips>i think it's because chrome may be defaulting to sslv3 still
21:36:09  <rphillips>openssl s_client -ssl3 does the same thing
21:48:01  <creationix>rphillips: fwiw, my ssl code in lit accepts chrome connections just fine
21:48:35  <creationix>oh, nevermind, that's ssl via nginx
21:48:37  <creationix>of course that works
21:52:08  <rphillips>hmm
21:56:38  <rphillips>the secureConnection event is triggered
21:57:03  <creationix>rphillips: so the safe protocols are currently TLSv1 and TLSv1.2 right?
21:57:19  <rphillips>tlsv1,1.1,1.2
21:58:32  <avidal>does libuv have a function to query the host platform/os?
21:58:41  <rphillips>luajit does
21:58:54  <avidal>yeah i know, but i wanted the luv tests to run with regular lua5.1
21:58:58  <avidal>which means no require('ffi').os
21:59:17  <avidal>so i ported luarocks.cfg platform/arch check into luv/tests/platform.lua
21:59:28  <creationix>http://lua-users.org/wiki/PlatformDetection
21:59:46  <creationix>though libuv might expose something
21:59:56  <avidal>yep, i'm using uname which can't exactly accurately determine Windows (unless you're running via cygwin/mingw)
22:00:16  <avidal>although could just check package.config for \ as the dirsep
22:01:16  <avidal>no big deal
22:01:31  <avidal>my PR makes luv tests work just fine with lua5.1, at least on osx
22:01:37  <creationix>nice
22:01:50  <creationix>yeah, I don't see anything in libuv for platform detection
22:01:54  <avidal>same
22:02:01  <creationix>though there are many other system goodies in http://docs.libuv.org/en/v1.x/misc.html
22:03:00  <avidal>uv_loadavg() == [0,0,0]
22:03:02  <avidal>:)
22:04:05  <avidal>hmm, cmake vars could make it available to the compiled luv module
22:04:06  <creationix>that's windows for ya
22:04:28  <creationix>or a very idle machine
22:06:57  <rphillips>creationix: the http module is getting the 'G'
22:07:16  <rphillips>in the chrome get request
22:07:29  <creationix>right, and if I connect again, it seems to get the rest (using the gnome browser with keepalive)
22:07:45  <rphillips>hmm
22:08:00  <creationix>I triple checked my http logic, but it all works great over tcp (that's how I ended up running benchmarks to stress test it)
22:08:30  <creationix>removing "openssl.ssl.no_sslv3," in your secure config doesn't help
22:10:59  <rphillips>i'll debug into it... looks like the socket completion works
22:11:05  <rphillips>tls handshake* works
22:13:17  <creationix>Epiphany/3.14.2 works on a fresh connection, but fails on refresh when reusing the keepalive connection
22:13:40  <creationix>but this time, it gets the second request, but the second response from luvit never makes it to the browser
22:13:56  <creationix>(works perfect over normal http)
22:18:29  * travis-cijoined
22:18:29  <travis-ci>luvit/luvit#1479 (http-sugar - 618baf9 : Tim Caswell): The build passed.
22:18:29  <travis-ci>Change view : https://github.com/luvit/luvit/compare/cb1cd2937690...618baf9e2404
22:18:29  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48112027
22:18:29  * travis-cipart
22:19:24  <avidal>yeah, so cmake could easily be used to define a few constants in the compiled luv module for the host platform/arch, but i don't know if it's worth it
22:23:41  <creationix>avidal: it's a strange coupling. I'd rather not provide supported APIs that depend on info from cmake
22:25:58  <avidal>yeah, agreed
22:34:28  <rphillips>creationix: figured it out!
22:34:36  <rphillips>mind if I patch your branch?
22:34:39  <avidal>cheers!
22:41:13  <rphillips>creationix: figured you wouldn't mind... pull your branch and it should work
22:42:38  * travis-cijoined
22:42:38  <travis-ci>luvit/luvit#1480 (http-sugar - 4cc75fe : Ryan Phillips): The build passed.
22:42:38  <travis-ci>Change view : https://github.com/luvit/luvit/compare/618baf9e2404...4cc75feb909e
22:42:38  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48113887
22:42:38  * travis-cipart
22:43:15  <creationix>rphillips: awesome. I figured it was something around that
22:43:23  <creationix>I had similar issues with my wss client in lit
22:44:18  <rphillips>i think the lua-openssl example is wrong
22:44:21  <rphillips>i'll open a ticket
22:48:01  <creationix>+1 on https.createServer? https://github.com/luvit/luvit/pull/590
22:49:15  <rphillips>creationix: did that patch fix the issue ephinany as well?
22:50:34  <creationix>hmm, not sure
22:52:45  <creationix>nope, still broken in sphinany
22:52:51  <creationix>*ephinany
22:53:01  <rphillips>hmm
22:56:51  * travis-cijoined
22:56:51  <travis-ci>luvit/luvit#1481 (http-sugar - 69922e9 : Tim Caswell): The build passed.
22:56:51  <travis-ci>Change view : https://github.com/luvit/luvit/compare/4cc75feb909e...69922e9cada3
22:56:51  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/48114453
22:56:51  * travis-cipart
22:56:59  <rphillips>it gets the http request on the subsequent request
22:57:06  <rphillips>then the socket stays open I think
23:21:42  <rphillips>dinner
23:57:28  * dan336quit (Quit: Leaving.)