00:21:23  <igorzi>bnoordhuis: you have some time for a linux question?
00:21:38  <bnoordhuis>igorzi: sure, fire away
00:22:14  <igorzi>i'm running into that issue again.. where the server stops accepting connections
00:22:33  <bnoordhuis>what distro and kernel is it?
00:22:44  <bnoordhuis>oh, can i log in?
00:23:07  <igorzi>i can reproduce by running ab locally on the server, then verify that there are a lot of TIME_WAIT connections, and then trying ab from remote client fails
00:23:21  <igorzi>if i setup teamviewer - will that work?
00:23:33  <bnoordhuis>ehm, is ssh a possibility?
00:23:48  <bnoordhuis>or is it behind a vpn or firewall?
00:23:56  <igorzi>yeah, it's behind a firewall
00:24:07  <igorzi>it's 2.6.35.6, fedora
00:24:10  <bnoordhuis>can you ssh to the outside world?
00:24:31  <igorzi>can you give me a cmd-line to try?
00:25:11  <bnoordhuis>igorzi: ssh ben@72.2.124.183
00:25:33  <bnoordhuis>you won't be able to log in just yet but it should give you a prompt
00:25:56  <bnoordhuis>or if you have nmap installed: nmap -vv -P0 -p22 72.2.124.183
00:26:46  <igorzi>it says "Host is up"
00:27:02  <bnoordhuis>does it also say '22/tcp open ssh'?
00:27:18  <igorzi>'22/tcp filtered ssh'
00:27:24  <bnoordhuis>aw, too bad
00:27:44  <bnoordhuis>let me see if i have a teamviewer client
00:28:12  <igorzi>btw, i tried tweaking tcp_tw_recycle and tcp_tw_reuse, didn't work
00:31:51  <bnoordhuis>hah, oh man - teamviewer on linux is a windows application bundled with wine
00:32:12  <igorzi>heh :)
00:32:23  <igorzi>i'm still installing it here
00:33:07  <bnoordhuis>okay, seems to work
00:33:51  <bnoordhuis>igorzi: let me know when you're ready
00:34:00  <igorzi>bnoordhuis: ok will do.. thanks
00:40:20  <indutny>back
00:40:22  <indutny>good evening!
00:43:18  <igorzi>bnoordhuis: id: 912490778
00:43:25  <igorzi>pwd: 3964
00:43:33  <bnoordhuis>for all the world to see :)
00:44:00  <igorzi>sure, why not :)
00:44:12  <bnoordhuis>okay, i'm in
00:52:01  * isaacsquit (Quit: isaacs)
01:22:25  * brsonquit (Ping timeout: 252 seconds)
01:30:07  * ericktquit (Ping timeout: 252 seconds)
01:34:21  * graydonquit (Quit: Leaving.)
01:41:11  * ericktjoined
01:49:34  * ericktquit (Quit: erickt)
01:49:41  <dmkbot>joyent/node: Southern: process.nextTick error, or 'error' event on first tick -- TypeError: Cannot read property 'length' of null - https://github.com/joyent/node/issues/1698
01:59:41  <dmkbot>joyent/node: seebees: Tests for Sockets - https://github.com/joyent/node/issues/1699
01:59:42  <dmkbot>joyent/node: Sidnicious: child_process.execFile is nice, why not documented? - https://github.com/joyent/node/issues/1700
02:07:05  * ericktjoined
02:08:44  * ericktquit (Client Quit)
02:19:41  <dmkbot>joyent/node: baudehlo: Added docs on timers not being exact - https://github.com/joyent/node/issues/1701
02:19:42  <dmkbot>joyent/node: hildjj: Results of stat() incorrect, don't match statSync - https://github.com/joyent/node/issues/1401
02:19:43  <dmkbot>joyent/node: Sidnicious: child_process.execFile is nice, why not documented? - https://github.com/joyent/node/issues/1700
02:33:30  * ericktjoined
02:34:07  <bnoordhuis>ryah: if you want to review -> https://github.com/bnoordhuis/libuv/compare/tcp-close-again
02:35:22  <bnoordhuis>https://github.com/bnoordhuis/libuv/commit/bca49960fbde41517a833bc3f6bca1971c9746c0 <- fixes write queue corruption + write errors being reported synchronously
02:36:15  <bnoordhuis>https://github.com/bnoordhuis/libuv/commit/7ad84664ec572437fb7af6d3740b4c8f1f0387d6 <- runs pending callbacks when the stream is closed (iow, resource leak fix)
02:44:41  <dmkbot>joyent/node: ry: windows vt100 support in libuv - bipass node_stdio_win32 - https://github.com/joyent/node/issues/1702
02:44:42  <dmkbot>joyent/node: ry: file descriptor passing on windows and child_process.fork - https://github.com/joyent/node/issues/1703
02:45:31  <ryah>bnoordhuis: okay - give me a few minutes
02:46:27  <bnoordhuis>it passes all libuv and node tests btw (the ones that weren't failing before anyway)
02:47:03  <ryah>bnoordhuis: uv_err_new(req->handle->loop, UV_EINTR);
02:47:19  <ryah>should be uv_err_new_artificial
02:47:27  <bnoordhuis>right, good catch
02:48:05  <ryah>there's another one like that on line 132
02:48:22  <bnoordhuis>yes, i saw it
02:52:22  * ericktquit (Quit: erickt)
02:52:54  <ryah>bnoordhuis: LGTM
02:53:03  <bnoordhuis>sweet, merging
02:54:41  <dmkbot>joyent/node: Sidnicious: child_process.execFile is nice, why not documented? - https://github.com/joyent/node/issues/1700
02:54:41  <CIA-52>libuv: Ben Noordhuis master * rbca4996 / (include/uv-private/uv-unix.h src/unix/stream.c):
02:54:41  <CIA-52>libuv: unix: handle stream write errors properly
02:54:41  <CIA-52>libuv: 1. Ensure that failed writes don't leave the write queue in an inconsistent
02:54:41  <CIA-52>libuv: state. Before, write requests were handed back to the user but were not
02:54:41  <CIA-52>libuv: removed from the write queue. The cause of at least one use-after-free bug.
02:54:42  <CIA-52>libuv: 2. Pass the error to the callback on the next iteration of the event loop
02:54:43  <CIA-52>libuv: instead of returning it immediately. - http://git.io/8OxWXA
02:54:43  <CIA-52>libuv: Ben Noordhuis master * r3c96410 / (6 files in 3 dirs):
02:54:44  <CIA-52>libuv: unix: bring back uv__stream_destroy()
02:54:44  <CIA-52>libuv: This is the revised version of reverted commit 431195c. - http://git.io/EsfjYQ
02:54:45  <CIA-52>libuv: Ben Noordhuis master * r4b9b692 / src/unix/stream.c :
02:54:45  <CIA-52>libuv: unix: fix off-by-one error in comparison
02:54:46  <CIA-52>libuv: Only 3 of the 4 buffer list entries were being used. - http://git.io/6QISEw
02:56:41  <bnoordhuis>we're getting way behind on pull requests :/
02:58:31  <ryah>yeah
02:59:41  <dmkbot>joyent/node: hildjj: Results of stat() incorrect, don't match statSync - https://github.com/joyent/node/issues/1401
02:59:46  <bnoordhuis>let's make friday merge day
03:00:04  <rmustacc>Is there something I could help with if I have a few cycles?
03:00:45  <bnoordhuis>rmustacc: checking pull requests for bugs, code style, if they work as advertised
03:00:51  <bnoordhuis>if you post a LGTM, i'll merge it
03:01:24  <bnoordhuis>oh, and a 'do we really want this?' check is appreciated too :)
03:02:05  <rmustacc>I'm definitely good at the latter ones.
03:02:12  <rmustacc>Well, at least with my bias.
03:02:14  <ryah>heh :)
03:02:26  <rmustacc>But yeah, I'll try and spend some cycles going through it.
03:02:29  <ryah>i'll merge a bunch of these doc fixes
03:03:13  <bnoordhuis>okay, off to bed
03:03:15  <bnoordhuis>sleep tight people
03:03:24  <ryah>bnoordhuis: night - nice work on the stream clean up :)
03:03:30  <bnoordhuis>thanks :)
03:04:09  <rmustacc>Night bnoordhuis
03:07:55  * bnoordhuisquit (Ping timeout: 260 seconds)
03:08:12  <rmustacc>ryah: I'll search for the notes I have tonight, but there's some kvm stuff I need to focus on tonight. So let's chat on it tomorrow if that's okay.
03:08:28  <ryah>rmustacc: sure
03:42:47  <CIA-52>node: Ryan Dahl master * r69c35f9 / doc/api/timers.markdown :
03:42:48  <CIA-52>node: Doc fixes
03:42:48  <CIA-52>node: Fixes #1701. Thanks baudehlo. - http://git.io/ZqKYaw
03:42:48  <CIA-52>node: Fedor Indutny master * r57388d8 / lib/repl.js : [repl] add error handling for async scope fetching - http://git.io/A8NnAw
03:42:48  <CIA-52>node: Fedor Indutny master * r9fb1868 / lib/_debugger.js :
03:42:48  <CIA-52>node: [debugger] requireConnection() returns bool, break UI
03:42:49  <CIA-52>node: Stepping commands will overwrite output of previous step command - http://git.io/t3iOkQ
03:51:22  <CIA-52>node: Ryan Dahl master * r70a5659 / doc/api/child_processes.markdown :
03:51:22  <CIA-52>node: Document child_process.execFile
03:51:22  <CIA-52>node: Fixes #1700 - http://git.io/CrEnWg
04:10:26  * ericktjoined
05:04:11  * ericktquit (*.net *.split)
05:04:14  * indutnyquit (*.net *.split)
05:06:24  * indutnyjoined
05:07:30  * rmustaccquit (Ping timeout: 260 seconds)
05:07:46  * rmustacc_joined
05:07:47  * DrPizzaquit (Excess Flood)
05:09:37  * DrPizzajoined
05:13:24  * rmustacc_changed nick to rmustacc
05:49:09  * piscisaureusjoined
05:52:11  <piscisaureus>igorzi: it's a new day? You ran into more problems setting up test cluster access?
05:52:37  <piscisaureus>oh. it's a new day!
05:54:41  <dmkbot>joyent/node: fprijate: typeof 1+2+3+4 returns 'number234' - https://github.com/joyent/node/issues/1704
05:55:43  * felixgejoined
05:55:44  * felixgequit (Changing host)
05:55:44  * felixgejoined
06:03:55  * felixgequit (Quit: felixge)
06:11:45  <indutny>typeof 1+2+3+4 lol
06:22:03  * piscisaureusquit (Read error: Connection reset by peer)
06:22:38  <indutny>ryah: backtrace couldn't work like that
06:22:43  <indutny>it's asynchronous
06:22:56  <indutny>I'll need to implement Monads or use fibers :D
06:23:09  <indutny>if you want it to behave like that
06:34:35  * isaacsjoined
06:36:12  * mralephjoined
06:38:39  <indutny>mraleph: hi!
06:38:49  <mraleph>indutny: hi
06:39:16  <indutny>mraleph: how it's going?
06:40:47  <mraleph>det går godt :-)
06:41:18  <mraleph>indutny: and what about you?
06:42:00  <indutny>mraleph: også fint, kan ved hjælp af Google Translate være så nemt
06:42:39  <mraleph>haha
06:42:40  <indutny>mraleph: when I building d8 with mode=debug, gdb can't find any debugging symbols
06:42:44  <indutny>should I use any other flags?
06:42:50  <mraleph>no
06:42:58  <mraleph>but mode=debug produces d8_g
06:43:01  <mraleph>not d8
06:43:58  <indutny>aah
06:44:01  <indutny>thanks
06:44:07  <indutny>going to spend some time on #1639
06:44:22  <mraleph>:-)
06:46:09  <indutny>это затягивает ))
06:46:19  <indutny>international day on #libuv
06:54:33  <igorzi>piscisaureus: sorry, had one more issue to solve.. sending the info now
06:58:23  * piscisaureusjoined
07:03:24  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
07:10:53  <indutny>ryah: pushed fixes to http://github.com/indutny/node/tree/feature-debugger-round-1
07:11:02  <indutny>Ctrl+D, colouring and removed overwriting
07:12:13  * mralephquit (Quit: Leaving.)
07:13:31  * piscisaureusjoined
07:24:20  <piscisaureus>igorzi: nice
08:17:59  * ircretaryjoined
08:18:01  <isaacs>ircretary: hi
08:18:02  <ircretary>isaacs: Hello :)
08:20:05  <piscisaureus>ircretary == a libuv user?
08:20:05  <ircretary>piscisaureus: I'm not sure what to do with that command. Ask for help in PM.
08:20:10  <piscisaureus>or a freenode admin?
08:20:15  <isaacs>piscisaureus: it's me
08:20:23  <piscisaureus>isaacs: oh?
08:20:28  <isaacs>piscisaureus: my helpful robot. quite unobtrusive.
08:20:37  <piscisaureus>ircretary: help
08:20:46  <isaacs>the help isnt' super helpful.
08:20:57  <piscisaureus>in fact, it's a black hole
08:21:11  <piscisaureus>ircretary: gimme money
08:21:26  <piscisaureus>ircretary: play Justin Bieber
08:21:49  <piscisaureus>ircretary: nuke bagda
08:21:51  <piscisaureus>d
08:22:07  <isaacs>ircretary: when was piscisaureus seen last?
08:22:07  <ircretary>isaacs: piscisaureus was last seen at 2011-09-14T08:21:51.636Z, in #libuv saying d
08:22:22  <isaacs>ircretary: tell piscisaureus how to pass notes.
08:22:22  <ircretary>isaacs: I'll be sure to tell piscisaureus
08:22:39  <isaacs>piscisaureus: next time you log in (or leave/join), she'll tell you.
08:22:50  <piscisaureus>ah, ok
08:22:52  <piscisaureus>let me try
08:22:54  * piscisaureuspart
08:22:57  * piscisaureusjoined
08:23:05  <piscisaureus>ircretary: notes
08:23:36  <piscisaureus>ircretary: tell felixge hi
08:23:37  <ircretary>piscisaureus: I'll be sure to tell felixge
08:23:57  <isaacs>ircretary: thanks for your help.
08:23:57  <ircretary>isaacs: I'll inform for of your appreciation.
08:24:05  <isaacs>er... that's not right..
08:24:15  <isaacs>ircretary: thank piscisaureus for telling felixge hi
08:24:15  <ircretary>isaacs: I'll inform piscisaureus of your appreciation.
08:24:20  <isaacs>ircretary: thanks
08:24:20  <ircretary>isaacs: You're welcome :)
08:24:47  <indutny>ircretary: are you bot?
08:24:47  <ircretary>indutny: I'm not sure what to do with that command. Ask for help in PM.
08:24:47  <isaacs>i think "thank" is just "tell" with a different message
08:25:03  <isaacs>i forget
08:25:35  <indutny>ircretary: tell isaacs to improve his bot
08:25:36  <ircretary>indutny: I'll be sure to tell isaacs
08:25:46  <isaacs>not the fanciest ircbot in node, by far. but there are watchwords that i'd like to pick up, now that i'm floating in here, as wel.
08:26:01  <piscisaureus>ircretary: what was isaacs doing last time?
08:26:02  <ircretary>piscisaureus: It's 2011-09-14T08:26:02.903Z by my watch, sir.
08:26:18  <isaacs>piscisaureus: haha, "what" and "time" make her think you're asking what time it is.
08:26:27  <isaacs>ircretary: when was piscisaureus here last?
08:26:28  <ircretary>isaacs: piscisaureus was last seen at 2011-09-14T08:26:02.903Z, in #libuv saying what was isaacs doing last time?
08:26:43  <piscisaureus>ircretary: obey isaacs when he tells you to nuke bagdad
08:26:43  <ircretary>piscisaureus: Sorry, that requires admin access.
08:26:44  <isaacs>ircretary: what time is it?
08:26:45  <ircretary>isaacs: It's 2011-09-14T08:26:44.937Z by my watch, sir.
08:27:29  <piscisaureus>ircretary: where?
08:27:30  <ircretary>piscisaureus: I'm not sure I follow your meaning...
08:27:41  <piscisaureus>ircretary: where is isaacs?
08:27:42  <ircretary>piscisaureus: isaacs was last seen at 2011-09-14T08:26:44.937Z, in #libuv saying what time is it?
08:27:51  <piscisaureus>ircretary: log
08:27:51  <ircretary>piscisaureus: Logs can be found at: http://irc.npmjs.org/libuv
08:28:16  <piscisaureus>isaacs: the logs aren't there. luckily there is http://piscisaureus.no.de :-)
08:30:58  * ircretaryquit (Remote host closed the connection)
08:31:03  * ircretaryjoined
08:31:10  <isaacs>ha, yeah, i turned off logging
08:34:05  <isaacs>g'nite
08:34:08  * isaacsquit (Quit: isaacs)
08:42:08  <piscisaureus>nite isa
08:42:12  <piscisaureus>acs
09:36:38  <indutny>piscisaureus: checkout new debugger features :)
09:36:45  <indutny>http://github.com/indutny/node/tree/feature-debugger-round-1
09:36:55  <indutny>setBreakpoint and clearBreakpoint implemented
09:37:03  <indutny>plus infinite awesomeness
09:40:33  <piscisaureus>indutny: I am busy with my day job
09:40:43  <piscisaureus>indutny: did ryah merge your stuff yesteday?
09:40:53  <indutny>piscisaureus: np, just saying
09:41:01  <indutny>piscisaureus: yeah, but that're new changes
09:41:19  <piscisaureus>indutny: cool, I will check it out later
09:41:20  <indutny>v8 will update today
09:41:23  <indutny>piscisaureus: thanks
09:43:01  <piscisaureus>testing notification -> piscisaureus
09:43:13  <piscisaureus>hmm no popup yet
09:46:38  * piscisaureus_joined
09:49:11  * piscisaureus_quit (Client Quit)
09:49:41  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
09:50:19  * piscisaureusjoined
09:51:53  * piscisaureus_joined
10:00:05  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
10:37:32  * felixgejoined
10:37:32  * felixgequit (Changing host)
10:37:32  * felixgejoined
10:39:15  * felixgequit (Client Quit)
11:22:41  <CIA-52>node: koichik master * re7f64a7 / doc/api/https.markdown :
11:22:41  <CIA-52>node: doc: HTTPS client's options
11:22:41  <CIA-52>node: Fixes #1494. - http://git.io/iB3gtw
11:45:29  * felixgejoined
11:45:30  * felixgequit (Changing host)
11:45:30  * felixgejoined
11:47:44  * felixgequit (Client Quit)
12:33:13  <indutny>oh, I believe in power of gdb now
13:11:48  * bnoordhuisjoined
13:56:27  * dmkbot1joined
13:59:54  * dmkbotquit (Ping timeout: 258 seconds)
14:20:05  * pieternjoined
14:20:18  <indutny>morning
14:21:10  <pietern>morning
14:31:52  <CIA-52>node: Ben Noordhuis v0.4 * r8b2a335 / (deps/http_parser/http_parser.c deps/http_parser/test.c):
14:31:52  <CIA-52>node: http_parser: cherry-pick 3258e4a and b89f944 from upstream
14:31:52  <CIA-52>node: Fixes #1569, parse error on multi-line HTTP headers. - http://git.io/LejPyg
14:31:53  <CIA-52>node: Ben Noordhuis v0.4 * r5724b54 / test/simple/test-http-multi-line-headers.js :
14:31:53  <CIA-52>node: test: add http multi-line header test
14:31:53  <CIA-52>node: Test case for #1569. Verify that http_parser parses multi-line headers. - http://git.io/5H6GhQ
14:38:12  <indutny>ryah: yt?
14:41:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
14:44:52  <piscisaureus>igorzi: here again? (you should be asleep, but just in case :-))
14:49:25  <CIA-52>node: koichik master * r244675c / doc/api/https.markdown : doc: HTTPS client's options - http://git.io/TvETyg
14:52:14  <bnoordhuis>indutny: while you're here: https://github.com/joyent/node/issues/1698
14:52:26  <bnoordhuis>the docs say `var i = rl.createInterface(process.stdin, process.stdout, null);`
14:52:37  <bnoordhuis>but i suspect completer cannot actually be null?
14:53:30  <indutny>bnoordhuis: one sec
14:53:39  <bnoordhuis>1
14:53:49  <indutny>yeah
14:53:54  <indutny>it can't be null
14:53:57  <indutny>sorry that was 9 sec
14:53:59  <indutny>:D
14:54:21  <bnoordhuis>okay, cool
14:54:23  <bnoordhuis>thanks :)
14:54:34  <indutny>bnoordhuis: I'll fix tthat
14:54:37  <indutny>it should be optional
14:54:49  <indutny>h
14:54:50  <indutny>oh
14:54:52  <indutny>wait
14:54:57  * bnoordhuiswaits
14:55:08  <indutny>that's my fault
14:55:15  <indutny>fix is coming!!!!
14:55:18  <indutny>actually, running !
14:55:24  <bnoordhuis>okay, sweet
14:55:55  * ericktjoined
14:56:24  <dmkbot1>joyent/node: jampy: "Exec format error" when cross-compiling for ARM (workaround provided) - https://github.com/joyent/node/issues/1541
14:57:17  <indutny>oh god
14:57:25  <indutny>wrong branch
14:58:00  <indutny>force push
14:58:18  <indutny>bnoordhuis: https://github.com/joyent/node/pull/1705
14:59:43  <bnoordhuis>indutny: will that actually work? now this.completer won't be set
14:59:49  <indutny>bnoordhuis: and what
14:59:51  <indutny>:)
15:00:01  <indutny>line 610
15:00:11  <indutny>there're completer check
15:00:44  <bnoordhuis>indutny: https://github.com/joyent/node/blob/244675cab193746e9ed35b1973e8cd3b09b229de/lib/readline.js#L254
15:01:00  <indutny>this method is invoked only from 611 line
15:01:06  <indutny>https://github.com/joyent/node/blob/244675cab193746e9ed35b1973e8cd3b09b229de/lib/readline.js#L609
15:01:07  <indutny>609
15:01:09  <indutny>w/o my fix
15:01:23  <bnoordhuis>eh, it's kinda non-obvious
15:01:23  <indutny>and it's internal
15:01:24  <dmkbot1>joyent/node: indutny: Readline: Completer should be optional - https://github.com/joyent/node/issues/1705
15:01:29  <bnoordhuis>besides: tell, don't ask
15:01:47  <indutny>bnoordhuis: that was really fast
15:02:02  <bnoordhuis>sorry?
15:02:29  <bnoordhuis>insert "that's what she said" joke here btw
15:03:54  <bnoordhuis>indutny: i don't like conditional object properties, leads to if/then/else mess
15:04:10  <indutny>:)
15:04:10  <bnoordhuis>is there anything wrong with completer = completer || function(){ return [] } ?
15:07:36  * felixgejoined
15:07:37  * felixgequit (Changing host)
15:07:37  * felixgejoined
15:10:34  <bnoordhuis>indutny: https://github.com/bnoordhuis/node/commit/672c0a9 <- what sayeth you?
15:10:43  <bnoordhuis>hey felixge, still in SF?
15:10:58  <felixge>bnoordhuis: no, anaheim now
15:11:16  <felixge>in a world where javascript is still being discarded as a toy language
15:11:17  <felixge>:)
15:11:22  <bnoordhuis>old german settlement right? you must feel right at home
15:11:39  <bnoordhuis>or was anaheim settled by scandinavians? i always forget
15:11:59  <felixge>bnoordhuis: it's not very german these days ;)
15:12:06  <felixge>no it was settled by germans
15:12:10  <felixge>but they turned into americans
15:12:13  <felixge>it seems
15:12:13  <felixge>: )
15:12:32  <bnoordhuis>seems to be the faith of all western civilization :/
15:28:23  <bnoordhuis>indutny: merge timer expires in a few minutes
15:29:35  <indutny>bnoordhuis: one sec
15:29:39  <indutny>sorry, I was on a call
15:29:55  <indutny>I think it looks fine
15:30:01  <indutny>just restyle if clause
15:30:06  <indutny>if () {
15:30:06  <indutny>...
15:30:06  <indutny>}
15:30:20  <indutny>there's not a lot of C style ifs in node.js
15:30:25  <indutny>bnoordhuis: yt?
15:31:24  <dmkbot1>joyent/node: BillBarnhill: Fix memory allocation in uv__fs_after - https://github.com/joyent/node/issues/1686
15:31:29  <bnoordhuis>indutny: i am. are you?
15:31:45  <indutny>bnoordhuis: yep
15:31:45  <bnoordhuis>oh, the ifs
15:31:47  <bnoordhuis>yes, a c thing
15:33:32  <CIA-52>node: Ben Noordhuis master * r92d4ed3 / lib/readline.js :
15:33:32  <CIA-52>node: readline: handle null completer graciously
15:33:32  <CIA-52>node: Fixes #1698. - http://git.io/4A1Xog
15:34:00  <bnoordhuis>needs a test but how do you test readline...
15:35:30  <indutny>bnoordhuis: simple!
15:35:32  <indutny>custom fds
15:36:00  <bnoordhuis>i don't think readline is 100% non-tty safe
15:36:00  <indutny>I think we already have a test for repl
15:36:12  <bnoordhuis>at least, it didn't use to be
15:36:27  <rmustacc>It seems like readline shouldn't really be working if you're not on a tty...
15:37:13  <bnoordhuis>rmustacc: it's not by design but i think that's the case right now
15:37:50  <rmustacc>Uh oh, so stray tab characters when redirecting stdin may cause hilarious effects?
15:38:58  <bnoordhuis>i'm not sure what it does
15:39:01  <bnoordhuis>let's call it 'undefined'
15:39:21  <rmustacc>Sounds good to me.
15:41:07  <indutny>ryah: are you around?
15:41:16  <indutny>bnoordhuis: do you know if ryah will be around today?
15:41:32  <bnoordhuis>indutny: yes, but it's still early in SF
15:42:35  <indutny>bnoordhuis: ah, well.. thanks
15:42:36  <rmustacc>He'll probably be around within an hour.
15:43:51  <ryah>indutny: hi
15:43:55  <CIA-52>node: Ryan Dahl master * r0e0fbf7 / (7 files in 4 dirs): Upgrade libuv to 4b9b692 - http://git.io/o43gEg
15:44:42  <rmustacc>I found my notes on the apis. But time to head in. I'll be afk for half an hour
15:45:09  <piscisaureus>The prefork server kinda works but all kinds of stuff is going on
15:45:20  <piscisaureus>funky stuff, that is
15:46:03  <indutny>ryah: good morning!
15:48:30  <indutny>ryah: so breakpoints set/clear functionality is implemented, all things you've asked me for a fixed/changed
15:49:43  <indutny>ryah: I'll try to fix connection problems: sometimes when running `run` something gets wrong on a Client and it won't connect correctly
15:52:50  * felixgequit (Remote host closed the connection)
15:54:44  * felixgejoined
15:54:51  * felixgequit (Remote host closed the connection)
15:55:20  * felixgejoined
15:55:20  * felixgequit (Changing host)
15:55:20  * felixgejoined
15:55:20  * felixgequit (Remote host closed the connection)
15:55:56  <indutny>ryah: next release of v8 will contain debugger patch, do you think it's possible to merge 0.5.x's v8 with upstream?
15:56:00  * felixgejoined
15:56:01  * felixgequit (Remote host closed the connection)
15:56:09  * felixgejoined
15:56:09  * felixgequit (Changing host)
15:56:09  * felixgejoined
15:57:13  * ericktquit (Quit: erickt)
16:00:36  <CIA-52>libuv: Ben Noordhuis master * r337ff16 / (src/unix/eio/eio.c src/unix/fs.c):
16:00:36  <CIA-52>libuv: unix: revert "eio: fix memory leak in eio__scandir()"
16:00:36  <CIA-52>libuv: This reverts commit b450d8771967d0848595f8e966972ada257d3ffb.
16:00:36  <CIA-52>libuv: It turns out that libeio doesn't actually leak memory but it does do an
16:00:36  <CIA-52>libuv: unnecessary (and confusing!) allocation that is not free'd until after
16:00:37  <CIA-52>libuv: the user callback returns. - http://git.io/rkMhVQ
16:00:38  <CIA-52>libuv: Ben Noordhuis master * r76216d8 / src/unix/fs.c : unix: handle readdir errors in uv__fs_after() - http://git.io/XU8W5w
16:00:41  <bnoordhuis>dinner!
16:01:59  <indutny>bnoordhuis: great start for dinner :)
16:06:24  <dmkbot1>joyent/node: BillBarnhill: Fix memory allocation in uv__fs_after - https://github.com/joyent/node/issues/1686
16:09:09  * felixge_joined
16:09:53  * felixge_quit (Remote host closed the connection)
16:10:09  * felixgequit (Read error: No route to host)
16:10:29  * felixgejoined
16:10:29  * felixgequit (Changing host)
16:10:29  * felixgejoined
16:16:57  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
16:17:32  * piscisaureusjoined
16:18:34  * piscisaureusquit (Client Quit)
16:18:58  * piscisaureusjoined
16:19:01  * piscisaureusquit (Client Quit)
16:19:51  * piscisaureusjoined
16:25:51  * piscisaureus_joined
16:27:24  * indutnyquit (Ping timeout: 260 seconds)
16:38:22  * pieternquit (Quit: pietern)
17:00:33  * indutnyjoined
17:02:53  <ryah>indutny: can you change 'setBreakpoint' to 'break'
17:03:09  <ryah>indutny: and 'clearBreakpoint' to 'delete' ?
17:04:10  <indutny>ryah: nope
17:04:17  <indutny>ryah: reserved keywords
17:04:28  <indutny>ryah: I thought about that
17:04:48  <indutny>that's why I renamed continue to cont
17:04:48  <ryah>oh, okay
17:04:55  <indutny>sb and cb
17:05:03  <indutny>shortcuts are much better and less verbal
17:05:13  <indutny>I'll add shortcuts to help message
17:05:16  <indutny>one second
17:06:51  * felixge_joined
17:06:51  * felixge_quit (Changing host)
17:06:51  * felixge_joined
17:06:54  * felixge_quit (Remote host closed the connection)
17:07:19  * felixge_joined
17:08:47  * felixge_quit (Remote host closed the connection)
17:08:48  * felixgequit (Read error: No route to host)
17:08:54  * felixgejoined
17:08:54  * felixgequit (Changing host)
17:08:54  * felixgejoined
17:10:30  <indutny>ryah: updated help message
17:11:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
17:14:33  <ryah>indutny: okay - checking it out
17:15:09  <ryah>indutny: very nice
17:15:42  <ryah>setBreakpoint isn't a getter
17:16:02  <ryah>indutny: it would be nice if "setBreakpoint" alone would set a breakpoint at the current line
17:16:12  <indutny>ryah: nice feature
17:16:25  <ryah>indutny: also - i want to "step out"
17:16:26  <indutny>have you seen marking of breakpoint lines
17:16:28  <indutny>?
17:17:51  <ryah>indutny: no
17:17:53  <CIA-52>node: Fedor Indutny master * rf2ec46a / lib/_debugger.js : [debugger] color mark in _debugger, kill child on Ctrl+D - http://git.io/0QFZxg
17:17:53  <CIA-52>node: Fedor Indutny master * r3a7713f / lib/_debugger.js : [debugger] synonym=>shortcut, added shortcut for backtrace (as in gdb), simplify regexp - http://git.io/Yq9Iug
17:17:54  <CIA-52>node: Fedor Indutny master * r19194f8 / lib/_debugger.js : [debugger] setBreakpoint, clearBreakpoint, fix reqSource error handling, show breakpoints in list() - http://git.io/po1FJw
17:17:54  <CIA-52>node: Fedor Indutny master * r1dd3b68 / lib/_debugger.js : [debugger] separate history of control and debug, make scripts command getter - http://git.io/HP4_8Q
17:17:55  <CIA-52>node: Fedor Indutny master * rd2dadf3 / lib/_debugger.js :
17:17:55  <CIA-52>node: [debugger] added setBreakpoint and clearBreakpoint to help message
17:17:55  <CIA-52>node: group commands in help message, added shortcuts info - http://git.io/H0E7uA
17:18:08  <ryah>indutny: this is starting to look very usable
17:18:09  <indutny>ryah: it prepends breakpoint line at listings with '*'
17:18:16  <ryah>indutny: oh - let me try
17:18:27  <indutny>ryah: not with `debugger` statement
17:18:35  <indutny>but actual breakpoints
17:19:46  <ryah>indutny: oh yeah - cool
17:20:15  <ryah>indutny: but if i restart the breakpoints aren't preserved
17:20:22  <indutny>ryah: ah, yeah
17:20:23  <indutny>well
17:20:24  <ryah>which would also be nice
17:20:29  <indutny>this isn't covered yet
17:20:35  <ryah>i guess you have to keep a local copy of the breakpoints
17:20:43  <indutny>I'm doing this
17:20:52  <ryah>indutny: also - can we stat thinking about how to test this thing?
17:21:01  <ryah>indutny: have you seen test/simple/test-repl.js ?
17:21:09  <ryah>indutny: it would be nice to have something like that
17:21:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
17:22:22  <indutny>ryah: yes, I can create fixture for repl testing
17:22:40  * ericktjoined
17:22:45  <indutny>ryah: and it'll be used for debugger testing too
17:24:36  * brsonjoined
17:30:06  * felixgequit (Ping timeout: 276 seconds)
17:41:05  * felixgejoined
17:41:06  * felixgequit (Changing host)
17:41:06  * felixgejoined
17:43:56  <ryah>indutny: is the debugger fix in V8 3.6.3?
17:44:10  <indutny>ryah: nope, should be in next release
17:44:18  <indutny>ryah: it's in master now
17:44:40  <indutny>ryah: https://github.com/v8/v8/commit/5cf758bac8561ea5a1020f2f1e15c272e9c28636
17:45:46  <indutny>ryah: but mraleph said that they're planning to release today
17:47:41  <igorzi>ryah: bnoordhuis: i'm changing uv_fs functions to return result when in sync mode. are you ok with this - https://gist.github.com/1217225?
17:51:38  <indutny>ry (2650 commits, 3163311 additions, 1574569 deletions)
17:52:05  <indutny>so you deleted almost a half of what you added
17:52:06  <indutny>:D
18:08:28  <ryah>bnoordhuis: you here?
18:08:46  <piscisaureus>I can call ben on is phone and see if he can come
18:11:01  <piscisaureus>bnoordhuis is coming
18:11:19  * isaacsjoined
18:11:48  * bnoordhuisis here
18:11:52  <isaacs>hi
18:12:05  <bnoordhuis>hey, isaacs
18:12:13  <bnoordhuis>scrum call?
18:12:36  <ryah>bnoordhuis: yeah
18:13:08  <piscisaureus>bnoordhuis: call
18:13:14  <piscisaureus>log on to skype
18:16:12  * felixgequit (Quit: felixge)
18:17:57  <bnoordhuis>ryah: https://gist.github.com/1217225 - haven't tested it but LGTM
18:40:16  <isaacs>ryah: blog post?
18:41:42  <bnoordhuis>tested it, still LGTM but it's breaking tests
18:42:01  <igorzi>bnoordhuis: which tests?
18:42:30  <bnoordhuis>igorzi: https://gist.github.com/7ce2d8485e7d9f311af6
18:43:58  * piscisaureusquit (Ping timeout: 260 seconds)
18:44:06  <erickt>does the current libuv cross compile on linux to windows? The mingw32 package on ubuntu is saying GetAddrInfoW is not defined in a library
18:44:14  <igorzi>bnoordhuis: ahh, looks like not all uv_fs functions are using WRAP_EIO.. i'll update the patch
18:44:15  * felixgejoined
18:44:15  * felixgequit (Changing host)
18:44:15  * felixgejoined
18:45:10  <bnoordhuis>erickt: i have been able to cross-compile it but that was weeks ago
18:46:37  <erickt>hm
18:48:48  <erickt>maybe I can just use the windows 8 dev release to test my changes :)
18:50:19  <igorzi>bnoordhuis: updated https://gist.github.com/1217225, can you please try running tests again?
18:51:57  <bnoordhuis>igorzi: yep, works now - even fs_noent passes :)
18:52:23  <igorzi>bnoordhuis: nice
18:53:26  <CIA-52>libuv: Igor Zinkovsky master * r65c8a72 / (src/unix/fs.c src/win/fs.c test/test-fs.c): uv_fs_ functions to return result in sync mode - http://git.io/MTacwQ
18:55:01  <ryah>isaacs: http://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/
18:55:37  <bnoordhuis>has the stat watcher stuff landed yet?
18:59:05  <igorzi>bnoordhuis: not yet.. here's the api; https://gist.github.com/3ae08fa0c5161c275025
18:59:08  <isaacs>ryah: saved for the train ride.
18:59:09  <isaacs>thanks
18:59:18  <bnoordhuis>igorzi: thanks
18:59:53  <bnoordhuis>igorzi: int uv_fs_event_init(uv_fs_event_t*, char* filename, uv_fs_event_cb); <- const char?
19:00:57  <igorzi>bnoordhuis: yep
19:01:06  <bnoordhuis>cool
19:03:52  * isaacsquit (Quit: isaacs)
19:06:24  <dmkbot1>joyent/node: seebees: Tests for Sockets - https://github.com/joyent/node/issues/1699
19:07:07  * felixgequit (Quit: felixge)
19:10:05  * ryahdownloads win8
19:11:24  <dmkbot1>joyent/node: thejh: add a safer (and slower, and worse) runInNewContext (see #1469) - https://github.com/joyent/node/issues/1696
19:11:38  <indutny>ryah: hope you want to test node on it :D
19:11:57  <indutny>btw is there any non-UI developer changes in win8?
19:14:44  <igorzi>boot time will be much faster. also the OS memory footprint is getting significantly reduced (just to name a few)
19:16:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:19:37  <ryah>im surprised they have this free developer preview
19:19:45  <ryah>has msft done that before?
19:20:16  <igorzi>yeah, with win7
19:21:24  <dmkbot1>joyent/node: jampy: "Exec format error" when cross-compiling for ARM (workaround provided) - https://github.com/joyent/node/issues/1541
19:28:49  <ryah>bnoordhuis: have you seen V8's new Makefile?
19:29:14  <ryah>bnoordhuis: https://github.com/joyent/node/blob/d2dadf32dbb607d8ed6e5e6cd98a2bab70e7f8f2/deps/v8/Makefile
19:29:21  <ryah>bnoordhuis: wraps gyp
19:29:39  <bnoordhuis>very gyppy yes
19:30:06  <bnoordhuis>i think that solaris patch just got accepted btw
19:31:23  <ryah>we should have a way with configure-gyp to specify that you don't want to use the system openssl
19:31:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:31:36  <ryah>(even if you have one)
19:31:48  <ryah>also the x64 build doesn't seem to work
19:31:55  <ryah>still
19:32:13  <bnoordhuis>no, again
19:32:31  <bnoordhuis>i had a merge conflict that killed the x64 bit
19:32:43  <bnoordhuis>haven't reintroduced it yet
19:32:56  <bnoordhuis>mainly because the x64 version won't link on my no.de machine :/
19:33:21  <bnoordhuis>re bundled openssl, that's pretty easy to add
19:34:10  <CIA-52>node: Ryan Dahl master * r7096600 / lib/child_process_uv.js :
19:34:11  <CIA-52>node: Forward customFds to ChildProcess.spawn
19:34:11  <CIA-52>node: Fixes #1695 - http://git.io/3KywVA
19:35:48  <bnoordhuis>ryah: thanks for that magic 8-ball thing by the way, it's a smash hit with both my girlfriend and the baby :)
19:36:24  <dmkbot1>joyent/node: seebees: Tests for Sockets - https://github.com/joyent/node/issues/1699
19:38:09  <ryah>bnoordhuis: :)
19:38:47  <ryah>bnoordhuis: i have one too - it's really fun
19:41:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:45:25  * brsonquit (Ping timeout: 260 seconds)
19:46:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:51:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:51:25  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
19:54:47  <bnoordhuis>ryah igorzi: https://gist.github.com/3ae08fa0c5161c275025 <- uv_fs_event_init() should have a loop argument
19:55:50  <igorzi>bnoordhuis: yep
20:01:04  <CIA-52>libuv: Igor Zinkovsky master * r2931bdc / (src/win/fs.c test/test-list.h): windows: strip '\??\' from readlink path buffer. - http://git.io/Y-8uLg
20:01:55  * mralephjoined
20:02:53  * piscisaureus_quit (*.net *.split)
20:02:55  * rmustaccquit (*.net *.split)
20:02:56  * ericktquit (*.net *.split)
20:02:58  * bnoordhuisquit (*.net *.split)
20:02:58  * ircretaryquit (*.net *.split)
20:03:03  * ryahquit (*.net *.split)
20:03:03  * jmp0quit (*.net *.split)
20:03:05  * CIA-52quit (*.net *.split)
20:03:35  * brsonjoined
20:04:04  * ericktjoined
20:04:05  * piscisaureus_joined
20:04:05  * bnoordhuisjoined
20:04:05  * ircretaryjoined
20:04:05  * rmustaccjoined
20:04:05  * jmp0joined
20:04:05  * CIA-52joined
20:04:05  * ryahjoined
20:04:49  * indutnyquit (Write error: Broken pipe)
20:05:44  * DrPizzaquit (Excess Flood)
20:11:24  <dmkbot1>joyent/node: murvinlai: Bug: http.request socket hang up problem - https://github.com/joyent/node/issues/1176
20:12:53  * dmkbot1quit (Remote host closed the connection)
20:13:16  * dmkbotjoined
20:15:19  * ryahquit (*.net *.split)
20:15:20  * jmp0quit (*.net *.split)
20:15:45  <igorzi>ryah: bnoordhuis: i'm trying to remove this code from node https://github.com/joyent/node/blob/master/src/node_file.cc#L65-72. should this just be the default libuv behavior for uv_fs_open?
20:16:00  * ryahjoined
20:16:57  <bnoordhuis>igorzi: close-on-exec? yes
20:17:04  <igorzi>i'm trying to remove this code from node https://github.com/joyent/node/blob/master/src/node_file.cc#L65-72. should this just be the default libuv behavior for uv_fs_open?
20:17:07  <igorzi>ryah: ---^
20:17:17  <igorzi>bnoordhuis: is unix impl already doing that?
20:17:20  <bnoordhuis>yes
20:17:46  <igorzi>ok, i'll add it to win impl, and remove that code from node
20:18:50  * CIA-52quit (*.net *.split)
20:20:31  * jmp0joined
20:20:33  * CIA-53joined
20:24:03  * DrPizzajoined
20:26:37  <bnoordhuis>https://github.com/bnoordhuis/libuv/compare/inotify <- fs watcher people, maybe use that as a common base
20:29:50  * felixgejoined
20:29:56  * felixgequit (Changing host)
20:29:56  * felixgejoined
20:35:30  <CIA-53>libuv: Igor Zinkovsky master * r4197fc7 / src/win/fs.c : windows: make file handles non-inheritable by default to match node behavior - http://git.io/AHhxEQ
20:38:11  * indutnyjoined
20:39:41  * felixgequit (Quit: felixge)
20:40:51  <igorzi>ryah: bnoordhuis: please port these to node once libuv is updated:
20:40:51  <igorzi>https://github.com/igorzi/node/commit/08f2ed6d21b05a6b6f4bfa773b01c1fc76ebc62f
20:40:55  <igorzi>https://github.com/igorzi/node/commit/f7bf005cf921e25a66a00fade3bdf5921a370ab7
20:41:22  * felixgejoined
20:41:23  * felixgequit (Changing host)
20:41:23  * felixgejoined
20:43:58  <ryah>igorzi: thanks!
20:44:45  <ryah>we should have a little jar of quarters which we hand out for every #ifdef removed
20:45:30  <igorzi>yeah, removing those is very satisfying :)
20:47:38  <ryah>hm...
20:47:42  <bnoordhuis>https://gist.github.com/1217741 <- slowly consumes all memory
20:47:43  <ryah>broke the build somehow
20:47:56  * piscisaureus_quit (Read error: Connection reset by peer)
20:47:58  <bnoordhuis>should we clamp the write queue's size or let applications handle it themselves?
20:47:59  <ryah>% ./node test/simple/test-assert.js
20:47:59  <ryah>node.js:203
20:47:59  <ryah> throw e; // process.nextTick error, or 'error' event on first tick
20:47:59  <ryah> ^
20:47:59  <ryah>Error: EAGAIN, Unknown error: 0
20:48:01  <ryah> at Object.readSync (fs.js:265:19)
20:48:21  <ryah>bnoordhuis: let applications handle it
20:48:35  <ryah>bnoordhuis: we might want to print a warning if queues get too large though
20:49:07  <ryah>"(node) WARNING: net.Socket fd=56 is has an outbound stream of 240mb"
20:49:27  <bnoordhuis>that seems like a good idea
20:50:10  <ryah>btw im waiting for the day that one of you guys asks about i18n of node
20:50:36  * piscisaureusjoined
20:50:42  <bnoordhuis>why? the dutch all speak and write english
20:50:50  <ryah>that will be my response
20:51:51  <bnoordhuis>you know that the idea hadn't even crossed my mind until you mentioned it?
20:52:17  <bnoordhuis>piscisaureus though... he even uses the dutch version of windows
20:52:33  <igorzi>ryah: did you update libuv?
20:53:09  <ryah>igorzi: yeah.. im looking into it
20:53:40  <ryah>yeah bert is always pasting dutch errors
20:54:19  <ryah>igorzi: oops - my problem was i hadn't recompiled cleanly
20:54:43  <CIA-53>node: Ryan Dahl master * ra6ef3eb / (6 files in 5 dirs):
20:54:43  <CIA-53>node: Upgrade libuv to 4197fc7
20:54:43  <CIA-53>node: and use return value from sync uv_fs functions - http://git.io/W_MKjA
20:54:43  <CIA-53>node: Igor Zinkovsky master * r6cb1540 / src/node_file.cc : remove SetCloseOnExec - http://git.io/8ynNZw
20:54:50  * brsonquit (Ping timeout: 260 seconds)
20:54:58  * brsonjoined
20:55:53  <ryah>http://barbariangroup.com/posts/9078-two_of_us_stats_over_the_past_two_days
20:56:12  * isaacsjoined
20:56:25  <ryah>http://2uv.us/ <--
21:00:39  <ryah>piscisaureus: yt? what are the available tty modes?
21:00:48  <ryah>piscisaureus: which windows function do i use again?
21:01:53  <ryah>nm found it http://msdn.microsoft.com/en-us/library/ms686033(v=vs.85).aspx
21:06:29  <CIA-53>libuv: Igor Zinkovsky master * r58dd327 / src/win/error.c : windows: ERROR_PATH_NOT_FOUND -> UV_ENOENT mapping - http://git.io/s_-deA
21:21:09  <piscisaureus>[22:52] <bnoordhuis> piscisaureus though... he even uses the dutch version of windows
21:21:21  <piscisaureus>^-- wut
21:22:11  <piscisaureus>I even get lectured about this last shred of patriotism
21:22:32  <ryah>"appsterdam" best name ever
21:24:46  <piscisaureus>This article I read about appsterdam states that living in amsterdam is much cheaper than living in silicon valley.
21:24:46  <piscisaureus>If that is true you SF guys are really fucked.
21:25:21  <ryah>piscisaureus: about adding openpty() to the test runner
21:26:17  <ryah>piscisaureus: can you imagine this interface: int fd = runner_openpty("spawn_helper_tty");
21:26:55  * brsonquit (Ping timeout: 260 seconds)
21:27:18  <ryah>int fd = test_open_console("spawn_helper_tty");
21:27:35  <ryah>something like this...
21:27:56  <ryah>so spawn_helper_tty is a new process with its stdio hooked to a new TTY
21:29:08  <piscisaureus>ryah: you mean it opens a new terminal window?
21:29:38  <ryah>piscisaureus: yes - i forgot that windows com thing you told me about
21:30:23  <piscisaureus>ryah: opening a process in a new window is easy
21:30:40  <piscisaureus>ryah: having something similar to being a controlling terminal is more problematic
21:31:16  <ryah>so then we could write to the returned fd
21:31:22  <ryah>and it would go into the console
21:31:25  <ryah>as if we were the user
21:31:34  <ryah>and reading from it gets the output
21:31:35  <piscisaureus>hmm
21:32:20  <piscisaureus>ryah: so it doesn't open a new window - the parent process just makes it look like it is a window
21:32:29  <piscisaureus>to the child
21:32:44  <ryah>yeah
21:32:50  <piscisaureus>hmm
21:32:59  <piscisaureus>let me look at how console2 does that
21:33:15  <ryah>basically we want to write a child process which manipulates the terminal
21:33:27  <ryah>and then test from the parent process how the terminal is actually responding
21:33:47  <ryah>sounds hard -- but i think this is not so bad
21:35:23  <ryah>piscisaureus: but first i want to add "uv_is_tty(fd)"
21:36:01  <ryah>s/add/test
21:37:46  <ryah>"A process can be attached to at most one console"
21:37:51  <piscisaureus>ryah: the best way to implement uv_is_tty is probably:
21:37:52  <piscisaureus>int uv_is_tty(int fd) {
21:37:52  <piscisaureus> DWORD mode;
21:37:52  <piscisaureus> return GetConsoleMode((HANDLE) _get_osfhandle(fd), &mode);
21:37:52  <piscisaureus>}
21:37:52  <ryah>windows is so limiting
21:38:17  <piscisaureus>ryah: for something for the child process to write to, we could use CreateConsoleScreenBuffer
21:38:20  <piscisaureus>http://msdn.microsoft.com/en-us/library/ms682122%28v=VS.85%29.aspx
21:38:31  <piscisaureus>I am not sure about generating console input
21:38:37  <piscisaureus>I'm looking that up
21:38:45  <ryah>piscisaureus: yes - i ripped that already from your node_stdio_win32 - https://gist.github.com/1217871
21:39:06  <piscisaureus>yes
21:39:41  <felixge>is there a good way I can simulate write() only performing a partial write when writing to the stdin pipe of a file descriptor?
21:39:54  <felixge>I'd love to write a good test showing that stdin is being streamed to the child
21:40:01  <piscisaureus>write a big buffer :-)
21:40:07  <piscisaureus>like, a megabyte or so
21:40:19  <felixge>ok :)
21:40:23  <felixge>let me try that
21:40:26  <bnoordhuis>should be at least >64K
21:40:29  <ryah>piscisaureus: does GetConsoleMode work on the handle returned by CreateConsoleScreenBuffer ?
21:40:45  <piscisaureus>yes, that is, probably
21:44:06  <piscisaureus>I figured out the prefork server problem I think
21:44:13  <piscisaureus>will test on the test cluster tomorrow
21:44:21  <piscisaureus>Works right locally
21:44:39  <felixge>piscisaureus: that seems to kill the program without showing "Segfault" or anything :)
21:44:56  <piscisaureus>felixge: well then at least you have something to work on :-)
21:45:24  <felixge>piscisaureus: yeah ...
21:45:25  <felixge>;)
21:46:21  <ryah>what's the directory event function from windows?
21:47:19  <piscisaureus>ReadDirectoryChangesW
21:47:22  <piscisaureus>http://msdn.microsoft.com/en-us/library/aa365465%28v=VS.85%29.aspx
21:47:31  <ryah>thanks
21:48:55  <piscisaureus>O god what a mess -- https://github.com/piscisaureus/console2/blob/master/ConsoleHook/ConsoleHandler.cpp
21:53:38  <felixge>piscisaureus: seems like write() is blowing up on me when trying to pass more than 128KB into it, any idea?
21:53:52  <piscisaureus>felixge: on unix I presume?
21:53:57  <felixge>piscisaureus: y
21:54:09  <piscisaureus>hmm
21:54:13  <bnoordhuis>felixge: what do you see in gdb?
21:54:31  * piscisaureusboots mac os :p
21:54:42  <felixge>bnoordhuis: let me try ...
21:55:35  <felixge>what's a good way to start a test with gdb?
21:55:50  <felixge>I'm using this to run my test right now: make test/run-tests && ./test/run-tests spawn_sync_stdin_stream spawn_sync_stdin_stream
21:56:12  <bnoordhuis>felixge: gdb --args ./test/run-tests spawn_sync_stdin_stream spawn_sync_stdin_stream
21:56:20  <bnoordhuis>then `r` for run, `bt` on crash
21:56:30  <felixge>nic
21:56:32  <felixge>nice
21:56:33  <felixge>thamks
21:57:57  <piscisaureus>ryah: I think for the test the process should just attach the child to the parent's console
21:58:15  <piscisaureus>use an extra screen buffer to make sure output is not clobbered
21:58:15  <felixge>bnoordhuis: https://gist.github.com/d77cdfb028808c047543
21:58:22  <felixge>I guess I have an EPIPE
21:58:26  <piscisaureus>ryah: and use WriteConsoleInput to generate console events
21:58:28  <felixge>but why does this blow up the whole process silently
21:58:33  <felixge>rather than going into my error handling?
21:58:51  <piscisaureus>ryah: only I can't really imagine writing x-platform tests for this
21:59:14  <piscisaureus>unless you want to write a vt100 parser that converts vt100 into into windows keypresses
22:03:46  <felixge>C makes me feel weak somtiimes
22:03:47  <felixge>:)
22:06:58  * felixgequit (Quit: felixge)
22:10:03  * mikealjoined
22:10:13  <mikeal>how do i compile now *without* libuv?
22:10:31  * felixgejoined
22:10:47  * mralephquit (Quit: Leaving.)
22:10:55  <mikeal>cause i kind of want to see the tests not fail
22:11:07  <piscisaureus>mikeal: you can't
22:11:12  <mikeal>sheeeit
22:11:17  <piscisaureus>mikeal: but you can run node with --use-legacy
22:11:22  <piscisaureus>the it doesn't use uv
22:11:24  <piscisaureus>*then
22:11:31  <mikeal>how much other legacy stuff does it do?
22:11:57  <mikeal>is there a way to run the tests with that?
22:12:41  <piscisaureus>hmm I don't know I never use the makefile. ryah? bnoordhuis?
22:14:53  <bnoordhuis>`make test`
22:15:12  <piscisaureus>bnoordhuis: read! how to run the tests with --use-legacy?
22:15:34  <bnoordhuis>NODE_USE_UV=0 make test
22:15:50  <piscisaureus>mikeal: ^
22:15:59  <bnoordhuis>hmm, ryah might have axed that
22:16:09  <mikeal>hehe
22:16:31  <mikeal>yeah, that doesn't appear to work
22:16:35  <piscisaureus>bnoordhuis: it's still in my Makefile though
22:16:48  <bnoordhuis>yes, but it doesn't work
22:16:57  <bnoordhuis>from src/node.js: if (process.env.NODE_USE_UV == '1') process.features.uv = true;
22:17:31  <bnoordhuis>process.features.uv is true by default now, you can't set it to false
22:17:43  <bnoordhuis>easy to fix though
22:17:47  <piscisaureus>hmm
22:18:36  <piscisaureus>that's the price you pay for having a release process that takes 24 hrs
22:18:52  <piscisaureus>makes us sloppy
22:19:00  <bnoordhuis>felixge: about that SIGPIPE, set `handle SIGPIPE nostop`, then `c` for continue
22:19:32  <bnoordhuis>piscisaureus: well, it's easy to miss
22:20:12  <piscisaureus>yes we should have a test for it
22:20:35  <felixge>bnoordhuis: inside of gdb?
22:20:40  <bnoordhuis>felixge: yes
22:20:43  <piscisaureus>if (process.features.uv && tests_failed < 50) { fail() }
22:20:52  <bnoordhuis>you can do the handle thing before you run the program btw
22:21:03  <bnoordhuis>heh
22:24:00  <isaacs>ryah: rather than throwing from c++, how do you feel about this kind of thing: assert(0 && "usage: write(chunk, flush, cb)");
22:26:53  * felixgequit (Quit: felixge)
22:28:16  <piscisaureus>ryah: is there a way to access the current text in the terminal in linux?
22:29:10  <bnoordhuis>piscisaureus: not easily
22:32:08  * felixgejoined
22:32:08  * felixgequit (Changing host)
22:32:08  * felixgejoined
22:34:17  <bnoordhuis>piscisaureus: review? https://github.com/bnoordhuis/node/commit/f8b9094
22:35:43  * brsonjoined
22:36:18  <mikeal>this is totally the unofficial nodejs-dev channel :)
22:38:20  * felixgequit (Quit: felixge)
22:39:38  <mikeal>dav glass sent me a bug today that i'm trying to figure out
22:39:49  <mikeal>we're chocking on HTTP responses that don't have *any* headers
22:39:55  <mikeal>er choking
22:40:06  <mikeal>http://t.co/BfDFEVV
22:41:18  <bnoordhuis>url shorteners >:(
22:41:35  * brsonquit (Ping timeout: 260 seconds)
22:42:47  <ryah>isaacs: yep, tht's good
22:43:32  <ryah>bnoordhuis: we should fix NODE_USE_UV=0
22:43:44  <ryah>or NODE_USE_LEGACY=1
22:43:50  <mikeal>he sent me this issue via twitter
22:43:56  <mikeal>welcome to the future :)
22:44:02  <bnoordhuis>ryah: https://github.com/bnoordhuis/node/commit/f8b9094 <- review, please :)
22:46:30  <ryah>bnoordhuis: lgtm
22:47:57  <CIA-53>node: Ben Noordhuis master * rf8b9094 / src/node.js : node: disable uv backend if NODE_USE_UV=0 - http://git.io/zTa5fg
22:48:01  <bnoordhuis>mikeal: ^
22:50:18  <mikeal>sweet
22:50:50  * mralephjoined
22:50:58  <mikeal>haha, all the tests still break but on different errors
22:51:52  * felixgejoined
22:53:04  * brsonjoined
22:55:35  <piscisaureus>ryah: how much are you blocked on me finishing the tty stuff
22:55:39  <piscisaureus>?
22:55:43  <mikeal>thanks though :)
22:56:04  <piscisaureus>(I can finish not or sleep not :-) )
22:56:30  <ryah>piscisaureus: a little - but i'd rather you sleep and benchmark prefork first
22:57:03  <ryah>we should fix those NODE_USE_UV=0 bugs
22:57:12  <ryah>i want to maintain both backends for a while
22:57:15  <ryah>shouldnt be too ahrd
22:59:16  <piscisaureus>WinRT provides a clean and modern API for many of the things that Win32 does presently. It will be, in many ways, a new, modern Win32. The API is designed to be easy to use from "modern" C++ (in contrast to the 25 year old, heavily C-biased design of Win32);
22:59:19  <piscisaureus>^-- windows 8
22:59:26  <piscisaureus>^-- C++ :-(
23:00:59  <piscisaureus>We should experiment with winrt bindings though
23:01:14  <piscisaureus>but not before... I go to bed. Goodbye!
23:05:59  <bnoordhuis>sleep tight, piscisaureus
23:06:21  <piscisaureus>http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.streamsocket.connectasync%28v=VS.85%29.aspx#Y0
23:11:34  * mralephquit (Quit: Leaving.)
23:16:24  <felixge>windows 8 uses promises for async JS stuff
23:16:38  <felixge>promise.then(completeHandler, errorHandler, progressHandler)
23:25:56  <DrPizza>piscisaureus: hey
23:25:57  <DrPizza>I wrote that!
23:26:08  <DrPizza>c++ == much better than C
23:29:30  <felixge>looks like MS implemented common,js Promise/A: http://wiki.commonjs.org/wiki/Promises/A
23:32:29  <ryah>DrPizza: -_-
23:32:43  <ryah>i guess that's the promise api we're going to use
23:32:47  <ryah>no question now
23:35:09  <bnoordhuis>mikeal: http://nodeup.com/ <- works lousy with noscript :/
23:35:27  <bnoordhuis>that *is* your project, right?
23:38:43  * felixgequit (Quit: felixge)
23:49:02  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:57:28  <ryah>bnoordhuis: what's the easiest way to sample profile a process in linux?
23:57:40  <ryah>bnoordhuis: just want to know what the heaviest calls are
23:58:06  <bnoordhuis>ryah: compile/link with -pg and run it through gprof?
23:59:54  <bnoordhuis>that should read: run program so it writes gmon.out, then run gprof