00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:16  * avalanche123joined
00:05:03  * avalanche123quit (Ping timeout: 260 seconds)
00:07:14  * s3shsquit (Ping timeout: 272 seconds)
00:15:59  * bnoordhuisjoined
00:20:48  * bnoordhuisquit (Ping timeout: 255 seconds)
00:37:01  * toothrotquit (Ping timeout: 268 seconds)
00:38:45  * bradleymeckquit (Quit: bradleymeck)
00:44:00  * avalanche123joined
00:47:22  * bradleymeckjoined
01:01:55  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
01:10:02  * Fishrock123quit (Quit: Leaving...)
01:20:45  * jasnellquit (Remote host closed the connection)
01:28:14  * brsonquit (Quit: leaving)
01:40:13  * reqsharkquit (Read error: Connection reset by peer)
01:50:14  * avalanche123quit (Remote host closed the connection)
01:50:41  * avalanche123joined
01:51:20  * bradleymeckquit (Quit: bradleymeck)
01:55:21  * avalanche123quit (Ping timeout: 268 seconds)
02:02:09  * jgiquit (Quit: jgi)
02:09:44  * bradleymeckjoined
02:14:06  * tunniclmquit (Ping timeout: 250 seconds)
02:25:04  * jasnelljoined
02:26:27  * jasnellquit (Remote host closed the connection)
02:26:43  * jasnelljoined
02:33:02  * s3shsjoined
02:53:42  * jasnellquit (Remote host closed the connection)
02:55:04  * bradleymeckquit (Quit: bradleymeck)
03:02:14  * bradleymeckjoined
03:09:06  * bradleymeckquit (Quit: bradleymeck)
03:21:52  * toothrotjoined
03:49:58  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:55:42  * orangemocha_quit (Ping timeout: 260 seconds)
03:58:45  * bradleymeckjoined
03:59:13  * bradleymeckquit (Client Quit)
04:12:40  * s3shsquit (Remote host closed the connection)
04:13:22  * s3shsjoined
04:27:08  * avalanche123joined
04:32:20  * avalanche123quit (Ping timeout: 250 seconds)
04:49:00  * jgijoined
04:56:25  * rmgquit (Remote host closed the connection)
04:56:59  * rmgjoined
04:59:31  * s3shs_joined
05:01:26  * rmgquit (Ping timeout: 265 seconds)
05:03:01  * s3shsquit (Ping timeout: 252 seconds)
05:26:23  * avalanche123joined
07:08:16  * jgiquit (Quit: jgi)
07:19:26  * toothrotquit (Ping timeout: 240 seconds)
07:27:13  * avalanche123quit (Remote host closed the connection)
07:27:39  * avalanche123joined
07:39:08  * rendarjoined
07:39:36  * saghulchanged nick to saghul|afk
07:47:42  * avalanche123quit (Ping timeout: 265 seconds)
07:53:14  * orangemochajoined
07:58:43  * rmgjoined
08:03:03  * rmgquit (Ping timeout: 250 seconds)
08:10:25  * AndreasMadsenjoined
08:21:04  * AndreasM_joined
08:21:30  * AndreasMadsenquit (Ping timeout: 240 seconds)
08:22:12  * AndreasM_quit (Client Quit)
08:38:41  * SergeiRNDjoined
08:49:59  * SergeiRND1joined
08:51:52  * SergeiRNDquit (Ping timeout: 246 seconds)
09:01:21  * saghuljoined
10:22:22  * seishunjoined
10:44:35  * bnoordhuisjoined
10:54:39  * AndreasMadsenjoined
11:11:14  * SergeiRND1quit (Quit: Leaving.)
11:19:06  * avalanche123joined
11:24:43  * avalanche123quit (Ping timeout: 265 seconds)
11:48:44  * SergeiRNDjoined
11:51:54  * saghul_joined
11:52:38  * saghulquit (Ping timeout: 260 seconds)
12:35:12  * bnoordhuisquit (Ping timeout: 272 seconds)
13:08:57  * avalanche123joined
13:13:57  * avalanche123quit (Ping timeout: 265 seconds)
13:21:25  * alexforsterjoined
13:33:10  * alexforsterquit (Quit: Textual IRC Client: www.textualapp.com)
13:41:21  * bnoordhuisjoined
13:43:38  * bradleymeckjoined
13:45:53  * bnoordhuisquit (Ping timeout: 252 seconds)
13:51:05  * s3shs_quit (Quit: Computer has gone to sleep.)
13:57:19  * thlorenzjoined
13:58:22  * thlorenzquit (Client Quit)
14:32:29  * s3shsjoined
14:36:11  * MoZu4k__joined
14:36:54  * s3shsquit (Ping timeout: 244 seconds)
14:39:24  * s3shsjoined
14:41:24  * s3shsquit (Remote host closed the connection)
14:42:06  * kkaeferquit (Ping timeout: 255 seconds)
14:42:10  * s3shsjoined
14:44:03  * mmaleckiquit (Ping timeout: 246 seconds)
14:44:19  * trevnorrisquit (Ping timeout: 250 seconds)
14:44:34  * saghul_quit (Max SendQ exceeded)
14:44:39  * kkaeferjoined
14:45:41  * saghuljoined
14:45:42  * MoZu4k__quit (Quit: MoZu4k__)
14:45:49  * mmaleckijoined
14:45:56  * ncthom91joined
14:46:01  * trevnorrisjoined
14:51:20  * alexforsterjoined
14:52:05  * AndreasMadsenquit (Remote host closed the connection)
14:56:09  * avalanche123joined
15:00:11  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:01:15  * avalanche123quit (Ping timeout: 265 seconds)
15:01:30  * rmgjoined
15:05:46  * rmgquit (Ping timeout: 240 seconds)
15:07:29  * SergeiRNDquit (Quit: Leaving.)
15:12:22  * bnoordhuisjoined
15:23:55  * AndreasMadsenjoined
15:42:55  * WakiMikoquit (Max SendQ exceeded)
15:43:55  * WakiMikojoined
15:45:13  * WakiMikoquit (Max SendQ exceeded)
15:45:32  * WakiMiko_joined
15:54:33  * Fishrock123joined
15:56:48  * ncthom91joined
16:15:47  * happy-dudejoined
16:30:00  * bradleymeckquit (Quit: bradleymeck)
16:32:41  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:43:49  * importantshockjoined
16:50:26  * jgijoined
16:51:47  * bretquit (Ping timeout: 264 seconds)
16:51:51  * kkaefer_joined
16:54:33  * zju3joined
16:55:12  * bradleymeckjoined
16:55:14  * pquernaquit (Disconnected by services)
16:55:18  * pquerna_joined
16:55:59  * zkatquit (Ping timeout: 264 seconds)
16:58:14  * zkatjoined
17:01:52  * seishunquit (Read error: Connection reset by peer)
17:02:39  * seishunjoined
17:03:07  * seishunquit (Read error: Connection reset by peer)
17:04:34  * WalrusPony1changed nick to PeterRabbit
17:04:51  * WakiMiko_quit (*.net *.split)
17:04:52  * kkaeferquit (*.net *.split)
17:04:53  * rendarquit (*.net *.split)
17:04:54  * zju1quit (*.net *.split)
17:04:59  * etnbrdquit (*.net *.split)
17:05:05  * daurnimatorquit (*.net *.split)
17:06:07  * rendarjoined
17:07:38  * daurnimatorjoined
17:07:59  * benoitcquit (Ping timeout: 264 seconds)
17:08:14  * WakiMiko_joined
17:08:51  * PeterRabbitchanged nick to RustyRallyRabbit
17:11:41  * MoZu4k_joined
17:11:45  * benoitcjoined
17:13:19  * dap_joined
17:15:25  * SergeiRNDjoined
17:16:32  * rmgjoined
17:17:32  * AndreasMadsenquit (Remote host closed the connection)
17:20:35  * bretjoined
17:22:48  * jasnelljoined
17:28:05  * jhamhaderjoined
17:29:18  * avalanche123joined
17:31:38  * seishunjoined
17:43:45  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:48:04  * SergeiRNDquit (Quit: Leaving.)
17:48:56  * brsonjoined
17:49:17  * MoZu4k_quit (Quit: MoZu4k_)
17:54:23  * benjamingr_joined
17:56:56  * romankljoined
17:57:51  * romanklquit (Max SendQ exceeded)
17:58:34  * romankljoined
18:18:07  * AndreasMadsenjoined
18:19:53  <creationix>I'm trying to figure out how to create a pty with libuv
18:20:01  <creationix>looks like it was never added because windows
18:20:09  <creationix>but how do I do it for just unix?
18:20:33  <creationix>I'm calling openpty using luajit ffi and getting back the master and slave FDs, but I can't figure out how to use them
18:20:41  * stagasjoined
18:22:07  <creationix>bnoordhuis ^
18:22:55  * RustyRallyRabbitquit (Read error: Connection reset by peer)
18:23:02  * AndreasMadsenquit (Ping timeout: 250 seconds)
18:23:03  <creationix>looks like slave needs to go to my bash process I'm spawning
18:23:16  <creationix>and master needs to be a pipe or uv_tty
18:29:35  <nathan7>uv_tty does the right things, though it's meant to be for the other end
18:30:20  <creationix>the slave end?
18:30:37  <creationix>when I create a uv_tty_t using the slave fd, it takes over my real terminal
18:31:03  <nathan7>No, I mean, normally, uv_tty is hooked up to the non-controlling end
18:31:21  <creationix>right, openpty gives "slave" and "master"
18:31:26  <nathan7>correct
18:31:31  <nathan7>so using it for the controlling end is not exactly the intended use case
18:31:32  * WalrusPonyjoined
18:31:35  <creationix>if I use uv_pipe to master, I see bash's output
18:31:57  <creationix>(see it in my data events) but it's complaining about no tty
18:32:32  <nathan7>the "slave" end is what you dup() and give to bash as stdin/stdout/stderr
18:33:12  <creationix>dup()?
18:33:44  <nathan7>like, you spawn bash with duplicates of that fd as stdio
18:34:17  <creationix>fd = dup(fd); ?
18:34:28  <nathan7>…how are you spawning bash
18:34:28  <creationix>and then {fd, fd, fd} for stdio?
18:34:32  <creationix>us_spawn
18:34:36  <creationix>*uv_spawn
18:34:42  <nathan7>uv_spawn does the dup-ing, then
18:35:11  <creationix>https://github.com/luvit/luv/blob/master/src/process.c#L102-L106
18:35:54  <nathan7>like, if that does the same as child_process.spawn's stdio option with an fd number, that's it
18:38:02  <creationix>does this make sense? https://gist.github.com/creationix/a360ac322855931461b8
18:38:18  <creationix>it should do the same as node, I can double check node's source to be sure
18:39:51  <creationix>appears to be the same https://github.com/nodejs/node/blob/master/src/process_wrap.cc#L102-L103
18:42:38  <creationix>nathan7, when bash says "no job control in this shell" that means it's not getting a pty?
18:42:59  <nathan7>that's weird
18:43:12  <creationix>but it's clearly going through the pair of FDs created by openpty
18:43:22  <creationix>bash writes to slave and I read output from master
18:44:14  <creationix>see output in comment https://gist.github.com/creationix/a360ac322855931461b8#gistcomment-1614039
18:44:30  <nathan7>what does stty -a output?
18:45:04  * felipealmeidaquit (Ping timeout: 272 seconds)
18:45:31  <creationix>good idea
18:46:02  <nathan7>also, I think bash might want its own process group
18:46:13  <nathan7>for job control
18:46:29  <nathan7>but I might be mistaken on how that works
18:46:40  <creationix>rows and columns are 0
18:46:49  <creationix>speed is 9600
18:47:05  * felipealmeidajoined
18:47:25  <creationix>maybe I need to set the width and height of the pty
18:48:09  <nathan7>if you set UV_PROCESS_DETACHED in the uv_process_options_t's flags member, does that change anything?
18:49:25  <creationix>well, when I do specify the window size, stty can see the change
18:49:28  <creationix>so it's working
18:50:07  <creationix>bash still complains about no job control though
18:51:15  <creationix>nathan7, it doesn't complain with detached
18:53:14  <creationix>nathan7, thanks for the help, it's almost perfect. Do you know how to disable echo?
18:53:33  <creationix>actually, nevermind, I'll want echo once I hook it up to a terminal emulator in the browser
18:55:04  <nathan7>creationix: sweet
18:55:24  <creationix>so luvit doesn't need a binary addon to create pty thanks to ffi
18:55:31  <creationix>well, windows won't work, but that's fine
18:55:31  <nathan7>You can disable echo with tcsetattr
18:55:47  <creationix>right, that will be helpful if I want to make an expect-like program
18:56:17  <nathan7>I was trying to do what you're doing, but in node
18:56:25  <nathan7>maybe I should have another go at that
18:56:37  <nathan7>the FFI stuff was less than pleasant
18:59:37  <creationix>yeah, luajit's ffi is best I've ever seen
18:59:43  <creationix>it's baked into the jit's design
19:01:07  * AndreasMadsenjoined
19:12:07  * jasnellquit (Remote host closed the connection)
19:16:07  * jasnelljoined
19:17:04  * jasnellquit (Remote host closed the connection)
19:17:17  * jasnelljoined
19:25:14  <creationix>nathan7, do you remember how the emulator client can send down resize events?
19:25:25  <creationix>that's not part of the data stream I don't think
19:25:55  <nathan7>creationix: I think also tcsetattr
19:26:07  <nathan7>creationix: checking that for you
19:26:32  <nathan7>creationix: …I definitely have this in my code somewhere
19:26:42  <creationix>I wonder if that's more portable than ioctl
19:26:56  <creationix>ioctl through ffi doesn't work well.
19:29:57  <creationix>nathan7, also do you have recomendations for a good browser based tty emulator, I've used term.js in the past with good luck
19:30:06  <nathan7>TIOCGWINSZ / TIOCSWINSZ
19:30:07  <nathan7>http://man7.org/linux/man-pages/man4/tty_ioctl.4.html
19:30:11  <creationix>I want vim with 256 color to work
19:30:23  <nathan7>no recommendations, I was intending on writing one
19:30:38  <creationix>good luck with that
19:30:56  <nathan7>I mainly have enough of a clue to help you because I got halfway into this rabbit hole
19:31:25  <creationix>yep, and I did this for cloud9 years ago, but that was using pre-made libraries for node and browser
19:31:54  <nathan7>I'm intending to write "rich" terminal software
19:32:04  <nathan7>as in, text as the basis, but allowing richer elements in there
19:32:30  <nathan7>instead of trying to bring the terminal to the browser, bringing the browser to the terminal
19:32:34  * jasnellquit (Remote host closed the connection)
19:35:33  * jhamhaderquit (Quit: leaving)
19:42:21  * bradleymeckquit (Quit: bradleymeck)
19:51:05  * bnoordhuisquit (Ping timeout: 252 seconds)
19:54:03  * bradleymeckjoined
19:57:19  * stagasquit (Ping timeout: 252 seconds)
19:59:29  * romanklquit (Quit: romankl)
20:04:06  * roob_joined
20:04:51  * pquerna_changed nick to pquerna
20:06:46  * importantshockquit (Remote host closed the connection)
20:07:57  * importantshockjoined
20:12:13  * importantshockquit (Ping timeout: 244 seconds)
20:13:36  * importantshockjoined
20:14:13  * tunniclmjoined
20:25:00  * benjamingr_quit (Quit: Connection closed for inactivity)
20:29:31  * ncthom91joined
20:30:16  * bnoordhuisjoined
20:55:30  * bradleymeckquit (Quit: bradleymeck)
21:04:30  * alexforsterquit (Ping timeout: 240 seconds)
21:09:17  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:09:51  * avalanche123quit (Remote host closed the connection)
21:10:21  * avalanche123joined
21:11:45  * Fishrock123quit (Quit: Leaving...)
21:13:16  * bradleymeckjoined
21:13:50  * avalanche123quit (Remote host closed the connection)
21:13:56  * avalanche123joined
21:21:45  * roob_quit (Ping timeout: 246 seconds)
21:25:26  * MoZu4k_joined
21:33:11  * avalanche123quit (Remote host closed the connection)
21:33:55  * avalanche123joined
21:34:40  <creationix>nathan7 , if you ever want to play with luvit, the sample came out pretty simple https://github.com/creationix/lshell
21:35:04  * jgiquit (Quit: jgi)
21:38:26  * ncthom91joined
21:41:28  <nathan7>creationix: cool
21:55:57  * avalanche123quit (Remote host closed the connection)
21:56:04  * avalanche123joined
21:56:14  * seldojoined
21:59:15  * seldoquit (Client Quit)
22:06:40  * avalanch_joined
22:07:39  * happy-dudequit (Ping timeout: 240 seconds)
22:07:59  * benoitcquit (Ping timeout: 240 seconds)
22:08:19  * bretquit (Ping timeout: 240 seconds)
22:08:57  * happy-dudejoined
22:10:06  * benoitcjoined
22:10:27  * avalanche123quit (Ping timeout: 265 seconds)
22:11:28  * bretjoined
22:12:17  * AndreasMadsenquit
22:13:28  * Jacob843quit (Read error: Network is unreachable)
22:14:02  * Jacob843joined
22:14:06  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:18:28  * Jacob843quit (Read error: Network is unreachable)
22:19:13  * Jacob843joined
22:21:37  * bradleymeckquit (Quit: bradleymeck)
22:27:44  * yunongjoined
22:29:20  * jgijoined
22:34:28  * Jacob843quit (Read error: Network is unreachable)
22:35:36  * Jacob843joined
22:40:49  * toothrotjoined
22:43:30  * jasnell_joined
23:02:57  * avalanch_quit (Remote host closed the connection)
23:03:28  * avalanche123joined
23:06:39  * jasnell_quit (Remote host closed the connection)
23:11:04  * jasnelljoined
23:13:19  * ncthom91joined
23:18:33  <creationix>nathan7, thanks again for the help, the blog post is out now https://luvit.io/blog/pty-ffi.html
23:18:57  <nathan7>creationix: awesome!
23:19:53  * avalanche123quit (Remote host closed the connection)
23:19:59  * avalanch_joined
23:21:17  * seishunquit (Ping timeout: 250 seconds)
23:24:30  * importantshockquit
23:26:50  * jasnell_joined
23:30:42  * jasnellquit (Ping timeout: 272 seconds)
23:42:40  * jasnell_quit (Remote host closed the connection)
23:47:35  * dagobert__quit (Ping timeout: 264 seconds)
23:49:30  * dagobert__joined
23:50:44  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:52:41  * stagasjoined
23:54:35  * stagas_joined
23:55:52  * ncthom91joined
23:56:45  * rendarquit (Quit: Leaving)
23:57:51  * stagasquit (Ping timeout: 255 seconds)