00:04:18  * AvianFlujoined
00:09:27  * kazuponjoined
00:14:08  * kazuponquit (Ping timeout: 265 seconds)
00:39:12  * stagasquit (Ping timeout: 264 seconds)
00:39:35  * hzquit
00:40:12  * lohkeypart
00:48:06  * mmalecki[food]changed nick to mmalecki
00:53:18  * benoitcquit (Excess Flood)
00:54:12  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:00:41  * benoitcjoined
01:12:21  * piscisaureus_joined
01:15:48  * bradleymeckquit (Quit: bradleymeck)
01:18:41  * bradleymeckjoined
01:22:58  * bradleymeckquit (Client Quit)
01:31:22  * loladiroquit (Quit: loladiro)
01:37:29  * abraxasjoined
01:41:28  * loladirojoined
01:43:13  * bnoordhuisjoined
01:47:25  * warzjoined
01:47:25  * warzquit (Changing host)
01:47:25  * warzjoined
01:56:17  * kazuponjoined
01:58:12  * benoitcquit (Excess Flood)
01:59:26  * tomshredsjoined
02:00:55  <bnoordhuis>morning all
02:03:33  <TooTallNate>bnoordhuis: welcome
02:04:35  <bnoordhuis>is nickserv dead?
02:05:37  <TooTallNate>^ just slow it looks like
02:06:12  <piscisaureus_>bnoordhuis: zomg where did you just come from
02:06:12  * benoitcjoined
02:06:22  <piscisaureus_>bnoordhuis: now it really looks like you are avoiding me..
02:06:23  <bnoordhuis>piscisaureus_: downstairs
02:06:51  <bnoordhuis>piscisaureus_: only your physical presence but that's because of the body odor
02:07:26  <piscisaureus_>bnoordhuis: yeah you told me you avoid other people because it's so awkward
02:07:45  <bnoordhuis>yes, hold on to that thought :)
02:07:58  <bnoordhuis>you're not telling me you're about to sign off though, are you?
02:08:03  <bnoordhuis>the day is just starting
02:08:09  <piscisaureus_>yes I am
02:08:14  <piscisaureus_>actually I already sort of did
02:08:21  <piscisaureus_>cmon it's 3 am
02:08:55  <bnoordhuis>that's what i mean, rise and shine
02:09:49  <TooTallNate>you guys are fun to listen to :)
02:10:57  <warz>i need to man up and try to start coding until 3am again. i used to code until the sun would come up, in college.
02:11:03  <warz>havent done that since college, though.
02:13:57  <isaacs>[04:35|% 100|+ 470|- 8]: Done
02:14:01  <isaacs>streams2-net
02:14:23  <CoverSlide>woo!
02:14:32  <isaacs>that's with http and net and tls and everything
02:14:33  <CoverSlide>is that 8 failed?
02:14:35  <isaacs>yes
02:14:39  <CoverSlide>ok
02:14:49  <isaacs>a few more http failures, tls-pause fails, and all the stdin-pause-resume-hang-etc tests
02:15:03  <isaacs>but that's not so bad.
02:15:06  <isaacs>getting close
02:19:18  * sblomquit
02:20:30  <MI6>joyent/node: isaacs streams2 * efde57e : fs: Default to higher water marks for fs streams (+48 more commits) - http://git.io/HMJghw
02:26:21  <MI6>joyent/node: isaacs streams2-net * f9b202e : tests: Many streams2 test fixes Mostly calling .resume() on various resp (+20 more commits) - http://git.io/n6trBQ
02:29:04  <piscisaureus_>ok, I am now really gone. See you thusday or friday ben
02:29:08  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
02:30:37  <isaacs>OMG YOU GUYS YOU GUYS 470 PASSING TESTS.
02:30:37  <LOUDBOT>THE SQUARE ROOT OF MY MIND IS AN IDEA
02:30:48  <isaacs>i'm so excited about streams2 for http.
02:30:59  <isaacs>mostly excited about not being doing it any more.
02:31:53  <isaacs>it's beerjs time!
02:34:10  <TooTallNate>isaacs++ !!!
02:49:36  * lohkeyjoined
02:58:32  * benoitcquit (Excess Flood)
02:58:42  * benoitcjoined
03:00:20  * jmar777joined
03:01:02  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
03:14:40  * lohkeyquit (Quit: lohkey)
03:32:17  <MI6>joyent/node: Shigeki Ohtsu master * 1c8a526 : test: fix simple/test-debug-brk-file race condition V8 debug agent needs - http://git.io/NrQ-jg
03:49:52  * brsonquit (Quit: leaving)
03:58:53  * benoitcquit (Excess Flood)
04:04:15  * benoitcjoined
04:06:59  * ttilleyjoined
04:19:19  * tomshredsquit (Quit: Linkinus - http://linkinus.com)
04:36:35  * jmar777quit (Remote host closed the connection)
04:37:08  * jmar777joined
04:41:12  * jmar777quit (Ping timeout: 244 seconds)
04:48:22  <MI6>joyent/node: Ben Noordhuis master * c81dec7 : test: remove simple/test-child-process-fork2 The test assumes the parent - http://git.io/wtbQMw
04:48:33  * benoitcquit (Excess Flood)
04:52:14  * benoitcjoined
05:03:07  * abraxas_joined
05:03:59  * nsmquit (Quit: leaving)
05:06:04  * abraxasquit (Ping timeout: 265 seconds)
05:41:01  * warzquit
05:45:01  * dapquit (Quit: Leaving.)
06:04:03  * loladiroquit (Quit: loladiro)
06:14:11  * loladirojoined
06:18:20  <bnoordhuis>what happened to ircretary?
06:24:07  * loladiroquit (Quit: loladiro)
06:37:22  * loladirojoined
07:09:09  * abraxas_quit (Remote host closed the connection)
07:11:38  * abraxas_joined
07:12:20  * abraxas_quit (Read error: Connection reset by peer)
07:13:32  * abraxasjoined
07:13:35  * abraxasquit (Remote host closed the connection)
07:14:07  * abraxasjoined
07:14:18  * abraxasquit (Read error: Connection reset by peer)
07:15:17  * abraxasjoined
07:25:13  * felixgejoined
07:25:13  * felixgequit (Changing host)
07:25:13  * felixgejoined
07:25:52  * rendarjoined
07:39:53  * stagasjoined
08:07:41  <indutny>bnoordhuis: it dies
08:08:22  * kazupon_joined
08:09:55  * kazuponquit (Ping timeout: 260 seconds)
08:10:16  * `3rdEdenjoined
08:37:11  * CoverSlidequit (Remote host closed the connection)
08:37:19  * CoverSlidejoined
08:43:45  * kazupon_quit (Ping timeout: 260 seconds)
08:49:24  * benoitcquit (Excess Flood)
08:51:49  * benoitcjoined
09:12:02  <bnoordhuis>morning fedor
09:17:12  <indutny>bnoordhuis: morning ben
09:17:20  <indutny>bnoordhuis: http://www.sanimobil.ru/about_sanimobil.html
09:17:33  <indutny>it's called sledgemobile :D
09:17:36  <bnoordhuis>indutny: what will happen to my computer if i click on that link?
09:18:25  <bnoordhuis>ah, useful both in summer and winter
09:18:31  <indutny>nono
09:18:33  <indutny>not that
09:18:41  <indutny>it's when you use it in winter
09:18:46  <indutny>and want to get your child into subway
09:18:51  <indutny>or anywhere without snow
09:22:54  <bnoordhuis>ah right
09:23:10  <bnoordhuis>is your girlfriend sending you links like that?
09:23:19  <bnoordhuis>if so, prepare for the worst
09:24:24  <indutny>haha
09:24:25  <indutny>no
09:24:28  <indutny>I found it myself
09:36:09  * joshthecoderquit (Quit: Leaving...)
09:37:36  * AvianFluquit (Remote host closed the connection)
09:42:50  * felixge_joined
09:45:31  * felixgequit (Ping timeout: 244 seconds)
09:45:40  * felixgejoined
09:45:40  * felixgequit (Changing host)
09:45:40  * felixgejoined
09:47:18  * felixge_quit (Read error: Connection reset by peer)
09:47:33  * loladiropart
09:47:40  * felixge_joined
09:47:40  * felixge_quit (Changing host)
09:47:40  * felixge_joined
09:49:54  * felixgequit (Ping timeout: 240 seconds)
09:49:55  * felixge_changed nick to felixge
09:56:35  <indutny>bnoordhuis: have you seen instagram video?
09:56:43  <bnoordhuis>no?
09:56:45  <indutny>bnoordhuis: it's definitely video of the day
09:56:46  <indutny>http://www.collegehumor.com/video/6853117/look-at-this-instagram-nickelback-parody
09:56:54  <bnoordhuis>oh god
09:57:10  <bnoordhuis>you realize i'm trying to get some work done, don't you?
09:57:23  <indutny>haha
09:57:24  <indutny>yes
09:57:28  <indutny>that's sabotage
09:57:30  <indutny>also
09:57:36  <indutny>I suppose you're working on getting my patches in?
09:57:37  <indutny>right?
09:57:39  <indutny>;)
09:57:48  <bnoordhuis>actually, i intend to review them today
09:57:52  <bnoordhuis>at least, the os x select() thing
09:58:08  <indutny>oh, cool
11:33:19  * bnoordhuisquit (Ping timeout: 252 seconds)
11:52:38  * mraleph2quit (Quit: Leaving)
12:25:30  * abraxasquit (Remote host closed the connection)
12:37:28  * hzjoined
12:39:24  * c4milojoined
12:40:51  * c4miloquit (Read error: Connection reset by peer)
12:41:29  * indexzerojoined
12:41:29  * indexzeroquit (Client Quit)
12:41:51  * c4milojoined
12:42:06  * hzquit (Client Quit)
12:47:50  * benoitcquit (Excess Flood)
12:51:51  * benoitcjoined
12:58:14  * c4miloquit (Ping timeout: 244 seconds)
13:10:09  * felixgequit (Remote host closed the connection)
13:10:22  * felixgejoined
13:25:50  * jmar777joined
13:29:48  * indexzerojoined
13:30:53  * indexzeroquit (Client Quit)
13:43:21  * indexzerojoined
13:58:07  * hzjoined
14:46:37  * indexzeroquit (Quit: indexzero)
14:47:08  * indexzerojoined
14:55:40  * bradleymeckjoined
15:05:28  * indexzeroquit (Quit: indexzero)
15:08:43  * indexzerojoined
15:10:15  * indexzeroquit (Client Quit)
15:11:25  * Raltquit (Ping timeout: 260 seconds)
15:23:52  * Raltjoined
15:38:20  * piscisaureus_joined
15:41:52  <piscisaureus_>hello
15:42:28  * warzjoined
15:42:28  * warzquit (Changing host)
15:42:28  * warzjoined
15:45:11  * indexzerojoined
15:47:42  * piscisaureus_quit (Read error: Connection reset by peer)
15:47:46  * piscisaureus__joined
15:47:52  * piscisaureus__changed nick to piscisaureus_
15:49:11  * `3rdEdenquit (Remote host closed the connection)
16:11:36  * Raltquit (Ping timeout: 264 seconds)
16:11:48  * ericktjoined
16:19:42  * loladirojoined
16:19:42  <indutny>olleh
16:21:41  * philips_quit (Excess Flood)
16:22:42  * philips_joined
16:23:54  * Raltjoined
16:35:37  * indexzero_joined
16:35:37  * indexzeroquit (Read error: Connection reset by peer)
16:35:37  * indexzero_changed nick to indexzero
16:37:22  * AvianFlujoined
16:58:39  * felixgequit (Read error: Connection reset by peer)
16:58:55  <indexzero>pquerna: yt?
17:04:49  * bradleymeckquit (Quit: bradleymeck)
17:05:54  * indexzeroquit (Quit: indexzero)
17:07:02  * indexzerojoined
17:08:06  * ericktquit (Quit: erickt)
17:09:14  * felixgejoined
17:09:14  * felixgequit (Changing host)
17:09:14  * felixgejoined
17:09:19  <indutny>heya
17:09:26  <indutny>any tls help needed? :)
17:13:53  * indexzeroquit (Quit: indexzero)
17:17:54  <pquerna>indutny: yo?
17:19:58  * felixgequit (Read error: Connection reset by peer)
17:27:15  * dapjoined
17:30:26  * felixgejoined
17:30:26  * felixgequit (Changing host)
17:30:26  * felixgejoined
17:36:36  * loladiroquit (Quit: loladiro)
17:47:14  * loladirojoined
17:56:17  * indexzerojoined
17:57:50  * dapquit (Quit: Leaving.)
17:58:51  * jmar777quit (Remote host closed the connection)
17:59:27  * jmar777joined
18:00:34  * indexzeroquit (Client Quit)
18:02:42  * loladiroquit (Quit: loladiro)
18:04:18  * jmar777quit (Ping timeout: 264 seconds)
18:12:32  * lohkeyjoined
18:18:16  * indexzerojoined
18:19:04  * hzquit
18:19:55  * jmar777joined
18:21:49  <isaacs>indutny: that accurately captures what instagram is for.
18:22:01  * mikealquit (Quit: Leaving.)
18:23:39  * kuplatup1uchanged nick to kuplatupsu
18:28:17  * indexzeroquit (Quit: indexzero)
18:31:53  * dapjoined
18:35:09  * loladirojoined
18:44:47  * hzjoined
18:50:12  * joshthecoderjoined
18:50:51  * indexzerojoined
18:53:42  <piscisaureus_>bnoordhuis
19:08:39  * loladiroquit (Quit: loladiro)
19:10:09  * bradleymeckjoined
19:16:20  * brsonjoined
19:17:31  * TooTallNatejoined
19:19:22  * Ralt_joined
19:22:19  * mikealjoined
19:23:44  * indexzeroquit (Quit: indexzero)
19:24:28  * Ralt_quit (Ping timeout: 265 seconds)
19:26:38  * indexzerojoined
19:32:21  * loladirojoined
19:32:56  * loladiroquit (Client Quit)
19:45:39  * `3rdEdenjoined
19:47:09  * lohkeyquit (Quit: lohkey)
19:49:44  * lohkeyjoined
19:50:38  * loladirojoined
19:52:16  <TooTallNate>indutny: are you good at this ipfw stuff?
19:52:32  * loladiroquit (Client Quit)
19:54:52  * felixgequit (Read error: Connection reset by peer)
19:54:53  * felixge_joined
19:54:53  * felixge_quit (Changing host)
19:54:53  * felixge_joined
19:58:53  <indutny>pquerna: yo?
19:58:57  <indutny>isaacs: haha
19:59:02  <indutny>TooTallNate: sort of
19:59:22  * mikealquit (Ping timeout: 246 seconds)
20:00:07  <TooTallNate>indutny: i have a binary that hard-codes the ip it handles at 192.168.1.1, i wanna redirect that traffic to 127.0.0.1
20:00:07  <indutny>batch replying
20:00:12  <piscisaureus_>isaacs: hey, yt?
20:00:35  <indutny>TooTallNate: it's trafic to/from 192.168.1.1?
20:01:16  <TooTallNate>indutny: it sends udp packets to 192.168.1.1 and is expecting some back as well
20:01:29  <indutny>well
20:01:31  <indutny>let me think
20:03:35  <indutny>TooTallNate: I'm afraid you can't do it this way...
20:03:47  <TooTallNate>indutny: shit, haha
20:03:49  * bradleymeckquit (Quit: bradleymeck)
20:03:59  <TooTallNate>indutny: hacking the binary in hexedit it is then!
20:04:15  <indutny>indeed
20:04:19  <indutny>well
20:04:27  <indutny>another possibility is creating virtual network
20:04:37  <indutny>or
20:04:44  <indutny>assigning this address
20:05:17  <TooTallNate>virtual network may work
20:05:21  <indutny>indeed
20:05:32  <TooTallNate>i'm not sure if the AR Drone's kernel has everything it needs though, haha
20:05:43  <indutny>haha
20:05:48  <indutny>oh shit :)
20:05:51  <indutny>so
20:05:58  <indutny>patching binary is an option then
20:05:59  <indutny>btw
20:06:05  <indutny>you can find address in gdb, I think
20:06:10  <indutny>or
20:06:12  <indutny>just by searching
20:06:29  <TooTallNate>ya i just did search/replace in perl, but i'm not sure if it's working yet
20:06:33  <indutny>C0A80101
20:06:36  <TooTallNate>i need to hook my iphone up to wireshark
20:07:37  <TooTallNate>indutny: what's that?
20:07:42  <indutny>192.168.1.1
20:07:50  <indutny>in network byte order
20:07:51  <TooTallNate>ah, cool
20:07:53  <indutny>search for it in binary
20:07:58  <indutny>I'm pretty sure it will be met only once
20:08:13  <indutny>or as many times as it's used
20:09:05  <TooTallNate>indutny: thanks for the tips! i'll do some experimenting tonight hopefully
20:09:09  * felixge_quit (Quit: felixge_)
20:11:19  * felixgejoined
20:13:07  * loladirojoined
20:14:00  * loladiroquit (Client Quit)
20:14:01  <indutny>pquerna: btw, that was indexzero, not me
20:19:02  * indexzeroquit (Quit: indexzero)
20:21:28  * loladirojoined
20:29:45  * loladiroquit (Quit: loladiro)
20:31:23  * mikealjoined
20:43:00  * hzquit
20:47:47  * hzjoined
20:55:40  * indexzerojoined
21:05:19  * loladirojoined
21:40:36  * jmar777quit (Remote host closed the connection)
21:43:26  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:51:55  * hzquit
21:57:19  * rendarquit
22:04:33  * piscisaureus_joined
22:04:44  <piscisaureus_>hey mraleph1
22:05:16  <piscisaureus_>do you know if there are any javascript constructs that force a SlicedString to be separated from its "parent" ?
22:06:37  <indutny>piscisaureus_: what do you mean by separated?
22:06:43  <indutny>pquerna: translated in a plain String?
22:06:51  <indutny>err
22:06:55  <indutny>tab completion failure
22:07:21  <indutny>there should not be any
22:07:35  <indutny>except probably String('123')
22:07:54  * joshthecoderquit (Quit: Leaving...)
22:08:48  <piscisaureus_>indutny: I mean, the v8 string should not reference the parent string it was sliced off
22:08:51  <piscisaureus_>but just be copied
22:09:48  <TooTallNate>would substring() do it? or is that the same as slice()?
22:10:32  * felixgequit (Quit: felixge)
22:17:45  * warzquit
22:17:51  <piscisaureus_>yeah it has the same effect
22:17:59  <piscisaureus_>now I use new Buffer(s).toString()
22:18:10  <piscisaureus_>but it's quite ineffecient as you might guess :-)
22:18:14  <TooTallNate>ouch
22:18:32  <TooTallNate>piscisaureus_: what about String(sliceString)?
22:19:04  * loladiroquit (Read error: Connection reset by peer)
22:19:17  <piscisaureus_>TooTallNate: nope, no workie
22:19:28  <TooTallNate>hahah, shoot
22:19:35  <TooTallNate>out of ideas then I think :p
22:19:41  <TooTallNate>maybe the C++ api can do it
22:20:00  * loladirojoined
22:20:19  <piscisaureus_>TooTallNate: this works actually (' ' + s).slice(1)
22:20:34  <TooTallNate>oh wow, haha
22:20:42  <TooTallNate>but not with an empty string?
22:20:47  <piscisaureus_>no
22:21:10  <TooTallNate>piscisaureus_: now I'm curious what you need that for :D
22:21:20  <piscisaureus_>TooTallNate: well I am parsing this nginx log
22:21:33  <piscisaureus_>indexing stuff by ip
22:22:09  <piscisaureus_>so on('read') I split the chunk on \n and then use a regex to find the ip in each line
22:22:25  <piscisaureus_>but apparently the ip string references the entire chunk
22:22:28  <piscisaureus_>so I run out of memory
22:23:00  <piscisaureus_>whereas when I use this trick the memory usage is 300mb tops
22:23:39  <piscisaureus_>so it turns out that nodejs.org has ~100k unique users (IPs) per week and ~20 per day
22:23:49  <piscisaureus_>(^-- side note)
22:25:55  <CoverSlide>ga can do that for you
22:26:13  <CoverSlide>without having to parse logs
22:26:24  <piscisaureus_>I know
22:26:29  <piscisaureus_>but we're not using ga
22:26:33  <piscisaureus_>and I wanted an answer now
22:27:10  * loladiro_joined
22:27:24  * `3rdEdenquit (Remote host closed the connection)
22:28:12  * loladiroquit (Read error: No route to host)
22:28:17  <indutny>philips_: hey
22:28:19  <indutny>errgh
22:28:37  * loladiro_changed nick to loladiro
22:29:40  <indutny>piscisaureus_: hey
22:29:50  <indutny>piscisaureus_: it should have a reference
22:30:02  <indutny>piscisaureus_: otherwise it'll be slow as hell :)
22:30:57  * loladiroquit (Read error: No route to host)
22:31:03  * indexzeroquit (Quit: indexzero)
22:31:22  <piscisaureus_>indutny: huh, copying 10 bytes is not that slow isit?
22:31:33  <indutny>well
22:31:38  <indutny>there're some minimum amount of chars
22:31:43  <indutny>I suppose
22:31:54  <piscisaureus_>I think it's 8 :-)
22:32:00  <indutny>indeed :)
22:32:20  <piscisaureus_>so in this situation using sliced strings is quite bad
22:32:22  <indutny>I bet it's still faster on 10, than just copying
22:32:27  * loladirojoined
22:32:45  <piscisaureus_>indutny: well sure but the extra garbage collection effort makes it quite bad in this case
22:32:59  <indutny>truth
22:33:00  <piscisaureus_>besides, what would I care if the alternative is to crash with an oom error
22:33:11  <piscisaureus_>so slided strings are quite bad in this case
22:33:26  <indutny>ahha
22:33:29  <indutny>well
22:33:31  <piscisaureus_>I also can't think of a good (gc) strategy to avoid this
22:33:40  <indutny>what do you mean?
22:33:43  <indutny>copy on low memory?
22:33:48  <indutny>slice otherwise?
22:34:15  <piscisaureus_>well ideally gc would evaluate whether turning SlicedString into a normal string is a good idea
22:34:27  <piscisaureus_>I mean, if a 64kb string is kept alive by a 10-byte string, it's quite bad :-)
22:34:51  <piscisaureus_>that means that gc retains almost 64kb that is unreacheable
22:35:49  <piscisaureus_>alright isaacs and bnoordhuis seem to be avoiding me today again
22:35:51  <piscisaureus_>time to go home
22:36:04  * joshthecoderjoined
22:36:08  <piscisaureus_>so that some work may be done today
22:36:57  <indutny>aah
22:37:14  <CoverSlide>work? pffft who needs that
22:37:23  <indutny>piscisaureus_: well, it should be pretty straight forward
22:37:24  <indutny>btw
22:37:33  <indutny>are you sure v8 isn't already doing something like this?
22:37:38  <piscisaureus_>yes I am sure
22:37:41  <indutny>ok
22:37:42  <piscisaureus_>indutny: and then - how
22:37:48  <indutny>patches are welcome :P
22:38:00  <indutny>just augument mark-sweep
22:38:04  <piscisaureus_>indutny: you could add a counter to every string and count the number of strings referencing it
22:38:22  <indutny>bad idea
22:38:27  <indutny>a lot of tracking
22:38:29  <piscisaureus_>indutny: but that doesn't tell anything about how much of the referenced string is counted
22:38:44  <indutny>I think string might have separate GC bit
22:38:50  <piscisaureus_>and then if you decide to disconnect sliced strings you have to do a sweep again
22:38:51  <indutny>that means that it's reachable
22:39:05  <indutny>but reachable only from slices
22:39:06  <piscisaureus_>indutny: ok - and then what?
22:39:26  <piscisaureus_>indutny: this will happen pretty quickly
22:39:31  <piscisaureus_>indutny: consider this
22:39:36  <piscisaureus_>var a = <very long string>
22:39:41  <piscisaureus_>while (a.length)
22:39:42  <indutny>may be this should happen in old space?
22:39:50  <piscisaureus_>a = a.slice(1)
22:39:51  <indutny>I mean old space only
22:40:10  <indutny>mraleph1: yt?
22:40:28  <piscisaureus_>now I am curious
22:40:41  <indutny>yes?
22:40:42  <piscisaureus_>that means that nothing will get done on node because isaacs and bnoordhuis will hide until I go
22:40:48  <indutny>hahaha
22:40:58  <piscisaureus_>indutny: curious - about what mraleph is going to say
22:41:02  <indutny>haha
22:41:08  <indutny>well, I'll ping him tomorrow
22:41:17  <indutny>I know his IM
22:42:55  <indutny>ok
22:42:58  <indutny>time to sleep now
22:43:23  <indutny>I think the idea with adding bit and merging down slices in old-space might work
22:43:43  <indutny>especially considering that old-space lives longer and is collected rare
22:43:59  <indutny>and therefore memory consumption in it is much more important than in new-space
22:44:25  <indutny>piscisaureus_: don't you mind if I'll implement this?
22:46:36  <piscisaureus_>indutny: go ahead, sure
22:46:44  <indutny>ok, cool
22:46:52  <piscisaureus_>indutny: I don't control v8 so I don't know if it'll land
22:46:57  <indutny>well
22:47:06  <indutny>every idea needs to be accepted by team first
22:47:13  * tomshredsjoined
22:47:29  <piscisaureus_>indutny: so far, I can't even tell what your idea is
22:47:39  <indutny>I just told you it :)
22:47:59  <indutny>bit for detecting slice parents that aren't used directly
22:48:00  <piscisaureus_>indutny: eventually what you will need is to get a good estimate of how much of the "base" string is covered by cons strings
22:48:07  * tommybergeronjoined
22:48:13  <piscisaureus_>indutny: the alternative would be to always copy strings when they are promoted to old spacve
22:48:19  <indutny>yes
22:48:23  <indutny>this might work as well
22:48:38  <indutny>depending on their siz
22:48:39  <indutny>size
22:48:50  <indutny>and some heuristic
22:49:07  <indutny>like 1000000 equal slices of string is definitely a wrong idea
22:49:11  <piscisaureus_>indutny: so get the heuristic right. I don't think this "bit" will buy you anything but prove me wrong
22:49:27  <indutny>I need to think about it for some time
22:49:31  <indutny>and discuss with guys
22:49:46  <piscisaureus_>indutny: yeah but consider a = b = c =d =e = "long string".slice(1,4)
22:49:46  <indutny>I'm pretty sure there might be something existing in other VMs
22:49:55  <indutny>piscisaureus_: not exactly this
22:50:05  <indutny>they're different slices
22:50:07  <indutny>with same ranges
22:50:09  <piscisaureus_>yes
22:50:10  <indutny>a = x.slice()
22:50:12  <indutny>b = x.slice()
22:50:14  <indutny>c = x.slice()
22:50:14  <piscisaureus_>and they all keep "long string" alive
22:50:18  <indutny>yes
22:50:29  <indutny>but if you'll detach them - they'll consume more memory
22:50:34  <piscisaureus_>well sure
22:50:40  <piscisaureus_>depending on how long "long string" is
22:50:42  <indutny>this is pretty tricky to detect
22:50:53  <piscisaureus_>in my case the balance is different
22:50:54  <indutny>actually, it's computationally hard
22:51:06  <indutny>that's why heuristic is required
22:51:08  <piscisaureus_>I have 2 or 3 references to the same, very small substring of a very big string
22:51:11  <indutny>and bit probably won't help at all
22:51:35  <indutny>may be you should just exploit somehow?
22:51:41  <indutny>probably by calling String() on it
22:51:45  <indutny>or something like this?
22:51:55  * tomshredsquit (Ping timeout: 246 seconds)
22:51:57  <indutny>idk
22:52:08  <indutny>it seems like solving your problem is simplier than writing that heuristic
22:52:09  <piscisaureus_>I did that
22:52:09  <indutny>:P
22:52:16  <piscisaureus_>I used (' ' + s).slice(1)
22:52:17  <piscisaureus_>that works
22:52:24  <indutny>oh, goodness
22:52:32  <indutny>ugly stuff :D
22:52:35  <piscisaureus_>new Buffer(s).toString() also works
22:52:57  <indutny>even more uglier
22:52:59  <indutny>:)
22:53:06  <indutny>but result is more definite
22:53:17  <indutny>though it'll allocate memory
22:53:21  <indutny>create weak reference
22:53:27  <indutny>deallocate memory
22:53:32  <indutny>yew
22:53:34  <indutny>ok
22:53:40  <indutny>it's time to sleep
22:53:41  <indutny>ttyl, man
22:54:23  <piscisaureus_>ok, later man
22:57:45  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:59:41  * indexzerojoined
23:01:53  * tommybergeronquit (Quit: Linkinus - http://linkinus.com)
23:29:31  * warzjoined
23:30:35  * lohkey_joined
23:30:35  * lohkey_quit (Client Quit)
23:34:21  * lohkeyquit (Ping timeout: 265 seconds)
23:41:00  * mikealquit (Quit: Leaving.)
23:50:49  * mikealjoined
23:53:35  * piscisaureus_joined
23:55:54  * brson_joined
23:57:35  * brsonquit (Ping timeout: 260 seconds)
23:59:10  * ArmyOfBrucequit (Excess Flood)
23:59:38  * ArmyOfBrucejoined