00:07:12  * travis-cijoined
00:07:13  <travis-ci>[travis-ci] joyent/libuv#541 (master - 5143d54 : Trond Norbye): The build passed.
00:07:13  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/d4737abd6d1c...5143d54ad36a
00:07:13  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2071426
00:07:13  * travis-cipart
00:10:39  <bnoordhuis>piscisaureus_: 0182. i'll be in the office friday
00:11:23  <bnoordhuis>mmalecki: is tornado cpu bound?
00:11:53  * perezdquit (Quit: perezd)
00:12:05  <mmalecki>bnoordhuis: I don't know its load characteristics off hand. it's been a long time since I last coded in it
00:12:23  <bnoordhuis>seems odd, you'd expect i/o to dominate
00:13:25  <mmalecki>bnoordhuis: it has a python event loop. might be quite related to performance
00:13:44  <CIA-134>node: Ben Noordhuis master * r6b58800 / test/pummel/test-net-connect-econnrefused.js : test: fix pummel/test-net-connect-econnrefused - http://git.io/xNacEA
00:15:09  <bnoordhuis>piscisaureus_: amusing post btw
00:16:02  * EhevuTovquit (Quit: This computer has gone to sleep)
00:16:55  <mmalecki>eh, I wish python had a sane package managment
00:17:04  <mmalecki>*management
00:19:18  * stagasquit (Ping timeout: 240 seconds)
00:25:48  * perezdjoined
00:26:02  <piscisaureus_>ok, I'm heading out
00:26:05  <piscisaureus_>later peepz
00:26:23  <mmalecki>night piscisaureus_
00:26:50  * mcavagequit (Remote host closed the connection)
00:30:34  * piscisaureus_quit (Ping timeout: 248 seconds)
00:33:57  * pooyajoined
00:44:33  * joshthecoderquit (Quit: Leaving...)
00:58:28  * pooyaquit (Quit: pooya)
00:59:45  * c4milojoined
01:02:58  * lohkeypart
01:04:21  * bnoordhuisquit (Ping timeout: 240 seconds)
01:10:39  * mcavagejoined
01:11:21  * stagasjoined
01:13:53  * indexzerojoined
01:29:11  * mcavagequit (Remote host closed the connection)
01:30:33  * blackorzar_joined
01:34:23  * blackorzarquit (Ping timeout: 246 seconds)
01:38:20  * abraxasjoined
01:42:45  * joshthecoderjoined
01:50:35  * bulatshakirzyanojoined
01:58:54  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:00:31  * indexzeroquit (Quit: indexzero)
02:18:21  <mmalecki>tjfontaine: hey
02:18:29  <mmalecki>tjfontaine: where can I find your DNS implementation?
02:18:42  <tjfontaine>github.com/tjfontaine/node-dns
02:18:55  <tjfontaine>please dont' hestitate to let me know where I've screwed up :)
02:19:29  <tjfontaine>mmalecki: also npm native-dns
02:20:54  <tjfontaine>though I haven't yet published a new version I still want to do what bmeck wants for that
02:21:16  <mmalecki>tjfontaine: what does he want?
02:21:31  <mmalecki>also, I think I'll be putting together a dns-parser module
02:21:39  <mmalecki>standalone parser for DNS packets
02:21:53  <tjfontaine>to move the socket factory into a field for my `Request` class
02:22:22  <tjfontaine>mmalecki: ok, why do you need a separate module for parsing?
02:22:55  <skmpy>tjfontaine: streaming parser?
02:23:04  <mmalecki>tjfontaine: I'll know when I finish it
02:23:26  <skmpy>streaming parser would be nice for dns over tcp
02:23:42  <tjfontaine>skmpy: it rarely happens like that, but ok
02:23:42  <mmalecki>tjfontaine: for some reason this thing has to be as effective as possible and I feel like breaking things up as much as possible
02:23:55  <mmalecki>so that I can benchmark things separately
02:24:05  <skmpy>tjfontaine: yes but it's required by rfc 1123 :P
02:24:21  <skmpy>also axfr
02:24:41  <tjfontaine>skmpy: well, yes but that's also outside the scope of the project
02:25:00  <tjfontaine>mmalecki: ok, well if you reuse or find inefficencies in my work please let me know
02:25:37  <tjfontaine>mmalecki: it doesn't perform as well as c-ares as far as the loop is concerned, but I'm not sure how much of that is my fault
02:25:52  <mmalecki>tjfontaine: sure, will do
02:26:28  <mmalecki>you have benchmarks already, which is very cool
02:27:02  <tjfontaine>mmalecki: if you are about to make a load-balancing dns server implementation I'd like to give you my resume because it's the reason I wrote the module :P
02:27:22  <mmalecki>tjfontaine: I MIGHT OR MIGHT NOT BE WORKING ON IT.
02:27:48  <mmalecki>well, not strictly load balancing
02:28:55  <tjfontaine>the code is not there yet and it's really truly awful, but that was the plan https://github.com/tjfontaine/dnsbalance
02:29:26  <tjfontaine>taking what I had learned from implementing the solution for OFTC and turning it into a service
02:30:48  * blackorzar_quit (Read error: Connection reset by peer)
02:31:24  <mmalecki>what's OFTC?
02:31:45  <tjfontaine>when OPN changed to freenode there was a split and created OFTC
02:32:10  <mmalecki>I see
02:32:48  <tjfontaine>make sure you support http://tools.ietf.org/id/draft-vandergaast-edns-client-subnet-01.txt :)
02:33:01  <mmalecki>this is the moment when I realize that I have no idea on how to write a DNS parser.
02:34:00  <tjfontaine>the hard part really is label decompression
02:34:26  <tjfontaine>have you looked at bmecks as well?
02:34:50  <mmalecki>yeah, I'm looking at it now
02:34:58  <mmalecki>but he's using 4 space indent
02:35:01  <tjfontaine>heh
02:35:03  <skmpy>ndns :)
02:35:10  <tjfontaine>ndns is unlicensed
02:35:11  <mmalecki>which makes my eyes bleed. not very effective.
02:35:31  <tjfontaine>the fact that ndns is unlicensed is the reason I wrote my own
02:35:55  <mmalecki>these https://github.com/bmeck/node-protocols/blob/master/dns.js#L428 are going to be pretty slow
02:36:25  <tjfontaine>ya, I had to move away from that style
02:39:17  <mmalecki>on a totally unrelated note, it's 4:38 and I want a pizza
02:39:25  <mmalecki>and there's nobody to make it for me :/
02:39:45  <mmalecki>why are all pizza places closed I don't even
02:39:52  <tjfontaine>bread ketchup peperoni cheese and a microwave
02:40:03  <tjfontaine>:)
02:40:28  <mmalecki>that, sir, sounds pretty ghetto
02:40:35  <mmalecki>also, I don't have any bread at my place
02:40:35  <tjfontaine>heh
02:40:52  <mmalecki>actually, I only have ketchup and a microwave
02:41:22  <tjfontaine>add some water and you can have tomato soup (as my english teacher used to say)
02:41:39  <mmalecki>I guess I'll just wait until some restaurant opens
02:42:07  <tjfontaine>only a couple hours I gues
02:42:08  <tjfontaine>s
02:42:41  <mmalecki>yeah, you can get pretty decent food at 8 AM already
02:42:42  * brsonquit (Ping timeout: 245 seconds)
02:43:10  <mmalecki>except, I'll be passed out at 8 AM
02:43:24  <tjfontaine>no sunrise shops at 5:30 or 6?
02:44:53  <mmalecki>but I'd need to prepare it myself
02:45:04  <mmalecki>this, uhm, can get messy.
02:45:16  <tjfontaine>really? there are places that open for truck drivers around 5:30
02:45:18  <tjfontaine>or 5
02:45:31  <tjfontaine>in rural america
02:46:05  <mmalecki>ACTUALLY
02:46:09  <mmalecki>gas station!
02:46:13  <mmalecki>they have hot dogs there!
02:46:36  <tjfontaine>:)
02:47:12  <mmalecki>you might've just saved my life, sir.
02:48:20  <tjfontaine>you say that now before the heartburn
02:48:47  <mmalecki>:D
02:48:58  <mmalecki>oh man, I used to get those
02:49:09  <mmalecki>but now I stopped doing drugs so hard
02:49:37  <tjfontaine>hehe
02:49:54  * skmpyquit (Quit: leaving)
02:51:31  <mmalecki>ircretary: tell bradleymeck do you have any benchmarks for dns in your node-protocols?
02:51:32  <ircretary>mmalecki: I'll be sure to tell bradleymeck
02:51:49  <mmalecki>ircretary: thanks
02:51:50  <ircretary>mmalecki: You're welcome :)
03:04:46  <mmalecki>hmm... interesting...
03:05:04  <mmalecki>array in holes in it has bigger lookup time than one with no holes
03:05:46  * TooTallNatejoined
03:12:57  <isaacs>TooTallNate: ping
03:13:08  <TooTallNate>pong
03:13:15  <isaacs>TooTallNate: So... these binary dists. I was thinking it might be handy to make them just a tad bit fancier.
03:13:24  <isaacs>TooTallNate: maybe this is a bad idea.
03:13:34  <isaacs>but like, there's no way to do ./configure --without-npm on them
03:13:57  <isaacs>and the docs aren't included, which is not so great (as i mentioned, and we kinda just didn't really decide on)
03:14:12  <isaacs>TooTallNate: but what if we included like a very minimal Makefile
03:14:42  <TooTallNate>that did just copying basically?
03:14:46  <isaacs>that basically *just* has install: <copy all the the things> uninstall: <rm all the things>
03:14:59  <isaacs>and a very basic ./configure that could set the destdir and whether or not you installed the docs and npm
03:15:11  <isaacs>and put the docs in ./<prefix>/share/docs/node/...
03:15:25  <TooTallNate>probably be better as an install.sh script
03:15:29  <isaacs>like i said, might be a bad idea
03:15:56  <TooTallNate>i mean i'm open
03:16:25  <isaacs>so, personally, i have found that `curl $tar | tar xz --strip=1 && ./configure && make install` ought to always work
03:16:28  <isaacs>for any code thing
03:16:37  <isaacs>but i guess the./configure is pretty much just for code stuff
03:16:57  <isaacs>in the past, i've put empty executable configure scripts, just so that muscle-memory will work
03:17:06  <TooTallNate>haha
03:17:45  <isaacs>also, "install" cannot be the default, beause people will do `make && sudo make install` a lot
03:17:49  <TooTallNate>ya `curl $tar | tar xz --strip=1 && ./configure && make install` seems like a good "fit"
03:17:56  <isaacs>when this pattern does not work, i get rageful immediately.
03:18:12  <isaacs>it's probably my biggest beef with riak
03:18:16  * brsonjoined
03:18:23  <isaacs>make rel? srsly? are you fucking kidding me?
03:18:32  <isaacs>then i have to cp rel/bin/* manually?
03:18:38  <TooTallNate>ouch
03:18:43  <isaacs>oh, it's pretty awful
03:18:47  <isaacs>the first time
03:18:56  <isaacs>but like, for people who are not in this chat room, "first time" is every time
03:19:10  <isaacs>most people dont' sit around installing node all day long :)
03:19:12  <mmalecki>isaacs: erlang folks have been weird since always ;)
03:19:18  <isaacs>mmalecki: true that
03:19:40  <isaacs>anyway, it's pretty common for a dist tarball to have stuff like INSTALLING, LICENSE, etc.
03:19:55  <isaacs>in fact, we're probably violating something with 0.8.6
03:21:01  <isaacs>oh, actually, no, we include the license
03:21:17  <TooTallNate>I'm rigging the learn boost bot
03:21:18  <TooTallNate>https://gist.github.com/ab82a61562c5b95725fc
03:21:40  <TooTallNate>no one will see it coming
03:21:46  * TooTallNatemwa ha ha ha!!!
03:22:03  <mmalecki>TooTallNate: I'm too scared to open that URL
03:22:12  <TooTallNate>you should be
03:22:20  <mmalecki>that makes me want to open it
03:22:24  <mmalecki>YOU'RE NOT HELPING
03:22:27  <isaacs>LOL!
03:22:52  <mmalecki>TooTallNate: I hate you.
03:23:01  <TooTallNate>hahaha
03:23:28  <TooTallNate>our issue tracker is infested with that link
03:23:41  <TooTallNate>and everyone just tries to "get" one another with it
03:23:45  <TooTallNate>using url shorteners
03:24:08  <isaacs>TooTallNate: what is this bot?
03:24:31  <TooTallNate>"github-feed-watcher"
03:24:39  <TooTallNate>i don't think it's open source (yet)
03:24:43  <isaacs>oh, hahah
03:24:50  <isaacs>like, it posts into a chat room or osmething?
03:26:09  <TooTallNate>ya it polls the LB github .atom news feed and relays everything
03:26:15  <isaacs>nice
03:26:26  <TooTallNate>it's only like 200 loc, pretty basic
03:27:07  <TooTallNate>isaacs: anyways, +1 to your idea
03:28:11  <isaacs>i wonder if INSTALLING, Makefile, and configure and LICENSE belong at the top level
03:28:19  <isaacs>maybe still should be in a subfolder.
03:30:45  * c4miloquit (Remote host closed the connection)
03:31:10  <mmalecki>semantics is hard.
03:31:42  <mmalecki>isaacs: so, do you want to be able to drop things with a simple tar?
03:32:19  <mmalecki>if so, the best solution would be to put them at the top level so that people can use --ignore-components and simply unpack stuff into $PREFIX
03:32:26  <mmalecki>which is what I'd opt for
03:33:23  <mmalecki>then, if they prefered more sophisticated setup, they'd unpack it like a regular tarball and run ./configure/whatever
03:33:39  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
03:34:24  <TooTallNate>mmalecki: well you can already do: $ curl http://nodejs.org/dist/v0.8.6/node-v0.8.6-linux-x64.tar.gz | tar xzvf - --strip=1 -C /usr/local
03:34:46  <mmalecki>yeah, --strip is what I meant by --ignore-components
03:34:48  <kohai>yeah has 0 beer
03:35:01  <mmalecki>I'm wondering who did 'yeah++'.
03:35:10  <TooTallNate>haha
03:36:30  * bulatshakirzyanojoined
03:37:41  * indexzerojoined
03:44:44  * mmaleckiquit (Quit: Lost terminal)
03:45:09  * mmaleckijoined
03:48:00  * xaqjoined
03:59:13  * brsonquit (Ping timeout: 246 seconds)
03:59:34  * blackorzarjoined
04:01:00  * brsonjoined
04:04:12  * indexzeroquit (Quit: indexzero)
04:09:00  * beachdogquit (Read error: Connection reset by peer)
04:09:00  * beachdog_joined
04:32:51  * mikealjoined
04:45:21  * charliesomejoined
05:17:24  * mikealquit (Quit: Leaving.)
05:21:43  * indexzerojoined
05:30:54  * mmaleckichanged nick to mmalecki[zzz]
05:37:55  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
05:41:44  * kevinswiberjoined
05:51:01  * bulatshakirzyanojoined
06:10:07  * xaqquit (Remote host closed the connection)
06:12:08  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
06:20:17  * AvianFluquit (Quit: AvianFlu)
06:24:33  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
06:36:52  * brsonquit (Ping timeout: 248 seconds)
06:37:44  * blackorzar_joined
06:38:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
06:40:51  * blackorzarquit (Ping timeout: 268 seconds)
06:54:39  * rendarjoined
07:10:27  * stephankquit (Quit: *Poof!*)
07:15:58  * perezdquit (Quit: perezd)
07:16:02  * hzjoined
07:17:34  * blackorzarjoined
07:21:34  * blackorzar_quit (Ping timeout: 246 seconds)
07:39:51  * theColejoined
07:53:26  * theColequit (Quit: theCole)
08:06:21  * blackorzarquit (Ping timeout: 240 seconds)
08:13:41  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
08:27:04  * `3rdEdenjoined
08:57:25  * stagasjoined
09:06:42  * theColejoined
09:19:42  * piscisaureus_joined
09:58:23  * stagasquit (Ping timeout: 246 seconds)
10:04:34  * loladirojoined
10:09:58  * indexzeroquit (Quit: indexzero)
10:15:37  * piscisaureus_quit (Ping timeout: 240 seconds)
10:16:01  * stagasjoined
10:32:20  * stagasquit (Ping timeout: 246 seconds)
11:28:42  * chobi_e_quit (Ping timeout: 256 seconds)
11:31:34  * piscisaureus_joined
11:42:04  * kevinswiberquit (Remote host closed the connection)
11:50:00  * abraxasquit (Remote host closed the connection)
12:03:06  * mmalecki[zzz]changed nick to mmalecki
12:17:40  * AvianFlujoined
12:18:57  * Benviequit
12:22:08  * AvianFlu_joined
12:22:19  * AvianFluquit (Disconnected by services)
12:22:20  * AvianFlu_changed nick to AvianFlu
12:30:58  * AvianFlu_joined
12:32:22  * AvianFluquit (Disconnected by services)
12:32:22  * AvianFlu_changed nick to AvianFlu
12:33:01  * piscisaureus_quit (Ping timeout: 265 seconds)
12:43:25  * piscisaureus_joined
13:02:46  * beachdog_quit (Remote host closed the connection)
13:05:24  * bnoordhuisjoined
13:06:21  * charliesomequit (Quit: Textual IRC Client: www.textualapp.com)
13:09:35  * kohaiquit (Remote host closed the connection)
13:10:48  * kohaijoined
13:18:35  * `3rdEdenchanged nick to turdEden
13:20:45  * beachdogjoined
13:23:32  * theColequit (Quit: theCole)
13:23:53  * turdEdenchanged nick to `3rdEden
13:24:04  * theColejoined
13:37:14  * stagasjoined
13:40:25  * kevinswiberjoined
13:43:51  * hzquit (Ping timeout: 272 seconds)
13:44:12  * stagasquit (Quit: Bye)
13:45:32  * beachdogquit (Remote host closed the connection)
13:46:03  * beachdogjoined
13:46:25  * stagasjoined
13:47:25  <bnoordhuis>indutny: https://github.com/indutny/node-netroute/blob/master/src/netroute.cc <- sunos only?
13:47:38  <indutny>bnoordhuis: works fine on osx
13:47:42  <indutny>and should work on linux too
13:47:49  <indutny>man 8 route
13:47:59  <indutny>err
13:48:01  <indutny>man 4 route
13:48:57  <bnoordhuis>doesn't compile
13:49:05  <bnoordhuis>let's see if i can fix it up
13:49:53  <bnoordhuis>oh, rt_msghdr - no such thing on linux
13:50:09  * beachdogquit (Remote host closed the connection)
13:55:30  <indutny>bnoordhuis: huh
13:55:33  <indutny>bnoordhuis: interesting
13:55:41  <indutny>bnoordhuis: probably they have something else
13:55:48  <bnoordhuis>indutny: yes, netlink
13:55:51  <indutny>because I'm quite sure that route socket exists in linux too
13:56:07  <bnoordhuis>true, but AF_ROUTE is an alias for AF_NETLINK
13:56:11  <indutny>bnoordhuis: would it be hard for you to port it?
13:56:17  <bnoordhuis>i'll give it a spin
13:56:19  <indutny>bnoordhuis: yes yes
13:56:21  <indutny>bnoordhuis: thanks man
13:56:36  <indutny>bnoordhuis: I think we can get more route information from this socke
13:56:44  <indutny>though, I hadn't found any real use for other info atm
13:56:59  <indutny>but anyway I called it netroute
14:03:07  * c4milojoined
14:05:44  * beachdogjoined
14:13:17  * beachdog_joined
14:13:32  * beachdogquit (Remote host closed the connection)
14:14:10  * blackorzarjoined
14:16:49  <bnoordhuis>indutny: looking up the routing table is not an issue, looking up what route applies to a single ip address is
14:16:59  <bnoordhuis>there's no syscall or ioctl for that on linux
14:18:05  <indutny>hm...
14:18:06  <indutny>well
14:18:20  <indutny>I can remove IP address from .getGateway arguments
14:18:25  <indutny>that's not really a problem
14:25:45  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
14:34:07  <indutny>bnoordhuis: removed IP argument
14:38:59  <bnoordhuis>indutny: https://github.com/bnoordhuis/node-netroute/compare/linux-support <- quick hack with some code i had lying around
14:39:16  <bnoordhuis>needs to be made to conform to the api of course
14:40:34  <indutny>bnoordhuis: good
14:40:35  <indutny>thank you
14:42:03  * c4milo_joined
14:42:14  * c4miloquit (Ping timeout: 246 seconds)
14:42:36  <bnoordhuis>indutny: is getGateway() supposed to return a single ip address?
14:43:26  <indutny>yes
14:45:37  <bnoordhuis>indutny: hah, okay. this is what it prints on linux now :) https://gist.github.com/937c2172bd6df108d0c7
14:45:39  * theColequit (Quit: theCole)
14:46:01  <bnoordhuis>easy to fix of course
14:46:10  <bnoordhuis>but how do you handle systems that are on more than one network?
14:46:30  <indutny>not atm
14:48:04  <indutny>it's quite client-side stuff
14:51:05  <indutny>wow, that's quite detailed
14:51:35  * blackorzar_joined
14:51:58  <indutny>bnoordhuis: I wonder if can get the same stuff from unix APIs
14:52:31  <bnoordhuis>indutny: maybe not everything. most should be obtainable somehow
14:52:38  <indutny>well, yes
14:52:44  <indutny>route get 8.8.8.8 :)
14:52:54  <indutny>not really detailed
14:53:00  <indutny> route to: google-public-dns-a.google.com
14:53:00  <indutny>destination: default
14:53:00  <indutny> mask: default
14:53:00  <indutny> gateway: 192.168.10.1
14:53:00  <indutny> interface: en1
14:53:00  <indutny> flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
14:55:11  * blackorzarquit (Ping timeout: 246 seconds)
14:57:43  <indutny>bnoordhuis: I wonder why gateway is 0.0.0.0 in many cases
14:58:02  <tjfontaine>isaacs: mr domains, is there anything that setImmediate needs to do wrt domains or is that hanlded through MakeCallback? I notice setInterval doesn't need to do anything for it
15:02:41  <bnoordhuis>indutny: because there is no gateway, i.e. immediate hop / local network
15:02:46  <indutny>ok
15:02:49  <bnoordhuis>err, single hop
15:02:52  <indutny>what about netmask?
15:02:58  <indutny>the same thing?
15:02:58  <bnoordhuis>what about it?
15:03:02  <indutny>0.0.0.0
15:03:32  <bnoordhuis>oh, right - yes
15:04:06  <bnoordhuis>indutny: it corresponds with this: $ route -n
15:04:06  <bnoordhuis>Kernel IP routing table
15:04:06  <bnoordhuis>Destination Gateway Genmask Flags Metric Ref Use Iface
15:04:06  <bnoordhuis>0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
15:04:06  <bnoordhuis>169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
15:04:06  <bnoordhuis>192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
15:04:08  <bnoordhuis>192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
15:04:25  <indutny>nice
15:04:29  <indutny>no such thing on osx
15:04:37  <indutny>I think only one gateway is used at the time
15:04:45  <indutny>at least for accessing internet
15:05:18  <isaacs>tjfontaine: it's all handled through MakeCallback
15:05:26  <tjfontaine>isaacs: ok good
15:05:42  <isaacs>tjfontaine: i think there's something to do to set the Timer object with a link to process.domain
15:05:51  <isaacs>tjfontaine: look at what setTimeout and setInterval do
15:06:14  <bnoordhuis>indutny: really? sounds implausible
15:06:36  <bnoordhuis>i mean freebsd handles multiple gateways and os x is mostly freebsd with a slicker interface
15:07:05  <isaacs>bnoordhuis, piscisaureus_, TooTallNate, indutny: skype in 1 hr
15:07:08  <tjfontaine>isaacs: ok, I see what needs to be added, this needs to be fixed for the unref'd `setTimeout`s as well
15:07:25  * theColejoined
15:08:40  <bnoordhuis>isaacs: i may skip, my microphone isn't working
15:09:27  <indutny>isaacs: I may skip too
15:09:32  <indutny>my head really isn't working
15:10:49  * mmaleckiquit (Quit: leaving)
15:11:01  <piscisaureus_>hmm
15:11:09  <piscisaureus_>every time I look at libuv code I find bugs
15:11:12  <piscisaureus_>:-(
15:11:18  <piscisaureus_>esp. when it's code I didn't write myself...
15:11:31  <tjfontaine>so you're infalible?
15:11:55  * mcavagejoined
15:12:06  <piscisaureus_>yes
15:12:10  <tjfontaine>hehe
15:12:20  <piscisaureus_>we all knew that already, right?
15:12:55  <tjfontaine>indeed
15:21:05  * dylangjoined
15:29:56  * hzjoined
15:44:14  * `3rdEdenquit (Quit: Leaving...)
15:46:30  <piscisaureus_>isaacs: yep, I'll be there
15:46:40  <isaacs>piscisaureus_: might just me me and you.
15:46:46  <isaacs>that's ok
15:46:52  <isaacs>we're the only important ones in node anyway.
15:46:57  <piscisaureus_>sure
15:46:59  <isaacs>;)
15:47:02  <piscisaureus_>let's cut some decisions
15:47:06  <isaacs>srsly
15:47:07  <piscisaureus_>Ok, rebooting now...
15:47:09  <piscisaureus_>:-(
15:47:15  <isaacs>like dropping linux support
15:47:17  <isaacs>who uses that anyway?
15:47:18  <piscisaureus_>yeah
15:47:25  <isaacs>os x, smartos, windows. done.
15:47:31  <piscisaureus_>sure
15:47:37  <piscisaureus_>the less unices the better anyway
15:47:40  <piscisaureus_>I mean, develop on mac, sure
15:47:43  <piscisaureus_>but deploy
15:47:43  <isaacs>for reals
15:47:51  <piscisaureus_>you'd surely use windows right
15:47:52  <piscisaureus_>anywa
15:48:03  <piscisaureus_>I have to turn my mac off ... c u in a minute
15:48:09  <isaacs>k
15:48:09  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
15:51:22  * stephankjoined
15:51:38  * theColequit (Ping timeout: 248 seconds)
15:53:49  * TooTallNatejoined
15:57:30  * pooyajoined
16:02:36  * piscisaureus_joined
16:08:57  * theColejoined
16:10:07  * perezdjoined
16:10:23  * AvianFlu_joined
16:12:34  * AvianFluquit (Disconnected by services)
16:12:35  * AvianFlu_changed nick to AvianFlu
16:20:14  * AvianFlu_joined
16:20:35  * AvianFluquit (Disconnected by services)
16:20:36  * AvianFlu_changed nick to AvianFlu
16:25:40  * loladiropart
16:28:43  * AvianFlu_joined
16:28:45  * AvianFluquit (Read error: Connection reset by peer)
16:28:46  * AvianFlu_changed nick to AvianFlu
16:38:38  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
16:39:56  * piscisaureus_joined
17:03:47  * ryahwaves
17:06:29  * indutnywaves
17:06:31  <indutny>howdy?
17:10:25  <ryah>:)
17:10:33  <indutny>looks like fine :D
17:12:56  <ryah>"howdy" isn't usually used as a question - even though it comes from it
17:13:07  <ryah>it's just "howdy."
17:13:13  <indutny>k
17:13:17  <ryah>;)
17:13:20  <indutny>howdy
17:13:25  <ryah>i'm good though
17:13:30  <ryah>how do you do?
17:13:33  <indutny>howdy
17:13:41  <indutny>hahahaha
17:13:47  <indutny>I'm fine
17:14:00  <indutny>dealing with routers, xml, udp and gateways
17:14:05  <indutny>totally fucked up :D
17:16:26  <piscisaureus_>howdy
17:17:21  <indutny>howdy
17:17:26  <indutny>malkovich malkovich
17:17:28  <indutny>malkovich
17:17:32  * stagasjoined
17:17:38  <indutny>malkovich
17:17:44  <piscisaureus_>wut?
17:18:00  * indutnytopic: Malkovich. Malkovich. Malkovich. http://piscisaureus.no.de/libuv/latest
17:18:12  <indutny>have you seen "Beeing John Malkovich"?
17:18:22  <piscisaureus_>ryah: what's up? Are you entertaining yourself?
17:22:19  <ryah>piscisaureus_: im chilling
17:22:27  <piscisaureus_>ryah: chill
17:22:27  <ryah>just went hiking in the sierras
17:22:32  <ryah>https://github.com/joyent/node/issues/3849 <--
17:22:36  <ryah>i want this
17:22:59  <piscisaureus_>ryah: I don't really see the point
17:23:05  <ryah>it's pretty difficult to do right
17:23:10  <ryah>and i think everyone uses it
17:23:15  <piscisaureus_>ryah: so, "npm install static"
17:23:24  <indutny>-1 for this
17:23:47  <ryah>http://golang.org/pkg/net/http/#FileServer
17:23:50  <piscisaureus_>ryah: the problem is that you want to "join" this handler with custom handlers
17:23:51  <indutny>fuck go
17:24:03  <ryah>yes, we should have a server mux
17:24:17  <piscisaureus_>ryah: so basically what you want is res.sendFile(path) :-)
17:24:34  <ryah>no, i want etags and all that shit
17:24:53  <piscisaureus_>ryah: ok, res.serverFile then
17:25:03  <piscisaureus_>*serverFile
17:25:09  <piscisaureus_>and it sends 304 if the etag matches
17:25:13  <ryah>i would really like us to properly do sendfile() calls
17:25:19  <ryah>does libuv even support sendfile?
17:25:20  <indutny>em... is it really hard to do it in addon?
17:25:28  <piscisaureus_>ryah: it does, poorly
17:25:34  <piscisaureus_>ryah: e.g. in a thread pool
17:25:42  <indutny>we do not need it in core, definitely
17:26:06  <indutny>separate process - separate server
17:26:06  <ryah>the problem is that the experts needed to implement sendfile() in libuv are not working on the "static" module
17:26:32  <indutny>that's the problem of APIs, not a loss of functionality in core
17:26:41  <ryah>*shrug*
17:26:47  <ryah>maybe you're right
17:27:02  <piscisaureus_>basically what you want is connect-light :-)
17:27:17  <piscisaureus_>sure, the experts are not working on it
17:27:25  <ryah>yeah
17:27:31  <piscisaureus_>but the problem is also that the experts kind of busy atm...
17:27:35  <ryah>heh
17:27:46  <ryah>i bet - what are you guys working on?
17:27:55  <piscisaureus_>a sec
17:28:06  <ryah>http://eli.thegreenplace.net/2012/08/07/fundamental-concepts-of-plugin-infrastructures/ http://blog.phusion.nl/2012/08/03/why-rails-4-live-streaming-is-a-big-deal/
17:28:09  <ryah>^-- required reading
17:29:16  <indutny>am I expert?
17:29:37  <indutny>I feel myself more like excerpt
17:30:07  <ryah>of course :P
17:30:15  <indutny>ok, I'm busy too then
17:30:16  <indutny>:D
17:30:24  * arlolrajoined
17:30:39  <piscisaureus_>ryah: when I have time to spare, I'm doing experiments to make fs faster
17:30:43  <piscisaureus_>with memory mappings and stuff
17:31:04  <piscisaureus_>ryah: ben is ripping out libev
17:31:17  <piscisaureus_>ryah: and there are often other bugs to fix
17:31:24  <piscisaureus_>most of the time, actually
17:32:01  <ryah>oh, those sound like good projects
17:32:13  <ryah>really hope libuv doesn't depend on libc in the future
17:32:22  <ryah>what about CRT?
17:32:24  <piscisaureus_>ryah: haha, I don't think that is going to happen
17:32:31  * pooyaquit (Quit: pooya)
17:32:36  <ryah>can we loosen the CRT dep?
17:32:54  <piscisaureus_>ryah: not really - we will probably end up not using any io functions from the crt (almost there, even)
17:32:57  <ryah>and by loosen i mean remove
17:33:10  <piscisaureus_>but then we'd have to implement fprintf and stuff
17:33:10  <piscisaureus_>meh
17:33:16  * joshthecoderjoined
17:33:23  <piscisaureus_>besides, v8 also relies on the crt
17:33:25  * pooyajoined
17:33:29  <piscisaureus_>and all our compiled extensions
17:33:36  <ryah>i see..
17:33:42  <piscisaureus_>I hate the crt - don't get me wrong
17:33:48  <ryah>yeah, too bad
17:34:11  <piscisaureus_>but I think we can get rid of most other stuff
17:34:47  <piscisaureus_>-framework CoreServices has to go away
17:34:52  <ryah>yeah
17:34:53  <ryah>that would be nice
17:35:02  <ryah>it's needed for the process title stuff?
17:35:04  <ryah>or what?
17:35:15  <piscisaureus_>I think we're using only some time function from it
17:35:30  <piscisaureus_>sounds like ... TicksToSeconds
17:35:49  <piscisaureus_>I don't know what's up with the process title, does that even work at all on mac?
17:35:54  <piscisaureus_>(who here uses a mac?)
17:36:05  <ryah>not i
17:36:39  <indutny>no, it doesn't
17:36:52  * perezdquit (Quit: perezd)
17:36:56  * piscisaureus_sollicits patch for that
17:37:00  <piscisaureus_>it used to work in node
17:37:29  <piscisaureus_>ryah: I hear Joyent is hiring. Maybe you can apply?
17:37:41  * ryahstill works at joyent
17:37:42  <piscisaureus_>ryah: they will pay you for doing some nerdcore stuff in libuv
17:38:05  <indutny>how are we going to remove crt from libuv?
17:38:05  <ryah>nah, libuv bores me
17:38:07  <indutny>what about errno
17:38:10  <ryah>im happy you guys are doing it :)
17:38:15  <indutny>hahaha
17:38:27  <piscisaureus_>yeah, infact it bores me too
17:38:32  <piscisaureus_>I am starting libov
17:38:32  <indutny>bnoordhuis: btw, can I merge async sessions in master?
17:38:39  <indutny>does latest patch looks good to you
17:38:42  * perezdjoined
17:38:50  <ryah>i would really like someone to do a http server on top of libuv
17:38:52  <ryah>as a c lib
17:38:54  <ryah>(or c++)
17:38:59  <ryah>minimal
17:39:03  <ryah>but support file serving
17:39:11  <ryah>and multithreaded accept
17:39:28  <indutny>do you think it'll behave better than chunk of forks listening on one socket?
17:39:50  <indutny>eventloop requires some additional work
17:40:01  <indutny>managing queues and all the stuff
17:53:50  * brsonjoined
18:05:37  <indutny>bnoordhuis: yt?
18:08:16  <bnoordhuis>indutny: ih
18:08:17  <joshthecoder>ryah: maybe have a contest who can write the smallest and fastest http server :)
18:09:07  <isaacs>ryah: putting static file serving in core scares me a lot.
18:09:27  <indutny>bnoordhuis: I'm going to port my code to sysctl
18:09:40  <indutny>bnoordhuis: apparently PF_ROUTE socket doesn't allow dumping all route info
18:09:52  <indutny>does linux have PF_ROUTE sysctl?
18:10:03  <ryah>indutny: what are you working on?
18:10:10  <indutny>ryah: getting gateway address :D
18:10:17  <indutny>http://github.com/indutny/node-netroute
18:10:17  <ryah>why?
18:10:20  <indutny>and other routing info
18:10:25  <indutny>because nat-pmp needs that
18:10:33  <indutny>because vock needs something to map ports
18:10:38  <ryah>ah
18:10:39  <ryah>great
18:10:56  <indutny>I'm working on upnp stuff too atm
18:11:48  <bnoordhuis>indutny: no. everything is done with /proc
18:11:48  <TooTallNate>indutny: do you have the upnp stuff up?
18:12:56  <indutny>TooTallNate: not really
18:13:00  <indutny>TooTallNate: I just got discovery working
18:13:14  <indutny>it'll contain only IGD-specific stuff
18:13:17  <indutny>no realy upnp
18:13:21  <indutny>s/realy/real
18:13:32  <TooTallNate>ya, that's understandable
18:13:47  <TooTallNate>it'd be sweet if someone wrote the media server one
18:13:56  <indutny>heh
18:14:00  <indutny>why?
18:14:05  <indutny>what does work with it well?
18:14:29  <TooTallNate>ps3 and xbox360 are clients
18:14:58  <TooTallNate>and i've used "ps3 media server" in the past, but it's java and I felt like I could do it better in node :p
18:15:02  <TooTallNate>just never got around to it
18:15:29  <indutny>heh
18:15:41  <indutny>yes, you need to work a lot with HTTP over UDP and XML
18:15:53  <indutny>bnoordhuis: I need your help :D
18:16:01  <indutny>bnoordhuis: are you familiar with that sysctl stuff?
18:16:08  <tjfontaine>I did something similar to handle streaming to ios devices, but I saw no point in really going for dlna
18:16:09  <indutny>bnoordhuis: how can I get ip6 addresses from it?
18:16:26  * beachdog_quit (Remote host closed the connection)
18:20:26  <isaacs>ryah: would it cache the file contents? i guess there could just be an api to say how much to cache...
18:20:30  <tjfontaine>indutny: /proc/net/if_inet6?
18:20:50  <isaacs>maybe we should just bring back sendfile in a good way, and write a static serving module that is good and uses it, and put that on npm :)
18:21:06  <ryah>isaacs: probably it should cache open fds
18:21:07  * stagas_joined
18:21:17  <ryah>but not the contents
18:21:21  <ryah>(that's what nginx does)
18:21:50  <ryah>(the file system has a cache layer)
18:22:45  * stagasquit (Ping timeout: 252 seconds)
18:22:46  * stagas_changed nick to stagas
18:24:53  <indutny>tjfontaine: no, but I've figured out
18:25:16  <tjfontaine>indutny: what were you actually looking for?
18:25:27  <indutny>tjfontaine: routing table
18:25:28  <indutny>on osx
18:25:36  <indutny>I did it
18:25:38  <indutny>no worries
18:25:55  <tjfontaine>last I saw you guys were talking about proc, sorry
18:27:00  <isaacs>ryah: that's a good idea.
18:27:09  <isaacs>ryah: i do sometimes want to cache the actual contents, though
18:27:21  <isaacs>like, "read this whole directory, sync, right now. then serve it from memory"
18:27:29  * isaacsbbiab
18:33:53  <indutny>is that valid IP6 address: "fe80:1::" ?
18:36:57  <bnoordhuis>indutny: what sysctls?
18:37:12  <bnoordhuis>that's a valid address btw
18:38:19  * pooyaquit (Quit: pooya)
18:39:24  <indutny>bnoordhuis: yeah, try to pass it to net.isIP in node.js
18:40:14  <tjfontaine>net.isIP('fe80:1::')
18:40:15  <tjfontaine>6
18:40:44  <indutny>em
18:40:47  <indutny>node -v ?
18:40:56  <indutny>have we fixed it in latest releases?
18:41:01  <indutny>I think I'm still sitting on 0.8.3
18:41:05  <bnoordhuis>old
18:41:06  * pooyajoined
18:41:16  <bnoordhuis>and yes, i landed a PR a couple of days ago
18:41:20  <tjfontaine>thta was amster, and yes
18:41:44  <indutny>ok
18:41:49  <indutny>will it be backported to 0.8.x?
18:42:01  <tjfontaine>I think it was
18:42:08  <indutny>I can't say I really need it
18:42:14  <indutny>but just good to know that it's fixed
18:43:06  <tjfontaine>well it is in master, i don't see it in .8
18:44:41  * hzquit (Ping timeout: 272 seconds)
18:48:49  * loladirojoined
18:51:39  <ryah>lmost
18:52:22  * hzjoined
18:55:59  <indutny>ryah: what?
18:56:19  <ryah>wrong window
18:56:25  <indutny>k
18:56:41  * AvianFlu_joined
18:57:17  * theColequit (Quit: theCole)
18:58:47  * AvianFluquit (Ping timeout: 246 seconds)
18:58:48  * AvianFlu_changed nick to AvianFlu
19:04:28  * AvianFlu_joined
19:05:13  * arlolra_joined
19:05:13  * arlolraquit (Read error: Connection reset by peer)
19:05:14  * arlolra_quit (Client Quit)
19:07:48  * AvianFluquit (Ping timeout: 276 seconds)
19:07:48  * AvianFlu_changed nick to AvianFlu
19:11:42  <indutny>bnoordhuis: https://github.com/indutny/node-netroute/commit/4d164cd
19:11:58  <indutny>bnoordhuis: sockets are good and everything
19:12:10  <indutny>but that gives me almost the same thing as there https://gist.github.com/937c2172bd6df108d0c7
19:12:23  <indutny>but I'm not splitting it into two different lists
19:13:04  <bnoordhuis>indutny: nice
19:13:15  <indutny>bnoordhuis: why are you splitting it into two lists?
19:13:30  <indutny>bnoordhuis: is there any real point for that, or is it just because you're reading from two different files?
19:13:32  <TooTallNate>indutny: you don't need node-gyp as a dependency btw, npm has it bundled so just do `npm install`
19:13:37  * AvianFlu_joined
19:13:39  <TooTallNate>or install node-gyp globally
19:13:41  <bnoordhuis>oh, no particular reason - seemed both easier to do and easier to use afterwards
19:13:53  <indutny>bnoordhuis: why easier to use afterwards?
19:14:10  <bnoordhuis>indutny: for when you want to distinguish between ipv4 and ipv6 routing
19:14:29  <bnoordhuis>you don't have to filter the list manually
19:15:13  * AvianFluquit (Disconnected by services)
19:15:14  * AvianFlu_changed nick to AvianFlu
19:16:25  <indutny>well, it seems to be reasonable for me now
19:18:09  <bnoordhuis>indutny: i don't mind either way
19:18:57  <indutny>{ destination: 'fe80:1::',
19:18:57  <indutny> gateway: 'fe80:1::1',
19:18:57  <indutny> netmask: '255.255.255.255',
19:18:57  <indutny> mtu: 16384,
19:18:57  <indutny> rtt: 0,
19:18:57  <indutny> expire: 0,
19:18:58  <indutny> pksent: 0,
19:18:58  <indutny> interface: 'lo0' },
19:19:01  <indutny>how is that possible
19:19:21  <indutny>netmask is ipv4 and other addresses are ipv6
19:19:22  <indutny>hm...
19:20:37  <bnoordhuis>indutny: what os?
19:21:26  <indutny>osx
19:21:42  <bnoordhuis>we should have a `make test-valgrind` target
19:21:46  <indutny>sin_family is defintely AF_INET
19:21:50  <indutny>definitely*
19:21:51  <bnoordhuis>it'll be unbearably slow though...
19:21:58  <bnoordhuis>indutny: ah, okay
19:22:17  <indutny>well, not really ok for me :D
19:22:18  <bnoordhuis>what are you using to convert the address?
19:22:20  <indutny>how should I deal with it
19:22:22  <bnoordhuis>inet_ntop?
19:22:25  <indutny>uv's APIs
19:22:33  <piscisaureus_>uv_inet_ntop ?
19:22:43  <indutny>uv_ip4_name
19:24:37  <bnoordhuis>uv_ip4_name cannot return an ipv6 address
19:24:51  <indutny>well, that's ok
19:24:56  <indutny>since I'm checking sin_family first
19:25:06  <indutny>if it's AF_INET6 - I'm calling uv_ip6_name
19:25:21  <bnoordhuis>okay, so the family must be AF_INET6
19:26:18  <indutny>what are you talking about? :D
19:26:19  * `3rdEdenjoined
19:26:23  <indutny>it's not
19:26:29  <indutny>destination is ip6
19:26:32  <indutny>and mask is ip4
19:27:11  <bnoordhuis>ah, i thought you were suggesting that uv_ip4_name returned an ipv6 address
19:27:21  <bnoordhuis>because it doesn't
19:27:22  <indutny>nope
19:27:26  <indutny>obviously
19:27:31  <indutny>another question
19:27:37  <indutny>what's 0.0.0.0 in IPv6 world?
19:27:41  <bnoordhuis>:::0
19:27:53  <indutny>ok
19:28:06  <indutny>and ::1 is 127.0.0.1 ?
19:28:09  <piscisaureus_>yes
19:28:19  <indutny>cool
19:28:24  <indutny>:::0 or ::0 ?
19:28:29  <piscisaureus_>::0
19:28:40  <piscisaureus_>or just :: :-)
19:28:43  <bnoordhuis>sorry, one colon too many
19:28:46  <bnoordhuis>or just :: yes
19:29:53  * lohkeyjoined
19:30:01  * arlolrajoined
19:30:56  * EhevuTovjoined
19:30:58  <indutny>hm...
19:31:03  <indutny>what should I check then? :D
19:31:12  <indutny>I need this to find default IPv6 default gateway
19:31:12  <bnoordhuis>for what?
19:32:00  <indutny>em..
19:32:03  <indutny>for accessing gateway?
19:32:23  <bnoordhuis>no, i mean what are you checking?
19:32:31  <bnoordhuis>what/where
19:33:13  <indutny>bnoordhuis: https://github.com/indutny/node-netroute/blob/master/lib/netroute.js
19:33:45  <indutny>bnoordhuis: can you merge you branch in if I'll give you push access? ( https://github.com/bnoordhuis/node-netroute/compare/linux-support )
19:33:56  <indutny>bnoordhuis: I just can't check if it'll work after my merge
19:34:08  <indutny>bnoordhuis: Pull request may also work
19:34:10  <bnoordhuis>indutny: sure, but i can i also just submit it as a PR
19:34:15  <indutny>:)
19:34:18  <indutny>yeah
19:34:38  <indutny>this way we'll kill two rabbits at one time
19:34:45  <indutny>giving people masks and gateways
19:34:51  <bnoordhuis>poor rabbits
19:34:53  <indutny>hope everyone will be satisfyied
19:34:58  <indutny>satisfied*
19:35:08  <indutny>bnoordhuis: rabbits always die
19:35:16  <indutny>don't worry about them
19:35:20  <indutny>worry about kittens
19:35:23  <bnoordhuis>that's true for most living things
19:40:56  * brsonquit (Ping timeout: 245 seconds)
19:44:55  * theColejoined
19:47:57  * arlolraquit (Quit: Linkinus - http://linkinus.com)
19:48:16  * arlolrajoined
19:48:17  * arlolraquit (Client Quit)
19:54:23  * chobi_e_joined
19:54:26  * chobi_e_changed nick to chobi_e
19:56:30  <bnoordhuis>indutny: what's the difference between interface_sym and ifp_sym?
19:56:46  <indutny>bnoordhuis: heh, good question
19:56:56  <indutny>I should remove both ifp and ifa
19:57:03  <indutny>they don't present in DUMP data anyway
19:57:11  <indutny>s/don't/ain't/
19:57:33  <bnoordhuis>okay
19:57:59  <indutny>bnoordhuis: done
19:58:01  <indutny>:)
19:58:42  <piscisaureus_>yo bnoordhuis
19:59:06  <bnoordhuis>yo piscisaureus_
19:59:11  <piscisaureus_>bnoordhuis: pm
20:05:04  * indexzerojoined
20:05:29  * isaacswaves
20:06:29  * bnoordhuiswaves back
20:07:51  <isaacs>i've been meaning to write a "serve static files" standalone thing anyway
20:08:03  <isaacs>or maybe use one of the existing ones.
20:08:03  <isaacs>bu
20:08:03  <isaacs>t
20:08:08  <isaacs>but i'm finicky
20:12:26  <bnoordhuis>indexzero: https://github.com/indutny/node-netroute/pull/1
20:12:30  <bnoordhuis>err, indutny
20:19:34  * stagas_joined
20:21:54  * stagasquit (Ping timeout: 276 seconds)
20:23:23  * stagasjoined
20:24:18  * EhevuTovquit (Quit: Leaving)
20:25:40  * stagas_quit (Ping timeout: 248 seconds)
20:27:34  * stagas_joined
20:28:39  * stagasquit (Ping timeout: 244 seconds)
20:28:44  * stagas_changed nick to stagas
20:33:08  <ryah>what's paulo's email address?
20:33:21  <ryah>indutny: --^
20:33:21  <kohai>indutny has 31 beers
20:33:36  <indutny>paolo?
20:33:40  <ryah>yeah
20:33:42  <ryah>h1jinx
20:35:49  <piscisaureus_>ryah: just look it up in the node cla docs :-p
20:36:17  <ryah>easier to ask here:P
20:36:24  <ryah>piscisaureus_: how's the uv_read stuff coming?
20:36:27  <ryah>i also want that
20:36:41  <piscisaureus_>ryah: it's not a priority...
20:36:44  <ryah>:<
20:36:46  <piscisaureus_>ryah: what do you need it for?
20:37:00  <ryah>it's just going to clean up code a lot, i think
20:37:31  <piscisaureus_>ryah: bnoordhuis and me are somewhat concerned about the perf implications. And it's not really going to clean up code inside libuv
20:37:43  <ryah>hm
20:37:59  <ryah>btw, do any of you particularly like giving talks at confs?
20:38:17  <ryah>i try to recommend other node people when i decline invites
20:38:30  <piscisaureus_>ryah: not really. I have 3 talks planned atm
20:38:38  <piscisaureus_>ryah: I think that's enough....
20:38:43  <ryah>yeah
20:38:50  <piscisaureus_>bnoordhuis has only 1 planned, so maybe he want so :-)
20:38:50  <ryah>it's easy to get over run with that shit
20:40:08  <piscisaureus_>felixge has an infinite appetite for talks
20:40:50  <ryah>oh yeah, and he's a good speaker :)
20:41:01  <piscisaureus_>got a lot of practice :-0
20:41:04  <ryah>i think those who consult like to give talks :)
20:41:06  <piscisaureus_>that's the other problem
20:41:20  <piscisaureus_>I am not particularly good at giving talks
20:41:30  <indutny>piscisaureus_: 3 talks
20:41:33  <indutny>I've only 2 atm
20:41:38  <piscisaureus_>it takes practice but the process is painful
20:41:40  <ryah>piscisaureus_: you're good
20:41:58  <piscisaureus_>it needs more spice
20:42:07  <ryah>add curse words
20:42:20  <ryah>(j/k)
20:42:28  <tjfontaine>take a few shots before hand
20:42:40  <piscisaureus_>I can do a Zed style talk next time
20:42:43  <piscisaureus_>Zed is my hero
20:43:20  * piscisaureus_<3 trollying ryah
20:43:53  <indutny>who is Zed?
20:44:24  <tjfontaine>zedshaw.com
20:44:40  <AvianFlu>an industrial-strength troll
20:44:48  <indutny>oh, ok
20:45:03  <AvianFlu>The Troll Scale is generally represented as a coefficient of zed shaw
20:45:37  * indexzeroquit (Quit: indexzero)
20:45:37  <AvianFlu>he's done some noteworthy programming stuff too, but man oh man is he a troll
20:46:16  <indutny>AvianFlu: do you have linux machine on hand?
20:46:39  <AvianFlu>indutny: in SF I do, but not here
20:46:43  * AvianFluis in NY
20:48:21  <indutny>k
20:48:22  <indutny>np
20:49:20  * theColequit (Quit: theCole)
20:57:39  * kevinswiberquit (Remote host closed the connection)
20:58:06  <bnoordhuis>Could not attach to process. If your uid matches the uid of the target
20:58:06  <bnoordhuis>process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
20:58:06  <bnoordhuis>again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
20:58:06  <bnoordhuis>ptrace: Operation not permitted.
20:58:10  <bnoordhuis>^ grr, kernel bug
20:58:26  <bnoordhuis>i'm root and the sysctl is turned off
21:00:10  * theColejoined
21:00:43  <indutny>em...
21:00:54  <indutny>how had you encountered it?
21:01:11  * theColequit (Read error: Connection reset by peer)
21:01:24  <bnoordhuis>i'm trying to attach to a running process
21:01:40  <bnoordhuis>iirc the bug is fixed in newer kernel versions
21:01:53  <bnoordhuis>but of course ubuntu 12.04 ships with a relatively old kernel
21:02:27  <bnoordhuis>killing the process with `kill -ABRT <pid>` doesn't work either :-/
21:02:33  <bnoordhuis>or gcore for that matter
21:02:37  <indutny>heh
21:02:39  <tjfontaine>it wasn't old when it was frozen in janurary :P
21:02:46  * theColejoined
21:03:12  * dylangquit (Quit: dylang)
21:06:32  * chobi_echanged nick to chobi_e_
21:06:58  <bnoordhuis>oops, spoke too soon - it's a zombie process, that's why i can't attach or dump its core :$
21:07:52  <tjfontaine>I was goign to say, if you cna't abrt it's probably Z
21:25:19  <isaacs>piscisaureus_: you're a much better talker than you think
21:25:25  <isaacs>piscisaureus_: you don't say "um" a lot. that's key.
21:25:46  <AvianFlu>isaacs: ++
21:25:47  <kohai>isaacs has 22 beers
21:25:50  <isaacs>piscisaureus_: but yes, you should curse more. have some whiskey next time.
21:26:16  <AvianFlu>people have told me that exact approach makes mmalecki an extremely entertaining speaker
21:26:19  <piscisaureus_>haha
21:26:26  <piscisaureus_>isaacs: I will
21:29:09  * rendarquit
21:32:34  <indutny>isaacs: I learned not to say "um" when I was playing in theatre
21:32:41  <indutny>s/playing/acting
21:32:50  <indutny>that was really good experience
21:32:57  <indutny>though, I'm not as good speaker as you guys are
21:33:25  <piscisaureus_>isaacs: you've not seen my worst talk
21:34:15  <piscisaureus_>isaacs: I've been trying to get substial feedback on my last talk - which I didin't really get
21:34:16  <piscisaureus_>isaacs: so if you have any comments, please share :-)
21:37:35  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
21:47:33  <isaacs>piscisaureus_: your talk was very approachable and seemed well-organized.
21:47:41  <isaacs>piscisaureus_: you did seem a little annoyed to be having to give a talk.
21:47:48  <piscisaureus_>did i?
21:47:53  <isaacs>but other than that, it was pretty great
21:47:54  <piscisaureus_>haha
21:48:01  <piscisaureus_>ok, I'll try to not do that :-)
21:48:16  <piscisaureus_>I wasn't annoyed
21:48:18  <piscisaureus_>thanks
21:48:25  <isaacs>it's good, though, i think libuv is too mysterious to people in general
21:48:33  <isaacs>your talk helped make it a little less scary
21:49:03  <piscisaureus_>I saw a tweet the other day - "libuv is black magic because there are no docs"
21:49:06  <piscisaureus_>It's true
21:49:09  <isaacs>true
21:49:12  <isaacs>docs would be relaly nice
21:49:12  <piscisaureus_>although - not intentional
21:50:49  <isaacs>so.. this is kind of weird. i'm doing a setTimeout for 51ms, an it's getting called after 50ms
21:50:58  <isaacs>just started making a test fail very mysteriously
21:52:39  <piscisaureus_>hmm
21:52:48  <piscisaureus_>could be due to timer precision differences
21:58:15  <joshthecoder>piscisaureus_: uv.h :)
21:58:42  <piscisaureus_>joshthecoder: what's up with that?
21:59:12  <gicode>piscisaureus_: I think that is a link to the docs ;-)
21:59:22  <piscisaureus_>ah - thanks guys
21:59:24  <joshthecoder>piscisaureus_: what sort of docs you have in mind? just an API reference? Probably could generate something from the header's comments.
21:59:26  <piscisaureus_>I can never find the docs
21:59:33  <piscisaureus_>I am betting on http://nikhilm.github.com/uvbook/ :-)
22:00:00  <joshthecoder>piscisaureus_: yeah that book will be handy I think for newcomers.
22:00:17  <piscisaureus_>the headers are helpful if you're familiar with the concepts
22:00:22  <piscisaureus_>otherwise, they're not a good introduction
22:00:35  <piscisaureus_>right now I'd advice everyone to read the libev docs first
22:01:36  <piscisaureus_>lol
22:01:56  <piscisaureus_>http://a4.sphotos.ak.fbcdn.net/hphotos-ak-snc7/428891_445395555495410_461411632_n.jpg <-- the world as perceived by dutch people
22:02:02  <piscisaureus_>now y'all understand me
22:03:22  <joshthecoder>piscisaureus_: guess they still think the world is flat
22:04:44  * EhevuTovjoined
22:08:08  <isaacs>piscisaureus_: where is "New Holland"?
22:08:17  <isaacs>piscisaureus_: i mean, what's the non-dutch word for that place?
22:08:37  <piscisaureus_>the area around new york?
22:09:05  <isaacs>oh, i get it
22:09:11  <isaacs>Even old new york was once new amssterdam
22:09:12  <isaacs>right
22:09:14  <isaacs>:)
22:09:20  <piscisaureus_>yes
22:09:24  <piscisaureus_>now that was a stretch
22:09:32  <isaacs>it's a asong
22:09:32  <piscisaureus_>but funny, still
22:10:02  <isaacs>piscisaureus_: https://vimeo.com/6746927
22:10:36  <piscisaureus_>ghe lol
22:29:13  * loladiroquit (Quit: loladiro)
22:43:19  * brsonjoined
22:54:06  * kevinswiberjoined
22:55:48  <piscisaureus_>bnoordhuis: so if we are reporting spawn failures through the exit_cb - how will people be notified if they spawn a detached process?
22:56:51  <piscisaureus_>bnoordhuis: I suppose we should call the exit_cb with UV_ECANCELLED when the user closes the process handle before the process has exited
23:03:15  * theColequit (Quit: theCole)
23:15:05  <piscisaureus_>hmm, Ben seems to be making babies or something
23:15:08  <bnoordhuis>piscisaureus_: i'm going to think about that tomorrow
23:15:13  <piscisaureus_>bnoordhuis: nevermind. I will bug you about this tomorrow
23:15:14  <piscisaureus_>ah
23:15:33  <tjfontaine>better than stealing babies
23:15:36  <piscisaureus_>12am @ keizersgracht 241-3hg
23:15:44  <bnoordhuis>yep
23:15:59  <piscisaureus_>well stealing babies, what's the point
23:16:15  <piscisaureus_>the process is not enjoyable and you end up having kinds anyway
23:16:26  <bnoordhuis>piscisaureus_: btw, you should review the windows part -> https://github.com/bnoordhuis/libuv/compare/we-get-signal
23:17:15  <piscisaureus_>bnoordhuis: are you trolling me?
23:17:25  <piscisaureus_>bnoordhuis: the windows part... umm, lgtm if it works :-p
23:17:54  <piscisaureus_>bnoordhuis: but yeah, I will implement that. If the unix part works then I am fine
23:18:04  <bnoordhuis>piscisaureus_: they're no-ops but i want to make sure that the endgame bit is okay
23:19:09  <piscisaureus_>bnoordhuis: https://github.com/bnoordhuis/libuv/commit/80f38de636be5392654d2ed2c658943506a56412#L10R51 is superfluous but it doesn't hurt. The rest is ok.
23:19:25  <piscisaureus_>bnoordhuis: although - you're not calling the close_cb
23:19:29  <bnoordhuis>piscisaureus_: the is closing check?
23:19:36  <piscisaureus_>yesd
23:20:06  <piscisaureus_>bnoordhuis: the is closing check is only needed if you can get there when you're not closing
23:20:13  <piscisaureus_>(e.g. shutdown, for sockets)
23:20:43  <bnoordhuis>piscisaureus_: btw, calling close_cb is done by uv__handle_close()
23:20:50  <piscisaureus_>oh - right
23:20:57  <piscisaureus_>yeah, then it looks good
23:21:19  <bnoordhuis>cool, think i'll merge it
23:21:26  <bnoordhuis>all libuv and node tests pass
23:21:36  <piscisaureus_>good
23:22:22  <bnoordhuis>tomorrow
23:23:58  <bnoordhuis>piscisaureus_: btw, objections against removing the handle_init counters?
23:30:20  <piscisaureus_>bnoordhuis: please, remove the counters :-)
23:30:27  <bnoordhuis>heh, will do
23:30:30  <bnoordhuis>node first
23:30:38  <piscisaureus_>they are useless
23:31:16  <CIA-134>node: Ben Noordhuis master * r9693d33 / src/node.cc : node: remove process.uvCounters() - http://git.io/yVXVhA
23:31:54  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
23:32:27  * dominictarrjoined
23:32:53  <dominictarr>TooTallNate, what do you mean by "submit upstream"?
23:33:08  <dominictarr>do you mean into node-core?
23:33:12  <TooTallNate>dominictarr: all that logic is copy & paste from lib/readline.js
23:33:16  <TooTallNate>yes, node-core
23:33:32  <dominictarr>right.
23:34:11  <dominictarr>sure. there are a few bug in there still with multiple meta characters.
23:34:34  <dominictarr>I mean multiple modifiers.
23:35:20  <dominictarr>TooTallNate, this is what I have used keypress for so far: https://github.com/dominictarr/hipster
23:37:47  <piscisaureus_>enum uv_process_state {
23:37:47  <piscisaureus_> UV_PROCESS_ERROR = -1,
23:37:47  <piscisaureus_> UV_PROCESS_STARTING = 1,
23:37:47  <piscisaureus_> UV_PROCESS_RUNNING = 2,
23:37:47  <piscisaureus_> UV_PROCESS_EXITED = 3
23:37:47  <piscisaureus_>}
23:37:47  <piscisaureus_>void (*uv_process_state_cb)(uv_process_t* process, uv_process_state state);
23:38:54  <isaacs>TooTallNate, dominictarr: what is this you're submitting upstream?
23:39:20  * pooyaquit (Quit: pooya)
23:41:19  * kevinswiberquit (Read error: Connection reset by peer)
23:41:28  * kevinswiberjoined
23:41:59  * pooyajoined
23:45:26  <TooTallNate>isaacs: https://github.com/dominictarr/keypress/commit/82b76400f65a91e6151f4a4b646a223577ed3f73
23:46:07  <TooTallNate>but also isaacs: https://github.com/TooTallNate/node/commit/547a201435fb5504411cd24305ed5030f2acc647
23:46:19  <piscisaureus_>wut? mousepres???
23:46:20  <piscisaureus_>:-)
23:46:48  <dominictarr>isaacs, you sound so worried!
23:46:49  <piscisaureus_>also, I don't like commented-out code
23:46:55  <TooTallNate>that's some "extension" stuff
23:47:06  * c4milo_quit (Remote host closed the connection)
23:47:33  <piscisaureus_>but yeah metaKeyCodeRe seems more correct that way
23:47:38  <dominictarr>piscisaureus_, this is a work in progess. I wouldn't make a pull request to node like that.
23:47:44  <TooTallNate>piscisaureus_: bnoordhuis turned down mouse press from core a long time ago, which is good since readline doesn't use it
23:47:52  <piscisaureus_>you should know that I wrote the entire parser in 45 minutes :-)
23:48:11  <tjfontaine>and it's infalible
23:48:12  <tjfontaine>:)
23:48:16  <dominictarr>very good
23:48:43  <piscisaureus_>yeah, but I am afraid that nobody really understands what this does -> https://github.com/dominictarr/keypress/blob/82b76400f65a91e6151f4a4b646a223577ed3f73/index.js#L191-193
23:49:54  <piscisaureus_>also, this isn't the first fix for it :-)
23:50:39  <piscisaureus_>but yeah, tjfontaine, you really know how good I am! Recognition, finally :-)
23:50:53  <piscisaureus_>tjfontaine: you can be the CEO of my fan club
23:50:54  <TooTallNate>now where's isaacs...
23:51:01  <tjfontaine>piscisaureus_: awesome, finally purpose in my life!
23:51:16  <piscisaureus_>tjfontaine: where are you based btw? France?
23:51:37  <tjfontaine>piscisaureus_: no, .us my last name just makes people think that I guess :)
23:51:58  <piscisaureus_>tjfontaine: you should move to france
23:52:04  <piscisaureus_>o la la I want a fan club in France
23:52:14  <tjfontaine>ok, sounds good
23:52:31  <TooTallNate>piscisaureus_: you wanna review? ;) https://github.com/TooTallNate/node/commit/547a201435fb5504411cd24305ed5030f2acc647
23:57:25  * EhevuTovquit (Quit: This computer has gone to sleep)
23:57:52  <piscisaureus_>TooTallNate: so this will set the arch to ia32 or x64 ?
23:58:28  <CIA-134>libuv: Ben Noordhuis master * rf8f701c / (14 files in 6 dirs): unix, windows: preliminary signal handler support - http://git.io/TO6UrA
23:58:28  <CIA-134>libuv: Ben Noordhuis master * rca93fd7 / (3 files in 2 dirs): unix: remove dependency on ev_child - http://git.io/q3oPCw
23:58:29  <CIA-134>libuv: Ben Noordhuis master * r8a23a03 / (3 files in 2 dirs): unix: rework uv_eio_init() init once logic - http://git.io/uGEyMg
23:58:29  <CIA-134>libuv: Ben Noordhuis master * rc2bb9a5 / (35 files in 7 dirs): unix, windows: remove handle init counters - http://git.io/YgxVdw
23:58:45  <piscisaureus_>TooTallNate: it looks good to me - but why set the exit state to 1 when it's not a release
23:58:46  <TooTallNate>piscisaureus_: oh shoot, I forgot that's what we use
23:59:04  <TooTallNate>for process.arch on x86
23:59:14  <piscisaureus_>it's what v8 does
23:59:16  <TooTallNate>but we release the files as blah-x86, haha
23:59:24  * travis-cijoined
23:59:24  <travis-ci>[travis-ci] joyent/libuv#542 (master - c2bb9a5 : Ben Noordhuis): The build was broken.
23:59:24  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/5143d54ad36a...c2bb9a5522d4
23:59:24  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2081767
23:59:24  * travis-cipart
23:59:26  <piscisaureus_>I don't mind
23:59:30  * EhevuTovjoined
23:59:32  <bnoordhuis>broken? what!
23:59:38  <TooTallNate>well i need to update the makefile for it
23:59:40  <tjfontaine>and it's your fault!
23:59:41  <TooTallNate>real quick
23:59:43  * EhevuTovquit (Client Quit)
23:59:43  <piscisaureus_>TooTallNate: as long as it uses either options consistently
23:59:47  <piscisaureus_>*option