11:01:48  <mmalecki>sup slurp
11:02:00  <einaros>mmalecki: I never found a reason to npm it, since that other node-irc was there already
11:02:16  <einaros>https://github.com/einaros/node-irc/blob/master/demo.js
11:02:58  <piscisaureus_>anyway, I am not desperate to rewrite the thing using another irc library
11:03:11  * einaroswon't suggest that you do :)
11:03:22  <piscisaureus_>I like the auto backup feature that I have
11:03:50  <piscisaureus_>https://github.com/piscisaureus/slurp-logs
11:04:06  <piscisaureus_>If I can have that with nodejitsu too I'm sold
11:04:54  <mmalecki>piscisaureus_: it spawns git, right?
11:05:00  <piscisaureus_>yep
11:05:37  <mmalecki>piscisaureus_: sure, we even had some way to store private keys
11:06:03  <piscisaureus_>mmalecki: the thing is, it only works because I store the logs as plain text files
11:06:13  <piscisaureus_>that won't work if I'm forced to use some database
11:07:17  <mmalecki>piscisaureus_: hm, we could have him `git clone` that on startup
11:07:50  <piscisaureus_>mmalecki: yeah that works but I do not spawn git on every message
11:08:09  <piscisaureus_>so when nodejitsu makes me switch servers I will lose the last (up to) 8 hours of messages
11:10:31  <mmalecki>that's an interesting problem
11:10:38  <mmalecki>process.on('exit') obviously wouldn't work
11:30:55  * piscisaureus__joined
11:31:24  * piscisaureus_quit (Ping timeout: 244 seconds)
11:34:33  * piscisaureus___joined
11:34:41  * piscisaureus___changed nick to piscisaureus_
11:36:48  * piscisaureus__quit (Ping timeout: 240 seconds)
12:04:19  * washbucketquit (Ping timeout: 240 seconds)
12:05:48  * washbucketjoined
12:07:58  * bnoordhuisjoined
12:08:29  <piscisaureus_>bnoordhuis: hey
12:08:35  <bnoordhuis>piscisaureus_: ho
12:08:36  * piscisaureus_changed nick to piscisaureus
12:08:41  <piscisaureus>bnoordhuis: lekker geslapen?
12:08:46  <bnoordhuis>piscisaureus: als een engeltje
12:08:59  <piscisaureus>mooi
12:09:19  <piscisaureus>bnoordhuis: can you tell me what happened when I was away?
12:09:30  <piscisaureus>bnoordhuis: btw - I am going to create a shared implementation of c-ares
12:09:36  <bnoordhuis>piscisaureus: pretty much nothing
12:09:42  <piscisaureus>(as an intermediate step towards removing it)
12:09:54  <piscisaureus>bnoordhuis: I saw you landed the refcount refactor?
12:09:56  <bnoordhuis>using uv_poll?
12:09:59  <bnoordhuis>yeah, i did
12:09:59  <piscisaureus>yep
12:10:18  <piscisaureus>I have a couple of comments. It seems that uv-win and -unix deal with processes differently
12:10:26  <piscisaureus>well, that's the only comment I have now
12:10:53  <piscisaureus>also, this issue where uv_is_closing and uv_is_active are mutually exclusive needs to be resolved
12:10:57  <piscisaureus>(on windows)
12:11:03  * theCole_joined
12:11:08  * deoxxajoined
12:12:53  <bnoordhuis>piscisaureus: okay. i'm listening
12:13:13  <piscisaureus>bnoordhuis: ok so that were the only comments i had :-)
12:13:25  <piscisaureus>bnoordhuis: did someone start adapting node for the refcount refactor yet?
12:13:39  <bnoordhuis>piscisaureus: working on it
12:13:49  <bnoordhuis>down to two or three failing tests
12:13:51  <piscisaureus>oh and we have to get rid of UV_LEAN_AND_MEAN
12:13:53  <piscisaureus>no high prio tho
12:14:15  <bnoordhuis>had to disable the gc timer btw
12:14:33  <piscisaureus>refcount issues?
12:14:47  <bnoordhuis>well... it was making node use 100% cpu
12:14:58  <piscisaureus>I remember the gc timer caused a lot of headache when we switched from ev to uv
12:15:02  <bnoordhuis>exactly
12:15:11  <bnoordhuis>it could be a bug in libuv or in node
12:15:15  <bnoordhuis>need to look into it more
12:16:09  * abraxasquit (Remote host closed the connection)
12:16:26  <piscisaureus>ares_gethostbyname: 3559 req/s
12:16:31  <piscisaureus>let's see how well uv_poll does :-)
12:21:12  <einaros>piscisaureus: should that log bot of yours fail at some point, there's also http://oi.x2.2x.io/%23libuv from now on
12:21:51  <piscisaureus>ah cool
12:21:54  <piscisaureus>backups ftw
12:22:09  <piscisaureus>slurp looks better btw :-p
12:22:25  <einaros>where are your logs at?
12:22:33  <piscisaureus>piscisaureus.no.de
12:23:07  <einaros>mine is retro :D
12:23:23  <piscisaureus>undeniably
12:24:10  * theCole_part
12:24:29  <einaros>not only is it retro - it has a faulty parser
12:24:30  <einaros>hrm
12:27:00  <bnoordhuis>https://github.com/joyent/node/issues/3299 <- this guy...
12:27:11  <bnoordhuis>he's opened several issues in the last few days
12:27:24  <bnoordhuis>and i don't understand any of them
12:28:22  <deoxxa>i think he wants the harmony stuff backported from 0.7 to 0.6..?
12:28:27  <deoxxa>does 0.7 have harmony stuff?
12:29:04  <einaros>a shared --harmony flag to activate everything, yeah
12:29:28  <deoxxa>oh wow
12:30:25  <piscisaureus>bnoordhuis: this one -> https://github.com/joyent/node/issues/3292
12:30:38  <bnoordhuis>piscisaureus: yeah, that one too
12:30:42  <piscisaureus>bnoordhuis: it really makes my head spin
12:30:48  <bnoordhuis>likewise :)
12:31:27  <deoxxa>oh this guy
12:31:40  <deoxxa>yeah he was in #node.js the other day going on about this idea
12:32:46  * washbucketquit (Quit: reloading stuff)
12:33:01  * washbucketjoined
12:34:06  * washbucketquit (Client Quit)
12:34:24  * washbucketjoined
12:42:07  * irajoined
12:52:23  <piscisaureus>#define container_of(ptr, type, member) ({ \
12:52:23  <piscisaureus> const typeof( ((type *)0)->member ) *__mptr = (ptr);
12:52:23  <piscisaureus> (type *)( (char *)__mptr - offsetof(type,member) );})
12:52:38  <piscisaureus>^-- bnoordhuis: is that the canonical container_of implementation
12:52:50  <piscisaureus>it is a unix-ism so I have to add it to uv-common.h
12:53:17  <piscisaureus>bleh offsetof is also a unix-ism
12:53:31  <piscisaureus>hmm
12:53:32  <piscisaureus>maybe not
12:53:48  <piscisaureus>stddef,h
12:53:51  <bnoordhuis>offsetof lives in stddef.h
12:53:54  <bnoordhuis>exactly :)
12:54:17  <bnoordhuis>that container_of implementation you just pasted is a gcc-ism
12:54:34  <piscisaureus>yep
12:54:56  <piscisaureus>the microsoft-ism is http://msdn.microsoft.com/en-us/library/windows/hardware/ff542043%28v=vs.85%29.aspx
12:55:49  <bnoordhuis>CONTAINING_RECORD... msft isn't really into short names, is it?
12:56:04  <bnoordhuis>anyway, there's a 'works everywhere' container_of implementation in src/unix/internal.h
12:56:13  <piscisaureus>let's add container_of to uv-common.h
12:56:22  <piscisaureus>so I can use that on windows
12:56:24  <piscisaureus>and in shared code
12:56:35  <indutny>omg, msft is so all-caps
12:56:50  <piscisaureus>macros should be caps
12:58:25  <indutny>types should be caps too
12:58:37  <indutny>PCHAR, ULONG
13:04:31  <bnoordhuis>piscisaureus: http://code.google.com/p/v8/issues/detail?id=2098 <- see? it works
13:04:51  <bnoordhuis>i like how i name every patch file patsje.patch :)
13:05:30  <piscisaureus>bnoordhuis: what works?
13:05:49  <bnoordhuis>submitting patches through the bug tracker
13:06:50  <indutny>bnoordhuis: ++
13:07:07  <indutny>bnoordhuis: is it fixing some oddity in debugger behaviour that we had seen?
13:07:25  <bnoordhuis>indutny: yes
13:07:39  <bnoordhuis>signals would more or less stop the debugger dead in its tracks
13:07:39  <indutny>good
13:07:50  <indutny>ah, I seen that issue on github
13:08:00  <indutny>crap, forgot about it, sorry
13:08:08  <bnoordhuis>np, it was pretty straightforward to fix
13:11:35  <piscisaureus>hmm
13:12:20  <piscisaureus>anyone seen the http client dying with ETIMEDOUT?
13:12:30  <piscisaureus>(when the server was actually reachable?)
13:14:53  <indutny>could you guys assist me?
13:14:55  <indutny>https://gist.github.com/2294039#L33
13:16:10  <indutny>should I just put fd of *Wrap into libuv's process_options stdio list?
13:16:16  <indutny>bnoordhuis: piscisaureus ^
13:16:51  <bnoordhuis>indutny: what fd?
13:17:00  <bnoordhuis>the fd field is unix specific
13:17:01  <indutny>Any HandleWrap object - If the object is a HandleWrap object,
13:17:01  <indutny> then the underlying TCP, Pipe, or File handle is shared with the
13:17:01  <indutny> child process.
13:17:10  <indutny>oh crap, you're right. that's why I'm asking
13:18:26  <indutny>so what can I do then?
13:18:40  <bnoordhuis>piscisaureus: ^ you should answer that
13:19:35  <indutny>well, I can just extract uv_handle_t or even uv_stream_t from *Wrap
13:19:56  <bnoordhuis>i wager that it has to be a uv_stream_t
13:20:03  <indutny>but that means that we should make uv_spawn accept uv_stream_t as stdios
13:20:41  <bnoordhuis>we discussed that in the issue, right? uv_stream_t instead of uv_pipe_t?
13:21:10  <indutny>yeah
13:21:27  <indutny>but hadn't came up to anything as I can remember
13:21:48  <bnoordhuis>well, it still sounds like a good idea to me
13:21:53  <indutny>ok
13:21:55  <indutny>I'll do that then
13:22:01  <indutny>igorzi__: ^^
13:36:05  <indutny>bnoordhuis: actually, I'm quite curious about the process of sharing TCP or other already opened stream with a child_process
13:36:16  <bnoordhuis>indutny: what do you want to know?
13:36:18  <indutny>bnoordhuis: should it be reconstructed in child process?
13:36:36  <indutny>bnoordhuis: how should child process get it
13:36:42  <indutny>bnoordhuis: get it/know about it
13:36:59  <bnoordhuis>indutny: it kind of depends
13:37:14  <bnoordhuis>you're talking about streams in the context of uv_spawn, right?
13:37:28  <indutny>bnoordhuis: well, there're two sides: node's core and uv
13:37:59  <indutny>but yeah, if I'll get how it should work with uv_spawn, I'll elevate this experience to node
13:39:36  <bnoordhuis>okay
13:39:54  <bnoordhuis>passing tcp streams to uv_spawn doesn't really make sense, i think
13:40:05  <bnoordhuis>but uv_pipe and uv_tty do
13:40:34  <bnoordhuis>actually, piscisaureus should be able to answer this better, he was more involved
13:40:47  <indutny>how would it work with existing uv_pipe? should I `splice()` contents of it into newly created pipe
13:40:53  <indutny>ah ok
13:41:19  <indutny>ircretary: please tell piscisaureus to ping me once he'll get back. I need to discuss uv_spawn and node's core details with him
13:41:19  <ircretary>indutny: I'll be sure to tell piscisaureus
13:41:40  <indutny>this is really scary https://github.com/joyent/node/pull/3300/files
13:41:45  <indutny>I don't understand what he wants
13:41:48  * c4milojoined
13:45:40  <piscisaureus>bnoordhuis indutny: sorry I am afk for a while... bb soon
13:45:46  <indutny>piscisaureus: ok
13:46:01  <bnoordhuis>indutny: yeah, that guy....
13:46:28  <bnoordhuis>indutny: it's from this issue -> https://github.com/joyent/node/issues/3299
13:46:41  <indutny>hahahaha
13:46:49  <indutny>bnoordhuis: crap, I've just closed another one
13:48:11  <bnoordhuis>indutny: you mean one of his issues? probably no great loss
13:48:22  <bnoordhuis>i mean, no doubt he means well but...
13:49:25  <indutny>well, his english is much better in yours one
13:49:45  <indutny>https://github.com/joyent/node/issues/3297
13:49:53  <indutny>bnoordhuis: try to understand this ^
13:50:31  <bnoordhuis>hah, that one - yeah, we're not going to do that either :)
13:50:37  <indutny>hahahaha
13:50:45  <indutny>A favorite quote: "JSON.stringify it's alternative .NET Serialization namespace"
13:51:37  <indutny>guess he's using some sort of text translation utility
13:53:26  <CIA-155>libuv: Frank Denis master * rd27a62d / include/uv-private/uv-unix.h : unix: fix build on dragonfly bsd - http://git.io/WbViNA
13:55:23  * travis-cijoined
13:55:23  <travis-ci>[travis-ci] joyent/libuv#290 (master - d27a62d : Frank Denis): The build is still failing.
13:55:23  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/e82d464...d27a62d
13:55:23  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1389108
13:55:23  * travis-cipart
13:55:34  <deoxxa>woo
13:55:35  <deoxxa>a thing
14:04:39  * isaacsjoined
14:05:27  <indutny>isaacs: heya
14:05:37  <isaacs>yo
14:05:57  <indutny>isaacs: could you please assist me, I'm trying to figure out what's the purpose of sharing TCP and file streams with child process
14:06:14  <indutny>isaacs: should they be piped into it's newly created stdios?
14:06:29  <indutny>isaacs: or just act like user was passing { fd: number }
14:06:45  <isaacs>indutny: it should be like the user was passing { fd: number }
14:07:02  <indutny>isaacs: ah, ok. I'm asking because comment here is quite vague https://gist.github.com/2294039#L33
14:07:39  <isaacs>indutny: ah, i see. yeah, that's kind of vague
14:07:42  <isaacs>"shared" is not clear enough
14:07:46  <indutny>yes
14:07:49  <indutny>isaacs: ok, thank you!
14:07:51  <isaacs>* `inherit` --> [process.stdin, process.stdout, process.stderr] == [0,1,2]
14:08:03  <isaacs>that is, passing process.stdin is the same as passing 0
14:08:04  <indutny>yep, that was especially confusing :D
14:11:37  <piscisaureus>indutny: do I still have to answer any questions?
14:11:47  <piscisaureus>indutny: or were they answered by ben / isaac already?
14:11:50  <indutny>piscisaureus: no, isaacs had clarified everything
14:11:54  <indutny>piscisaureus: thank you
14:12:12  <piscisaureus>indutny: np. Sorry, I had to help some people track down a random error
14:12:21  <indutny>random people :D
14:12:24  <indutny>I guess
14:12:30  <indutny>haha
14:12:32  <indutny>ok, np
14:12:34  <piscisaureus>indutny: coworkers actually
14:12:43  <indutny>just kidding, I understand
14:13:02  <indutny>no offense
14:13:12  <bnoordhuis>piscisaureus is not easy to offend
14:13:16  <bnoordhuis>i've toughened him up
14:13:29  <indutny>bnoordhuis: well, if you can't do it - I won't even try
14:13:41  <piscisaureus>bnoordhuis: he was actually calling my colleauges "random people"
14:13:53  <piscisaureus>bnoordhuis: so who was being offended here?
14:14:05  <piscisaureus>*colleagues
14:14:11  <bnoordhuis>not me
14:14:16  <bnoordhuis>and in the end, that's all that matters
14:14:33  <einaros>bnoordhuis: did web rebels manage to trick you into speaking at their conference?
14:14:52  <bnoordhuis>einaros: ehm... refresh my memory? web rebels rings a bell
14:15:11  <einaros>http://webrebels.org
14:15:26  <bnoordhuis>oh that, no
14:15:27  <einaros>a speaker called in sick, so they wanted to get either of you to speak there on thursday or friday
14:15:58  <bnoordhuis>they already have felix, right?
14:16:05  <bnoordhuis>or was felix the guy calling in sick?
14:16:21  <einaros>no, felix is coming
14:19:09  <bnoordhuis>there's probably nothing i can talk about that felix can't do better with his cute german accent
14:19:42  <indutny>piscisaureus: ah, one question
14:19:58  <indutny>piscisaureus: do TCP and File streams on windows have some sort of FDs?
14:20:26  <indutny>piscisaureus: I need to get some number that is identifying them https://gist.github.com/2294039#L39
14:20:30  <indutny> /cc isaacs ^
14:20:33  <indutny>brb
14:24:09  <bnoordhuis>creationix: you and i both
14:28:34  <piscisaureus>indutny: yeah *some sort* of id's yes
14:28:44  <piscisaureus>indutny: we use actual FDs for files atm (but this will change)
14:29:29  <piscisaureus>indutny: 8. Any {fd:<positive integer>} object - If the object has an ingeter `fd` member,
14:29:29  <piscisaureus>then treat this as #4.
14:31:19  <piscisaureus>indutny: that doesn't look correct to me. It should be "treat the same as #5"
14:31:59  <piscisaureus>indutny: also there is no need to actually construct this pipewrap object or do anything with uv_guess_handle ... just pass in the fd as a raw fd
14:32:53  <isaacs>indutny: also, this kind of goes without saying, but anything piscisaureus says about it, or anything you discover to be impossible or a bad idea, overrides the gist. that was written before any code existed.
14:33:24  <piscisaureus>I think we're getting close :_)
14:33:37  <piscisaureus>and I still cannot type a proper dash on this keyboard
14:38:54  * isaacs_joined
14:41:08  <piscisaureus>why are we making ARRAY_SIZE caps and container_of lowercase?
14:41:32  * isaacsquit (Disconnected by services)
14:41:35  * isaacs_changed nick to isaacs
14:42:18  <tjfontaine>historical reasons
14:42:56  <isaacs>piscisaureus: because if C++ wasn't ugly, why would anyone use JavaScript?
14:43:55  <piscisaureus>If people use js because c is ugly, why don't they use dart?
14:44:07  <isaacs>piscisaureus: because it doesn't exist.
14:44:23  <piscisaureus>why don't we make dart?
14:44:31  <isaacs>piscisaureus: because we live in the real world? i dunno.
14:44:46  <bnoordhuis>lljs!
14:44:49  <isaacs>google lives in the future, they can throw engineers at making that a reality someday.
14:45:00  <piscisaureus>true
14:45:20  <bnoordhuis>re container_of: the convention for that particular macro is lowercase, don't ask why
14:45:47  <bnoordhuis>and if you do ask why, also ask why offsetof() is lowercase
14:46:01  <isaacs>bnoordhuis: and sans _
14:46:17  <piscisaureus>it's not: http://msdn.microsoft.com/en-us/library/windows/hardware/ff545727%28v=vs.85%29.aspx
14:46:18  <bnoordhuis>yeah. it's just one of those things, you know
14:46:19  <piscisaureus>:-p
14:46:46  <bnoordhuis>msft reinventing the wheel?
14:46:59  <bnoordhuis>now with more caps?
14:47:06  <piscisaureus>and more _
14:48:33  <deoxxa>__lpszWHEEL
14:49:04  <piscisaureus>ghe
14:49:34  * isaacsquit (Remote host closed the connection)
14:50:47  <piscisaureus>that would be LPSZWHEEL or lpszWheel actually
14:51:27  <deoxxa>you know, i'm actually glad i can't remember exactly how MS coding standards work
14:52:55  <bnoordhuis>use hungarian everywhere and you can't really go wrong
14:53:09  <piscisaureus>I know ways
14:53:20  <piscisaureus>int lpszWheel for example
14:53:57  <piscisaureus>the c++ way is much worse btw
14:54:04  <bnoordhuis>what's the c++ way?
14:54:10  <piscisaureus>m_lpszWheel
14:54:15  <piscisaureus>or g_lpszWheel
14:54:28  <bnoordhuis>that's not the c++ way, it's just a common convention
14:54:42  <bnoordhuis>i personally find it abhorrent but that's just me
14:54:46  <piscisaureus>it's the c++ version of that
14:56:43  <piscisaureus>At my previous previous job we actually used hungarian for a while with great success
14:56:58  <piscisaureus>we were unable to get character sets right (in php)
14:57:34  <piscisaureus>so we started prefixing every string with either u or i (to denote whether the string was in utf8 or iso-something)
14:57:40  <piscisaureus>and that actually helped
14:59:15  <bnoordhuis>yeah, i've seen/used similar conventions
14:59:36  <piscisaureus>it really felt as defeat tho
15:04:37  <bnoordhuis>piscisaureus: you in 020 this wednesday or thursday?
15:04:45  <piscisaureus>yes
15:04:54  <piscisaureus>either
15:04:57  <piscisaureus>both
15:05:03  <bnoordhuis>okay, good. i'll come over
15:13:30  * irachanged nick to ira_afk
15:29:57  <bnoordhuis>igorzi__: the fs_symlink_dir test from 60af28a breaks on unix
15:30:39  <bnoordhuis>i think it's supposed to test junctions?
15:31:38  <bnoordhuis>ASSERT(((struct stat*)req.ptr)->st_size == 22); <- that's what's failing. what exactly is it supposed to test?
15:34:18  * isaacsjoined
15:41:27  <piscisaureus>bnoordhuis: probably it tests that the reported size of a symlink is the size of it's target
15:41:59  <bnoordhuis>piscisaureus: i assumed it was something like that. bad assumption on unices
15:42:17  <piscisaureus>bnoordhuis: as per posix, "The size of a symbolic link is the length of the pathname it contains, without a terminating null byte."
15:50:48  <bnoordhuis>piscisaureus: yes, but... it links to a directory called "test_dir"
15:50:56  <bnoordhuis>hence st_size == 8
15:51:37  <CIA-155>libuv: Ben Noordhuis master * r6fd9bfb / src/unix/core.c : unix: fix event loop block, prepare/check invoke - http://git.io/vC07BQ
15:52:00  <isaacs>piscisaureus: is this for lstat, you're talking about?
15:53:25  * travis-cijoined
15:53:25  <travis-ci>[travis-ci] joyent/libuv#291 (master - 6fd9bfb : Ben Noordhuis): The build is still failing.
15:53:25  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/d27a62d...6fd9bfb
15:53:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1390540
15:53:25  * travis-cipart
16:00:05  <bnoordhuis>piscisaureus: btw, did we get those beagleboards?
16:05:10  * pieternjoined
16:06:56  * isaacsquit (Remote host closed the connection)
16:10:26  <bnoordhuis>piscisaureus: https://github.com/bnoordhuis/node/compare/rr <- you should probably test that
16:10:55  <bnoordhuis>simple/test-next-tick-ordering is still failing but i can't decided if it's a bug or a bad test
16:10:58  <bnoordhuis>*decide
16:12:04  <piscisaureus>bnoordhuis: I don't know about beagle things. ask RIk
16:12:18  <piscisaureus>bnoordhuis: that test is probably bad
16:12:39  * isaacsjoined
16:12:53  <bnoordhuis>i agree. i wonder if people are relying on that behavior though
16:13:03  <piscisaureus>bnoordhuis: lemme try on windows
16:13:04  <bnoordhuis>then again, if they do, they get what they deserve
16:13:52  <isaacs>piscisaureus: don't run slurp on nodejitsu. let's just do a proper smartmachine.
16:14:22  <isaacs>piscisaureus: if you give me your ssh key, i'll add you to the NodeCore account I just created.
16:14:38  <isaacs>bnoordhuis, igorzi__, indutny: you too :)
16:14:50  <bnoordhuis>yay! i feel so in-crowd now!
16:14:54  <indutny>yayayayaya
16:14:56  <indutny>y
16:14:59  <indutny>isaacs: ++
16:15:31  <piscisaureus>isaacs: PM
16:15:47  <piscisaureus>isaacs: you can elect other formats as well (email ?)
16:16:11  <isaacs>i want to build a `make test-remote` (or something) that'll start up smartos, linux, windows vm's, and run the tests.
16:16:11  <bnoordhuis>isaacs: https://gist.github.com/e8a37ac6983f9fd55d4f
16:16:26  <bnoordhuis>piscisaureus: just paste your pubkey into a gist
16:16:48  <bnoordhuis>we'll just assume that the nsa hasn't cracked public/private key encryption yet
16:17:25  <piscisaureus>I wish it was possible to give names to gists
16:18:21  <piscisaureus>https://gist.github.com/2763090
16:18:39  <isaacs>ok, add this to your .ssh/config:
16:18:40  <isaacs>Host umcats
16:18:41  <isaacs> HostName 165.225.130.159
16:18:41  <isaacs> User root
16:18:42  <isaacs> ForwardAgent yes
16:18:55  <isaacs>the ForwardAgent is not strictly necessary, but i like it
16:18:56  <bnoordhuis>piscisaureus: firefox's awesome bar is pretty good at finding back gists if you give them a title
16:21:21  <piscisaureus>isaacs: works
16:21:28  <isaacs>sseet
16:21:29  <isaacs>*sweet
16:21:37  <isaacs>use it for good, not evil.
16:21:56  <piscisaureus>isaacs: so is it shared or private? also what is the public dns name?
16:21:56  <bnoordhuis>where good is the balance of my bank account? no problem
16:22:18  <isaacs>piscisaureus: there is no public DNS name for that zone right now
16:22:51  <piscisaureus>alright
16:24:18  <indutny>isaacs: can't use it :D
16:24:26  <isaacs>indutny: need your ssh key, man
16:24:31  <indutny>isaacs: check your email
16:24:37  <isaacs>oh, you emailed it :)
16:24:38  <isaacs>k
16:24:41  <indutny>:D
16:24:53  <indutny>I still like keeping public things private
16:25:53  <isaacs>hahah
16:26:15  <isaacs>my public keys are very public: https://encrypted.google.com/search?hl=en&q=%22mah%20pubkeyz%22#hl=en&safe=off&sclient=psy-ab&q=%22mah+pubkeys%22&oq=%22mah+pubkeys%22&aq=f&aqi=&aql=&gs_l=serp.3...4945.4982.0.5166.2.2.0.0.0.0.0.0..0.0...0.0.eosI6BjGV50&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=a814da15dae95afa&biw=1158&bih=626
16:26:36  <isaacs>ew, long google url
16:26:36  <isaacs>https://encrypted.google.com/search?hl=en&q=%22mah%20pubkeys%22
16:27:44  * isaacsquit (Remote host closed the connection)
16:27:50  <indutny>hahaha
16:28:02  * isaacsjoined
16:31:59  <indutny>and what I'm supposing to do with that
16:32:01  <indutny>isaacs: ^
16:32:02  <indutny>:D
16:33:14  * ira_afkchanged nick to ira
16:34:03  <isaacs>indutny: with what? the vm? or my pubkeys?
16:34:15  <isaacs>indutny: you should put my pubkeys on every machine everywhere.
16:34:58  <indutny>hahahahahaha
16:35:42  * ericktjoined
16:35:45  <isaacs>indutny: your laptop, phone, web server, customer boxes, jitsu client machines, you name it.
16:36:15  <isaacs>indutny: i tried to convince the folks at joyent to make them a default part of smartos, but they said no.
16:36:19  <CIA-155>node: Oleg Efimov master * r968b49b / (3 files in 2 dirs): Check for tabs in source line in DisplayExceptionLine - http://git.io/zZMMTg
16:36:19  <mmalecki>nodejitsu cluster too?
16:37:17  <piscisaureus>I bet steve jobs' pubkey is still on every iphone
16:37:34  <tjfontaine>how else will he speak to me beyond the grave
16:37:40  * isaacsquit (Remote host closed the connection)
16:38:05  <indutny>mmalecki: I'd already put my key on them
16:38:19  <indutny>mmalecki: so I'll just run puppet script and copy isaacs one
16:38:45  <mmalecki>indutny: puppet? dude, please.
16:38:57  <indutny>eeevil :D
16:39:06  <mmalecki>indutny: you're not up to date on our devops tool man :D
16:39:43  <indutny>I'm just developing those tools
16:39:48  <indutny>while being not up to date
16:39:49  <indutny>:D
16:39:54  <indutny>just kidding
16:40:54  * mikealquit (Quit: Leaving.)
16:42:43  * bnoordhuisis off to dinner
16:56:43  * philipsquit (Excess Flood)
16:59:13  * philipsjoined
17:03:52  * mikealjoined
17:07:55  * elijah-mbpquit (Ping timeout: 246 seconds)
17:12:39  * piscisaureusquit (Read error: Connection reset by peer)
17:12:58  * piscisaureus_joined
17:14:47  * piscisaureus_quit (Read error: Connection reset by peer)
17:15:06  * piscisaureus_joined
17:24:35  * mikealquit (Quit: Leaving.)
17:24:49  * elijah-mbpjoined
17:28:47  <indutny>bnoordhuis: heya
17:28:59  <indutny>bnoordhuis: are we interested in good implementation of set_proc_title for osx?
17:29:03  <indutny>bnoordhuis: without those awful hacks
17:29:12  <indutny>bnoordhuis: because this looks like what we really need http://opensource.apple.com/source/Libc/Libc-583/gen/setprogname-fbsd.c
17:29:25  <indutny>KERN_PROCNAME
17:34:50  <indutny>oh, we don't have any atm
17:44:45  * TheJHjoined
17:48:04  <indutny>bnoordhuis: nvm, it doesn't really works
17:48:04  <indutny>:D
17:49:39  <indutny>everything is broken when it comes to OSX
17:50:27  <igorzi__>bnoordhuis: crap.. that ASSERT(((struct stat*)req.ptr)->st_size == 22); is wrong. i'll fix it
17:50:49  <igorzi__>bnoordhuis: on unix that should be ASSERT(((struct stat*)req.ptr)->st_size == 8), right?
17:51:04  <igorzi__>bnoordhuis: length of "test_dir"
18:00:01  * avalanche123joined
18:02:01  * mikealjoined
18:02:13  * brsonjoined
18:11:22  * AvianFlujoined
18:21:40  * mmaleckiquit (Ping timeout: 260 seconds)
18:22:03  * mmaleckijoined
18:41:58  * kohaijoined
19:11:22  * isaacsjoined
19:20:36  * isaacs_joined
19:22:01  * isaacs_quit (Remote host closed the connection)
19:23:51  * isaacsquit (Ping timeout: 256 seconds)
19:24:08  * mikealquit (Quit: Leaving.)
19:52:13  * mikealjoined
20:11:08  * tunajoined
20:11:08  * mmaleckiquit (Ping timeout: 276 seconds)
20:13:32  * mmaleckijoined
20:18:34  * tunaquit (Quit: Linkinus - http://linkinus.com)
20:25:14  * mmaleckiquit (Ping timeout: 244 seconds)
20:33:29  * mmaleckijoined
20:51:02  * c4miloquit (Read error: Connection reset by peer)
20:51:29  * c4milojoined
20:57:20  <bnoordhuis>igorzi__: yes, that's correct
20:57:37  <igorzi__>bnoordhuis: ok, i'll change that
20:58:29  <bnoordhuis>piscisaureus_: did you get a chance to test my rr branch?
21:09:32  * TooTallNatejoined
21:16:34  <piscisaureus_>bnoordhuis: what needed testing agian?
21:16:47  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/node/compare/rr
21:16:55  * mikealquit (Quit: Leaving.)
21:17:03  <piscisaureus_>bnoordhuis: I know. but there was some particular test, right?
21:17:21  <bnoordhuis>piscisaureus_: oh, you mean simple/test-next-tick-ordering
21:17:26  <piscisaureus_>ah, right
21:17:28  * TheJHquit (Ping timeout: 246 seconds)
21:17:45  <piscisaureus_>Running from main.
21:17:45  <piscisaureus_>Running from nextTick
21:17:45  <piscisaureus_>Running from setTimeout 0
21:17:45  <piscisaureus_>...
21:17:45  <piscisaureus_>Running from setTimeout 29
21:18:05  <piscisaureus_>test-next-tick-ordering2 seems to pass as well
21:19:35  <bnoordhuis>hm okay, guess i'll need to look into that
21:19:40  <bnoordhuis>how about the other tests?
21:20:09  <piscisaureus_>still running
21:21:41  * rendarquit
21:25:02  <bnoordhuis>[$1000] [122337] High CVE-2011-3092: Invalid write in v8 regex. Credit to Christian Holler. <- damnit. i've seen that one too
21:25:12  <bnoordhuis>could've made a cool $1000
21:27:39  <piscisaureus_>[07:28|% 43|+ 173|- 9]
21:30:12  <CIA-155>node: Andreas Madsen master * r81a4edc / (4 files in 3 dirs): cluster: remove NODE_UNIQUE_ID from env on startup - http://git.io/Xc_pdA
21:30:12  <CIA-155>node: Oleg Efimov master * r45de259 / (10 files): Make UNWRAP macro generic. - http://git.io/tpE-mQ
21:30:22  <bnoordhuis>piscisaureus_: how much worse than master is that?
21:30:38  <piscisaureus_>[10:29|% 80|+ 324|- 11]: debug test-setproctitle
21:30:41  <piscisaureus_>still not done
21:31:01  <piscisaureus_>bnoordhuis: so far no unknown failures, and certainly not ones that are likely due to refcount issues
21:31:39  <bnoordhuis>good news
21:32:15  <piscisaureus_>test-net-write-slow and test-http-pipeline-problem failures are still concerning tho
21:32:55  <bnoordhuis>those pass for me
21:33:01  * c4miloquit (Remote host closed the connection)
21:33:12  <piscisaureus_>yeah but they've been consistently failing for me for the past couple of weeks
21:33:32  <bnoordhuis>oh, like that. you should fix that :)
21:33:35  <piscisaureus_>test-tls-server-verify is also hanging, which I have seen happening
21:38:34  <piscisaureus_>bnoordhuis: no fallout from RR or so it seems
21:40:16  <piscisaureus_>I think that is a very good result :-)
21:42:15  <bnoordhuis>yeah, well done
21:43:40  * mikealjoined
21:45:45  <igorzi__>piscisaureus_: hey, can you review this pls? https://github.com/igorzi/libuv/commit/ae89be68e4e89a011c75ec08606332edd82a9045
21:48:37  <piscisaureus_>igorzi__: ok
21:50:13  <piscisaureus_>igorzi__: hey, why do raw fds need to be duplicated?
21:51:16  <piscisaureus_>igorzi__: is that because they will be closed later?
21:59:02  <igorzi__>piscisaureus_: yes
21:59:17  <piscisaureus_>igorzi__: ok. I suppose that wasn't strictly necessary but it won't hurt either.
21:59:33  <piscisaureus_>igorzi__: so, there's 2 more things
22:00:05  <piscisaureus_>people are supposed to be able to pass an set an existing uv_stream_t and uv_spawn will rip out the handle and pass it to the child. Is that supported?
22:00:11  <piscisaureus_>^-- (1)
22:00:42  <igorzi__>piscisaureus_: current api only supports uv_pipe_t and fd
22:00:48  <piscisaureus_>(2) Why is the fact that 0 is write-only and 1/2 are read-only hard-coded
22:01:41  <igorzi__>piscisaureus_: i supposed it doesn't have to be hard-coded.. i was just trying to emulate the behavior that we had before
22:02:49  <piscisaureus_>igorzi__: I think we should just make the readability/writability of the new pipe an option
22:03:18  <piscisaureus_>the fact that 0 is writable and 1/2 are readable is just a convention but it's not mandated
22:03:30  <piscisaureus_>and we actually violate the convention for ipc pipes
22:05:02  <igorzi__>piscisaureus_: sure
22:05:16  <piscisaureus_>igorzi__: or... do you not agree?
22:08:12  <igorzi__>piscisaureus_: no, that makes sense.. i was just going by the behavior that we had before
22:13:26  <piscisaureus_>ares_gethostbyname: 5814 req/s
22:14:27  <piscisaureus_>omg
22:14:32  <piscisaureus_>ares_gethostbyname: 8000 req/s
22:14:47  <bnoordhuis>with uv_poll?
22:14:49  <piscisaureus_>yep
22:14:51  <bnoordhuis>not bad
22:14:56  <bnoordhuis>what about unix?
22:15:02  <piscisaureus_>that's +130% speedup on windows :-)
22:15:27  <piscisaureus_>I still have to test on unix
22:15:36  <piscisaureus_>I don't think it will matter for unix
22:15:46  <bnoordhuis>probably not but i can benchmark it for you if you want
22:15:48  <piscisaureus_>since I basically just ported to unix implementation to use uv_poll
22:15:55  <piscisaureus_>I have to make sure it compiles first
22:17:24  * mikealquit (Quit: Leaving.)
22:17:30  <piscisaureus_>In "slow" mode it is only slightly faster than the original implementation
22:17:32  <piscisaureus_>ares_gethostbyname: 3774 req/s
22:17:53  <bnoordhuis>define 'slow mode'?
22:18:02  <piscisaureus_>the mode where it uses select()
22:18:06  <piscisaureus_>and runs one thread per socket
22:18:12  <bnoordhuis>oh right
22:18:18  <bnoordhuis>kind of surprising it's faster, really
22:18:23  <piscisaureus_>yeah
22:18:36  <piscisaureus_>it's definitely not scalable
22:18:41  <piscisaureus_>but it doesn't matter much
22:18:53  <piscisaureus_>slow mode only ever kicks in on xp and 2k3
22:19:06  <piscisaureus_>on retarded systems with LSPs present
22:19:17  <piscisaureus_>atlreast, that's the theory :-)
22:36:23  * mmaleckiquit (Ping timeout: 250 seconds)
22:37:30  * mikealjoined
22:37:54  * c4milojoined
22:38:20  * mmaleckijoined
22:38:53  <piscisaureus_>bnoordhuis: hey
22:39:29  <piscisaureus_>bnoordhuis: unix/internal.h does #include "uv-common.h"
22:39:41  <piscisaureus_>bnoordhuis: is it supposed to find it? uv.common.h is one level up.
22:40:23  <bnoordhuis>piscisaureus_: yes. it's on the include path
22:40:37  <bnoordhuis>i.e. -Isrc -Isrc/unix
22:41:07  <piscisaureus_>bnoordhuis: not quite... https://github.com/joyent/libuv/blob/master/config-unix.mk#L139
22:41:13  <piscisaureus_>bnoordhuis: or... what am i missing?
22:42:46  <piscisaureus_>hmm I think that used to accidentally work but no mo
22:42:46  <piscisaureus_>re
22:42:53  <bnoordhuis>piscisaureus_: that looks like a bug in the makefile
22:43:02  <piscisaureus_>I will fix it
22:46:47  * xaqjoined
22:50:54  * avalanche123quit (Quit: Computer has gone to sleep.)
22:53:37  * c4miloquit (Remote host closed the connection)
22:59:31  <bnoordhuis>piscisaureus_: quick question, do active idle handles on windows ref the loop?
22:59:36  * mmalecki_joined
22:59:38  <piscisaureus_>bnoordhuis: yep, they do
22:59:42  <piscisaureus_>when they are active
22:59:45  <piscisaureus_>and they should
22:59:59  <bnoordhuis>yes, i suppose so
23:00:01  <piscisaureus_>bnoordhuis: ref'in is questionable imho for prepare and check, but idle's should definitely ref
23:00:52  <bnoordhuis>piscisaureus_: what happens if there are only idle handles left and you call uv_run()?
23:01:03  * mmaleckiquit (Ping timeout: 265 seconds)
23:01:06  <piscisaureus_>bnoordhuis: it should spin and continuously call the idle callback
23:01:16  * mmalecki_quit (Client Quit)
23:01:23  <bnoordhuis>yeah, i thought you'd say that
23:01:31  * mmaleckijoined
23:01:36  <bnoordhuis>i guess it's the principle of least surprise
23:01:39  <piscisaureus_>bnoordhuis: maybe it should also call prepare and check on every loop iteration
23:01:55  <piscisaureus_>bnoordhuis: uv-win does that, and libev iirc
23:02:08  <bnoordhuis>it does
23:02:09  <piscisaureus_>*libev too
23:02:18  <bnoordhuis>where it == uv-unix
23:02:45  <CIA-155>libuv: Bert Belder cares * r03fd560 / (16 files in 6 dirs): WIP: Cares - http://git.io/iEobzQ
23:02:46  <CIA-155>libuv: Bert Belder cares * r1675f97 / src/unix/poll.c : Unix: remove superfluous variable from uv_poll_start - http://git.io/TgDloA
23:02:56  <piscisaureus_>huh
23:03:23  <piscisaureus_>I meant to push that back to my local repo from my vm :-(
23:04:44  * travis-cijoined
23:04:44  <travis-ci>[travis-ci] joyent/libuv#292 (cares - 1675f97 : Bert Belder): The build failed.
23:04:44  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/03fd560^...1675f97
23:04:44  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1394891
23:04:44  * travis-cipart
23:05:56  <CIA-155>libuv: Bert Belder cares * r07d4d71 / (16 files in 6 dirs): WIP: Cares - http://git.io/UMI1zQ
23:05:57  <CIA-155>libuv: Bert Belder master * rad279df / src/unix/poll.c : Unix: remove superfluous variable from uv_poll_start - http://git.io/U0eWVg
23:06:56  <piscisaureus_>bnoordhuis: can you try https://github.com/joyent/libuv/compare/cares ?
23:09:03  * paddybyersquit (Quit: paddybyers)
23:09:44  <bnoordhuis>piscisaureus_: yes, one sec
23:10:08  <TooTallNate>piscisaureus_: bnoordhuis: you guys there?
23:10:46  <bnoordhuis>TooTallNate: yes
23:10:55  <bnoordhuis>piscisaureus_: should i run the benchmark or the tests?
23:10:56  <TooTallNate>bnoordhuis: review? https://github.com/TooTallNate/node/compare/readline+ctrl+z
23:11:17  <piscisaureus_>bnoordhuis: bench
23:11:25  <piscisaureus_>bnoordhuis: gethostbyname benchmark to be exact
23:12:12  <bnoordhuis>piscisaureus_: ares_gethostbyname: 25000 req/s <- 3x in a row
23:13:21  * travis-cijoined
23:13:21  <travis-ci>[travis-ci] joyent/libuv#293 (cares - 07d4d71 : Bert Belder): The build is still failing.
23:13:21  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/1675f97...07d4d71
23:13:21  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1394928
23:13:21  * travis-cipart
23:13:21  * mmaleckiquit (Ping timeout: 252 seconds)
23:13:35  <bnoordhuis>piscisaureus_: ares_gethostbyname: 25641 req/s <- that's with master
23:14:14  <bnoordhuis>it's kind of odd that the numbers are so predictable: 24390, 25000, 25641
23:14:34  <bnoordhuis>anyway, uv_poll doesn't seem to have an appreciable impact
23:14:52  * mmaleckijoined
23:15:06  * travis-cijoined
23:15:06  <travis-ci>[travis-ci] joyent/libuv#294 (master - ad279df : Bert Belder): The build is still failing.
23:15:06  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/6fd9bfb...ad279df
23:15:06  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1394931
23:15:06  * travis-cipart
23:15:14  <bnoordhuis>mmalecki: weren't you going to web rebels?
23:15:39  <mmalecki>bnoordhuis: well, I kind of fucked up.
23:15:50  <mmalecki>bnoordhuis: I wanted to buy plane tickets today
23:16:05  <mmalecki>but last flight was today :/
23:16:27  <bnoordhuis>hah, too bad
23:16:35  <mmalecki>also, I got a fair bit of stuff to do at nodejitsu
23:17:06  <bnoordhuis>TooTallNate: lgtm, i think. does it work?
23:17:29  <TooTallNate>bnoordhuis: works on OSX, i'll try the solaris and linux vms real quick
23:18:58  <piscisaureus_>bnoordhuis: I don't notice any difference to be honest
23:19:22  <piscisaureus_>bnoordhuis: it must be the overhead of adding the uv_poll instance to the active handles list and removing it then :-)
23:19:46  <bnoordhuis>piscisaureus_: it's negligible, i'm not worried
23:19:55  <piscisaureus_>I think so too
23:20:21  <piscisaureus_>bnoordhuis: the only problem I have now is that we have no shared uv_fatal_error
23:20:34  <piscisaureus_>both windows and unix have it but they take different parameters :-(
23:21:02  <bnoordhuis>not that different though, is it?
23:21:16  <piscisaureus_>bnoordhuis: the problem is this:
23:21:21  <piscisaureus_>x = malloc(324)
23:21:30  <piscisaureus_>if (!x) { /* what to do here? */
23:21:41  <bnoordhuis>handle it graciously
23:21:46  <bnoordhuis>either that or abort()
23:21:50  * AlbireoXquit (Ping timeout: 265 seconds)
23:22:15  <bnoordhuis>though aborting in a lib is generally considered bad style
23:22:56  <piscisaureus_>bnoordhuis: there's not much we can do since this happens in ares sockstate cb
23:23:37  <bnoordhuis>hrm, why don't you malloc the memory earlier?
23:24:30  * AlbireoXjoined
23:24:33  <piscisaureus_>bnoordhuis: https://github.com/joyent/libuv/blob/master/src/unix/cares.c#L61
23:24:39  <piscisaureus_>good question :-)
23:24:47  * c4milojoined
23:25:07  <bnoordhuis>oh, ryan wrote that
23:26:11  <piscisaureus_>there's not much we can do
23:27:17  <piscisaureus_>the only option would be to destroy the ares channel
23:28:35  <bnoordhuis>it's pretty academic on modern systems, what with overcommit and all that
23:28:44  <bnoordhuis>but we should probably fix that sometime anyway
23:29:32  <piscisaureus_>in uv-win we abort on many occasions
23:29:38  <piscisaureus_>esp. when windows behaves unexpectedly
23:29:49  <piscisaureus_>but... what can man do
23:48:49  * AvianFluquit (Remote host closed the connection)
23:48:55  * mmaleckiquit (Ping timeout: 252 seconds)
23:51:50  * mmaleckijoined
23:59:47  * mikealquit (Quit: Leaving.)