00:04:34  <bnoordhuis>ryah: /home/bnoordhuis/opt/node/include/node/uv.h:70:33: error: uv-private/uv-unix.h: No such file or directory
00:04:34  <bnoordhuis>In file included from /home/bnoordhuis/opt/node/include/node/node.h:41,
00:07:45  <bnoordhuis>after `make install`
00:10:20  * pquernaquit (Read error: Connection reset by peer)
00:10:24  * pquernajoined
00:11:17  * pquernaquit (Changing host)
00:11:17  * pquernajoined
00:21:10  <ryah>bnoordhuis: we'll need to install the uv-private stuf
00:40:20  <ryah>piscisaureus: dont take a job at google
00:42:57  <piscisaureus>ryah: ok... why?
00:43:35  <piscisaureus>\o/ finally finished these stupid forms
01:06:08  <DrPizza>google == ad company == evil
01:07:00  <rmustacc>The real thing to consider is that for most people you have no choice on what you work on and they move you at their leisure and necessity.
01:07:07  <rmustacc>If that's fine, then it's fine.
01:08:52  <bnoordhuis>i suppose that's true for most companies though?
01:09:26  <piscisaureus>weren't they abolishing that policy?
01:10:15  <piscisaureus>I remember reading that it made them lose talent
01:11:21  <rmustacc>Maybe they are
01:13:55  <ryah>im on my phone :D
01:14:02  <piscisaureus>oh
01:14:07  <rmustacc>Just something to consider, since for me I know that who I work with and what I'm working on are pretty important.
01:14:12  <piscisaureus>you're not too heavy are you?
01:14:34  <piscisaureus>or you'll break the screen
01:14:48  <piscisaureus>rmustacc: yes, I wasn't really considering working for google
01:14:52  <ryah>sitting on a bus with isaac and mikeal
01:15:01  <piscisaureus>but I like to hear what other people think
01:15:08  <bnoordhuis>piscisaureus: where they looking for people in NL?
01:15:19  <bnoordhuis>last time they contacted me they wanted me to move to zurich
01:15:27  <piscisaureus>he didn't mention
01:15:36  <piscisaureus>zurich hmm
01:15:41  <piscisaureus>that's not so bad is it?
01:15:47  <bnoordhuis>low, low tax rates they have over there!
01:16:22  <bnoordhuis>last time i checked it was 13-18% vs 52% here
01:16:27  <piscisaureus>heh
01:16:48  <piscisaureus>I thought die schweis was more like scandinavian countries
01:17:11  * piscisaureuswrong
01:17:28  <piscisaureus>ryah: say hi to them then
01:28:04  <bnoordhuis>struct sockaddr_un sun; -> error: syntax error before numeric constant
01:28:08  <bnoordhuis>whaaa?
01:28:18  <DrPizza>#undef sun
01:28:31  <bnoordhuis>oh god, right
01:28:35  <bnoordhuis>stab stab
01:28:37  <DrPizza>(guess)
01:28:49  <DrPizza>a lower case #define of "sun" is pretty evil
01:28:52  <DrPizza>but it would explain the error
01:31:42  <bnoordhuis>yep, that was it
01:32:01  <bnoordhuis>thanks, DrPizza, i probably wouldn't have come up with that at this hour
01:32:14  <bnoordhuis>my brains are slowly seeping out of my ears already
01:32:20  <DrPizza>http://s3.amazonaws.com/data.tumblr.com/tumblr_lqmd964J311r1at80o1_1280.jpg?AWSAccessKeyId=AKIAJ6IHWSU3BX3X7X3Q&Expires=1314885336&Signature=MnGErargp9ShpuqmtmUW4q7nINc%3D
01:32:31  <bnoordhuis>../deps/v8/src/assembler.h:46: warning: converting of negative value `-0x000000001' to `unsigned int' <- stab stab stab
01:32:59  <ryah>you are stabbing a lot
01:33:20  <bnoordhuis>i have a lot of anger management issues
01:33:31  <bnoordhuis>../deps/v8/src/conversions-inl.h:82: error: `isfinite' was not declared in this scope <- because of things like this
01:34:04  <DrPizza>bnoordhuis: that happens when v8 isn't properly detecting your platform I believe
01:34:29  <rmustacc>bnoordhuis: You're using gcc34 aren't you.
01:34:34  <DrPizza>bnoordhuis: for example, on Windows it needs WIN32 #defined, in order to set up its own definitions of isfinite etc.
01:34:36  <ryah>hm. needs __EXTENTIONS__
01:34:44  <bnoordhuis>__EXTENSIONS__ is defined
01:34:46  <DrPizza>oh but you're doing sun
01:34:55  <DrPizza>perhaps everything is different on solaris
01:34:58  <DrPizza>it normally is
01:35:11  <bnoordhuis>oh wait no, the v8 gyp isn't inheriting it apparently
01:35:18  <bnoordhuis>rmustacc: yes, 3.4.6
01:35:40  <rmustacc>bnoordhuis: I've seen it break with gcc34 and it will work with gcc45
01:35:54  <rmustacc>But got distacted by kvm and a bunch of other stuff so I never looked into it.
01:36:01  <bnoordhuis>rmustacc: yes, that's correct
01:36:13  <bnoordhuis>but since gcc3 is the default on the smart machines it had better work
01:36:20  <rmustacc>Though from looking at the code there it's kind of busted code.
01:36:28  <rmustacc>You're assigning -1 to an unsigned int.
01:39:44  <rmustacc>I gotta head out.
01:40:17  * rmustaccpart
02:02:45  * brsonquit (Ping timeout: 264 seconds)
02:31:50  * brsonjoined
02:39:52  * bnoordhuisis off to bed
02:40:00  <piscisaureus>ha!
02:40:01  <piscisaureus>pussy
02:40:10  <piscisaureus>sleep tight, bnoordhuis
02:40:20  <bnoordhuis>you too, piscisaureus
02:40:26  <bnoordhuis>let's see who's the wuss tomorrow
02:40:39  <piscisaureus>yes sir :-)
02:45:01  * bnoordhuisquit (Ping timeout: 240 seconds)
03:50:43  * isaacsquit (Quit: isaacs)
05:09:58  * brsonquit (Quit: leaving)
05:10:04  * brsonjoined
07:45:51  * mralephjoined
07:48:41  * brsonquit (Ping timeout: 240 seconds)
08:34:45  * mralephquit (Quit: Leaving.)
09:40:00  * pquernaquit (*.net *.split)
09:42:48  * pquernajoined
09:42:55  * DrPizzaquit (Excess Flood)
09:42:59  * DrPizzajoined
11:25:41  * bnoordhuisjoined
12:18:00  <bentkus>hmm
12:18:05  <bentkus>why aren't we using sockaddr_storage?
12:18:22  <bnoordhuis>we are in some places
12:18:57  <bnoordhuis>what part of libuv are you looking at, bentkus?
12:19:29  <bentkus>alll the functions, bind, bind6
12:20:27  <bentkus>they have all one with an argument called sockaddr_in and sockaddr_in6
12:21:15  <bentkus>Why not juust using sockaddr_storage, which contains a field with the actual sockaddr type
12:21:28  <bnoordhuis>note that they're passed in by value, not address
12:21:37  <bnoordhuis>it's a convenience thing
12:21:52  <bnoordhuis>not convenient for us, for the user
12:33:01  <bentkus>libuv makes me install subversion
12:33:08  <bentkus>i lived for 1 year without even noticing that it is missing
12:33:09  <bentkus>:D
12:33:20  <bnoordhuis>git svn!
12:51:07  <bnoordhuis>isfinite.cc:6:50: error: 'isfinite' was not declared in this scope <- g++ is seriously fscked up on sunos
12:56:54  <bentkus>who is using sunos
12:57:13  <bentkus>shouldnt it be oracleos now? hihi
13:02:38  <bnoordhuis>joyent is
13:02:43  <bnoordhuis>and since joyent is my employer...
13:17:12  <bentkus>well
13:17:27  <bentkus>it is very inconvenient for me that structs are used instead of pointers to struct
13:17:31  <bentkus>structs*
13:17:43  <bentkus>for sockaddr_in and sockaddr_in6
13:18:26  <bnoordhuis>why?
13:25:58  <bentkus>k c\\\
13:26:01  <bentkus>im creating bindings
13:26:16  <bentkus>and on different platforms the sockaddr_in and sockaddr_in6 could have different sizes
13:26:32  <bentkus>therefore i dont know how much I have to push on the stack
13:27:32  <bentkus>when I'm using FFI
13:27:52  <bentkus>You are forcing the wrapper creators to use C glue code
13:29:37  <bentkus>Now if I would have only to push a pointer to the struct, that would make life easier, no need to know the different sizes
13:33:14  <bentkus>the sockaddr_in6 struct is big, i dont think it is a good idea to push it on the stack
13:42:01  <bnoordhuis>sockaddr_storage is even bigger
13:42:18  <bnoordhuis>maybe you want to pass in sockaddr pointers?
13:43:32  <bnoordhuis>sockaddr_in6 isn't that big btw, 32 bytes vs 16 bytes for a sockaddr_in struct
13:44:29  <bentkus>yes I do
13:44:43  <bentkus>[16:17:04] <bentkus> it is very inconvenient for me that structs are used instead of pointers to struct
13:55:28  <bnoordhuis>oh yes, i meant sockaddr pointers instead of sockaddr_storage pointers
13:55:38  <bnoordhuis>sockaddr_storage is ~130 bytes on my system
13:56:42  <bentkus>a pointer to sockaddr_storage or to a sockaddr_in has the same size
13:58:09  <bnoordhuis>yes, but the struct itself hasn't :)
13:58:15  <bnoordhuis>anyway, you want pointers
13:58:34  <bnoordhuis>i'm not fanatically against that
13:58:48  <bnoordhuis>but you should speak to ryan or bert, i think they came up with that scheme
13:59:09  <piscisaureus>I am not fanatically against that either
13:59:26  <piscisaureus>although it makes uv_ip4_addr less convenient
13:59:55  <piscisaureus>because you can no longer have uv_tcp_bind(handle, uv_ipv4_add(""))
14:00:03  <piscisaureus>But I guess the purpose of that is limited anyway
14:01:16  <bentkus>it makes creating bindings for languges, which support ffi, a lot easier
14:01:33  <piscisaureus>agreed
14:01:44  <piscisaureus>let talk to ryah when he is on
14:02:55  <bentkus>and this is a good thing, since it means that the interface is complete
14:03:20  <piscisaureus>complete?
14:05:20  <bentkus>nevermind
14:05:21  <bentkus>;D
14:07:00  <bentkus>from the point of view of a wrapper creator, the lib should be accessible through functions only
14:07:40  <bentkus>it should be at least possible to get platform specific sizes from the lib using functions
14:07:54  <bentkus>or the lib abstracts everything, so the wrapper doesn't have to deal with it anymore
14:09:39  <bentkus>for example buf_init is a very nice function, since the buf_t struct differs on different platforms
14:10:11  <bnoordhuis>^ true words
14:10:27  <bentkus>the only problem I see is: it returns buf_t as an entire struct, which has different sizes on different platforms
14:11:22  <bentkus>its not even a public function I guess (im browsing for the buf_t definition)
14:11:52  <piscisaureus>bentkus: it should be a public function
14:12:08  <piscisaureus>bentkus: but almost everything is a different size of a different platform
14:12:19  <piscisaureus>I mean uv_tcp_t, uv_req_t, you name it
14:12:40  <piscisaureus>I think you can't realy avoid using `sizeof uv_buf_t`
14:16:08  <bentkus>Avoiding it might not be possible
14:16:20  <bentkus>but creating a function which returns the size of it is possible
14:18:48  <bentkus>now the lib has the data in it compiled so the specific language wrapper doesn't have to contain definitions anymore
14:22:39  <piscisaureus>bentkus: I do not fully understand what you need it for. But I think a patch for that would be welcome.
14:22:54  <bentkus>ok
14:23:17  <piscisaureus>It does not need to be more than a few 1-line function in uv-common.c I presume?
14:24:37  <bentkus>yeah
14:25:01  <bentkus>ill do the patchez accordingly were I think it makes life easier for me, the wrapper
14:25:05  <bentkus>im creating C# bindings
14:26:34  <piscisaureus>bentkus: oh you are a manos guy
14:26:41  <piscisaureus>(I thought you were rust heh)
14:29:03  <bnoordhuis>manos as in 'manos the hands of fate'?
14:30:25  <piscisaureus>bentkus: I'd be interested to learn how you are doing multithreading with libuv
14:30:29  <piscisaureus>or are you not there yet?
14:35:38  <piscisaureus>I kind of like manos I think
14:35:47  <piscisaureus>I'ts like express written in c#
14:40:09  <bnoordhuis>i was thinking about doing node in php
14:40:31  <bnoordhuis>it wouldn't be much work to get the basics set up
14:40:40  <bnoordhuis>but then i thought to myself: why?
14:41:02  <piscisaureus>bnoordhuis: since php 5.3 php has first-class function so it would not be impossible
14:41:23  <piscisaureus>bnoordhuis: but srsly have you ever used c#
14:41:27  <piscisaureus>it's kind of nice
14:41:30  <bnoordhuis>piscisaureus: yes
14:41:36  <bnoordhuis>well, 3.0+ is
14:41:45  <bnoordhuis>i maintained a pre-2.0 app years ago
14:42:10  <bnoordhuis>that's .net 1.1 obviously, but the language was c#
14:42:19  <piscisaureus>okay
14:42:24  <piscisaureus>that sucked?
14:42:32  <bnoordhuis>yes
14:42:45  <bnoordhuis>the framework was full of bugs at that time
14:42:53  <bnoordhuis>missing a lot of basic functionality as well
14:46:15  <piscisaureus>bnoordhuis: it would be fun to create node.php
14:46:21  <piscisaureus>just for the trolling karma
14:46:31  <bnoordhuis>and the downvotes on HN!
14:46:36  <piscisaureus>with libuv it's not hard I think
14:46:48  <bnoordhuis>you could do it with plain libev and http_parser
14:47:27  <piscisaureus>that is also possible yes
14:47:42  <piscisaureus>but imbo the libuv api surface is more friendly
14:47:56  <bnoordhuis>oh, apis
14:48:02  <bnoordhuis>no matter how bad the api is
14:48:09  <bnoordhuis>it pales in comparison to php's c api
14:48:17  <piscisaureus>really that bad?
14:48:27  <piscisaureus>(never really looked at the php source code)
14:48:52  <bnoordhuis>i don't know of any code base that is more soul crushing than php's
14:48:55  <bnoordhuis>even mysql is better
14:54:39  <piscisaureus>I wonder if the php c api has a way to call a php function from c
14:57:37  <bnoordhuis>it has
14:57:49  <bnoordhuis>knowing php, probably more than one
15:01:00  <piscisaureus>is there documentation on the c api?
15:01:14  <piscisaureus>ZEND_BEGIN_ARG_INFO_EX :-/
15:02:36  <bnoordhuis>piscisaureus: a little: http://www.php.net/manual/en/internals2.php
15:03:00  <bnoordhuis>and run doxygen over the source
15:14:38  <bentkus>piscisaureus: well im just creating the wrapper
15:14:47  <bentkus>But whats there to do
15:14:52  <bentkus>you just create a thread
15:14:55  <bentkus>a loop in that thread
15:15:01  <bentkus>and you say Run()
15:16:36  <CIA-52>node: Nathan Rajlich master * rcf24f56 / lib/repl.js : repl: don't eval twice when an Error is thrown - http://git.io/2Z1YwQ
15:16:42  <piscisaureus>bentkus: I was wondering because of this comment: https://github.com/joyent/libuv/issues/83#issuecomment-1536655
15:16:50  <piscisaureus>We went for option 2 :-)
15:16:58  <piscisaureus>so if was wondering if you were in trouble now
15:17:37  <bentkus>I don't know how IOCP is implemented *inside*
15:17:49  <piscisaureus>bentkus: the question was really
15:18:58  <piscisaureus>are loops completely separate from one another (the one we picked) or
15:18:58  <piscisaureus>do loops share a completion port, meaning that callbacks are dispatched to a random thread
15:20:04  <bentkus>loops are completely separate
15:20:07  <bentkus>in manos
15:20:11  <piscisaureus>okay
15:20:20  <piscisaureus>so what we did was right for you after all :-)
15:20:34  <bentkus>maybe I was too stupid to understand it clearly
15:20:38  <bentkus>;D
15:22:05  <DrPizza>I still don't like option 2
15:22:28  <bentkus>iIf they are seperated, the user can decide when to use threads or when not and such
15:22:46  <bentkus>what I miss in the libuv library for now is RunOnceWIthoutBlocking
15:22:54  <piscisaureus>bentkus: we can do that
15:23:13  <piscisaureus>libev supports it anyay
15:23:16  <piscisaureus>*anyway
15:23:22  <bentkus>it has nice application scenarios, like embedding libuv into game servers
15:23:30  <bentkus>where async stuff is really needed
15:23:54  <piscisaureus>bentkus: patch for this is also welcome :-)
15:23:58  <piscisaureus>shouldn't be too hard also
15:24:04  <bentkus>Ill create a todo list
15:24:13  <piscisaureus>bentkus: alternatively you could use uv_idle
15:24:32  <piscisaureus>it will make the system poll nonblocking (e.g. use zero timeout)
15:24:46  <piscisaureus>and call your idle function once every loop iteration
15:27:11  <bentkus>hmm
15:27:12  <bentkus>ill look into it
16:30:28  * bnoordhuisquit (Read error: Operation timed out)
16:38:59  <piscisaureus>https://github.com/joyent/node/issues/1621
16:38:59  <piscisaureus>^-- windows XP 64bit problem
16:39:07  <piscisaureus>who uses that anyway? Do we want to support it?
16:40:02  <ryah>is it hard to?
16:40:14  <ryah>what's the problem exactly?
16:45:01  * isaacsjoined
16:58:14  * igorzijoined
17:00:54  <igorzi>piscisaureus: hey
17:21:01  * graydonjoined
17:37:07  <igorzi>node+iisnode+mongodb on windows: http://www.amazedsaint.com/2011/09/creating-10-minute-todo-listing-app-on.html
17:43:26  <ryah>nice
17:43:38  <ryah>seems like people are really starting to use it :)
17:44:53  * rmustaccjoined
17:47:05  * brsonjoined
17:47:54  <ryah>i dont really like uv_fs_req_cleanup()
17:48:02  <ryah>it really makes the code ugly
17:48:30  <ryah>and it sucks that for 99% for the function calls nothing is being allocated.
17:49:11  <ryah>https://github.com/joyent/libuv/blob/836cc204b6b73b6b6d5d5a456f1b9b3ecdeefc80/test/test-fs.c#L423-437
17:50:09  <piscisaureus>ryah: I don't know what the problem is exactly
17:50:24  <piscisaureus>I would have to install xp 64bit to figure that out
17:50:43  <piscisaureus>igorzi: hey
17:50:44  <igorzi>ryah: yeah, that sucks
17:50:56  <piscisaureus>igorzi: what's up?
17:51:06  <igorzi>piscisaureus: hey, i just wanted to find out if you figured out what the problem is on xp 64bit
17:51:18  <piscisaureus>igorzi: I haven't
17:51:28  <piscisaureus>I have no xp 64bit machine
17:52:02  <igorzi>piscisaureus: i think we might have one here in the lab
17:53:43  <piscisaureus>It would be nice if the error code was printed instead of just UNKNOWN
17:54:01  <ryah>piscisaureus: indeed :)
17:54:32  <ryah>we should at least print the system errno if we get UV_UNKNOWN
17:55:04  <igorzi>ryah: i guess the alternative is that the caller takes ownership of uv-allocated buffers
17:55:55  <ryah>igorzi: hmm..
17:56:12  <ryah>uv_fs_readdir is the only one currently, right?
17:57:02  <DrPizza>xp 64 is a weirdo
17:57:03  <DrPizza>it's fake 2003
17:57:22  <igorzi>ryah: it's readdir, stat, and fstat
17:57:39  <ryah>igorzi: on unix i put the struct stat into the uv_fs_t
17:58:13  <igorzi>ryah: ok, we can do the same for windows, so that just leaves readdir then
17:58:46  <ryah>maybe we should be doing opendir, readdir, closedir
17:58:52  <ryah>instead of trying to "simplify" it
17:59:07  <ryah>do you have those on windows?
18:01:16  * brsonquit (Ping timeout: 264 seconds)
18:01:26  <igorzi>ryah: no, those don't exist on windows
18:04:34  <piscisaureus>igorzi: FindFirstFile etc
18:05:49  <igorzi>ryah: with opendir/readdir/closedir, closedir would free the buffer?
18:07:12  <piscisaureus>http://msdn.microsoft.com/en-us/library/aa365200%28VS.85%29.aspx
18:07:55  <igorzi>piscisaureus: yes, that's how uv_fs_readdir is implemented
18:11:15  <piscisaureus>igorzi: ryah want's to do 'streaming', e.g don't read all files at once
18:11:42  <piscisaureus>I think the overhead of synchronizing with the thread pool for every individual file may be too high
18:11:55  <piscisaureus>but we could find a middle ground
18:12:01  <piscisaureus>e.g. read N files at once
18:12:42  <igorzi>how would api look for that?
18:12:59  <DrPizza>ryah: the big problem is this
18:13:09  <DrPizza>ryah: FindFirstfile etc. need to go in a do while loop;
18:13:19  <DrPizza>ryah: readdir goes in a while loop/for loop
18:14:02  <piscisaureus>I don't know
18:15:13  <ryah>nod
18:15:32  <ryah>is there an overlapped dir reading function in windows?
18:15:55  <DrPizza>no, only synchronous
18:16:20  <ryah>i think piscisaureus is right. going to the thread pool for each file is too high
18:16:41  <ryah>*expensive
18:16:51  <DrPizza>I dunno I think a push API would be good
18:17:02  <piscisaureus>uv_fs_opendir(uv_dir_t* dir)
18:17:02  <piscisaureus>uv_readdir_start(uv_dir_t*, uv_readdir_cb cb, uv_alloc_cb alloc_cb);
18:17:02  <piscisaureus>typedef void (*uv_readdir_cb)(uv_dir_t* handle, uv_dirent[] entries, int nread, uv_buf_t used_buf);
18:17:04  <DrPizza>send a callback call to the threadpool on each file
18:17:44  <piscisaureus>^-- reads into uv_alloc_cb allocated buffers
18:17:47  <piscisaureus>oh shit gtg
18:19:25  * bnoordhuisjoined
18:20:16  <ryah>yeah - maybe...
18:21:31  <igorzi>i think we could do something like that.. then how many files we read is capped by how large the uv_alloc_cb buffer is
18:33:33  <ryah>what if we just had uv_fs_readdir(uv_fs_t*, char* path, uv_buf_t buf, uv_fs_cb cb);
18:34:18  <ryah>or - maybe let's just tell the user to free it..
18:34:52  <ryah>we keep:
18:34:52  <ryah>int uv_fs_readdir(uv_loop_t* loop, uv_fs_t* req, const char* path, int flags, uv_fs_cb cb)
18:35:14  <ryah>but have the user free req->result afterwards
18:35:22  <ryah>er
18:35:25  <ryah>req->ptr
18:35:27  <DrPizza>that work sif the user allocs it too
18:35:39  <DrPizza>or if it uses an alloc cb
18:36:14  <ryah>we need a realloc cb
18:36:38  <ryah>because the buffer should be continuous
18:37:06  <DrPizza>jus thave realloc cb
18:37:22  <DrPizza>realloc_cb(void* previous, size_t new_size)
18:37:25  <DrPizza>make it work like realoc
18:37:30  <DrPizza>malloc/free/realloc all in one
18:38:18  <ryah>we should probably supply the free function...
18:38:30  <ryah>uv_fs_readdir_free(uv_fs_t* req);
18:38:38  <ryah>:/
18:38:42  <ryah>i don't know
18:38:43  <DrPizza>realloc(ptr, 0)
18:39:49  <igorzi>i actually like passing uv_buf_t to uv_fs_readdir.. what's wrong with that? it'll have to remember some state, so that further uv_fs_readdir calls continue where previous left off
18:40:34  <ryah>igorzi: how'd that work
18:40:40  <ryah>libev has a realloc cb
18:40:56  <ryah>void
18:40:56  <ryah>ev_set_allocator (void *(*cb)(void *ptr, long size))
18:40:56  <ryah>{ alloc = cb;
18:40:57  <ryah>}
18:47:23  * AndroUserjoined
18:55:42  <CIA-52>libuv: Igor Zinkovsky master * r22197eb / (include/uv-private/uv-win.h src/win/fs.c test/test-fs.c): windows: include _stat struct into uv_fs_t - http://git.io/WqZ6VA
18:56:07  <ryah>i'm increasingly of the opinion that we should be managing buffers inside libuv
18:56:22  <ryah>we just have a lot more knowledge of what's happening inside of libuv
18:57:01  <bnoordhuis>but not what's happening outside uv
18:57:29  <ryah>true - but it seems like what's happening outside is realtively simple
18:57:37  <ryah>we hold onto a buffer for some amount of time
18:57:39  <ryah>then release
18:57:58  <ryah>i guess the slowbuffer stuff is complex
18:59:03  <bnoordhuis>want to do the call btw?
18:59:08  <bnoordhuis>bert is on a train so...
19:03:27  * AndroUserchanged nick to henk1944
19:03:45  <ryah>yes
19:05:22  <ryah>bnoordhuis: can you go on skype?
19:06:00  <henk1944>i am on Skype
19:09:38  <henk1944>never mind guys
19:09:53  <henk1944>trains and Skype don't match
19:10:11  <henk1944>ill talk to you tomorrow
19:10:47  <henk1944>ill ask Ben what the status is in 10 minutes
19:11:41  <ryah>henk1944: ok
19:17:31  <bnoordhuis>okay, gotta pick up bert from the train
19:17:36  <bnoordhuis>back in a couple of hours
19:17:37  * mralephjoined
19:20:28  <henk1944>people never cease to amaze me:
19:20:28  <henk1944>https://mobile.twitter.com/#!/classicgenius/status/109302243739701248
19:21:18  * henk1944quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
19:24:11  * brsonjoined
19:54:41  <igorzi>piscisaureus: ryah: i figured out the xp 64bit issue.. SetFileCompletionNotificationModes exists there (not sure why), but returns with ERROR_INVALID_FUNCTION
19:56:09  <ryah>igorzi: im doing a test for uv_fs_fstat
19:57:44  <igorzi>ryah: k
20:48:01  <CIA-52>libuv: Igor Zinkovsky master * r716e8ea / src/win/tcp.c : windows: fix issue with SetFileCompletionNotificationModes on 64bit xp - http://git.io/scVmLA
20:48:24  <igorzi>piscisaureus: ryah: ^------ fixes the xp 64bit issue
20:51:10  <ryah>igorzi: cool
20:51:56  <igorzi>ryah: can you close this issue https://github.com/joyent/node/issues/1621?
20:52:01  <igorzi>https://github.com/joyent/node/issues/1621
21:06:34  <ryah>igorzi: can you review this https://github.com/Skomski/node/commit/34f8d24d857e366bfae0505a42e75fcf525974b3
21:07:03  <ryah>seems reasonable to me
21:15:22  <CIA-52>libuv: Ryan Dahl master * r2e60358 / (src/unix/fs.c test/test-fs.c test/test-list.h): Add test for uv_fs_fstat, implement on unix. - http://git.io/Z92F1w
21:16:43  <CIA-52>node: Ryan Dahl master * r3efcbad / (6 files in 4 dirs):
21:16:43  <CIA-52>node: Upgrade libuv to 2e60358
21:16:43  <CIA-52>node: Fixes #1621. - http://git.io/AFIzpg
21:19:42  * ryahtopic: osx fails https://gist.github.com/1187315 | v0.5.6 issues https://github.com/joyent/node/issues?state=open&milestone=2
21:21:32  <ryah>% grep "implement me" src/unix/fs.c | wc -l
21:21:33  <ryah> 9
21:21:49  <ryah>okay im going to do uv_fs_chmod now
21:23:32  <igorzi>ryah: is what do rss and vsize stand for?
21:26:10  <ryah>rss = bytes of resident memory (4 * 1024 * number of pages in dram), vsize = bytes of the process image
21:26:22  <ryah>including pages on disk
21:27:30  <ryah>amount of virtual memory being used by the process
21:28:58  <igorzi>ok.. then vsize implementation (in that patch) is wrong.. right now it just gets peak ws
21:30:41  <ryah>igorzi: oh okay
21:31:23  <ryah>do they want (QuotaPagedPoolUsage + QuotaNonPagedPoolUsage) * 4 * 1024 ?
21:32:54  <igorzi>no, that won't get vm for the process.. let me find some code that i wrote to get this several years ago, and i'll get back to you
21:33:23  <igorzi>also, vsize - does this include reserved and committed pages? or just committed?
21:33:56  <ryah>committed
21:34:17  <ryah>it's kind of debatable if having this information is useful
21:34:21  <ryah>rss is nice
21:35:45  <igorzi>also, GetFreeMemory and GetTotalMemory - do these return numbers for physical memory for the whole system?
21:35:59  <ryah>yeah
21:37:23  <igorzi>ok, those are fine.. just vsize in GetMemory is incorrect
21:45:07  <igorzi>ryah: to get committed pages for process, NtQuerySystemInformation is called with SystemPerformanceInformation. SYSTEM_PERFORMANCE_INFORMATION.CommittedPages will have the number of committed pages in the process
21:45:57  <igorzi>i can implement that when doing https://github.com/joyent/libuv/issues/140
21:48:13  <ryah>k
21:49:18  <ryah>igorzi: should i land this patch - or should we just wait for libuv#140 ?
21:49:26  <ryah>i dont care either way
21:50:15  <igorzi>ryah: i think we can land it (since rss is useful), but maybe return -1 for vsize?
21:51:35  <ryah>k
21:57:01  <CIA-52>node: Karl Skomski master * r65c2763 / src/platform_win32.cc :
21:57:01  <CIA-52>node: Added some win32 platform functions
21:57:01  <CIA-52>node: Fixes #1617 - http://git.io/B3h5Mg
22:05:03  * johnm1234_quit (Quit: Connection closed for inactivity)
22:36:39  <CIA-52>libuv: Ryan Dahl master * r9f932f9 / (src/unix/fs.c test/test-fs.c test/test-list.h): add test fs_chmod, implement uv_fs_fchmod and uv_fs_chmod on unix - http://git.io/RRXAIg
22:37:14  <DrPizza>igorzi: good grief, that's terrible
22:37:19  <DrPizza>(re: SetFileCompletionNotificationModes)
22:37:20  <ryah>% grep -R "implement me" src/unix/fs.c | wc -l
22:37:20  <ryah> 7
22:56:22  * AndroUser2joined
22:57:09  <AndroUser2>bnoordhuis: f*ck. this was the train to the hague
22:57:29  <bnoordhuis>AndroUser2: oh dear - now what?
22:57:41  <AndroUser2>walk
22:57:47  <AndroUser2>to HS
22:57:55  <bnoordhuis>from hollands spoor?
22:57:57  <AndroUser2>then pray
22:58:52  * AndroUser2quit (Remote host closed the connection)
22:59:05  <ryah>did bert get on the wrong train?
22:59:13  <bnoordhuis>yep
22:59:26  <bnoordhuis>and he's going to get off at the wrong station too...
22:59:40  <bnoordhuis>he should switch trains at hollands spoor
23:00:03  <igorzi>DrPizza: yeah...
23:01:03  <DrPizza>igorzi: does 2003 have it?
23:06:09  <igorzi>DrPizza: i don't think so, but let me check...
23:06:39  <DrPizza>man BUILD can't happen soon enough
23:21:14  * egksjksjhhjoined
23:21:37  <egksjksjhh>hmm too bad
23:22:07  <egksjksjhh>Google maps is pretty accurate
23:24:55  <egksjksjhh>omg so many open bars here
23:25:08  <DrPizza>where?
23:25:49  <egksjksjhh>zuidwal. the Hague
23:26:13  <DrPizza>I always quite liked den haag when I visited for work
23:28:56  <egksjksjhh>yes
23:29:08  <egksjksjhh>I like it too
23:29:21  * egksjksjhhchanged nick to piscisa
23:29:22  <DrPizza>it was odd, it's a small city, but it still felt quite busy
23:29:53  <piscisa>but its not so much fun if you wanna go home but can't
23:30:04  <DrPizza>how come
23:30:05  <DrPizza>what happened?
23:30:37  <piscisa>went drinking with bnoordhuis
23:30:58  <ryah>he's handcuffed to a park bench
23:31:09  <ryah>poor bert :/
23:31:12  <piscisa>heh
23:31:24  <DrPizza>ryah: so a typical night out then
23:31:35  <piscisa>yes
23:32:16  <piscisa>the
23:32:46  <piscisa>physical world is so harsh to me
23:33:31  <DrPizza>did you miss your train or something?
23:34:15  <piscisa>took the wrong one
23:34:22  <piscisa>in a hurry
23:34:38  <DrPizza>doh
23:34:40  <DrPizza>are there any more?
23:35:41  <piscisa>yes
23:35:48  <piscisa>every hour
23:36:20  <piscisa>but I have to walk across the city to get to the right station
23:36:32  <DrPizza>centraal versus HS?
23:36:39  <piscisa>yes
23:36:40  <DrPizza>central*
23:36:43  <DrPizza>yes, it's fucking annoying
23:36:48  <piscisa>gtg to hs
23:36:56  <DrPizza>I once went to HS when I meant to go to central station
23:37:08  <piscisa>heh
23:37:21  <piscisa>central should be closed
23:37:31  <DrPizza>my flight was delayed by fog, so I was in a rush to go to a meeting, wasn't paying enough attention at schiphol
23:37:34  <piscisa>just hs is food enough
23:37:46  <piscisa>*good
23:38:14  <piscisa>u go to den hash often drpizza?
23:38:23  <piscisa>*haag
23:38:24  <DrPizza>not any more
23:38:28  <DrPizza>den hash
23:38:29  <DrPizza>heh
23:38:35  <DrPizza>no, never been to amsterdam
23:39:02  <DrPizza>piscisa: I used to go maybe 3 times/year for 2.5 years
23:39:18  * graydonquit (Quit: Leaving.)
23:39:25  <piscisa>why?
23:40:38  <DrPizza>I was workign at the British Library at the time, and we were working on some pan-european projects that involved the dutch national library and national archive
23:41:07  * mralephquit (Quit: Leaving.)
23:42:13  <piscisa>ah
23:43:00  <piscisa>this alley is very dark and there are gangsters everywhere
23:43:17  <piscisa>maps--
23:43:23  <DrPizza>lol
23:43:27  <DrPizza>can't you get a tram or something?
23:43:41  <piscisa>no
23:44:02  <piscisa>tried to stop a cab; mo luck
23:44:12  <DrPizza>lame
23:55:33  * piscisaquit (Ping timeout: 245 seconds)