00:00:09  * brsonjoined
00:17:25  * ericktquit (Quit: erickt)
00:18:16  <CIA-131>node: Bert Belder v0.8 * r2418434 / lib/child_process.js : windows: fix single-accept mode for shared server sockets - http://git.io/LATKjw
00:23:59  * TheJHquit (Ping timeout: 272 seconds)
00:24:39  <piscisaureus_>DrPizza: <-- https://github.com/tjanczuk/httpsys/wiki
00:26:58  <DrPizza>what exactly is output cacheing doing?
00:27:07  <piscisaureus_>just caching the output for 1 second
00:27:41  <piscisaureus_>btw - on my machine, with cluster and keepalive: Requests per second: 85282.97 [#/sec] (mean) \o/
00:27:47  <piscisaureus_>that was /bytes/100 btw
00:29:04  <DrPizza>so with output caching enabled it's doing what, serving up "Hello World" without bothering to go into user mode to ask for it?
00:29:18  <piscisaureus_>yep
00:31:53  <DrPizza>interesting
00:32:25  <DrPizza>the caching seems nice (though you'd want to be able to do it selectively rather than server-wide), but I'd expected it to go better in uncached mode
00:35:55  <piscisaureus_>DrPizza: well, it shows that our networking stack is not the major overhead here :-p
00:36:04  <piscisaureus_>DrPizza: so hammering on it pays off :-)
00:36:28  <DrPizza>I would like to see how well the simplest possible C++ http.sys hello world server does
00:37:09  <DrPizza>hmm
00:37:48  <piscisaureus_>DrPizza: well you'd have to compare it with the most optimized possible hello world :-)
00:45:53  <CIA-131>node: Bert Belder master * r4822d78 / (29 files in 8 dirs): uv: upgrade to 621a4e3 - http://git.io/2l3fiw
01:02:23  <CIA-131>node: Bert Belder master * rbf16d92 / (231 files in 49 dirs): Merge branch 'v0.8' (+36 more commits...) - http://git.io/qnFafA
01:03:03  * dap1joined
01:05:41  * dapquit (Ping timeout: 260 seconds)
01:08:20  <piscisaureus_>wow
01:08:24  <piscisaureus_>master is totally broken :-(
01:10:31  <piscisaureus_>ircretary: tell isaacs master is totally broken, hold off from a new 0.9 a little
01:10:32  <ircretary>piscisaureus_: I'll be sure to tell isaacs
01:14:53  <CIA-131>node: Bert Belder v8-trunk * r03c1968 / (338 files in 23 dirs): v8: update to 12390 - http://git.io/4DYNTQ
01:14:54  <CIA-131>node: Bert Belder v8-trunk * ree484a5 / (deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp): v8: reapply floating patches - http://git.io/LXeFxw
01:14:54  <CIA-131>node: [email protected] v8-trunk * r65d4dab / (11 files in 3 dirs): Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers. - http://git.io/8V595g
01:14:58  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:16:55  * dap1quit (Quit: Leaving.)
01:19:53  * ArmyOfBrucequit (Excess Flood)
01:20:21  * ArmyOfBrucejoined
01:21:58  <piscisaureus_>isaacs: npmjs.org is down
01:22:39  * brson_joined
01:22:49  * brsonquit (Read error: Connection reset by peer)
01:28:53  <piscisaureus_>ircretary: tell isaacs npmjs.org was down, I restarted it in a screen
01:28:53  <ircretary>piscisaureus_: I'll be sure to tell isaacs
01:31:54  <tjfontaine>piscisaureus_: [02:27|% 100|+ 462|- 2]: Done <-- master on osx 10.8.1, what are you seeing?
01:32:05  <piscisaureus_>tjfontaine: -100 or so
01:32:10  <tjfontaine>ouch
01:32:12  <piscisaureus_>tjfontaine: probably windows-specific then
01:36:55  <piscisaureus_>ok, time to get out of here
01:36:59  <piscisaureus_>later peepz
01:37:53  <tjfontaine>enjoy
01:43:22  * piscisaureus_quit (Ping timeout: 246 seconds)
01:50:31  * brson_quit (Ping timeout: 252 seconds)
01:50:45  * TooTallNatejoined
01:54:40  <mitsuhiko>fuck openssl, seriously
01:57:30  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
01:57:32  <mitsuhiko>did anyone wrap openssl for libuv?
01:57:41  <mitsuhiko>i saw that node has something, but on a very different level
01:58:48  <tjfontaine>what do you mean?
01:59:45  <mitsuhiko>tjfontaine: which part?
02:00:00  <mitsuhiko>node's ssl binding is a lot of v8 :)
02:00:28  <tjfontaine>ok well I can show you another, but it's also c++ and not as fleshed out as nodes
02:00:51  <tjfontaine>https://github.com/oftc/oftc-ircd/blob/develop/src/ssl.cc and https://github.com/oftc/oftc-ircd/blob/develop/src/sslconnection.cc
02:01:51  <mitsuhiko>i'm still on pure c but when it comes to wrapping things that ends up being painful :(
02:02:28  * perezdquit (Quit: perezd)
02:03:38  <mitsuhiko>oh well, major refactorings incoming i guess
02:03:48  <mitsuhiko>i doubt i can handle that transparently
02:07:31  * perezdjoined
02:42:02  * TooTallNatejoined
02:42:03  * TooTallNatequit (Client Quit)
02:49:42  * mjr_quit (Quit: mjr_)
02:49:44  * avalanche123joined
03:02:22  * avalanche123quit (Quit: Computer has gone to sleep.)
04:02:56  * dshaw_joined
04:12:33  * perezdquit (Quit: perezd)
04:23:13  * perezdjoined
05:08:31  * Ariaquit (Remote host closed the connection)
05:16:25  * ibobrikjoined
05:17:13  * dshaw_quit (Quit: Leaving.)
05:17:55  * loladiroquit (Quit: loladiro)
05:30:27  * ibobrikquit (Quit: ibobrik)
05:31:52  * avalanche123joined
06:05:45  * ibobrikjoined
06:12:51  * TheJHjoined
06:32:09  * dshaw_joined
06:37:48  * ArmyOfBrucequit (Excess Flood)
06:38:20  * ArmyOfBrucejoined
06:39:06  <ibobrik>if anyone still care about my aligned buffers trouble, this fixed everything: https://github.com/bobrik/node-aligned-buffer/commit/da760bfacd629df2dedb810eb70554bf8a407b4f
06:42:28  <indutny>ibobrik: whitespace changes? :D
06:42:36  <ibobrik>nope, free_callback
06:42:46  <indutny>yeah, I see
06:42:58  <ibobrik>node copy data if you don't provide it
06:43:10  <indutny>well, you know that buffer is copying data into it's internal storage w/o it, right?
06:43:16  <indutny>obviously
06:43:16  <indutny>:)
06:44:23  <ibobrik>now i know :)
06:48:50  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
06:58:23  * AvianFlujoined
07:03:56  * ArmyOfBrucequit (Excess Flood)
07:07:05  <ibobrik>https://github.com/joyent/node/pull/3929 can someone review this?
07:08:14  * ArmyOfBrucejoined
07:08:14  * mitsuhikoquit (Ping timeout: 264 seconds)
07:10:02  * TheJHquit (Ping timeout: 264 seconds)
07:10:51  * TheJHjoined
07:11:55  * hzjoined
07:11:55  * mitsuhikojoined
07:20:46  * dshaw_quit (Quit: Leaving.)
07:23:44  * dshaw_joined
07:27:04  * toothrotquit (Ping timeout: 246 seconds)
07:35:56  * rendarjoined
07:42:11  * `3rdEdenjoined
07:43:27  * mmaleckijoined
07:46:02  * toothrjoined
07:49:55  * avalanche123quit (Quit: Computer has gone to sleep.)
07:51:23  * creationixquit (Ping timeout: 245 seconds)
07:56:12  <indutny>ibobrik: https://lkml.org/lkml/2007/1/10/233
07:56:57  <indutny>though, I'm not against it
07:57:00  <indutny>just saying
07:57:57  * dshaw_quit (Quit: Leaving.)
08:10:00  <ibobrik>Facebook guys bypass cache in some cases, btw
08:12:57  <indutny>you don't seem to be working there, ain't you?
08:13:05  <indutny>:)
08:15:17  <mmalecki>doesn't facebook use those SSD PCI drives?
08:15:32  <mmalecki>which are epicly fast and hook up to drivers in some crazy ways?
08:17:04  <indutny>mmalecki: O_DIRECT is hack anyway
08:17:18  <ibobrik>i don't think that saving photos at 12 sad in raid6 (1TB disk size) is a good solution
08:17:20  <indutny>it's not really the best thing to ask kernel to do
08:17:32  <ibobrik>so no, they use usual disks :)
08:17:37  <mmalecki>yeah, I agree
08:17:42  <ibobrik>s/sad/ssd/
08:17:45  <mmalecki>I haven't seen the actual implementation
08:18:04  <mmalecki>but I bet that walking around whole buffering logic *is* complicated
08:18:39  <indutny>buffer is there for a reason
08:18:46  <indutny>not just for caching
08:19:09  <indutny>if you want direct access - go write your fs and your driver
08:19:10  <indutny>:D
08:20:21  <ibobrik>too hardcore for me :)
08:21:45  <ibobrik>js can't address 1TB, btw :)
08:28:40  <indutny>it can
08:29:00  <indutny>but you'll need to have use composite addressing
08:29:04  <indutny>like [1000, 1000]
08:29:17  <indutny>or new Buffer(0x..........)
08:29:23  <indutny>which is not implemented in node yet
08:29:29  <indutny>though I proposed it many times
08:29:39  <indutny>https://github.com/indutny/node-index
08:29:46  <indutny>not sure if it works with 0.8.x :D
08:33:16  <ibobrik>maybe i'll do that someday :)
08:33:52  <indutny>heh, why do you need it?
08:33:56  <indutny>using node.js for file hosting
08:33:58  * ArmyOfBrucequit (Ping timeout: 252 seconds)
08:35:43  * ArmyOfBrucejoined
08:35:50  <ibobrik>because storing millions of files in directories and serving them with nginx is slow for some reason. node.js will allow reducing disk seeks
08:36:08  <ibobrik>no need to find inode and address it to disk offset
08:36:19  <ibobrik>1 read per file instead of 3+
08:36:36  <ibobrik>because hitting disk cache with 3TB of data is hard
08:36:56  <indutny>ok
08:37:11  <rendar>ibobrik: shoulnd't it also depend from the filesystem used?
08:39:17  <ibobrik>i believe it should, but ext4, reiserfs4 and btrfs show almost the same results
08:42:50  <rendar>hm, so maybe its a nginx thing
08:45:37  * paddybyersjoined
08:50:36  * stagasjoined
08:55:14  <mitsuhiko>i suppose transparently wrapping ssl on top of uv_stream_h is not really feasible?
09:06:02  <indutny>mitsuhiko: why not?
09:06:16  <indutny>mitsuhiko: though you'll need to store context somewhere outside
09:06:26  <mitsuhiko>indutny: mainly because i did not find a way i suppose
09:06:53  <mitsuhiko>my on_read cb for instance would be occupied by my wrapper code
09:07:04  <mitsuhiko>so i guess i would have to deeply integrate that into uv itself
09:07:13  <mitsuhiko>(say i wanted to have a uv_ssl_tcp_t)
14:31:39  * hzjoined
14:34:49  * piscisaureujoined
14:35:07  * piscisaureuquit (Client Quit)
14:38:47  * piscisaureusjoined
14:39:07  <piscisaureus>hey indutny
14:39:10  <piscisaureus>https://gist.github.com/3498560
14:39:35  <indutny>huh
14:39:44  <indutny>I thought there was another error last time?
14:39:47  <indutny>piscisaureus: ^
14:39:58  <indutny>piscisaureus: can you post stack trace?
14:40:07  <piscisaureus>indutny: I don't really remember. Was there.
14:40:16  <piscisaureus>indutny: I'm on 65bd3d1ad7be112f0 and I ran make && make test
14:40:29  <piscisaureus>the working tree was completely clean
14:40:45  <indutny>piscisaureus: gdb backtrace?
14:40:46  <piscisaureus>also
14:40:47  <piscisaureus>Berts-MacBook-Pro-2:libuv piscisaureus$ uname -a
14:40:48  <piscisaureus>Darwin Berts-MacBook-Pro-2.local 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64
14:48:02  <indutny>piscisaureus: sorry, internet disconnected
14:48:06  <indutny>piscisaureus: so, backtrace?
14:49:44  <piscisaureus>indutny: for which test?
14:50:01  <piscisaureus>watch_dir?
14:50:05  <indutny>piscisaureus: fs_event_watch_dir
14:50:06  <indutny>yeah
14:50:11  <indutny>this is the only one I touched
14:50:52  <piscisaureus>well, it's not the only fs-watch related failure :-)
14:51:18  <indutny>oh
14:51:19  <indutny>yeah
14:51:20  <indutny>I see now
14:51:25  <indutny>crap, I need to get 10.8 machine
14:51:46  <piscisaureus>indutny: heh, now I get another error
14:51:50  <piscisaureus>an assertion failure
14:51:53  <indutny>race condition!
14:52:00  <indutny>yeah, can you print filename in that assertion?
14:52:28  <piscisaureus>lemme try
14:53:37  <piscisaureus>indutny: https://gist.github.com/3498710
14:53:56  <indutny>ouch
14:54:05  <indutny>ok, I need to figure this out
14:54:07  <indutny>thanks a lot!
14:56:42  * ericktjoined
15:01:04  <bnoordhuis>piscisaureus: the SetJitCodeEventHandler api landed in v8
15:01:08  <bnoordhuis>this time for good, one hopes
15:01:19  <piscisaureus>bnoordhuis: nice
15:01:28  <piscisaureus>bnoordhuis: I suppose we keep an eye on the buildbots :-)
15:01:33  <bnoordhuis>yep :)
15:01:41  <piscisaureus>buildbots are so nice
15:01:55  <tjfontaine>there's buildbots now?
15:01:59  <piscisaureus>no
15:02:03  <piscisaureus>v8 has em
15:02:14  <tjfontaine>oh, I was going to set one up today if I got the urge
15:02:34  <piscisaureus>bnoordhuis: I am making a plan for the run.js rewrite
15:02:45  <piscisaureus>bnoordhuis: after that we should hammer it out in at most one day and be done with it
15:02:51  <piscisaureus>bnoordhuis: it will have no bugs
15:02:55  <bnoordhuis>piscisaureus: what's the issue with run.js now?
15:03:03  * ericktquit (Ping timeout: 272 seconds)
15:03:32  <piscisaureus>bnoordhuis: it randomly doesn't work, e.g. you panic and it doesn't kill, you start stuff and it doesn't start (and runjs doesn't tell you)
15:04:13  <piscisaureus>bnoordhuis: it has this probing mechanism that requires processes to output stuff every 100 ms or so
15:04:26  <piscisaureus>so all the logs are full of meaningless bs
15:04:43  <bnoordhuis>piscisaureus: what about kill(child_pid, 0)?
15:04:53  <piscisaureus>bnoordhuis: what about that question?
15:05:01  <piscisaureus>bnoordhuis: like, as a solution to our problems?
15:05:03  <bnoordhuis>no, wait - nvm
15:05:25  <bnoordhuis>i guess you want to know if the process is running okay, not just if it's running
15:05:34  <piscisaureus>bnoordhuis: yes
15:06:02  <piscisaureus>bnoordhuis: so most of the trouble is actually in the js side of it, not the c side
15:06:22  <bnoordhuis>piscisaureus: let's ditch the js
15:06:26  <bnoordhuis>javascript is horrible anyway
15:06:30  <piscisaureus>bnoordhuis: agreed
15:06:37  <piscisaureus>bnoordhuis: but we need to have a simple cli etc
15:06:47  <piscisaureus>bnoordhuis: I suppose that's terrible to write in c\
15:07:03  <bnoordhuis>piscisaureus: define "simple cli"?
15:07:32  <piscisaureus>bnoordhuis: well the current version is pretty barebones and it does this:
15:07:36  <piscisaureus>start <process>
15:07:38  <piscisaureus>stop <process>
15:07:47  <piscisaureus>tail <process> ; tails the logs
15:08:14  <piscisaureus>switch <tag> ; gracefully exit a process and then restarts it
15:08:42  <bnoordhuis>what does <tag> mean?
15:08:47  <bnoordhuis>git checkout <tag>?
15:08:53  <piscisaureus>bnoordhuis: when you start a process you give it a tag
15:09:00  <bnoordhuis>ah okay
15:09:06  <piscisaureus>bnoordhuis: so e.g. you can refer to it later :-)
15:09:16  <piscisaureus>so it really is
15:09:26  <piscisaureus>start -t:<tag> <command>
15:09:31  <piscisaureus>stop <tag>
15:09:33  <piscisaureus>etc
15:10:03  <bnoordhuis>okay, easy
15:10:20  <piscisaureus>bnoordhuis: some more stuff: it restarts processes when they fail uncleanly.
15:10:32  <piscisaureus>bnoordhuis: it compresses log files (we should ditch this)
15:10:53  <piscisaureus>bnoordhuis: so you want to write it all in c?
15:11:07  <bnoordhuis>piscisaureus: i guess so
15:11:13  <bnoordhuis>i noticed it calls `ps aux` a lot
15:11:14  <piscisaureus>bnoordhuis: what about we write the actual daemon completely in c, and the cli is written in js
15:11:19  <bnoordhuis>for reasons i'm not entirely clear on
15:11:23  <piscisaureus>nobody knows
15:11:27  <bnoordhuis>hah
15:11:44  * paddybyersjoined
15:11:53  <piscisaureus>bnoordhuis: so the daemon could create an unix socket server and the cli would connect to that
15:12:11  <bnoordhuis>piscisaureus: why not write the cli in c as well? it's not that much harder
15:12:22  <bnoordhuis>and it'll stop people from messing with the code
15:12:32  <piscisaureus>bnoordhuis: hah, nobody is messing with the code
15:12:42  <piscisaureus>bnoordhuis: that's the problem :-)
15:13:01  * stagasjoined
15:13:12  <bnoordhuis>well okay i guess
15:13:24  <piscisaureus>bnoordhuis: you have time for a quick skype chat?
15:13:38  <piscisaureus>bnoordhuis: or is it potato time already?
15:13:58  <bnoordhuis>piscisaureus: i have time but i need to dig up my laptop
15:14:12  <piscisaureus>oh, your desktop still ain't working?
15:14:34  <bnoordhuis>come to think of it, i upgraded my kernel - maybe it works now
15:14:37  * bnoordhuistests
15:15:09  <bnoordhuis>okay, i need to dig up my laptop :)
15:15:14  <piscisaureus>hahaha
15:19:38  * piscisaureus1joined
15:19:38  * piscisaureusquit (Read error: Connection reset by peer)
15:23:51  <isaacs>piscisaureus1: thanks for merging 0.8
15:23:56  <isaacs>i was kind of dreading that. always such a chore.
15:40:02  <piscisaureus1>yeah
15:40:12  <piscisaureus1>Unfortunately windows is now totally borked
15:40:30  <piscisaureus1>so I'll have to debug that
15:43:09  * dapjoined
15:43:16  <indutny>bnoordhuis: tls tls tls
15:43:21  <indutny>sessions sessions sessions
15:43:24  <indutny>and 0.9.x
15:43:44  <bnoordhuis>indutny: what issue was it again?
15:44:09  <indutny>bnoordhuis: https://github.com/joyent/node/pull/3661
15:46:48  * loladirojoined
15:47:43  <CIA-131>node: isaacs v0.9.1-release * rcda3ae6 / (ChangeLog src/node_version.h): wip - http://git.io/OBbKag
15:47:44  <isaacs>changelog tweaks welcome.
15:48:09  <isaacs>especially the libuv section needs to be way trimmed down
15:48:29  <indutny>heh
15:48:33  <isaacs>i'll be back in a little bit
15:48:36  * isaacsaway
15:48:52  <piscisaureus1>isaacs: I'll write a gist
15:48:58  <isaacs>piscisaureus1: thanks
15:49:01  * ibobrikjoined
15:49:30  * bnoordhuisis off to dinner
15:49:38  <bnoordhuis>indutny: i'll review your PR when i come back
15:49:47  <indutny>bnoordhuis: thanks man
15:50:25  * beachdog_joined
15:53:59  * beachdogquit (Ping timeout: 245 seconds)
15:54:45  * `3rdEdenchanged nick to `3E|Dinner
15:55:50  * perezdquit (Quit: perezd)
15:57:18  <piscisaureus1>isaacs: https://gist.github.com/3499399 <— trimmed down version of the uv changelog
16:03:53  <indutny>piscisaureus1: don't want to be selfish
16:03:58  <indutny>but you forgot select stuff
16:04:08  <indutny>or was it already released?
16:04:36  <piscisaureus1>indutny: I only removed stuff
16:04:38  <piscisaureus1>:-)
16:04:59  <piscisaureus1>indutny: unix: work around darwin bug, don't poll() on pipe (Ben Noordhuis)
16:05:09  <piscisaureus1>indutny: did Ben hijack your commit?
16:06:56  <indutny>hahaha
16:07:03  <indutny>I think so
16:07:15  <indutny>though he made some changes
16:07:21  <indutny>at least to the commit's message
16:09:14  * brsonjoined
16:09:35  * ericktjoined
16:09:51  <piscisaureus1>indutny: ok added your name to it
16:10:31  <indutny>thanks
16:13:27  * perezdjoined
16:13:31  * joshthecoderjoined
16:16:27  * AvianFlujoined
16:19:40  <creationix>We should add Infinity, -Infinity, and NaN to Buffer.prototype.writeFloat and friends
16:19:50  <creationix>they have IEEE representations
16:19:59  <creationix>for NaN, I suggest using QNaN vs SNaN
16:20:00  <creationix>http://steve.hollasch.net/cgindex/coding/ieeefloat.html
16:20:18  <creationix>(QNaN instead of SNaN)
16:20:34  <piscisaureus1>Can we add a small intelligence test to the node download page
16:20:59  <piscisaureus1>if you don't score at least 120 points and show a baseline of understanding about how computers work, you're out of luck
16:21:06  <creationix>piscisaureus1, is someone being dumb again?
16:21:17  * ericktquit (Quit: erickt)
16:21:28  <piscisaureus1>it's the same people
16:22:00  <indutny>piscisaureus1: I can write one
16:22:15  <indutny>but I think I'm not intellegent enough
16:24:08  * ericktjoined
16:28:58  * AvianFlu_joined
16:29:11  * hzquit (Ping timeout: 272 seconds)
16:29:17  * AvianFluquit (Disconnected by services)
16:29:25  * AvianFlu_changed nick to AvianFlu
16:31:17  * `fogusquit (Quit: Leaving.)
16:37:14  * brsonquit (Ping timeout: 256 seconds)
16:42:24  * brsonjoined
16:49:37  * loladiroquit (Quit: loladiro)
17:02:43  * dshaw_joined
17:09:18  * rborgjoined
17:11:08  * rborgquit (Quit: rborg)
17:11:13  <isaacs>piscisaureus1: what do stupid people do wiht the download page?
17:11:20  <isaacs>piscisaureus1: it's quite possibly just too hard.
17:11:28  <isaacs>piscisaureus1: node should be usable by stupid people.
17:13:57  * AvianFluquit (Remote host closed the connection)
17:14:45  * `3E|Dinnerchanged nick to `3rdEden
17:18:30  * _fogus_joined
17:22:37  * brsonquit (Read error: Connection reset by peer)
17:22:54  * brsonjoined
17:22:54  * _fogus_part
17:23:01  * TooTallNatejoined
17:25:20  * AvianFlujoined
17:27:48  * loladirojoined
17:28:34  * mjr_joined
17:28:43  * AvianFluquit (Remote host closed the connection)
17:30:11  * ibobrikquit (Quit: ibobrik)
17:33:00  * beachdogjoined
17:43:54  * `fogusjoined
17:49:09  * arlolrajoined
17:54:59  * loladiroquit (Quit: loladiro)
18:03:36  * ibobrikjoined
18:05:58  * arlolraquit (Quit: Leaving...)
18:07:28  * joshthecoderquit (Quit: Leaving...)
18:16:28  * `3rdEdenquit (Quit: fooooobar)
18:18:24  <bnoordhuis>piscisaureus1: unix: work around darwin bug, don't poll() on pipe <- that's because i didn't merge fedor's PR
18:18:29  <bnoordhuis>see https://github.com/joyent/libuv/issues/522
18:18:40  <indutny>huh
18:19:08  <indutny>aaah
18:19:11  <indutny>that's another commit
18:19:22  <indutny>bnoordhuis: heh, sorry
18:19:25  <bnoordhuis>np
18:19:39  <indutny>darwin bug
18:19:46  <indutny>that's what caught my attention first
18:20:04  <indutny>piscisaureus1: was that 0.8 branch changelog?
18:20:23  * AvianFlujoined
18:21:20  * `foguspart ("Leaving")
18:22:24  * `3rdEdenjoined
18:23:42  * `3rdEdenquit (Client Quit)
18:25:39  * `3rdEdenjoined
18:32:46  * paddybyersquit (Quit: paddybyers)
18:47:15  * EhevuTovjoined
18:50:08  * joshthecoderjoined
18:52:59  * EhevuTovquit (Ping timeout: 246 seconds)
18:56:41  * rborgjoined
18:58:17  * AvianFluquit (Remote host closed the connection)
18:59:01  * piscisaureus1quit (Remote host closed the connection)
19:03:02  * AvianFlujoined
19:03:31  * mmaleckiquit (Quit: Lost terminal)
19:03:53  * mmaleckijoined
19:06:58  * mikealjoined
19:09:18  * hzjoined
19:15:16  * ericktquit (Quit: erickt)
19:18:01  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
19:26:29  <isaacs>indutny: that was the libuv portion of the 0.9.1 changelot
19:26:36  <isaacs>ok, more trimming still needed: https://gist.github.com/3502515
19:27:03  <CIA-131>node: isaacs v0.9.1-release * r766a6ff / (ChangeLog src/node_version.h): wip - http://git.io/Ycpvpg
19:27:13  * tomshredsjoined
19:30:51  * AvianFluquit (Quit: AvianFlu)
19:31:24  <`3rdEden>remove process.uvCounters() - bnoordhuis nooooo, why
19:31:47  <bnoordhuis> `3rdEden: because it's useless
19:32:08  * ericktjoined
19:32:29  <`3rdEden>bnoordhuis i was using it for diagnostics
19:32:33  <ryah>you guy are still merging v0.8 into master - right?
19:32:49  <bnoordhuis>ryah: no, we decided to switch it around, spice things up
19:33:06  <indutny>bnoordhuis: review review review
19:33:17  <bnoordhuis>`3rdEden: it can't have been very reliable, i've more than once forgotten to add an increment somewhere :)
19:33:19  <ryah>indutny: how do you do async openssl sessions?
19:33:29  <indutny>ryah: using pull request
19:33:31  <ryah>indutny: did you have to hack openssl?
19:33:37  <indutny>no
19:33:42  <`3rdEden>bnoordhuis anything is better than nothing
19:33:48  <indutny>ryah: https://github.com/joyent/node/pull/3661
19:33:55  <ryah>i thought they only had synchronous api for this
19:34:07  * AvianFlujoined
19:34:08  <indutny>ryah: yeah, they're
19:34:30  <bnoordhuis>`3rdEden: well, they're gone :-/
19:34:32  <indutny>ryah: but if you'll parse tls handshake frames in node and only after that pass everything to openssl ;)
19:34:47  <ryah>:|
19:34:48  <indutny>we can even get sni and other stuff out of it
19:35:33  <indutny>yes, I know, it's hacky
19:35:38  <ryah>hm
19:35:47  <ryah>dont you think this should be pushed up into openssl?
19:35:54  <bnoordhuis>indutny: i see there's still some comments that are unanswered / not addressed
19:36:07  <indutny>bnoordhuis: for example?
19:36:19  <bnoordhuis>indutny: https://github.com/joyent/node/pull/3661/files#r1433044
19:36:37  <indutny>ehm
19:36:41  <indutny>github ate my comment
19:36:46  <indutny>have you seen next line of code?
19:37:04  <bnoordhuis>yes
19:37:15  <bnoordhuis>having potentially invalid pointers is a bad practice
19:37:28  <indutny>well, I'm creating pointer and checking if it's valid
19:37:39  <indutny>but I can do it in other way
19:37:41  <bnoordhuis>technically illegal even
19:37:54  <indutny>bnoordhuis: ok, one minute
19:38:12  * hzquit (Remote host closed the connection)
19:38:22  <bnoordhuis>indutny: can you reply to the comments again?
19:38:29  <indutny>bnoordhuis: yeah, sure
19:38:30  * AvianFluquit (Read error: Connection reset by peer)
19:38:47  <ryah>someone should make SSL_CTX_sess_set_async_get_cb() and SSL_CTX_sess_set_async_new_cb()
19:39:37  <bnoordhuis>how would that work? openssl doesn't have an event loop
19:39:45  <bnoordhuis>at least, not the way we use it
19:40:11  <ryah>it's just going to stop processing the BIO until it the session is fetched
19:40:27  <ryah>there will be another call like SSL_CTX_sess_got()
19:40:34  <ryah>to be made once the session is fetched
19:41:22  <indutny>ryah: it should be possible
19:41:34  <ryah>the SSL_read() which issued the session get cb will return EAGAIN
19:41:39  <ryah>you'll have to call SSL_read again
19:41:57  <ryah>(or something)
19:43:12  <ryah>maybe the user needs to be forced to call SSL_read after SSL_CTX_sess_got() is made
19:43:16  <ryah>which is ugly
19:43:26  <ryah>but it should be possible i think
19:43:51  * tomshredsquit (Quit: Leaving...)
19:44:06  <ryah>another possibility - which is more hacky
19:44:14  <ryah>try to use longjmp
19:44:22  <ryah>when the session callback is made
19:44:26  <ryah>go back to the event loop
19:45:21  * loladirojoined
19:45:22  <ryah>although the likely hood of that not working is about 98%
19:48:05  <CIA-131>node: Bert Belder master * rc06e100 / test/simple/test-child-process-exec-error.js : windows: make test-child-process-exec-error pass - http://git.io/vlwKow
19:48:32  * piscisaureus_joined
19:50:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:51:22  <CIA-131>libuv: Bert Belder master * r162e57b / src/win/error.c : windows: map ERROR_DIRECTORY to UV_ENOENT - http://git.io/tQsPTA
19:54:38  <indutny>ryah: I think first one may work
19:54:50  <indutny>ryah: EAGAIN
19:55:00  <indutny>bnoordhuis: force pushed
19:55:48  <CIA-131>node: Bert Belder master * r69d8e77 / deps/uv/src/win/error.c : uv: upgrade to 162e57b - http://git.io/5Acw9Q
19:57:00  <indutny>even twice :D
19:58:57  <indutny>going to sleep now
19:58:58  <indutny>ttyl everyone
20:01:38  <bnoordhuis>sleep tight, fedor
20:01:48  * loladiroquit (Quit: loladiro)
20:05:23  * TooTallNatejoined
20:07:59  <ryah>i think v0.9 should spend some time making typed arrays first class citizens
20:08:28  <ryah>typed arrays are super common in browsers now
20:12:13  <CIA-131>node: Bearice Ren v0.8 * ref3617c / Makefile : build: fix `make -j' fails after `make clean' - http://git.io/DorFwg
20:13:10  <bnoordhuis>not a bad idea
20:18:21  * mikealquit (Quit: Leaving.)
20:18:38  * mikealjoined
20:21:37  * TooTallNatequit (Ping timeout: 260 seconds)
20:24:21  * TooTallNatejoined
20:31:22  * travis-cijoined
20:31:22  <travis-ci>[travis-ci] joyent/libuv#629 (master - 162e57b : Bert Belder): The build is pending.
20:31:22  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/621a4e36f7f0...162e57baa972
20:31:22  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2265221
20:31:22  * travis-cipart
20:32:57  * travis-cijoined
20:32:57  <travis-ci>[travis-ci] joyent/libuv#629 (master - 162e57b : Bert Belder): The build passed.
20:32:57  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/621a4e36f7f0...162e57baa972
20:32:57  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2265221
20:32:57  * travis-cipart
20:33:15  * AvianFlujoined
20:34:47  * mikealquit (Quit: Leaving.)
20:35:12  <CIA-131>libuv: Bert Belder master * r5c674b2 / src/win/process.c : windows: squelch some warnings related to int64 to int32 conversion - http://git.io/yQkM3w
20:35:17  <CIA-131>libuv: Bert Belder reviewme * rabc945b / src/win/process.c : windows: make spawn with custom environment work again - http://git.io/FpvZBw
20:35:20  <piscisaureus_>^-- bnoordhuis: wanna review that?
20:35:29  <bnoordhuis>piscisaureus_: yes, in a moment
20:37:06  * travis-cijoined
20:37:06  <travis-ci>[travis-ci] joyent/libuv#631 (master - 5c674b2 : Bert Belder): The build passed.
20:37:06  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/162e57baa972...5c674b28894b
20:37:06  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2265746
20:37:06  * travis-cipart
20:37:21  * travis-cijoined
20:37:21  <travis-ci>[travis-ci] joyent/libuv#630 (reviewme - abc945b : Bert Belder): The build passed.
20:37:21  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/commit/abc945bc04bc
20:37:21  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2265744
20:37:21  * travis-cipart
20:42:18  * loladirojoined
20:44:36  <isaacs>simple/test-https-socket-options failing on smartos
20:44:41  <isaacs>Error: connect Unknown system errno 99
20:45:21  <isaacs>all tests pass on os x
20:45:25  * paddybyersjoined
20:46:05  <isaacs>ubuntu: [03:34|% 100|+ 463|- 1]: Done
20:46:20  <isaacs>failed simple/test-domain-http-server
20:47:29  * ibobrikquit (Quit: ibobrik)
20:49:11  * `3rdEdenquit (Quit: Zzzzzzz)
20:49:43  <isaacs>ubuntu failure is sporadic. hm.
20:49:56  <CIA-131>libuv: Bert Belder master * rabc945b / src/win/process.c : windows: make spawn with custom environment work again - http://git.io/FpvZBw
20:50:38  * rborgpart
20:51:37  * travis-cijoined
20:51:37  <travis-ci>[travis-ci] joyent/libuv#632 (master - abc945b : Bert Belder): The build passed.
20:51:37  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/5c674b28894b...abc945bc04bc
20:51:37  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2265886
20:51:37  * travis-cipart
20:51:46  <CIA-131>node: Bert Belder master * r4cfd64e / deps/uv/src/win/process.c : uv: upgrade to abc945b - http://git.io/SWD3Hg
20:51:55  <isaacs>piscisaureus_: yo
20:51:59  <piscisaureus_>yo isaacs
20:52:04  <isaacs>piscisaureus_: those worth pulling into 0.9.1? ^
20:52:08  <piscisaureus_>isaacs: yes
20:52:11  <isaacs>k.
20:52:23  <piscisaureus_>isaacs: without them there are hundred million billion test failures
20:52:31  <piscisaureus_>isaacs: I wanna solve a couple more tonight actually
20:52:32  <isaacs>huzzah.
20:52:34  <isaacs>:)
20:52:36  <isaacs>ok.
20:52:43  <isaacs>0.9.1 release needs to go out today
20:52:55  <piscisaureus_>the day is still long (in the us)
20:52:59  <isaacs>i probably won't be able to get it done tomorrow, and then i'll be flying and at summer camp
20:53:23  <piscisaureus_>ah, summer camp
20:53:33  <piscisaureus_>camp fires and shitting in the bushes
20:53:37  <piscisaureus_>\o/
20:53:46  <isaacs>piscisaureus_: you got that backwards
20:53:56  <isaacs>we camp in the bushes, and shit in the fire
20:54:01  <piscisaureus_>ouch
20:54:08  <isaacs>well, how do YOU put out fires?
20:54:17  <piscisaureus_>ehm, when i'm drunk
20:54:20  <piscisaureus_>I don't know
20:54:24  <isaacs>Got a bullet point for that patch?
20:54:29  <isaacs>for teh changelog?
20:54:45  <piscisaureus_>isaacs: no, it's just fixing a bug that I introduced in the same timeline
20:54:46  <isaacs>piscisaureus_: or can we just sneak it in?
20:54:48  <isaacs>kk
20:54:49  <isaacs>thanks.
20:55:06  <CIA-131>node: isaacs v0.9.1-release * r060f292 / (ChangeLog src/node_version.h): wip - http://git.io/dIniiw
21:03:16  <piscisaureus_>isaacs: should ftruncating a file that is opened with "a" work?
21:03:20  <piscisaureus_>bnoordhuis: ^
21:04:00  <bnoordhuis>piscisaureus_: i think it works, yes
21:04:04  <piscisaureus_>ok
21:04:08  <piscisaureus_>it doesn't on windows
21:04:22  <tjfontaine>looks like on fbsd it may eperm?
21:04:39  <tjfontaine>oh I guess that append only flag could be file system, not fd related
21:05:19  <isaacs>piscisaureus_: yes
21:05:45  <isaacs>tjfontaine: yeah, if you mark the file/fs as append-only, then it won't work to do any non-append operation
21:05:55  <isaacs>but that doesn't depend on how you *open* the file
21:05:59  <isaacs>that just places the write pointer
21:06:04  <tjfontaine>nod
21:06:20  <piscisaureus_>isaacs: so why do we have test-fs-truncate that opens a file with "a" and then ftruncates it?
21:06:25  <piscisaureus_>mind if I change that to "w"
21:06:26  <piscisaureus_>?
21:06:32  <isaacs>piscisaureus_: can we make it work on windows?
21:06:45  <isaacs>piscisaureus_: opening with 'w' will truncate the file, won't it?
21:06:54  <piscisaureus_>isaacs: ah
21:07:05  <isaacs>yeah
21:07:11  <isaacs>you HAVE to open with a
21:07:25  <isaacs>or, like, O_WRONLY or O_RDWR
21:07:28  <isaacs>butnot O_TRUNC
21:07:33  <piscisaureus_>isaacs: open with r+?
21:07:46  <piscisaureus_>isaacs: when I open the file with GENERIC_WRITE instead of FILE_APPEND_DATA then the file won't be append-only
21:07:48  <isaacs>piscisaureus_: i'd call that test failure a valid failure.
21:08:10  <isaacs>piscisaureus_: oh, i see, windows treats 'a' as if it's got an append_only flag on the file.
21:08:15  <piscisaureus_>yes
21:08:20  <isaacs>fucking moon operating system.
21:08:23  <isaacs>:)
21:08:40  <piscisaureus_>isaacs: its very useful - you can be sure that you can have multiple writers that never get in each others way
21:08:41  <isaacs>is there a way to simulate open(p, 'a') that doesn't set FILE_APPEND_DATA?
21:08:46  <isaacs>piscisaureus_: sure.
21:09:00  <piscisaureus_>isaacs: hmm, well, not really :-)
21:09:03  <isaacs>piscisaureus_: i mean, on unix you can do that too, you just do it by setting the file flags tomake it append-only
21:09:17  <isaacs>piscisaureus_: we could always get the file size and seek to the end, but that sucks
21:09:20  <isaacs>especially for big files
21:09:23  <piscisaureus_>isaacs: that's not atomic
21:09:26  <isaacs>right
21:09:28  <isaacs>for starters :)
21:09:41  <piscisaureus_>isaacs: that's a way I could fix it on windows; but I feel we lose more than we win
21:09:47  <isaacs>yeah..
21:09:54  <isaacs>just thinking through the solution space.
21:10:27  <piscisaureus_>isaacs: on windows you have the option to open with FILE_APPEND_DATA (append-only, no ftruncate) and FILE_GENERIC_WRITE (position matters, ftruncate works)
21:10:57  <piscisaureus_>isaacs: when I open with r+ then it works
21:11:05  <isaacs>piscisaureus_: and FILE_GENERIC_WRITE doesn't truncate automatically?
21:11:11  <isaacs>ie, it's not O_TRUNC
21:11:16  * isaacsshrug
21:11:20  <isaacs>sure, change it to r+
21:11:24  <piscisaureus_>isaacs: no, but node's "w" flag sets O_TRUNC too
21:11:29  <isaacs>yeah
21:11:31  <isaacs>that's standard.
21:11:53  <isaacs>i know it wasn't node's innovation, but i really feel we gave up a lot when we went with string modes rather than the constants
21:12:03  <piscisaureus_>yep :-)
21:12:12  <isaacs>O_TRUNC|O_CREAT|O_WRONLY is very clear
21:12:29  <piscisaureus_>very verbose, too
21:12:31  <piscisaureus_>but indeed
21:12:33  * isaacsshrug
21:12:40  <isaacs>if you don't want verbosity, why are you calling open yourself?
21:12:50  <isaacs>rather than fs.createWriteStream() or fs.writeFile?
21:12:57  <piscisaureus_>isaacs: let me dig once more
21:13:10  <isaacs>piscisaureus_: if you change the test to r+, i'm ok with that, i guess.
21:13:11  <piscisaureus_>it might work to set the file position to (uint64_t) -1
21:13:27  <piscisaureus_>isaacs: but that would be undocumented windows behaviour :-)
21:13:33  <isaacs>piscisaureus_: right, so that loses a lot
21:13:41  <isaacs>piscisaureus_: also, what if the file actually is bigger than that?
21:13:54  <piscisaureus_>isaacs: larger than (uint64_t) -1 ?
21:14:00  <piscisaureus_>isaacs: well, then you're out of luck
21:14:02  <isaacs>i mean, the nice thing about O_APPEND is that it doesn't matter how big it is
21:14:04  <piscisaureus_>and probably using zfs :-)
21:14:19  <isaacs>when we have 10000 zetabyte files, it'll be a problem.
21:14:34  <piscisaureus_>isaacs: I will start thinking about this when you buy me a hard disk that has 1/1000th of the capacity needed for that
21:14:39  <isaacs>O_APPEND just says, "don't tell me how big it is, just go to the end wherever that is
21:14:45  <isaacs>piscisaureus_: our code must go to the stars.
21:14:52  <piscisaureus_>isaacs: yeah. I suppose it will suck in 2091
21:14:57  <isaacs>piscisaureus_: sersly.
21:15:08  <isaacs>piscisaureus_: i don't want to be cursed by my descendents!
21:15:12  <isaacs>don't you want immortality?
21:15:20  * isaacstrollin
21:15:26  <isaacs>r+ is fine
21:15:36  <isaacs>we should probably document somewhere that 'a' is different on windows and unix
21:15:43  <isaacs>even though most people will never care.
21:15:55  <isaacs>no one actually uses ftruncate anyway
21:16:04  <piscisaureus_>ha
21:16:05  <piscisaureus_>"To write to the end of file, specify both the Offset and OffsetHigh members of the OVERLAPPED structure as 0xFFFFFFFF. This is functionally equivalent to previously calling the CreateFile function to open hFile using FILE_APPEND_DATA access."
21:16:21  <piscisaureus_>isaacs: another problem, since libuv doesn't track file state we never know when to do that
21:16:47  <isaacs>heh
21:16:55  <piscisaureus_>isaacs: let's fix this when libuv starts using file handles instead of fds (because then we can properly track the intended open mode for files)
21:16:56  <isaacs>exactly your suggestion of uint64_t - 1?
21:17:00  <piscisaureus_>yes
21:17:02  <isaacs>nice
21:17:13  <isaacs>so it's NOT undocumented!
21:17:20  <isaacs>yeah
21:17:30  <piscisaureus_>no, I am surprised
21:17:34  <isaacs>you still wanna do that thing where we serialize operations per fd, right?
21:17:49  <piscisaureus_>yeah, if I ever find the time ... :-S
21:17:52  <isaacs>so fs.open('foo', function (fd) { fs.write(fd, 'foo'); fs.close(fd) }) doesn't race?
21:18:00  <piscisaureus_>even this
21:18:17  * AvianFluquit (Quit: AvianFlu)
21:18:18  <piscisaureus_>f = fs.open('foo');
21:18:19  <piscisaureus_>f.write('kaka')
21:18:20  <piscisaureus_>yep
21:18:24  <isaacs>sure.
21:18:32  <isaacs>so fs.open returns a stream?
21:18:44  <piscisaureus_>isaacs: stream++ :-)
21:18:54  <piscisaureus_>isaacs: it would be nice to do stuff like
21:19:00  <isaacs>i mean, f = fs.createWriteStream('foo'); f.write('kaka')
21:19:02  <isaacs>that works today
21:19:17  <isaacs>we could just add stuff like f.stat(), f.truncate(), etc.
21:19:20  <piscisaureus_>f = fs.open('bla');
21:19:20  <piscisaureus_>f.read(9403, 2193, function(err, buf) {
21:19:31  <isaacs>hm.
21:19:34  <piscisaureus_>read 2193 bytes at offset 9403
21:19:37  <isaacs>would you be ok with:
21:19:41  <piscisaureus_>no
21:19:43  <piscisaureus_>:-p
21:19:49  <piscisaureus_>ok, bring it on
21:20:00  <isaacs>f = fs.open('bal'); f.seek(9403); f.read(2193, function (er, buf) {...})?
21:20:06  <piscisaureus_>oh, sure
21:20:29  <piscisaureus_>isaacs: the only problem here: the read method collides with your sync read() method
21:20:34  <isaacs>i mean, basically, this is almost the proposed readable stream interface for 0.9
21:20:36  <isaacs>piscisaureus_: right
21:20:46  <isaacs>that was my next "are you ok with..." question :)
21:20:52  <piscisaureus_>well
21:21:03  <piscisaureus_>state your next question then
21:21:12  <piscisaureus_>api design is the hardest part
21:21:15  <isaacs>f = fs.open('bal'); f.seek(9403); buf = f.read(2193); f.once('readable', readSomeMore)
21:21:25  <isaacs>it's more verbose for these little hello world examples
21:21:33  <isaacs>but it's actually a lot nicer for more complex program.s
21:21:54  <piscisaureus_>isaacs: yeah well there's a complication
21:22:09  <piscisaureus_>isaacs: so you want f.seek() to implicitly read some amount of X bytes?
21:22:15  <piscisaureus_>because otherwise it'd never be readable
21:22:28  <piscisaureus_>I mean, this is the problem that the epoll/kqueue/select model doesn't work for files :-)
21:22:32  <isaacs>piscisaureus_: yeah, seek() should probably kick off a new read
21:22:40  <isaacs>piscisaureus_: it works sorta
21:22:41  <piscisaureus_>isaacs: what if you want to write?
21:22:53  <isaacs>piscisaureus_: then you need to open it with a mode that supports writing
21:23:02  <isaacs>piscisaureus_: adn then it'll pick up the writeable stream interface as well
21:23:08  <isaacs>ie, a write() method, .end(), etc.
21:23:09  <piscisaureus_>isaacs: what if you open with r+
21:23:14  <isaacs>piscisaureus_: that'd count
21:23:23  <piscisaureus_>isaacs: and you intent to write at position x?
21:23:29  <piscisaureus_>the seek would implicitly read
21:23:32  <piscisaureus_>waste of time
21:23:37  <isaacs>piscisaureus_: we'll have to sort that all out
21:23:42  <isaacs>piscisaureus_: probably belongs in userland first.
21:23:54  <piscisaureus_>hmm
21:24:05  <piscisaureus_>isaacs: I suppose we could rename read() to pread()
21:24:14  <isaacs>piscisaureus_: sure, could do that
21:24:23  <isaacs>so read(n) just reads n bytes at that position
21:24:27  <isaacs>pread() seeks first
21:24:34  <isaacs>OOS for 0.9
21:24:38  <isaacs>but maybe for 1.0
21:24:39  <isaacs>we'll see
21:24:48  <isaacs>piscisaureus_: are you coming to summer camp?
21:24:54  <piscisaureus_>no
21:25:02  <isaacs>ToT
21:25:21  <isaacs>for shame.
21:25:21  <piscisaureus_>ehm is that in the dictionary?
21:25:39  <isaacs>ToT == two squinted eyes, tears streaming down, with an open mouth crying
21:25:45  <piscisaureus_>well, don't do summer camps 12hrs+ flight from here :-(
21:26:28  <isaacs>piscisaureus_: i'd have more sympathy for that statement if i wasn't going to be in ireland the day before summer camp ;P
21:26:50  <piscisaureus_>isaacs: for what?
21:27:04  <piscisaureus_>isaacs: you should come to amsterdam
21:27:08  <piscisaureus_>much nicer than ireland
21:27:15  * rendarquit
21:27:16  <isaacs>piscisaureus_: for funconf
21:27:23  <piscisaureus_>ghe lol
21:27:39  <isaacs>yeah, not exactly hard workin :)
21:28:11  <piscisaureus_>isaacs: next week you're on spring break right?
21:28:19  <isaacs>hahah
21:31:02  <mitsuhiko>why is it that every single ssl library either sucks or is very platform specific and/or has a shitty license?
21:31:36  <bnoordhuis>http://news.ycombinator.com/item?id=4445701 <- 12 Interesting C Interview Questions and Answers
21:31:46  <bnoordhuis>s/Interesting/bad/
21:31:59  <bnoordhuis>some of the answers are flat out wrong too...
21:32:43  <mitsuhiko>I have yet to see a N questions post that was actually reasonable
21:33:16  <mitsuhiko>and I think it's mainly because the person starts out with picking a value for N and then does not find enough questions to satisfy N
21:33:36  <bnoordhuis>i'll pick 0 for N then :)
21:35:54  <mitsuhiko>0 reasons why c++ is a horrible language
21:35:57  <mitsuhiko>sounds about right
21:38:44  <isaacs>bnoordhuis: it's a meta interview approach
21:39:10  <isaacs>bnoordhuis: the much better interview question is, "What problems do you see with using these questions in a job interview?"
21:39:14  <bnoordhuis>INT_MAX+1 interesting c interview questions!
21:39:34  <isaacs>bnoordhuis: -1 interview questions?
21:39:40  <isaacs>you mean i have to ask YOU one?
21:39:45  <mmalecki>bnoordhuis: isn't it INT_MIN + 1?
21:39:50  <mmalecki>or INT_MIN?
21:39:58  <bnoordhuis>it's a joke, signed overflow is undefined :)
21:40:11  <mmalecki>in C?
21:40:14  <bnoordhuis>yep
21:40:19  <mmalecki>oh.
21:40:20  <mmalecki>okay.
21:40:34  <bnoordhuis>blame 1's complement machines
21:40:50  <mmalecki>god brb, talking to my bank. music is over.
21:41:24  <isaacs>piscisaureus_: eta on sign-off for windows goodness?
21:41:29  <isaacs>piscisaureus_: or can we roll on forward?
21:43:09  * tomshredsjoined
21:50:53  <mmalecki>would YOUR bank call you at midnight?
21:52:33  <mitsuhiko>would I *want* my bank to call me>
21:53:03  <mmalecki>well, I kind of do, they owe me money
21:53:11  <mitsuhiko>fair enough
21:53:31  * dshaw_quit (Quit: Leaving.)
21:57:32  * dshaw_joined
22:06:26  * brsonquit (Ping timeout: 240 seconds)
22:07:22  * brsonjoined
22:18:10  <piscisaureus_>isaacs: https://github.com/joyent/libuv/issues/539
22:18:14  <piscisaureus_>isaacs: sorry, I was afk
22:18:14  <CIA-131>node: Bert Belder master * r143e9be / test/simple/test-fs-truncate.js : test: make test-fs-truncate pass on windows - http://git.io/jyNBQw
22:18:32  <piscisaureus_>isaacs: just push forward with the release, I have about 5 failures but I don't want to keep you waiting
22:18:47  <piscisaureus_>isaacs: I can start fixing them one by one, there's no big leaps to be made
22:19:46  * AvianFlujoined
22:27:13  <isaacs>kewl.
22:27:15  <isaacs>moving ahead.
22:29:07  * brsonquit (Ping timeout: 252 seconds)
22:29:52  <CIA-131>node: isaacs v0.9.1-release * re6ce259 / (ChangeLog src/node_version.h): 2012.08.28, Version 0.9.1 (Unstable) - http://git.io/arSiHQ
22:30:13  * brsonjoined
22:33:09  <CIA-131>node: isaacs master * re6ce259 / (ChangeLog src/node_version.h): 2012.08.28, Version 0.9.1 (Unstable) - http://git.io/arSiHQ
22:33:10  <CIA-131>node: isaacs master * r1550dda / (ChangeLog src/node_version.h): Merge branch 'v0.9.1-release' - http://git.io/nslCZw
22:33:10  <CIA-131>node: isaacs master * r459717e / src/node_version.h : Now working on 0.9.2 - http://git.io/zZH1Wg
22:34:31  * TheJHquit (Ping timeout: 268 seconds)
22:35:55  <CIA-131>node: isaacs v0.8 * r0ef1e5b / doc/blog/release/v0.9.1.md : blog: Post for 0.9.1 release - http://git.io/FyoW0w
22:38:10  * beachdogquit (Remote host closed the connection)
22:42:06  <piscisaureus_>hmm, test-child-process-fork-net catches a crasher
22:44:25  * beachdogjoined
22:44:29  * beachdog_quit (Ping timeout: 248 seconds)
22:47:26  * brsonquit (Ping timeout: 240 seconds)
22:49:03  * isaacsaway for a bit
22:59:43  * brsonjoined
23:08:19  <piscisaureus_>hmm it's too late to fix this
23:10:02  <piscisaureus_>bnoordhuis: http://www.meetup.com/amsnode/events/64063912/
23:10:21  <bnoordhuis>piscisaureus_: you want to go?
23:10:27  <piscisaureus_>I might
23:10:44  <bnoordhuis>talk #3 might be interesting
23:10:47  <piscisaureus_>if you are coming to 020 then you should come thursday, I wont be in the office friday probably
23:11:25  <bnoordhuis>piscisaureus_: i will. i have to babysit friday anyway
23:11:33  <bnoordhuis>*on friday
23:11:44  <piscisaureus_>papadag muhaha
23:15:32  * brsonquit (Read error: Operation timed out)
23:15:48  * brsonjoined
23:22:21  <rvagg>just out of interest, why is c-ares being shifted out from libuv up into Node?
23:24:11  * dshaw_quit (Quit: Leaving.)
23:24:36  <bnoordhuis>rvagg: because it no longer needs to be bundled
23:25:01  <rvagg>so libuv isn't doing any resolution stuff anymore?
23:25:03  <bnoordhuis>rvagg: before we had uv_poll_t, you could not use c-ares without libuv explicitly supporting it
23:25:18  <rvagg>ah, ok
23:25:19  <bnoordhuis>only uv_getaddrinfo()
23:31:11  * tomshredsquit (Quit: Linkinus - http://linkinus.com)
23:34:15  <piscisaureus_>rvagg: if you need c-ares you can just add c-ares to your library. glueing the two together is really not hard
23:34:45  <rvagg>piscisaureus_: no, I was just interested if there was something philosophical about the role of libuv vs Node-core that I'm missing
23:34:51  * ericktquit (Quit: erickt)
23:35:33  <piscisaureus_>rvagg: we like to keep libuv small. Adding a full dns library to it didn't feel like the right thing to do
23:36:44  <piscisaureus_>bnoordhuis: hey
23:36:49  <piscisaureus_>bnoordhuis: https://github.com/v8/v8/commit/0da07d95b12dbf7c79b6af9261cdf1e43b2a1496#L7R94 <-- eh??
23:36:49  <bnoordhuis>piscisaureus_: ho
23:37:08  <piscisaureus_>bnoordhuis: or am I missing something obvious
23:37:17  <bnoordhuis>piscisaureus_: likely
23:37:28  <piscisaureus_>bnoordhuis: that is a no-op right?
23:37:50  <bnoordhuis>no, Call expands to some_function()
23:38:01  <bnoordhuis>piscisaureus_: ^
23:38:05  <piscisaureus_>ah, right, it's a macro parameter. Sorry
23:38:14  <ryah>that horrible
23:38:18  <ryah>'s
23:38:48  <rvagg>piscisaureus_: I guess when c-ares does it nicely-enough then it doesn't need to be in libuv!
23:49:32  <ryah>i don't like the "node -p"
23:49:40  <ryah>it doesn't make sense
23:49:43  <ryah>isaacs--^
23:49:53  <ryah> -e, --eval script evaluate script
23:49:53  <ryah> -p, --print print result of --eval
23:50:03  <ryah>-p by itself doesn't do anything
23:50:17  <ryah>why not -E evaluate and print script
23:51:25  <piscisaureus_>ryah: node -pe does that :-)
23:51:58  <ryah>yeah, but that seems wrong
23:52:07  <ryah>bnoordhuis: back me up here
23:52:15  <bnoordhuis>ryah: actually... i added -pe
23:52:19  <ryah>-_-
23:52:39  <bnoordhuis>but that was because i was tired of typing -p -e all the time
23:52:59  <ryah>i dont think you should have an option which doesn't do anything by itself
23:53:05  <ryah>*should not
23:53:10  <ryah>er
23:53:20  <ryah>getting my negatives all fucked up
23:53:47  <ryah>why not just "node -p process.env"
23:53:51  * paddybyersquit (Quit: paddybyers)
23:54:12  <bnoordhuis>why not indeed?
23:54:55  <piscisaureus_>keep -pe arount please
23:55:04  <piscisaureus_>The crowd called for more ♫