00:13:25  * ^vjoined
04:05:49  <rweichler>hi
04:05:54  <rweichler>is there a way to use luvit as a library?
04:06:24  <konobi>i believe so, i think it's in the docs
04:06:55  <daurnimator>rweichler: luvit is mainly a host executable for luvi these days
04:07:44  <daurnimator>rweichler: what sort of lib are you looking for
04:07:56  <rweichler>like
04:08:03  <rweichler>a shared lib
04:08:40  <daurnimator>to do.... ?
04:09:18  <rweichler>i already have a host executable
04:09:26  <rweichler>and i need to be able to do something like
04:09:33  <rweichler>ffi.load("luvit.so")
04:09:40  <rweichler>or require 'love.so'
04:10:31  <rweichler>did that make sense?
04:10:35  <daurnimator>rweichler: 'luv' is already a library if you're just after libuv stuff
04:11:01  <rweichler>oh wait yeah
04:11:03  <rweichler>thats what i want
04:11:09  <rweichler>thank you
04:12:33  <rweichler>oh man this is beautiful
04:16:22  <rweichler>how do you add CFLAGS and LDFLAGS?
04:17:59  <rweichler>and how do you link it with a custom lua build?
04:18:18  <rweichler>it seems to only support LuaJIT 2.0 and PUC Lua 5.3
04:20:26  <daurnimator>sorry, I'm not sure, perhaps wait for creationix to answer.
04:21:16  <konobi>rweichler: have a look at the build scripts for luvit itself
04:23:11  <konobi>daurnimator: any idea if there are any lua bindings available for kdbus?
04:23:24  <daurnimator>konobi: kdbus doesn't exist.
04:23:34  <daurnimator>konobi: it was never merged; and the group disbanded.
04:25:37  <konobi>huh
04:58:25  * SkyRocknRolljoined
05:14:08  <konobi>daurnimator: any suggestions on a fast bus like system available in lua?
05:14:22  <daurnimator>'bus like system'?
05:15:18  <konobi>like dbus, message queues, 0mq, etc.
05:15:27  <daurnimator>which exact features do you need?
05:15:42  <daurnimator>and what permission model do you need
05:16:02  <daurnimator>and what interoperability?
05:16:02  <konobi>i'm looking for an example of the conceptual model
05:16:40  <daurnimator>and do you control all the processes? are they forked off of one parent?
05:16:52  <daurnimator>do you need OS-wide unique naming?
05:17:35  <konobi>i'm just looking for an example implementation of the concept, to see approaches authors took
05:18:00  <daurnimator>and then the regular communication questions: stream or message oriented? messages in order? reliable or unreliable? connection oriented?
05:21:07  <daurnimator>konobi: perhaps take a step back and answer: what are you trying to make?
05:24:10  <konobi>daurnimator: nothing. I just learn about things differently to others. I like to look at several examples of approaches to problems to gauge the domain space, then rate implementations on my personal understanding of the limitations.
05:24:46  <daurnimator>konobi: normally if you think you want a bus.... you don't want a bus
05:25:26  <daurnimator>konobi: you should perhaps learn of all the various ways linux programs can communicate
05:25:32  <konobi>well, I'd rather gauge that for myself to increare my understanding rather than rely on a simple statement
05:25:35  <daurnimator>(at the kernel level)
05:25:45  <konobi>yes, i'm well aware.
05:26:17  <daurnimator>often overlooked are unix SEQPACKET sockets and SCTP sockets.
05:27:55  <konobi>yup, but those are abstraction/encapsulation points, the implementation isn't as important to me, since i may want to switch between them implementations
05:29:30  <daurnimator>you need to know (and depend) on the various guarntees made by your kernel. e.g. you can't build an unreliable transport on top of a reliable one.
05:30:21  <daurnimator>if you have multicast at the kernel level you won't need it at the application level
05:30:23  <daurnimator>etc
05:57:34  <konobi>sure, but it's up to me to decide what levels i need
05:58:04  <konobi>rabbitmq vs kafka, etc.
05:58:51  <konobi>vs 0mq, of course
07:32:30  * DarkGodjoined
09:00:43  * rendarjoined
09:50:18  * ^vquit (Ping timeout: 250 seconds)
10:06:47  * ^vjoined
10:31:02  * ^vquit (Ping timeout: 250 seconds)
10:46:21  * ^vjoined
10:59:38  * ^vquit (Ping timeout: 250 seconds)
11:36:24  * ^vjoined
13:01:03  * SkyRocknRollquit (Remote host closed the connection)
13:47:59  * rgrinbergjoined
14:49:54  <creationix>rweichler it should support lua 5.1 and 5.2 as well
14:52:18  <creationix>rphillips a bug was found in luv last week where tcp sockets were being initialized with somewhat undefined behavior. I'm wondering if that could cause some of the agent troubles around ipv4/ipv6
14:57:19  <creationix>rphillips https://github.com/luvit/luv/commit/66827cb39c8f29658fbb2418d8169af1559e17ee. WIthout the settop, then calling new_tcp() would put the userdata in slot one which would then trigger the second branch and initialize the socket with the userdata coerced to a number (hopefully 0, but still not good)
15:37:54  <rphillips>interesting
15:38:51  <rphillips>i'll see about getting an updated agent built
15:42:35  <rphillips>creationix: did you push a new luvi?
15:42:41  <creationix>not yet
15:42:50  <creationix>I was wondering if you thought it could be related?
15:43:14  <creationix>this is the function is was calling when it shouldn't have http://docs.libuv.org/en/v1.x/tcp.html#c.uv_tcp_init_ex
15:43:30  <rphillips>i don't think so... I think the ipv6 was broken on the box
15:43:32  <creationix>"At the moment only the lower 8 bits of the flags parameter are used as the socket domain. A socket will be created for the given domain. If the specified domain is AF_UNSPEC no socket is created, just like uv_tcp_init()."
15:43:53  <creationix>if AF_UNSPEC is zero and the userdata coerces to 0, then it's not actually a problem
15:44:19  <creationix>still, we can do a release I suppose
15:45:15  <rphillips>how does the settop fix it?
15:45:27  <creationix>https://github.com/luvit/luv/issues/242
15:45:36  <rphillips>oh, if you pass in an argument
15:45:41  <creationix>it prevents the luv_newuserdata from stomping on the first slot
15:46:03  <creationix>yeah, took me a while to figure out what the bug report was saying
15:46:42  <rphillips>lua_isnoneornil(L, -1) would always look at the top slot
15:48:58  <creationix>right, but we don't want to test the userdata, we want to test the first argument
15:49:16  <creationix>you can optionally pass in an integer
15:49:27  <rphillips>ah, gotcha
15:49:46  <creationix>btw, last hackday I fixed up the libuv bindings in seaduk (js port of luvi)
15:49:57  <creationix>I have a simple http server running now in a 200kb binary
15:50:21  <creationix>I also ported http-codec from luvit to js
15:50:44  <creationix>https://github.com/nucleus-js/seaduk/blob/master/test-app/http-server.js
16:02:18  <rphillips>wow. fun
17:15:15  * rgrinbergquit (Ping timeout: 265 seconds)
17:42:21  * rgrinbergjoined
17:43:44  * rgrinbergquit (Client Quit)
17:44:19  * rgrinbergjoined
18:52:05  * inexquit (Quit: a bouncer quitting? this cant be good)
19:38:11  * rendarquit (Ping timeout: 240 seconds)
20:07:52  * rendarjoined
20:18:25  * rgrinbergquit (Ping timeout: 252 seconds)
20:44:09  * rgrinbergjoined
20:53:09  * travis-cijoined
20:53:10  <travis-ci>luvit/luv#275 (master - 79edc1d : Tim Caswell): The build passed.
20:53:10  <travis-ci>Change view : https://github.com/luvit/luv/compare/66827cb39c8f...79edc1dfe2d1
20:53:10  <travis-ci>Build details : https://travis-ci.org/luvit/luv/builds/147280939
20:53:10  * travis-cipart
21:01:18  <creationix>luv has been failing on appveyor for some time, but the new luv passes the luvi tests on appveyor
21:01:40  <creationix>also the lit and luvit tests pass with the new luvi, so I think we're good for a release
21:01:54  <creationix>(in addition to the latest luv changes, I updated luajit to the latest 2.1 branch)
21:11:16  * travis-cijoined
21:11:17  <travis-ci>luvit/luv#276 (master - d43c806 : Tim Caswell): The build passed.
21:11:17  <travis-ci>Change view : https://github.com/luvit/luv/compare/79edc1dfe2d1...d43c806fb2b2
21:11:17  <travis-ci>Build details : https://travis-ci.org/luvit/luv/builds/147281197
21:11:17  * travis-cipart
21:13:59  * travis-cijoined
21:14:00  <travis-ci>luvit/luv#277 (1.9.0-4 - d43c806 : Tim Caswell): The build passed.
21:14:00  <travis-ci>Change view : https://github.com/luvit/luv/compare/1.9.0-4
21:14:00  <travis-ci>Build details : https://travis-ci.org/luvit/luv/builds/147281284
21:14:00  * travis-cipart
21:18:25  * travis-cijoined
21:18:26  <travis-ci>luvit/luv#278 (master - 6690694 : Tim Caswell): The build passed.
21:18:26  <travis-ci>Change view : https://github.com/luvit/luv/compare/d43c806fb2b2...66906947cf87
21:18:26  <travis-ci>Build details : https://travis-ci.org/luvit/luv/builds/147281757
21:18:26  * travis-cipart
21:39:23  * travis-cijoined
21:39:25  <travis-ci>luvit/luvi#969 (master - df7240e : Tim Caswell): The build passed.
21:39:25  <travis-ci>Change view : https://github.com/luvit/luvi/compare/a4365d2fa4fc...df7240ef9953
21:39:25  <travis-ci>Build details : https://travis-ci.org/luvit/luvi/builds/147291296
21:39:25  * travis-cipart
21:44:35  * travis-cijoined
21:44:35  <travis-ci>luvit/luv#279 (1.9.0-4 - 6690694 : Tim Caswell): The build passed.
21:44:36  <travis-ci>Change view : https://github.com/luvit/luv/compare/3b2a03b2fe1b...3429c3b68837
21:44:36  <travis-ci>Build details : https://travis-ci.org/luvit/luv/builds/147281834
21:44:36  * travis-cipart
22:01:41  <creationix>jpleau how's it going?
22:03:49  <jpleau>creationix: hi. Doing fine, you? Almost done on the packaging side, need one more file for copyrights, just asked on github to the author :)
22:04:16  <creationix>rphillips, I'm publishing the new luvi release now. So far no problems
22:04:16  <creationix>you can probably start updating the agent version of luvi
22:04:16  <creationix>https://github.com/luvit/luvi/releases/tag/v2.7.4
22:04:24  <creationix>yep, saw that
22:04:43  <creationix>all these off files are just build scripts. I never considered them part of the source code for licensing purposes
22:04:57  <creationix>but I guess if it's in the repo and the default build uses it, then it matters
22:05:11  <jpleau>Yeah, but I think we need to be explicit in our packages since we are redistributing it
22:05:26  <creationix>absolutely, thanks for doing the work
22:05:58  <creationix>so are there any packages that want to depend on luv in the world of debian?
22:06:03  <creationix>(other than luvit itself)
22:06:25  <jpleau>creationix: Yes, we have worked on getting neovim included, and it now has a dependency on it's Lua client, which requires luv
22:06:38  <creationix>makes sense
22:06:56  <jpleau>The "irony" with the licenses for cmake files is that we don't even use them, we use "dh-lua", which compiles all the .c files itself and runs tests for us heh
22:07:06  <creationix>right
22:07:21  <creationix>maybe for future projects, I'll keep build stuff in a separate repo
22:07:55  <creationix>most of the maintanance for luv is build issues for different configurations anyway. Very little with the source itself
22:07:56  <jpleau>You don't have to, it's certainly useful, if for example someone wanted to package it for Archlinux
22:08:16  <creationix>it's in homebrew now btw
22:08:23  <creationix>not sure if neovim is published there
22:08:23  <jpleau>cool!
22:09:20  * travis-cijoined
22:09:21  <travis-ci>luvit/luvi#970 (v2.7.4 - 3d323d7 : Tim Caswell): The build passed.
22:09:21  <travis-ci>Change view : https://github.com/luvit/luvi/commit/3d323d7d0f5d
22:09:21  <travis-ci>Build details : https://travis-ci.org/luvit/luvi/builds/147312944
22:09:21  * travis-cipart
22:09:45  <creationix>hmm, maybe just luvit http://braumeister.org/formula/luvit
22:10:15  <creationix>rphillips, ok now everything except armv6 is published.
22:25:53  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
23:00:16  <rphillips>nice
23:45:40  <cat5e>what do I need to update here? https://aur.archlinux.org/packages/?SeB=m&K=SoniEx2