00:09:34  * mralephquit (Quit: Leaving.)
00:10:45  * mralephjoined
00:28:37  * mralephquit (Quit: Leaving.)
01:01:29  * brsonquit (Quit: leaving)
01:26:14  * isaacsquit (Quit: isaacs)
01:34:22  * isaacsjoined
05:06:49  <pquerna>it'd be nice if uv on unix had the same asserts for things like ref count
05:07:03  <pquerna>porting code, finding negative ref counts... because it asserts on windowwwwwws
05:22:27  <pquerna>i guess unix uv really manages refs completely differently :_/
05:28:28  * bnoordhuisjoined
05:46:58  <CIA-95>node: Ben Noordhuis master * redcfea5 / wscript :
05:46:58  <CIA-95>node: build: fix man page install path on the BSDs
05:46:58  <CIA-95>node: Fixes #2026. - http://git.io/PvXvXQ
06:15:59  * isaacsquit (Quit: isaacs)
07:06:39  * mralephjoined
08:24:52  * mralephquit (Quit: Leaving.)
08:25:11  <CIA-95>libuv: Ben Noordhuis master * r51df5e3 / (include/uv.h src/unix/error.c): unix: map EISDIR - http://git.io/OGoUSw
08:53:17  * kuebkjoined
09:17:40  * AvianFluquit (Quit: Leaving)
10:02:59  <bnoordhuis>piscisaureus: ping
10:04:21  * piscisaureusquit (Ping timeout: 258 seconds)
10:07:00  <bnoordhuis>piscisaureus_: ^
10:13:07  * piscisaureusjoined
10:17:35  <bnoordhuis>piscisaureus: ping again
10:17:46  <piscisaureus>bnoordhuis: hey
10:17:51  <bnoordhuis>piscisaureus: ho
10:17:54  <bnoordhuis>what's up homie?
10:17:55  <piscisaureus>it's the first ping I notice
10:18:06  <piscisaureus>I don't know you just pung me
10:18:21  <bnoordhuis>no worries
10:18:33  <bnoordhuis>question: does UV_ECHARSET ever happen?
10:18:45  <bnoordhuis>oh, and: feel like a beer this afternoon?
10:18:47  <piscisaureus>bnoordhuis: probably, yeah
10:18:54  <piscisaureus>bnoordhuis: you wanna come to amsterdam?
10:19:04  <bnoordhuis>well... if there are no alternatives
10:19:11  <piscisaureus>because that's where I live for the moment :-)
10:20:25  <piscisaureus>Yeah, sure
10:20:32  <bnoordhuis>you moved out of delft?
10:20:42  <piscisaureus>bnoordhuis: I am trying
10:20:56  <piscisaureus>right now I am living in Ruben's house
10:21:04  <piscisaureus>because he's out to SF for a while
10:21:14  <piscisaureus>It's very nice, living on the canals etc
10:22:10  <bnoordhuis>gouda <-> 020, fifty minutes
10:22:15  <bnoordhuis>i suppose that's doable
10:22:24  <piscisaureus>I know it's not ideal
10:22:31  <piscisaureus>you can hang around here for a while
10:22:33  <piscisaureus>:-)
10:22:38  <piscisaureus>you could even sleep on the couch
10:22:54  <bnoordhuis>i think my SO expects me home by 9 :)
10:23:05  <bnoordhuis>but we could have a few beers this afternoono
10:23:15  <piscisaureus>good +1
10:23:50  <bnoordhuis>does 3, 4 pm sound alright? i'd rather avoid rush hour
10:24:02  <piscisaureus>sure
10:24:24  <piscisaureus>Although that's pretty early for beer
10:24:31  <piscisaureus>around 4 would be better then
10:24:35  <piscisaureus>but come around 3, yeah
10:24:41  <bnoordhuis>okay, cool
10:24:46  <piscisaureus>I assume you will be here by 3:30 anyway :-)
10:24:55  <bnoordhuis>i'll call you when i'm at 020 CS, can you pick me up?
10:25:05  <bnoordhuis>or is cloud9's office easy to find?
10:25:25  <piscisaureus>bnoordhuis: maybe you can take a tram
10:25:26  <piscisaureus>that's easy
10:25:38  <piscisaureus>I'll pick you up at the tram stop
10:25:47  <piscisaureus>take 13, 14 or 17
10:25:50  <piscisaureus>Get off at Westermarkt
10:25:54  <piscisaureus>it's a 5 minute ride
10:25:57  * bnoordhuistakes notes
10:25:59  <piscisaureus>and the tram is super frequent
10:26:15  <piscisaureus>(better than Bart :-))
10:26:18  <bnoordhuis>heh
10:26:46  <piscisaureus>I'll pick you up there
10:26:49  <bnoordhuis>cool
10:27:07  <bnoordhuis>they're one-way lines, right?
10:27:16  <piscisaureus>at CS they are yeah
10:59:20  * bnoordhuis_joined
11:00:29  * bnoordhuisquit (Ping timeout: 240 seconds)
11:11:17  * bnoordhuis_quit (Ping timeout: 240 seconds)
11:24:38  * bnoordhuis_joined
11:50:57  <bnoordhuis_>piscisaureus: https://github.com/bnoordhuis/libuv/compare/errors <- i'm not going to land this right away but does this approach look sensible?
11:52:13  <bnoordhuis_>piscisaureus_: ^
12:15:18  <piscisaureus>bnoordhuis_: sorry I was logged in as another user
12:15:25  <piscisaureus>bnoordhuis_: will look at it shortly
12:16:51  <piscisaureus>bnoordhuis_: I like uv_translate_lib_error
12:17:10  <piscisaureus>since windows needs mappings from CRT errors (e.g. ENOENT to UV_ENOENT) too
12:17:13  <piscisaureus>so we can share that
12:17:22  <piscisaureus>same for EAI_xxx errors that come out of GetAddrInfo
12:17:30  <bnoordhuis_>windows has those too? good
12:17:39  <piscisaureus>bnoordhuis_: but the #ifdef ENOENT #define UV_ENOENT ENOTENT won't work
12:17:51  <piscisaureus>bnoordhuis_: yes, *but*
12:18:02  <bnoordhuis_>i think i read something about that you should use the windows equivalents
12:18:04  <piscisaureus>bnoordhuis_: these errors are used only in uv_fs_*
12:18:27  <bnoordhuis_>piscisaureus: but the #ifdef ENOENT #define UV_ENOENT ENOTENT won't work <- how so?
12:18:37  <piscisaureus>bnoordhuis_: well for ENOENT it will work
12:18:46  <piscisaureus>bnoordhuis_: but windows has not ECONNABORTED
12:18:53  <bnoordhuis_>and i think you mean #ifdef ENOENT\n UV_ENOENT = ENOENT\n#endif
12:19:00  <piscisaureus>yeah
12:19:06  <bnoordhuis_>but scroll down and you'll notice i catch them on the rebound
12:19:08  <piscisaureus>but I though this would be clear enough :-)
12:19:34  <bnoordhuis_>i first try to create enums for errors that have an errno defined
12:19:51  <piscisaureus>aah
12:19:52  <bnoordhuis_>then i create enums for the ones that don't
12:19:57  <piscisaureus>bnoordhuis_: we should generate that script btw
12:20:11  <piscisaureus>also uv__translate_lib_error
12:20:18  <bnoordhuis_>i kind of did, perl one-liner over the glibc source
12:21:27  <piscisaureus>brb
12:30:28  <bnoordhuis_>this approach has a weakness though
12:30:48  <bnoordhuis_>enum { A = -1, B = -2, C } <- C == -1
12:31:28  <bnoordhuis_>so you might have clashes, i.e. enums with the same value
13:03:58  <piscisaureus>heh
13:04:05  <piscisaureus>oh that's very risky actually
13:04:22  <piscisaureus>because you don't know in which order errno.h defines the error numbers on any platform
13:23:31  <piscisaureus>bnoordhuis_: yt?
13:23:42  <bnoordhuis_>piscisaureus: ih
13:23:51  <piscisaureus>bnoordhuis_: tell me about data structures
13:24:05  <piscisaureus>bnoordhuis_: I need an efficient tree that allows prefix searching
13:24:06  <bnoordhuis_>linked lists, queues, heaps, binary trees
13:24:14  <bnoordhuis_>oh, it wasn't a general question
13:24:27  <piscisaureus>bnoordhuis_: tell me about the war
13:24:34  <bnoordhuis_>we were the good guys
13:24:35  <bnoordhuis_>and we won
13:24:44  <bnoordhuis_>but i still haven't had my bike back
13:24:56  <bnoordhuis_>re prefix searching: google for suffix arrays or suffix trees
13:25:06  <bnoordhuis_>you probably want suffix arrays, trees are expensive to build
13:25:51  <piscisaureus>bnoordhuis_: I want to build a tree/array/whatever of file names
13:26:05  <piscisaureus>and then I want to find all files that start with a particular prefix
13:26:10  <piscisaureus>that requires a tree right?
13:27:21  <bnoordhuis_>piscisaureus: no, a suffix array will do
13:28:06  <bnoordhuis_>piscisaureus: http://en.wikipedia.org/wiki/Suffix_array#Applications
13:31:10  <bnoordhuis_>okay, off to the station
13:31:29  <piscisaureus>ok, c ya
13:33:16  * bnoordhuis_quit (Read error: Operation timed out)
13:39:02  <piscisaureus>hmm
13:39:30  <piscisaureus>the suffix array requires sizeof(char) + sizeof(ssize_t) * 2 bytes per character
21:39:20  <piscisaureus>ryah: igorzi: sorry about not being on the call
21:39:28  <piscisaureus>the log server broke down this afternoon
21:39:41  <piscisaureus>so I didn't notice it was moved
21:39:50  <piscisaureus>and then Ben and me went out for beer
21:43:20  <ryah>piscisaureus: not much was said anyway
21:43:40  <ryah>piscisaureus: igor is working on https://github.com/joyent/node/commit/0e8a55d2a22b88dc3b9b0165f344602b0fa8c977#commitcomment-69710 and wants to discuss with you
21:43:41  <piscisaureus>ryah: I guess, the interesting people not there :-p
21:44:02  <piscisaureus>ryah: ah ok
21:44:29  <piscisaureus>ryah: but did he find anything interesting?
21:44:35  <piscisaureus>I also want to talk to igor btw
21:44:53  <piscisaureus>igorzi: we skype?
21:46:05  <piscisaureus>ryah: btw, why is it not right for the encryped stream to emit end?
21:47:19  <piscisaureus>ryah: essentially, igorzi's comment says it all
21:47:53  <piscisaureus>test-tls-peer-certificate fails because we don't close the connection gracefully, and a write never reaches the other end
21:47:58  <piscisaureus>so we're doing it wrong in node
21:51:25  * mralephjoined
21:51:38  * mralephquit (Client Quit)
21:52:14  * ericktjoined
21:52:20  * mralephjoined
21:53:28  <ryah>piscisaureus: fails because there is pending data in write queue on server side. if windows gets EOF with pending write data it creates an error
21:54:12  <piscisaureus>ryah: I don't believe that
21:56:16  <piscisaureus>"After several failed retransmitions winsock aborts the connection on the server, which results in WSAECONNABORTED from WSARecv. If the above example is rewritten to have the client read server's response before closing the socket - ECONNABORTED goes away."
21:57:34  <ryah>yes
21:57:38  <piscisaureus>Returning an error when data is discarded due to transmission error looks like the Right Thing to me
21:58:13  <piscisaureus>s/transmission error/premature socket closing/
21:58:21  <ryah>no, i think the error should be discarded
21:58:47  <piscisaureus>why?
21:58:56  <ryah>because that matches what we see on unix
21:59:17  <ryah>anwyay - the error provides no knowledge
21:59:58  <ryah>well - it says it wasn't sent.. but knowing if it was sent or not isn't useful
22:00:14  <ryah>if the recvr doesn't ack the data - you dont know
22:00:18  <piscisaureus>why is that not useful?
22:00:29  <piscisaureus>hmm
22:00:38  <piscisaureus>let me think about it for a minute or two
22:00:47  <ryah>it could have been written to the wire but then lost somewhere else
22:01:14  <piscisaureus>yes, but then it would have never been ACKed
22:01:16  <ryah>the user should never assume that socket.write() completing successfully means the other side recvd and understood the data
22:01:29  <piscisaureus>I know
22:01:51  <piscisaureus>but a graceful close should indicate that the other side got everything
22:02:18  <ryah>given that assumption i think it's reasonable to turn WSAECONNABORTED from WSARecv on a non-empty write queue into an EOF event
22:02:23  <ryah>which is what igor suggested
22:02:39  <ryah>no
22:04:18  <piscisaureus>ryah: yes, why not?
22:04:41  <piscisaureus>that's what a graceful close means, or?
22:07:37  <piscisaureus>Sorry about this, but I do not like it very much that tls basically forces a hard close even when the user tries to do a graceful close
22:08:04  <piscisaureus>unless I am misunderstanding the problem
22:21:06  <ryah>piscisaureus: tls has a app-layer graceful close
22:22:28  <igorzi>piscisaureus: hey
22:24:04  <igorzi>piscisaureus: you want to skype?
22:24:15  <piscisaureus>just a minute
22:24:18  <piscisaureus>on a call now
22:24:23  <igorzi>k
22:39:36  <ryah>when you're holding me we make a pair of parentheses
22:43:16  <piscisaureus>does that work in bars for you ryah?
22:43:33  <piscisaureus>igorzi: say something
22:55:28  <isaacs>https://gist.github.com/1346461
22:56:14  <isaacs>that's a completely unreasonable tarball, full of every proprietary piece of bullshit i could find.
23:04:58  <piscisaureus>igorzi: `mkdir c:\a\b`
23:04:58  <piscisaureus>require('fs').watch('c:\\a\\b', console.log);
23:04:58  <piscisaureus>cd /d c:\
23:04:58  <piscisaureus>ren a b
23:22:55  * bnoordhuis_joined
23:27:09  <CIA-95>node: Ben Noordhuis master * rd7bcf21 / wscript :
23:27:10  <CIA-95>node: build: fix race in parallel build
23:27:10  <CIA-95>node: Run `make clean` first, *then* `make all` - http://git.io/mAFK0w
23:35:26  * kuebk^quit
23:36:26  * Marakquit (Excess Flood)
23:40:01  * Marakjoined
23:44:29  <CIA-95>node: Eric Lovett master * r69d3bf1 / doc/api/cluster.markdown : docs: minor grammar fix in cluster page - http://git.io/zzr0BQ
23:52:50  * bnoordhuis_quit (Ping timeout: 260 seconds)