00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:04  * loladiroquit (Quit: loladiro)
00:00:08  * ircretaryjoined
00:02:07  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
00:03:06  * loladirojoined
00:04:37  * loladiro_joined
00:07:32  * loladiroquit (Ping timeout: 252 seconds)
00:07:32  * loladiro_changed nick to loladiro
00:16:13  * loladiroquit (Ping timeout: 256 seconds)
00:16:38  * loladirojoined
00:34:48  * bnoordhuisjoined
00:39:42  * bnoordhuisquit (Ping timeout: 276 seconds)
01:57:17  * defunctzombie_zzchanged nick to defunctzombie
02:07:11  * defunctzombiechanged nick to defunctzombie_zz
02:07:49  * kellabytejoined
02:27:33  <kellabyte>isaacs: hiya :)
04:09:38  * benoitcquit (Excess Flood)
04:17:36  * benoitcjoined
06:10:44  * toothrchanged nick to toothrot
06:15:28  <rvagg>kellabyte: did you switch out LevelDB for something else in your project already? I think I saw that you said you were going to.
06:17:45  <kellabyte>rvagg: yeah I'm messing around with another storage engine but I think I'll make my storage abstraction work for both
06:18:19  <rvagg>kellabyte: ah, ok, may I ask what the alternative is, and does it do sorting like LevelDB?
06:19:20  <kellabyte>rvagg: looking at MDB, it's an append only B tree implementation
06:20:03  <rvagg>kellabyte: since you're using libuv now you might be interested in the Node LevelDB dist, https://github.com/rvagg/node-leveldown/ we're not using Boost for Windows support but a mix of libuv and some Windows-specific stuff
06:20:23  <rvagg>see the deps directory
06:21:04  <kellabyte>ah cool
06:21:44  <kellabyte>yeah I'm still doing some testing with libuv and boost asio
06:22:03  <kellabyte>it was cool to get libuv going this afternoon though
06:22:20  <rvagg>libuv kind of makes Windows dev sane, gives you a posix-ish interface to a ton of standard operations
06:22:45  <rvagg>I wish it had more, but that's a little beyond the scope of what libuv is for
06:23:34  <kellabyte>yeah, I wish there was a http server, not too excited about implementing all of that lol but I'll probably go with whatever is fastest
06:25:06  <rvagg>clone the node repo and steal code from there perhaps
06:25:44  <kellabyte>isn't all the node http server in javascript?
06:25:55  <tjfontaine>the parser is C
06:26:28  <kellabyte>tjfontaine: yeah I am using http_parser
06:27:55  <kellabyte>I need to try to get keep-alive working, I think my benchmark is capped at the speed connections are connecting/closing at
06:49:05  * paddybyersjoined
06:52:59  * rendarjoined
07:06:48  * CoverSlidequit (Ping timeout: 264 seconds)
07:53:24  * dsantiagojoined
08:05:44  * loladiroquit (Quit: loladiro)
08:15:27  * loladirojoined
08:21:00  * loladiroquit (Quit: loladiro)
08:21:40  * loladirojoined
08:24:25  * loladiroquit (Client Quit)
08:37:17  * niskaquit (Quit: ERC Version 5.3 (IRC client for Emacs))
08:49:03  * dsantiagoquit (Ping timeout: 256 seconds)
08:51:53  * dsantiagojoined
09:02:13  * niskajoined
09:04:15  * hzjoined
09:08:35  * `3rdEdenjoined
09:14:55  * SquirrelCZECHjoined
09:15:03  <SquirrelCZECH>hi folks
09:15:26  <SquirrelCZECH>do yu think that support for "OpenSSL" is going to be in standart pyuv library? :-)
09:15:30  <SquirrelCZECH>*you
09:15:46  <SquirrelCZECH>or libuv of course
09:21:42  * dsantiagoquit (Remote host closed the connection)
09:22:25  * dsantiagojoined
09:32:41  * dsantiagoquit (Ping timeout: 256 seconds)
09:35:22  * dsantiagojoined
09:40:43  * dominictarrquit (Quit: dominictarr)
09:52:54  * dsantiagoquit (Ping timeout: 264 seconds)
09:55:31  * dsantiagojoined
10:00:37  * dsantiagoquit (Ping timeout: 248 seconds)
10:03:57  * dsantiagojoined
10:04:16  * dominictarrjoined
10:07:01  * paddybyersquit (Ping timeout: 248 seconds)
10:11:14  * dsantiagoquit (Ping timeout: 245 seconds)
10:14:26  * dsantiagojoined
10:20:10  * paddybyersjoined
10:25:50  * dsantiagoquit (Ping timeout: 258 seconds)
10:32:57  * dsantiagojoined
10:37:30  * rendarquit
10:55:17  * `3rdEdenquit (Remote host closed the connection)
11:13:43  <indutny>morning
11:26:13  * dsantiagoquit (Ping timeout: 240 seconds)
11:29:33  * dsantiagojoined
11:43:52  * dsantiagoquit (Ping timeout: 256 seconds)
11:45:27  * dsantiagojoined
12:06:56  * V1joined
12:22:44  * loladirojoined
12:31:33  * dsantiagoquit (Ping timeout: 248 seconds)
12:32:58  * dsantiagojoined
12:48:19  * dsantiagoquit (Ping timeout: 245 seconds)
12:49:56  * dsantiagojoined
12:49:58  * rendarjoined
12:54:34  * loladiroquit (Quit: loladiro)
13:08:35  * inolenquit (Ping timeout: 256 seconds)
13:09:20  * inolenjoined
13:09:21  * dsantiagoquit (Ping timeout: 256 seconds)
13:11:10  * dsantiagojoined
13:24:45  * dsantiagoquit (Ping timeout: 276 seconds)
13:26:26  * dsantiagojoined
13:31:13  * dsantiagoquit (Ping timeout: 240 seconds)
13:37:24  * dsantiagojoined
13:42:00  * rendarquit
13:45:04  * mralephquit (Quit: Leaving.)
13:46:19  * paddybyersquit (Ping timeout: 258 seconds)
13:50:55  * paddybyersjoined
13:52:57  * dominictarrquit (Quit: dominictarr)
14:09:09  * paddybyersquit (Ping timeout: 248 seconds)
14:16:35  * defunctzombie_zzchanged nick to defunctzombie
14:19:29  * inolenquit (Ping timeout: 252 seconds)
14:19:49  * inolenjoined
14:32:39  * V1quit (Remote host closed the connection)
14:34:18  * dsantiagoquit (Ping timeout: 276 seconds)
14:35:53  * dsantiagojoined
14:36:53  * paddybyersjoined
14:59:07  * dsantiagoquit (Ping timeout: 260 seconds)
15:00:29  * rjepart ("Leaving")
15:01:56  * dsantiagojoined
15:07:14  * felixgejoined
15:25:05  * dsantiagoquit (Ping timeout: 255 seconds)
15:27:54  * dsantiagojoined
15:36:29  * dsantiagoquit (Ping timeout: 256 seconds)
15:38:58  * dsantiagojoined
15:39:17  * mralephjoined
15:42:12  * paddybyersquit (Read error: Operation timed out)
15:52:30  * paddybyersjoined
16:06:14  * benoitcquit (Excess Flood)
16:06:47  * benoitcjoined
16:09:27  * rendarjoined
16:46:41  <indutny>hoya
16:46:44  <indutny>good evening europe
16:46:46  <indutny>hehe
17:07:23  * dominictarrjoined
17:25:55  * bnoordhuisjoined
17:48:10  * dsantiagoquit (Ping timeout: 256 seconds)
17:51:24  * dsantiagojoined
17:55:13  * hij1nxquit (Ping timeout: 240 seconds)
18:04:30  <kellabyte>anyone familiar with http keep-alive? I figured as long as I included the Connection: Keep-Alive header and didn't call uv_close((uv_handle_t*)req->handle, on_close); it would work but I don't think it is. I'm sure I'm doing something wrong. ideas? :)
18:04:59  * dsantiagoquit (Ping timeout: 252 seconds)
18:07:02  * dsantiagojoined
18:12:06  * TooTallNatejoined
18:25:42  * dsantiagoquit (Ping timeout: 276 seconds)
18:27:57  * dsantiagojoined
19:01:05  * dsantiagoquit (Ping timeout: 252 seconds)
19:03:24  * dsantiagojoined
19:12:06  * dsantiagoquit (Ping timeout: 256 seconds)
19:12:26  <bnoordhuis>kellabyte: client or server?
19:12:44  <saghul>SquirrelCZECH I don't think so, but you can do it manually with pyuv and pyOpenSSL like this: https://gist.github.com/saghul/4599801
19:14:20  * dsantiagojoined
19:15:06  * benoitcquit (Excess Flood)
19:16:43  * hzquit (Disconnected by services)
19:16:47  * hzjoined
19:19:33  * dsantiagoquit (Ping timeout: 248 seconds)
19:20:24  * dsantiagojoined
19:20:51  * benoitcjoined
19:21:34  <kellabyte>bnoordhuis: server
19:22:59  <SquirrelCZECH>saghul: I found that one "=0
19:23:02  <SquirrelCZECH>:-)
19:23:55  <SquirrelCZECH>saghul: onfly thing that makes me feeling uneasy is that most of the solution for encrypted communication are written in way
19:24:03  <SquirrelCZECH>that it covers "socket" object
19:24:17  <SquirrelCZECH>which is no really what I want :-/
19:24:52  * SquirrelCZECHhaves message with: header, data part, both of them should be encrypted differently
19:25:04  <indutny>bnoordhuis: heya
19:25:11  <indutny>I'm at quite bad connection
19:25:13  <SquirrelCZECH>*separatedly
19:25:50  <SquirrelCZECH>which is bad, because most of tools for network encryption just dont work this way :-/
19:31:32  <bnoordhuis>kellabyte: the client needs to support it, you should answer with a http/1.1 response, set a (correct!) Content-Length or Transfer-Encoding header, etc.
19:31:53  <bnoordhuis>indutny: hoya
19:35:34  <kellabyte>bnoordhuis: I'm guessing I'm doing something wrong, apache bench (http 1.0) works but more modern benchmarking tools are having lots of failures
19:35:52  <kellabyte>bnoordhuis: I have a content-length of 12, the response right now is hard coded to "hello world\n"
19:39:05  <bnoordhuis>kellabyte: what does curl -v say?
19:53:20  * hij1nxjoined
19:53:31  <kellabyte>* Excess found in a non pipelined read: excess = 1, size = 12, maxdownload = 12, bytecount = 0
19:53:33  <kellabyte>hello world
19:58:02  <bnoordhuis>kellabyte: what's the excess byte? i wager it's a zero byte
19:58:17  <bnoordhuis>but anyway, that's the reason it's not working
19:58:47  <kellabyte>ah, that's a cool curl trick, thanks for teaching me that :)
20:03:19  * dsantiagoquit (Ping timeout: 245 seconds)
20:05:01  * dsantiagojoined
20:16:44  <indutny>bnoordhuis: have you seen my latest changes to writev PR?
20:16:55  <indutny>I belive its much better now
20:17:33  <indutny>believe*
20:22:18  <bnoordhuis>indutny: haven't looked at it yet. maybe tomorrow
20:22:27  <indutny>ok
20:22:28  <indutny>sure
20:22:36  <indutny>basically, I did it another way
20:22:45  <indutny>no more implicit buffering
20:22:50  <indutny>everything should explicitely "bulked"
20:23:01  <indutny>like stream.bulk(function() { this.write('123') })
20:23:09  <indutny>and this will call writev internally
20:23:12  <indutny>something like that
20:27:10  <bnoordhuis>something like the cork/uncork thing i suggested?
20:27:33  <indutny>not sure what you meant
20:27:57  <bnoordhuis>oh nvm, it's not important
20:28:03  <indutny>yeah, sort of
20:28:06  <SquirrelCZECH>guys
20:28:07  <indutny>translated it
20:28:18  <indutny>just managed automatically
20:28:27  <indutny>upon return of bulk's "body" function
20:28:38  * SquirrelCZECHdoesnt really understand the C/C++ language, so he have to ask
20:28:44  <bnoordhuis>yup. sounds nice
20:28:45  <indutny>SquirrelCZECH: shoot
20:28:54  <SquirrelCZECH>but python/c API for libuv are more or less same I suppose?
20:29:12  <bnoordhuis>SquirrelCZECH: this is not really the appropriate channel for that
20:29:14  <indutny>better ask saghul
20:29:35  * felixgequit (Quit: felixge)
20:29:59  * SquirrelCZECHjust found something in pythons api for libuv which he thinks could be made differently and just wants to ask about opinion :-)
20:31:30  <bnoordhuis>okay, shoot. but keep in mind i know next to nothing about pyuv's internals
20:31:43  <SquirrelCZECH>its not like internal :D
20:32:48  <SquirrelCZECH>in TCL object (for example) I have method: start_read(callback) where callback should look like: callback(tcp_handle, data, error)
20:33:30  <SquirrelCZECH>but, coudln't be better, if it was like: start_read(callback, err_callback) and: callback(tcp_handle, data) err_callback(tcp_handle, error) ?
20:33:42  * dsantiagoquit (Ping timeout: 264 seconds)
20:34:08  <bnoordhuis>that's not how libuv works so i guess the short answer is 'no'
20:34:41  <SquirrelCZECH>:-/
20:34:42  <bnoordhuis>having separate functions for success and error is usually quite annoying to work with
20:34:59  <bnoordhuis>it sounds nice in theory but, in practice, it sucks
20:35:13  <SquirrelCZECH>I actually got it right in first object which which covers the TCP :D
20:35:18  <SquirrelCZECH>hmm
20:35:25  <SquirrelCZECH>bnoordhuis: any practical examples?
20:35:36  <bnoordhuis>practical examples of what?
20:35:51  * dsantiagojoined
20:35:55  * SquirrelCZECHdon't want to be rude, he just didn't found it worse :-) which of course can be lack of experience
20:36:09  <bnoordhuis>oh, maybe i should've added an 'in my opinion'
20:36:11  <SquirrelCZECH>bnoordhuis: when two callbacks sucks :D
20:36:19  <SquirrelCZECH>oh, okey :-)
20:36:25  <SquirrelCZECH>that's ok :D
20:36:57  * SquirrelCZECHis just curious :-)
20:37:05  <bnoordhuis>the thing is that the success and the error code paths are detached from each other
20:37:15  <bnoordhuis>when you start out, that's okay
20:37:33  <bnoordhuis>but once your project grows, it becomes a burden
20:37:45  <SquirrelCZECH>hmm
20:37:54  <SquirrelCZECH>its true that I just started :D
20:38:10  <bnoordhuis>you keep switching from one function to the other
20:38:24  <bnoordhuis>there's a good chance you'll have to duplicate some common code
20:38:34  <bnoordhuis>or split it off in yet another function
20:38:44  <bnoordhuis>and thus it grows and grows and grows
20:39:17  <SquirrelCZECH>hmm
20:39:48  <bnoordhuis>another way to look at it is that you should leave it up to the user
20:39:49  * SquirrelCZECHsplitted only for reason because he coudlnt find a way when there two should met
20:39:58  <SquirrelCZECH>bnoordhuis: yes, thats the best one
20:40:20  <bnoordhuis>if s/he wants separate callbacks, he can do { if (err) error_cb(); else success_cb(); } himself
20:40:31  <SquirrelCZECH>which is what I did :D
20:40:33  * bnoordhuisgets off his soapbox
20:40:41  <SquirrelCZECH>but just asked :-)
20:42:23  <kellabyte>bnoordhuis: thanks for the help :) https://gist.github.com/kellabyte/5379302#results-wrk
20:45:03  <bnoordhuis>kellabyte: minor correction: we didn't write wrk
20:45:26  <bnoordhuis>though wrk uses node's http-parser
20:47:16  <SquirrelCZECH>and one last thing! :-) was there idea to make some handle chat_like? (instead of stream of strings divided by length, it would return one message divided by "terminator") ?
20:48:50  <bnoordhuis>SquirrelCZECH: i don't understand what you mean
20:49:18  <SquirrelCZECH>and I think you dont know what pythons "asynchat" module does?
20:49:22  <SquirrelCZECH>nevermind than
20:49:42  <bnoordhuis>oh that
20:49:47  <bnoordhuis>no, wrong level of abstraction
20:49:48  * SquirrelCZECHis too tired to found some good way to say that, so good night everybody
20:49:55  <SquirrelCZECH>bnoordhuis: ok :-)
20:50:01  <bnoordhuis>libuv concerns itself only with raw i/o
20:50:16  <SquirrelCZECH>sounds as clever thing :D
20:50:24  <bnoordhuis>it is. we try :)
20:50:29  <bnoordhuis>you might want to look at ragel
20:50:57  <bnoordhuis>if you want to write some protocol parser on top of libuv, i mean
20:51:19  <SquirrelCZECH>its simple one :-)
20:52:11  <SquirrelCZECH>message divided by "terminator" and every message is made of 5 attributes divided by ":"
20:55:18  <kellabyte>bnoordhuis: ah ok, thanks, I'll correct it
20:56:02  * dsantiagoquit (Ping timeout: 252 seconds)
20:57:35  * rendarquit
20:59:23  * dsantiagojoined
21:01:41  * bnoordhuisquit (Ping timeout: 245 seconds)
21:17:20  <indutny>isaacs: hoya
21:17:31  <indutny>how are you doing?
21:18:14  * hzquit
21:36:43  * dsantiagoquit (Ping timeout: 260 seconds)
21:38:53  * dsantiagojoined
21:45:51  * dsantiagoquit (Ping timeout: 245 seconds)
21:47:53  * dsantiagojoined
21:59:03  * defunctzombiechanged nick to defunctzombie_zz
22:04:33  * defunctzombie_zzchanged nick to defunctzombie
22:07:32  * dsantiagoquit (Ping timeout: 252 seconds)
22:07:55  * defunctzombiechanged nick to defunctzombie_zz
22:08:45  * bnoordhuisjoined
22:09:54  * dsantiagojoined
22:13:24  * bnoordhuisquit (Ping timeout: 264 seconds)
22:14:53  * dsantiagoquit (Ping timeout: 240 seconds)
22:17:22  * dsantiagojoined
22:24:20  * wolfeidauquit (Remote host closed the connection)
22:43:43  * luigyquit (Ping timeout: 258 seconds)
22:43:59  * wolfeidaujoined
22:44:21  * dsantiagoquit (Ping timeout: 248 seconds)
22:45:57  * dsantiagojoined
22:46:33  * luigyjoined
23:12:29  * dsantiagoquit (Ping timeout: 245 seconds)
23:13:52  * dsantiagojoined
23:16:29  * loladirojoined
23:27:06  * dsantiagoquit (Ping timeout: 264 seconds)
23:27:54  * dsantiagojoined
23:28:11  * brsonjoined
23:40:50  * dsantiagoquit (Ping timeout: 258 seconds)
23:42:24  * dsantiagojoined
23:42:41  * paddybyersquit (Ping timeout: 252 seconds)
23:56:40  * brsonquit (Ping timeout: 245 seconds)