00:07:13  * dan3361quit (Quit: Leaving.)
00:08:28  * UniOn_quit (Ping timeout: 250 seconds)
00:25:54  <rphillips>luvi binaries are the same
00:26:01  <rphillips>md5sum has the same hash
00:26:09  <rphillips>two trees... make clean, make
00:26:25  <rphillips>one tree cert validates... the other tree cert doesn't validate
00:26:54  * cledevjoined
00:28:02  <rphillips>ack.
00:28:04  <rphillips>test.pem
00:28:07  <rphillips>damn
00:30:21  <rphillips>i need to take a break from tls.connect
00:41:59  * travis-cijoined
00:41:59  <travis-ci>luvit/luvit#1226 (tls.connect - a21930b : Ryan Phillips): The build has errored.
00:41:59  <travis-ci>Change view : https://github.com/luvit/luvit/compare/20620deb12d6...a21930b52295
00:41:59  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/41666361
00:41:59  * travis-cipart
00:56:25  * cledevquit (Ping timeout: 258 seconds)
01:11:06  * kazuponjoined
02:11:18  * cledevjoined
02:53:27  * a_lequit (Remote host closed the connection)
03:06:07  * DarkGodquit (Ping timeout: 245 seconds)
03:10:10  * dan336joined
03:20:52  * cledevquit (Ping timeout: 250 seconds)
03:23:33  * a_lejoined
03:59:41  * a_lequit (Remote host closed the connection)
03:59:52  * kazuponquit (Remote host closed the connection)
04:32:39  * dan336quit (Quit: Leaving.)
04:47:29  <rphillips>creationix: i was thinking... it would be sweet to 'crosscompile' a luvit app... meaning, take the foreign binary and package the zip to the end of it
04:48:11  * kazuponjoined
04:48:34  <rphillips>piernov: is your event loop with libuv?
04:48:56  <rphillips>you can spawn a thread and have a luvit loop within that
04:49:36  <creationix>rphillips: yeah, that would be pretty easy actually
04:49:46  <creationix>just take luvi.exe and add a zip from a linux box
04:50:17  <creationix>btw, the new luvi binaries are all pushed v0.4.0
04:50:23  <rphillips>awesome
04:50:33  <creationix>if you update luvi-binaries in luvit, you can build without using system zip or cat
04:50:56  <creationix>LUVI_APP=app LUVI_TARGET=luvit luvi-binaries/`uname -m`_`uname -s`/luvi
04:51:22  <creationix>hmm, got that backwards
04:51:39  <creationix>LUVI_APP=app LUVI_TARGET=luvit luvi-binaries/`uname -s`_`uname -m`/luvi
04:51:56  * Hotrootjoined
04:52:32  <creationix>https://gist.github.com/creationix/b7bc3d066a67c54b0844
04:53:10  * kazuponquit (Ping timeout: 250 seconds)
04:53:14  <creationix>so to enable cross-building I just need to add a new flag to override the path to the luvi binary
04:53:20  <creationix>currently it’s hard-coded to uv.exepath()
04:54:23  * kazuponjoined
04:58:36  <rphillips>hot
04:59:42  <Hotroot>Looks like lua-websockets uses libev. I assume I'll have to modify it to get it to work with luvit (libuv)
05:00:14  <rphillips>i can't imagine it being too bad
05:00:59  <Hotroot>Yeah. The lib is ugly in general though. Doesn't even use function parens in the examples -.-
05:12:40  * a__quit (Ping timeout: 244 seconds)
05:12:52  * a__joined
05:31:47  <Hotroot>Oh, looks like someone already made one for luvit. Neat.
05:43:46  * erlbot--quit (Remote host closed the connection)
05:45:06  <Hotroot>Sweet, Redis and async libs too =D
07:39:27  * a__quit (Ping timeout: 245 seconds)
07:39:29  * a___joined
08:20:54  * DarkGodjoined
10:19:44  * kazuponquit (Remote host closed the connection)
10:20:10  * kazuponjoined
10:24:43  * kazuponquit (Ping timeout: 255 seconds)
11:46:06  * cledevjoined
11:50:50  <piernov>rphillips: no, it's using ENet (and I don't think libuv can replace ENet for UDP networking with reliable packets), but I'm interested in using libuv (because of the integration with Lua through luvit) for TCP (the project I'm hacking on currently uses Asio)
12:18:17  * erlbot--joined
12:35:27  * cledevquit (Ping timeout: 244 seconds)
13:37:32  * torpor1part
13:57:18  * cledevjoined
14:06:23  * jirwinquit (Excess Flood)
14:06:34  * jirwinjoined
14:08:47  <rphillips>creating a thread might be the best way
14:09:12  <rphillips>creationix: bumped lua-openssl... upstream got a fix in
14:11:19  * travis-cijoined
14:11:19  <travis-ci>luvit/luvi#159 (master - 2bed79f : Ryan Phillips): The build passed.
14:11:19  <travis-ci>Change view : https://github.com/luvit/luvi/compare/93ff2dfc9b56...2bed79fb513e
14:11:19  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41716528
14:11:19  * travis-cipart
14:15:17  * jirwinquit (Changing host)
14:15:17  * jirwinjoined
14:16:01  * creationixquit (Excess Flood)
14:16:13  * creationixjoined
14:26:35  <creationix>rphillips: cool, I can build 0.4.1 today then.
14:26:49  <rphillips>i pushed a tag for it
14:43:24  * kazuponjoined
14:48:50  * Hotrootpart
15:20:17  * dan336joined
15:51:32  * erlbot--quit (Remote host closed the connection)
15:51:53  * erlbot--joined
15:58:20  * a_lejoined
16:03:39  * a_lequit (Remote host closed the connection)
16:04:15  <creationix>rphillips: building v0.4.1 now
16:05:10  * a_lejoined
16:10:29  <creationix>linux sure builds fast
16:10:35  <creationix>ninja is pretty awesome
16:10:42  <rphillips>+1 :)
16:14:07  * kazuponquit (Remote host closed the connection)
16:15:05  <creationix>publish for osx is pretty fast too. 119 seconds for both luvi and luvi-tiny
16:15:05  * travis-cijoined
16:15:05  <travis-ci>luvit/luvi#161 (master - 9e7176d : Tim Caswell): The build passed.
16:15:05  <travis-ci>Change view : https://github.com/luvit/luvi/compare/2bed79fb513e...9e7176dd7578
16:15:05  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41729788
16:15:05  * travis-cipart
16:16:54  * travis-cijoined
16:16:55  <travis-ci>luvit/luvi#162 (v0.4.1 - 9e7176d : Tim Caswell): The build passed.
16:16:55  <travis-ci>Change view : https://github.com/luvit/luvi/compare/2bed79fb513e...9e7176dd7578
16:16:55  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41729805
16:16:55  * travis-cipart
16:18:05  <rphillips>are you creating annotated tags/
16:18:06  <rphillips>?
16:18:32  <rphillips>wait
16:18:37  <rphillips>travis supports osx? http://blog.travis-ci.com/2014-11-03-xcode-61-beta/
16:23:17  <creationix>no, these are normal tags. We should probably start doing annotated tags with a changelog though
16:23:22  <creationix>and maybe gpg sign them
16:23:43  <creationix>nice, travis re-opened osx.
16:24:40  <creationix>though I wonder if it’s still limited to people who git in the osx beta before
16:28:15  <rphillips>oh, maybe
16:36:02  * UniOnjoined
16:36:34  * UniOnquit (Remote host closed the connection)
16:37:00  * UniOnjoined
16:37:23  <rphillips>creationix: https://groups.google.com/forum/#!topic/libuv/GIqzv-Ve1og
16:37:48  <creationix>yay, finally!
16:41:31  <creationix>of course this means I need to update the binaries again
16:41:41  <creationix>I think I’ll just re-tag 0.4.1
16:44:34  <creationix>nah, 0.4.2
16:44:44  <creationix>I’ll just cancel the raspberry pi and windows builds
16:48:14  * a____joined
16:48:37  * a___quit (Ping timeout: 244 seconds)
16:51:22  * travis-cijoined
16:51:22  <travis-ci>luvit/luv#168 (master - 8c10a13 : Tim Caswell): The build passed.
16:51:22  <travis-ci>Change view : https://github.com/luvit/luv/compare/1d72f67637f1...8c10a1338917
16:51:22  <travis-ci>Build details : http://travis-ci.org/luvit/luv/builds/41733344
16:51:22  * travis-cipart
17:02:59  * a_lequit (Remote host closed the connection)
17:05:58  * DarkGodquit (Quit: Leaving)
17:09:09  * a_lejoined
17:22:47  <creationix>hmm, I think I lost my gpg private key.
17:24:56  * kazuponjoined
17:29:34  * a_lequit (Remote host closed the connection)
17:29:38  * kazuponquit (Ping timeout: 258 seconds)
17:30:54  * a_lejoined
17:34:29  * travis-cijoined
17:34:29  <travis-ci>luvit/luvi#164 (v0.4.2 - fa61108 : Tim Caswell): The build passed.
17:34:29  <travis-ci>Change view : https://github.com/luvit/luvi/compare/v0.4.2
17:34:29  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41737767
17:34:29  * travis-cipart
17:35:40  * travis-cijoined
17:35:40  <travis-ci>luvit/luvi#163 (master - fa61108 : Tim Caswell): The build passed.
17:35:40  <travis-ci>Change view : https://github.com/luvit/luvi/compare/9e7176dd7578...fa61108e40ce
17:35:40  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41737738
17:35:40  * travis-cipart
17:38:49  <rphillips>secring stored in 1password
17:39:25  * erlbot--quit (Remote host closed the connection)
17:46:00  * erlbot--joined
17:53:02  * travis-cijoined
17:53:03  <travis-ci>luvit/luvi#165 (master - b8f7643 : Tim Caswell): The build passed.
17:53:03  <travis-ci>Change view : https://github.com/luvit/luvi/compare/fa61108e40ce...b8f76435cd76
17:53:03  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41739410
17:53:03  * travis-cipart
17:53:25  * erlbot--quit (Remote host closed the connection)
17:53:41  * erlbot--joined
18:03:37  * a_lequit (Remote host closed the connection)
18:04:50  * a_lejoined
18:13:40  * travis-cijoined
18:13:40  <travis-ci>luvit/luvi#166 (master - 4fbd86a : Tim Caswell): The build passed.
18:13:40  <travis-ci>Change view : https://github.com/luvit/luvi/compare/b8f76435cd76...4fbd86a45319
18:13:40  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41741071
18:13:40  * travis-cipart
18:29:11  * travis-cijoined
18:29:11  <travis-ci>luvit/luvi#168 (v0.4.2 - 177f066 : Tim Caswell): The build has errored.
18:29:11  <travis-ci>Change view : https://github.com/luvit/luvi/compare/05c90b5666b3...177f066e4a5e
18:29:11  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41743068
18:29:11  * travis-cipart
18:32:42  * travis-cijoined
18:32:42  <travis-ci>luvit/luvi#168 (v0.4.2 - 177f066 : Tim Caswell): The build passed.
18:32:42  <travis-ci>Change view : https://github.com/luvit/luvi/compare/05c90b5666b3...177f066e4a5e
18:32:42  <travis-ci>Build details : http://travis-ci.org/luvit/luvi/builds/41743068
18:32:42  * travis-cipart
18:37:49  * creationixhas 4 machines running the publish script at once! (linux x64, raspberry pi, osx, windows)
18:40:35  <creationix>the make.bat file is much easier to use now. It has most the features from Makefile
18:40:49  <creationix>so on unix or windows, you can do things like `make test` or `make clean`
18:42:35  <rphillips>nice
18:42:50  <creationix>everything but raspberry pi is pushed to luvi-binaries
18:43:46  <creationix>one of these days I’ll setup distcc and speed up my pi builds
18:57:22  <rphillips>we could go the cross compile route
18:58:00  <creationix>true, that should be fairly easy with cmake and raspberry pi
18:59:04  <creationix>luvi-tiny just finished on RPi
19:04:04  <rphillips>host binaries in cmake look a little strange
19:04:11  <rphillips>but it doesn't look all that bad
19:04:45  <creationix>luajit is the tricky one I would think, but he has pretty good instructions for cross-compiling
19:05:02  <rphillips>http://stackoverflow.com/questions/18899987/is-it-possible-to-build-binaries-for-different-targets-using-cmake
19:05:18  <rphillips>it seems like it's a multiple pass thing in cmake
19:07:01  <rphillips>or maybe ExternalProject in cmake
19:09:21  * a_lequit (Read error: Connection reset by peer)
19:09:50  * a_lejoined
19:10:31  <creationix>http://www.kitware.com/blog/home/post/426
19:13:24  <creationix>good news is I can build both versions on the device and it only takes an hour
19:13:31  <creationix>but yeah, hour vs 30 seconds on the desktop
19:15:14  <rphillips>http://www.raspberrypi.org/documentation/linux/kernel/building.md
19:15:18  <rphillips>found this toolchain that is prebuilt
19:17:31  * cledevquit (Ping timeout: 255 seconds)
19:24:25  * cledevjoined
19:29:22  * typedlambdaquit (Ping timeout: 250 seconds)
19:36:04  * typedlambdajoined
19:51:19  <creationix>rphillips: https://github.com/luvit/luvit/pull/544
19:51:43  <creationix>that’s a handy cross-compiler
19:52:24  <rphillips>nice!
19:54:26  <creationix>I think removing the dependency on a system installed zip is my favorite part of thie pr https://github.com/luvit/luvit/pull/544/files#diff-180360612c6b8c4ed830919bbb4dd459L6
19:54:30  <creationix>it’s a royal pain on windows
19:54:50  <creationix>plus most people don’t know how to concat files on windows, the LUVI_TARGET method is much easier
19:56:44  <rphillips>yeah, that is going to streamline everything
19:57:14  <creationix>rphillips: so now to build virgo agents, you can just include luvi-binaries and luvit as submodules and chain/layer apps in LUVI_APP
19:57:35  <creationix>the composite vfs works the same in dev mode as in bundle mode (creating the zip)
19:57:41  <rphillips>yeah, i'll get that integrated in
19:58:40  <creationix>one interesting “feature” is anything built with luvi will honor LUVI_APP and LUVI_TARGET environment variables
19:58:47  <creationix>I think that is more good than bad
19:59:20  <rphillips>perhaps the bundle could lock itself somehow
19:59:37  <creationix>well, ony option would be to use cli args instead of environment variables
19:59:49  <creationix>but then only luvi would have the capability
19:59:53  <rch>or a special lua file which can override env vars in the bundle, env.lua or something
20:00:16  <creationix>yeah, probably best to just add a way for apps to be locked and ignore those
20:00:24  <creationix>special file in the root of the bundle or something
20:03:05  <creationix>or another option would be to lock by default, but expose the bundle logic as a library that could be required
20:03:29  <creationix>the nice thing about lock by default is I can use args instead of envs in luvi
20:03:41  <creationix>luvi my/app # run an app
20:03:48  <creationix>luvi my/app mybinary # build an app
20:04:34  <creationix>I’ll think about it some more. I’m happy with the current behavior for now
20:04:47  <creationix>I mean LD_PRELOAD breaks all kinds of apps
20:04:55  <creationix>it’s one of those things you just don’t do
20:05:09  <creationix>(unless you know what you’re doing)
20:05:12  <rphillips>right
20:05:59  <creationix>hmm, appears I forgot the .exe extension in the windows make.bat https://ci.appveyor.com/project/creationix/luvit
20:07:47  <rch>i like that bundle logic as library thing
20:07:57  <rch>good point about LD_PRELOAD
20:13:32  <rphillips>rch: creationix : https://github.com/virgo-agent-toolkit/virgo-base-agent/blob/luvi-up/Makefile
20:13:36  <rphillips>hot hot hot
20:13:55  <creationix>nice
20:14:16  <creationix>did you see how I started a convention of mirroring the Makefile features in the Make.bat file?
20:14:35  <creationix>you can’t do dependencies, but you can recursivly call the Make.bat with CALL
20:14:48  <creationix>https://github.com/luvit/luvit/blob/luvi-up/Make.bat
20:14:54  <rphillips>that is slick
20:15:46  <creationix>rphillips: you should add this one https://github.com/luvit/luvit/blob/luvi-up/Makefile#L1
20:15:58  <creationix>so it invalidates the final binary if any of the source changes
20:16:06  <creationix>just do one for each app folder
20:16:15  <rphillips>cool
20:17:27  <creationix>should I work on bundling binary code outside luvi (in the zip) or a package manager for luvit?
20:17:46  <creationix>rch: rphillips ^
20:17:51  <creationix>rje: ^
20:19:20  <rphillips>good question
20:19:44  <creationix>I think package repository and manager is more helpful
20:20:12  <creationix>we can hack around the lack of proper binary loading by just writing from bundle to filesystem manually in module code
20:21:12  <creationix>most things we need, we can just put in luvit for now too. Having flags for extras means it’s not forced on everyone
20:21:55  <creationix>I want opengl, joystick, and gpio for example to make luvit bots and games on raspberry pi (for teaching kids), but that’s hardly stuff that should go in luvi core be default
20:26:30  <rphillips>dependency management would be nice
20:27:23  <rch>rphillips: that makefile is so ridiculously short
20:27:50  <rch>creationix: both are important
20:28:02  <rch>creationix: i don't know if the write to tmp file thing is appropriate in virgo
20:28:12  <rch>creationix: obviously dependency management would be great too
20:33:10  <creationix>I wonder how far a single git-style graph of files would scale
20:34:09  <creationix>rch: I think most of virgo’s needs will be in luvi, not sure yet
20:34:23  <creationix>but my raspberry-pi gpio bindings probably don’t need to go there
20:37:01  <creationix>actually, if I just use real git and keep a branch for each package with namespaced tags for releases, it should scale fairly far
20:37:17  <creationix>especially if I change the network protocol to something custom for the client to talk
20:37:48  <creationix>the biggest scalability issue with git servers is the current protocol is killer on the server and assumes clients wants to clone full histories (or updates to full histories)
20:38:58  <creationix>something tcp or websocket based that grabbed blobs one at time would be very effecient and scalable
20:39:07  <creationix>and we could easily shard by hash
20:39:58  <rphillips>we could certainly fork Luvi and add the sigar bindings.
20:40:15  <rphillips>would be nice to not have to
20:40:20  <creationix>yeah, that’s another idea, maintain forks of luvi with optional things that most people won’t need
20:47:22  * cledevquit (Ping timeout: 250 seconds)
20:53:07  <creationix>I’m pretty confident we can find a way to load binaries out of the zip bundle
20:53:29  <creationix>but even assuming that can be solved, there is still the problem of how they interact with the package manager
21:09:06  * cledevjoined
21:17:17  <bjorn>Man in the libuv 0.10 -> 1.0 migration guide it seems to me like they made everything more complicated. But I'm sure it allows things to be done faster.
21:18:01  <bjorn>It definitely does not look like a library I'd want to use directly. I'm so glad luvit exists. :)
21:23:48  <rphillips>creationix: uv_fs_mkdtemp might be perfect to write out the shared object
21:24:07  <rphillips>bjorn: thanks! :)
21:24:23  <rphillips>a few of those changes are best practices in C
21:24:55  <bjorn>Alright, I'm too spoiled with C++ for looking at such code. :)
21:24:58  * travis-cijoined
21:24:58  <travis-ci>luvit/luvit#1229 (luvi-up - 2ff37c2 : Tim Caswell): The build passed.
21:24:58  <travis-ci>Change view : https://github.com/luvit/luvit/compare/abf1b7549f9a...2ff37c245479
21:24:58  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/41751241
21:24:58  * travis-cipart
21:25:04  <bjorn>And thank you guys, of course!
21:34:01  <rphillips>creationix: test cases for virgo-base
21:34:15  <rphillips>in the same executable or should I have a different binary...
21:41:40  <rphillips>[string "bundle:modules/utils.lua"]:214: bad argument #1 to 'write' (uv_stream_t subclass required)
21:41:42  <rphillips>hmm
21:49:23  <rphillips>ah hah
21:50:55  <rphillips>hmm
21:53:43  <rphillips>my fault
22:14:31  <rphillips>subprocess support + pipes will get the tls tests to a workable state
22:46:13  * cledevquit (Ping timeout: 264 seconds)
22:55:31  * cledevjoined
23:23:04  <creationix>you can use uv.spawn directly, it works great
23:52:06  * a_le_joined
23:54:10  <rphillips>yeah, working with uv.spawn
23:55:16  * a_lequit (Ping timeout: 258 seconds)
23:58:36  * dan336quit (Quit: Leaving.)