00:29:02  * brsonquit (Quit: leaving)
00:31:22  * brsonjoined
00:31:54  * mikealquit (Quit: Leaving.)
00:32:46  * mikealjoined
00:34:43  * stagasjoined
00:44:34  * c4miloquit (Remote host closed the connection)
00:56:57  * paddybyersquit (Ping timeout: 240 seconds)
01:07:24  * benoitcquit (Excess Flood)
01:09:12  * c4milojoined
01:11:13  * benoitcjoined
01:15:39  * joeandaverdequit (Quit: joeandaverde)
01:20:09  * stagasquit (Ping timeout: 240 seconds)
01:21:04  * kazuponquit (Remote host closed the connection)
01:33:38  * joeandaverdejoined
01:40:53  * abraxasjoined
02:12:09  * benoitcquit (Excess Flood)
02:12:46  * benoitcjoined
02:16:37  * pooyajoined
02:18:41  * kazuponjoined
02:27:43  * kazuponquit (Remote host closed the connection)
02:30:06  * ericktjoined
02:31:05  * ericktquit (Client Quit)
02:31:14  * bnoordhuisquit (Ping timeout: 255 seconds)
02:44:11  * AvianFluquit (Remote host closed the connection)
02:46:19  * brsonquit (Quit: leaving)
02:46:51  * joeandaverdequit (Quit: joeandaverde)
02:48:34  * pooyaquit (Quit: pooya)
03:04:29  * AvianFlujoined
03:16:52  * benoitcquit (Excess Flood)
03:20:46  * benoitcjoined
03:32:14  * brsonjoined
04:03:06  * c4miloquit (Remote host closed the connection)
04:17:14  * benoitcquit (Excess Flood)
04:22:20  * benoitcjoined
04:30:46  * tomshredsquit (Quit: Leaving...)
04:31:46  * benoitcquit (Excess Flood)
04:34:50  * benoitcjoined
05:08:15  * AvianFlu_joined
05:09:53  * AvianFluquit (Ping timeout: 252 seconds)
05:25:21  * c4milojoined
05:41:29  * mikealquit (Quit: Leaving.)
05:42:33  * mikealjoined
05:55:57  * c4miloquit (Remote host closed the connection)
05:58:51  * c4milojoined
06:03:02  * c4miloquit (Remote host closed the connection)
06:17:53  * AvianFlu_quit (Remote host closed the connection)
06:46:41  * brsonquit (Ping timeout: 240 seconds)
07:20:55  * rendarjoined
07:37:59  * stephankquit (Ping timeout: 240 seconds)
07:40:48  * stephankjoined
08:47:15  * loladiroquit (Quit: loladiro)
08:54:29  * paddybyersjoined
09:03:48  * hij1nxjoined
09:13:08  * paddybyersquit (Ping timeout: 276 seconds)
09:30:16  * V1joined
09:30:48  * V1changed nick to `3rdEden
09:31:43  * hij1nxquit (Quit: leaving)
09:32:18  * janjongboomjoined
09:35:30  * hij1nxjoined
09:50:13  * TheJHjoined
09:50:39  * mralephquit (Quit: Leaving.)
10:34:43  * abraxasquit (Remote host closed the connection)
11:20:27  * benoitcquit (Changing host)
11:20:28  * benoitcjoined
11:28:08  * hij1nxquit (Quit: leaving)
11:28:34  * hij1nxjoined
11:29:03  * hij1nxquit (Client Quit)
11:30:51  * hij1nxjoined
11:38:05  * bnoordhuisjoined
11:39:09  * paddybyersjoined
11:44:12  * stagasjoined
12:09:07  * abraxasjoined
12:27:46  * abraxasquit (Remote host closed the connection)
12:31:23  * sgallaghjoined
12:49:58  * stagasquit (Ping timeout: 252 seconds)
12:58:11  * piscisaureus_joined
13:00:08  <piscisaureus_>hello heroes
13:02:19  <mmalecki>sup Bert
13:15:20  <bnoordhuis>piscisaureus_: hello foot soldier
13:15:41  <piscisaureus_>oh bnoordhuis hi to you too
13:16:00  <bnoordhuis>piscisaureus_: "I am pretty sure they keep track, but they may not flush it to the log file when the profiler is started." <- that's the same thing, isn't it?
13:16:07  <piscisaureus_>bnoordhuis: yeah
13:16:15  <piscisaureus_>bnoordhuis: the new code locations api does support flushing
13:16:27  <piscisaureus_>bnoordhuis: and I am pretty sure that I saw code to flush all code locations to the log
13:16:45  <piscisaureus_>bnoordhuis: but apparently it's broken, or not being called when doing lazy profiling
13:16:49  <piscisaureus_>let me point you to it
13:16:58  <bnoordhuis>piscisaureus_: yeah, it's no doubt fixable. i had a one-liner patch that already improved it quite a bit
13:18:05  <piscisaureus_>bnoordhuis: should do it <-- https://github.com/v8/v8/blob/master/src/log.cc#L1670
13:18:32  <bnoordhuis>ah right
13:18:56  <piscisaureus_>https://github.com/v8/v8/blob/master/src/log.cc#L1373-1383
13:19:10  <piscisaureus_>bnoordhuis: it could be that it - accidentally - logs only builtins
13:19:32  <bnoordhuis>i'll take a look
13:20:40  <piscisaureus_>bnoordhuis: do you have any ideas about how to debug this
13:20:40  <piscisaureus_>https://github.com/joyent/node/issues/2808
13:20:50  <piscisaureus_>I'm getting more and more bug reports about openssl on windows specifically
13:20:53  <bnoordhuis>hah, i was just looking at that
13:21:04  <piscisaureus_>good :-)
13:21:09  <bnoordhuis>can you reproduce it?
13:21:18  <piscisaureus_>not locally
13:21:25  <piscisaureus_>but that's what the guy said too
13:21:39  <bnoordhuis>but with a remote server you can?
13:21:49  <piscisaureus_>there was another guy that reported that CreateCipherIV errs on windows
13:21:57  <piscisaureus_>bnoordhuis: didn't try yet with a remote server
13:22:16  <bnoordhuis>yeah, i'm kind of doubtful that createCipheriv failing is a windows specific issue
13:22:36  <bnoordhuis>piscisaureus_: so one thing that could cause it is a corrupted tcp packet
13:22:38  <piscisaureus_>createCipheriv has such a weird name
13:22:41  <piscisaureus_>bnoordhuis: yeah
13:22:47  <piscisaureus_>bnoordhuis: but that'd be a pretty bad bug right :-)
13:23:01  <bnoordhuis>piscisaureus_: well, it's not a node bug
13:23:02  <piscisaureus_>bnoordhuis: it'd suprise me because I have never heard something like that
13:23:19  <piscisaureus_>bnoordhuis: but then why would it reproduce
13:23:28  <piscisaureus_>I suppose he wouldn't report it if it happened only once
13:23:36  <piscisaureus_>lemme spin up an amazon box to try it out
13:23:46  <bnoordhuis>piscisaureus_: because tcp has a pretty weak checksumming mechanism?
13:23:51  <piscisaureus_>bnoordhuis: you need to respond to Jos' main
13:23:53  <piscisaureus_>*mail
13:23:57  <bnoordhuis>piscisaureus_: i mean, corrupted tcp packets aren't that unlikely
13:23:59  <bnoordhuis>oh, right
13:24:11  <bnoordhuis>i will, still catching up with my email backlog :)
13:24:21  <piscisaureus_>bnoordhuis: I don't know what it is about, I am just the messenger :-)
13:26:11  <MI6>joyent/node: Scott Blomquist master * fd7a651 : Correct outputs list in "node_etw" gyp target. The gyp target node_etw d - http://git.io/uonqqA
13:27:47  <bnoordhuis>^ commit log
13:28:01  * AvianFlujoined
13:28:31  <piscisaureus_>okok
13:28:51  <piscisaureus_>bnoordhuis: what's with the commit log?
13:29:04  <bnoordhuis>piscisaureus_: should mention the subsystem
13:29:24  <piscisaureus_>^-- like that?
13:29:24  <bnoordhuis>piscisaureus_: e.g. "build: correct outputs of node_etw gyp target"
13:29:26  <MI6>joyent/node: Scott Blomquist master * 953b049 : windows: correct outputs list in "node_etw" gyp target The gyp target no - http://git.io/3R3SVQ
13:29:33  <bnoordhuis>yeah, or that
13:33:37  * ericktjoined
13:44:37  <piscisaureus_>shit I have to migrate piscisaureus.no.de
13:45:00  <piscisaureus_>bnoordhuis: what's a good service manager for ubuntu?
13:45:11  <piscisaureus_>like, one that starts stuff on boot and that restarts my app when it dies?
13:45:18  <bnoordhuis>piscisaureus_: upstart?
13:45:43  <piscisaureus_>ok, good to know
13:48:06  <piscisaureus_>Err http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main linux-libc-dev amd64 3.2.0-31.50
13:48:06  <piscisaureus_> 403 Forbidden
13:48:08  <piscisaureus_>hmmm
13:51:34  <bnoordhuis>piscisaureus_: change the repo in /etc/apt/sources.list
13:51:45  <piscisaureus_>yeah doing that
13:58:50  <tjfontaine>ya you can't use ec2 when not inside it :)
14:01:00  <bnoordhuis>piscisaureus_: seen this? http://www.nrc.nl/verkiezingen/2012/10/29/het-regeerakkoord-is-klaar-de-belangrijkste-maatregelen-op-een-rij
14:01:21  <bnoordhuis>piscisaureus_: max tax rate goes down from 52 to 49% but that's about the only upside :-/
14:03:24  <piscisaureus_>De hypotheekrenteaftrek wordt ook voor bestaande gevallen beperkt. Vanaf 2014 wordt de maximale aftrek jaarlijks met een half procent verminderd. De maatregel levert structureel 770 miljoen euro op.
14:03:27  <piscisaureus_>+ veel
14:03:55  <bnoordhuis>yeah. i guess it's a good thing
14:04:26  * mmaleckichanged nick to mmalecki[forest]
14:04:58  * erickt_joined
14:04:59  <piscisaureus_>not too bad
14:05:23  <piscisaureus_>De lasten voor de werkgevers gaan omhoog. Werkgevers moeten bijvoorbeeld meer sociale premies betalen. Ook worden bedrijfssubsidies geschrapt.
14:09:26  <piscisaureus_>bnoordhuis: does upstart automatically restart by default or do I have to configure something special for that
14:09:51  <bnoordhuis>piscisaureus_: http://upstart.ubuntu.com/wiki/Stanzas#respawn
14:10:14  <piscisaureus_>aha, thanks
14:21:16  * janjongboomquit (Quit: janjongboom)
14:22:58  * janjongboomjoined
14:25:00  * erickt_quit (Quit: erickt_)
14:28:40  * AvianFluquit (Remote host closed the connection)
14:30:52  <indutny>bnoordhuis: hey man
14:30:57  <indutny>bnoordhuis: not sure where this bug is fixed
14:31:02  <indutny>bnoordhuis: and I don't actually remember fixing it :)
14:31:59  <bnoordhuis>indutny: ah, okay. still, his test case works with master so fixed it is :)
14:32:12  <indutny>yeah
14:32:15  <indutny>probably it was a v8 bug
14:32:38  * c4milojoined
14:32:44  * ericktquit (Quit: erickt)
14:36:42  <piscisaureus_>have to go afk, bbiab
14:38:17  * bradleymeckjoined
14:38:29  <bradleymeck>anyone seen "!!(events & UV__IO_READ) ^ !!(events & UV__IO_WRITE), file ../deps/uv/src/unix/stream.c, line 732" before?
14:38:38  <bradleymeck>Assert Error*
14:39:42  <bnoordhuis>bradleymeck: yes
14:40:15  <bradleymeck>bnoordhuis: any clues where i should start looking?
14:40:19  <bnoordhuis>bradleymeck: os x?
14:40:23  <bradleymeck>smartos
14:40:28  <bnoordhuis>ah, okay
14:40:38  <bnoordhuis>what kind of fd triggers the assert?
14:42:04  <bradleymeck>just found it in logs, looks like it was a net connection so tcp socket probably
14:54:54  <indutny>bnoordhuis: I did
14:55:00  <indutny>oh
14:55:03  <indutny>tab completion failure
15:01:04  * philips_quit (Excess Flood)
15:03:00  * philips_joined
15:24:02  * bradleymeckquit (Quit: bradleymeck)
15:33:13  * janjongboomquit (Quit: janjongboom)
15:35:25  * janjongboomjoined
15:36:42  * AvianFlujoined
15:40:09  * stagasjoined
15:41:51  * bradleymeckjoined
15:43:09  <bnoordhuis>gcc's name mangling rules are absurdly poorly documented...
15:49:09  * dapjoined
15:51:14  <isaacs>good morning
15:51:20  <piscisaureus_>moaning
15:51:34  <isaacs>it's so foggy here i can barely see the tree outside my window
15:51:54  <piscisaureus_>it's shit here too
15:52:21  <piscisaureus_>so when is no.de really going to be shut down?
15:52:35  <isaacs>piscisaureus_: i thought it already was
15:52:46  * mikealquit (Quit: Leaving.)
15:52:50  <bradleymeck>ELF format is hard to parse without ugly code
15:52:54  <isaacs>oh, i guess your log thing is still there
15:53:02  <piscisaureus_>well my box is still running
15:53:20  <isaacs>piscisaureus_: you should save those logs today
15:53:32  <piscisaureus_>isaacs: they are automatically backed up to github
15:53:38  <isaacs>piscisaureus_: oh, ok
15:53:45  <bradleymeck>piscisaureus_: let me know if you need any special provisions during migration I will make it happen
15:53:51  <piscisaureus_>no
15:53:54  <piscisaureus_>I am migrating it now
15:53:56  <isaacs>well... still, it'd be good to move the site to a permanent site
15:54:06  <piscisaureus_>which is what I am doing :-)
15:54:10  <isaacs>kewl :)
15:54:23  <isaacs>i'd change piscisaureus.no.de to a 301 redirect to the new site
15:54:33  <piscisaureus_>the new site is not up yet
15:54:36  <piscisaureus_>it will be log.libuv.org
15:54:37  <isaacs>kewl
15:54:43  <isaacs>libuv.org?
15:55:07  <isaacs>neat!
15:55:07  <piscisaureus_>yes
15:55:09  <isaacs>Admin Name:Huibert Belder
15:55:46  <isaacs>we should hook up log.nodejs.org
15:55:47  <isaacs>also
15:55:53  <piscisaureus_>yeah
15:55:59  <piscisaureus_>when it's up I will give you the ip
15:56:09  <piscisaureus_>actually you can already get it :-)
15:56:10  <isaacs>you want a machine in the NodeCore JPC account?
15:56:18  <piscisaureus_>I don't care
15:56:23  <isaacs>well, these are free :)
15:56:35  <piscisaureus_>I'd have to figure out smf :-)
15:56:51  <isaacs>it's easy
15:56:57  <piscisaureus_>I am now setting up an amazon box
15:57:00  <piscisaureus_>which is also free
15:57:08  <isaacs>piscisaureus_: actually, i can provision a nodejs box, which is almost identical to no.de
15:57:13  <isaacs>piscisaureus_: you can just git push into it the same way
15:57:15  * c4miloquit (Remote host closed the connection)
15:57:20  <isaacs>piscisaureus_: i did that for ircretary, it's super easy
15:57:39  <piscisaureus_>hmm
15:57:42  <piscisaureus_>maybe that's okay
15:57:48  <piscisaureus_>but I don't want this git push stuff
15:58:00  <piscisaureus_>I found upgrading node on the no.de instances always very painful
15:58:04  <isaacs>yeah
15:58:05  <isaacs>it's a pita
15:58:10  <isaacs>i don't use it for stuff that iddn't already use it
15:58:14  <piscisaureus_>is it possible to just have a vanilla box?
15:58:31  <isaacs>yeah
15:58:34  <piscisaureus_>I only need smf to start up and restart it when it goes down
15:58:36  <isaacs>how much ram you want?
15:58:40  <isaacs>yeah, smf is easy
15:58:43  <piscisaureus_>it doesn't need much
15:58:48  <isaacs>you can just steal the manifest.xml file from npm-www
15:58:51  <isaacs>and modify as needed
15:59:24  <isaacs>512mb enough?
15:59:38  <piscisaureus_>isaacs: can you make it slightly restricted
15:59:45  <piscisaureus_>isaacs: it needs to hold my private key
15:59:46  <isaacs>"restricted"?
15:59:52  <isaacs>oh... hrm.
15:59:54  <piscisaureus_>otherwise I can't get the git backup going
15:59:58  <isaacs>right
16:00:21  <isaacs>if it's in the nodecore account, then all the nodecore users can access it
16:00:57  * janjongboomquit (Read error: Connection reset by peer)
16:01:00  <isaacs>piscisaureus_: can you use a different private key for this purpose? having your actual real "i am bert belder" private key anywhere other than your own personal machine is a really bad idea.
16:01:15  * janjongboomjoined
16:01:21  <piscisaureus_>hmm
16:01:22  <isaacs>piscisaureus_: why not make a new github user that only is for this purpose, give them access to the github acct, and put that private key on the box.
16:01:33  <piscisaureus_>that'd probably work
16:01:47  <isaacs>then if someone steals the priv key, they get the logs, but not your whole life.
16:01:48  <piscisaureus_>yeah sounds good
16:02:09  <piscisaureus_>access to the logs are not a problem at all
16:02:43  <piscisaureus_>I can probably even add the new user as a collaborator to the slurp-logs account
16:02:50  <piscisaureus_>*repo
16:02:53  <piscisaureus_>yeah sounds good
16:03:06  <isaacs>yeah, that's what i mean
16:03:09  <piscisaureus_>ok
16:03:11  <piscisaureus_>fine
16:03:38  * stagasquit (Quit: Bye)
16:04:21  <piscisaureus_>now I am going to need help with every step of the way I am afraid :-)
16:04:23  <piscisaureus_>but we'll see
16:04:26  <isaacs>piscisaureus_:
16:04:30  <isaacs>piscisaureus_: it's ok
16:04:46  <isaacs>piscisaureus_: it'll be my way to trick you into knowing how npm-www is set up
16:04:52  <piscisaureus_>ghe
16:04:58  <piscisaureus_>ok, updating the dns
16:05:54  <isaacs>you can ssh in as [email protected] or [email protected]
16:06:07  <isaacs>i usually set up a node user to actually run the stuff
16:06:13  <piscisaureus_>isaacs: that's what I will do
16:06:21  <piscisaureus_>isaacs: does useradd work on solaris?
16:07:08  <isaacs>already doing it
16:07:34  <piscisaureus_>ok it works
16:08:46  <isaacs>k, added node user, and the bumped up file descriptor project entry in /etc/project so that the site doesn't fall over when a lot of people hit it
16:09:17  <piscisaureus_>nice, thanks
16:09:22  <isaacs>you can get the manifest.xml from here: https://github.com/isaacs/npm-www/blob/master/manifest.xml
16:09:36  <isaacs>just copy the appropriate cwd and description and name and whatnot so that it's correct
16:09:41  <isaacs>er, s/copy/change/
16:09:50  <piscisaureus_>isaacs: so how do I tell smf that this thing exists?
16:10:03  <piscisaureus_>isaacs: actually, let me make it work first
16:10:07  <piscisaureus_>isaacs: well get back to you
16:10:10  <isaacs>once you have the manifest.xml, or any time you change it, you do: svccfg import manifest.xml
16:10:27  <isaacs>then you can use svcs to inspect it, and svcadm to start/stop it
16:10:32  <isaacs>the commands kind of suck
16:10:37  <isaacs>but the system overall works really well.
16:10:39  <piscisaureus_>also how do I install git
16:10:40  <piscisaureus_>:-)
16:10:46  <piscisaureus_>pkgin in git <-- no workie
16:10:49  <isaacs>pkgin in gitscm
16:10:52  <isaacs>i think
16:10:55  <isaacs>maybe scmgit
16:11:01  <isaacs>(it's dumb, i know()
16:11:46  <isaacs>have to do that as root. there's a way to tell it to let you do just a specific command, so that pkgin works even if you're not root, but i'm not sure how to do it, exactly
16:12:33  <piscisaureus_>so, which package manager are we going to use?
16:12:39  <piscisaureus_>hmm, maybe the NetBSD one
16:12:44  <isaacs>for the system?
16:12:50  <isaacs>pkgin?
16:12:59  <piscisaureus_>yeah, yeah, NetBSD packaging, of course, everybody knows that already
16:13:01  <isaacs>for node, i really like either mode or kiwi
16:13:08  <piscisaureus_>because it is super popuklar
16:13:31  <piscisaureus_>isaacs: no I was just replaying the meeting where your former coworkers decided to use pkgin :-)
16:13:43  <bnoordhuis>src/main.cc:154:73: error: converting from ‘v8::Local<v8::Function> (v8::FunctionTemplate::*)()’ to ‘void*’ [-Werror=edantic] <- bwaha, -Werror=edantic eh?
16:14:44  <piscisaureus_>isaacs: but thanks for giving me a machine :-)
16:14:48  <isaacs>piscisaureus_: oh, heh. yeah, i have some issues with pkgin.
16:14:59  <isaacs>piscisaureus_: it's not optimized for growth
16:15:04  <isaacs>or ease of use
16:15:18  <isaacs>many many bottlenecks
16:15:19  <piscisaureus_>it's very hipster
16:15:24  <tjfontaine>and you can still trick its dependency algorithm
16:15:57  <isaacs>tjfontaine: oh, yeah, you found some weird thing with binutils and gdb or something?
16:16:39  <tjfontaine>ya, I think dap mentioned that he was able to reproduce somethign similar to that but hadn't seen it break upgrades the same way i did
16:18:04  <isaacs>piscisaureus_: you're welcome. having dealt with a lot of bullshit "this thing is over there, and that thing is in some other account" stuff, i'm trying to consolidate our stuff as much as possible.
16:18:55  <isaacs>piscisaureus_: between the dns records, the hosting, and the name registration, nodejs.org was in three completely different accounts in three different systems, between two companies.
16:19:07  <isaacs>piscisaureus_: i work for a hosting company, there's no reason this shouldn't be simple.
16:19:12  * pooyajoined
16:19:45  <isaacs>nodejs.org is still too much of a pita wrt dns records, and npmjs.org is in my own personal name.com account.
16:24:33  <piscisaureus_>isaacs: /usr/bin/env: No such file or directory
16:24:33  <piscisaureus_>?
16:24:47  <piscisaureus_>binutils?
16:24:49  <isaacs>piscisaureus_: what's teh script your'e trying to run?
16:24:55  <piscisaureus_>isaacs: ./configure
16:24:56  <piscisaureus_>for node
16:25:04  <isaacs>piscisaureus_: needs python
16:25:14  <isaacs>[[email protected] ~]# which python
16:25:14  <isaacs>no python in /opt/local/bin /opt/local/sbin /usr/bin /usr/sbin
16:25:19  <piscisaureus_>aah
16:25:39  <piscisaureus_>oh I didn't know that the error message was so shitty when the user has no python
16:25:54  <isaacs>yeah, it looks like it's syaing that /bin/env doesn't exist
16:26:02  <isaacs>which is of course impossible
16:26:12  <piscisaureus_>pkgin se gcc
16:27:05  * Benviequit
16:27:49  * sblomjoined
16:30:01  <piscisaureus_>nice
16:30:12  <piscisaureus_>a 24 core box :-)
16:31:12  * AvianFluquit (Remote host closed the connection)
16:31:52  <piscisaureus_>isaacs: so what was the x64 build command again?
16:32:00  <piscisaureus_>isaacs: ARCH=x64 ./configure
16:32:01  <piscisaureus_>?
16:32:34  <bradleymeck>piscisaureus_: --dest-cpu
16:32:34  <kohai>piscisaureus_ has 18 beers
16:32:46  <bradleymeck>piscisaureus_: ++ , stupid parser
16:32:46  <kohai>piscisaureus_ has 19 beers
16:32:49  <isaacs>piscisaureus_: DESTCPU=x64 make =j32
16:32:53  <isaacs>s/=/-/
16:33:02  <piscisaureus_>ahja
16:33:06  <piscisaureus_>thnx
16:33:09  <isaacs>np
16:36:24  * tomshredsjoined
16:37:06  * AvianFlujoined
16:37:54  <bradleymeck>isaacs: is there a specific place to note difficult common use cases for readable-stream, issues i guess?
16:38:39  <isaacs>bradleymeck: issues, yes
16:40:43  * ericktjoined
16:41:14  * tomshredsquit (Ping timeout: 260 seconds)
16:41:14  * c4milojoined
16:44:43  * mikealjoined
16:46:38  * bradleymeckquit (Read error: Connection reset by peer)
16:46:49  * bradleymeckjoined
16:51:09  * Ralt_quit (Ping timeout: 246 seconds)
16:52:00  <piscisaureus_>isaacs: haha, a 32-core build on a 512mb box was not a great idea :-)
16:52:16  <bradleymeck>piscisaureus_: takes a long time
16:52:18  <piscisaureus_>make[1]: *** [/root/node/out/Release/obj.target/v8_base/deps/v8/src/bootstrapper.o] Error 1
16:52:18  <piscisaureus_>virtual memory exhausted: Resource temporarily unavailable
16:52:18  <piscisaureus_>make[1]: *** [/root/node/out/Release/obj.target/v8_base/deps/v8/src/liveedit.o] Error 1
16:53:12  * bradleymeckquit (Quit: bradleymeck)
16:53:16  * _rheora_joined
16:54:08  <_rheora_>hi all
16:54:35  <_rheora_>sorry, can i have some help here?
16:55:46  <_rheora_>anyone please?
16:56:06  <piscisaureus_>_rheora_: well, it depends what the question is
16:57:07  <_rheora_>piscisaureus_: thanks, i just want to know what is really a tick in node
16:57:17  * loladirojoined
16:57:29  <_rheora_>or maybe if u have some useful resource for me to read about
16:57:48  <piscisaureus_>_rheora_: it doesn't mean anything, except "soon"
16:58:32  <piscisaureus_>_rheora_: node will not "take a break" before it calls your callback (like it might with setTimeout), but it might do other stuff first
16:59:05  <piscisaureus_>_rheora_: in the upcoming node version this will change slightly, nextTick will insert your callback to be run immediately after your current stack winds up
16:59:17  <piscisaureus_>(except if there are multiple nextTicks scheduled)
17:00:30  <isaacs>piscisaureus_: no, you can have Infinity scheduled nextTicks and it'll still do them at the end of the current run-to-completion
17:00:57  <isaacs>piscisaureus_: but if you continually schedule a nextTick in a nextTick, then it'll wait after 1000 deep
17:01:03  <isaacs>_rheora_: ^
17:01:22  <piscisaureus_>isaacs: well - your nextTick may not be the one "next up" - because there is already another nextTick.
17:01:28  <piscisaureus_>isaacs: btw - do we print a warning yet?
17:01:30  <isaacs>oh, right
17:01:33  <isaacs>i don't think so
17:01:48  <piscisaureus_>isaacs: I really want this 1000 recursions thing to go away *after* 0.10
17:01:51  <piscisaureus_>it's so terrible
17:02:36  <tjfontaine>are we sure that's the tick he's talking about and not v8 ticks?
17:02:54  <_rheora_>piscisaureus_: nextTick currently mean "schedule this action before the another tick" isnt it?
17:03:01  <tjfontaine>k
17:03:05  <tjfontaine>that answers that :)
17:03:21  <piscisaureus_>tjfontaine: v8 ticks is a pretty advanced topic :-)
17:03:35  <tjfontaine>:)
17:03:57  <piscisaureus_>_rheora_: well, that doesn't really define what a tick is
17:04:05  <piscisaureus_>_rheora_: but as I said - there isn't really a concept of tick
17:04:15  <piscisaureus_>the name is just weird
17:04:31  <_rheora_>piscisaureus_: ok, thks
17:05:05  <_rheora_>isaacs: the next event loop is actually a tick or im missing something?
17:05:32  <piscisaureus_>_rheora_: well, there are "loop iterations"
17:05:36  * TooTallNatejoined
17:05:49  <piscisaureus_>but nextTicks are processed at two points per loop iteration at the moment
17:06:09  <piscisaureus_>also, the number events that can be processed per loop iteration is platform dependent
17:06:14  <isaacs>_rheora_: basically, you can think of a "tick" as "entering JavaScript land, running all sync code to the bottom of the function"
17:06:16  <piscisaureus_>so that doesn't really tell you much
17:06:29  <piscisaureus_>isaacs: well, that's in the next version yes
17:06:59  * c4miloquit (Remote host closed the connection)
17:07:03  <isaacs>piscisaureus_: sure, it's just that in 0.8, there's some time spent in libuv land between every JS pass
17:07:20  <isaacs>piscisaureus_: whereas in 0.9, nextTick will run at the end as a separate JS "tick", without any libuv time between
17:07:24  <piscisaureus_>isaacs: well, nah, not really
17:07:36  <piscisaureus_>isaacs: in 0.8 multiple callbacks can happen in a row
17:07:41  <piscisaureus_>with nextTick only after that
17:07:42  <isaacs>oh, that's true
17:07:55  <_rheora_>isaacs: that very clear, thks :)
17:08:02  <piscisaureus_>_rheora_: well, as you can see, nobody really knows how it works :-p
17:08:04  <isaacs>piscisaureus_: that's actually the problem that breaks http sometimes :)
17:08:09  <piscisaureus_>yeah
17:08:14  <piscisaureus_>I totally agree with the new thing
17:08:22  <piscisaureus_>except the 1000 limit
17:08:23  <piscisaureus_>:-)
17:09:10  <isaacs>_rheora_: in 0.9, process.nextTick is always "At the end of the current JS pass", with the exception that if you call process.nextTick within a process.nextTick, and recurse like that a "tick depth" of 1000, it'll actually check for new libuv events before running the next nextTick callback
17:09:20  <isaacs>_rheora_: and, as piscisaureus_ points out, this is ugly and stupid.
17:09:46  <isaacs>_rheora_: but, we try to change semantics gradually if they're going to potentially break existing programs
17:09:58  <isaacs>hte 1000 tick depth limit will go away in 0.123
17:10:00  <isaacs>0.12
17:13:05  * EhevuTovjoined
17:13:32  <_rheora_>isaacs: what are the current steps within one loop?
17:15:19  <_rheora_>isaacs: and also it means that in 0.8 all nexTick callees are randomly scheduled after the current tick?
17:15:35  <isaacs>_rheora_: not "randomly"
17:15:40  <isaacs>_rheora_: they still go in order.
17:15:48  <isaacs>_rheora_: but there might be some IO that happens before a nextTick
17:16:10  <piscisaureus_>isaacs: so how do I make install node on the solaris box. it complains that /usr/bin is a readonly fs
17:16:51  <_rheora_>isaacs: ok, thks. where can i find the libuv loop steps then?
17:16:58  <tjfontaine>./configure --prefix=/opt or similar
17:17:12  <isaacs>piscisaureus_: what tjfontaine said
17:17:12  <piscisaureus_>ah it doesn't add usr/local/bin to the path
17:17:21  <isaacs>--prefix=/opt/local
17:17:37  <piscisaureus_>ah right
17:17:38  <piscisaureus_>thanks
17:17:47  <isaacs>i think you can also do PREFIX=/opt/local make install
17:17:57  <piscisaureus_>I learn a lot today
17:24:55  <_rheora_>i dont found anything about this yet, can someone could give me a link please?
17:25:38  * stagasjoined
17:26:04  <_rheora_>piscisaureus_: about steps of an event loop iteration
17:26:21  <isaacs>piscisaureus_: +/- on wording for warning? '(node) warning: Maximum tick depth reached. Please use setImmediate for recursive deferral.'
17:33:32  <MI6>joyent/node: isaacs created branch max-tick-warning - http://git.io/vnL9TQ
17:40:16  <piscisaureus_>isaacs: I think you should put emphasis on the fact that it won't work any more in the next version of node
17:43:03  * EhevuTovquit (Quit: This computer has gone to sleep)
17:43:29  <piscisaureus_>isaacs: and the "maximum tick depth" is not really something we want people to consider. It's just there to detect that users are doing "recursive deferral"
17:43:46  <isaacs>k
17:45:07  <isaacs> var msg = '(node) warning: Recursive process.nextTick detected. ' +
17:45:07  <isaacs> 'This will break in the next version of node. ' +
17:45:07  <isaacs> 'Please use setImmediate for recursive deferral.';
17:45:16  <piscisaureus_>yes!
17:45:20  <piscisaureus_>isaacs++
17:45:20  <kohai>isaacs has 24 beers
17:45:20  <isaacs>k
17:46:47  * bradleymeckjoined
17:49:55  <MI6>joyent/node: isaacs max-tick-warning * 01b9c97 : Print warning when maxTickDepth is reached - http://git.io/M01VNA
17:49:55  <isaacs>piscisaureus_: review?
17:50:39  <isaacs>oh, wait, message test has my paths in it
17:51:50  <piscisaureus_>isaacs: + if (i --> 0) ?
17:51:53  <MI6>joyent/node: isaacs max-tick-warning * 4a7a782 : Print warning when maxTickDepth is reached - http://git.io/VZmcIA
17:52:07  <isaacs>piscisaureus_: you've never seen the "goes to" operator?
17:52:16  <piscisaureus_>isaacs: I have never let it past review
17:52:19  <isaacs>piscisaureus_: hahah
17:52:27  <isaacs>k, i'll style it up nodey
17:53:13  <piscisaureus_>isaacs: lgtm
17:53:57  <isaacs>fixed style. landing now
17:53:58  <MI6>joyent/node: isaacs max-tick-warning * 8546d18 : Print warning when maxTickDepth is reached - http://git.io/UtUJZA
17:54:09  * joshthecoderjoined
17:55:55  <MI6>joyent/node: isaacs master * 21c741f : Print warning when maxTickDepth is reached - http://git.io/nWcXZA
17:56:31  * stagasquit (Ping timeout: 245 seconds)
17:56:40  * stagasjoined
18:06:56  * lohkeyjoined
18:09:42  * sblomquit (Ping timeout: 246 seconds)
18:12:52  * AvianFluquit (Remote host closed the connection)
18:14:41  * sgallaghquit (Read error: Connection reset by peer)
18:15:02  * sgallaghjoined
18:16:46  * AvianFlujoined
18:18:28  * brsonjoined
18:18:40  * Ralt_joined
18:19:13  <dap>isaacs: I understand that in some cases in node 0.8, 'data' can be emitted on a stream after it's been paused. But if I'm reading the code correctly, for fs.ReadStream, if I pause() during "open", I shouldn't get any data, right?
18:19:14  <dap>https://github.com/joyent/node/blob/master/lib/fs.js#L1357-1358
18:19:31  <isaacs>dap: hm.... um... maybe?
18:19:38  <isaacs>dap: all that stuff is so inconsistent
18:19:57  <isaacs>dap: i *think* it's only pending already-started reads that will cause it to emit if it's paused
18:20:31  <isaacs>dap: and the worst offender there is http, since the parser will emit('connection', req, res) and then immediately emit whatever bit of the body came in already, right in the same tick
18:22:36  <indutny>hoya
18:22:40  <indutny>how are we doing guys?
18:23:51  * sgallagh1joined
18:23:58  * sgallaghquit (Remote host closed the connection)
18:29:27  <isaacs>indutny: hey, man
18:29:38  <isaacs>indutny: how is russia?
18:29:39  * c4milojoined
18:29:46  <indutny>stands still :)
18:29:54  <indutny>how is SF?
18:30:02  <isaacs>how boring. you guys need some earthquakes.
18:30:11  <isaacs>indutny: they put the fires out.
18:30:19  <indutny>no, thanks
18:30:20  <isaacs>indutny: sf was attacked by the worshippers of The Giants.
18:30:30  <isaacs>indutny: they set fires, pooped on everythign.
18:30:42  <isaacs>indutny: i'm happy to be over here in Oakland
18:30:49  <dap>isaacs: The ability to use the "stdio" argument of "spawn" sort of depend on this. Say you want to spawn a process with stdin redirected from a file, and stdout redirected to another file. You have to wait for both of the fds to emit "open" before you can spawn (see #4030), but once they do, they can start reading data (which is bad)
18:30:56  <indutny>isaacs: ah, you're in oak land
18:31:05  <isaacs>dap: yes.
18:31:05  <indutny>isaacs: I'm going to visit you in January
18:31:13  <indutny>isaacs: do you have a room?
18:31:14  <isaacs>dap: you can also just do fs.open() to get a fd
18:31:28  <dap>Ah, maybe that's all I should be doing.
18:31:32  <indutny>and we would like to visit Disney land this time
18:31:32  <isaacs>indutny: kewl! i do.
18:31:42  <isaacs>indutny: disney land is a long way from oakland
18:31:52  <isaacs>indutny: like, 5 hour drive or so
18:31:53  <indutny>isaacs: hahahahaha
18:32:00  <indutny>isaacs: oh, it's not that much
18:32:02  <indutny>we'll rent a car
18:33:00  <indutny>actually, we're going to stay in SF
18:33:04  <indutny>no way I'll be in Oakland
18:33:22  <indutny>well, I may visit you
18:33:25  <indutny>but...
18:33:26  <indutny>hm..
18:33:29  <indutny>idk, actually
18:34:01  <indutny>probably, oakland is fine too, never been there before
18:34:04  <indutny>isaacs: any suggestions?
18:34:30  <isaacs>indutny: oakland is better to live in
18:34:48  <isaacs>indutny: but if yoer' coming to visit for just a little while, honestly, it's not too exciting.
18:35:02  <CoverSlide>there's great america in santa clara
18:35:18  <isaacs>indutny: sf is exciting and busy and lots of big city and tourist stuff.
18:35:32  <isaacs>indutny: oakland has parks and coffeeshops and urine-free sidewalks.
18:35:42  <isaacs>(mostly urine-free, anyway. quite a bit less urine than sf)
18:35:56  <indutny>haha
18:36:11  <CoverSlide>isaacs: do you have a lot of raider fans there?
18:36:20  <isaacs>CoverSlide: probably.
18:36:22  <CoverSlide>because i feel there's more of them here in LA
18:36:38  <isaacs>CoverSlide: but the biggest sports tribe in the area is definitely The Giants
18:36:44  <CoverSlide>ic ic
18:36:49  <indutny>bw
18:36:50  <indutny>btw
18:37:00  <indutny>candor SSA+HIR+LIR jit is working
18:37:03  <indutny>muhahahaha
18:37:10  <indutny>finally, I've rewritten it from scratch
18:37:16  <indutny>and it works
18:37:22  <bradleymeck>did it get some feature akin to throw/catch?
18:37:23  <indutny>almost every feature, except variadic arguments
18:37:28  <indutny>bradleymeck: nope
18:37:33  <isaacs>CoverSlide: The Giants worshippers are tall, and cover themselves in black and orange clothing, and beer, and pile into the trains with thier children and giant foam hands.
18:37:53  <isaacs>CoverSlide: and they do not know how escalators work
18:37:58  <CoverSlide>haha
18:38:11  <isaacs>when there is a sports, the Bart is not pretty
18:38:31  <isaacs>bradleymeck: throw/catch is an antipattern anyhow
18:38:47  <isaacs>indutny: does it have goto?
18:38:51  <isaacs>;P
18:38:53  <indutny>isaacs: nope :)
18:38:56  <indutny>haha
18:38:57  <bradleymeck>isaacs: indeed there are other ways, but always success is a no go when making large apps for me
18:39:08  <indutny>bradleymeck: enterprise!
18:39:10  <bradleymeck>i dont want to check every single return value for every function
18:39:10  <isaacs>i was thinking it'd be really nice to have a language that *only* has goto(label) and goback(n)
18:39:28  <bradleymeck>isaacs: n == statements? lines?
18:39:36  <isaacs>bradleymeck: frames
18:41:00  * AndreasMadsenjoined
18:41:40  <bradleymeck>isaacs: mmmm, may be hard to calculate out on glance
18:41:40  <indutny>isaacs: haha
18:41:48  <indutny>isaacs: fuckbrain
18:42:01  <isaacs>maybe
18:42:08  <isaacs>but you can then build up everything from there
18:42:12  <isaacs>need some iteration
18:42:19  <isaacs>but the key is: goto, and a way to return
18:42:33  <isaacs>and all variables are global
18:42:44  <isaacs>it'll be like everything wrong in languages.
18:42:46  <isaacs>but simple!
18:42:49  <isaacs>but simple!!
18:42:53  <isaacs>so so sipmle!
18:43:05  <indutny>haha
18:43:39  <CoverSlide>reminds me of TI-8x BASIC
18:43:56  <CoverSlide>or MSDOS .BAT
18:47:56  * janjongboomquit (Quit: janjongboom)
18:49:32  * isaacsaway
18:50:48  <_rheora_>please is it true that in an libuv eventloop iteration, things queued are fired whithout any priority? (bradleymeck says it)
18:51:04  * bradleymeckquit (Quit: bradleymeck)
18:52:02  <_rheora_>anyone?
18:52:20  <_rheora_>im just learning please
18:53:33  <piscisaureus_>_rheora_: bradleymeck is right
18:54:33  <piscisaureus_>solaris users:
18:54:34  <piscisaureus_>[[email protected] ~/node]$ $(which node) -v
18:54:34  <piscisaureus_>v0.8.14
18:54:34  <piscisaureus_>[[email protected] ~/node]$ node -v
18:54:34  <piscisaureus_>v0.4.9
18:54:36  <piscisaureus_>??
18:54:42  <piscisaureus_>isaacs: ^
18:55:23  <tjfontaine>heh that's cute
18:55:53  <tjfontaine>I'm not quite sure how that works out unless there's a shell alias around
18:58:07  * mmalecki[forest]changed nick to mmalecki
18:59:02  * bradleymeckjoined
18:59:02  * bradleymeckis a little late to say fifo is a form of priority*
18:59:20  <bradleymeck>little late to say fifo is a form of priority*
19:00:14  <piscisaureus_>I'm not really sure you could call it fifo :-)
19:00:34  <piscisaureus_>it depends on the underlying os interface that's being used
19:00:48  <piscisaureus_>but timers always come first and uv_idle always comes last :-0
19:00:58  <piscisaureus_>so maybe you could call that a form of priority
19:01:24  <piscisaureus_>and close callbacks go lifo on unix and fifo on windows
19:01:58  * bradleymeckquit (Client Quit)
19:02:42  <_rheora_>piscisaureus_: thats excatly what i wanted
19:03:54  <_rheora_>any link about that?
19:05:13  <_rheora_>piscisaureus_ and if i understand well, its setTimeout things, then io, then close callbacks queue?
19:05:23  <piscisaureus_>Receiving objects: 8% (1465/17266), 15.23 MiB | 35 KiB/s <-- github :-(
19:05:27  <piscisaureus_>_rheora_: yes
19:06:24  * mmaleckichanged nick to mmalecki[brb]
19:06:32  <_rheora_>piscisaureus_: poor connection :p, which country?
19:06:55  <piscisaureus_>_rheora_: in joyent's data centers? could be
19:08:25  <_rheora_>piscisaureus_: ohhhh sorry, u work with isaacs then ^^, i will be like u in few months, or years
19:10:09  <_rheora_>piscisaureus_: you have a doc for me btw, please?
19:11:06  * bradleymeckjoined
19:11:40  <piscisaureus_>_rheora_: I work with isaacs indeed, although I don't work for joyent. But I am using a joyent machine atm.
19:11:40  <piscisaureus_>_rheora_: I can't write a book in 5 minutes. Look at http://nikhilm.github.com/uvbook/
19:14:43  <_rheora_>piscisaureus_: lol im reading the basics of this already, i needed just a link about this priority thing (usage in node)
19:14:57  <piscisaureus_>_rheora_: there are no docs on that.
19:16:00  <piscisaureus_>_rheora_: look at https://github.com/joyent/libuv/blob/149b16f1232d8fdcf5436534d6ade6f9877e1b8f/src/unix/core.c#L274-283 and https://github.com/joyent/libuv/blob/149b16f1232d8fdcf5436534d6ade6f9877e1b8f/src/win/core.c#L245-271
19:17:26  <_rheora_>piscisaureus_: thksssssssssssss
19:17:36  * bradleymeckquit (Quit: bradleymeck)
19:21:12  * TooTallNatequit (Ping timeout: 260 seconds)
19:22:36  * bradleymeckjoined
19:23:20  <bradleymeck>lycanthropic undead vampire
19:23:37  * TooTallNatejoined
19:32:39  * c4miloquit (Ping timeout: 240 seconds)
19:35:17  <indutny>creationix: heya
19:35:23  <indutny>creationix: http://github.com/indutny/candor <- all tests are passing!
19:35:51  <MI6>joyent/node: Francois Marier v0.8 * 326bce9 : doc: reflect hostname v. host preference in examples The documentation f - http://git.io/Yybu7g
19:40:11  * sgallagh1quit (Read error: Connection reset by peer)
19:40:51  * slurpjoined
19:41:20  * sgallaghjoined
19:41:45  * c4milojoined
19:43:48  <_rheora_>piscisaureus_: thks for all, see u tomorow :)
19:44:08  * sblomjoined
19:44:15  * _rheora_quit (Quit: Quitte)
19:44:29  <piscisaureus_>ok, almost there
19:44:31  * c4miloquit (Remote host closed the connection)
19:44:32  <piscisaureus_>how do I
19:45:06  * c4milojoined
19:45:06  * sgallaghquit (Remote host closed the connection)
19:45:38  * sblomquit (Read error: Connection reset by peer)
19:45:48  * sblomjoined
19:46:17  * slurpquit (Remote host closed the connection)
19:46:49  * c4milo_joined
19:48:14  <CoverSlide>how do liiive without youuuu? i want to knowww!!
19:48:22  * slurpjoined
19:47:38  <indutny>piscisaureus_: haha
19:47:38  <piscisaureus_>test
19:47:44  * c4milo_quit (Remote host closed the connection)
19:48:09  * c4milo_joined
19:48:20  * c4miloquit (Read error: Connection reset by peer)
19:50:38  * roxlujoined
19:50:41  <roxlu>ha! hi
19:50:50  <piscisaureus_>log.libuv.org or logs.libuv.org ?
19:51:04  <indutny>piscisaureus_: logs
19:51:11  <piscisaureus_>yea
19:51:14  <piscisaureus_>ok
19:52:53  <roxlu>I just cloned libuv and trying to find how ot build a correct 32bit library from it? (There is no 'configure' file, so I'm using cpp/ldflags, but when I compile I see -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE=1 .. When I compile an application compilation+linking works.. but as soo as I call uv_run I get an bus error
19:55:27  * mmalecki[brb]changed nick to mmalecki
19:59:13  * slurpquit (Remote host closed the connection)
19:59:19  * slurpjoined
20:01:36  <piscisaureus_>roxlu: I don't know, probably bnoordhuis does (when he comes back)
20:01:54  <roxlu>ok, thanks.
20:02:38  <tjfontaine>what does gdb say?
20:02:56  * piscisaureus_topic: liberal utopian vacation ~ http://logs.libuv.org/libuv ~ http://groups.google.com/group/libuv
20:06:06  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:08:58  <piscisaureus_>isaacs: are you adding a "logs.nodejs.org" alias?
20:11:04  * TooTallNatejoined
20:15:06  * TooTallNatequit (Ping timeout: 240 seconds)
20:16:02  * TooTallNatejoined
20:37:36  <wavded_>anyone have experience with stud?
20:39:06  * wavded_quit
20:39:23  * wavdedjoined
20:50:23  * AvianFluquit (Remote host closed the connection)
20:52:34  <indutny>wavded: depends on what do you mean by experience
20:54:31  * AvianFlujoined
20:59:28  * pooyaquit (Quit: pooya)
21:00:45  <tjfontaine>wavded: it's easier to ask, than it is to ask to ask
21:00:48  * pooyajoined
21:02:05  * bradleymeckquit (Ping timeout: 268 seconds)
21:02:09  * slurp-transitionquit (Remote host closed the connection)
21:02:16  * slurp-transitionjoined
21:14:05  <wavded>tjfontaine: indutny got my question answered on the node.js side.. didn't realize i posted here but thanks
21:14:22  <indutny>ok
21:14:23  <indutny>np
21:14:26  <indutny>ask more
21:14:28  <indutny>;)
21:14:52  * xer0xjoined
21:16:05  <wavded>i like that attitude :)
21:20:28  * Ralt_quit (Read error: Operation timed out)
21:20:55  * Luqmanquit (Remote host closed the connection)
21:36:55  * mralephjoined
21:37:16  * AndreasMadsenquit (Remote host closed the connection)
21:42:08  * c4milojoined
21:44:39  * c4milo_quit (Ping timeout: 260 seconds)
21:48:42  <roxlu>piscisaureus_: are you the main developer of libuv?
21:49:11  <piscisaureus_>roxlu: I would not say "the" main developer
21:49:17  <piscisaureus_>roxlu: bnoordhuis and me
21:49:22  <roxlu>ok cool
21:49:26  * EhevuTovjoined
21:49:49  <roxlu>awesome to see some dutch developers creating great stuff!
21:50:29  <roxlu>I've been working with libevent, but was looking for a library with a bit more active community. Seems like I've just found it :>
21:50:37  <piscisaureus_>you have
21:50:46  <piscisaureus_>libevent is more stable but libuv is better :-)
21:51:03  <roxlu>I find the community as important :)
21:51:06  <piscisaureus_>roxlu: what are you using it for>?
21:51:29  <roxlu>I'm implementing a hook to the twitter streaming server atm.
21:52:04  <roxlu>it needs openssl..(which I'm new to), but it seems that libevent is not giving me enough information .
21:52:21  <roxlu>though it hides some underlaying features of the ssl handshake.
21:52:31  <piscisaureus_>libuv also does not do ssl
21:52:39  <roxlu>piscisaureus_: I know : )
21:52:50  <roxlu>but it's nice and raw.. so I can wrap it myself
21:53:06  <piscisaureus_>ah sure, good luck
21:53:12  <piscisaureus_>if you can help it, don't use openssl
21:53:13  <piscisaureus_>it's terrible
21:53:15  <roxlu>thanks ^.^
21:53:37  <roxlu>I'm completely new to ssl... thought openssl was the way to go as tons of other libraries use it
21:53:47  <roxlu>any other recommendations?
21:54:09  <piscisaureus_>we use it primarily because it supports a lot of stuff and it has a liberal license
21:54:22  <piscisaureus_>if you just need a particular feature look at polarssl or even gnutls
21:54:31  <roxlu>ok
21:54:43  <roxlu>I need to make a https connection
21:55:17  <roxlu>I found it rather easy with openssl to be honoust.. wouldn't have thought I could create a http connection in a couple of hours
21:55:30  <roxlu>(.. couple of hours learning (open)ssl)
21:55:31  <piscisaureus_>well, if it works for you then there's no reason not to
21:55:53  <piscisaureus_>in node we always have problems with openssl
21:55:58  <piscisaureus_>and the thing is virtually un-hackable
21:56:04  <piscisaureus_>because it's such a mess
21:57:41  <roxlu>hmm polarssl looks nice and clear
21:58:01  <piscisaureus_>I have not benchmarked it
21:58:20  <roxlu>libevent is handling the handshake for me now.. I've no idea how hard that will be when doing it myself.
21:58:21  <piscisaureus_>but if you just need it for a (couple of) client connections it should not matter much
21:58:54  <roxlu>yeah, actually just need to make like max 50 connections per minute
21:59:01  <roxlu>absolute max
21:59:20  <roxlu>it's for a realtime graphics application
21:59:48  <roxlu>is polarssl support/community better then openssl you think?
22:00:43  <piscisaureus_>I think it's much smaller, but I don't have much experience with either community
22:00:50  <roxlu>ok
22:01:30  <roxlu>till now I'm pretty happy with libuv :-) 68 users in here
22:01:41  <piscisaureus_>roxlu: I think in either case you're pretty much on your own, but if you're a good coder you can probably manage :-)
22:02:17  <roxlu>To be honoust I still find it a lot to wrap my head around ssl... but I think I'll manage
22:03:34  * sblomquit (Ping timeout: 240 seconds)
22:07:36  * rendarquit
22:19:42  <isaacs>So, for the streaming crypto stuff...
22:20:00  <isaacs>should we just make the Hash/Hmac/etc classes Streams, or add HashStream/HmacStream/etc.
22:20:14  <isaacs>piscisaureus_, TooTallNate, bnoordhuis, indutny, anyone else ^
22:21:06  <isaacs>it's pretty trivial in any event, and can be done without any backwards compatibility fail (assuimng you don't try to USE the digest/update/etc methods directly, and ALSO use the stream bits)
22:21:40  <TooTallNate>i'm impartial really. I can't say I've ever used the crypto api's first hand
22:21:45  <piscisaureus_>haha
22:21:49  <piscisaureus_>me too to be honest
22:22:09  <piscisaureus_>I think I would just make Hash/HMAC streams
22:22:30  <CoverSlide>I've used em
22:22:45  <piscisaureus_>well then say something CoverSlide :-)
22:22:52  <CoverSlide>so how would this new api work?
22:23:50  * c4milo_joined
22:23:58  <piscisaureus_>isaacs: ^
22:24:01  <CoverSlide>because i used digest/ update / final
22:24:21  <mmalecki>isaacs: +1
22:24:41  <mmalecki>isaacs: I actually wrote a HashingStream implementation
22:24:43  <isaacs>CoverSlide: var hash = crypto.Hash('sha256'); hash.write('foo bar'); hash.end(); var sha = hash.read();
22:25:11  <mmalecki>just because it was easier to use when piping tarballs between servers
22:25:16  <isaacs>mmalecki: yeah
22:25:21  <CoverSlide>oic, makes sense
22:25:38  <CoverSlide>yeah that seems like a much better way
22:25:38  <TooTallNate>isaacs: so it's a Transform stream?
22:25:47  <isaacs>CoverSlide: so you can also do: fs.createReadStream(file).pipe(crypto.Hash('256')).on('readable', function () { sha = this.read() })
22:25:50  <isaacs>TooTallNate: yeah
22:25:54  <isaacs>it's like 10 lines of code
22:25:58  <TooTallNate>cool :)
22:26:10  <TooTallNate>they're bytes after all ;)
22:26:29  <isaacs>yep
22:27:07  <mmalecki>isaacs: where are we with the problem of arbirtrary data types as stream chunks?
22:27:13  <isaacs>you just get a single data chunk, and then it ends
22:27:14  <mmalecki>like, objects?
22:27:19  <isaacs>mmalecki: don't care.
22:27:28  <isaacs>mmalecki: they're not first-class, but we won't try to break them
22:27:38  <isaacs>it's not too hard to make them work with the new model. Raynos has been doing it.
22:27:47  <isaacs>and he's been very involved with the streams2 process
22:27:49  * c4miloquit (Ping timeout: 260 seconds)
22:27:51  <piscisaureus_>it's nice
22:28:13  <piscisaureus_>we could also deprecate teh update/final api and stick to using binary strings as a default
22:28:21  <piscisaureus_>and tell people to write/read if they want buffers
22:29:50  <Raynos>oh hi
22:30:43  <Raynos>mmalecki: its not a problem
22:30:55  <Raynos>it's a problem if you use the default implementation of .read() in ReadableStream
22:31:05  <Raynos>just overwrite .read and .write to be functions that are clean
22:31:18  <mmalecki>great :)
22:31:32  <Raynos>mmalecki: https://github.com/Raynos/read-stream/blob/master/index.js#L19
22:31:37  <mmalecki>I guess I should find some time to read the actual implementation
22:31:38  <bnoordhuis>back
22:31:54  <Raynos>I think that the Readable base class can be fixed if isaacs stops assuming that every chunk has a .length property
22:32:02  <Raynos>but to be honest I wouldnt do that
22:32:18  <Raynos>the new Readable / Transform / Writable base classes should be used for streams of buffers
22:32:30  <Raynos>synthetic streams of non-buffer/string data should use custom base classes
22:32:53  <isaacs>Raynos: i think it can be made to work maybe, but the fromList function would need a third mode.
22:33:04  <bnoordhuis>roxlu: make sure you compile your program with the same flags, you may have a sizeof(struct stat) mismatch between libuv and your program
22:33:05  <isaacs>Raynos: like, "This is not buffers, or strings, just always return one thing every time"
22:33:19  <Raynos>but yes I've made isaacs do a bunch of streams2 bug fixes to make implementing read-stream and write-stream (https://github.com/Raynos/write-stream) possible
22:33:24  <roxlu>bnoordhuis: yeah, it's working now
22:33:39  <roxlu>bnoordhuis: thanks ^.^, enjoying the libuv api a lot
22:33:58  <bnoordhuis>roxlu: okay, good :)
22:34:46  <Raynos>mmalecki: The only thing I havn't done any proper testing of if the streams2 fallback to old 0.8 streams works with synthetic streams (of arbitary data)
22:35:38  * `3rdEdenquit (Quit: Zzzz gnite <3)
22:37:26  <roxlu>I'm looking for an (efficient) way to write a http request to a server and wondering what I do with my char* that contains the request. I assume I create a new uv_but_t, and set base to my pointer and len to the length. But I'm wondering who is/should take ownership of the uv_but_t I pass to uv_write
22:39:45  <bnoordhuis>roxlu: uv_write() copies the uv_buf_t but *not* the memory that uv_buf_t points to
22:39:46  <roxlu>haha .. did I just wrote 2x uv_buT_t (O.0)
22:39:57  <roxlu>bnoordhuis: awesome : ) thanks
22:40:46  <indutny>isaacs: idk
22:40:52  <indutny>isaacs: hashes are like streams already
22:41:23  <indutny>isaacs: so if you'll make them streams and that .update() .digest() thing at the same time - it would be the best option IMHO
22:43:46  * stagas_joined
22:44:27  * bradleymeckjoined
22:45:31  <MI6>joyent/libuv: Leonard Hecker master * b8706f3 : darwin: make it possible to compile for iOS Relocate the include of Targ - http://git.io/q5JDrw
22:46:07  <MI6>joyent/libuv: Leonard Hecker master * 97c527a : darwin: make it possible to compile for iOS Relocate the include of Targ - http://git.io/IknWfA
22:46:19  <bnoordhuis>^ author email addy fix
22:47:00  <roxlu>Can I make uv_getaddrinfo blocking?
22:47:06  <piscisaureus_>roxlu: no
22:47:14  <piscisaureus_>roxlu: but OSes do have getaddrinfo :-)
22:47:17  <piscisaureus_>which is blocking
22:47:39  <roxlu>yeah
22:48:25  * travis-cijoined
22:48:25  <travis-ci>[travis-ci] joyent/libuv#832 (master - b8706f3 : Leonard Hecker): The build was broken.
22:48:25  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/149b16f1232d...b8706f394874
22:48:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2981194
22:48:25  * travis-cipart
22:49:59  * travis-cijoined
22:49:59  <travis-ci>[travis-ci] joyent/libuv#833 (master - 97c527a : Leonard Hecker): The build was fixed.
22:49:59  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/b8706f394874...97c527ac4372
22:49:59  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2981203
22:49:59  * travis-cipart
23:02:08  <piscisaureus_>I'm heading out guys
23:02:21  <piscisaureus_>"Ik ga er vandoor kinders" <-- indutny, practice that
23:02:40  <indutny>ok :)
23:03:38  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:03:38  <indutny>kinders is very strange word
23:03:51  <indutny>I really expect here "rs" sound at the end
23:03:53  <indutny>not "ls"
23:04:23  <bnoordhuis>indutny: kinders is colloquial, kinderen is proper
23:04:31  <indutny>well
23:04:38  <indutny>why does it sound like this
23:04:42  <indutny>I understand meaning
23:04:51  <indutny>dutch has interesting phonetics
23:05:38  <bnoordhuis>not to mention irregularities
23:05:43  <indutny>haha
23:05:43  <indutny>ok
23:10:46  <saghul>start practicing the "ui" sound
23:11:36  * Benviejoined
23:11:38  <bnoordhuis>and the "ij" vowel
23:12:31  <saghul>and "aa"s that are "a" and "a"s that are "aa" xD
23:12:43  <saghul>I gave up
23:12:54  <bnoordhuis>i don't blame you :)
23:20:41  * joeandaverdejoined
23:20:45  * joeandaverdequit (Client Quit)
23:25:46  <roxlu>ok, first steps in porting from libevent to libuv done :-)
23:25:50  <roxlu>tomorrow more :>
23:26:10  <roxlu>kga er ook vandoor kinders
23:26:44  * paddybyersquit (Ping timeout: 260 seconds)
23:31:38  <bnoordhuis>it's dutchies everywhere you look
23:36:46  <MI6>joyent/node: isaacs streams2 * b90f5b0 : crypto: Streaming interface for cipher/decipher/iv (+39 more commits) - http://git.io/CHdfqw
23:37:01  <isaacs>bnoordhuis: pass to the left hand side
23:39:18  * c4milo_quit (Remote host closed the connection)
23:41:33  * mralephquit (Quit: Leaving.)
23:53:08  * benoitcquit (Excess Flood)
23:56:24  * benoitcjoined