/
2013-08-23.txt
808 lines (808 loc) · 92.8 KB
/
2013-08-23.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
{"nick":"ircretary","reason":"Remote host closed the connection","date":"2013-08-23T00:00:00.658Z","type":"quit"}
{"nick":"ircretary","date":"2013-08-23T00:00:08.916Z","type":"join"}
{"nick":"whit537","reason":"Ping timeout: 264 seconds","date":"2013-08-23T00:03:14.823Z","type":"quit"}
{"nick":"whit537_","new_nick":"whit537","date":"2013-08-23T00:03:15.034Z","type":"nick"}
{"nick":"thlorenz","date":"2013-08-23T00:15:27.160Z","type":"join"}
{"nick":"jergason","date":"2013-08-23T00:16:04.422Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 264 seconds","date":"2013-08-23T00:21:14.752Z","type":"quit"}
{"nick":"vitorpacheco","reason":"Quit: Saindo","date":"2013-08-23T00:38:25.147Z","type":"quit"}
{"nick":"coderzach","date":"2013-08-23T00:39:20.220Z","type":"join"}
{"nick":"kumavis_","reason":"Quit: kumavis_","date":"2013-08-23T00:42:31.449Z","type":"quit"}
{"nick":"whit537","reason":"Ping timeout: 245 seconds","date":"2013-08-23T00:42:38.161Z","type":"quit"}
{"nick":"jesusabdullah","reason":"Ping timeout: 248 seconds","date":"2013-08-23T00:44:53.797Z","type":"quit"}
{"nick":"jesusabdullah","date":"2013-08-23T00:45:51.863Z","type":"join"}
{"nick":"whit537","date":"2013-08-23T00:46:09.658Z","type":"join"}
{"nick":"kumavis_","date":"2013-08-23T00:48:10.320Z","type":"join"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T00:58:55.617Z","type":"quit"}
{"nick":"jxson","date":"2013-08-23T01:00:05.007Z","type":"join"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T01:00:37.471Z","type":"quit"}
{"nick":"dominictarr_","date":"2013-08-23T01:01:28.966Z","type":"join"}
{"nick":"whit537","reason":"Ping timeout: 276 seconds","date":"2013-08-23T01:02:57.712Z","type":"quit"}
{"nick":"ins0mnia","reason":"Ping timeout: 256 seconds","date":"2013-08-23T01:03:42.246Z","type":"quit"}
{"nick":"dominictarr","reason":"Ping timeout: 268 seconds","date":"2013-08-23T01:04:56.175Z","type":"quit"}
{"nick":"dominictarr_","new_nick":"dominictarr","date":"2013-08-23T01:04:56.395Z","type":"nick"}
{"nick":"whit537","date":"2013-08-23T01:06:16.162Z","type":"join"}
{"nick":"tilgovi","reason":"Remote host closed the connection","date":"2013-08-23T01:12:33.355Z","type":"quit"}
{"nick":"kumavis_","reason":"Quit: kumavis_","date":"2013-08-23T01:20:04.060Z","type":"quit"}
{"nick":"i_m_ca","date":"2013-08-23T01:21:35.101Z","type":"join"}
{"nick":"jergason","date":"2013-08-23T01:27:30.377Z","type":"join"}
{"nick":"jxson","date":"2013-08-23T01:30:57.306Z","type":"join"}
{"nick":"whit537","reason":"Ping timeout: 245 seconds","date":"2013-08-23T01:32:38.161Z","type":"quit"}
{"nick":"whit537","date":"2013-08-23T01:36:22.726Z","type":"join"}
{"nick":"jxson","reason":"Ping timeout: 246 seconds","date":"2013-08-23T01:38:58.935Z","type":"quit"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-08-23T01:42:14.875Z","type":"quit"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-08-23T01:42:30.832Z","type":"quit"}
{"nick":"whit537","reason":"Ping timeout: 276 seconds","date":"2013-08-23T01:43:54.713Z","type":"quit"}
{"nick":"jergason","reason":"Remote host closed the connection","date":"2013-08-23T01:45:54.649Z","type":"quit"}
{"nick":"whit537","date":"2013-08-23T01:46:28.162Z","type":"join"}
{"nick":"jibay","reason":"Remote host closed the connection","date":"2013-08-23T01:49:05.736Z","type":"quit"}
{"nick":"tmcw","date":"2013-08-23T01:51:59.160Z","type":"join"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T01:53:58.666Z","type":"quit"}
{"nick":"soldair","reason":"Quit: Page closed","date":"2013-08-23T01:57:48.167Z","type":"quit"}
{"nick":"dguttman","reason":"Quit: dguttman","date":"2013-08-23T02:08:54.051Z","type":"quit"}
{"nick":"i_m_ca","reason":"Read error: Connection reset by peer","date":"2013-08-23T02:11:12.488Z","type":"quit"}
{"nick":"i_m_ca","date":"2013-08-23T02:11:37.920Z","type":"join"}
{"nick":"mikolalysenko","date":"2013-08-23T02:11:52.159Z","type":"join"}
{"nick":"substack","message":"mikolalysenko: https://github.com/substack/lexicographic-integer","date":"2013-08-23T02:12:32.092Z","type":"message"}
{"nick":"substack","message":"I was looking for algorithms that already do this but couldn't find anything","date":"2013-08-23T02:13:52.503Z","type":"message"}
{"nick":"whit537","reason":"Ping timeout: 245 seconds","date":"2013-08-23T02:20:58.161Z","type":"quit"}
{"nick":"timoxley","date":"2013-08-23T02:21:10.659Z","type":"join"}
{"nick":"mikolalysenko","message":"substack: why not reverse the bits?","date":"2013-08-23T02:23:10.220Z","type":"message"}
{"nick":"mikolalysenko","message":"kind of like the p-adics","date":"2013-08-23T02:23:24.447Z","type":"message"}
{"nick":"mikolalysenko","message":"http://en.wikipedia.org/wiki/P-adic_number","date":"2013-08-23T02:23:35.151Z","type":"message"}
{"nick":"substack","message":"mikolalysenko: how would reversing the bits give lexicographic order?","date":"2013-08-23T02:24:11.140Z","type":"message"}
{"nick":"mikolalysenko","message":"well, colexicographic","date":"2013-08-23T02:24:50.944Z","type":"message"}
{"nick":"whit537","date":"2013-08-23T02:26:34.768Z","type":"join"}
{"nick":"mikolalysenko","message":"wait nevermind. I am just a bit distracted right now","date":"2013-08-23T02:28:04.730Z","type":"message"}
{"nick":"timoxley","reason":"Remote host closed the connection","date":"2013-08-23T02:45:23.195Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T02:56:27.086Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 240 seconds","date":"2013-08-23T03:00:46.094Z","type":"quit"}
{"nick":"timoxley","date":"2013-08-23T03:05:29.865Z","type":"join"}
{"nick":"mk30","reason":"Quit: Page closed","date":"2013-08-23T03:07:11.955Z","type":"quit"}
{"nick":"timoxley","reason":"Remote host closed the connection","date":"2013-08-23T03:09:55.340Z","type":"quit"}
{"nick":"timoxley","date":"2013-08-23T03:11:04.599Z","type":"join"}
{"nick":"timoxley","reason":"Remote host closed the connection","date":"2013-08-23T03:21:30.082Z","type":"quit"}
{"nick":"thlorenz","reason":"Remote host closed the connection","date":"2013-08-23T03:29:59.925Z","type":"quit"}
{"nick":"pikpik","reason":"Changing host","date":"2013-08-23T03:32:54.419Z","type":"quit"}
{"nick":"pikpik","date":"2013-08-23T03:32:54.633Z","type":"join"}
{"nick":"pikpik","reason":"Changing host","date":"2013-08-23T03:32:54.633Z","type":"quit"}
{"nick":"pikpik","date":"2013-08-23T03:32:54.633Z","type":"join"}
{"nick":"mikolalysenko","message":"so thinking about this, you could use a tally system to ensure lexicographic sorting of digits but it is slightly inefficient","date":"2013-08-23T03:33:19.952Z","type":"message"}
{"nick":"mikolalysenko","message":"basically take a character which is lexicographically larger than any thing and put d copies of it first, where d = number of digits","date":"2013-08-23T03:33:41.386Z","type":"message"}
{"nick":"mikolalysenko","message":"then after that print out the number in binar/decimal/hex/whatever","date":"2013-08-23T03:33:56.255Z","type":"message"}
{"nick":"mikolalysenko","message":"that should work for any positive integer","date":"2013-08-23T03:34:06.241Z","type":"message"}
{"nick":"dominictarr_","date":"2013-08-23T03:34:39.052Z","type":"join"}
{"nick":"mikolalysenko","message":"for negatives, just prefix those with a character that comes lexicographically earlier and print out the complement of the digits","date":"2013-08-23T03:34:50.007Z","type":"message"}
{"nick":"mikolalysenko","message":"eg, 10 would become: aa10","date":"2013-08-23T03:35:05.904Z","type":"message"}
{"nick":"mikolalysenko","message":"where a > 9 in this order","date":"2013-08-23T03:35:14.965Z","type":"message"}
{"nick":"mikolalysenko","message":"and -3 would be: b7","date":"2013-08-23T03:35:27.213Z","type":"message"}
{"nick":"mikolalysenko","message":"where b < 0","date":"2013-08-23T03:35:31.334Z","type":"message"}
{"nick":"mikolalysenko","message":"at the end of the day it takes you 2x as much data to represent a number, but it could be optimized","date":"2013-08-23T03:35:58.677Z","type":"message"}
{"nick":"mikolalysenko","message":"for example, you could use a smarter system to encode the tallies by applying this scheme recursively","date":"2013-08-23T03:36:18.788Z","type":"message"}
{"nick":"mikolalysenko","message":"if you did that, then asymptotically it would encode an n-bit number in n log(n) bits","date":"2013-08-23T03:36:34.093Z","type":"message"}
{"nick":"mikolalysenko","message":"substack: ^^^","date":"2013-08-23T03:36:47.881Z","type":"message"}
{"nick":"mikolalysenko","message":"(would have typed this earlier but was on the phone)","date":"2013-08-23T03:37:02.324Z","type":"message"}
{"nick":"dominictarr","reason":"Ping timeout: 248 seconds","date":"2013-08-23T03:37:41.729Z","type":"quit"}
{"nick":"dominictarr_","new_nick":"dominictarr","date":"2013-08-23T03:37:42.304Z","type":"nick"}
{"nick":"mikolalysenko","message":"basically the formula is: encoding(x) = encoding(num digits(x)) . digits(x)","date":"2013-08-23T03:38:07.392Z","type":"message"}
{"nick":"mikolalysenko","message":"a log factor overhead is probably not a big enough deal to matter in terms of space, but the encoding is probably a lot more expensive than just padding with 0s","date":"2013-08-23T03:39:28.644Z","type":"message"}
{"nick":"timoxley","date":"2013-08-23T03:40:16.726Z","type":"join"}
{"nick":"calvinfo","reason":"Quit: Leaving.","date":"2013-08-23T03:41:46.127Z","type":"quit"}
{"nick":"substack","message":"mikolalysenko: under the encoding that lexicographic-order uses, 10 is just 10!","date":"2013-08-23T03:41:50.496Z","type":"message"}
{"nick":"substack","message":"by which I mean 0x0a","date":"2013-08-23T03:42:04.574Z","type":"message"}
{"nick":"substack","message":"you don't start needing extra bytes until you get up to 251","date":"2013-08-23T03:42:15.975Z","type":"message"}
{"nick":"mikolalysenko","message":"yeah, you can optimize this by using a larger base","date":"2013-08-23T03:42:53.424Z","type":"message"}
{"nick":"mikolalysenko","message":"for example, if you used base 256 (ie bytes) then the overhead would be log_256(n)","date":"2013-08-23T03:43:15.328Z","type":"message"}
{"nick":"mikolalysenko","message":"which is usually O(1)","date":"2013-08-23T03:43:19.325Z","type":"message"}
{"nick":"juliangruber","message":"substack: how do I tell browserify to replace a file by another in the build via the api?","date":"2013-08-23T03:43:36.226Z","type":"message"}
{"nick":"mikolalysenko","message":"substack: but the principle is easiest to illustrate with bits","date":"2013-08-23T03:45:09.323Z","type":"message"}
{"nick":"substack","message":"juliangruber: -r search:replace or use the browsers field","date":"2013-08-23T03:52:03.367Z","type":"message"}
{"nick":"juliangruber","message":"substack: i need to programmatically set it","date":"2013-08-23T03:52:24.895Z","type":"message"}
{"nick":"juliangruber","message":"need to replace a bunch of requires with filenames or even contents","date":"2013-08-23T03:53:27.425Z","type":"message"}
{"nick":"jesusabdullah","message":"creationix: How performant do you think git-as-a-db-backend would be?","date":"2013-08-23T03:53:32.806Z","type":"message"}
{"nick":"jesusabdullah","message":"creationix: I guess if your content blobs were big enough you wouldn't really care :)","date":"2013-08-23T03:53:56.599Z","type":"message"}
{"nick":"substack","message":"jesusabdullah: it performs really well on my blog","date":"2013-08-23T03:54:26.403Z","type":"message"}
{"nick":"mikolalysenko","message":"substack: also the idea definitely existed before: http://en.wikipedia.org/wiki/Golomb_coding","date":"2013-08-23T03:54:27.993Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: as a database?","date":"2013-08-23T03:54:46.197Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: I think I remember seeing that","date":"2013-08-23T03:54:55.080Z","type":"message"}
{"nick":"juliangruber","message":"substack: does this take a pull request?","date":"2013-08-23T03:54:57.059Z","type":"message"}
{"nick":"substack","message":"juliangruber: no","date":"2013-08-23T03:55:03.904Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: not gonna lie the idea was cool but I'm a static site die-hard for blogs","date":"2013-08-23T03:55:12.265Z","type":"message"}
{"nick":"substack","message":"juliangruber: https://github.com/substack/node-browserify#brequirefile-opts","date":"2013-08-23T03:56:18.941Z","type":"message"}
{"nick":"substack","message":"you want \"expose\"","date":"2013-08-23T03:56:21.579Z","type":"message"}
{"nick":"juliangruber","message":"substack: aww yes!","date":"2013-08-23T03:56:41.251Z","type":"message"}
{"nick":"juliangruber","message":"thanks","date":"2013-08-23T03:56:42.671Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: thinking about writing a web control panel thing so I can resell space on all the servers I wanna buy XD","date":"2013-08-23T03:56:56.882Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: bad idea?","date":"2013-08-23T03:57:14.784Z","type":"message"}
{"nick":"substack","message":"jesusabdullah: the big vendors have made space really cheap","date":"2013-08-23T03:57:38.117Z","type":"message"}
{"nick":"substack","message":"can you get good enough margins?","date":"2013-08-23T03:57:44.487Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: not interested in margins as much as I am pay costs, or help my friends host shit, things like that","date":"2013-08-23T03:58:44.360Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: or very localized maybe, like running it in a particular city or even a particular house","date":"2013-08-23T04:00:28.499Z","type":"message"}
{"nick":"jergason","date":"2013-08-23T04:06:05.764Z","type":"join"}
{"nick":"stagas","reason":"Read error: Connection reset by peer","date":"2013-08-23T04:09:54.931Z","type":"quit"}
{"nick":"calvinfo","date":"2013-08-23T04:10:21.759Z","type":"join"}
{"nick":"maksimlin","message":"jesusabdullah: on git as a db, it would work really well i guess if you only do lookups by the sha1 key","date":"2013-08-23T04:15:24.282Z","type":"message"}
{"nick":"jesusabdullah","message":"well like, you get tags too right?","date":"2013-08-23T04:18:09.011Z","type":"message"}
{"nick":"jesusabdullah","message":"where the key is human-readable and the value is a sha1","date":"2013-08-23T04:18:16.999Z","type":"message"}
{"nick":"jesusabdullah","message":"2 lookups is more than one but still","date":"2013-08-23T04:18:29.616Z","type":"message"}
{"nick":"maksimlin","message":"yes you do, and as you say that adds 1 level of indirection","date":"2013-08-23T04:18:56.157Z","type":"message"}
{"nick":"maksimlin","message":"but you should keep in mind git is just a kv store in the end that can itself use any kind of backend, it just so happens that the c-git implementation puts its obj db in loose files or packfiles","date":"2013-08-23T04:20:08.693Z","type":"message"}
{"nick":"jesusabdullah","message":"right","date":"2013-08-23T04:20:21.647Z","type":"message"}
{"nick":"maksimlin","message":"for instance I'm slowly working on getting js-git to use indexdb as its obj store (for in browser usecase)","date":"2013-08-23T04:20:59.187Z","type":"message"}
{"nick":"jesusabdullah","message":"uhuh","date":"2013-08-23T04:21:21.413Z","type":"message"}
{"nick":"maksimlin","message":"you could also use something like redis which I think could outperform even cgit as it would have the advantage of caching everything in ram with write-through to disk so lookups would be blazing fast...","date":"2013-08-23T04:22:55.907Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah","date":"2013-08-23T04:23:22.346Z","type":"message"}
{"nick":"jesusabdullah","message":"that would be pretty sweet","date":"2013-08-23T04:24:34.487Z","type":"message"}
{"nick":"i_m_ca","reason":"Ping timeout: 260 seconds","date":"2013-08-23T04:28:59.975Z","type":"quit"}
{"nick":"juliangruber","message":"substack: b.require('/tmp/34h23/template.js', { expose: '/home/julian/pro/lib/template.html' }) and then in lib: \"require('./template')\" doesn't work","date":"2013-08-23T04:30:48.597Z","type":"message"}
{"nick":"AvianFlu","date":"2013-08-23T04:30:50.592Z","type":"join"}
{"nick":"juliangruber","message":"uh","date":"2013-08-23T04:31:15.692Z","type":"message"}
{"nick":"juliangruber","message":"oops","date":"2013-08-23T04:31:16.512Z","type":"message"}
{"nick":"juliangruber","message":"substack: b.require('/tmp/34h23/template.js', { expose: '/home/julian/pro/lib/template.js' }) and then in lib: \"require('./template')\" doesn't work","date":"2013-08-23T04:32:10.580Z","type":"message"}
{"nick":"substack","message":"juliangruber: what are you trying to do?","date":"2013-08-23T04:33:10.002Z","type":"message"}
{"nick":"juliangruber","message":"substack: a lightweight replacement for brfs","date":"2013-08-23T04:33:20.825Z","type":"message"}
{"nick":"juliangruber","message":"which caused my massive build times","date":"2013-08-23T04:33:28.915Z","type":"message"}
{"nick":"juliangruber","message":"1) convert html files to js files with proper exports 2) store in tmp location 3) tell browserify about it","date":"2013-08-23T04:34:05.170Z","type":"message"}
{"nick":"substack","message":"this sounds hacky and weird","date":"2013-08-23T04:34:21.859Z","type":"message"}
{"nick":"substack","message":"why not just make a faster brfs?","date":"2013-08-23T04:34:27.866Z","type":"message"}
{"nick":"substack","message":"or just use watch mode","date":"2013-08-23T04:34:33.991Z","type":"message"}
{"nick":"juliangruber","message":"build went from 500ms to 2s","date":"2013-08-23T04:34:38.507Z","type":"message"}
{"nick":"substack","message":"if you use watchify it all stays fast after the initial build","date":"2013-08-23T04:35:05.394Z","type":"message"}
{"nick":"juliangruber","message":"ok will try","date":"2013-08-23T04:35:21.648Z","type":"message"}
{"nick":"AvianFlu","reason":"Ping timeout: 256 seconds","date":"2013-08-23T04:39:13.613Z","type":"quit"}
{"nick":"AvianFlu","date":"2013-08-23T04:39:22.031Z","type":"join"}
{"nick":"juliangruber","message":"substack: looks good :)","date":"2013-08-23T04:41:49.910Z","type":"message"}
{"nick":"shama","reason":"Remote host closed the connection","date":"2013-08-23T04:51:25.232Z","type":"quit"}
{"nick":"mikolalysenko","reason":"Ping timeout: 245 seconds","date":"2013-08-23T04:51:48.163Z","type":"quit"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-08-23T04:54:24.664Z","type":"quit"}
{"nick":"jergason","reason":"Read error: Connection reset by peer","date":"2013-08-23T04:57:24.582Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T04:57:50.845Z","type":"join"}
{"nick":"mk30","date":"2013-08-23T05:03:53.309Z","type":"join"}
{"nick":"jergason","reason":"Remote host closed the connection","date":"2013-08-23T05:12:42.441Z","type":"quit"}
{"nick":"calvinfo","reason":"Quit: Leaving.","date":"2013-08-23T05:13:09.515Z","type":"quit"}
{"nick":"coderzach","reason":"Quit: coderzach","date":"2013-08-23T05:23:41.036Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-08-23T05:26:39.694Z","type":"join"}
{"nick":"mk30","reason":"Ping timeout: 250 seconds","date":"2013-08-23T05:36:11.327Z","type":"quit"}
{"nick":"djcoin","date":"2013-08-23T05:39:24.237Z","type":"join"}
{"nick":"calvinfo","date":"2013-08-23T05:43:27.885Z","type":"join"}
{"nick":"mk30","date":"2013-08-23T05:44:04.355Z","type":"join"}
{"nick":"calvinfo","reason":"Ping timeout: 246 seconds","date":"2013-08-23T05:51:19.973Z","type":"quit"}
{"nick":"jxson","date":"2013-08-23T05:53:34.865Z","type":"join"}
{"nick":"jxson_","date":"2013-08-23T05:56:16.024Z","type":"join"}
{"nick":"coderzach","date":"2013-08-23T05:57:23.817Z","type":"join"}
{"nick":"jxson","reason":"Ping timeout: 240 seconds","date":"2013-08-23T05:57:51.339Z","type":"quit"}
{"nick":"nicholas_","date":"2013-08-23T05:58:24.783Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 240 seconds","date":"2013-08-23T05:59:11.323Z","type":"quit"}
{"nick":"jxson_","reason":"Remote host closed the connection","date":"2013-08-23T05:59:31.319Z","type":"quit"}
{"nick":"defunctzombie","new_nick":"defunctzombie_zz","date":"2013-08-23T06:00:02.884Z","type":"nick"}
{"nick":"nicholas_","reason":"Ping timeout: 240 seconds","date":"2013-08-23T06:02:31.468Z","type":"quit"}
{"nick":"defunctzombie_zz","new_nick":"defunctzombie","date":"2013-08-23T06:03:03.229Z","type":"nick"}
{"nick":"jxson","date":"2013-08-23T06:03:26.861Z","type":"join"}
{"nick":"dominictarr_","date":"2013-08-23T06:17:34.437Z","type":"join"}
{"nick":"tilgovi","date":"2013-08-23T06:18:50.744Z","type":"join"}
{"nick":"dominictarr","reason":"Ping timeout: 264 seconds","date":"2013-08-23T06:20:38.850Z","type":"quit"}
{"nick":"dominictarr_","new_nick":"dominictarr","date":"2013-08-23T06:20:39.066Z","type":"nick"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T06:22:30.494Z","type":"quit"}
{"nick":"damonoehlman","reason":"Ping timeout: 256 seconds","date":"2013-08-23T06:23:29.699Z","type":"quit"}
{"nick":"kumavis_","date":"2013-08-23T06:23:37.942Z","type":"join"}
{"nick":"damonoehlman","date":"2013-08-23T06:36:44.336Z","type":"join"}
{"nick":"defunctzombie","new_nick":"defunctzombie_zz","date":"2013-08-23T06:41:03.642Z","type":"nick"}
{"nick":"jxson","date":"2013-08-23T06:47:33.855Z","type":"join"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T06:47:37.828Z","type":"quit"}
{"nick":"coderzach","reason":"Quit: coderzach","date":"2013-08-23T06:49:40.961Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-08-23T07:05:55.903Z","type":"join"}
{"nick":"kumavis_","reason":"Quit: kumavis_","date":"2013-08-23T07:08:43.689Z","type":"quit"}
{"nick":"mikolalysenko","reason":"Ping timeout: 246 seconds","date":"2013-08-23T07:10:46.974Z","type":"quit"}
{"nick":"damonoehlman","reason":"Quit: WeeChat 0.4.1","date":"2013-08-23T07:19:15.747Z","type":"quit"}
{"nick":"st_luke","date":"2013-08-23T07:23:27.933Z","type":"join"}
{"nick":"fotoverite","reason":"Ping timeout: 245 seconds","date":"2013-08-23T07:31:15.120Z","type":"quit"}
{"nick":"mk30","reason":"Ping timeout: 250 seconds","date":"2013-08-23T07:34:55.369Z","type":"quit"}
{"nick":"dominictarr","reason":"Quit: dominictarr","date":"2013-08-23T07:40:30.781Z","type":"quit"}
{"nick":"calvinfo","date":"2013-08-23T07:47:25.135Z","type":"join"}
{"nick":"jergason","date":"2013-08-23T07:47:50.443Z","type":"join"}
{"nick":"klusias","date":"2013-08-23T07:50:44.983Z","type":"join"}
{"nick":"defunctzombie_zz","new_nick":"defunctzombie","date":"2013-08-23T07:50:57.200Z","type":"nick"}
{"nick":"fotoverite","date":"2013-08-23T07:51:07.511Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 256 seconds","date":"2013-08-23T07:53:01.857Z","type":"quit"}
{"nick":"hughsk","reason":"Quit: Leaving.","date":"2013-08-23T07:53:06.669Z","type":"quit"}
{"nick":"mirkokiefer","date":"2013-08-23T07:53:21.762Z","type":"join"}
{"nick":"defunctzombie","new_nick":"defunctzombie_zz","date":"2013-08-23T08:00:59.455Z","type":"nick"}
{"nick":"frankblizzard","date":"2013-08-23T08:07:31.508Z","type":"join"}
{"nick":"jibay","date":"2013-08-23T08:35:26.987Z","type":"join"}
{"nick":"calvinfo","reason":"Quit: Leaving.","date":"2013-08-23T08:48:34.397Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T08:50:04.512Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 264 seconds","date":"2013-08-23T08:54:42.237Z","type":"quit"}
{"nick":"tilgovi","reason":"Ping timeout: 248 seconds","date":"2013-08-23T08:55:01.721Z","type":"quit"}
{"nick":"tilgovi","date":"2013-08-23T09:00:22.163Z","type":"join"}
{"nick":"tilgovi","reason":"Remote host closed the connection","date":"2013-08-23T09:00:45.166Z","type":"quit"}
{"nick":"nicholasf","date":"2013-08-23T09:18:51.011Z","type":"join"}
{"nick":"calvinfo","date":"2013-08-23T09:18:56.801Z","type":"join"}
{"nick":"calvinfo","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:19:04.148Z","type":"quit"}
{"nick":"ins0mnia","date":"2013-08-23T09:22:56.660Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:32:31.781Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T09:34:09.501Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:39:56.536Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T09:40:14.527Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:43:22.806Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T09:43:36.855Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:45:16.217Z","type":"quit"}
{"nick":"frankbli_","date":"2013-08-23T09:45:22.035Z","type":"join"}
{"nick":"jibay_","date":"2013-08-23T09:49:24.203Z","type":"join"}
{"nick":"jibay_","reason":"Write error: Broken pipe","date":"2013-08-23T09:50:32.086Z","type":"quit"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T09:54:52.525Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T09:55:12.531Z","type":"join"}
{"nick":"dominictarr","date":"2013-08-23T09:57:10.980Z","type":"join"}
{"nick":"jcrugzz","reason":"Ping timeout: 248 seconds","date":"2013-08-23T10:05:57.824Z","type":"quit"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T10:06:22.651Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T10:06:40.997Z","type":"join"}
{"nick":"maksimlin","reason":"Quit: ChatZilla 0.9.90.1 [Firefox 23.0/20130803215302]","date":"2013-08-23T10:12:52.281Z","type":"quit"}
{"nick":"ik","message":"GOOD MORNING FRIENDS","date":"2013-08-23T10:12:53.180Z","type":"message"}
{"nick":"timoxley","reason":"Remote host closed the connection","date":"2013-08-23T10:28:29.924Z","type":"quit"}
{"nick":"jcrugzz","date":"2013-08-23T10:34:13.987Z","type":"join"}
{"nick":"whit537","reason":"Ping timeout: 276 seconds","date":"2013-08-23T10:38:12.787Z","type":"quit"}
{"nick":"whit537","date":"2013-08-23T10:40:24.166Z","type":"join"}
{"nick":"jcrugzz","reason":"Ping timeout: 276 seconds","date":"2013-08-23T10:40:48.758Z","type":"quit"}
{"nick":"djcoin","reason":"Quit: WeeChat 0.4.0","date":"2013-08-23T10:44:17.969Z","type":"quit"}
{"nick":"frankbli_","date":"2013-08-23T10:51:46.001Z","type":"join"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T10:52:45.307Z","type":"quit"}
{"nick":"frankblizzard","reason":"Ping timeout: 248 seconds","date":"2013-08-23T10:52:53.740Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T10:53:03.831Z","type":"join"}
{"nick":"djcoin","date":"2013-08-23T10:54:56.804Z","type":"join"}
{"nick":"frankbli_","date":"2013-08-23T10:55:22.380Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Operation timed out","date":"2013-08-23T10:57:42.168Z","type":"quit"}
{"nick":"frankbl__","date":"2013-08-23T10:57:44.980Z","type":"join"}
{"nick":"thlorenz_","date":"2013-08-23T10:59:13.711Z","type":"join"}
{"nick":"frankbli_","reason":"Ping timeout: 245 seconds","date":"2013-08-23T10:59:43.163Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T11:01:35.378Z","type":"join"}
{"nick":"frankbl__","reason":"Read error: Connection reset by peer","date":"2013-08-23T11:01:35.598Z","type":"quit"}
{"nick":"thlorenz_","reason":"Remote host closed the connection","date":"2013-08-23T11:01:39.735Z","type":"quit"}
{"nick":"mirkokiefer","reason":"Quit: mirkokiefer","date":"2013-08-23T11:08:42.966Z","type":"quit"}
{"nick":"stagas","date":"2013-08-23T11:31:02.199Z","type":"join"}
{"nick":"mirkokiefer","date":"2013-08-23T11:40:21.378Z","type":"join"}
{"nick":"thlorenz","date":"2013-08-23T11:55:48.907Z","type":"join"}
{"nick":"whit537","reason":"Quit: whit537","date":"2013-08-23T12:16:36.793Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T12:51:30.383Z","type":"join"}
{"nick":"kevino80","date":"2013-08-23T12:52:59.823Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 245 seconds","date":"2013-08-23T12:55:58.161Z","type":"quit"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T12:57:41.602Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T12:58:00.141Z","type":"join"}
{"nick":"ednapiranha","date":"2013-08-23T12:59:39.539Z","type":"join"}
{"nick":"frankbli_","date":"2013-08-23T13:04:03.599Z","type":"join"}
{"nick":"frankblizzard","reason":"Ping timeout: 240 seconds","date":"2013-08-23T13:05:04.108Z","type":"quit"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:06:39.909Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:07:43.538Z","type":"join"}
{"nick":"frankblizzard","reason":"Ping timeout: 264 seconds","date":"2013-08-23T13:12:42.275Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:14:15.115Z","type":"join"}
{"nick":"dominictarr","message":"substack: regards lexiographic order I wrote this a while ago, to generate arbitary lexiographic orders https://github.com/dominictarr/between","date":"2013-08-23T13:14:26.696Z","type":"message"}
{"nick":"dominictarr","message":"well, you can append, prepend or insert anything into the order.","date":"2013-08-23T13:14:40.676Z","type":"message"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:14:55.901Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:15:07.435Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:17:05.052Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:17:18.476Z","type":"join"}
{"nick":"frankbli_","date":"2013-08-23T13:17:53.545Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:17:53.545Z","type":"quit"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:18:46.036Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:19:06.004Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:21:11.563Z","type":"quit"}
{"nick":"frankbli_","date":"2013-08-23T13:21:12.033Z","type":"join"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:22:05.080Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:22:26.502Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:23:22.452Z","type":"quit"}
{"nick":"dominictarr","message":"What if it was as easy to compose visual programs as bash scripts?","date":"2013-08-23T13:23:35.385Z","type":"message"}
{"nick":"frankblizzard","date":"2013-08-23T13:24:02.102Z","type":"join"}
{"nick":"dominictarr","message":"If I have graphable data, i should be able to just pipe it into a program that displays a realtime graph in that tab/terminal","date":"2013-08-23T13:24:18.624Z","type":"message"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:24:19.220Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:26:01.691Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:26:30.133Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:26:45.471Z","type":"join"}
{"nick":"frankblizzard","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:27:14.182Z","type":"quit"}
{"nick":"frankbli_","date":"2013-08-23T13:27:19.421Z","type":"join"}
{"nick":"AvianFlu","date":"2013-08-23T13:27:49.851Z","type":"join"}
{"nick":"frankbli_","reason":"Read error: Connection reset by peer","date":"2013-08-23T13:27:56.737Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T13:28:17.790Z","type":"join"}
{"nick":"coderzach","date":"2013-08-23T13:48:57.834Z","type":"join"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-08-23T13:49:34.147Z","type":"quit"}
{"nick":"coderzach","reason":"Client Quit","date":"2013-08-23T13:51:58.573Z","type":"quit"}
{"nick":"fallsemo","date":"2013-08-23T14:03:36.841Z","type":"join"}
{"nick":"dguttman","date":"2013-08-23T14:10:11.595Z","type":"join"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-08-23T14:21:01.192Z","type":"quit"}
{"nick":"djcoin","reason":"Quit: WeeChat 0.4.0","date":"2013-08-23T14:21:24.453Z","type":"quit"}
{"nick":"djcoin","date":"2013-08-23T14:25:15.645Z","type":"join"}
{"nick":"jergason","date":"2013-08-23T14:26:15.210Z","type":"join"}
{"nick":"jergason_","date":"2013-08-23T14:28:21.760Z","type":"join"}
{"nick":"jergason","reason":"Read error: Connection reset by peer","date":"2013-08-23T14:28:43.421Z","type":"quit"}
{"nick":"tmcw","date":"2013-08-23T14:32:43.765Z","type":"join"}
{"nick":"fallsemo","date":"2013-08-23T14:37:00.161Z","type":"join"}
{"nick":"jergason_","reason":"Remote host closed the connection","date":"2013-08-23T14:49:12.386Z","type":"quit"}
{"nick":"AvianFlu","date":"2013-08-23T14:51:19.822Z","type":"join"}
{"nick":"mirkokiefer","reason":"Quit: mirkokiefer","date":"2013-08-23T14:56:36.762Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T15:05:14.544Z","type":"join"}
{"nick":"jergason","reason":"Remote host closed the connection","date":"2013-08-23T15:05:31.866Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T15:06:06.990Z","type":"join"}
{"nick":"whit537","date":"2013-08-23T15:21:56.542Z","type":"join"}
{"nick":"dguttman","reason":"Quit: dguttman","date":"2013-08-23T15:22:40.749Z","type":"quit"}
{"nick":"frankblizzard","reason":"Remote host closed the connection","date":"2013-08-23T15:22:57.167Z","type":"quit"}
{"nick":"dguttman","date":"2013-08-23T15:25:48.228Z","type":"join"}
{"nick":"frankblizzard","date":"2013-08-23T15:40:17.059Z","type":"join"}
{"nick":"kumavis_","date":"2013-08-23T15:45:19.089Z","type":"join"}
{"nick":"shama","date":"2013-08-23T15:49:41.164Z","type":"join"}
{"nick":"djcoin","reason":"Quit: WeeChat 0.4.0","date":"2013-08-23T15:52:14.184Z","type":"quit"}
{"nick":"jergason","reason":"Remote host closed the connection","date":"2013-08-23T15:59:35.949Z","type":"quit"}
{"nick":"jergason","date":"2013-08-23T16:01:03.381Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-08-23T16:11:53.104Z","type":"quit"}
{"nick":"kumavis_","reason":"Quit: kumavis_","date":"2013-08-23T16:13:34.784Z","type":"quit"}
{"nick":"frankblizzard","reason":"Remote host closed the connection","date":"2013-08-23T16:14:00.132Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-08-23T16:20:56.889Z","type":"join"}
{"nick":"frankblizzard","date":"2013-08-23T16:33:00.009Z","type":"join"}
{"nick":"kevino80","reason":"Remote host closed the connection","date":"2013-08-23T16:34:51.299Z","type":"quit"}
{"nick":"kumavis_","date":"2013-08-23T16:36:12.781Z","type":"join"}
{"nick":"frankbli_","date":"2013-08-23T16:40:01.065Z","type":"join"}
{"nick":"frankblizzard","reason":"Ping timeout: 264 seconds","date":"2013-08-23T16:42:50.783Z","type":"quit"}
{"nick":"calvinfo","date":"2013-08-23T16:44:17.922Z","type":"join"}
{"nick":"dominictarr","reason":"Quit: dominictarr","date":"2013-08-23T16:50:27.513Z","type":"quit"}
{"nick":"mk30","date":"2013-08-23T17:02:50.281Z","type":"join"}
{"nick":"jxson","date":"2013-08-23T17:05:02.186Z","type":"join"}
{"nick":"jcrugzz","date":"2013-08-23T17:07:03.718Z","type":"join"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T17:07:45.646Z","type":"quit"}
{"nick":"tmcw","date":"2013-08-23T17:08:56.599Z","type":"join"}
{"nick":"jergason_","date":"2013-08-23T17:11:53.573Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 245 seconds","date":"2013-08-23T17:15:08.160Z","type":"quit"}
{"nick":"defunctzombie_zz","new_nick":"defunctzombie","date":"2013-08-23T17:15:20.230Z","type":"nick"}
{"nick":"coderzach","date":"2013-08-23T17:17:18.537Z","type":"join"}
{"nick":"whit537","reason":"Ping timeout: 240 seconds","date":"2013-08-23T17:23:26.538Z","type":"quit"}
{"nick":"whit537","date":"2013-08-23T17:25:09.577Z","type":"join"}
{"nick":"defunctzombie","message":"Raynos: browserify-server .. still a thing you maintain?","date":"2013-08-23T17:27:38.108Z","type":"message"}
{"nick":"whit537","reason":"Ping timeout: 240 seconds","date":"2013-08-23T17:30:14.538Z","type":"quit"}
{"nick":"jergason_","reason":"Remote host closed the connection","date":"2013-08-23T17:30:26.695Z","type":"quit"}
{"nick":"st_luke","date":"2013-08-23T17:31:29.158Z","type":"join"}
{"nick":"dominictarr","date":"2013-08-23T17:33:39.186Z","type":"join"}
{"nick":"defunctzombie","message":"Domenic_: it is not about yield","date":"2013-08-23T17:34:18.922Z","type":"message"}
{"nick":"defunctzombie","message":"yield is not the answer","date":"2013-08-23T17:34:22.205Z","type":"message"}
{"nick":"defunctzombie","message":"the answer is function calls that do IO without blocking other parts of the app but look blocking in their current context","date":"2013-08-23T17:34:47.308Z","type":"message"}
{"nick":"Domenic_","message":"defunctzombie: it's the answer as far as i'm concerned. async code should look async.","date":"2013-08-23T17:34:52.175Z","type":"message"}
{"nick":"defunctzombie","message":"no","date":"2013-08-23T17:34:56.628Z","type":"message"}
{"nick":"defunctzombie","message":"no it shouldn't","date":"2013-08-23T17:35:00.538Z","type":"message"}
{"nick":"defunctzombie","message":"var email_valid = validate();","date":"2013-08-23T17:35:14.053Z","type":"message"}
{"nick":"defunctzombie","message":"that code should be the same whether it does a regex","date":"2013-08-23T17:35:23.969Z","type":"message"}
{"nick":"defunctzombie","message":"or whether it does some io in the backend","date":"2013-08-23T17:35:29.263Z","type":"message"}
{"nick":"defunctzombie","message":"because at the point of writing that line of code","date":"2013-08-23T17:35:38.646Z","type":"message"}
{"nick":"Domenic_","message":"i guess i might be old and crusty here, i do recognize i find myself on the conservative side of this argument whereas in most i am on the progressive side","date":"2013-08-23T17:35:44.889Z","type":"message"}
{"nick":"defunctzombie","message":"I don't care about how the validation happens.. I just need to to happen","date":"2013-08-23T17:35:47.626Z","type":"message"}
{"nick":"Domenic_","message":"so i allow you might be right. for now i am not very comfortable with it.","date":"2013-08-23T17:35:56.434Z","type":"message"}
{"nick":"defunctzombie","message":"you are not old and crusty","date":"2013-08-23T17:36:01.039Z","type":"message"}
{"nick":"defunctzombie","message":"I call it experience blindness","date":"2013-08-23T17:36:06.569Z","type":"message"}
{"nick":"defunctzombie","message":"you understand more than you think about this","date":"2013-08-23T17:36:13.403Z","type":"message"}
{"nick":"defunctzombie","message":"and another thing that is terrible with callbacks is the repeated error handling if(err) ...","date":"2013-08-23T17:36:47.082Z","type":"message"}
{"nick":"defunctzombie","message":"all over the place","date":"2013-08-23T17:36:49.557Z","type":"message"}
{"nick":"defunctzombie","message":"you don't need keywords, you don't need callbacks for most things","date":"2013-08-23T17:37:02.118Z","type":"message"}
{"nick":"defunctzombie","message":"callbacks are great for events","date":"2013-08-23T17:37:06.194Z","type":"message"}
{"nick":"defunctzombie","message":"they are not great for control flow","date":"2013-08-23T17:37:15.030Z","type":"message"}
{"nick":"defunctzombie","message":"and most shit you write is just basic do this, then this, then that","date":"2013-08-23T17:37:25.474Z","type":"message"}
{"nick":"Domenic_","message":"hmm yeah the events vs. commands distinction is a very interesting one","date":"2013-08-23T17:37:25.694Z","type":"message"}
{"nick":"defunctzombie","message":"Domenic_: and I know I can't fix this on the client.. but I can make writing my server side stuff a more pleasant experience","date":"2013-08-23T17:38:08.342Z","type":"message"}
{"nick":"defunctzombie","message":"Domenic_: that is why I rally against the yield stuff, etc and will show a better example using fibers of what I am talking about","date":"2013-08-23T17:38:36.606Z","type":"message"}
{"nick":"defunctzombie","message":"once I get around to making it :)","date":"2013-08-23T17:38:41.422Z","type":"message"}
{"nick":"defunctzombie","message":"words will not convince people","date":"2013-08-23T17:38:57.963Z","type":"message"}
{"nick":"defunctzombie","message":"only working examples :)","date":"2013-08-23T17:39:01.308Z","type":"message"}
{"nick":"kevino80","date":"2013-08-23T17:41:42.963Z","type":"join"}
{"nick":"defunctzombie","message":"Domenic_: I will also add with this approach, something that looks like it is called once and should just \"return\" once acts that way and looks that way, whereas with callbacks you don't get that guarantee, you just hope for it","date":"2013-08-23T17:44:28.114Z","type":"message"}
{"nick":"defunctzombie","message":"Domenic_: you know all about what that means... being a promise guy :)","date":"2013-08-23T17:44:39.372Z","type":"message"}
{"nick":"Domenic_","message":"indeed :)","date":"2013-08-23T17:47:09.138Z","type":"message"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T17:47:34.336Z","type":"quit"}
{"nick":"jesusabdullah","message":"I don't have *time* to have a strong opinion on generators!","date":"2013-08-23T17:47:35.092Z","type":"message"}
{"nick":"tmcw","date":"2013-08-23T17:48:17.426Z","type":"join"}
{"nick":"whit537","date":"2013-08-23T17:54:08.550Z","type":"join"}
{"nick":"mikolalysenko","message":"generators are the necessary language level feature required to get proper async concurrency stuff, but there will still be a lot of work needed to build all the abstractions on top of them to realize the full power","date":"2013-08-23T17:57:35.766Z","type":"message"}
{"nick":"mikolalysenko","message":"in particular, someone is going to have to work out the correct semantics/syntax for guarded choice operations","date":"2013-08-23T17:57:58.683Z","type":"message"}
{"nick":"mikolalysenko","message":"ie alt/select blocks","date":"2013-08-23T17:58:04.032Z","type":"message"}
{"nick":"mikolalysenko","message":"those things are quite difficult to get right, since you run into all kinds of awful edge cases with starvation etc. if you do it naively","date":"2013-08-23T17:58:44.813Z","type":"message"}
{"nick":"dguttman","reason":"Quit: dguttman","date":"2013-08-23T17:59:33.360Z","type":"quit"}
{"nick":"defunctzombie","message":"Domenic_: what local browserify server are you using now to rapid dev on widgets, etc?","date":"2013-08-23T18:03:16.457Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: no","date":"2013-08-23T18:06:44.778Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: what do you use instead?","date":"2013-08-23T18:06:55.158Z","type":"message"}
{"nick":"defunctzombie","message":"to develop widgets locally?","date":"2013-08-23T18:07:02.750Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: serve-browserify","date":"2013-08-23T18:07:03.222Z","type":"message"}
{"nick":"Raynos","message":"I dont use browserify CLIs","date":"2013-08-23T18:07:06.902Z","type":"message"}
{"nick":"defunctzombie","message":"does that serve up index.html and stuff?","date":"2013-08-23T18:07:15.528Z","type":"message"}
{"nick":"Raynos","message":"I use testem to run test suites and dont really do examples","date":"2013-08-23T18:07:17.099Z","type":"message"}
{"nick":"Raynos","message":"and if I do I write a server.js","date":"2013-08-23T18:07:28.482Z","type":"message"}
{"nick":"defunctzombie","message":"serve-browserify needs keywords on npm so people can find it hahaha","date":"2013-08-23T18:07:31.675Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: https://github.com/Raynos/html5-router/blob/master/example/server.js","date":"2013-08-23T18:07:53.000Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: bah.. I was looking for a CLI app","date":"2013-08-23T18:08:15.459Z","type":"message"}
{"nick":"defunctzombie","message":"that just lets me test widget easily","date":"2013-08-23T18:08:22.614Z","type":"message"}
{"nick":"defunctzombie","message":"without all that crap","date":"2013-08-23T18:08:25.731Z","type":"message"}
{"nick":"defunctzombie","message":"so far I found beefy","date":"2013-08-23T18:08:28.494Z","type":"message"}
{"nick":"defunctzombie","message":"I guess tryme would technically be able to do this haha","date":"2013-08-23T18:08:47.268Z","type":"message"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T18:09:52.006Z","type":"quit"}
{"nick":"dlmanning","message":"Raynos: serve-browserify is exactly what I was looking for the other day","date":"2013-08-23T18:10:31.851Z","type":"message"}
{"nick":"dlmanning","message":"Very cool","date":"2013-08-23T18:10:40.865Z","type":"message"}
{"nick":"tmcw","date":"2013-08-23T18:13:48.576Z","type":"join"}
{"nick":"defunctzombie","message":"https://github.com/shtylman/clock-input","date":"2013-08-23T18:17:58.887Z","type":"message"}
{"nick":"defunctzombie","message":"a new widget is born!","date":"2013-08-23T18:18:02.532Z","type":"message"}
{"nick":"ins0mnia","reason":"Read error: Operation timed out","date":"2013-08-23T18:22:42.029Z","type":"quit"}
{"nick":"frankbli_","reason":"Remote host closed the connection","date":"2013-08-23T18:29:44.927Z","type":"quit"}
{"nick":"Raynos","message":"defunctzombie: both beefy & tryme work","date":"2013-08-23T18:30:56.099Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: I abandoned browserify-server in favor of beefy","date":"2013-08-23T18:31:10.040Z","type":"message"}
{"nick":"defunctzombie","message":"gotcha","date":"2013-08-23T18:34:09.303Z","type":"message"}
{"nick":"mikolalysenko","reason":"Ping timeout: 246 seconds","date":"2013-08-23T18:34:19.985Z","type":"quit"}
{"nick":"Domenic_","message":"defunctzombie: beefy worked pretty well","date":"2013-08-23T18:34:59.303Z","type":"message"}
{"nick":"evbogue","date":"2013-08-23T18:37:45.227Z","type":"join"}
{"nick":"gwenbell","date":"2013-08-23T18:38:02.971Z","type":"join"}
{"nick":"frankblizzard","date":"2013-08-23T18:46:20.020Z","type":"join"}
{"nick":"frankblizzard","reason":"Remote host closed the connection","date":"2013-08-23T18:49:38.357Z","type":"quit"}
{"nick":"whit537","reason":"Quit: BLAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!","date":"2013-08-23T18:53:33.618Z","type":"quit"}
{"nick":"mk30","reason":"Ping timeout: 250 seconds","date":"2013-08-23T18:53:57.276Z","type":"quit"}
{"nick":"jez0990","message":"hey, has anybody tried this successfully https://github.com/quartzjer/hash-chatroom?","date":"2013-08-23T19:01:04.163Z","type":"message"}
{"nick":"mbalho","message":"ooh telehash activity","date":"2013-08-23T19:02:01.873Z","type":"message"}
{"nick":"mbalho","message":"its been a while","date":"2013-08-23T19:02:05.428Z","type":"message"}
{"nick":"jergason","date":"2013-08-23T19:02:30.573Z","type":"join"}
{"nick":"mikolalysenko","date":"2013-08-23T19:11:52.808Z","type":"join"}
{"nick":"dominictarr","message":"I've been thinking about implementing basically the actor model in js with a crazy set of polyfills","date":"2013-08-23T19:19:01.014Z","type":"message"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T19:19:39.589Z","type":"quit"}
{"nick":"dominictarr","message":"so that node processes, iframes, webworkers, ui widgets… can all connect streams & send messages to each other","date":"2013-08-23T19:19:52.553Z","type":"message"}
{"nick":"gwenbell","reason":"Quit: Lost terminal","date":"2013-08-23T19:23:34.290Z","type":"quit"}
{"nick":"jergason_","date":"2013-08-23T19:26:46.045Z","type":"join"}
{"nick":"jergason","reason":"Ping timeout: 248 seconds","date":"2013-08-23T19:29:41.777Z","type":"quit"}
{"nick":"dominictarr","message":"Raynos: so this would basically be just like your thing","date":"2013-08-23T19:30:14.192Z","type":"message"}
{"nick":"dominictarr","message":"+ some polyfils","date":"2013-08-23T19:30:23.169Z","type":"message"}
{"nick":"dominictarr","message":"and an addressing scheme so that you could send messages to any node/element/tab/frame","date":"2013-08-23T19:30:46.610Z","type":"message"}
{"nick":"jez0990","message":"dominictarr: addressing locally, or between peers over the network?","date":"2013-08-23T19:31:21.361Z","type":"message"}
{"nick":"dominictarr","message":"it would have multiple parts","date":"2013-08-23T19:31:44.054Z","type":"message"}
{"nick":"dominictarr","message":"so that if it's local it doesn't go through the network","date":"2013-08-23T19:32:00.843Z","type":"message"}
{"nick":"dominictarr","message":"but potentially, I should be able to pipe the output of some cli process on my computer into some particular ui widget on yours etc","date":"2013-08-23T19:32:31.545Z","type":"message"}
{"nick":"dominictarr","message":"or on another device","date":"2013-08-23T19:32:38.796Z","type":"message"}
{"nick":"dominictarr","message":"like, I want to be able to pipe to a graphical thing","date":"2013-08-23T19:32:59.785Z","type":"message"}
{"nick":"dominictarr","message":"by examining the addresses of two things to communicate the system would decide what is the best stragety for connection","date":"2013-08-23T19:33:48.867Z","type":"message"}
{"nick":"dominictarr","message":"webrtc","date":"2013-08-23T19:33:57.522Z","type":"message"}
{"nick":"dominictarr","message":"but they could also be inside the same process","date":"2013-08-23T19:34:09.481Z","type":"message"}
{"nick":"dominictarr","message":"or the same computer","date":"2013-08-23T19:34:15.999Z","type":"message"}
{"nick":"dominictarr","message":"or in differerent tabs","date":"2013-08-23T19:34:26.162Z","type":"message"}
{"nick":"dominictarr","message":"the same abstraction of a stream is available in each","date":"2013-08-23T19:34:38.567Z","type":"message"}
{"nick":"dominictarr","message":"so, an addressing scheme should be doable also","date":"2013-08-23T19:34:51.560Z","type":"message"}
{"nick":"gwenbell","date":"2013-08-23T19:40:59.896Z","type":"join"}
{"nick":"shama","reason":"Read error: Connection reset by peer","date":"2013-08-23T19:45:06.409Z","type":"quit"}
{"nick":"shama","date":"2013-08-23T19:45:29.538Z","type":"join"}
{"nick":"mk30_","date":"2013-08-23T19:54:06.301Z","type":"join"}
{"nick":"frankblizzard","date":"2013-08-23T20:03:47.052Z","type":"join"}
{"nick":"no9","reason":"Ping timeout: 264 seconds","date":"2013-08-23T20:07:18.290Z","type":"quit"}
{"nick":"dominictarr","reason":"Quit: dominictarr","date":"2013-08-23T20:08:13.880Z","type":"quit"}
{"nick":"jxson","date":"2013-08-23T20:08:20.970Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-08-23T20:09:13.781Z","type":"quit"}
{"nick":"jesusabdullah","message":"So I got to troll one of the ember core members today ^__^ https://twitter.com/jesusabdullah/status/370968764356886528","date":"2013-08-23T20:10:50.068Z","type":"message"}
{"nick":"dominictarr","date":"2013-08-23T20:10:51.941Z","type":"join"}
{"nick":"jesusabdullah","message":"Feelin' accomplished.","date":"2013-08-23T20:10:54.519Z","type":"message"}
{"nick":"st_luke","date":"2013-08-23T20:10:58.538Z","type":"join"}
{"nick":"jesusabdullah","message":"dangit","date":"2013-08-23T20:11:07.578Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: sup","date":"2013-08-23T20:11:31.199Z","type":"message"}
{"nick":"dominictarr","message":"jesusabdullah: hey","date":"2013-08-23T20:11:50.630Z","type":"message"}
{"nick":"dominictarr","message":"just hackin'","date":"2013-08-23T20:11:54.042Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: https://twitter.com/jesusabdullah/status/370968764356886528 accidentally trolled one of the emberjs core dudes lol","date":"2013-08-23T20:12:11.512Z","type":"message"}
{"nick":"kumavis_","reason":"Quit: kumavis_","date":"2013-08-23T20:12:25.348Z","type":"quit"}
{"nick":"jesusabdullah","message":"never mind the missing space XD","date":"2013-08-23T20:12:29.021Z","type":"message"}
{"nick":"jesusabdullah","message":"Today I'm doing front end-y things","date":"2013-08-23T20:12:37.285Z","type":"message"}
{"nick":"Raynos","message":"dominictarr: interesting","date":"2013-08-23T20:18:44.883Z","type":"message"}
{"nick":"Raynos","message":"dominictarr: I've been wanting to do ambient calculus","date":"2013-08-23T20:19:03.040Z","type":"message"}
{"nick":"dominictarr","message":"Raynos: what is ambient calculus?","date":"2013-08-23T20:19:22.251Z","type":"message"}
{"nick":"Raynos","message":"concurrent systems with mobility. Basically code moves around","date":"2013-08-23T20:19:23.999Z","type":"message"}
{"nick":"dominictarr","message":"interesting","date":"2013-08-23T20:19:31.449Z","type":"message"}
{"nick":"Raynos","message":"\"I want to do this computation\" and it just goes somewhere","date":"2013-08-23T20:19:33.192Z","type":"message"}
{"nick":"st_luke","message":"@jesusabdullah that guy sounds grumpy","date":"2013-08-23T20:19:34.675Z","type":"message"}
{"nick":"dominictarr","message":"Raynos: yes! that sort of stuff","date":"2013-08-23T20:19:45.108Z","type":"message"}
{"nick":"dominictarr","message":"you should be able to do that","date":"2013-08-23T20:19:52.291Z","type":"message"}
{"nick":"Raynos","message":":)","date":"2013-08-23T20:20:08.545Z","type":"message"}
{"nick":"Raynos","message":"the hardest part about signal channel","date":"2013-08-23T20:20:13.868Z","type":"message"}
{"nick":"Raynos","message":"was figuring out network discovery and network addressing","date":"2013-08-23T20:20:21.697Z","type":"message"}
{"nick":"dominictarr","message":"currently: I'm making a quick proof of concept that allows you to push deploy to an iframe","date":"2013-08-23T20:20:23.796Z","type":"message"}
{"nick":"jesusabdullah","message":"st_luke: lol yeah","date":"2013-08-23T20:20:41.568Z","type":"message"}
{"nick":"jesusabdullah","message":"st_luke: he's on the ember team, duh!","date":"2013-08-23T20:20:48.338Z","type":"message"}
{"nick":"jesusabdullah","message":"st_luke: XD","date":"2013-08-23T20:20:53.683Z","type":"message"}
{"nick":"evbogue","reason":"Ping timeout: 245 seconds","date":"2013-08-23T20:22:13.161Z","type":"quit"}
{"nick":"dominictarr","message":"jesusabdullah: need skeumorphic terminal that takes it way back to daisy wheel printer and perforated edges","date":"2013-08-23T20:22:24.392Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: yes we do","date":"2013-08-23T20:22:46.401Z","type":"message"}
{"nick":"dominictarr","message":"it's a teletype","date":"2013-08-23T20:22:47.604Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: can we do it by applying mad css to hypernal?","date":"2013-08-23T20:23:04.616Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: also add dot matrix printing sounds","date":"2013-08-23T20:23:16.899Z","type":"message"}
{"nick":"jesusabdullah","message":"bzzzt bzzzt grooooooooooooooooo bzzzt bzzzt","date":"2013-08-23T20:23:28.781Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: https://www.youtube.com/watch?v=w9QzsOY04O8","date":"2013-08-23T20:23:58.056Z","type":"message"}
{"nick":"jesusabdullah","message":"oh man part of me wants a \"real teletype\" now","date":"2013-08-23T20:24:57.978Z","type":"message"}
{"nick":"dominictarr","message":"jesusabdullah: also, could use modem noises to transfer data to nearby devices","date":"2013-08-23T20:26:48.783Z","type":"message"}
{"nick":"dominictarr","message":"jesusabdullah: +11","date":"2013-08-23T20:27:18.084Z","type":"message"}
{"nick":"Domenic_","message":"hey! why do people want zip in the browser? inquiring standards bodies want to know!","date":"2013-08-23T20:27:39.371Z","type":"message"}
{"nick":"jergason_","reason":"Remote host closed the connection","date":"2013-08-23T20:28:08.952Z","type":"quit"}
{"nick":"Raynos","message":"Domenic_: ws.pipe(zip()).pipe(app).pipe(unzip()).pipe(ws)","date":"2013-08-23T20:28:13.287Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: Because in my app I want to be able to download a zipball, crank that puppy open in-memory, let my app's users modify it, and then repackage it and ship it back up ^__^","date":"2013-08-23T20:28:20.564Z","type":"message"}
{"nick":"Raynos","message":"but maybe I want gzip, not zip","date":"2013-08-23T20:28:47.340Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: lots of native apps use zipballs as a sort of ad-hoc custom filetype","date":"2013-08-23T20:28:49.352Z","type":"message"}
{"nick":"jesusabdullah","message":"I want ALL of thems","date":"2013-08-23T20:29:30.691Z","type":"message"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-08-23T20:30:20.499Z","type":"quit"}
{"nick":"Domenic_","message":"is zip used in implementing git? creationix?","date":"2013-08-23T20:30:36.138Z","type":"message"}
{"nick":"jxson","reason":"Remote host closed the connection","date":"2013-08-23T20:32:46.566Z","type":"quit"}
{"nick":"jxson","date":"2013-08-23T20:33:54.504Z","type":"join"}
{"nick":"st_luke","date":"2013-08-23T20:34:21.392Z","type":"join"}
{"nick":"dominictarr","message":"Domenic_: anything node can do the browser ought to be able to do","date":"2013-08-23T20:34:43.506Z","type":"message"}
{"nick":"dominictarr","message":"maybe we want to compress things before we store it in a database","date":"2013-08-23T20:34:59.861Z","type":"message"}
{"nick":"dominictarr","message":"like git uses zip compression","date":"2013-08-23T20:35:09.508Z","type":"message"}
{"nick":"dominictarr","message":"plus, it's just a standard format","date":"2013-08-23T20:35:45.369Z","type":"message"}
{"nick":"dominictarr","message":"everything can take it","date":"2013-08-23T20:35:53.518Z","type":"message"}
{"nick":"dominictarr","message":"another case: maybe you want to zip a file before uploading it","date":"2013-08-23T20:36:18.954Z","type":"message"}
{"nick":"dominictarr","message":"see also: crypto","date":"2013-08-23T20:36:25.068Z","type":"message"}
{"nick":"Domenic_","message":"dominictarr: apparently git uses gzip, not zip","date":"2013-08-23T20:37:13.708Z","type":"message"}
{"nick":"Domenic_","message":"generic arguments are not going to fly here.","date":"2013-08-23T20:37:21.485Z","type":"message"}
{"nick":"dominictarr","message":"Domenic_: why not?","date":"2013-08-23T20:37:41.122Z","type":"message"}
{"nick":"Domenic_","message":"actual use cases are what are desired","date":"2013-08-23T20:37:41.342Z","type":"message"}
{"nick":"Domenic_","message":"reading word documents was good","date":"2013-08-23T20:37:44.750Z","type":"message"}
{"nick":"dominictarr","message":"ask brianloveswords, he wrote zlib-browserify","date":"2013-08-23T20:38:05.028Z","type":"message"}
{"nick":"Domenic_","message":"dominictarr: because generic arguments do not serve users of the web platform; specific use cases do.","date":"2013-08-23T20:38:21.691Z","type":"message"}
{"nick":"dominictarr","message":"\"compressing a file\"","date":"2013-08-23T20:38:58.980Z","type":"message"}
{"nick":"Domenic_","message":"for what purpose?","date":"2013-08-23T20:39:06.320Z","type":"message"}
{"nick":"dominictarr","message":"to make it smaller","date":"2013-08-23T20:39:12.135Z","type":"message"}
{"nick":"Domenic_","message":"...","date":"2013-08-23T20:39:22.921Z","type":"message"}
{"nick":"dominictarr","message":"\bso, like, reading any file format that zips it","date":"2013-08-23T20:39:39.622Z","type":"message"}
{"nick":"jesusabdullah","message":"Seriously, tons of proprietary document formats, not just word docs, are just zipballs with manifests and assets isite them","date":"2013-08-23T20:39:42.626Z","type":"message"}
{"nick":"Domenic_","message":"i guess you're not interested in really having a use-case conversation, that's fine. it just means i can't take your input to the standards bodies (without being laughted out of the room)","date":"2013-08-23T20:39:48.888Z","type":"message"}
{"nick":"dlmanning","message":"A mobile webapp wants to compress a generated file for upload over limited bandwidth?","date":"2013-08-23T20:39:50.338Z","type":"message"}
{"nick":"dominictarr","message":"what jesusabdullah said","date":"2013-08-23T20:39:56.547Z","type":"message"}
{"nick":"Domenic_","message":"jesusabdullah: that was a good one, passed that on already :)","date":"2013-08-23T20:39:59.212Z","type":"message"}
{"nick":"jesusabdullah","message":"cool","date":"2013-08-23T20:40:11.232Z","type":"message"}
{"nick":"dominictarr","message":"pretty much every answer will boil down to that one","date":"2013-08-23T20:40:28.957Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: basically standards bodies are all about the tps reports so you gotta play the game their way","date":"2013-08-23T20:40:38.570Z","type":"message"}
{"nick":"Domenic_","message":"dlmanning: excellent, thanks.","date":"2013-08-23T20:40:41.793Z","type":"message"}
{"nick":"dominictarr","message":"tps?","date":"2013-08-23T20:40:47.857Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: you didn't get the memo?","date":"2013-08-23T20:40:58.607Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: we now require cover sheets on all TPS reports.","date":"2013-08-23T20:41:09.111Z","type":"message"}
{"nick":"dlmanning","message":"dominictarr is having a problem with his tps reports","date":"2013-08-23T20:41:16.895Z","type":"message"}
{"nick":"jesusabdullah","message":"dominictarr: I'll send you the memo, hold on","date":"2013-08-23T20:41:17.292Z","type":"message"}
{"nick":"jesusabdullah","message":"dlmanning: oooooohhh","date":"2013-08-23T20:41:27.157Z","type":"message"}
{"nick":"dominictarr","message":"jesusabdullah: okay, thanks","date":"2013-08-23T20:41:38.511Z","type":"message"}
{"nick":"jesusabdullah","message":"dlmanning: what would the Bobs think?","date":"2013-08-23T20:41:43.383Z","type":"message"}
{"nick":"Domenic_","message":"if anyone wants to do a quick comparison of in-browser gzip implementation speed vs. native ones that will help convince the whatwg.","date":"2013-08-23T20:43:00.711Z","type":"message"}
{"nick":"jesusabdullah","message":"why is the whatwg having such a problem with this? I mean, to me this seems to be, like, obvious utility","date":"2013-08-23T20:44:21.927Z","type":"message"}
{"nick":"Domenic_","message":"because they are not web developers :-/","date":"2013-08-23T20:44:39.717Z","type":"message"}
{"nick":"jesusabdullah","message":"why not :(","date":"2013-08-23T20:45:02.867Z","type":"message"}
{"nick":"jesusabdullah","message":"whatwg whould be mostly web devs","date":"2013-08-23T20:45:10.593Z","type":"message"}
{"nick":"Domenic_","message":"because you guys are disdainful of the act of spec-writing","date":"2013-08-23T20:45:15.141Z","type":"message"}
{"nick":"Domenic_","message":"and talking on mailing lists","date":"2013-08-23T20:45:34.314Z","type":"message"}
{"nick":"Domenic_","message":"and so on","date":"2013-08-23T20:45:35.393Z","type":"message"}
{"nick":"Domenic_","message":"so non-web devs are the ones left to do that","date":"2013-08-23T20:45:39.821Z","type":"message"}
{"nick":"st_luke","message":"id like to see more web devs get involved in the spec process directly","date":"2013-08-23T20:46:07.152Z","type":"message"}
{"nick":"Domenic_","message":"+1","date":"2013-08-23T20:46:15.554Z","type":"message"}
{"nick":"kriskowal","date":"2013-08-23T20:46:30.079Z","type":"join"}
{"nick":"jesusabdullah","message":"maybe if they were less lamesauce we'd be down to hang out","date":"2013-08-23T20:46:38.272Z","type":"message"}
{"nick":"jesusabdullah","message":"dudes keep harshing my mellow brah","date":"2013-08-23T20:46:45.424Z","type":"message"}
{"nick":"Domenic_","message":"it is a very tricky thing to enter though, lots of web devs try to do so in completely the wrong way, get shut down (rightly), then feel like stupid standards bodies are lame and they never wanna participate.","date":"2013-08-23T20:46:53.430Z","type":"message"}
{"nick":"Domenic_","message":"how to do this right is the subject of my lxjs talk (spoilers)","date":"2013-08-23T20:47:02.391Z","type":"message"}
{"nick":"jesusabdullah","message":"word","date":"2013-08-23T20:47:07.423Z","type":"message"}
{"nick":"dominictarr","message":"OHH RIGHT, IT'S CALLED THE SHELL, BECAUSE THE KERNEL IS INSIDE IT","date":"2013-08-23T20:47:07.641Z","type":"message"}
{"nick":"LOUDBOT","message":"THAT LINK GAVE ME HERPES","date":"2013-08-23T20:47:08.111Z","type":"message"}
{"nick":"dominictarr","message":"http://www.youtube.com/watch?v=JoVQTPbD6UY","date":"2013-08-23T20:47:14.767Z","type":"message"}
{"nick":"jesusabdullah","message":"man I hope I get to do my cascadiajs talk","date":"2013-08-23T20:47:19.348Z","type":"message"}
{"nick":"jesusabdullah","message":"I really really really want to give this talk","date":"2013-08-23T20:47:27.253Z","type":"message"}
{"nick":"jesusabdullah","message":"also that sounds really useful Domenic_","date":"2013-08-23T20:47:38.728Z","type":"message"}
{"nick":"st_luke","message":"yea im done with criticizing these groups","date":"2013-08-23T20:47:47.689Z","type":"message"}
{"nick":"jesusabdullah","message":"shit didn't I try asking you something about promises the other day? speaking of my talk?","date":"2013-08-23T20:48:05.841Z","type":"message"}
{"nick":"dominictarr","message":"pity they didn't call it \"the fruit\" and \"the seed\"","date":"2013-08-23T20:48:06.060Z","type":"message"}
{"nick":"jesusabdullah","message":"OH YEAH I REMEMBER","date":"2013-08-23T20:48:09.532Z","type":"message"}
{"nick":"LOUDBOT","message":"ACHIEVEMENT UNLOCKED: IMPERTINENT AND PRESUMPTUOUS","date":"2013-08-23T20:48:09.928Z","type":"message"}
{"nick":"Domenic_","message":"I DON'T REMEMBER","date":"2013-08-23T20:48:28.596Z","type":"message"}
{"nick":"LOUDBOT","message":"ITS ONLY NOT SEXIST IF YOU CALL IT AN ENGINWOMAN DEGREE TOO","date":"2013-08-23T20:48:28.921Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: Is there a good way to, like, make a promise-generating function optionally take a node-style callback?","date":"2013-08-23T20:48:36.267Z","type":"message"}
{"nick":"Domenic_","message":"LOUDBOT: whosaid","date":"2013-08-23T20:48:39.725Z","type":"message"}
{"nick":"LOUDBOT","message":"simcop2387-lap in ##turtles on freenode","date":"2013-08-23T20:48:40.089Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: like, if you call fn(args, cb) that works but fn(args).then works too ?","date":"2013-08-23T20:48:56.410Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: make sense what I'm asking?","date":"2013-08-23T20:49:02.529Z","type":"message"}
{"nick":"Domenic_","message":"jesusabdullah: yes indeed! do `return myPromise.nodeify(callback)`","date":"2013-08-23T20:49:08.749Z","type":"message"}
{"nick":"jesusabdullah","message":"Domenic_: that'll work with q ?","date":"2013-08-23T20:49:24.720Z","type":"message"}
{"nick":"Domenic_","message":".nodeify will return the promise if `callback` is not a function; it will return `undefined` if it does.","date":"2013-08-23T20:49:27.873Z","type":"message"}
{"nick":"Domenic_","message":"jesusabdullah: yeah, Q has that, as does RSVP and a few others.","date":"2013-08-23T20:49:34.381Z","type":"message"}
{"nick":"jesusabdullah","message":"sick","date":"2013-08-23T20:49:38.998Z","type":"message"}
{"nick":"Domenic_","message":"agreed ^_^","date":"2013-08-23T20:49:46.092Z","type":"message"}
{"nick":"jesusabdullah","message":"I kinda want to use promises somewhere if only to get what the hullabaloo is about","date":"2013-08-23T20:49:54.033Z","type":"message"}
{"nick":"jesusabdullah","message":"but I also think this could make a good example of \"having your cake and eating it too\"","date":"2013-08-23T20:50:07.988Z","type":"message"}
{"nick":"dlmanning","message":"jesusabdullah: jquery :P","date":"2013-08-23T20:50:27.593Z","type":"message"}
{"nick":"jesusabdullah","message":"dlmanning: lolno","date":"2013-08-23T20:50:36.841Z","type":"message"}
{"nick":"jesusabdullah","message":"dlmanning: EVERYONE KNOWS that jquery \"promises\" are BROKEN PROMISES","date":"2013-08-23T20:50:47.756Z","type":"message"}
{"nick":"Domenic_","message":"^__^","date":"2013-08-23T20:51:01.145Z","type":"message"}
{"nick":"jesusabdullah","message":"dlmanning: like, the kind of broken promises that inspire crappy 80s rock power balads","date":"2013-08-23T20:51:02.265Z","type":"message"}
{"nick":"dlmanning","message":"BROKEN PROMISES!","date":"2013-08-23T20:51:02.478Z","type":"message"}
{"nick":"LOUDBOT","message":"A FAT MAN IN DIRE NEED OF AN ASS-BRUISIN'","date":"2013-08-23T20:51:02.918Z","type":"message"}
{"nick":"jesusabdullah","message":"haha","date":"2013-08-23T20:51:24.741Z","type":"message"}
{"nick":"chrisdickinson","message":"Domenic_: belatedly, inflate/deflate is used in git","date":"2013-08-23T20:53:06.803Z","type":"message"}
{"nick":"Raynos","message":"module.exports = supportPromisesCallbacksThunksAndGenerators(myModule)","date":"2013-08-23T20:53:18.593Z","type":"message"}
{"nick":"ednapiranha","reason":"Remote host closed the connection","date":"2013-08-23T20:53:41.082Z","type":"quit"}
{"nick":"jesusabdullah","message":"Raynos: why the fuck not","date":"2013-08-23T20:54:04.517Z","type":"message"}
{"nick":"jesusabdullah","message":"Raynos: we'll do it live","date":"2013-08-23T20:54:10.327Z","type":"message"}
{"nick":"Raynos","message":"Oh I forgot about streams & reducers","date":"2013-08-23T20:54:55.868Z","type":"message"}
{"nick":"Raynos","message":"streams 1, 2 & 3 !","date":"2013-08-23T20:55:02.669Z","type":"message"}
{"nick":"frankblizzard","reason":"Remote host closed the connection","date":"2013-08-23T20:55:22.786Z","type":"quit"}
{"nick":"jesusabdullah","message":"I mean","date":"2013-08-23T20:55:57.276Z","type":"message"}
{"nick":"jesusabdullah","message":"to be real here, for a minute","date":"2013-08-23T20:56:02.485Z","type":"message"}
{"nick":"jesusabdullah","message":"to me, promises more or less work with the same use case that callbacks do, just wrapped in a more different API","date":"2013-08-23T20:56:29.902Z","type":"message"}
{"nick":"hij1nx","message":"npm view supportPromisesCallbacksThunksAndGenerators","date":"2013-08-23T20:56:30.443Z","type":"message"}
{"nick":"jesusabdullah","message":"whereas streams, reducers and a lot of these other abstractions don't reduce to the least common denominator of node-style callbacks very well if at all","date":"2013-08-23T20:57:13.727Z","type":"message"}
{"nick":"jesusabdullah","message":"so, again, to be real, I see the value in .nodeify and possibly thunks and generators, but that's about where it ends for me","date":"2013-08-23T20:57:54.244Z","type":"message"}
{"nick":"Raynos","message":"reducers fit callbacks just fine","date":"2013-08-23T20:58:12.369Z","type":"message"}
{"nick":"Raynos","message":"but reducers fit everything","date":"2013-08-23T20:58:21.237Z","type":"message"}
{"nick":"Raynos","message":"and im sure you can hammer streams to fit everything. I know I once did :D","date":"2013-08-23T20:58:32.910Z","type":"message"}
{"nick":"Domenic_","message":"Raynos's definition of \"fit\" is a bit different than most ;)","date":"2013-08-23T20:58:44.965Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah but *should* you?","date":"2013-08-23T20:58:50.948Z","type":"message"}
{"nick":"jesusabdullah","message":"nodeify has value in that you can support the least common denominator","date":"2013-08-23T20:59:16.909Z","type":"message"}
{"nick":"jesusabdullah","message":"so if you don't feel like using promises you can pretty much ignore them","date":"2013-08-23T20:59:29.569Z","type":"message"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-08-23T20:59:38.410Z","type":"quit"}
{"nick":"jesusabdullah","message":"but internally use them, and get the added bonus of allowing promise fans to use the api directly instead of having to repromise your depromise","date":"2013-08-23T20:59:58.652Z","type":"message"}
{"nick":"chrisdickinson","message":"these are design patterns that shouldn't be blanket-applied to apis.","date":"2013-08-23T21:00:06.176Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah p. much","date":"2013-08-23T21:00:29.998Z","type":"message"}
{"nick":"defunctzombie","message":"I find it funny that all these client side \"tools\" all install via npm first haha","date":"2013-08-23T21:03:47.555Z","type":"message"}
{"nick":"mbalho","message":"because http://nodejsreactions.tumblr.com/post/58924347753/trying-to-get-client-side-developers-to-use-npmb","date":"2013-08-23T21:04:10.808Z","type":"message"}
{"nick":"defunctzombie","message":"mbalho: \\o/","date":"2013-08-23T21:04:19.303Z","type":"message"}
{"nick":"jesusabdullah","message":"ahahahaha","date":"2013-08-23T21:07:03.457Z","type":"message"}
{"nick":"jesusabdullah","message":"most excellent.","date":"2013-08-23T21:07:07.507Z","type":"message"}
{"nick":"mbalho","message":"substack: how do i take a lexicographic integer and convert it back to the original integer?","date":"2013-08-23T21:07:54.397Z","type":"message"}
{"nick":"coderzach","reason":"Quit: coderzach","date":"2013-08-23T21:08:37.200Z","type":"quit"}
{"nick":"substack","message":"mbalho: you'd need to invert the function","date":"2013-08-23T21:14:23.226Z","type":"message"}
{"nick":"mbalho","message":"substack: k, might do that if i need to optimize on disk footprint later but i can just store the original integer in the value of the documents for now","date":"2013-08-23T21:15:17.240Z","type":"message"}
{"nick":"coderzach","date":"2013-08-23T21:15:21.456Z","type":"join"}
{"nick":"substack","message":"function invert (xs) { if (xs[0] < 251) return n; if (xs[0] === 251) return xs[1] + 251; if (xs[0] === 252) return xs[1]*256 + xs[0] + 251; ...etc }","date":"2013-08-23T21:16:52.731Z","type":"message"}
{"nick":"mbalho","message":"w00t","date":"2013-08-23T21:17:27.412Z","type":"message"}
{"nick":"mbalho","message":"{ key: 'ÿsÿ08', value: { _id: 'g', _seq: 8 } }","date":"2013-08-23T21:17:27.759Z","type":"message"}
{"nick":"mbalho","message":"{ key: 'ÿsÿ09', value: { _id: 'h', _seq: 9 } }","date":"2013-08-23T21:17:27.970Z","type":"message"}
{"nick":"mbalho","message":"{ key: 'ÿsÿ0a', value: { _id: 'i', _seq: 10 } }","date":"2013-08-23T21:17:28.192Z","type":"message"}
{"nick":"substack","message":"nice!","date":"2013-08-23T21:17:37.860Z","type":"message"}
{"nick":"jesusabdullah","message":"yo that's whack","date":"2013-08-23T21:17:51.084Z","type":"message"}
{"nick":"mbalho","message":"substack: have you ever done any R","date":"2013-08-23T21:17:53.086Z","type":"message"}
{"nick":"substack","message":"mbalho: some","date":"2013-08-23T21:17:57.977Z","type":"message"}
{"nick":"mbalho","message":"check out https://github.com/maxogden/dat/blob/master/examples/line-separated-json.r","date":"2013-08-23T21:18:02.200Z","type":"message"}
{"nick":"nicholasf","reason":"Read error: Connection reset by peer","date":"2013-08-23T21:18:04.357Z","type":"quit"}
{"nick":"mbalho","message":"im working on implementing a `dat cat` command which will print out all documents as line separated json objects","date":"2013-08-23T21:18:23.176Z","type":"message"}
{"nick":"nicholasf","date":"2013-08-23T21:18:36.019Z","type":"join"}
{"nick":"mbalho","message":"and then when i have that working im gonna work on a buncha streaming transformers in different languages","date":"2013-08-23T21:18:39.298Z","type":"message"}
{"nick":"substack","message":"mbalho: if you want even more compactness in the keys you can Buffer(convert(n))","date":"2013-08-23T21:18:40.474Z","type":"message"}
{"nick":"substack","message":"since it returns an array as the default encoding","date":"2013-08-23T21:18:48.881Z","type":"message"}
{"nick":"mbalho","message":"substack: i wanna keep it as string keys so it works in browser","date":"2013-08-23T21:19:16.833Z","type":"message"}
{"nick":"kumavis_","date":"2013-08-23T21:22:00.270Z","type":"join"}
{"nick":"dimadima","message":"E is way cooler","date":"2013-08-23T21:24:53.577Z","type":"message"}
{"nick":"dimadima","message":"than R","date":"2013-08-23T21:24:57.613Z","type":"message"}
{"nick":"jesusabdullah","message":"incorrect","date":"2013-08-23T21:26:42.124Z","type":"message"}
{"nick":"dimadima","message":"c'moonnnnn","date":"2013-08-23T21:26:57.086Z","type":"message"}
{"nick":"jesusabdullah","message":"Just don't remind me of the disappointment that was julia","date":"2013-08-23T21:27:44.776Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: https://npmjs.org/package/iterate-function","date":"2013-08-23T21:30:06.728Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: just sharing some random functional stuff cause I know you like that shits","date":"2013-08-23T21:30:20.135Z","type":"message"}
{"nick":"tmcw","message":"jesusabdullah: julia isn't cool? :/","date":"2013-08-23T21:32:34.272Z","type":"message"}
{"nick":"rch","message":"i like julia","date":"2013-08-23T21:33:29.991Z","type":"message"}
{"nick":"mbalho","message":"can julia parse json and read stdin/stdout?","date":"2013-08-23T21:33:36.131Z","type":"message"}
{"nick":"Raynos","message":":)","date":"2013-08-23T21:33:40.819Z","type":"message"}
{"nick":"tmcw","message":"looks like it? https://github.com/JuliaLang/JSON.jl","date":"2013-08-23T21:34:15.694Z","type":"message"}
{"nick":"rch","message":"there's actually a really fun ` macro","date":"2013-08-23T21:34:29.490Z","type":"message"}
{"nick":"rch","message":"http://docs.julialang.org/en/latest/manual/running-external-programs/#pipelines","date":"2013-08-23T21:34:49.629Z","type":"message"}
{"nick":"mbalho","message":"rch: can you write a program that reads line separated json on stdin, splits on newlines, parses each row, calls a transform function that does nothin, takes return value of function, stringifies it as a row, writes it as line separated json to stdout?","date":"2013-08-23T21:36:16.628Z","type":"message"}
{"nick":"rch","message":"mbalho: i expect i could, what's your point?","date":"2013-08-23T21:37:35.482Z","type":"message"}
{"nick":"jesusabdullah","message":"tmcw: it's half brilliant, half terrible. and I look at the ecosystem as much as I do the language itself","date":"2013-08-23T21:37:39.610Z","type":"message"}
{"nick":"mbalho","message":"rch: just wondering","date":"2013-08-23T21:37:48.372Z","type":"message"}
{"nick":"jesusabdullah","message":"tmcw: their package management system is painfully terrible","date":"2013-08-23T21:37:50.201Z","type":"message"}
{"nick":"rch","message":"mbalho: my main problem with julia is that i wish their module system was npmlike","date":"2013-08-23T21:37:56.310Z","type":"message"}
{"nick":"jesusabdullah","message":"^^^^^","date":"2013-08-23T21:38:01.896Z","type":"message"}
{"nick":"jesusabdullah","message":"I even told them to make it npm-like","date":"2013-08-23T21:38:06.435Z","type":"message"}
{"nick":"mbalho","message":"rch: main problem with <insert everything ever>","date":"2013-08-23T21:38:06.651Z","type":"message"}
{"nick":"jesusabdullah","message":"but it's like","date":"2013-08-23T21:38:08.085Z","type":"message"}
{"nick":"tmcw","message":"y, the ecosystem is a big deal for sure - I was under the impression that the ffi was good enough that the could co-opt some existing libraries though?","date":"2013-08-23T21:38:20.046Z","type":"message"}
{"nick":"rch","message":"jesusabdullah: yeah i was arguing for that over a year ago","date":"2013-08-23T21:38:24.410Z","type":"message"}
{"nick":"rch","message":"tmcw: the ffi is pretty good","date":"2013-08-23T21:38:29.729Z","type":"message"}
{"nick":"jesusabdullah","message":"they took the worst aspects of R package management and git submodules and mashed them together","date":"2013-08-23T21:38:43.731Z","type":"message"}
{"nick":"jesusabdullah","message":"Yeah, the ffi is great, the core of it is basically embedded scheme + macros on top of llvm","date":"2013-08-23T21:39:01.883Z","type":"message"}
{"nick":"jesusabdullah","message":"which is brilliant","date":"2013-08-23T21:39:11.308Z","type":"message"}
{"nick":"rch","message":"mbalho: manipulating data structures, binary arrays, and parsing are all reasonable in julia, reading and writing json over stdio shouldn't be an issue — the way you were asking though you made me assume there was one","date":"2013-08-23T21:39:13.653Z","type":"message"}
{"nick":"mbalho","message":"if the ecmadoods ever stop arguing about flow control and add some matrix/vector primitives to js it will make julia kinda pointless","date":"2013-08-23T21:39:13.871Z","type":"message"}
{"nick":"rch","message":"jesusabdullah: yeah i really like the architecture","date":"2013-08-23T21:39:22.950Z","type":"message"}
{"nick":"jesusabdullah","message":"mbalho: but phat arrow","date":"2013-08-23T21:39:37.481Z","type":"message"}
{"nick":"rch","message":"mbalho: i don't know i really like the type dispatch in julia, javascript will never have that","date":"2013-08-23T21:39:44.157Z","type":"message"}
{"nick":"tmcw","message":"it's hard to be npm, y'know","date":"2013-08-23T21:40:08.173Z","type":"message"}
{"nick":"jesusabdullah","message":"Yeah the multiple dispatch presents some really cool possibilities for optimizing functions based on type","date":"2013-08-23T21:40:12.472Z","type":"message"}
{"nick":"jesusabdullah","message":"tmcw: not really, just fork the registry XD","date":"2013-08-23T21:40:21.801Z","type":"message"}
{"nick":"rch","message":"they do dispatch the way i like, very few languages do","date":"2013-08-23T21:40:25.433Z","type":"message"}
{"nick":"tmcw","message":"heh","date":"2013-08-23T21:40:25.706Z","type":"message"}
{"nick":"mbalho","message":"dont even have to fork it","date":"2013-08-23T21:40:30.876Z","type":"message"}
{"nick":"jesusabdullah","message":"oh but yeah if you want to spend an afternoon facepalming","date":"2013-08-23T21:40:58.067Z","type":"message"}
{"nick":"jesusabdullah","message":"figure out how julia's package management works","date":"2013-08-23T21:41:06.227Z","type":"message"}
{"nick":"tilgovi","date":"2013-08-23T21:41:06.920Z","type":"join"}
{"nick":"rch","message":"one more thing i like is how much of julia is written in julia, this is a good example: https://github.com/JuliaLang/julia/blob/master/base/float.jl#L131","date":"2013-08-23T21:42:06.321Z","type":"message"}
{"nick":"rch","message":"mbalho: would love you to write another npm post about using npm for julia modules ;)","date":"2013-08-23T21:42:36.169Z","type":"message"}
{"nick":"mbalho","message":"lol","date":"2013-08-23T21:42:43.659Z","type":"message"}
{"nick":"tmcw","message":"y, i hate how so much of r is not written in r","date":"2013-08-23T21:43:07.318Z","type":"message"}
{"nick":"tmcw","message":"that was one of the main reasons for simple-statistics","date":"2013-08-23T21:43:15.844Z","type":"message"}
{"nick":"jesusabdullah","message":"hahaha","date":"2013-08-23T21:43:16.293Z","type":"message"}
{"nick":"jesusabdullah","message":"I feels ya","date":"2013-08-23T21:43:20.985Z","type":"message"}
{"nick":"jesusabdullah","message":"Honestly I should write a blog post criticising Julia","date":"2013-08-23T21:43:49.588Z","type":"message"}
{"nick":"tmcw","message":"like stats people are fine with the implementation being a black box that behaves the right way, it seems, but...","date":"2013-08-23T21:43:52.251Z","type":"message"}
{"nick":"jesusabdullah","message":"be a dick about it for once","date":"2013-08-23T21:43:56.278Z","type":"message"}
{"nick":"jesusabdullah","message":"not because I'm a mean person but because I think they might honestly not know how crappy their package management system is","date":"2013-08-23T21:44:10.157Z","type":"message"}
{"nick":"tmcw","message":"heh, no - write a blog post about using npm w/ julia :)","date":"2013-08-23T21:44:14.892Z","type":"message"}
{"nick":"tmcw","message":"be the change you want to see etc etc","date":"2013-08-23T21:44:26.428Z","type":"message"}
{"nick":"tmcw","message":"the internet is over its critique quota anyway","date":"2013-08-23T21:44:47.585Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah but I have some karma to burn","date":"2013-08-23T21:45:05.157Z","type":"message"}
{"nick":"jesusabdullah","message":"seriously though I'd at least make a proposal for something better","date":"2013-08-23T21:45:24.563Z","type":"message"}
{"nick":"jesusabdullah","message":"like, specific changes I'd make","date":"2013-08-23T21:45:30.147Z","type":"message"}
{"nick":"dominictarr","message":"okay, so. I just made a thing that allows me to push deploy to iframes","date":"2013-08-23T21:53:00.061Z","type":"message"}
{"nick":"rch","message":"anyone want to clue me into what node is doing when it accepts --trace-hydrogen but doesn't output a hydrogen.cfg ?","date":"2013-08-23T21:54:12.958Z","type":"message"}
{"nick":"rch","action":"shoots in the dark","date":"2013-08-23T21:54:50.061Z","type":"action"}
{"nick":"jesusabdullah","message":"idk what those are, try #node.js maybe ?","date":"2013-08-23T21:55:03.695Z","type":"message"}
{"nick":"coderzach","reason":"Quit: coderzach","date":"2013-08-23T21:55:13.088Z","type":"quit"}
{"nick":"rch","message":"hmmm","date":"2013-08-23T21:55:34.019Z","type":"message"}
{"nick":"evbogue_","date":"2013-08-23T21:55:56.649Z","type":"join"}
{"nick":"DTrejo","date":"2013-08-23T21:56:00.105Z","type":"join"}
{"nick":"evbogue_","reason":"Client Quit","date":"2013-08-23T21:57:06.277Z","type":"quit"}
{"nick":"evbogue","date":"2013-08-23T21:58:00.623Z","type":"join"}
{"nick":"no9","date":"2013-08-23T21:59:04.509Z","type":"join"}
{"nick":"rxgx","date":"2013-08-23T22:03:55.655Z","type":"join"}
{"nick":"coderzach","date":"2013-08-23T22:04:59.916Z","type":"join"}
{"nick":"AvianFlu","date":"2013-08-23T22:09:56.030Z","type":"join"}
{"nick":"kevino80","reason":"Remote host closed the connection","date":"2013-08-23T22:11:07.334Z","type":"quit"}
{"nick":"dguttman","date":"2013-08-23T22:15:15.508Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 264 seconds","date":"2013-08-23T22:20:38.808Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-08-23T22:21:48.782Z","type":"join"}
{"nick":"stagas","reason":"Read error: Connection reset by peer","date":"2013-08-23T22:39:14.491Z","type":"quit"}
{"nick":"mikolalysenko","message":"anyone here use ws?","date":"2013-08-23T22:56:49.513Z","type":"message"}
{"nick":"DTrejo_","date":"2013-08-23T22:57:16.754Z","type":"join"}
{"nick":"rxgx","reason":"Quit: timeout","date":"2013-08-23T22:59:10.538Z","type":"quit"}
{"nick":"DTrejo","reason":"Ping timeout: 246 seconds","date":"2013-08-23T22:59:16.893Z","type":"quit"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T22:59:21.045Z","type":"quit"}
{"nick":"damonoehlman","date":"2013-08-23T23:03:13.538Z","type":"join"}
{"nick":"damonoehlman","reason":"Client Quit","date":"2013-08-23T23:04:56.316Z","type":"quit"}
{"nick":"DTrejo_","reason":"Remote host closed the connection","date":"2013-08-23T23:08:07.022Z","type":"quit"}
{"nick":"st_luke","message":"mikolalysenko: yea","date":"2013-08-23T23:09:37.086Z","type":"message"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-08-23T23:09:38.687Z","type":"quit"}
{"nick":"mikolalysenko","message":"actually I think I figured out the issue...","date":"2013-08-23T23:13:11.167Z","type":"message"}
{"nick":"mikolalysenko","message":"mbalho: also, in auth-socket is there a simple way to get the profile for a socket connection?","date":"2013-08-23T23:13:30.098Z","type":"message"}
{"nick":"whit537","date":"2013-08-23T23:18:50.895Z","type":"join"}
{"nick":"evbogue","reason":"Ping timeout: 245 seconds","date":"2013-08-23T23:22:06.706Z","type":"quit"}
{"nick":"tmcw","date":"2013-08-23T23:22:29.216Z","type":"join"}
{"nick":"whit537","reason":"Quit: whit537","date":"2013-08-23T23:25:38.111Z","type":"quit"}
{"nick":"frankblizzard","date":"2013-08-23T23:25:43.952Z","type":"join"}
{"nick":"mikolalysenko","message":"mbalho: also, is there any reason the leveldown version in doorknob is like ~0.2 versions behind?","date":"2013-08-23T23:25:59.234Z","type":"message"}
{"nick":"soldair","date":"2013-08-23T23:26:14.221Z","type":"join"}
{"nick":"whit537","date":"2013-08-23T23:26:23.563Z","type":"join"}
{"nick":"chilts","reason":"Ping timeout: 248 seconds","date":"2013-08-23T23:26:29.745Z","type":"quit"}
{"nick":"chilts","date":"2013-08-23T23:27:19.178Z","type":"join"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-08-23T23:31:55.108Z","type":"quit"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-08-23T23:36:14.966Z","type":"quit"}
{"nick":"st_luke","date":"2013-08-23T23:37:54.583Z","type":"join"}
{"nick":"evbogue","date":"2013-08-23T23:51:56.675Z","type":"join"}
{"nick":"defunctzombie","message":"isaacs: like the new post","date":"2013-08-23T23:53:52.439Z","type":"message"}
{"nick":"defunctzombie","message":"isaacs: one comment I have is about the following line: \"x = foo();\"","date":"2013-08-23T23:54:01.772Z","type":"message"}
{"nick":"isaacs","message":"k","date":"2013-08-23T23:54:26.901Z","type":"message"}
{"nick":"defunctzombie","message":"you talk about needing to know whether other parts of the program could execute or not","date":"2013-08-23T23:54:29.868Z","type":"message"}
{"nick":"isaacs","message":"es","date":"2013-08-23T23:54:34.751Z","type":"message"}
{"nick":"defunctzombie","message":"I agree that you could know if you wanted to, but that it isn't *that* important","date":"2013-08-23T23:54:52.763Z","type":"message"}
{"nick":"defunctzombie","message":"and that having simple syntax like that for \"async\" things outweighs other factors","date":"2013-08-23T23:55:09.884Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: my point was, either foo() is async, or it isn't.","date":"2013-08-23T23:55:26.821Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: the syntax doens't matter.","date":"2013-08-23T23:55:30.340Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: but, if foo() is *sometimes* async, but *sometimes* not async, then fuck you.","date":"2013-08-23T23:55:41.040Z","type":"message"}
{"nick":"defunctzombie","message":"yes, I agree with all that stuff","date":"2013-08-23T23:55:41.567Z","type":"message"}
{"nick":"isaacs","message":"i mean, then it fucks you.","date":"2013-08-23T23:55:45.209Z","type":"message"}
{"nick":"isaacs","message":"right in the soul.","date":"2013-08-23T23:55:49.079Z","type":"message"}
{"nick":"defunctzombie","message":";)","date":"2013-08-23T23:55:52.179Z","type":"message"}
{"nick":"isaacs","message":"with long dark tendrils of madness","date":"2013-08-23T23:55:58.159Z","type":"message"}
{"nick":"isaacs","message":"just sayin","date":"2013-08-23T23:56:00.359Z","type":"message"}
{"nick":"defunctzombie","message":"I actually think that it is less of an issue when the syntax looks like that","date":"2013-08-23T23:56:05.004Z","type":"message"}
{"nick":"defunctzombie","message":"(that is graphic)","date":"2013-08-23T23:56:10.682Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: you are mistaken :)","date":"2013-08-23T23:56:11.992Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: it's MORE of an issue when the syntax looks like that","date":"2013-08-23T23:56:36.760Z","type":"message"}
{"nick":"defunctzombie","message":"why?","date":"2013-08-23T23:56:41.055Z","type":"message"}
{"nick":"defunctzombie","message":"just assume some other code could run","date":"2013-08-23T23:57:02.910Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: because it's an issue all the time. but at least, when the syntax looks like foo(function(x){ .. }) or x = await foo(); or x = yield foo();, then in your mind, you say, \"Aha, this is a thing, I must be aware of this.\"","date":"2013-08-23T23:57:26.589Z","type":"message"}
{"nick":"defunctzombie","message":"nope","date":"2013-08-23T23:57:36.590Z","type":"message"}
{"nick":"defunctzombie","message":"I am saying it doesn't matter","date":"2013-08-23T23:57:43.540Z","type":"message"}
{"nick":"defunctzombie","message":"you dont' need the keyword","date":"2013-08-23T23:57:47.080Z","type":"message"}
{"nick":"isaacs","message":"however, when you have `x = foo()`, and in fact, it pauses the stack there, and runs some other stuff, *but only sometimes*, then you can't reason any more about any line in your program *at all*","date":"2013-08-23T23:58:07.868Z","type":"message"}
{"nick":"defunctzombie","message":"you only think it matters cause you want some feeling of lower level control","date":"2013-08-23T23:58:12.747Z","type":"message"}
{"nick":"isaacs","message":"if anything, sync-looking code makes zalgo MorE of a threat.","date":"2013-08-23T23:58:16.567Z","type":"message"}
{"nick":"no9","reason":"Quit: Leaving","date":"2013-08-23T23:58:19.394Z","type":"quit"}
{"nick":"defunctzombie","message":"sure you can","date":"2013-08-23T23:58:19.715Z","type":"message"}
{"nick":"defunctzombie","message":"you can reason that line will return when foo is done","date":"2013-08-23T23:58:26.776Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: ok","date":"2013-08-23T23:58:35.296Z","type":"message"}
{"nick":"defunctzombie","message":"foo does whatever foo needs to do","date":"2013-08-23T23:58:38.846Z","type":"message"}
{"nick":"defunctzombie","message":"that is all you get","date":"2013-08-23T23:58:42.819Z","type":"message"}
{"nick":"defunctzombie","message":"if you care about *how* foo does it, then you are no longer just calling foo","date":"2013-08-23T23:59:00.787Z","type":"message"}
{"nick":"isaacs","message":"function dofoo() { x = foo() }; function doBar() { bar() }; console.log('before'); doFoo(); doBar(); console.log('after x = ', x)","date":"2013-08-23T23:59:05.687Z","type":"message"}
{"nick":"defunctzombie","message":"you are now relying on how foo does something","date":"2013-08-23T23:59:08.024Z","type":"message"}
{"nick":"defunctzombie","message":"fucking IRC... now I need to \\n this haha","date":"2013-08-23T23:59:28.399Z","type":"message"}
{"nick":"isaacs","message":"defunctzombie: if the pause is not \"all the way up the stack\", and other parts of the program can do stuff in that time, then zalgo HE COMES","date":"2013-08-23T23:59:35.247Z","type":"message"}
{"nick":"defunctzombie","message":"what is the issue with that code?","date":"2013-08-23T23:59:52.151Z","type":"message"}