-
Notifications
You must be signed in to change notification settings - Fork 12
/
2013-01-18.txt
960 lines (960 loc) · 113 KB
/
2013-01-18.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
{"nick":"ircretary","reason":"Remote host closed the connection","date":"2013-01-18T00:00:00.856Z","type":"quit"}
{"nick":"bnoordhuis","message":"txdv: yes, UV_EINVAL. UV_EFAULT was an oversight","date":"2013-01-18T00:00:07.476Z","type":"message"}
{"nick":"ircretary","date":"2013-01-18T00:00:08.368Z","type":"join"}
{"nick":"txdv","message":"so EINVAL?","date":"2013-01-18T00:00:34.943Z","type":"message"}
{"nick":"bnoordhuis","message":"yes","date":"2013-01-18T00:00:39.305Z","type":"message"}
{"nick":"bnoordhuis","message":"indutny: i reverted it in v0.8","date":"2013-01-18T00:00:47.854Z","type":"message"}
{"nick":"indutny","message":"yeah, figured this out","date":"2013-01-18T00:01:01.200Z","type":"message"}
{"nick":"indutny","message":"b4b750b","date":"2013-01-18T00:01:02.098Z","type":"message"}
{"nick":"indutny","message":"what do you think about applying this on top of revert of revert","date":"2013-01-18T00:01:09.776Z","type":"message"}
{"nick":"indutny","message":"seems to be working fine in master","date":"2013-01-18T00:01:14.224Z","type":"message"}
{"nick":"indutny","message":"I just forgot to backport it","date":"2013-01-18T00:01:17.610Z","type":"message"}
{"nick":"txdv","message":"will you be around for 1 hour bnoordhuis?","date":"2013-01-18T00:01:21.572Z","type":"message"}
{"nick":"bnoordhuis","message":"\"seems\"","date":"2013-01-18T00:01:22.909Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: no","date":"2013-01-18T00:01:24.952Z","type":"message"}
{"nick":"txdv","message":"ok, i'll do that address struct by reference commit for that issue tonight","date":"2013-01-18T00:02:00.337Z","type":"message"}
{"nick":"bnoordhuis","message":"indutny: i'm okay with reapplying it as long as it doesn't break the tests again","date":"2013-01-18T00:02:14.722Z","type":"message"}
{"nick":"indutny","message":"running testes","date":"2013-01-18T00:03:20.325Z","type":"message"}
{"nick":"indutny","message":"bnoordhuis: wfm","date":"2013-01-18T00:05:43.801Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Fedor Indutny\u000f \u00037v0.8\u000f * \u000231583be\u0002 : tls: follow RFC6125 more stricly * Allow wildcards only in left-most par (+1 more commits) - http://git.io/PXo-Ww","date":"2013-01-18T00:05:53.353Z","type":"message"}
{"nick":"txdv","message":"is it \"a IPv4\" or \"an IPv4\"","date":"2013-01-18T00:06:23.043Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: in what context","date":"2013-01-18T00:07:28.393Z","type":"message"}
{"nick":"txdv","message":"\"bind to a IPv4\" or \"bind to an IPv4\", which sentence is correct","date":"2013-01-18T00:07:51.453Z","type":"message"}
{"nick":"cmr","message":"neither, but the second is more correct","date":"2013-01-18T00:08:54.469Z","type":"message"}
{"nick":"txdv","message":"+ if (handle->type != UV_TCP) {","date":"2013-01-18T00:09:27.722Z","type":"message"}
{"nick":"txdv","message":" uv__set_artificial_error(handle->loop, UV_EINVAL);","date":"2013-01-18T00:09:27.853Z","type":"message"}
{"nick":"txdv","message":"+ if (handle->type != UV_UDP) {","date":"2013-01-18T00:09:33.744Z","type":"message"}
{"nick":"txdv","message":" uv__set_artificial_error(handle->loop, UV_EFAULT);","date":"2013-01-18T00:09:33.873Z","type":"message"}
{"nick":"txdv","message":"thsi is mixed up too, bnoordhuis this should be EINVAL too, right?","date":"2013-01-18T00:09:50.946Z","type":"message"}
{"nick":"txdv","message":"yes it should be","date":"2013-01-18T00:11:06.770Z","type":"message"}
{"nick":"txdv","message":"ok, should I commit a fix for that in a seperate commit?","date":"2013-01-18T00:12:56.113Z","type":"message"}
{"nick":"c4milo","reason":"Remote host closed the connection","date":"2013-01-18T00:17:06.548Z","type":"quit"}
{"nick":"indutny","message":"ok, time to sleep","date":"2013-01-18T00:17:46.265Z","type":"message"}
{"nick":"indutny","message":"ttyl","date":"2013-01-18T00:17:46.930Z","type":"message"}
{"nick":"isaacs","message":"TooTallNate: yeah, let's put this on the list for 0.12","date":"2013-01-18T00:18:28.319Z","type":"message"}
{"nick":"isaacs","message":"TooTallNate: it's not major, but it's a feature","date":"2013-01-18T00:18:36.799Z","type":"message"}
{"nick":"isaacs","message":"and might break some stuff","date":"2013-01-18T00:18:48.669Z","type":"message"}
{"nick":"TooTallNate","message":"isaacs: yup yup, no prob","date":"2013-01-18T00:18:49.115Z","type":"message"}
{"nick":"TooTallNate","message":"indeed, i don't know if it'll be possible to do in a backwards compat way","date":"2013-01-18T00:19:05.938Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: yes","date":"2013-01-18T00:19:27.718Z","type":"message"}
{"nick":"txdv","message":"bnoordhuis: you know that EFAULT means bad address, but you say that a garbage address should return EINVAL?","date":"2013-01-18T00:24:45.076Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: yes. EFAULT means bad _memory_ address","date":"2013-01-18T00:24:59.393Z","type":"message"}
{"nick":"txdv","message":"aaa","date":"2013-01-18T00:25:06.036Z","type":"message"}
{"nick":"bnoordhuis","message":"EINVAL is just a generic 'bad input' error code","date":"2013-01-18T00:25:06.779Z","type":"message"}
{"nick":"txdv","message":"EINVAL makes sense then","date":"2013-01-18T00:25:13.445Z","type":"message"}
{"nick":"txdv","message":"ok ill open up an issue and I hope you gonna pull it fast so I can do the 'address struct by reference' on top of it","date":"2013-01-18T00:25:44.482Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: fwiw I ported the http_simple test to the new lib.","date":"2013-01-18T00:31:36.846Z","type":"message"}
{"nick":"isaacs","message":"kewl","date":"2013-01-18T00:32:16.930Z","type":"message"}
{"nick":"txdv","message":"and uv_udp_send doesn't even have a check if the handle is valid or not","date":"2013-01-18T00:32:46.910Z","type":"message"}
{"nick":"txdv","message":"i'm going to open up an issue!!!","date":"2013-01-18T00:33:03.452Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Ben Noordhuis\u000f \u00037master\u000f * \u00028b0f3ce\u0002 : v8: add %p option to --logfile, expands to pid Useful when you are profi - http://git.io/OxieqQ","date":"2013-01-18T00:34:46.139Z","type":"message"}
{"nick":"isaacs","message":"bnoordhuis: so, remember this? https://github.com/joyent/node/issues/3945","date":"2013-01-18T00:35:54.317Z","type":"message"}
{"nick":"isaacs","message":"bnoordhuis: it looks like we have a test that fails when I add the 'emit socket errors on req' bit","date":"2013-01-18T00:36:11.707Z","type":"message"}
{"nick":"isaacs","message":"bnoordhuis: specifically, test/simple/test-http-blank-header.js has a Parser Error from the http parser","date":"2013-01-18T00:36:27.977Z","type":"message"}
{"nick":"bnoordhuis","message":"isaacs: sorry, i'm about to sign off. it's 1.30 am and i have to get up early tomorrow","date":"2013-01-18T00:37:10.035Z","type":"message"}
{"nick":"isaacs","message":"oh, no worries","date":"2013-01-18T00:37:23.236Z","type":"message"}
{"nick":"isaacs","message":"g'nite","date":"2013-01-18T00:37:24.186Z","type":"message"}
{"nick":"bnoordhuis","message":"thanks, sleep tight","date":"2013-01-18T00:37:54.689Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: so just realized that i'm testing my v0.8.17 build against the master http_simple bench. are there any changes from streams2 that would affect that bench?","date":"2013-01-18T00:41:07.647Z","type":"message"}
{"nick":"bnoordhuis","reason":"Ping timeout: 256 seconds","date":"2013-01-18T00:42:17.999Z","type":"quit"}
{"nick":"rump","date":"2013-01-18T00:45:46.896Z","type":"join"}
{"nick":"isaacs","message":"trevnorris: we should be able to backport master's benchmark/ folder entirely onto v0.8","date":"2013-01-18T00:53:31.735Z","type":"message"}
{"nick":"isaacs","message":"ah, so... our http_parser does NOT like getting a request body without a content-length","date":"2013-01-18T00:54:09.385Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: ok. so does that mean some tests will need two versions. One using the old stream api, and the others optimized for the new streams2 api?","date":"2013-01-18T00:55:28.369Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: the benchmarks all should work on both, at least, the ones we have so far.","date":"2013-01-18T00:55:55.073Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: it's mostly API compatible","date":"2013-01-18T00:56:11.463Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: ok (and sorry i'm tired) so because you made the new streams2 api compatible with the old one the benchs will work. but would they perform better if they were updated?","date":"2013-01-18T00:57:24.901Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: well, maybe, but that's cheating","date":"2013-01-18T00:58:41.051Z","type":"message"}
{"nick":"isaacs","message":":)","date":"2013-01-18T00:58:50.011Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: http_simple just uses the very basic http apis. net-pipe.js uses Socket.pipe only","date":"2013-01-18T00:59:23.241Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: hm, ok. guess i'm wondering things like, say, if all the backwards compatibility bits were removed would it improve performance?","date":"2013-01-18T01:00:38.368Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: perhaps. but that's not a luxury we have at this point in time.","date":"2013-01-18T01:01:27.220Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: maybe for 2.0","date":"2013-01-18T01:01:47.040Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: yeah I totally understand. just want to prevent undo head bashing figuring this out when the problem isn't actually there. for example","date":"2013-01-18T01:02:20.215Z","type":"message"}
{"nick":"trevnorris","message":"when you call a method in the buffer.prototype to the buffers parent, you lose 20% performance because v8 requires a context change.","date":"2013-01-18T01:02:48.037Z","type":"message"}
{"nick":"trevnorris","message":"so unless we move the entire buffer class to C that's performance we'll never get back.","date":"2013-01-18T01:03:03.271Z","type":"message"}
{"nick":"txdv","message":"I think I am going crazy","date":"2013-01-18T01:03:54.687Z","type":"message"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-01-18T01:04:41.954Z","type":"quit"}
{"nick":"isaacs","message":"trevnorris: right","date":"2013-01-18T01:05:44.437Z","type":"message"}
{"nick":"trevnorris","message":"anyways. i'm out. going to try and port the rest of the existing benchmarks tonight.","date":"2013-01-18T01:07:17.179Z","type":"message"}
{"nick":"trevnorris","reason":"Quit: Leaving","date":"2013-01-18T01:07:18.165Z","type":"quit"}
{"nick":"qmx|away","new_nick":"qmx","date":"2013-01-18T01:12:02.645Z","type":"nick"}
{"nick":"rump","reason":"Quit: rump","date":"2013-01-18T01:19:15.566Z","type":"quit"}
{"nick":"sblom","reason":"Ping timeout: 245 seconds","date":"2013-01-18T01:22:46.655Z","type":"quit"}
{"nick":"EhevuTov","date":"2013-01-18T01:28:34.145Z","type":"join"}
{"nick":"AvianFlu","date":"2013-01-18T01:28:47.995Z","type":"join"}
{"nick":"indexzero","date":"2013-01-18T01:38:42.101Z","type":"join"}
{"nick":"loladiro","reason":"Quit: loladiro","date":"2013-01-18T01:41:40.326Z","type":"quit"}
{"nick":"abraxas","date":"2013-01-18T01:42:42.229Z","type":"join"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-01-18T02:09:26.493Z","type":"quit"}
{"nick":"loladiro","date":"2013-01-18T02:15:43.121Z","type":"join"}
{"nick":"dap","reason":"Quit: Leaving.","date":"2013-01-18T02:29:28.137Z","type":"quit"}
{"nick":"loladiro","reason":"Quit: loladiro","date":"2013-01-18T02:44:35.468Z","type":"quit"}
{"nick":"TooTallNate","reason":"Quit: Computer has gone to sleep.","date":"2013-01-18T02:46:11.891Z","type":"quit"}
{"nick":"qmx","new_nick":"qmx|away","date":"2013-01-18T02:52:45.091Z","type":"nick"}
{"nick":"pooya","reason":"Quit: pooya","date":"2013-01-18T02:56:49.686Z","type":"quit"}
{"nick":"TooTallNate","date":"2013-01-18T02:58:05.623Z","type":"join"}
{"nick":"abraxas","reason":"Remote host closed the connection","date":"2013-01-18T03:04:45.850Z","type":"quit"}
{"nick":"abraxas","date":"2013-01-18T03:05:22.260Z","type":"join"}
{"nick":"abraxas","reason":"Ping timeout: 248 seconds","date":"2013-01-18T03:09:53.102Z","type":"quit"}
{"nick":"indexzero","reason":"Quit: indexzero","date":"2013-01-18T03:13:35.560Z","type":"quit"}
{"nick":"wavded","date":"2013-01-18T03:30:23.835Z","type":"join"}
{"nick":"LOUDBOT","reason":"Remote host closed the connection","date":"2013-01-18T03:33:18.006Z","type":"quit"}
{"nick":"LOUDBOT","date":"2013-01-18T03:33:32.887Z","type":"join"}
{"nick":"LOUDBOT","reason":"Read error: Connection reset by peer","date":"2013-01-18T03:37:08.037Z","type":"quit"}
{"nick":"CAPSLOCKBOT","reason":"Ping timeout: 245 seconds","date":"2013-01-18T03:37:13.335Z","type":"quit"}
{"nick":"wavded","message":"can someone tell me if incoming OS notifications (e.g. kqueue, etc.) are handled in a seperate thread or on main one in Node/libuv?","date":"2013-01-18T03:39:55.072Z","type":"message"}
{"nick":"brson","reason":"Quit: leaving","date":"2013-01-18T03:52:45.848Z","type":"quit"}
{"nick":"LOUDBOT","date":"2013-01-18T03:55:04.127Z","type":"join"}
{"nick":"CAPSLOCKBOT","date":"2013-01-18T03:55:04.127Z","type":"join"}
{"nick":"cmr","reason":"Ping timeout: 240 seconds","date":"2013-01-18T04:05:31.112Z","type":"quit"}
{"nick":"cmr","date":"2013-01-18T04:17:46.592Z","type":"join"}
{"nick":"TooTallNate","reason":"Quit: [\"Textual IRC Client: www.textualapp.com\"]","date":"2013-01-18T04:18:53.294Z","type":"quit"}
{"nick":"abraxas","date":"2013-01-18T04:21:35.314Z","type":"join"}
{"nick":"sblom","date":"2013-01-18T04:25:53.709Z","type":"join"}
{"nick":"abraxas","reason":"Remote host closed the connection","date":"2013-01-18T04:34:14.254Z","type":"quit"}
{"nick":"wavded","message":"is libuv polling on these OS notifications when it loops? if so is that a seperate thread that's doing that or? and how if so, how often does it poll?","date":"2013-01-18T04:37:10.225Z","type":"message"}
{"nick":"wavded","message":"i'm bowing out for now but will check back in tomorrow, if anyone has any info it would be greatly appreciated, trying to understand this stuff as JS guy who knows little C and little systems programming","date":"2013-01-18T04:40:39.711Z","type":"message"}
{"nick":"wavded","reason":"Quit: WeeChat 0.3.9.2","date":"2013-01-18T04:40:50.140Z","type":"quit"}
{"nick":"abraxas","date":"2013-01-18T04:42:34.324Z","type":"join"}
{"nick":"indexzero","date":"2013-01-18T04:45:33.913Z","type":"join"}
{"nick":"trevnorris","date":"2013-01-18T04:52:26.200Z","type":"join"}
{"nick":"pooya","date":"2013-01-18T05:05:43.563Z","type":"join"}
{"nick":"brson","date":"2013-01-18T05:20:09.010Z","type":"join"}
{"nick":"loladiro","date":"2013-01-18T05:22:55.117Z","type":"join"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-01-18T05:24:36.840Z","type":"quit"}
{"nick":"wolfeidau","reason":"Read error: Connection reset by peer","date":"2013-01-18T05:31:36.105Z","type":"quit"}
{"nick":"wolfeidau","date":"2013-01-18T05:31:53.501Z","type":"join"}
{"nick":"txdv","message":"wavded_: main one","date":"2013-01-18T05:33:25.736Z","type":"message"}
{"nick":"wolfeida_","date":"2013-01-18T05:35:16.309Z","type":"join"}
{"nick":"rump","date":"2013-01-18T05:35:37.199Z","type":"join"}
{"nick":"wolfeidau","reason":"Read error: Connection reset by peer","date":"2013-01-18T05:35:53.603Z","type":"quit"}
{"nick":"wolfeida_","reason":"Remote host closed the connection","date":"2013-01-18T05:38:16.753Z","type":"quit"}
{"nick":"TheJH","date":"2013-01-18T05:40:27.629Z","type":"join"}
{"nick":"stagas","date":"2013-01-18T05:43:18.007Z","type":"join"}
{"nick":"c4milo","date":"2013-01-18T05:43:53.007Z","type":"join"}
{"nick":"pooya","reason":"Quit: pooya","date":"2013-01-18T05:46:08.981Z","type":"quit"}
{"nick":"pooya","date":"2013-01-18T05:47:06.316Z","type":"join"}
{"nick":"wolfeidau","date":"2013-01-18T05:57:50.170Z","type":"join"}
{"nick":"erickt","date":"2013-01-18T06:02:56.001Z","type":"join"}
{"nick":"bradleymeck","date":"2013-01-18T06:03:21.138Z","type":"join"}
{"nick":"mikeal","date":"2013-01-18T06:06:05.266Z","type":"join"}
{"nick":"TheJH","reason":"Ping timeout: 252 seconds","date":"2013-01-18T06:07:06.498Z","type":"quit"}
{"nick":"trevnorris","reason":"Quit: Leaving","date":"2013-01-18T06:07:45.879Z","type":"quit"}
{"nick":"mikeal","reason":"Ping timeout: 248 seconds","date":"2013-01-18T06:14:25.110Z","type":"quit"}
{"nick":"mikeal","date":"2013-01-18T06:15:12.122Z","type":"join"}
{"nick":"c4milo","reason":"Remote host closed the connection","date":"2013-01-18T06:18:19.549Z","type":"quit"}
{"nick":"abraxas","reason":"Remote host closed the connection","date":"2013-01-18T06:24:09.617Z","type":"quit"}
{"nick":"abraxas","date":"2013-01-18T06:24:45.118Z","type":"join"}
{"nick":"abraxas","reason":"Ping timeout: 240 seconds","date":"2013-01-18T06:29:00.990Z","type":"quit"}
{"nick":"paddybyers","date":"2013-01-18T06:35:15.986Z","type":"join"}
{"nick":"erickt","reason":"Quit: erickt","date":"2013-01-18T06:42:50.759Z","type":"quit"}
{"nick":"pooya","reason":"Quit: pooya","date":"2013-01-18T06:49:33.163Z","type":"quit"}
{"nick":"stagas_","date":"2013-01-18T06:51:52.865Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 252 seconds","date":"2013-01-18T06:52:23.146Z","type":"quit"}
{"nick":"stagas_","new_nick":"stagas","date":"2013-01-18T06:52:25.049Z","type":"nick"}
{"nick":"rump","reason":"Quit: rump","date":"2013-01-18T07:06:20.544Z","type":"quit"}
{"nick":"Benvie","date":"2013-01-18T07:15:08.613Z","type":"quit"}
{"nick":"pooya","date":"2013-01-18T07:15:25.263Z","type":"join"}
{"nick":"pooya","reason":"Client Quit","date":"2013-01-18T07:15:41.545Z","type":"quit"}
{"nick":"paddybyers","reason":"Remote host closed the connection","date":"2013-01-18T07:27:52.270Z","type":"quit"}
{"nick":"paddybyers","date":"2013-01-18T07:28:11.118Z","type":"join"}
{"nick":"AvianFlu","date":"2013-01-18T07:29:51.838Z","type":"join"}
{"nick":"indutny","message":"isaacs: y?","date":"2013-01-18T07:40:27.537Z","type":"message"}
{"nick":"indutny","message":"s/y/yt/","date":"2013-01-18T07:40:33.765Z","type":"message"}
{"nick":"loladiro","reason":"Quit: loladiro","date":"2013-01-18T07:42:10.856Z","type":"quit"}
{"nick":"indexzero","reason":"Quit: indexzero","date":"2013-01-18T07:44:18.119Z","type":"quit"}
{"nick":"rump","date":"2013-01-18T07:52:35.935Z","type":"join"}
{"nick":"stagas_","date":"2013-01-18T07:52:46.995Z","type":"join"}
{"nick":"stagas__","date":"2013-01-18T07:54:12.714Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 256 seconds","date":"2013-01-18T07:56:21.998Z","type":"quit"}
{"nick":"stagas__","new_nick":"stagas","date":"2013-01-18T07:56:37.097Z","type":"nick"}
{"nick":"stagas_","reason":"Ping timeout: 240 seconds","date":"2013-01-18T07:57:00.848Z","type":"quit"}
{"nick":"rendar","date":"2013-01-18T08:01:15.461Z","type":"join"}
{"nick":"loladiro","date":"2013-01-18T08:07:27.482Z","type":"join"}
{"nick":"stagas_","date":"2013-01-18T08:08:42.797Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 252 seconds","date":"2013-01-18T08:11:12.732Z","type":"quit"}
{"nick":"stagas_","new_nick":"stagas","date":"2013-01-18T08:11:22.319Z","type":"nick"}
{"nick":"stagas_","date":"2013-01-18T08:14:14.265Z","type":"join"}
{"nick":"brson","reason":"Quit: leaving","date":"2013-01-18T08:16:33.762Z","type":"quit"}
{"nick":"bradleymeck","reason":"Ping timeout: 240 seconds","date":"2013-01-18T08:17:30.853Z","type":"quit"}
{"nick":"stagas","reason":"Ping timeout: 276 seconds","date":"2013-01-18T08:17:42.806Z","type":"quit"}
{"nick":"stagas_","new_nick":"stagas","date":"2013-01-18T08:17:54.295Z","type":"nick"}
{"nick":"bradleymeck","date":"2013-01-18T08:18:22.973Z","type":"join"}
{"nick":"stagas_","date":"2013-01-18T08:21:42.691Z","type":"join"}
{"nick":"stagas__","date":"2013-01-18T08:23:40.910Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 252 seconds","date":"2013-01-18T08:25:38.121Z","type":"quit"}
{"nick":"stagas__","new_nick":"stagas","date":"2013-01-18T08:25:50.884Z","type":"nick"}
{"nick":"rump","reason":"Quit: rump","date":"2013-01-18T08:26:14.667Z","type":"quit"}
{"nick":"stagas_","reason":"Ping timeout: 244 seconds","date":"2013-01-18T08:26:41.029Z","type":"quit"}
{"nick":"loladiro","reason":"Quit: loladiro","date":"2013-01-18T08:26:54.263Z","type":"quit"}
{"nick":"EhevuTov","reason":"Quit: This computer has gone to sleep","date":"2013-01-18T08:44:27.448Z","type":"quit"}
{"nick":"`3rdEden","date":"2013-01-18T09:09:06.908Z","type":"join"}
{"nick":"bradleymeck_","date":"2013-01-18T09:10:29.198Z","type":"join"}
{"nick":"bradleymeck","reason":"Ping timeout: 272 seconds","date":"2013-01-18T09:11:06.840Z","type":"quit"}
{"nick":"bradleymeck_","new_nick":"bradleymeck","date":"2013-01-18T09:11:07.098Z","type":"nick"}
{"nick":"abraxas","date":"2013-01-18T09:22:10.382Z","type":"join"}
{"nick":"abraxas","reason":"Remote host closed the connection","date":"2013-01-18T09:22:41.695Z","type":"quit"}
{"nick":"bradleymeck_","date":"2013-01-18T09:36:19.935Z","type":"join"}
{"nick":"bradleymeck","reason":"Ping timeout: 256 seconds","date":"2013-01-18T09:36:40.005Z","type":"quit"}
{"nick":"bradleymeck_","new_nick":"bradleymeck","date":"2013-01-18T09:36:40.501Z","type":"nick"}
{"nick":"txdv","message":"indutny: a better argument would be that most of the java libs are build on top of blocking libraries","date":"2013-01-18T09:59:01.640Z","type":"message"}
{"nick":"indutny","message":"emh","date":"2013-01-18T09:59:09.888Z","type":"message"}
{"nick":"indutny","message":"meh","date":"2013-01-18T09:59:11.620Z","type":"message"}
{"nick":"txdv","message":"what meh","date":"2013-01-18T10:00:00.151Z","type":"message"}
{"nick":"indutny","message":"meh","date":"2013-01-18T10:02:30.781Z","type":"message"}
{"nick":"indutny","message":"blocking libs is not only reason","date":"2013-01-18T10:02:37.432Z","type":"message"}
{"nick":"txdv","message":"well your reason was like 'o all the nice java ecosystem libs? who needs them, i can code that all myself!'","date":"2013-01-18T10:05:17.882Z","type":"message"}
{"nick":"txdv","message":"go go go git implementation in pure javascript","date":"2013-01-18T10:05:24.764Z","type":"message"}
{"nick":"txdv","message":"you do that, I send you vodka from lithuania","date":"2013-01-18T10:05:41.172Z","type":"message"}
{"nick":"indutny","message":"erm","date":"2013-01-18T10:06:06.772Z","type":"message"}
{"nick":"indutny","message":"I think it's already done","date":"2013-01-18T10:06:10.018Z","type":"message"}
{"nick":"indutny","message":"partially","date":"2013-01-18T10:06:12.335Z","type":"message"}
{"nick":"indutny","message":"I mean, you can use C libraries from node","date":"2013-01-18T10:06:23.455Z","type":"message"}
{"nick":"indutny","message":"or C++ ones","date":"2013-01-18T10:06:26.458Z","type":"message"}
{"nick":"indutny","message":"or you can write it yourself","date":"2013-01-18T10:06:31.441Z","type":"message"}
{"nick":"indutny","message":"honestly, I can write a git library","date":"2013-01-18T10:06:35.545Z","type":"message"}
{"nick":"indutny","message":"I just don't have resources for it","date":"2013-01-18T10:06:41.609Z","type":"message"}
{"nick":"indutny","message":"but if I'll ever need it - I'll either use bindings for libgit or write it myself","date":"2013-01-18T10:07:02.437Z","type":"message"}
{"nick":"indutny","message":"I won't ever feel urge to move to another platform just because of this","date":"2013-01-18T10:07:13.384Z","type":"message"}
{"nick":"txdv","message":"fucking keyboard drivers","date":"2013-01-18T10:07:48.051Z","type":"message"}
{"nick":"txdv","message":"java has a lof resources","date":"2013-01-18T10:08:29.614Z","type":"message"}
{"nick":"txdv","message":"there are so many developers for it","date":"2013-01-18T10:08:34.407Z","type":"message"}
{"nick":"txdv","message":"jgit was way out there before libgit2","date":"2013-01-18T10:08:39.253Z","type":"message"}
{"nick":"indutny","message":"and?","date":"2013-01-18T10:09:41.169Z","type":"message"}
{"nick":"txdv","message":"thats not an argument","date":"2013-01-18T10:09:51.780Z","type":"message"}
{"nick":"txdv","message":"that is an obnoctious self fullfilling statement ","date":"2013-01-18T10:10:12.318Z","type":"message"}
{"nick":"indutny","message":"I won't argue about historical importantness of java","date":"2013-01-18T10:10:39.414Z","type":"message"}
{"nick":"indutny","message":"it was quite a good think at it's time","date":"2013-01-18T10:10:47.095Z","type":"message"}
{"nick":"indutny","message":"I remember coding a lot on it","date":"2013-01-18T10:10:53.539Z","type":"message"}
{"nick":"indutny","message":"but now there're no real arguments to write programs in it","date":"2013-01-18T10:11:09.755Z","type":"message"}
{"nick":"indutny","message":"unless it's required by your employer","date":"2013-01-18T10:11:16.304Z","type":"message"}
{"nick":"txdv","message":"a lot of them do","date":"2013-01-18T10:11:31.805Z","type":"message"}
{"nick":"rendar","message":"i agree with indutny","date":"2013-01-18T10:12:26.913Z","type":"message"}
{"nick":"txdv","message":"I agree with him too","date":"2013-01-18T10:12:49.873Z","type":"message"}
{"nick":"rendar","message":"and i wonder why some of the newest no-sql technologies are actually written in java instead of C/C++","date":"2013-01-18T10:12:58.488Z","type":"message"}
{"nick":"rendar","message":"all the Apache ecosystem uses java, basically","date":"2013-01-18T10:13:42.256Z","type":"message"}
{"nick":"txdv","message":"so you agree with indutny statements, which are basically truths, but then you repeat what I say that java has a big ecosystem","date":"2013-01-18T10:15:02.682Z","type":"message"}
{"nick":"rendar","message":"txdv: yeah, thats because i wrote \"i wonder why\", i agree with its statement that now there're no real arguments to write programs in java, so i wonder understand _why_ some people (dunno if many or few) starts projects in it :D","date":"2013-01-18T10:16:21.492Z","type":"message"}
{"nick":"txdv","message":"imo java has fallen behind in language features","date":"2013-01-18T10:17:03.954Z","type":"message"}
{"nick":"rendar","message":"also, why applications that are so critical in CPU and memory like DBs (nosql, sql or whatever) are written in java","date":"2013-01-18T10:18:10.851Z","type":"message"}
{"nick":"txdv","message":"Because one day there might appear a java compiler and virtual machine","date":"2013-01-18T10:18:57.927Z","type":"message"}
{"nick":"txdv","message":"which will execute them faster than the a native implementation","date":"2013-01-18T10:19:15.961Z","type":"message"}
{"nick":"txdv","message":"it is just like christians waiting for the rapture","date":"2013-01-18T10:19:28.745Z","type":"message"}
{"nick":"rendar","message":"what about if it won't? :D","date":"2013-01-18T10:19:32.903Z","type":"message"}
{"nick":"rendar","message":"lol","date":"2013-01-18T10:19:39.054Z","type":"message"}
{"nick":"txdv","message":"and then they go on doing these really ugly java hacks because 'it is faster'","date":"2013-01-18T10:21:13.897Z","type":"message"}
{"nick":"txdv","message":"so they loose everything, readability, speed","date":"2013-01-18T10:21:26.654Z","type":"message"}
{"nick":"stagas","reason":"Ping timeout: 255 seconds","date":"2013-01-18T10:22:35.601Z","type":"quit"}
{"nick":"rendar","message":"txdv: exactly i totally agree with you","date":"2013-01-18T10:22:40.443Z","type":"message"}
{"nick":"txdv","message":"good talk on why githbut still uses the default ruby and not jruby - http://vimeo.com/43698188 - we do not believe in the jvm","date":"2013-01-18T10:28:21.888Z","type":"message"}
{"nick":"rendar","message":"txdv: cool","date":"2013-01-18T10:29:50.295Z","type":"message"}
{"nick":"rendar","message":"txdv: i think C++ would be a nice language to develop server-side stuff, what you think?","date":"2013-01-18T10:30:22.710Z","type":"message"}
{"nick":"txdv","message":"I think node.js is more popular than node.native","date":"2013-01-18T10:30:50.004Z","type":"message"}
{"nick":"rendar","message":"well yeah","date":"2013-01-18T10:31:13.297Z","type":"message"}
{"nick":"rendar","message":"but can node.native be used to develop stuff as well?","date":"2013-01-18T10:31:41.084Z","type":"message"}
{"nick":"txdv","message":"but you have to become a dark wizard first","date":"2013-01-18T10:32:17.778Z","type":"message"}
{"nick":"rendar","message":"eheh yeah","date":"2013-01-18T10:32:28.770Z","type":"message"}
{"nick":"rendar","message":"txdv: now imagine for example node.native with very simple and clear apis like Qt's ones","date":"2013-01-18T10:32:49.125Z","type":"message"}
{"nick":"txdv","message":"I implemented the qt serialization protocol in c#","date":"2013-01-18T10:33:40.124Z","type":"message"}
{"nick":"txdv","message":"not clear and simple","date":"2013-01-18T10:33:44.396Z","type":"message"}
{"nick":"rendar","message":"eheh, well yeah","date":"2013-01-18T10:33:51.637Z","type":"message"}
{"nick":"rendar","message":"Qt sometimes is not an example of clearness :)","date":"2013-01-18T10:34:01.402Z","type":"message"}
{"nick":"txdv","message":"and QT is not c++","date":"2013-01-18T10:34:33.788Z","type":"message"}
{"nick":"txdv","message":"it compiles it's code to c++","date":"2013-01-18T10:34:39.718Z","type":"message"}
{"nick":"rendar","message":"txdv: i know, that really sucks indeed","date":"2013-01-18T10:34:51.322Z","type":"message"}
{"nick":"txdv","message":"my wrapper has more activity than native.node","date":"2013-01-18T10:38:15.947Z","type":"message"}
{"nick":"rendar","message":"ahah","date":"2013-01-18T10:41:03.111Z","type":"message"}
{"nick":"rendar","message":"the c# wrapper to libuv?","date":"2013-01-18T10:41:24.796Z","type":"message"}
{"nick":"txdv","message":"ja","date":"2013-01-18T10:41:32.438Z","type":"message"}
{"nick":"rendar","message":"cool","date":"2013-01-18T10:41:36.070Z","type":"message"}
{"nick":"txdv","message":"why not","date":"2013-01-18T10:43:06.382Z","type":"message"}
{"nick":"txdv","message":"i'm good at that","date":"2013-01-18T10:43:08.875Z","type":"message"}
{"nick":"rendar","message":"nice","date":"2013-01-18T10:43:15.186Z","type":"message"}
{"nick":"bnoordhuis","date":"2013-01-18T10:45:17.420Z","type":"join"}
{"nick":"txdv","message":"o bnoordhuis","date":"2013-01-18T10:46:55.289Z","type":"message"}
{"nick":"txdv","message":"my favourite person to whine to","date":"2013-01-18T10:46:58.701Z","type":"message"}
{"nick":"bnoordhuis","action":"listents","date":"2013-01-18T10:48:20.213Z","type":"action"}
{"nick":"bnoordhuis","message":"listens, rather","date":"2013-01-18T10:48:24.585Z","type":"message"}
{"nick":"indutny","message":"listens","date":"2013-01-18T10:49:12.374Z","type":"message"}
{"nick":"indutny","message":"I've started calculating my taxes for last year","date":"2013-01-18T10:49:25.454Z","type":"message"}
{"nick":"indutny","message":"god damn it!","date":"2013-01-18T10:49:29.711Z","type":"message"}
{"nick":"indutny","message":"receiveing money in currency is so complicated","date":"2013-01-18T10:49:38.101Z","type":"message"}
{"nick":"txdv","message":"do people in russia pay taxes?","date":"2013-01-18T10:49:48.603Z","type":"message"}
{"nick":"indutny","message":"I'm afraid some do","date":"2013-01-18T10:49:56.277Z","type":"message"}
{"nick":"indutny","message":"my bank has notified tax inspection about my income","date":"2013-01-18T10:50:17.672Z","type":"message"}
{"nick":"txdv","message":"bnoordhuis: https://github.com/joyent/libuv/pull/689","date":"2013-01-18T10:50:22.131Z","type":"message"}
{"nick":"indutny","message":"so I need to calculate it myself","date":"2013-01-18T10:50:23.910Z","type":"message"}
{"nick":"indutny","message":"and fill a lot of paper","date":"2013-01-18T10:50:27.929Z","type":"message"}
{"nick":"indutny","action":"kills trees","date":"2013-01-18T10:50:32.775Z","type":"action"}
{"nick":"txdv","message":"why can't they automatically calculate the taxes and send you a fill out form","date":"2013-01-18T10:50:47.829Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: thanks but i won't have time to look at it today","date":"2013-01-18T10:50:56.153Z","type":"message"}
{"nick":"bnoordhuis","message":"busy, busy, busy","date":"2013-01-18T10:50:59.749Z","type":"message"}
{"nick":"indutny","message":"txdv: good question","date":"2013-01-18T10:51:01.203Z","type":"message"}
{"nick":"indutny","message":"bnoordhuis: btw, about socket sending","date":"2013-01-18T10:51:09.619Z","type":"message"}
{"nick":"bnoordhuis","message":"they do in NL btw","date":"2013-01-18T10:51:13.211Z","type":"message"}
{"nick":"indutny","message":"I've just realized that we don't need track: true","date":"2013-01-18T10:51:20.958Z","type":"message"}
{"nick":"indutny","message":"if we deprecate connections property","date":"2013-01-18T10:51:25.284Z","type":"message"}
{"nick":"indutny","message":"it was so fast paced yesterday","date":"2013-01-18T10:51:31.893Z","type":"message"}
{"nick":"indutny","message":"I had no time to think about it","date":"2013-01-18T10:51:36.388Z","type":"message"}
{"nick":"txdv","message":"waste of human time","date":"2013-01-18T10:51:43.922Z","type":"message"}
{"nick":"txdv","message":"the germans are masters in burecratism","date":"2013-01-18T10:51:50.746Z","type":"message"}
{"nick":"indutny","message":"well, you'll receive 'close' event on socketts that were sent","date":"2013-01-18T10:51:51.812Z","type":"message"}
{"nick":"indutny","message":"but is it that useful that we need to introduce APIs for this?","date":"2013-01-18T10:52:04.506Z","type":"message"}
{"nick":"txdv","message":"took them an entire year to start paying social benefits","date":"2013-01-18T10:52:06.758Z","type":"message"}
{"nick":"indutny","message":"I think it can't be handled in user-land","date":"2013-01-18T10:52:10.057Z","type":"message"}
{"nick":"indutny","message":"bnoordhuis: thougths?","date":"2013-01-18T10:52:13.042Z","type":"message"}
{"nick":"txdv","message":"lithuanians only took 9 months","date":"2013-01-18T10:52:20.377Z","type":"message"}
{"nick":"bnoordhuis","message":"indutny: not really, at the moment :)","date":"2013-01-18T10:52:21.101Z","type":"message"}
{"nick":"indutny","message":"s/thougths/thoughts/","date":"2013-01-18T10:52:21.601Z","type":"message"}
{"nick":"bnoordhuis","message":"indutny: but less api > more api so i agree in general","date":"2013-01-18T10:52:32.657Z","type":"message"}
{"nick":"indutny","message":"bnoordhuis: oh, you enterprise slug","date":"2013-01-18T10:52:37.911Z","type":"message"}
{"nick":"txdv","message":"it's a 6 line patch bnoordhuis","date":"2013-01-18T11:00:50.581Z","type":"message"}
{"nick":"indutny","message":"brb","date":"2013-01-18T11:09:36.668Z","type":"message"}
{"nick":"c4milo","date":"2013-01-18T11:13:00.870Z","type":"join"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Dan Milon\u000f \u00037v0.8\u000f * \u00027295bb9\u0002 : dns: make error message match errno - http://git.io/0gzweg","date":"2013-01-18T11:14:43.225Z","type":"message"}
{"nick":"c4milo","reason":"Ping timeout: 272 seconds","date":"2013-01-18T11:17:46.738Z","type":"quit"}
{"nick":"MI6","message":"\u0002joyent/libuv:\u0002 \u00033Andrius Bentkus\u000f \u00037master\u000f * \u0002017e2d5\u0002 : unix, windows: make uv_*_bind() error codes consistent Just like uv_tcp_ - http://git.io/vL2c7w","date":"2013-01-18T11:21:06.659Z","type":"message"}
{"nick":"bnoordhuis","message":"txdv: ^","date":"2013-01-18T11:21:34.804Z","type":"message"}
{"nick":"txdv","message":"awesome","date":"2013-01-18T11:22:10.570Z","type":"message"}
{"nick":"travis-ci","date":"2013-01-18T11:23:38.741Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#1036 (master - 017e2d5 : Andrius Bentkus): The build has errored.","date":"2013-01-18T11:23:38.875Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/372ac34d5f80...017e2d5fde0c","date":"2013-01-18T11:23:38.875Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4229407","date":"2013-01-18T11:23:38.875Z","type":"message"}
{"nick":"travis-ci","date":"2013-01-18T11:23:38.875Z","type":"part"}
{"nick":"saghul","message":"TRAVIS Y U NO WORK","date":"2013-01-18T11:35:27.542Z","type":"message"}
{"nick":"LOUDBOT","message":"YOU ARE THE BATTERIES IN THE GREAT BIG DILDO THAT IS FUCKING THIS COUNTRY IN THE ASS","date":"2013-01-18T11:35:28.288Z","type":"message"}
{"nick":"txdv","message":"wow","date":"2013-01-18T11:40:49.641Z","type":"message"}
{"nick":"txdv","message":"that was rude LOUDBOT","date":"2013-01-18T11:40:56.291Z","type":"message"}
{"nick":"paddybyers_","date":"2013-01-18T11:43:29.002Z","type":"join"}
{"nick":"paddybyers","reason":"Ping timeout: 252 seconds","date":"2013-01-18T11:46:23.133Z","type":"quit"}
{"nick":"paddybyers_","new_nick":"paddybyers","date":"2013-01-18T11:46:23.264Z","type":"nick"}
{"nick":"bnoordhuis","message":"indutny: ping","date":"2013-01-18T11:48:38.001Z","type":"message"}
{"nick":"indutny","message":"pong","date":"2013-01-18T11:48:41.081Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033bnoordhuis\u000f created branch issue4617 - http://git.io/JmbMvA","date":"2013-01-18T11:49:18.355Z","type":"message"}
{"nick":"bnoordhuis","message":"indutny: ^ review","date":"2013-01-18T11:49:20.566Z","type":"message"}
{"nick":"indutny","message":"please?","date":"2013-01-18T11:49:29.047Z","type":"message"}
{"nick":"bnoordhuis","message":"with sugar on top","date":"2013-01-18T11:49:41.835Z","type":"message"}
{"nick":"bnoordhuis","message":"i always forget the question mark when i type that :)","date":"2013-01-18T11:49:59.050Z","type":"message"}
{"nick":"indutny","message":"one sec","date":"2013-01-18T11:51:45.609Z","type":"message"}
{"nick":"indutny","message":":)","date":"2013-01-18T11:51:46.773Z","type":"message"}
{"nick":"indutny","message":"may be use regexps?","date":"2013-01-18T11:52:24.751Z","type":"message"}
{"nick":"indutny","message":"indexOf = meh","date":"2013-01-18T11:52:29.334Z","type":"message"}
{"nick":"bnoordhuis","message":"oh. i guess","date":"2013-01-18T11:52:40.045Z","type":"message"}
{"nick":"indutny","message":"otherwise lgtm","date":"2013-01-18T11:52:58.549Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Ben Noordhuis\u000f \u00037master\u000f * \u00026b713b5\u0002 : cluster: make --prof work for workers Profiling in clustered environment - http://git.io/dkeTuw","date":"2013-01-18T11:57:40.880Z","type":"message"}
{"nick":"bnoordhuis","reason":"Read error: Operation timed out","date":"2013-01-18T12:02:31.797Z","type":"quit"}
{"nick":"qmx|away","new_nick":"qmx","date":"2013-01-18T12:31:45.763Z","type":"nick"}
{"nick":"toothr","new_nick":"toothrot","date":"2013-01-18T12:41:59.608Z","type":"nick"}
{"nick":"c4milo","date":"2013-01-18T12:58:15.852Z","type":"join"}
{"nick":"c4milo","reason":"Ping timeout: 252 seconds","date":"2013-01-18T13:02:40.769Z","type":"quit"}
{"nick":"EhevuTov","date":"2013-01-18T13:23:33.827Z","type":"join"}
{"nick":"jmar777","date":"2013-01-18T13:24:57.999Z","type":"join"}
{"nick":"jmar777","reason":"Remote host closed the connection","date":"2013-01-18T13:26:13.421Z","type":"quit"}
{"nick":"jmar777","date":"2013-01-18T13:26:50.306Z","type":"join"}
{"nick":"jmar777","reason":"Read error: Connection reset by peer","date":"2013-01-18T13:27:06.405Z","type":"quit"}
{"nick":"jmar777","date":"2013-01-18T13:27:37.615Z","type":"join"}
{"nick":"loladiro","date":"2013-01-18T13:31:12.794Z","type":"join"}
{"nick":"loladiro","reason":"Client Quit","date":"2013-01-18T13:31:41.920Z","type":"quit"}
{"nick":"piscisaureus_","date":"2013-01-18T13:55:12.965Z","type":"join"}
{"nick":"bradleymeck","reason":"Quit: bradleymeck","date":"2013-01-18T14:12:30.637Z","type":"quit"}
{"nick":"sgallagh","date":"2013-01-18T14:16:46.352Z","type":"join"}
{"nick":"sgallagh","new_nick":"sgallagh_fudcon","date":"2013-01-18T14:17:04.223Z","type":"nick"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-01-18T14:21:08.965Z","type":"quit"}
{"nick":"c4milo_","date":"2013-01-18T14:44:04.309Z","type":"join"}
{"nick":"EhevuTov","reason":"Quit: This computer has gone to sleep","date":"2013-01-18T14:46:42.046Z","type":"quit"}
{"nick":"stagas","date":"2013-01-18T14:51:46.546Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 255 seconds","date":"2013-01-18T14:57:11.405Z","type":"quit"}
{"nick":"stagas","date":"2013-01-18T14:57:38.863Z","type":"join"}
{"nick":"dap","date":"2013-01-18T14:58:04.052Z","type":"join"}
{"nick":"stagas_","date":"2013-01-18T14:59:20.802Z","type":"join"}
{"nick":"stagas","reason":"Ping timeout: 248 seconds","date":"2013-01-18T15:02:12.789Z","type":"quit"}
{"nick":"stagas","date":"2013-01-18T15:06:17.609Z","type":"join"}
{"nick":"stagas_","reason":"Ping timeout: 256 seconds","date":"2013-01-18T15:06:28.054Z","type":"quit"}
{"nick":"piscisaureus_","reason":"Ping timeout: 246 seconds","date":"2013-01-18T15:28:28.788Z","type":"quit"}
{"nick":"isaacs","message":"good morning","date":"2013-01-18T15:40:41.668Z","type":"message"}
{"nick":"isaacs","message":"i totally forgot to do a 0.9.7 yesterday. starting that now","date":"2013-01-18T15:40:56.318Z","type":"message"}
{"nick":"`3rdEden","new_nick":"`3E|EGONE","date":"2013-01-18T15:43:02.067Z","type":"nick"}
{"nick":"sblom","reason":"Quit: leaving","date":"2013-01-18T16:00:02.333Z","type":"quit"}
{"nick":"qmx","new_nick":"qmx|lunch","date":"2013-01-18T16:04:27.142Z","type":"nick"}
{"nick":"`3E|EGONE","new_nick":"`3rdEden","date":"2013-01-18T16:07:56.409Z","type":"nick"}
{"nick":"isaacs","message":"ircretary: tell bnoordhuis to review https://github.com/joyent/node/pull/4618 since it solves the bug he posted.","date":"2013-01-18T16:13:48.567Z","type":"message"}
{"nick":"ircretary","message":"isaacs: I'll be sure to tell bnoordhuis","date":"2013-01-18T16:13:49.215Z","type":"message"}
{"nick":"isaacs","message":"or really anyone can review it","date":"2013-01-18T16:14:28.506Z","type":"message"}
{"nick":"hij1nx","message":"isaacs: how relevant/up to date is this? https://github.com/bnoordhuis/node-event-emitter","date":"2013-01-18T16:23:12.924Z","type":"message"}
{"nick":"pooya","date":"2013-01-18T16:25:17.622Z","type":"join"}
{"nick":"`3rdEden","reason":"Remote host closed the connection","date":"2013-01-18T16:28:06.992Z","type":"quit"}
{"nick":"isaacs","message":"hij1nx: it's about a year old","date":"2013-01-18T16:29:03.076Z","type":"message"}
{"nick":"isaacs","message":"so probably not domain-aware","date":"2013-01-18T16:29:06.576Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-01-18T16:29:27.863Z","type":"quit"}
{"nick":"hij1nx","message":"isaacs: im not going to use it","date":"2013-01-18T16:29:36.089Z","type":"message"}
{"nick":"pooya","reason":"Read error: Connection reset by peer","date":"2013-01-18T16:29:42.106Z","type":"quit"}
{"nick":"hij1nx","message":"isaacs: talking to indutny now","date":"2013-01-18T16:29:43.396Z","type":"message"}
{"nick":"isaacs","message":"oh, but it uses MakeCallback, so it might be actually","date":"2013-01-18T16:29:45.036Z","type":"message"}
{"nick":"pooya","date":"2013-01-18T16:29:59.889Z","type":"join"}
{"nick":"hij1nx","message":"yeah, so libdtrace module is basically dead, which is kind of crazy. i need to revive it, i have got it up to date using gyp, etc. but i want to make it more node-like, so im turning it into an emitter.","date":"2013-01-18T16:31:39.900Z","type":"message"}
{"nick":"hij1nx","message":"or something. i dont know i just started on it.","date":"2013-01-18T16:32:01.667Z","type":"message"}
{"nick":"indutny","message":"ohohoho","date":"2013-01-18T16:38:14.814Z","type":"message"}
{"nick":"indutny","message":"I'm here","date":"2013-01-18T16:38:16.196Z","type":"message"}
{"nick":"hij1nx","message":"lol","date":"2013-01-18T16:39:07.649Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: i thought everyone used node-dtrace-provider now","date":"2013-01-18T16:40:50.388Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: oh, wait, libdtrace is for the other side, right?","date":"2013-01-18T16:40:58.958Z","type":"message"}
{"nick":"qmx|lunch","new_nick":"qmx","date":"2013-01-18T16:41:15.109Z","type":"nick"}
{"nick":"isaacs","message":"like, running dtrace commands from node, not instrumenting node programs","date":"2013-01-18T16:41:15.628Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: i'd suggest not trying to make the C++ interface \"node-like\"","date":"2013-01-18T16:41:35.068Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: just make it what it is, and wrap in javascript, since javascript is so much easier to work with","date":"2013-01-18T16:41:46.787Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037master\u000f * \u00020459a60\u0002 : npm: Upgrade to 1.2.2 - http://git.io/EGJqKQ","date":"2013-01-18T16:42:32.199Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f created branch v0.9.7-release - http://git.io/c3qqIA","date":"2013-01-18T16:43:12.234Z","type":"message"}
{"nick":"isaacs","message":"review please? ^","date":"2013-01-18T16:43:14.576Z","type":"message"}
{"nick":"hij1nx","message":"isaacs: im all about doing as litte in c++ land as possible. but the way its set up is kin of strange and i was thinking it could simplify it a lot. i'll contemplate it a little first.","date":"2013-01-18T16:44:51.557Z","type":"message"}
{"nick":"hij1nx","message":"skin/kind/","date":"2013-01-18T16:45:38.746Z","type":"message"}
{"nick":"hij1nx","message":"isaacs: ok, i should rephrase my intent, it was less about aesthetic and more about being able to know when the snapshot sequence has ended, this is essentially an `end` event.","date":"2013-01-18T16:52:25.016Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: i see.","date":"2013-01-18T16:54:30.089Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: you should attach an `onend` function and call it.","date":"2013-01-18T16:54:36.369Z","type":"message"}
{"nick":"isaacs","message":"hij1nx: using node::MakeCallback","date":"2013-01-18T16:54:48.491Z","type":"message"}
{"nick":"TheJH","date":"2013-01-18T16:55:05.138Z","type":"join"}
{"nick":"isaacs","message":"hij1nx: and when your handle object is created, assign a \"domain\" member to process.domain","date":"2013-01-18T16:55:13.978Z","type":"message"}
{"nick":"isaacs","message":"boom: domain-aware","date":"2013-01-18T16:55:18.391Z","type":"message"}
{"nick":"hij1nx","message":"isaacs: nice","date":"2013-01-18T16:55:25.155Z","type":"message"}
{"nick":"isaacs","message":"that's how we do it with HandleWraps and such","date":"2013-01-18T16:55:50.528Z","type":"message"}
{"nick":"trevnorris","date":"2013-01-18T16:56:08.877Z","type":"join"}
{"nick":"hij1nx","message":"isaacs: when would you add the domain member?","date":"2013-01-18T16:56:38.295Z","type":"message"}
{"nick":"hij1nx","message":"oh when the handle is created","date":"2013-01-18T16:56:57.960Z","type":"message"}
{"nick":"hij1nx","message":"nm","date":"2013-01-18T16:56:59.941Z","type":"message"}
{"nick":"isaacs","message":"from js","date":"2013-01-18T16:59:06.596Z","type":"message"}
{"nick":"erickt","date":"2013-01-18T17:03:44.887Z","type":"join"}
{"nick":"erickt","reason":"Client Quit","date":"2013-01-18T17:07:34.148Z","type":"quit"}
{"nick":"rendar","message":"hmm, can i see the uv_loop_t structure like a threadpool?","date":"2013-01-18T17:12:59.248Z","type":"message"}
{"nick":"isaacs","message":"ircretary: tell sblom https://gist.github.com/4566249","date":"2013-01-18T17:18:22.212Z","type":"message"}
{"nick":"ircretary","message":"isaacs: I'll be sure to tell sblom","date":"2013-01-18T17:18:22.878Z","type":"message"}
{"nick":"isaacs","message":"ircretary: tell piscisaureus_ https://gist.github.com/4566249","date":"2013-01-18T17:18:28.112Z","type":"message"}
{"nick":"ircretary","message":"isaacs: I'll be sure to tell piscisaureus_","date":"2013-01-18T17:18:28.696Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: actually, it looks like that's yours ;P","date":"2013-01-18T17:19:27.982Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: INFINITY is not defined on windows, it would seem","date":"2013-01-18T17:19:35.482Z","type":"message"}
{"nick":"mikeal","date":"2013-01-18T17:19:51.135Z","type":"join"}
{"nick":"trevnorris","message":"isaacs: freakin, seriously? ugh.","date":"2013-01-18T17:20:32.742Z","type":"message"}
{"nick":"isaacs","message":"yeah","date":"2013-01-18T17:21:00.031Z","type":"message"}
{"nick":"trevnorris","message":"so math.h doesn't contain that on windows, huh? ok, unless you already have a solution I'll get one right now.","date":"2013-01-18T17:21:20.780Z","type":"message"}
{"nick":"isaacs","message":"googling suggests pulling in std::limits","date":"2013-01-18T17:22:01.480Z","type":"message"}
{"nick":"isaacs","message":"but eff that","date":"2013-01-18T17:22:02.840Z","type":"message"}
{"nick":"trevnorris","message":"yeah, I felt the same way. there is a hack where `float inf = 1e308`","date":"2013-01-18T17:22:25.341Z","type":"message"}
{"nick":"trevnorris","message":"will overload the value to infinity, but don't know if that's reliable.","date":"2013-01-18T17:22:43.312Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: INFINITY is a float, yes?","date":"2013-01-18T17:22:50.059Z","type":"message"}
{"nick":"isaacs","message":"what is its value on unix? we can just defined it ifndef","date":"2013-01-18T17:23:07.252Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: in LE it's 0x0000807f","date":"2013-01-18T17:24:19.632Z","type":"message"}
{"nick":"isaacs","message":"hrm. but i guess that's the whole point of using a define rather than a hard-coded value, because it varies based on stuff.","date":"2013-01-18T17:25:07.888Z","type":"message"}
{"nick":"isaacs","message":"some resources suggest using HUGE_VAL instead","date":"2013-01-18T17:25:14.923Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: just as fyi it's also a double as 0x000000000000f07f. But we're only checking float.","date":"2013-01-18T17:25:59.854Z","type":"message"}
{"nick":"trevnorris","message":"since if a user types in a value larger than double max, we'll receive it as Infinity anyways and there's nothing that can be done.","date":"2013-01-18T17:26:24.853Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: also, it's not currently supported in d8's or chromes typed arrays to check for that. It just silently converts the larger double to infinity.","date":"2013-01-18T17:29:00.941Z","type":"message"}
{"nick":"trevnorris","message":"so do we want to do the same, or figure out the check?","date":"2013-01-18T17:29:15.130Z","type":"message"}
{"nick":"trevnorris","message":"(e.g. writeFloatLE(1e300,0) -> writeFloatLE(Infinity, 0))","date":"2013-01-18T17:29:56.035Z","type":"message"}
{"nick":"loladiro","date":"2013-01-18T17:30:22.972Z","type":"join"}
{"nick":"pooya","reason":"Quit: pooya","date":"2013-01-18T17:33:19.485Z","type":"quit"}
{"nick":"isaacs","message":"trevnorris: what's the best test to run to see if a workaround works?","date":"2013-01-18T17:38:32.990Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: that test should be covered in test/simple/test-writefloat.js","date":"2013-01-18T17:39:11.739Z","type":"message"}
{"nick":"sgallagh_fudcon","reason":"Remote host closed the connection","date":"2013-01-18T17:39:28.743Z","type":"quit"}
{"nick":"isaacs","message":"hm. that seems to work.","date":"2013-01-18T17:40:35.754Z","type":"message"}
{"nick":"isaacs","message":"but it looks like HUGE_VALF is not quite the same semantically","date":"2013-01-18T17:42:51.107Z","type":"message"}
{"nick":"isaacs","message":"A positive float constant expression. Used as an error value returned by the mathematics library. HUGE_VALF evaluates to +infinity on systems supporting IEEE Std 754-1985.","date":"2013-01-18T17:44:10.527Z","type":"message"}
{"nick":"isaacs","message":"INFINITY","date":"2013-01-18T17:44:19.246Z","type":"message"}
{"nick":"isaacs","message":"A constant expression of type float representing positive or unsigned infinity, if available; else a positive constant of type float that overflows at translation time.","date":"2013-01-18T17:44:19.375Z","type":"message"}
{"nick":"trevnorris","message":"hm... so is the difference basically that one sets the actual bits and the other just assigns a value that overflows when compiled?","date":"2013-01-18T17:47:32.704Z","type":"message"}
{"nick":"indutny","message":"isaacs: yt?","date":"2013-01-18T17:49:30.163Z","type":"message"}
{"nick":"isaacs","message":"hi","date":"2013-01-18T17:49:45.942Z","type":"message"}
{"nick":"indutny","message":"isaacs: so I was like thinking","date":"2013-01-18T17:50:32.301Z","type":"message"}
{"nick":"indutny","message":"why do we need track: true","date":"2013-01-18T17:50:38.593Z","type":"message"}
{"nick":"indutny","message":"in .send()","date":"2013-01-18T17:50:41.750Z","type":"message"}
{"nick":"isaacs","message":"indutny: you mean, just remove it, and use getConnections() instead of .connections?","date":"2013-01-18T17:51:53.761Z","type":"message"}
{"nick":"indutny","message":"yes","date":"2013-01-18T17:51:58.962Z","type":"message"}
{"nick":"isaacs","message":"indutny: i'm game.","date":"2013-01-18T17:52:01.241Z","type":"message"}
{"nick":"indutny","message":"we've deprecated it anyway","date":"2013-01-18T17:52:02.742Z","type":"message"}
{"nick":"isaacs","message":"indutny: sounds simpler.","date":"2013-01-18T17:52:04.981Z","type":"message"}
{"nick":"isaacs","message":"indutny: and i think in 0.8 it just goes to null anyway, right?","date":"2013-01-18T17:52:17.051Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: well, using HUGE_VALF makes the test pass.","date":"2013-01-18T17:52:38.301Z","type":"message"}
{"nick":"indutny","message":"well, there're no track: true in 0.8","date":"2013-01-18T17:53:27.234Z","type":"message"}
{"nick":"indutny","message":"right now","date":"2013-01-18T17:53:29.156Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: hah! and on os x, it does this: #define INFINITY\tHUGE_VALF","date":"2013-01-18T17:54:40.040Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: seriously? heh, ok that sounds good to me.","date":"2013-01-18T17:55:16.487Z","type":"message"}
{"nick":"AvianFlu","date":"2013-01-18T17:55:19.251Z","type":"join"}
{"nick":"pooya","date":"2013-01-18T17:58:10.600Z","type":"join"}
{"nick":"isaacs","message":"trevnorris: on linux:","date":"2013-01-18T17:58:31.518Z","type":"message"}
{"nick":"isaacs","message":" 26 #if __GNUC_PREREQ(3,3) 27 # define INFINITY (__builtin_inff()) 28 #else 29 # define INFINITY HUGE_VALF 30 #endif","date":"2013-01-18T17:59:14.188Z","type":"message"}
{"nick":"isaacs","message":"is there some kind of noflood flag set on this room recently?","date":"2013-01-18T17:59:44.877Z","type":"message"}
{"nick":"tjfontaine","message":"no that's probably your irssi trying to be smarter than you","date":"2013-01-18T18:00:53.932Z","type":"message"}
{"nick":"isaacs","message":"probably","date":"2013-01-18T18:01:22.856Z","type":"message"}
{"nick":"isaacs","message":"anyway, yeah, i guess setting it to HUGE_VALF is fine if it's unset.","date":"2013-01-18T18:01:35.416Z","type":"message"}
{"nick":"isaacs","message":"the only advantage is that some gcc's have a __builtin_inf()","date":"2013-01-18T18:01:45.776Z","type":"message"}
{"nick":"isaacs","message":"which is preferred","date":"2013-01-18T18:01:49.786Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: is there like a minimum version of gcc node supports?","date":"2013-01-18T18:01:52.628Z","type":"message"}
{"nick":"isaacs","message":"but they all seem to fall back to HUGE_VALF","date":"2013-01-18T18:02:00.386Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: yeah, but we also support msvs","date":"2013-01-18T18:02:07.886Z","type":"message"}
{"nick":"TooTallNate","date":"2013-01-18T18:03:05.918Z","type":"join"}
{"nick":"trevnorris","message":"isaacs: nm. read the __GNU_PREREQ backwards. cool. so basically just check if it's not defined and define it as HUGE_VALF?","date":"2013-01-18T18:03:31.850Z","type":"message"}
{"nick":"indutny","message":"isaacs: so I'm removing this code then, ok?","date":"2013-01-18T18:04:41.140Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037reviewme\u000f * \u0002cca4a16\u0002 : buffer: Define INFINITY for MSVC compiler - http://git.io/T03fkQ","date":"2013-01-18T18:04:56.118Z","type":"message"}
{"nick":"isaacs","message":"indutny, trevnorris ^ review?","date":"2013-01-18T18:05:04.994Z","type":"message"}
{"nick":"isaacs","message":"indutny: go for it, but it'll be in 0.9.8, not 0.9.7","date":"2013-01-18T18:05:18.064Z","type":"message"}
{"nick":"rump","date":"2013-01-18T18:05:18.886Z","type":"join"}
{"nick":"indutny","message":"wait","date":"2013-01-18T18:05:23.827Z","type":"message"}
{"nick":"indutny","message":"0.9.7?","date":"2013-01-18T18:05:25.835Z","type":"message"}
{"nick":"isaacs","message":"indutny: pull req it","date":"2013-01-18T18:05:25.966Z","type":"message"}
{"nick":"indutny","message":"have we released it?","date":"2013-01-18T18:05:29.239Z","type":"message"}
{"nick":"isaacs","message":"indutny: not quite :)","date":"2013-01-18T18:05:34.013Z","type":"message"}
{"nick":"isaacs","message":"indutny: need to fix the windows build :)","date":"2013-01-18T18:05:39.634Z","type":"message"}
{"nick":"isaacs","message":"see the reviewme above :)","date":"2013-01-18T18:05:45.453Z","type":"message"}
{"nick":"indutny","message":"and remove this thing","date":"2013-01-18T18:05:46.006Z","type":"message"}
{"nick":"indutny","message":":)","date":"2013-01-18T18:05:47.789Z","type":"message"}
{"nick":"isaacs","message":"wait, wtf...","date":"2013-01-18T18:07:44.222Z","type":"message"}
{"nick":"isaacs","message":"review this: https://github.com/joyent/node/commit/reviewme","date":"2013-01-18T18:08:01.762Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: heh, yeah. lgtm","date":"2013-01-18T18:08:32.773Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.9.7-release\u000f * \u0002ecf426a\u0002 : 2013.01.18, Version 0.9.7 (Unstable) * V8: Upgrade to 3.15.11.7 * npm: (+1 more commits) - http://git.io/s_Ow3Q","date":"2013-01-18T18:10:20.443Z","type":"message"}
{"nick":"isaacs","message":"ok, rebuilding the world","date":"2013-01-18T18:11:45.049Z","type":"message"}
{"nick":"indutny","message":"release","date":"2013-01-18T18:11:56.104Z","type":"message"}
{"nick":"indutny","message":"oh oh","date":"2013-01-18T18:11:58.761Z","type":"message"}
{"nick":"indutny","message":"can you please remove track: true from documentation","date":"2013-01-18T18:12:09.255Z","type":"message"}
{"nick":"indutny","message":"isaacs: ^","date":"2013-01-18T18:12:12.141Z","type":"message"}
{"nick":"indutny","message":"it's pretty harmless change","date":"2013-01-18T18:12:17.213Z","type":"message"}
{"nick":"isaacs","message":"indutny: yeah, sure","date":"2013-01-18T18:12:24.979Z","type":"message"}
{"nick":"isaacs","message":"since it's gonna disappear in next release anyway","date":"2013-01-18T18:12:30.149Z","type":"message"}
{"nick":"indutny","message":"yes","date":"2013-01-18T18:12:34.069Z","type":"message"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-01-18T18:14:09.768Z","type":"quit"}
{"nick":"isaacs","message":"indutny: https://gist.github.com/4566794","date":"2013-01-18T18:14:32.967Z","type":"message"}
{"nick":"isaacs","message":"lgty?","date":"2013-01-18T18:14:35.847Z","type":"message"}
{"nick":"indutny","message":"erm?","date":"2013-01-18T18:14:42.701Z","type":"message"}
{"nick":"isaacs","message":"er... wait a second..","date":"2013-01-18T18:14:50.557Z","type":"message"}
{"nick":"isaacs","message":"https://gist.github.com/4566800","date":"2013-01-18T18:15:02.917Z","type":"message"}
{"nick":"isaacs","message":"that one :)","date":"2013-01-18T18:15:04.367Z","type":"message"}
{"nick":"isaacs","message":"paste buffers are hard :)","date":"2013-01-18T18:15:08.217Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-01-18T18:15:08.647Z","type":"quit"}
{"nick":"indutny","message":"huh?","date":"2013-01-18T18:15:35.661Z","type":"message"}
{"nick":"mikeal","date":"2013-01-18T18:15:37.891Z","type":"join"}
{"nick":"indutny","message":"what's about example header","date":"2013-01-18T18:15:39.142Z","type":"message"}
{"nick":"isaacs","message":"indutny: just fixing up style a little bit","date":"2013-01-18T18:15:47.526Z","type":"message"}
{"nick":"indutny","message":"ah","date":"2013-01-18T18:15:50.976Z","type":"message"}
{"nick":"indutny","message":"ell","date":"2013-01-18T18:15:53.846Z","type":"message"}
{"nick":"indutny","message":"lgtm","date":"2013-01-18T18:15:55.348Z","type":"message"}
{"nick":"isaacs","message":"k","date":"2013-01-18T18:15:57.256Z","type":"message"}
{"nick":"indutny","message":"thank you","date":"2013-01-18T18:17:12.598Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.9.7-release\u000f * \u00024708b9d\u0002 : 2013.01.18, Version 0.9.7 (Unstable) * V8: Upgrade to 3.15.11.7 * npm: (+1 more commits) - http://git.io/F0PuKQ","date":"2013-01-18T18:18:07.909Z","type":"message"}
{"nick":"isaacs","message":"ok! no more changes now","date":"2013-01-18T18:18:50.354Z","type":"message"}
{"nick":"isaacs","message":":)","date":"2013-01-18T18:18:54.234Z","type":"message"}
{"nick":"trevnorris","message":"uh... I can build node like 10x's faster than I can make doc","date":"2013-01-18T18:19:12.790Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: really? that's weird..","date":"2013-01-18T18:19:30.084Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: maybe node is already built mostly?","date":"2013-01-18T18:19:37.814Z","type":"message"}
{"nick":"isaacs","message":"or you're using a lot of parallel jobs?","date":"2013-01-18T18:20:02.033Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: yeah. have an i7 and build node with -j 8, so that's super fast.","date":"2013-01-18T18:20:43.223Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: but ran a make docclean then `make doc`, it just hangs at `bash tools/build-changelog.sh`","date":"2013-01-18T18:20:53.476Z","type":"message"}
{"nick":"isaacs","message":"doc should be parallelizable as well","date":"2013-01-18T18:20:57.513Z","type":"message"}
{"nick":"trevnorris","message":"freakin...","date":"2013-01-18T18:21:03.041Z","type":"message"}
{"nick":"isaacs","message":"orly? that's a bit odd.","date":"2013-01-18T18:21:04.162Z","type":"message"}
{"nick":"isaacs","message":"flies through for me","date":"2013-01-18T18:21:27.303Z","type":"message"}
{"nick":"trevnorris","message":"well. there we go. for some reason passing -j 6 made it fly","date":"2013-01-18T18:21:39.226Z","type":"message"}
{"nick":"isaacs","message":"weird","date":"2013-01-18T18:22:06.282Z","type":"message"}
{"nick":"isaacs","message":"i usually use -j4 because i have 4 cpus","date":"2013-01-18T18:22:15.452Z","type":"message"}
{"nick":"trevnorris","message":"but it still hangs and the process \"marked\" just spins at 100%","date":"2013-01-18T18:22:24.244Z","type":"message"}
{"nick":"rendar","message":"trevnorris: what the -j 8 options is for?","date":"2013-01-18T18:22:56.803Z","type":"message"}
{"nick":"rendar","message":"oh for multiple cpus, ok","date":"2013-01-18T18:23:11.509Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: that's weird","date":"2013-01-18T18:25:35.860Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: os x?","date":"2013-01-18T18:27:26.568Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: ubuntu 12.10. i'm running through the script line by line to figure out why.","date":"2013-01-18T18:27:51.738Z","type":"message"}
{"nick":"isaacs","message":"great!","date":"2013-01-18T18:28:24.968Z","type":"message"}
{"nick":"isaacs","message":"i only ever make doc on darwin","date":"2013-01-18T18:28:28.288Z","type":"message"}
{"nick":"isaacs","message":"and it seems to run fine there. but since marked is just some node program, there's a possibility that it's a bona-fide node bu","date":"2013-01-18T18:28:47.248Z","type":"message"}
{"nick":"isaacs","message":"*bug","date":"2013-01-18T18:28:50.801Z","type":"message"}
{"nick":"isaacs","message":"or it could be something oddball with make of course","date":"2013-01-18T18:28:55.538Z","type":"message"}
{"nick":"trevnorris","message":"ok. so it's hanging when piping to tools/doc/node_modules/.bin/marked","date":"2013-01-18T18:29:00.256Z","type":"message"}
{"nick":"stagas","reason":"Ping timeout: 246 seconds","date":"2013-01-18T18:31:31.780Z","type":"quit"}
{"nick":"`3rdEden","date":"2013-01-18T18:35:17.792Z","type":"join"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-01-18T18:37:09.152Z","type":"quit"}
{"nick":"loladiro","reason":"Quit: loladiro","date":"2013-01-18T18:38:27.093Z","type":"quit"}
{"nick":"trevnorris","message":"isaacs: so I think it's hanging because stdin is not firing the 'end' event.","date":"2013-01-18T18:42:41.086Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: interesting","date":"2013-01-18T18:45:09.277Z","type":"message"}
{"nick":"isaacs","message":"hmm... so...","date":"2013-01-18T18:45:17.817Z","type":"message"}
{"nick":"isaacs","message":"it seems that HUGE_VALF is not defined on windows either.","date":"2013-01-18T18:45:25.327Z","type":"message"}
{"nick":"isaacs","message":"only HUGE_VAL","date":"2013-01-18T18:45:28.386Z","type":"message"}
{"nick":"sgallagh","date":"2013-01-18T18:45:45.907Z","type":"join"}
{"nick":"trevnorris","message":"mother effing, seriously?","date":"2013-01-18T18:45:46.602Z","type":"message"}
{"nick":"trevnorris","message":"well we could just pull the define from math.h","date":"2013-01-18T18:45:58.138Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: would it be horrible if we just injected something like this: https://gist.github.com/4567189","date":"2013-01-18T18:47:56.183Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: then define HUGE_VALF based on __HUGE_VALF_BYTES?","date":"2013-01-18T18:48:48.034Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: just updated it with the entire bits/huge_valf.h file.","date":"2013-01-18T18:51:33.730Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: figured that setting the bytes directly should work, i think...","date":"2013-01-18T18:52:00.358Z","type":"message"}
{"nick":"isaacs","message":"so, there's no need to set it if we're in GCC","date":"2013-01-18T18:52:43.462Z","type":"message"}
{"nick":"trevnorris","message":"yeah. this is really only for msvc","date":"2013-01-18T18:53:05.684Z","type":"message"}
{"nick":"isaacs","message":"well, hm.","date":"2013-01-18T18:54:02.701Z","type":"message"}
{"nick":"isaacs","message":"check out deps/v8/src/globals.h","date":"2013-01-18T18:54:11.634Z","type":"message"}
{"nick":"isaacs","message":"#ifdef _MSC_VER","date":"2013-01-18T18:54:17.610Z","type":"message"}
{"nick":"isaacs","message":"#undef V8_INFINITY","date":"2013-01-18T18:54:17.743Z","type":"message"}
{"nick":"isaacs","message":"#define V8_INFINITY HUGE_VAL","date":"2013-01-18T18:54:17.744Z","type":"message"}
{"nick":"isaacs","message":"#endif","date":"2013-01-18T18:54:17.744Z","type":"message"}
{"nick":"isaacs","message":"they just use HUGE_VAL","date":"2013-01-18T18:54:27.560Z","type":"message"}
{"nick":"isaacs","message":"so... maybe it's ok to just do the same thing?","date":"2013-01-18T18:54:36.861Z","type":"message"}
{"nick":"isaacs","message":"or, i wonder if we can just use V8_INFINITY instead of INFINITY?","date":"2013-01-18T18:55:06.390Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: they only use it in code in comparison to a double (that I can find)","date":"2013-01-18T18:55:42.047Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: my solutions are: use the define by setting the bits based on machine endianness; overload a float variable so at compilation time it gets set to INFINITY; or just leave the check out like d8 does with typed arrays.","date":"2013-01-18T18:58:09.951Z","type":"message"}
{"nick":"trevnorris","message":"heh, and you should love this line from globals.h: `#define V8_INFINITY std::numeric_limits<double>::infinity()`","date":"2013-01-18T18:59:12.037Z","type":"message"}
{"nick":"isaacs","message":"yeah","date":"2013-01-18T18:59:19.767Z","type":"message"}
{"nick":"isaacs","message":"srsly","date":"2013-01-18T18:59:21.125Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: https://gist.github.com/4567330","date":"2013-01-18T19:05:04.458Z","type":"message"}
{"nick":"trevnorris","message":"thank you msvc...","date":"2013-01-18T19:06:34.522Z","type":"message"}
{"nick":"trevnorris","message":"ugly as hell, but definitely the safest approach.","date":"2013-01-18T19:07:03.048Z","type":"message"}
{"nick":"isaacs","message":"bnoordhuis will get nauseus looking at this patch, i'm sure.","date":"2013-01-18T19:07:03.382Z","type":"message"}
{"nick":"isaacs","message":":)","date":"2013-01-18T19:07:05.402Z","type":"message"}
{"nick":"trevnorris","message":"lol, yeah.","date":"2013-01-18T19:07:12.343Z","type":"message"}
{"nick":"mikeal","date":"2013-01-18T19:07:24.267Z","type":"join"}
{"nick":"trevnorris","message":"wish it was as simple as `const float INFINITY = 1.0/0.0;`","date":"2013-01-18T19:08:13.388Z","type":"message"}
{"nick":"trevnorris","message":"and funny thing is I was so happy to get rid of the extra code in buffer_ieee754.js, but not sure this is looking much better. =)","date":"2013-01-18T19:08:58.820Z","type":"message"}
{"nick":"isaacs","message":"passes tests on windows x64","date":"2013-01-18T19:09:23.167Z","type":"message"}
{"nick":"isaacs","message":"waiting on ia32","date":"2013-01-18T19:09:26.830Z","type":"message"}
{"nick":"trevnorris","message":"keep forgetting those need to be tested when making cpp changes. lived too long in the world of js.","date":"2013-01-18T19:12:12.879Z","type":"message"}
{"nick":"isaacs","message":"passes on ia32, also","date":"2013-01-18T19:12:28.298Z","type":"message"}
{"nick":"isaacs","message":"tell me about it","date":"2013-01-18T19:12:41.578Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.9.7-release\u000f * \u00029e7bebe\u0002 : 2013.01.18, Version 0.9.7 (Unstable) * V8: Upgrade to 3.15.11.7 * npm: (+2 more commits) - http://git.io/ToUFgA","date":"2013-01-18T19:13:07.354Z","type":"message"}
{"nick":"isaacs","message":"last one, hopefully :)","date":"2013-01-18T19:14:00.217Z","type":"message"}
{"nick":"tjfontaine","message":"of .9?","date":"2013-01-18T19:14:29.103Z","type":"message"}
{"nick":"trevnorris","message":"tjfontaine: no, of figuring out how to define INFINITY for msvc.","date":"2013-01-18T19:15:05.484Z","type":"message"}
{"nick":"trevnorris","message":"erm... at least that's what we've been screwing with.","date":"2013-01-18T19:16:06.377Z","type":"message"}
{"nick":"mikeal","reason":"Ping timeout: 248 seconds","date":"2013-01-18T19:16:17.114Z","type":"quit"}
{"nick":"isaacs","message":"tjfontaine: last one of 0.9.7 :)","date":"2013-01-18T19:16:53.975Z","type":"message"}
{"nick":"mikeal","date":"2013-01-18T19:16:59.662Z","type":"join"}
{"nick":"tjfontaine","message":"ahh, ok I thought maybe I overslept or something :)","date":"2013-01-18T19:17:28.054Z","type":"message"}
{"nick":"rump","reason":"Quit: rump","date":"2013-01-18T19:17:41.312Z","type":"quit"}
{"nick":"trevnorris","message":"isaacs: heh, we're now using 3 different ways in two files to determine machine endianness.","date":"2013-01-18T19:17:59.278Z","type":"message"}
{"nick":"isaacs","message":"tjfontaine: though, we did discuss yesterday rebranding 0.9 as 0.10-RC","date":"2013-01-18T19:18:04.454Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: ugh","date":"2013-01-18T19:18:16.824Z","type":"message"}
{"nick":"tjfontaine","message":"that's probably a beneficial approach","date":"2013-01-18T19:18:19.197Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: patch welcome :)","date":"2013-01-18T19:18:22.374Z","type":"message"}
{"nick":"isaacs","message":"tjfontaine: probably there's gonna be 0.9.8, and then 0.10.0-RC0/RC1/etc. until 0.10.0 lands","date":"2013-01-18T19:18:54.514Z","type":"message"}
{"nick":"trevnorris","message":"i'll clean up the buffer side. the other is for typed arrays, and deanm is particular about those.","date":"2013-01-18T19:19:14.120Z","type":"message"}
{"nick":"tjfontaine","message":"isaacs: makes sense, hopefully it will spur more testing on the leading edge for the release","date":"2013-01-18T19:19:37.707Z","type":"message"}
{"nick":"brson","date":"2013-01-18T19:20:24.421Z","type":"join"}
{"nick":"AvianFlu","date":"2013-01-18T19:21:07.221Z","type":"join"}
{"nick":"trevnorris","message":"isaacs: keep getting side tracked by regressions while working on the benchmarks. (e.g. net-pipe.js shows 5.3Gb on master and 6.3Gb on 0.8.17)","date":"2013-01-18T19:22:45.923Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: well, if it's just a matter of detecting endianness in 3 different ways, then we can pick one.","date":"2013-01-18T19:22:50.274Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: maybe make the buffer ones do it the same way as deamn's ;)","date":"2013-01-18T19:23:29.441Z","type":"message"}
{"nick":"loladiro","date":"2013-01-18T19:23:43.803Z","type":"join"}
{"nick":"trevnorris","message":"isaacs: sounds good. think we could define it in a generic spot? didn't want to need to include v8_typed_array_bswap just for the endianness macro.","date":"2013-01-18T19:23:56.656Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: i have a hard time caring about stuff like that.","date":"2013-01-18T19:24:30.860Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: bnoordhuis is more opinionated about our C++ layout. whatever he says, i'll agree with.","date":"2013-01-18T19:24:46.320Z","type":"message"}
{"nick":"loladiro","reason":"Client Quit","date":"2013-01-18T19:24:53.935Z","type":"quit"}
{"nick":"trevnorris","message":"cool. i'll hit him up.","date":"2013-01-18T19:25:01.490Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: actually, even having 3 different endianness macros is not so bad to me. <shrug/>","date":"2013-01-18T19:25:02.610Z","type":"message"}
{"nick":"isaacs","message":"as long as it works, id ont' care that much","date":"2013-01-18T19:25:12.670Z","type":"message"}
{"nick":"isaacs","message":"man, compiling all the binaries on darwin SUUUCCCKKKSSS","date":"2013-01-18T19:26:45.109Z","type":"message"}
{"nick":"isaacs","message":"for some reason it makes my mac mini freak the hell out when i try to build node on it","date":"2013-01-18T19:27:03.808Z","type":"message"}
{"nick":"isaacs","message":"i wanted to use that as a build slave of sorts.","date":"2013-01-18T19:27:14.578Z","type":"message"}
{"nick":"isaacs","message":"since it has way more ram, and double the CPUs","date":"2013-01-18T19:28:02.338Z","type":"message"}
{"nick":"isaacs","message":"and doesn't set my pants on fire.","date":"2013-01-18T19:28:12.398Z","type":"message"}
{"nick":"tjfontaine","message":"define: \"freak the hell out\"","date":"2013-01-18T19:30:51.987Z","type":"message"}
{"nick":"isaacs","message":"tjfontaine: stops responding, have to hard-restart to use it","date":"2013-01-18T19:31:12.666Z","type":"message"}
{"nick":"tjfontaine","message":"ouch.","date":"2013-01-18T19:31:28.161Z","type":"message"}
{"nick":"isaacs","message":"tjfontaine: spinning beachball of death","date":"2013-01-18T19:31:29.905Z","type":"message"}
{"nick":"isaacs","message":"tjfontaine: all bluetooth devices stop responding","date":"2013-01-18T19:31:37.275Z","type":"message"}
{"nick":"isaacs","message":"and networking. which is rough, because it's a mac mini, so it's only got bluetooth keyboard etc","date":"2013-01-18T19:31:57.195Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: how much you want to focus on regressions before 10 lands?","date":"2013-01-18T19:32:17.042Z","type":"message"}
{"nick":"tjfontaine","message":"that's quite bizarre, have you tried in a new user account? and also with -j1?","date":"2013-01-18T19:32:19.804Z","type":"message"}
{"nick":"lohkey","date":"2013-01-18T19:32:38.195Z","type":"join"}
{"nick":"trevnorris","message":"that makes me feel pretty good about my 40 sec build times.","date":"2013-01-18T19:34:37.748Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: i want that to be our primary focus.","date":"2013-01-18T19:35:17.503Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: node 0.10 must be faster than 0.8","date":"2013-01-18T19:35:24.233Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f created tag v0.9.7 - http://git.io/iY50Lw","date":"2013-01-18T19:35:26.614Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/libuv:\u0002 \u00033isaacs\u000f created tag node-v0.9.5 - http://git.io/0XSTlQ","date":"2013-01-18T19:35:34.619Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/libuv:\u0002 \u00033isaacs\u000f created tag node-v0.9.6 - http://git.io/N73hCQ","date":"2013-01-18T19:35:36.622Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/libuv:\u0002 \u00033isaacs\u000f created tag node-v0.9.7 - http://git.io/smF6fA","date":"2013-01-18T19:35:38.680Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: hm. i'll keep working on the bench's. right now i'm getting a 17% reg on net pipe and 11% on http.","date":"2013-01-18T19:38:00.819Z","type":"message"}
{"nick":"isaacs","message":"ok","date":"2013-01-18T19:39:28.690Z","type":"message"}
{"nick":"isaacs","message":"that about gels with what i'm seeing as well","date":"2013-01-18T19:39:44.700Z","type":"message"}
{"nick":"isaacs","message":"a lot of that is in src/","date":"2013-01-18T19:39:47.530Z","type":"message"}
{"nick":"isaacs","message":"i suspect","date":"2013-01-18T19:39:50.610Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: so you don't think using the deprecated streams api has much impact?","date":"2013-01-18T19:41:32.783Z","type":"message"}
{"nick":"paddybyers","reason":"Ping timeout: 260 seconds","date":"2013-01-18T19:41:34.998Z","type":"quit"}
{"nick":"paddybyers","date":"2013-01-18T19:41:56.417Z","type":"join"}
{"nick":"isaacs","message":"trevnorris: well, net-pipe.js isn't using the deprecated streams api","date":"2013-01-18T19:42:16.318Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: neither is http_simple","date":"2013-01-18T19:42:23.347Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: but nevertheless, switching to old mode shouldn't be a 10% hit","date":"2013-01-18T19:42:41.256Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: i have a \"streams1\" branch, which is master + the lib/ folder from right before the streams2 merge.","date":"2013-01-18T19:43:03.616Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: you'll see a similar regression vs v0.8 on that branch","date":"2013-01-18T19:43:17.036Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: but v0.8 with master's v8 and master's libuv is faster than v0.8","date":"2013-01-18T19:43:36.686Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: really? that's actually the next question I was about to ask.","date":"2013-01-18T19:43:56.447Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: so, it looks like our binding layer is to blame. bnoordhuis looked into it somewhat, and suspects the slab allocator is Doing It Wrong sometimes","date":"2013-01-18T19:44:13.725Z","type":"message"}
{"nick":"isaacs","message":"mostly i worry that it's obscuring JS-layer performance regressions.","date":"2013-01-18T19:44:43.225Z","type":"message"}
{"nick":"isaacs","message":"which i know how to track down and fix, but it's tricky to do so when you don't have valid comparisons","date":"2013-01-18T19:45:03.586Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: has the slab allocator api changed since 0.8?","date":"2013-01-18T19:47:12.331Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: yeah, a lot of stuff in src/ got moved around","date":"2013-01-18T19:48:03.123Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.8\u000f * \u00021c35ee8\u0002 : blog: Post for v0.9.7 release - http://git.io/gPNXow","date":"2013-01-18T19:48:41.393Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: bugger. so no easy way... i'll try to identify the micro tests that use the slab buffer. getting closer to the problem should grow the regression.","date":"2013-01-18T19:49:41.225Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: one would hope, yes","date":"2013-01-18T19:49:55.082Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037master\u000f * \u0002fc3547b\u0002 : Now working on 0.9.8 (+4 more commits) - http://git.io/U_aKKg","date":"2013-01-18T19:49:55.470Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: well at least fast buffer creation is ~20% faster, and slow buffers are on par.","date":"2013-01-18T19:55:03.844Z","type":"message"}
{"nick":"isaacs","message":"kewl :) good job","date":"2013-01-18T19:56:09.497Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: easy-to-run, consistent, easy-to-interpret benchmarks will go a long way","date":"2013-01-18T19:56:34.897Z","type":"message"}
{"nick":"trevnorris","message":"thanks. been a perf nut for years.","date":"2013-01-18T19:57:54.379Z","type":"message"}
{"nick":"trevnorris","message":"funny though. I like creating new features, but find it funner to examine existing code for perf hits and mem leaks.","date":"2013-01-18T19:58:32.451Z","type":"message"}
{"nick":"loladiro","date":"2013-01-18T20:01:09.971Z","type":"join"}
{"nick":"rump","date":"2013-01-18T20:03:05.979Z","type":"join"}
{"nick":"rump","reason":"Client Quit","date":"2013-01-18T20:03:44.506Z","type":"quit"}
{"nick":"trevnorris","message":"holy crap. is there some sort of dependency graph somewhere? my brain is cramping up keeping track of the includes.","date":"2013-01-18T20:09:28.425Z","type":"message"}
{"nick":"isaacs","message":"haha","date":"2013-01-18T20:11:16.316Z","type":"message"}
{"nick":"isaacs","message":"no, i don't think so","date":"2013-01-18T20:11:20.597Z","type":"message"}
{"nick":"indexzero","date":"2013-01-18T20:11:53.255Z","type":"join"}
{"nick":"isaacs","message":"round 2!!","date":"2013-01-18T20:16:01.894Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f created branch v0.8.18-release - http://git.io/UiKPVw","date":"2013-01-18T20:16:29.215Z","type":"message"}
{"nick":"trevnorris","message":"awesome. that has the buffer slice fix.","date":"2013-01-18T20:16:50.952Z","type":"message"}
{"nick":"isaacs","message":"just runnign tests again","date":"2013-01-18T20:17:32.602Z","type":"message"}
{"nick":"isaacs","message":"you can tell when a stable branch is about \"done\" and ready for retirement when the releases have hardly anything in them","date":"2013-01-18T20:18:01.262Z","type":"message"}
{"nick":"trevnorris","message":"heh, nice rule of thumb","date":"2013-01-18T20:18:27.133Z","type":"message"}
{"nick":"hz","date":"2013-01-18T20:42:25.472Z","type":"join"}
{"nick":"jmar777","reason":"Remote host closed the connection","date":"2013-01-18T20:44:50.004Z","type":"quit"}
{"nick":"jmar777","date":"2013-01-18T20:45:28.279Z","type":"join"}
{"nick":"trevnorris","message":"isaacs: are you concerned with warnings like \"node_crypto.h:156:10: warning: private field 'written_' is not used\"","date":"2013-01-18T20:46:03.120Z","type":"message"}
{"nick":"isaacs","message":"not very","date":"2013-01-18T20:46:43.623Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: i mean, it probably is a bug, or at least something less elegant than it could be.","date":"2013-01-18T20:46:58.923Z","type":"message"}
{"nick":"isaacs","message":"but sometimes we keep stuff like that around just to not change the ABI","date":"2013-01-18T20:47:06.783Z","type":"message"}
{"nick":"isaacs","message":"in this case, it's aprivate field... so... it's not that","date":"2013-01-18T20:47:21.081Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: indutny had some refactoring planned for src/node_crypto.* so maybe talk to him about it","date":"2013-01-18T20:48:07.932Z","type":"message"}
{"nick":"trevnorris","message":"ok, i'm not worried about it. and v8 throws plenty of warnings on its own.","date":"2013-01-18T20:48:13.405Z","type":"message"}
{"nick":"trevnorris","message":"will do.","date":"2013-01-18T20:48:15.937Z","type":"message"}
{"nick":"qmx","new_nick":"qmx|away","date":"2013-01-18T20:49:34.616Z","type":"nick"}
{"nick":"jmar777","reason":"Ping timeout: 252 seconds","date":"2013-01-18T20:49:47.137Z","type":"quit"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f created tag v0.8.18 - http://git.io/36xJhg","date":"2013-01-18T20:50:39.356Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.8\u000f * \u00024598a4c\u0002 : Now working on 0.8.19 (+3 more commits) - http://git.io/0vZoFg","date":"2013-01-18T20:51:50.423Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037v0.8\u000f * \u00029c2c845\u0002 : blog: Post for v0.8.18 release - http://git.io/yxlFig","date":"2013-01-18T20:54:36.569Z","type":"message"}
{"nick":"indutny","message":"trevnorris: this will be fixed","date":"2013-01-18T20:57:33.322Z","type":"message"}
{"nick":"indutny","message":"once 0.10 will be released","date":"2013-01-18T20:57:36.666Z","type":"message"}
{"nick":"indutny","message":"we just don't want to touch this code until branching stable release","date":"2013-01-18T20:57:50.765Z","type":"message"}
{"nick":"trevnorris","message":"indutny: cool. honestly don't even think I've opened the file. been concentrating on buffers.","date":"2013-01-18T20:58:28.474Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037master\u000f * \u00023d7818f\u0002 : Merge remote-tracking branch 'ry/v0.8' into master Conflicts: \tAUTHORS \t (+17 more commits) - http://git.io/HHwR7w","date":"2013-01-18T20:58:48.854Z","type":"message"}
{"nick":"indutny","message":"yeah","date":"2013-01-18T20:59:20.507Z","type":"message"}
{"nick":"indutny","message":"I believe","date":"2013-01-18T20:59:24.390Z","type":"message"}
{"nick":"trevnorris","message":"indutny: I was chatting w/ you and pisc. about buffer memory usage and performance, and he suggested to \"disable slabs\".","date":"2013-01-18T20:59:44.108Z","type":"message"}
{"nick":"trevnorris","message":"indutny: know what he was talking about?","date":"2013-01-18T20:59:49.616Z","type":"message"}
{"nick":"indutny","message":"slab allocator","date":"2013-01-18T20:59:57.301Z","type":"message"}
{"nick":"indutny","message":"every buffer is a slice of slab allocator","date":"2013-01-18T21:00:07.482Z","type":"message"}
{"nick":"indutny","message":"disabling slabs will only improve memory usage","date":"2013-01-18T21:00:15.708Z","type":"message"}
{"nick":"indutny","message":"not performance","date":"2013-01-18T21:00:18.332Z","type":"message"}
{"nick":"indutny","message":"performance will degrade","date":"2013-01-18T21:00:23.872Z","type":"message"}
{"nick":"trevnorris","message":"indutny: um.... i think it's the other way around. slabs call the buffer constructor.","date":"2013-01-18T21:00:34.118Z","type":"message"}
{"nick":"indutny","message":"aaah","date":"2013-01-18T21:00:43.130Z","type":"message"}
{"nick":"indutny","message":"terminology","date":"2013-01-18T21:00:44.955Z","type":"message"}
{"nick":"indutny","message":"anyway","date":"2013-01-18T21:00:46.398Z","type":"message"}
{"nick":"indutny","message":"slab allocator has big buffer","date":"2013-01-18T21:00:50.023Z","type":"message"}
{"nick":"indutny","message":"everytime you want to create small buffer","date":"2013-01-18T21:00:58.866Z","type":"message"}
{"nick":"indutny","message":"you request some space from slab allocator","date":"2013-01-18T21:01:04.261Z","type":"message"}
{"nick":"indutny","message":"if it doesn't have enough space/is ended","date":"2013-01-18T21:01:10.906Z","type":"message"}
{"nick":"indutny","message":"new slab buffer will be allocated","date":"2013-01-18T21:01:18.022Z","type":"message"}
{"nick":"indutny","message":"that's why it's called slab \"allocator\"","date":"2013-01-18T21:01:23.323Z","type":"message"}
{"nick":"trevnorris","message":"hm. buffers don't allocate segments using slabs. it uses the v8 api.","date":"2013-01-18T21:02:01.694Z","type":"message"}
{"nick":"indutny","message":"huh?","date":"2013-01-18T21:02:08.355Z","type":"message"}
{"nick":"trevnorris","message":"it uses \"SetIndexedPropertiesToExternalArrayData\"","date":"2013-01-18T21:02:13.396Z","type":"message"}
{"nick":"trevnorris","message":"and indexes against a smaller segment of the parent buffer","date":"2013-01-18T21:02:25.254Z","type":"message"}
{"nick":"indutny","message":"and?","date":"2013-01-18T21:02:43.311Z","type":"message"}
{"nick":"indutny","message":"who is watching watchers?","date":"2013-01-18T21:02:47.828Z","type":"message"}
{"nick":"trevnorris","message":"what do you mean?","date":"2013-01-18T21:03:15.301Z","type":"message"}
{"nick":"indutny","message":"one sec","date":"2013-01-18T21:03:56.214Z","type":"message"}
{"nick":"indutny","message":"oh","date":"2013-01-18T21:04:26.557Z","type":"message"}
{"nick":"indutny","message":"I lied you","date":"2013-01-18T21:04:27.950Z","type":"message"}
{"nick":"indutny","message":"buffers are allocated with \"new char[]\"","date":"2013-01-18T21:05:05.078Z","type":"message"}
{"nick":"trevnorris","message":"yeah. in Buffer::Replace","date":"2013-01-18T21:05:27.793Z","type":"message"}
{"nick":"indutny","message":"ok, so bert probably meant that slices of buffers are referencing their parents","date":"2013-01-18T21:05:28.042Z","type":"message"}
{"nick":"indutny","message":"and, if flattened, memory usage might be lower","date":"2013-01-18T21:06:08.634Z","type":"message"}
{"nick":"trevnorris","message":"so basically just use slow buffers?","date":"2013-01-18T21:06:21.033Z","type":"message"}
{"nick":"indutny","message":"by flattening I mean, copying contents of parent buffer and creatining new","date":"2013-01-18T21:06:22.775Z","type":"message"}
{"nick":"indutny","message":"yes","date":"2013-01-18T21:06:25.739Z","type":"message"}
{"nick":"indutny","message":"but again","date":"2013-01-18T21:06:30.966Z","type":"message"}
{"nick":"indutny","message":"you won't get performance improvement","date":"2013-01-18T21:06:37.928Z","type":"message"}
{"nick":"indutny","message":"only RSS improvement","date":"2013-01-18T21:06:40.843Z","type":"message"}
{"nick":"trevnorris","message":"yeah. allocating a slow buffer is 10x's slower than a fast buffer.","date":"2013-01-18T21:07:03.236Z","type":"message"}
{"nick":"indutny","message":"obviously","date":"2013-01-18T21:07:27.841Z","type":"message"}
{"nick":"trevnorris","message":"so what I wanted to explore was if the parent buffer could be alerted when the referenced fast buffer was no longer being used.","date":"2013-01-18T21:07:53.959Z","type":"message"}
{"nick":"indutny","message":"and?","date":"2013-01-18T21:08:16.495Z","type":"message"}
{"nick":"indutny","message":"suppose you've one million of such buffers","date":"2013-01-18T21:08:25.021Z","type":"message"}
{"nick":"indutny","message":"how will you copy them","date":"2013-01-18T21:08:30.147Z","type":"message"}
{"nick":"indutny","message":"all at once?","date":"2013-01-18T21:08:31.948Z","type":"message"}
{"nick":"indutny","message":"this may took several seconds","date":"2013-01-18T21:08:38.364Z","type":"message"}
{"nick":"indutny","message":"depending on size","date":"2013-01-18T21:08:40.663Z","type":"message"}
{"nick":"indutny","message":"this won't solve your problem","date":"2013-01-18T21:08:54.758Z","type":"message"}
{"nick":"indutny","message":"you can use some smart heuristic, but it'll work only in some specific cases","date":"2013-01-18T21:09:15.204Z","type":"message"}
{"nick":"trevnorris","message":"i wanted to track how much free space a parent buffer has after it's left the allocation pool. then if it has more than, say, 50% free space it would compact it.","date":"2013-01-18T21:09:24.758Z","type":"message"}
{"nick":"indutny","message":"compaction is slow","date":"2013-01-18T21:09:35.938Z","type":"message"}
{"nick":"jmar777","date":"2013-01-18T21:09:53.458Z","type":"join"}
{"nick":"indutny","message":"I really suggest exploiting young vs old space","date":"2013-01-18T21:09:59.195Z","type":"message"}
{"nick":"indutny","message":"if you want to do this","date":"2013-01-18T21:10:13.409Z","type":"message"}
{"nick":"indutny","message":"but you should try experimenting first","date":"2013-01-18T21:10:17.563Z","type":"message"}
{"nick":"indutny","message":"suppose you've some event for buffer","date":"2013-01-18T21:10:42.228Z","type":"message"}
{"nick":"indutny","message":"s/event/event listener/","date":"2013-01-18T21:10:47.810Z","type":"message"}
{"nick":"indutny","message":"that's triggered when GC suggests you to flatten it","date":"2013-01-18T21:10:58.461Z","type":"message"}
{"nick":"indutny","message":"run this event manually","date":"2013-01-18T21:11:07.154Z","type":"message"}
{"nick":"indutny","message":"and experiment with number of buffers","date":"2013-01-18T21:11:12.765Z","type":"message"}
{"nick":"indutny","message":"the thing is that pause should be unnoticible","date":"2013-01-18T21:11:27.980Z","type":"message"}
{"nick":"indutny","message":"if you'll get this working","date":"2013-01-18T21:11:32.566Z","type":"message"}
{"nick":"indutny","message":"I'll try helping you with getting this API into v8","date":"2013-01-18T21:11:42.433Z","type":"message"}
{"nick":"indutny","message":"trevnorris: is it clear?","date":"2013-01-18T21:11:51.594Z","type":"message"}
{"nick":"trevnorris","message":"ok. so does v8 let node know when it can clean up parent buffers? (like when there are no more fast buffers pointing to it)","date":"2013-01-18T21:11:52.721Z","type":"message"}
{"nick":"qmx|away","new_nick":"qmx","date":"2013-01-18T21:12:02.647Z","type":"nick"}
{"nick":"indutny","message":"well, you can remove code that is referencing parent Buffer","date":"2013-01-18T21:12:34.714Z","type":"message"}
{"nick":"indutny","message":"in C++","date":"2013-01-18T21:12:37.106Z","type":"message"}
{"nick":"indutny","message":"and keep track of all children","date":"2013-01-18T21:12:41.630Z","type":"message"}
{"nick":"indutny","message":"and when ~Buffer is called","date":"2013-01-18T21:12:45.878Z","type":"message"}
{"nick":"indutny","message":"flatten them","date":"2013-01-18T21:12:49.543Z","type":"message"}
{"nick":"indutny","message":"that's what you can already do now","date":"2013-01-18T21:12:55.293Z","type":"message"}
{"nick":"indutny","message":"but my opinion is that you should not touch short-living objects","date":"2013-01-18T21:13:08.780Z","type":"message"}
{"nick":"trevnorris","message":"but isn't ~Buffer only called when there are no more child buffers pointing to it?","date":"2013-01-18T21:13:22.002Z","type":"message"}
{"nick":"indutny","message":"trevnorris: \"remove that code\"","date":"2013-01-18T21:13:30.692Z","type":"message"}
{"nick":"indutny","message":"ah","date":"2013-01-18T21:13:40.385Z","type":"message"}
{"nick":"indutny","message":"well","date":"2013-01-18T21:13:42.843Z","type":"message"}
{"nick":"indutny","message":"hm...","date":"2013-01-18T21:13:43.949Z","type":"message"}
{"nick":"indutny","message":"yeah, just remove it","date":"2013-01-18T21:13:51.879Z","type":"message"}
{"nick":"indutny","message":"and keep track of children in C++ land","date":"2013-01-18T21:13:57.188Z","type":"message"}
{"nick":"indutny","message":"sorry, shower time","date":"2013-01-18T21:14:43.434Z","type":"message"}
{"nick":"indutny","message":"brb","date":"2013-01-18T21:14:44.513Z","type":"message"}
{"nick":"einaros","reason":"Remote host closed the connection","date":"2013-01-18T21:17:14.051Z","type":"quit"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Yi EungJun\u000f \u00037master\u000f * \u000233d2242\u0002 : doc: Add NODE_DEBUG env to the first example. The first example in clust - http://git.io/Md7cMg","date":"2013-01-18T21:19:23.033Z","type":"message"}
{"nick":"TooTallNate","message":"isaacs: so with streams2, how would I detect a \"pause\" in read() calls?","date":"2013-01-18T21:25:27.209Z","type":"message"}
{"nick":"isaacs","message":"a \"pause\"?","date":"2013-01-18T21:25:41.877Z","type":"message"}
{"nick":"isaacs","message":"that would switch you into streams1 mode","date":"2013-01-18T21:25:48.787Z","type":"message"}
{"nick":"TooTallNate","message":"no, i want to still use the new API","date":"2013-01-18T21:26:11.616Z","type":"message"}
{"nick":"TooTallNate","message":"but one of my streams wants me to send a \"pause\" event to the service if i'm gonna stop reading from it","date":"2013-01-18T21:26:32.980Z","type":"message"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033Dave Olszewski\u000f \u00037master\u000f * \u000214c911d\u0002 : domain: empty stack on all exceptions Due to the nature of asyncronous p - http://git.io/SbIxcA","date":"2013-01-18T21:27:16.495Z","type":"message"}
{"nick":"isaacs","message":"oic","date":"2013-01-18T21:28:29.316Z","type":"message"}
{"nick":"isaacs","message":"so... you can look at how this is handled with readStop() in net.js","date":"2013-01-18T21:28:42.355Z","type":"message"}
{"nick":"isaacs","message":"TooTallNate: if (!me.push(chunk)) src.readStop()","date":"2013-01-18T21:29:00.415Z","type":"message"}
{"nick":"isaacs","message":"TooTallNate: or, if (!me.push(chunk)) me.emit('pause')","date":"2013-01-18T21:29:15.625Z","type":"message"}
{"nick":"isaacs","message":"if you prefer","date":"2013-01-18T21:29:17.935Z","type":"message"}
{"nick":"jmar777","reason":"Remote host closed the connection","date":"2013-01-18T21:30:29.841Z","type":"quit"}
{"nick":"jmar777","date":"2013-01-18T21:31:07.178Z","type":"join"}
{"nick":"jmar777","reason":"Ping timeout: 256 seconds","date":"2013-01-18T21:35:45.999Z","type":"quit"}
{"nick":"trevnorris","message":"is there any use for the \"ObjectWrap ( ) {\" declaration at the top of the ObjectWrap class?","date":"2013-01-18T21:37:14.771Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: hm... ","date":"2013-01-18T21:38:46.379Z","type":"message"}
{"nick":"isaacs","message":"$ ./node test/simple/test-writedouble.js","date":"2013-01-18T21:38:48.719Z","type":"message"}
{"nick":"isaacs","message":"assert.js:102","date":"2013-01-18T21:38:48.855Z","type":"message"}
{"nick":"isaacs","message":" throw new assert.AssertionError({","date":"2013-01-18T21:38:48.855Z","type":"message"}
{"nick":"isaacs","message":" ^","date":"2013-01-18T21:38:48.855Z","type":"message"}
{"nick":"isaacs","message":"AssertionError: 127 == 255","date":"2013-01-18T21:38:50.939Z","type":"message"}
{"nick":"isaacs","message":" at test (/Users/isaacs/dev/js/node-master/test/simple/test-writedouble.js:171:10)","date":"2013-01-18T21:38:53.469Z","type":"message"}
{"nick":"isaacs","message":"which is really weird because it was passing on 0.9.7 just a few hours ago, but now after the v0.8 merge, it's failing all over the place...","date":"2013-01-18T21:39:56.868Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: I had to change a few of the tests to handle quiet NaN's. I'll check that now.","date":"2013-01-18T21:41:16.460Z","type":"message"}
{"nick":"isaacs","message":"bisect says: 22b84e6216b86f9d5178e7d8a4d1a577209b7008 is the first bad commit","date":"2013-01-18T21:41:26.347Z","type":"message"}
{"nick":"isaacs","message":"thanks","date":"2013-01-18T21:41:58.187Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: yup. that's the test.","date":"2013-01-18T21:42:24.931Z","type":"message"}
{"nick":"trevnorris","message":"must have been reverted by the merge.","date":"2013-01-18T21:42:33.814Z","type":"message"}
{"nick":"trevnorris","message":"wait....","date":"2013-01-18T21:43:16.204Z","type":"message"}
{"nick":"isaacs","message":"well, what's weird is that when i check master before the merge, it still fails, in the same way","date":"2013-01-18T21:45:06.805Z","type":"message"}
{"nick":"isaacs","message":"but i could've sworn i'd already tested that","date":"2013-01-18T21:45:11.775Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: ^","date":"2013-01-18T21:45:14.315Z","type":"message"}
{"nick":"trevnorris","message":"yeah... i'm double checking something.","date":"2013-01-18T21:45:39.615Z","type":"message"}
{"nick":"isaacs","message":"i was testing it over and over again, because of the HUGE_VALF business","date":"2013-01-18T21:45:49.104Z","type":"message"}
{"nick":"trevnorris","message":"just built 14c911d and ran all tests. worked fine.","date":"2013-01-18T21:47:27.536Z","type":"message"}
{"nick":"isaacs","message":"weeeiiirrrdd","date":"2013-01-18T21:47:48.943Z","type":"message"}
{"nick":"trevnorris","message":"so that test specifically is failing because it's writing a signaling NaN instead of a quiet NaN.","date":"2013-01-18T21:47:52.480Z","type":"message"}
{"nick":"isaacs","message":"lemem distclean and start over","date":"2013-01-18T21:47:54.453Z","type":"message"}
{"nick":"rendar","date":"2013-01-18T21:48:05.176Z","type":"quit"}
{"nick":"trevnorris","message":"it's one of the tests I had to change.","date":"2013-01-18T21:48:09.262Z","type":"message"}
{"nick":"isaacs","message":"while that's cooking, it's lunch time.","date":"2013-01-18T21:48:11.832Z","type":"message"}
{"nick":"isaacs","message":"trevnorris: what about master?","date":"2013-01-18T21:48:36.542Z","type":"message"}
{"nick":"isaacs","message":"oh, 14c911d is master","date":"2013-01-18T21:48:42.362Z","type":"message"}
{"nick":"isaacs","message":":)","date":"2013-01-18T21:48:43.202Z","type":"message"}
{"nick":"trevnorris","message":"what platform are you building/testing on?","date":"2013-01-18T21:49:18.536Z","type":"message"}
{"nick":"isaacs","message":"os x in this case","date":"2013-01-18T21:49:57.321Z","type":"message"}
{"nick":"trevnorris","message":"well. let me know what happens when you get back.","date":"2013-01-18T21:50:31.890Z","type":"message"}
{"nick":"trevnorris","message":"that is really strange.","date":"2013-01-18T21:50:34.823Z","type":"message"}
{"nick":"einaros","date":"2013-01-18T21:51:03.229Z","type":"join"}
{"nick":"isaacs","message":"trevnorris: distclean and test worked fine","date":"2013-01-18T21:53:09.509Z","type":"message"}
{"nick":"isaacs","message":"false alarm, i gues","date":"2013-01-18T21:53:11.839Z","type":"message"}
{"nick":"isaacs","message":"must've had some oddball ia32/x64 stuff kicking around","date":"2013-01-18T21:53:30.349Z","type":"message"}
{"nick":"trevnorris","message":"really strange.","date":"2013-01-18T21:53:30.607Z","type":"message"}
{"nick":"trevnorris","message":"did you build 0.8 before this?","date":"2013-01-18T21:53:58.880Z","type":"message"}
{"nick":"trevnorris","message":"anyways. doesn't matter. it works!","date":"2013-01-18T21:54:27.419Z","type":"message"}
{"nick":"TheJH","reason":"Ping timeout: 256 seconds","date":"2013-01-18T21:58:26.041Z","type":"quit"}
{"nick":"isaacs","message":"all tests pass.","date":"2013-01-18T21:59:05.685Z","type":"message"}
{"nick":"tjfontaine","message":"ship it.","date":"2013-01-18T21:59:13.833Z","type":"message"}
{"nick":"isaacs","message":"didn't build it in that folder, no","date":"2013-01-18T21:59:15.123Z","type":"message"}
{"nick":"isaacs","message":"IT HAS ALREADY BEEN SHIPPED! TWICE!","date":"2013-01-18T21:59:23.475Z","type":"message"}
{"nick":"LOUDBOT","message":"THIS INTERFACE IS LIKE SOMETHING SOMEONE WHO ONLY HAD ONE MOUSE BUTTON WOULD USE","date":"2013-01-18T21:59:23.853Z","type":"message"}
{"nick":"tjfontaine","message":"heh","date":"2013-01-18T21:59:34.455Z","type":"message"}
{"nick":"TooTallNate","message":"<3 LOUDBOT ","date":"2013-01-18T22:02:54.160Z","type":"message"}
{"nick":"LOUDBOT","message":"AND IT'S EASIER TO JUST CHANGE MY NICK THAN FIX IT AND RE-OP ALL OF THE CAPSBOTS","date":"2013-01-18T22:02:54.469Z","type":"message"}
{"nick":"indexzero","reason":"Quit: indexzero","date":"2013-01-18T22:12:13.270Z","type":"quit"}
{"nick":"stephank","reason":"Quit: *Poof!*","date":"2013-01-18T22:14:35.602Z","type":"quit"}
{"nick":"stephank","date":"2013-01-18T22:24:39.155Z","type":"join"}
{"nick":"indutny","message":"ttyl","date":"2013-01-18T22:30:10.892Z","type":"message"}
{"nick":"indutny","action":"&","date":"2013-01-18T22:30:13.841Z","type":"action"}
{"nick":"LOUDBOT","message":"THIS SINGLETON HAS GONE STALE, I NEED ANOTHER ONE.","date":"2013-01-18T22:30:14.127Z","type":"message"}
{"nick":"indutny","message":"what's with loudbot","date":"2013-01-18T22:30:56.392Z","type":"message"}
{"nick":"indutny","message":"he's gone mad?","date":"2013-01-18T22:31:01.943Z","type":"message"}
{"nick":"indutny","message":"ok","date":"2013-01-18T22:31:30.218Z","type":"message"}
{"nick":"indutny","message":"bye bye","date":"2013-01-18T22:31:32.288Z","type":"message"}
{"nick":"trevnorris","message":"who's the resident expert in ObjectWrap?","date":"2013-01-18T22:32:13.400Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-01-18T22:33:59.336Z","type":"quit"}
{"nick":"mikeal","date":"2013-01-18T22:34:17.949Z","type":"join"}
{"nick":"TooTallNate","message":"trevnorris: ben probably… but what's the question?","date":"2013-01-18T22:35:49.366Z","type":"message"}
{"nick":"trevnorris","message":"TooTallNate: couple small things. First there's \"ObjectWrap ( )\" at the top of the class that doesn't look like it's doing anything. commented it out and works fine.","date":"2013-01-18T22:36:35.250Z","type":"message"}
{"nick":"trevnorris","message":"also i'm just trying to get a grip on the whole weak callback thing.","date":"2013-01-18T22:38:10.371Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: the weak callback gets invoked right before the object gets GC'd","date":"2013-01-18T22:38:48.371Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: so ObjectWrap calls it's own destructor then","date":"2013-01-18T22:38:57.883Z","type":"message"}
{"nick":"trevnorris","message":"TooTallNate: so will v8 just call WeakCallback when it can be gc'd?","date":"2013-01-18T22:39:32.099Z","type":"message"}
{"nick":"TooTallNate","message":"ya, right before it does it's thing","date":"2013-01-18T22:40:02.612Z","type":"message"}
{"nick":"TooTallNate","message":"node-weak leverages this callback :)","date":"2013-01-18T22:40:44.924Z","type":"message"}
{"nick":"trevnorris","message":"man. I feel like an idiot. ok, so that's how buffer's know when they can be cleaned up.","date":"2013-01-18T22:40:54.301Z","type":"message"}
{"nick":"trevnorris","message":"ah, nice.","date":"2013-01-18T22:41:11.310Z","type":"message"}
{"nick":"TooTallNate","message":"yup, totally","date":"2013-01-18T22:41:33.868Z","type":"message"}
{"nick":"TooTallNate","message":"not the \"idiot\" part :p","date":"2013-01-18T22:41:41.337Z","type":"message"}
{"nick":"trevnorris","message":"heh.","date":"2013-01-18T22:41:45.154Z","type":"message"}
{"nick":"trevnorris","message":"ok. but that's only for the parent buffer. i'm looking for a way to detect when a fast buffer is no longer used.","date":"2013-01-18T22:42:49.470Z","type":"message"}
{"nick":"indexzero","date":"2013-01-18T22:44:33.984Z","type":"join"}
{"nick":"trevnorris","message":"TooTallNate: thanks. you answered my million dollar question. kept wondering how those classes knew when to be cleaned up.","date":"2013-01-18T22:44:53.137Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: ya a fast buffer is a little trickier","date":"2013-01-18T22:45:23.243Z","type":"message"}
{"nick":"TooTallNate","message":"since it's not a native object","date":"2013-01-18T22:45:27.402Z","type":"message"}
{"nick":"trevnorris","message":"yeah. i'm trying to figure out how v8 keeps track of those. there's got to be a way to tap into that.","date":"2013-01-18T22:46:30.370Z","type":"message"}
{"nick":"TooTallNate","message":"i mean v8 doesn't keep track of themm","date":"2013-01-18T22:53:05.272Z","type":"message"}
{"nick":"TooTallNate","message":"they just keep a reference to \"parent\"","date":"2013-01-18T22:53:12.113Z","type":"message"}
{"nick":"trevnorris","message":"so how does the parent know when there are no more fast buffers pointing to it?","date":"2013-01-18T22:53:30.113Z","type":"message"}
{"nick":"TooTallNate","message":"so that doesn't get GC'd until after all the fast buffers with references to that parent are gone","date":"2013-01-18T22:54:03.532Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: it just does… that's the v8 magic sauce","date":"2013-01-18T22:54:24.195Z","type":"message"}
{"nick":"trevnorris","message":"lol","date":"2013-01-18T22:54:28.139Z","type":"message"}
{"nick":"TooTallNate","message":"like reference counting, but v8 is a lot smarter about it","date":"2013-01-18T22:54:49.627Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: in JS, an object will never be GC'd as long as another object is keeping a reference to it","date":"2013-01-18T22:55:20.575Z","type":"message"}
{"nick":"TooTallNate","message":"but i think you knew that already :p","date":"2013-01-18T22:55:26.961Z","type":"message"}
{"nick":"trevnorris","message":"heh, don't know what I know anymore.","date":"2013-01-18T22:55:40.651Z","type":"message"}
{"nick":"trevnorris","message":"js lang was so happy and simple. then I decided to learn cpp and the internals of v8","date":"2013-01-18T22:55:57.988Z","type":"message"}
{"nick":"trevnorris","message":" /lang/land","date":"2013-01-18T22:56:03.984Z","type":"message"}
{"nick":"trevnorris","message":"so v8 keeps track of the fact a local object was created in a new handlescope, and it automatically tracks when that object is no longer referenced in js?","date":"2013-01-18T22:57:09.058Z","type":"message"}
{"nick":"trevnorris","message":"mother effin. ok, I think I understand. yeah, that's freaky magic sauce.","date":"2013-01-18T22:58:39.848Z","type":"message"}
{"nick":"sgallagh","reason":"Remote host closed the connection","date":"2013-01-18T23:08:25.511Z","type":"quit"}
{"nick":"trevnorris","message":"TooTallNate: have much xp w/ valgrind? pisc used it to determine the .slice() bug was pointing beyond itself. but haven't been able to figure out the options to do that.","date":"2013-01-18T23:14:23.260Z","type":"message"}
{"nick":"TooTallNate","message":"trevnorris: 0 xp points for me","date":"2013-01-18T23:14:46.957Z","type":"message"}
{"nick":"trevnorris","message":"TooTallNate: sorry, one more. is the following just creating a new slowbuffer? https://gist.github.com/4569502","date":"2013-01-18T23:16:39.997Z","type":"message"}
{"nick":"`3rdEden","reason":"Remote host closed the connection","date":"2013-01-18T23:19:22.485Z","type":"quit"}
{"nick":"MI6","message":"\u0002joyent/node:\u0002 \u00033isaacs\u000f \u00037master\u000f * \u0002539bf1d\u0002 : console: Support formatting options in trace() Fix #4589 - http://git.io/rgReDw","date":"2013-01-18T23:39:34.296Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: just dinking around, but i'm trying to understand what's happening with this: https://gist.github.com/4569502","date":"2013-01-18T23:40:27.787Z","type":"message"}
{"nick":"qmx","new_nick":"qmx|away","date":"2013-01-18T23:45:35.265Z","type":"nick"}
{"nick":"isaacs","message":"trevnorris: yeah, don't mess with .length","date":"2013-01-18T23:46:15.282Z","type":"message"}
{"nick":"hz","date":"2013-01-18T23:46:22.091Z","type":"quit"}
{"nick":"isaacs","message":"trevnorris: if you change that manually, you end up with weirdness","date":"2013-01-18T23:46:26.531Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: heh, yeah. just seeing how badly I can screw up my computer. ;-)","date":"2013-01-18T23:46:57.063Z","type":"message"}
{"nick":"trevnorris","message":"isaacs: but I think that's allowing me to point the buffer at any memory within the v8 heap.","date":"2013-01-18T23:47:44.912Z","type":"message"}
{"nick":"isaacs","message":"all you'll do is maybe overwrite some section of the node process's memory","date":"2013-01-18T23:47:50.871Z","type":"message"}
{"nick":"isaacs","message":"yeah","date":"2013-01-18T23:47:55.171Z","type":"message"}
{"nick":"isaacs","message":"it is doing exactly that","date":"2013-01-18T23:47:59.240Z","type":"message"}
{"nick":"isaacs","message":"so... don't do that :)","date":"2013-01-18T23:48:04.150Z","type":"message"}
{"nick":"isaacs","message":"it's more a \"Velvet ropes\" kind of safety than a \"guard rail\" kind of safety","date":"2013-01-18T23:48:29.740Z","type":"message"}
{"nick":"trevnorris","message":"that's a nice way of putting it. man, it's definitely a friday.","date":"2013-01-18T23:48:55.074Z","type":"message"}
{"nick":"`3rdEden","date":"2013-01-18T23:49:51.541Z","type":"join"}
{"nick":"isaacs","message":"yeah, i'm calling it a day","date":"2013-01-18T23:51:15.318Z","type":"message"}
{"nick":"trevnorris","message":"nice. you're in sf?","date":"2013-01-18T23:51:25.854Z","type":"message"}
{"nick":"isaacs","message":"thanks for your help with the build, trevnorris","date":"2013-01-18T23:51:28.398Z","type":"message"}
{"nick":"isaacs","message":"oakland","date":"2013-01-18T23:51:30.611Z","type":"message"}
{"nick":"isaacs","message":"you?","date":"2013-01-18T23:51:38.858Z","type":"message"}
{"nick":"trevnorris","message":"ah, cool. in mountain view.","date":"2013-01-18T23:51:43.539Z","type":"message"}
{"nick":"isaacs","message":"oh, nice. i used to live in mtv","date":"2013-01-18T23:51:50.241Z","type":"message"}
{"nick":"isaacs","message":"right across from the safeway on Shoreline","date":"2013-01-18T23:52:00.346Z","type":"message"}
{"nick":"trevnorris","message":"nice.","date":"2013-01-18T23:52:17.988Z","type":"message"}
{"nick":"trevnorris","message":"well then, have a good long weekend.","date":"2013-01-18T23:52:25.030Z","type":"message"}
{"nick":"isaacs","message":"i miss mountain view. boring, but really nice.","date":"2013-01-18T23:52:38.758Z","type":"message"}
{"nick":"isaacs","message":"oakland's not quite as nice, but way less boring.","date":"2013-01-18T23:52:48.497Z","type":"message"}
{"nick":"trevnorris","message":"yeah. if didn't have a kid would have probably moved to sf.","date":"2013-01-18T23:53:08.045Z","type":"message"}
{"nick":"isaacs","message":"yeah","date":"2013-01-18T23:53:11.937Z","type":"message"}
{"nick":"trevnorris","message":"and np. thanks for checking inf on windows.","date":"2013-01-18T23:53:18.610Z","type":"message"}
{"nick":"isaacs","message":"i've thought if i had a kid i might move back down that way","date":"2013-01-18T23:53:20.499Z","type":"message"}
{"nick":"trevnorris","message":"that's probably a good idea. close proximity to a lot of kid friendly things.","date":"2013-01-18T23:54:20.357Z","type":"message"}
{"nick":"`3rdEden","reason":"Ping timeout: 245 seconds","date":"2013-01-18T23:58:03.297Z","type":"quit"}