00:00:02  <piscisaureus_>* refactor streams in libuv. make fs faster
00:00:09  <piscisaureus_>* rewrite http in node
00:00:17  <piscisaureus_>* clean up the streams api in node
00:00:28  <piscisaureus_>If there's more then isaacs knows
00:00:47  * c4milojoined
00:01:27  <igorzi>nice
00:02:18  <piscisaureus_>igorzi: On the windows end, henry did a v8 patch that makes this etw profiling possible, but it'll require some big pimpin' to get that into v8
00:04:43  * paddybyersquit (Quit: paddybyers)
00:05:51  * xaqquit (Remote host closed the connection)
00:06:02  <igorzi>piscisaureus_: does it slow it down when non-profiling?
00:06:49  <piscisaureus_>igorzi: I didn't really try, but I think not
00:07:23  <piscisaureus_>igorzi: basically, it creates an API for that exposes generated code locations (and updates to them) from v8
00:07:45  <piscisaureus_>igorzi: so etw can look at the stack and figure out which js functions are on the stack
00:07:55  <piscisaureus_>actually, if it works, it's nice
00:08:11  <igorzi>this would be an interesting patch for v8 in general (not just for node)
00:08:37  <piscisaureus_>well, if it is usable for other tooling (systemtap, gprof?), then it is
00:08:44  <piscisaureus_>but that's something bnoordhuis knows better than me
00:11:00  <piscisaureus_>bnoordhuis: btw - on the mailing list there are other people complaining about poort load balancing with cluster. And I know from Jan that he got questions about it on a conference is Moscow.
00:11:16  <piscisaureus_>bnoordhuis: we should really get that accept-backoff patch in core
00:11:44  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
00:11:55  <TooTallNate>isaacs: you need to update node-gyp in npm once again
00:12:02  <TooTallNate>node-canvas depends on it :p
00:12:05  <isaacs>TooTallNate: ok
00:12:18  <isaacs>TooTallNate: can you send a pull req/issue?
00:12:22  <bnoordhuis>piscisaureus_: okay. but not tonight
00:12:38  <piscisaureus_>bnoordhuis: haha, ok
00:13:45  <piscisaureus_>bnoordhuis: I am also checkout out soon. I've been synchronizing with the celestial rhythm lately, don't want to spoil that
00:15:08  <bnoordhuis>good idea, i'm going to try that as well
00:15:18  <bnoordhuis>sleep tight, all
00:15:45  <piscisaureus_>bnoordhuis: welterusten, bennetje
00:15:55  <bnoordhuis>jij ook, bertje
00:20:56  * bnoordhuisquit (Ping timeout: 276 seconds)
00:33:00  <creationix>isaacs, ryah do we have any mock data laying around I can use to bench?
00:33:05  <creationix>maybe in a unit test
00:33:21  <isaacs>creationix: not sure.
00:33:25  <joeandaverde>creationix: are you implementing the parser?
00:33:29  <isaacs>creationix: maybe check in deps/http-parser/
00:33:38  <isaacs>creationix: or plug it ina dn run `make test` in node
00:33:42  <creationix>joeandaverde, I'm going to take a stab at it
00:33:47  <creationix>joeandaverde, but you're welcome to try as well
00:33:50  <creationix>the fastest wins
00:33:57  <joeandaverde>hah
00:34:08  <joeandaverde>sounds like you've done this a few times before
00:34:20  <creationix>I have, but getting it fast is hard
00:34:39  <joeandaverde>do you plan on using d8?
00:34:54  <creationix>perhaps, I'll just start with black-box benchmarking
00:35:00  <creationix>tweaking things till the numbers go up
00:35:05  <joeandaverde>indeed
00:35:12  <creationix>I never had much luck with the v8 profiler
00:35:27  <creationix>though dtrace on osx is sometimes helpful
00:36:42  <joeandaverde>have you been pushing anything to github thusfar?
00:36:57  <creationix>joeandaverde, I'm about to
00:36:59  <joeandaverde>i'm interested in your progress
00:37:00  <creationix>just a shell
00:37:03  <ryah>creationix: test bench/http_simple.js
00:37:13  <ryah>that's all we care about
00:37:21  <creationix>ryah, that's full stack though
00:37:30  <creationix>ryah, wouldn't a pure cpu-bound bench work better
00:37:46  <ryah>./benchmark/http.sh
00:38:24  <ryah>we're interested in the jit optimization that might happen
00:38:30  <ryah>and how that interacts with our js code
00:38:38  <ryah>full stack is good
00:38:40  <creationix>true, it will act different in isolation
00:38:50  <creationix>I'll have both then
00:38:57  <ryah>TooTallNate: ping
00:38:57  <creationix>as soon as I can figure out how to monkey patch the builtin
00:39:09  <TooTallNate>ryah: pong
00:39:11  <creationix>process.binding("http_parser").HTTPParser = ...
00:39:18  <creationix>that might work to monkeypatch it
00:39:21  <ryah>TooTallNate: we should have developers generate makefiles and visual studio files before the publish
00:39:29  <ryah>TooTallNate: that shouldn't be done on the end user's computer
00:39:45  <ryah>for addons
00:39:46  <ryah>gyp
00:40:15  <joeandaverde>creationix: what's your github?
00:40:21  <TooTallNate>what about gyp configurations that have options?
00:40:40  <joeandaverde>creationix: i bet it's creationix?
00:40:42  <TooTallNate>like node-canvas has --with-jpeg and --with-gif flags
00:40:43  <ryah>TooTallNate: what options?
00:40:52  <ryah>hm
00:40:58  <TooTallNate>but i think that alters the generated Makefile
00:41:13  <ryah>yeah maybe that doesn't work then
00:41:15  <ryah>:(
00:41:24  * pooyaquit (Quit: pooya)
00:41:24  <creationix>joeandaverde, yep
00:41:36  <TooTallNate>it kinda kills gyp variables
00:41:48  <ryah>yeah
00:41:51  <ryah>okay nevermind
00:43:08  * EhevuTovquit (Quit: This computer has gone to sleep)
00:46:30  <creationix>wow, I'm getting 25 requests-per-second using the c parser
00:46:35  <creationix>what is wrong with my code!
00:47:13  <joeandaverde>should be easy to beat that!
00:47:19  <joeandaverde>:P
00:49:37  <creationix>strange, if I use a buffer in the response, it's super slow
00:49:41  <creationix>if I use a string, it's fast
00:50:18  * TheJHquit (Ping timeout: 244 seconds)
00:50:28  <creationix>anyone care to confirm my insanity https://gist.github.com/f31c9fc51eba9703049e
00:51:54  <joeandaverde>what requests are you pumping at that?
00:52:17  <TooTallNate>isaacs: so if `npm install canvas --with-jpeg` works, then is there a way to specify that in the app's package.json?
00:52:57  <TooTallNate>cause it would be "canvas": "*" or whatever, so is there a way to pass flags to one dep?
00:54:39  <creationix>joeandaverde, ab -n 1000 -k http://127.0.0.1:8080/ (linux)
00:55:15  <ryah>creationix: you should get about 7000
00:55:33  <ryah>creationix: you might have to bump your ephemeral port range
00:55:41  <ryah>and lower the socket wait time
00:55:48  <creationix>ryah, but if I use strings, it's blazing fast
00:56:15  <ryah>oh
00:56:18  <joeandaverde>with buffer i got 5277req/s
00:56:37  <creationix>no, it's using keepalive
00:56:41  <creationix>netstat confirms just one client
00:56:48  <joeandaverde>using 0.8.3
00:56:57  <creationix>using 0.8.3 here as well
00:57:14  <joeandaverde>did you also get failed requests? That seems odd to me
00:57:19  <joeandaverde>31 failed
00:58:06  <creationix>no, none failed here
00:58:15  <creationix>but I get a solid 40ms "processing" for each and every request
00:59:09  <joeandaverde>using a string i'm getting over 23k/sec
01:00:44  <creationix>I get about 14K/sec with strings
01:00:45  * igorziquit (Read error: Connection reset by peer)
01:00:59  <creationix>strange Buffer bug
01:01:01  <joeandaverde>i just replaced body with "Hello World
01:01:07  <joeandaverde>err, left off the last part there
01:01:13  <creationix>anyway, I'll use strings for the bench
01:02:04  <isaacs>TooTallNate: no, there is not a way to specify that.
01:02:19  <creationix>joeandaverde, I get ~24k with ab -n 100000 -c 100 -k http://127.0.0.1:8080/
01:02:25  <creationix>which is normal
01:02:30  <creationix>(using strings)
01:02:37  <isaacs>TooTallNate: i mean, it could do "scripts": { "install": "node-gyp rebuild --with-jpeg" }
01:03:17  <TooTallNate>isaacs: kinda defeats the purpose of being a switch :p
01:03:28  <isaacs>TooTallNate: indeed.
01:03:54  <joeandaverde>creationix: running that last command seems not to finish in a reasonable time? it's still waiting to return to the shell
01:03:56  <TooTallNate>i mean you could set `npm_config_with_jpeg` manually :D
01:04:22  <creationix>joeandaverde, are you on osx?
01:04:34  <joeandaverde>creationix: yessir
01:04:40  <creationix>the stock ab sucks there
01:04:53  <creationix>that probably explains the failed requests you got too
01:05:03  <joeandaverde>ah, i'll download and compile the latest
01:05:33  <creationix>anyway, using Buffers, I still get a solid 40ms per request even with the `ab -n 100000 -c 100 -k http://127.0.0.1:8080/` client
01:07:47  <creationix>hmm, same with node 0.8.4
01:07:54  <creationix>and my cpu never got above 33%
01:08:01  <creationix>very strange
01:08:26  <joeandaverde>hrm, where did you get the better build of apache benchmark?
01:09:31  <joeandaverde>probably just install a later version of apache...
01:10:00  <creationix>install linux :P
01:12:14  <joeandaverde>:X
01:14:26  * dapquit (Quit: Leaving.)
01:15:05  * theColejoined
01:18:38  * dapjoined
01:19:10  * dapquit (Client Quit)
01:23:38  * theColequit (Quit: theCole)
01:24:08  * theColejoined
01:39:50  <ryah>creationix: did you figure it out?
01:40:13  * lohkeypart
01:49:17  <tjfontaine>isaacs: sorry I wasn't around to prevent you from trying to get a non-apple cert from working :/
01:50:30  * TheJHjoined
01:59:04  * theColequit (Quit: theCole)
02:01:05  * ericktquit (Ping timeout: 244 seconds)
02:01:46  <joeandaverde>creationix: FYI? https://forrst.com/posts/Fixing_ApacheBench_bug_on_Mac_OS_X_Lion-wku
02:02:04  <joeandaverde>I know you don't care but if the question arises again that article works
02:09:21  * abraxasjoined
02:14:41  <isaacs>tjfontaine: no worries.
02:14:46  <isaacs>tjfontaine: i didnt' have high hopes for it anyway :)
02:26:38  * EhevuTovjoined
02:26:49  * dshaw_quit (Quit: Leaving.)
02:35:59  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:36:19  * piscisaureus__joined
02:38:46  * piscisaureus__quit (Client Quit)
02:41:30  <creationix>how can I get a node http client to use keepalive and not run out of ports stuck in TIME_WAIT?
02:41:50  <creationix>ab witth the -k (keepalive) flag and sending the Content-Length works
02:41:53  <creationix>but I want a node client
02:41:59  * dshaw_joined
02:44:39  * TooTallNatejoined
02:44:51  * TheJHquit (Ping timeout: 252 seconds)
02:50:28  * piscisaureus__joined
02:51:34  * piscisaureus__quit (Client Quit)
03:06:43  * bulatshakirzyanojoined
03:10:23  <isaacs>creationix: you should use ab to test.
03:10:32  <isaacs>creationix: testing node with node is not good.
03:10:38  <isaacs>use node to test something once it already works with ab.
03:11:37  <creationix>isaacs: yep, doing that
03:11:43  <creationix>it's the request parser that matters anyway
03:11:45  <isaacs>creationix: it should only be opening as many as the Agent.defaultMaxSockets thoug, right?
03:12:04  <creationix>isaacs: no idea, I never understood Agent
03:12:13  <creationix>I just know it ate all my ports
03:12:16  <isaacs>yeah, that's all a mess.
03:12:28  <creationix>~30k ports in TIME_WAIT
03:12:36  <isaacs>what we really need is a generic socket_pool thingie
03:13:09  <creationix>btw, http parsing is tricky
03:13:21  <creationix>when there is no lookahead
03:13:35  <creationix>maybe I should buffer to \r\n while doing headers and parse lines at a time?
03:17:05  * mikealquit (Quit: Leaving.)
03:17:46  * c4miloquit (Remote host closed the connection)
03:21:39  * mikealjoined
03:26:23  * piscisaureus_quit (Read error: Connection reset by peer)
03:39:20  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:43:04  * ericktjoined
03:45:35  <ryah>creationix: use a state machine like http_parser
03:46:08  <ryah>creationix: so what's the results?
03:46:12  <ryah>creationix: how fast is it?
03:46:28  <creationix>still working on it
03:46:54  <creationix>I know the http_parser.h api, but process.binding("http_parser") seems different
03:47:00  <creationix>like there is no on_header callback
03:47:08  <creationix>just on_headers and on_headers_complete
03:47:13  <creationix>not sure what the difference is
03:47:32  <ryah>hmm.. let me see
03:47:45  <creationix>I assume it's to cut round-trips to C++ land
03:48:27  <ryah>yes
03:48:45  <ryah>it buffers header key/value pairs until it cant anymore
03:48:49  <ryah>then makes a callback with them
03:49:04  <ryah>imagine a situation where the header comes in like 2 different packets
03:49:14  <ryah>you'll get a on_header for the first and the second
03:49:20  <ryah>then on_headers_complete when it's all done
03:55:42  <creationix>can I just call onHeadersComplete?
03:55:59  <creationix>we need to buffer the whole headers object anyway for the node api
03:56:21  <ryah>sure
03:56:38  * dshaw_quit (Quit: Leaving.)
03:56:48  <ryah>you might have to call on_headers once
03:58:21  <creationix>and I need to toLowerCase the header keys at this level?
03:59:55  <creationix>wohoo! calling onHeadersComplete(info) gets me an http response
04:00:08  <ryah>yes
04:02:23  <creationix>hmm, C gets 12311 req/sec while JS gets 7911 req/sec
04:04:19  <ryah>sad
04:04:23  <creationix>I don't think keepalive is working
04:04:31  <ryah>don't test with keep-alive
04:04:35  <creationix>do I need to set .shouldKeepAlive or something?
04:05:03  <ryah>yes
04:05:09  <ryah>but don't test with keep-alive
04:05:39  <ryah>are you having problems running out of sockets?
04:05:50  * blackorzar_quit (Ping timeout: 276 seconds)
04:05:51  <ryah>what os are you on?
04:06:22  <creationix>linux
04:06:54  <ryah>% cat local/bin/fix_ports
04:06:54  <ryah>#!/bin/sh
04:06:54  <ryah>echo "49152 65535" > /proc/sys/net/ipv4/ip_local_port_range
04:06:54  <ryah>echo "2" > /proc/sys/net/ipv4/tcp_fin_timeout
04:06:54  <ryah>sysctl -w fs.file-max=1000000
04:06:59  <ryah>^-- that's what i do
04:07:15  <creationix>ok, without keepalive it's slightly faster then the C version
04:07:16  <ryah>also set your ulimit high
04:07:45  <creationix>7298 vs 7877
04:07:50  <ryah>nice
04:08:00  <ryah>that's a good improvement
04:08:09  <creationix>I'm only parsing the request line and the headers
04:08:16  <creationix>but that's the bulk of most GET requests
04:08:20  <ryah>yeah
04:08:37  <creationix>btw, swich statements in V8 are slow if you have lots of cases
04:08:41  <ryah>the question is if you can keep that improvement while you implement the rest of http
04:08:52  <creationix>so I'm using named methods instead to take advantage of the built-in hash lookup
04:09:08  <creationix>good question
04:09:18  <creationix>I don't think it will get too much slower for the basic GET case
04:09:22  <ryah>do you know http well?
04:09:26  <creationix>somewhat
04:10:30  <ryah>we're going to need to port test.c over from http_parser
04:10:44  <creationix>yep
04:10:45  <ryah>the rest can be TDD
04:10:49  <creationix>that would be awesome
04:11:57  <creationix>https://gist.github.com/07a540c97dd1426427f6
04:12:27  * EhevuTovquit (Quit: This computer has gone to sleep)
04:13:00  <creationix>I haven't profiled at all yet
04:13:14  <ryah>cute
04:14:07  <ryah>that's a good chunk faster
04:14:15  <ryah>and it's a lot simpler
04:14:21  <creationix>I like how I can monkey patch HTTPParser
04:14:22  <ryah>(to do it in js)
04:14:26  <ryah>yeah me too :)
04:14:27  <creationix>this can be an npm module
04:14:29  <ryah>i wouldnt have thought of that
04:14:33  <creationix>for 0.8.x
04:14:43  <ryah>good idea
04:15:18  <ryah>as far as im concerned it can be in node under a switch
04:15:42  <ryah>but needs to be built out a bit more
04:16:14  <ryah>but i guess youll be able to move faster if you just do your own repo
04:16:37  <creationix>sure
04:16:45  <ryah>this can land in v0.8 if it passes the test
04:16:50  <ryah>those tests cover all of http
04:17:04  * blackorzarjoined
04:17:07  <creationix>I can build it as an npm module, and then when it's done, put it inside node
04:17:13  <ryah>yeah
04:17:34  <creationix>won't removing http_parser break abi?
04:17:48  <creationix>or were you thinking to just have both in 0.8.x?
04:17:55  <ryah>http_parser isnt public
04:18:18  <creationix>I'll probably keep http_parser.c for luvit
04:18:24  <creationix>the C calling overhead is tiny there
04:18:28  <ryah>yeah
04:18:37  <creationix>and luajit isn't quite as magical as v8
04:19:27  <creationix>though I want to pull http out of luvit core
04:19:33  <creationix>make it userland
04:22:44  * joeandaverdequit (Ping timeout: 276 seconds)
04:26:52  <creationix>ryah: https://github.com/creationix/http-parser-js
04:28:42  * ryahimagines the joy of removing src/node_http_parser.cc
04:30:45  <creationix>yeah, V8 bindings are a pain
04:56:55  * mikealquit (Quit: Leaving.)
05:08:54  * joeandaverdejoined
05:24:03  * AvianFluchanged nick to AvianusAsleepus
05:27:45  * EhevuTovjoined
05:34:20  * igorzijoined
05:36:57  * bulatshakirzyanoquit (Quit: Leaving...)
05:47:53  * igorzi_joined
05:52:59  * ericktquit (Quit: erickt)
05:59:12  * joeandaverdequit (Quit: Leaving)
06:00:58  * ericktjoined
06:06:44  * blackorzarquit (Ping timeout: 276 seconds)
06:06:52  * blackorzarjoined
06:13:59  * EhevuTovquit (Quit: Leaving)
06:23:11  * ericktquit (Quit: erickt)
06:29:04  * igorzi_quit (Read error: Connection reset by peer)
06:29:04  * igorziquit (Read error: Connection reset by peer)
06:51:49  * rendarjoined
06:57:34  * dshaw_joined
07:13:32  * EhevuTovjoined
07:15:47  * stephankquit (Quit: *Poof!*)
07:19:04  * EhevuTovquit (Quit: Leaving)
07:19:31  * paddybyersjoined
07:21:15  * EhevuTovjoined
07:24:17  * TheJHjoined
07:32:10  * rendarquit
07:34:43  * rendarjoined
07:36:49  * EhevuTovquit (Quit: This computer has gone to sleep)
07:42:12  * hzjoined
07:54:03  * `3rdEdenjoined
07:56:39  * mikealjoined
07:57:15  <deoxxa>does this mean http_parser will be going away?
07:57:24  <deoxxa>i mean, in general?
08:03:39  * theColejoined
08:06:12  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
08:08:48  * `3rdEdenjoined
08:25:04  * mmaleckijoined
08:42:11  * stagasjoined
08:52:18  * theColequit (Quit: theCole)
09:02:12  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
09:04:03  * `3rdEdenjoined
09:15:06  * paddybyers_joined
09:17:40  * paddybyersquit (Ping timeout: 244 seconds)
09:17:40  * paddybyers_changed nick to paddybyers
09:52:18  * `3rdEdenquit (Quit: Leaving...)
09:53:19  * `3rdEdenjoined
10:21:05  * paddybyersquit (Ping timeout: 246 seconds)
10:27:23  * blackorzarquit (Ping timeout: 276 seconds)
10:28:43  * paddybyersjoined
10:33:15  * theColejoined
10:39:22  * dshaw_quit (Quit: Leaving.)
10:41:37  * theColepart
10:51:20  * bnoordhuisjoined
10:53:22  * TheJHquit (Read error: Operation timed out)
10:57:14  <mitsuhiko>deoxxa: someone should attempt to rewrite it
11:15:28  * stagasquit (Read error: Connection reset by peer)
11:37:07  * TheJHjoined
11:48:17  <deoxxa>mitsuhiko: oh it's not that
11:48:45  <deoxxa>mitsuhiko: it's that i'm using it in another project, alongside libuv, and i'm not sure whether i should start looking for an alternative or not
12:01:36  <mitsuhiko>deoxxa: write one. nao
12:01:42  <deoxxa>:<
12:01:43  <mitsuhiko>i am using it myself and i can't say i enjoy the design of it very much
12:01:45  <deoxxa>but i'm eating
12:01:52  <deoxxa>i can't code and eat!
12:01:59  <mitsuhiko>slacker
12:02:01  <deoxxa>unless i write pizzapizzapizzapizza
12:02:12  <deoxxa>need pizzascript
12:02:15  * abraxasquit (Remote host closed the connection)
12:36:44  * c4milojoined
12:49:42  * hzquit (Read error: Connection reset by peer)
12:57:41  * c4miloquit (Remote host closed the connection)
13:07:27  * bnoordhuisquit (Read error: Operation timed out)
13:17:12  * loladirojoined
13:18:13  * piscisaureus_joined
13:20:07  * c4milojoined
13:20:38  * c4miloquit (Remote host closed the connection)
13:20:45  * piscisaureus_quit (Client Quit)
13:22:13  * piscisaureus_joined
13:33:10  * piscisaureus_quit (Read error: Connection reset by peer)
13:35:48  * piscisaureus_joined
13:47:47  * loladiroquit (Ping timeout: 264 seconds)
13:48:45  * AvianusAsleepuschanged nick to AvianFlu
13:59:39  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
14:14:18  * c4milojoined
14:16:00  * piscisaureus_joined
14:33:57  * felixgejoined
14:33:58  * felixgequit (Changing host)
14:33:58  * felixgejoined
14:43:57  * blackorzarjoined
14:44:04  <indutny>hi everyone
14:46:24  * joeandaverdejoined
14:47:17  * xaqjoined
14:49:38  * felixgequit (Read error: Connection reset by peer)
14:50:29  * piscisaureus_quit (Ping timeout: 252 seconds)
14:52:28  * felixgejoined
14:52:28  * felixgequit (Changing host)
14:52:28  * felixgejoined
15:01:33  * joeandaverdequit (Quit: Leaving)
15:05:34  * hzjoined
15:08:31  <mitsuhiko>definitely lost: 0 bytes in 0 blocks <3
15:09:19  * blackorzar_joined
15:11:47  * blackorzarquit (Ping timeout: 264 seconds)
15:14:38  * dapjoined
15:26:57  * xaqquit (Read error: Connection reset by peer)
15:27:48  * xaqjoined
15:51:22  * mmaleckiquit (Ping timeout: 244 seconds)
15:51:55  * stephankjoined
15:52:17  * TooTallNatejoined
15:54:14  <TooTallNate>isaacs: call today?
15:57:57  <isaacs>TooTallNate: yeah, i overslept a little bit though
15:58:01  <isaacs>maybe 15 minutes?
15:58:07  <isaacs>indutny, piscisaureus: work for you?
15:58:20  <TooTallNate>ok
15:59:35  <indutny>pampam
15:59:39  <indutny>ook
16:03:36  * pooyajoined
16:10:47  <isaacs>hm, no bert.
16:10:54  * piscisaureus_joined
16:11:01  <piscisaureus_>hello
16:11:05  <piscisaureus_>isaacs: call
16:11:07  <piscisaureus_>?
16:11:28  <piscisaureus_>TooTallNate: same
16:11:32  <indutny>call
16:11:34  <indutny>call?
16:11:37  <piscisaureus_>yeah
16:11:44  <piscisaureus_>isaacs just came online
16:11:49  <piscisaureus_>haha
16:11:51  <TooTallNate>no ben?
16:11:51  <isaacs>ah, hola
16:12:04  <piscisaureus_>I don't know what's up with ben lately
16:12:10  <piscisaureus_>he seems to be not working this week somehow
16:12:16  <piscisaureus_>bnoordhuis: ?
16:12:22  <indutny>me too
16:12:26  <indutny>I've downloaded diablo
16:16:11  * arlolrajoined
16:18:18  * chobi_e_changed nick to chobi_e
16:20:03  * chobi_echanged nick to chobi_e_
16:20:45  <tjfontaine>man c-ares you're weird, if it reaches the name servers fine over UDP yet fails to find the record it tries TCP and if the nameservers don't allow tcp connections the error you get back from c-ares isn't notfound or servfail but econnrefused
16:28:14  <tjfontaine>even more curious it's failing despite dig working
16:33:33  <creationix>ryah, test.c in http_parser is quite the test suite
16:44:41  * piscisaureus_quit (Ping timeout: 272 seconds)
16:49:31  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:49:56  * lohkeyjoined
17:03:48  * ericktjoined
17:10:49  * igorzijoined
17:10:58  * igorzi_joined
17:21:06  * igorzi_quit (Quit: Leaving)
17:23:47  * bnoordhuisjoined
17:24:54  <bnoordhuis>sorry, missed the call - was on a bike somewhere in the countryside
17:33:58  <isaacs>bnoordhuis: sounds fun :)
17:35:25  <bnoordhuis>yeah, it was - we got kind of lost though, all those roads look alike :)
17:35:38  * igorzi_joined
17:37:39  * igorziquit (Ping timeout: 240 seconds)
17:37:45  <indutny>igorzi_: hey man
17:37:49  <indutny>igorzi_: how are you doing?
17:43:08  * brsonjoined
17:45:34  * mikealquit (Quit: Leaving.)
17:52:06  * EhevuTovjoined
17:54:28  * TooTallNatejoined
17:54:40  * stagasjoined
17:54:42  <indutny>can anyone donate a server to me?
17:57:13  * mikealjoined
17:58:14  <tjfontaine>indutny: one Commodore64 coming right up
18:03:31  * EhevuTov_joined
18:06:32  * EhevuTovquit (Ping timeout: 246 seconds)
18:20:52  * EhevuTov_quit (Quit: Leaving)
18:31:44  * igorzi_changed nick to igorzi
18:31:53  <igorzi>indutny: hey.. i'm good
18:32:01  <igorzi>indutny: how are you?
18:33:04  * dshaw_joined
18:37:31  * EhevuTovjoined
18:41:48  * igorzipart ("Leaving")
18:42:07  * piscisaureus_joined
18:47:11  * felixgequit (Ping timeout: 264 seconds)
18:49:07  * felixgejoined
18:49:08  * felixgequit (Changing host)
18:49:08  * felixgejoined
18:50:52  * dshaw_quit (Quit: Leaving.)
18:58:48  * EhevuTov_joined
18:58:48  * erickt_joined
18:59:42  * erickt_quit (Read error: Connection reset by peer)
18:59:43  * ericktquit (Ping timeout: 246 seconds)
18:59:54  * ericktjoined
19:01:33  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
19:01:39  * EhevuTovquit (Ping timeout: 240 seconds)
19:08:01  * xaqquit (Read error: Connection reset by peer)
19:08:34  * xaqjoined
19:12:35  * stagas_joined
19:14:07  * stagasquit (Ping timeout: 252 seconds)
19:14:14  * stagas_changed nick to stagas
19:20:33  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
19:21:38  * CoverSlidejoined
19:22:09  <indutny>tjfontaine: does Commodore64 knows what TCP is?
19:22:24  <indutny>http://dunkels.com/adam/tfe/
19:22:26  <indutny>oh, nice
19:22:34  <tjfontaine>http://www.c64web.com
19:22:45  <tjfontaine>takes a while to load though :)
19:23:00  <indutny>we won't blame them
19:26:47  * EhevuTov_quit (Ping timeout: 264 seconds)
19:27:00  * EhevuTovjoined
19:30:37  * EhevuTov_joined
19:31:25  <creationix>wow, unmodified c64 from my birthyear
19:31:32  <creationix>I programmed on one of those for a while
19:31:48  <creationix>some of my favorite games were made in '82
19:32:19  * EhevuTov_quit (Client Quit)
19:32:32  * loladirojoined
19:32:35  * loladiroquit (Client Quit)
19:34:13  * EhevuTovquit (Ping timeout: 250 seconds)
19:41:05  * xaqquit (Read error: Connection reset by peer)
19:41:34  * xaqjoined
19:44:36  * loladirojoined
19:44:43  * loladiroquit (Client Quit)
19:45:15  <CIA-108>node: isaacs master * re549833 / (153 files in 33 dirs): Merge remote-tracking branch 'ry/v0.8' (+14 more commits...) - http://git.io/SgeThQ
19:47:54  * joeandaverdejoined
19:52:06  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:52:17  * ericktquit (Quit: erickt)
19:55:03  * ericktjoined
20:02:57  * TooTallNatejoined
20:09:22  * blackorzarjoined
20:10:13  * blackorzar_quit (Ping timeout: 252 seconds)
20:33:07  <ryah>creationix: yes, test.c is the main contirbution of http-parser
20:33:32  <CIA-108>node: Ben Noordhuis master * r59b584c / src/node.cc : node: remove PrepareTick() and CheckTick() - http://git.io/fIyVlA
20:34:06  <ryah>bnoordhuis++ :D
20:34:06  <kohai>bnoordhuis has 23 beers
20:34:15  <bnoordhuis>:)
20:36:35  <creationix>removing code is (almost) always a good thing!
20:37:05  <ryah>creationix: did you make any progress on the http-parser?
20:37:53  <creationix>I ported the request unit tests to js
20:37:58  <creationix>been working on other stuff today
20:39:03  <creationix>ryah, https://github.com/creationix/http-parser-js/commit/5d82106e7c6881af3d48d42ff8c341f054b16527
20:39:52  <ryah>cool
20:39:59  * blackorzarquit (Ping timeout: 240 seconds)
20:40:05  <ryah>bnoordhuis: creationix is getting like 10% improvement by moving http-parser to js
20:41:59  * c4milo_joined
20:42:09  <creationix>10% in full-stack tests with real network over localhost
20:42:19  <creationix>I'm interested to see how much faster the unit tests run
20:42:19  * arlolraquit (Quit: Linkinus - http://linkinus.com)
20:44:19  * c4miloquit (Ping timeout: 244 seconds)
20:45:03  * joeandaverdequit (Quit: This computer has gone to sleep)
20:49:08  * AvianFluquit (Quit: Leaving)
20:55:15  <indutny>bnoordhuis: what are you working on now?
20:55:18  <indutny>need any help?
21:00:40  <bnoordhuis>ryah: i kind of belief that
21:00:54  <bnoordhuis>creationix: does your parser handle all the corner cases that the c/c++ version does?
21:01:06  <bnoordhuis>indutny: my pianist skills
21:01:16  <bnoordhuis>are you good at quatre mains?
21:01:59  <bnoordhuis>indutny: i half-kid obviously, i'm working through open issues
21:05:53  <indutny>bnoordhuis: quatre mains?
21:06:09  <indutny>ah
21:06:12  <indutny>yeah, quite good
21:06:20  <indutny>though I haven't practiced for a while
21:06:28  <indutny>you know, I came from a music world
21:06:42  <bnoordhuis>indutny: don't all russians? it's either music or literature with you guys
21:06:45  <indutny>before I started programming (which has happened 4 years ago)
21:06:46  <bnoordhuis>or chess
21:06:51  <indutny>bnoordhuis: or beer
21:07:00  <tjfontaine>I would have said vodka
21:07:03  <indutny>with the most of the guys in other cities than Moscow
21:07:04  <indutny>no, beer
21:07:08  <indutny>vodka is for old people
21:07:16  <indutny>which are conservative
21:07:23  <tjfontaine>young people dont' come from old? :)
21:07:31  <indutny>tjfontaine: they came :P
21:07:38  <indutny>but they like beer more
21:07:40  <tjfontaine>heh
21:07:55  <indutny>so
21:08:03  <indutny>bnoordhuis: do you really play piano?
21:08:07  <bnoordhuis>indutny: yes
21:08:10  <bnoordhuis>guitar too
21:08:14  <indutny>yeah, me too
21:08:16  <indutny>and drums
21:08:20  <indutny>and flute
21:08:23  <indutny>very little, though
21:08:26  <bnoordhuis>used to play the drums too, and bass
21:08:31  <indutny>heh, bass
21:08:42  <creationix>bnoordhuis, not yet
21:08:52  <creationix>bnoordhuis, I just started it last night
21:09:05  <creationix>that's why I'm porting the unit test to js
21:09:09  <bnoordhuis>creationix: trailing headers were my waterloo, that cost us performance points :(
21:09:28  <creationix>how would that affect simple GET requests?
21:09:34  <creationix>those are really easy t oparse
21:09:34  * theColejoined
21:09:51  <indutny>creationix: extraneous checks?
21:10:05  <creationix>we'll see as I implement it
21:10:18  <creationix>I'll benchmark at every step and make sure it stays faster or same
21:10:29  <creationix>even if it ends up being the same speed, being smaller and JS would be nice
21:10:45  <creationix>I wonder what the memory overhead would be
21:10:53  <creationix>js objects aren't cheap
21:11:03  <bnoordhuis>you'll find out soon enough once it lands
21:11:04  <ryah>yeah, it's definitely something to measure
21:11:18  <bnoordhuis>because i'm going to assign all bug reports to you after that :)
21:11:25  <creationix>hard to have 400,000 concurrent parsers if they eat too much ram each
21:11:25  <ryah>fuck trailing headers
21:11:38  <creationix>bnoordhuis, lol, then I can join your team
21:11:39  <ryah>god - i hate http
21:11:54  <bnoordhuis>i have, in all my days, twice seen servers that sent trailing headers
21:11:58  <bnoordhuis>still, node supports them
21:11:58  <creationix>though Rik's team looks like the best
21:12:25  <creationix>experiment with opengl + lua + js all day
21:12:40  <bnoordhuis>creationix: glace?
21:12:46  <creationix>glace and other stuff
21:13:10  <creationix>ryah, I hate http, html, css, and part of js
21:13:15  <creationix>the web stack is a pain
21:13:25  <creationix>but you can't beat the distribution channel
21:13:30  <indutny>haha
21:13:34  <indutny>legacy is bad
21:13:37  <indutny>in every form
21:13:44  <indutny>though everything is built on legacy stuff
21:13:58  <creationix>I am seriously going to challenge the web when I get time to flesh out my ideas
21:14:07  <creationix>I mean, html really for writing apps?!
21:14:11  <indutny>creationix: you'll need high reach
21:14:12  <creationix>it's a DOCUMENT LANGUAGE
21:14:16  <indutny>if you're going to change something
21:14:35  <indutny>creationix: not sure whether I agree with you or not
21:14:49  <creationix>indutny, I find ideas speak louder when prototyped in worknig code
21:15:36  <creationix>maybe I'm just old. I have been doing web stack full-time for the last 14 years
21:15:45  <creationix>caused real documented brain damage
21:16:38  <indutny>oh
21:16:44  <indutny>going to listen Pink Floyd now
21:17:20  <creationix>actually the brain-damaging migrained were triggered by a job where I did PHP4 + IE6 all day
21:17:26  <TooTallNate>indutny++
21:17:27  <kohai>indutny has 29 beers
21:17:38  <creationix>when I found out what was causing the trouble I quit my job and worked on node full time till I got a node job
21:17:48  <creationix>so you can thanks the evils of web stack for driving me to node
21:19:05  <indutny>hahah
21:19:06  <indutny>same for me too
21:19:10  <indutny>though, I've tried python first
21:19:14  <indutny>tornado sin
21:19:18  <creationix>oh, I tried python and ruby
21:19:22  <creationix>I even had a ruby startup
21:19:27  <indutny>oh, nice
21:19:29  <creationix>spoke at ruby conferences and everything
21:19:39  <creationix>I love part of the ruby community
21:19:58  <creationix>not the cargo-cult dhh worshiping part
21:23:48  <indutny>yeah
21:23:50  <indutny>cults are bad
21:23:59  <indutny>people should listen to everyone
21:24:02  <indutny>or believe noone
21:24:06  <indutny>and choose their way
21:24:41  <bnoordhuis>indutny: if you want to help, can you review (preferably reject) pull requests and issues?
21:24:54  <tjfontaine>oh boy
21:25:03  <bnoordhuis>as of right now, we have 525 open issues and 107 pull requests :/
21:25:31  <bnoordhuis>though no doubt lots of them are stale by now
21:27:25  <tjfontaine>https://github.com/joyent/node/pull/3707 can be closed as it was merged just not through the button
21:28:04  <bnoordhuis>okay, nice
21:28:56  <tjfontaine>and https://github.com/joyent/node/pull/3655 iirc you had a separate branch that you were considering using in place of my solutions
21:31:02  <bnoordhuis>i do, i did, somewhere
21:31:07  <tjfontaine>https://github.com/bnoordhuis/node/commits/issue3655
21:31:44  <tjfontaine>that takes care of 2 of the 4 pull reqs that were mine :)
21:37:01  * rendarquit
21:40:03  <indutny>oh, very nice
21:40:29  <CIA-108>node: Adam Malcontenti-Wilson v0.8 * r90efdb3 / configure : build: improve armv7 / hard-float detection - http://git.io/yOgpbg
21:41:22  * hzquit
21:43:42  <bnoordhuis>i really, really hate that make sometimes runs configure
21:44:04  <TooTallNate>bnoordhuis: should be a simple makefile change, no?
21:44:09  <TooTallNate>and I agree :)
21:44:12  <bnoordhuis>certainly
21:44:19  <bnoordhuis>i just wonder why we added it in the first place
21:45:54  <bnoordhuis>my new machine is so fast - 14,500 req/s on http_simple with -c 100 bytes/8
21:46:05  <indutny>TooTallNate: emm
21:46:17  <TooTallNate>bnoordhuis: doesn't happen to be a mac does it ;)
21:46:19  <indutny>TooTallNate: why does node-gyp rebuilds everything on "npm install" call?
21:46:50  <bnoordhuis>TooTallNate: no, this one cost one-third the money with twice the power
21:47:28  <TooTallNate>indutny: isaacs wanted "one command that was equivalent to `node-waf clean || true && node-waf configure && node-waf build`"
21:47:46  <TooTallNate>so that's what node-gyp rebuild does
21:48:05  <TooTallNate>indutny: you can just call `node-gyp build` if you don't want to rebuild everything
21:48:12  <indutny>well, yes
21:48:18  <indutny>but suppose I've added dependencies
21:48:23  <indutny>and want to install them
21:48:33  <TooTallNate>bah, that OS X bug is never gonna be fixed :(
21:48:36  <indutny>and suppose I've like 200 C files in dependencies of binding.gyp
21:48:46  <indutny>TooTallNate: OSX bug?
21:49:02  <TooTallNate>i'm just giving bnoordhuis a hard time :p
21:50:41  <TooTallNate>indutny: i'm not sure about your question though, you mean like 2 different versions of a module should do an incremental build?
21:50:46  <bnoordhuis>anyone want to do a final review round of https://github.com/bnoordhuis/node/compare/issue3655 ?
21:50:48  <indutny>nvm
21:50:51  <indutny>it's hard to describe
21:50:55  <indutny>and I prefer doing something
21:50:56  <indutny>:)
21:50:59  <indutny>at least atm
21:51:13  <indutny>god, what's with CoreAudio stuff
21:51:14  <bnoordhuis>may i take that as a no?
21:51:15  <indutny>how does it work
21:51:24  <indutny>bnoordhuis: I want
21:51:27  <TooTallNate>indutny: is this problem during development or installing?
21:51:32  <indutny>development
21:51:53  <tjfontaine>bnoordhuis: I mean, it lgtm :)
21:52:05  <bnoordhuis>tjfontaine: okay, thanks :)
21:52:06  <indutny>bnoordhuis: API change?
21:52:13  <indutny>is it for 0.9?
21:52:17  <bnoordhuis>indutny: yes, for master
21:52:27  <tjfontaine>it really isn't an api change
21:52:41  <bnoordhuis>it's a behavioral change
21:52:44  <tjfontaine>because anyone who passes a dns name already sees this behavior
21:52:54  <bnoordhuis>one for the better, though
21:52:55  <indutny>ok
21:52:55  <indutny>lgtm
21:52:58  <bnoordhuis>cool, landing
21:53:14  <CIA-108>node: Ben Noordhuis master * r2cfd3f4 / lib/dgram.js : dgram: make .bind() always asynchronous - http://git.io/d_7jgg
21:53:15  <tjfontaine>:)
21:53:15  <CIA-108>node: Ben Noordhuis master * r799d7f6 / test/simple/test-dgram-pingpong.js : test: suppress simple/test-dgram-pingpong chatter - http://git.io/sfr6og
21:53:15  <CIA-108>node: Timothy J Fontaine master * r42734bb / (4 files): test: update dgram tests after API change - http://git.io/wRNbww
21:53:21  <indutny>oh
21:53:32  <indutny>one question
21:53:43  <bnoordhuis>too late :)
21:53:43  <indutny>bnoordhuis: https://github.com/bnoordhuis/node/compare/issue3655#L0R179
21:53:51  <indutny>bnoordhuis: is it supposed to be .bind(0, null) ?
21:54:01  <indutny>just saying
21:54:08  <indutny>API is bind(port, host)
21:54:17  <bnoordhuis>joyent:master and bnoordhuis:issue3655 are identical.
21:54:21  * bnoordhuissighs
21:54:25  <tjfontaine>https://github.com/joyent/node/commit/2cfd3f4bc145ff94a272cb0c1c6f0a26923519d3#L0R179
21:54:35  <bnoordhuis>thanks
21:54:45  <indutny>bnoordhuis: oh, link was corrputed
21:54:46  <indutny>sorry
21:54:47  <indutny>:P
21:54:53  <bnoordhuis>indutny: yes, you're right
21:55:01  <indutny>sorry, for noticing this too late
21:55:06  <indutny>otherwise lgtm
21:55:16  <bnoordhuis>no problem, the five minute force-rebase window isn't up yet
21:55:22  <indutny>yeah
21:55:31  <tjfontaine>truthy makes it work?
21:56:18  <indutny>oh, how does this audio recording stuff works in osx :P
21:56:26  <tjfontaine>indutny: clearly it doesn't
21:56:34  <indutny>well, it works :P
21:56:46  <indutny>but sometimes I'm just getting buffers like this 0xff 0xfe 0xef 0xff..
21:56:54  <indutny>all very high bits
21:57:05  <indutny>and this only happens when two different machines cooperate
21:57:21  <indutny>can't reproduce on a single machine
21:58:09  <CIA-108>node: Ben Noordhuis master * r332fea5 / lib/dgram.js : dgram: make .bind() always asynchronous - http://git.io/DYju0w
21:58:09  <CIA-108>node: Ben Noordhuis master * r105c6ec / test/simple/test-dgram-pingpong.js : test: suppress simple/test-dgram-pingpong chatter - http://git.io/J0oC8A
21:58:10  <CIA-108>node: Timothy J Fontaine master * redd3de8 / (4 files): test: update dgram tests after API change - http://git.io/ePJ_hw
21:58:16  <indutny>ok, cool
21:59:42  <bnoordhuis>indutny: feel like reviewing https://github.com/joyent/node/pull/3771 ? that'll let me close two issues
21:59:47  <indutny>can I parasite on someones server please?
21:59:58  <indutny>I really would like to test one technology with other people :)
22:00:02  <indutny>bnoordhuis: one sec
22:00:16  <bnoordhuis>indutny: what kind of server do you need?
22:00:23  <indutny>any
22:00:26  <indutny>that can run node.js
22:00:27  <indutny>and redis
22:00:36  <bnoordhuis>oh, i don't have redis installed
22:00:37  <indutny>and have public IP
22:00:39  * joe__joined
22:00:43  <indutny>s/have/has
22:02:33  <indutny>bnoordhuis: why ain't you using HandleScope in PBKDF2After?
22:02:33  <indutny>is there any particular reason for that?
22:02:33  <indutny>ah
22:02:33  <indutny>you've moved it below
22:02:33  <indutny>ok, nvm
22:03:11  <indutny>bnoordhuis: lgtm
22:03:14  <indutny>bnoordhuis: very nice
22:03:16  <bnoordhuis>indutny: cool, thanks
22:03:26  <indutny>suppose it works, right? :)
22:03:57  <bnoordhuis>oh, i haven't tried
22:03:59  <CIA-108>node: Ben Noordhuis master * r2a30d32 / (src/node_crypto.cc test/simple/test-crypto.js): crypto: add sync interface to crypto.pbkdf2() - http://git.io/nxxUYQ
22:04:03  <indutny>heh
22:04:10  <bnoordhuis>yeah, tests are included :)
22:04:13  <indutny>lets bet who'll build first
22:04:18  <bnoordhuis>already done
22:04:21  <indutny>haha
22:04:22  <indutny>ok
22:04:39  <indutny>there was an issue related to it?
22:05:00  <bnoordhuis>indutny: yes, #3766
22:05:40  <indutny>ok, cool
22:06:01  <indutny>so, basically I've implemented VoIP for OSX and node.js
22:06:07  <indutny>but, without "V" part
22:06:17  <indutny>because it's borked for some magical reasons
22:06:27  <indutny>if anyone wants to try it - I'll be very glad to get you in
22:10:06  * blackorzarjoined
22:10:47  * c4milo_quit (Remote host closed the connection)
22:11:14  * dshaw_joined
22:11:32  <tjfontaine>aww who broke travis?
22:12:19  * c4milojoined
22:12:59  * EhevuTovjoined
22:13:50  <bnoordhuis>indutny: don't have os x
22:14:04  <bnoordhuis>otherwise, i wouldn't mind to
22:16:43  * c4miloquit (Ping timeout: 252 seconds)
22:17:55  * theColequit (Quit: theCole)
22:21:18  <indutny>oh
22:21:24  <indutny>UDP hole punching doesn't always work
22:21:26  <indutny>just figured that out
22:21:30  <indutny>nice
22:21:51  <indutny>so I'll need to pass all data through 3rd party server in some cases
22:22:52  * EhevuTovquit (Quit: Leaving)
22:23:05  * paddybyersquit (Quit: paddybyers)
22:25:46  * AvianFlujoined
22:26:14  <felixge>TooTallNate: ping
22:26:24  <TooTallNate>felixge: pong
22:26:54  <TooTallNate>indutny: that's what Skype does i think
22:27:03  <felixge>TooTallNate: I'm trying to get an addon to build with node-gyp but can't get it to link to a shared library I want to include. Any pointers for examples?
22:27:24  <TooTallNate>felixge: can i see the binding.gyp file?
22:27:56  <felixge>TooTallNate: https://gist.github.com/8e259fb98289bacee1cf
22:28:12  <felixge>I tried adding a 'libraries' key
22:28:22  <felixge>pointing it to pkg-config output for the libs
22:29:10  <TooTallNate>and which OS?
22:29:13  <felixge>OSX
22:30:16  <TooTallNate>felixge: and then what's the build output look like?
22:30:25  <TooTallNate>is it not finding the headers?
22:30:30  <felixge>the build works, it finds the headers
22:30:51  <felixge>but when I try to load the addon, I get this: https://github.com/peterbraden/node-opencv/issues/9
22:31:12  <felixge>when I check the addon binary with otool -L, I can also see the link is missing to the opencv library
22:31:17  <felixge>which makes me think that this is the problem
22:31:25  <TooTallNate>yes i would think so
22:32:43  <felixge>ohhh I think I fixed it
22:32:59  <TooTallNate>do tell!
22:33:14  <felixge>https://gist.github.com/8e259fb98289bacee1cf
22:33:18  <felixge>^--- this seems to have done it
22:33:27  <felixge>(adding the libraries key, it had to be exactly in that place)
22:33:29  <TooTallNate>agh yes
22:33:51  <felixge>yeah, all the links are there now as well
22:33:58  <TooTallNate>awesome
22:34:01  <TooTallNate>ya that'll do it :D
22:34:20  <TooTallNate>it's funny that my little comment has been copy & pasted to other binding.gyp files :D
22:34:30  <felixge>holy smokes, pulling images from my webcam to disk now :)
22:34:40  <TooTallNate>https://github.com/polotek/libxmljs/blob/master/binding.gyp#L26
22:34:48  <felixge>dude, build systems are the ultimate in cargo culting
22:34:48  <felixge>:)
22:35:29  * EhevuTovjoined
22:35:40  <TooTallNate>haha
22:36:17  <felixge>TooTallNate: anyway, one step further in image recognition for ar drones !
22:36:31  <TooTallNate>omg that's awesome!
22:36:44  <TooTallNate>i can't wait, i'm gonna order mine, i just wanna wait 1 more paycheck
22:36:54  <felixge>already figured out how to stream and decode the video with ffmpeg
22:37:01  <felixge>now need to figure out how to feed it into opencv
22:37:47  <felixge>please do, more people need to hack on this stuff :)
22:37:49  <felixge>and it's super fun
22:38:18  <TooTallNate>the 1.0 was fun, but only went like 10 feet in the air
22:38:35  <TooTallNate>hopefully the 2.0 will have all the kinks ironed out ;)
22:41:16  <felixge>https://github.com/peterbraden/node-opencv/pull/11
22:41:24  <felixge>it goes high
22:41:33  <felixge>got it flying 30-50 feet already
22:41:37  <felixge>but it should be able to do 150
22:42:34  <TooTallNate>felixge: you should move it to the top-level of the gyp file
22:42:40  <TooTallNate>outside the "condition" block
22:42:53  <TooTallNate>that way unixes other than osx will work
22:43:35  <indutny>felixge: oh noes
22:43:37  <indutny>comma first style
22:44:36  <felixge>not my code!
22:44:36  <felixge>:)
22:44:43  <indutny>ah
22:44:44  <indutny>ok
22:44:59  <indutny>why not include opencv in your project?
22:45:09  <indutny>I really like static linkage
22:45:17  <felixge>TooTallNate: ammended the pull
22:45:45  <felixge>indutny: I like static linking as well, build my build/linking skills are shitty :)
22:46:05  <felixge>indutny: what's involved for static linking a node addon?
22:46:19  <TooTallNate>indutny: opencv might be one of those really big ones
22:46:25  <TooTallNate>i have no idea actually
22:46:25  <AvianFlu>it is
22:46:29  <AvianFlu>about 30MB of source
22:46:38  <TooTallNate>but gyp-ifying some libs is sometimes just not an option
22:46:41  <AvianFlu>I spent the better part of a day trying to get it to statically link and compile on linux
22:46:53  <AvianFlu>as far as I've seen, that node-opencv addon only works on osx
22:47:14  <AvianFlu>but I might have just been derping, it's always hard to say
22:47:47  <TooTallNate>felixge: LGTM :)
22:48:06  <felixge>AvianFlu: what are your plans with opencv?
22:48:08  <TooTallNate>AvianFlu: you should try it after felixge's build patch :D
22:48:22  <AvianFlu>nodejitsu had a hackathon, and the winners used opencv
22:48:32  <AvianFlu>but the addon is built against the brew version of opencv
22:48:41  <AvianFlu>which is like two major versions behind the distro versions
22:48:58  <AvianFlu>so I was trying to deploy it for them, it being a nightmare and all
22:49:01  <AvianFlu>but never got it, ironically
22:49:26  <felixge>: /
22:49:51  <AvianFlu>it's a shame, it was a facial-recognition version of that 4chan game 'you laugh, you lose'
22:49:56  <AvianFlu>I'm told it was hilarious
23:03:57  * piscisaureus_joined
23:13:41  <piscisaureus_>hello
23:13:46  <piscisaureus_>bnoordhuis: how are you?
23:13:54  <bnoordhuis>piscisaureus_: bertje! goed hoor
23:14:08  <piscisaureus_>bnoordhuis: moved to asian schedule?
23:14:17  * dapquit (Quit: Leaving.)
23:15:01  <bnoordhuis>piscisaureus_: no. those asians work way too hard
23:15:12  <piscisaureus_>isaacs: ryah: your on('readable') -> read() idea is nice, but I don't see how that would work on win
23:15:25  <piscisaureus_>isaacs: ryah: basically it's the unix model all over again...
23:15:32  <piscisaureus_>unless libuv would buffer internally
23:20:49  <piscisaureus_>isaacs: we can do something like
23:20:50  <piscisaureus_>socket.read(function(data) {
23:20:56  <piscisaureus_>isaacs: that would work in libuv as well
23:21:29  <bnoordhuis>https://github.com/bnoordhuis/node/compare/version-addon-loading <- opinions?
23:21:48  <bnoordhuis>bump NODE_MODULE_VERSION and remove scanning for the init symbol in add-ons
23:21:59  <indutny>ttyl
23:22:00  <indutny>going to sleep
23:22:04  <indutny>to tired
23:22:04  <indutny>sorry
23:22:05  <bnoordhuis>sleep tight, fedor
23:22:14  <bnoordhuis>don't let the bed bugs bite
23:22:26  <piscisaureus_>bnoordhuis: sounds like a good idea.
23:23:07  <bnoordhuis>so we won't get a flood of bug reports after the next major release from people who forgot to recompile their add-ons :)
23:23:28  <bnoordhuis>isaacs: yt?
23:23:34  <piscisaureus_>less bug reports +9999
23:23:45  <bnoordhuis>yeah, we have way too many
23:24:05  <bnoordhuis>piscisaureus_: you still want to get that accept backoff patch in v0.8 / master?
23:24:28  <piscisaureus_>bnoordhuis: definitely in master, in 0.8 if possible abi-wise
23:25:21  <bnoordhuis>okay, i'll do that tomorrow (if it's not too hot)
23:25:29  <bnoordhuis>what's it like in the office this week?
23:25:43  <piscisaureus_>bnoordhuis: chaotic, for me
23:25:50  <piscisaureus_>did many things but very little node stuff
23:26:16  <bnoordhuis>veel dingen stuk?
23:26:16  <piscisaureus_>bnoordhuis: so how was your office. You seem to be offline most of the time these days...
23:26:20  <piscisaureus_>bnoordhuis: ja
23:26:35  <piscisaureus_>bnoordhuis: vooral mensen op vakantie en de proksie stuk
23:26:39  <bnoordhuis>ach so
23:26:47  <piscisaureus_>dus dat moest ik repareren
23:26:58  <bnoordhuis>as for me, i've been first sick, then relaxing
23:27:40  <piscisaureus_>bnoordhuis: relaxing shoudnt be allowed with your salary :-p
23:28:29  <bnoordhuis>what good is all that money if i can't enjoy it, right?
23:29:07  <bnoordhuis>then again, that's why i have a wife
23:29:09  <bnoordhuis>or rather, she has me
23:39:58  <indutny>ok
23:40:02  <indutny>looks lie I'm not sleeping
23:40:46  <indutny>s/lie/like
23:40:51  <indutny>felixge: you still there?
23:41:02  <felixge>indutny: y
23:41:16  <indutny>felixge: so, you just need to create .gyp file for static lib
23:41:24  <indutny>and do all configuration stuff in it
23:41:33  <indutny>see how we did it in deps/openssl/openssl.gyp in node
23:42:01  <indutny>basically, you should list all source files that needs to be built there
23:42:12  <indutny>and add defines for configuration (if needed)
23:42:28  <indutny>all that stuff can be gathered from dependency's makefile
23:42:31  <indutny>and configure script
23:42:40  <indutny>after creating gyp file
23:42:48  <indutny>you should put it to your addon's dependencies
23:43:01  <indutny>like this:
23:43:02  <indutny> "dependencies": [
23:43:03  <indutny> "deps/opus/opus.gyp:opus",
23:43:03  <indutny> "deps/speex/speex.gyp:speex",
23:43:03  <indutny> ],
23:43:11  <indutny>this should be inside target
23:43:12  <indutny>that's all
23:43:13  <tjfontaine>it becomes tedious to manage multiple build systems if upstream gets crazy
23:43:23  <indutny>fuck upstream :)
23:43:28  <indutny>if it goes crazy
23:43:30  <tjfontaine>hah
23:43:37  <tjfontaine>no upstream is going to fuck you
23:43:41  <indutny>hahaha
23:43:48  <indutny>it's downstream actually
23:43:52  <indutny>so fuck them
23:44:03  <indutny>you can just replace it with anything else
23:44:13  <indutny>there're always another project to try out
23:44:16  <indutny>and give up with
23:44:17  <indutny>:D
23:44:21  <indutny>ok
23:44:26  <indutny>this time I'm really going to sleep
23:44:27  <indutny>ttyl
23:44:27  <indutny>:D
23:44:36  <indutny>bnoordhuis: isaacs: please look at this https://github.com/joyent/node/pull/3661
23:44:41  <indutny>so many days passed
23:44:44  <indutny>see ya!
23:51:49  <felixge>indutny: thank you!
23:52:48  <tjfontaine>bnoordhuis: how would you like me to report pull reqs that look ripe for closing?
23:53:01  * dapjoined
23:53:28  <bnoordhuis>tjfontaine: by posting a comment in the PR, preferably with the reason why
23:53:41  <tjfontaine>ok
23:53:55  * EhevuTov_joined
23:54:41  <bnoordhuis>thanks :)
23:55:02  <tjfontaine>no problemo :)
23:56:50  * EhevuTovquit (Ping timeout: 246 seconds)
23:57:22  <tjfontaine>man you commented on a ton
23:57:46  <CIA-108>node: Ben Noordhuis master * rc3d4c35 / src/node.h : node: bump NODE_MODULE_VERSION - http://git.io/JNOwuw
23:57:47  <CIA-108>node: Ben Noordhuis master * rf692347 / src/node.cc : node: don't scan add-on for "init" symbol - http://git.io/FVwO-Q
23:57:56  <bnoordhuis>^ landing provisionally
23:58:11  * EhevuTov_quit (Client Quit)