/
2013-05-25.txt
655 lines (655 loc) · 77.5 KB
/
2013-05-25.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
{"nick":"ircretary","reason":"Remote host closed the connection","date":"2013-05-25T00:00:00.365Z","type":"quit"}
{"nick":"ircretary","date":"2013-05-25T00:00:07.645Z","type":"join"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-05-25T00:03:05.944Z","type":"quit"}
{"nick":"mikolalysenko","reason":"Ping timeout: 252 seconds","date":"2013-05-25T00:04:16.399Z","type":"quit"}
{"nick":"thl0","date":"2013-05-25T00:05:02.280Z","type":"join"}
{"nick":"no9","reason":"Ping timeout: 252 seconds","date":"2013-05-25T00:05:22.442Z","type":"quit"}
{"nick":"thl0","reason":"Remote host closed the connection","date":"2013-05-25T00:12:47.025Z","type":"quit"}
{"nick":"thl0","date":"2013-05-25T00:13:26.066Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-05-25T00:15:20.940Z","type":"quit"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-05-25T00:17:20.413Z","type":"quit"}
{"nick":"substack","message":"http://video.nodepdx.org/video/4/beep-boop","date":"2013-05-25T00:18:25.812Z","type":"message"}
{"nick":"no9","date":"2013-05-25T00:19:12.881Z","type":"join"}
{"nick":"Raynos","message":"why does `$ npm info json-globals | grep \"npm ERR! 404 You should bug the author to publish it\"` not work ?","date":"2013-05-25T00:28:39.032Z","type":"message"}
{"nick":"Raynos","message":"it prints everything?","date":"2013-05-25T00:28:44.127Z","type":"message"}
{"nick":"chilts","message":"it is output on stderr","date":"2013-05-25T00:29:20.498Z","type":"message"}
{"nick":"chilts","message":"grep only gets stdout","date":"2013-05-25T00:29:24.047Z","type":"message"}
{"nick":"chilts","message":"Raynos: npm info json-globals 2>&1 | grep \"npm ERR! 404 You should bug the author to publish it\"","date":"2013-05-25T00:30:00.169Z","type":"message"}
{"nick":"Raynos","message":":(","date":"2013-05-25T00:31:10.817Z","type":"message"}
{"nick":"Raynos","message":"also","date":"2013-05-25T00:31:17.104Z","type":"message"}
{"nick":"Raynos","message":"how do I learn shell script","date":"2013-05-25T00:31:21.954Z","type":"message"}
{"nick":"chilts","message":"my pleasure","date":"2013-05-25T00:31:52.120Z","type":"message"}
{"nick":"Raynos","message":"remind me again","date":"2013-05-25T00:31:56.531Z","type":"message"}
{"nick":"Raynos","message":"what 2>&1 means","date":"2013-05-25T00:31:59.126Z","type":"message"}
{"nick":"thl0","reason":"Remote host closed the connection","date":"2013-05-25T00:32:14.204Z","type":"quit"}
{"nick":"st_luke","date":"2013-05-25T00:35:13.058Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-05-25T00:36:13.661Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-05-25T00:38:27.748Z","type":"join"}
{"nick":"fallsemo","date":"2013-05-25T00:47:43.105Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 248 seconds","date":"2013-05-25T00:54:29.664Z","type":"quit"}
{"nick":"thatguydan","date":"2013-05-25T00:59:35.683Z","type":"join"}
{"nick":"thatguydan","date":"2013-05-25T01:00:31.375Z","type":"part"}
{"nick":"dguttman","reason":"Quit: dguttman","date":"2013-05-25T01:04:24.667Z","type":"quit"}
{"nick":"jjjjohnn1y","message":"whats the voting method where everybody has a vote but they can give their vote to somebody else?","date":"2013-05-25T01:16:52.226Z","type":"message"}
{"nick":"jjjjohnn1y","message":"or \"attach\" their vote,","date":"2013-05-25T01:17:11.885Z","type":"message"}
{"nick":"jjjjohnn1y","message":"email me mostmodernist@gmail.com","date":"2013-05-25T01:19:30.906Z","type":"message"}
{"nick":"jesusabdullah","message":"no idea","date":"2013-05-25T01:22:45.685Z","type":"message"}
{"nick":"Wraithan","date":"2013-05-25T01:34:41.348Z","type":"join"}
{"nick":"thl0","date":"2013-05-25T01:35:52.180Z","type":"join"}
{"nick":"jibay","reason":"Quit: Leaving","date":"2013-05-25T01:41:40.220Z","type":"quit"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-05-25T01:47:14.341Z","type":"quit"}
{"nick":"mikeal","date":"2013-05-25T01:52:30.538Z","type":"join"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-05-25T02:03:01.708Z","type":"quit"}
{"nick":"Raynos","message":"isaacs: I've gotten to the point where writing a PR for npm is faster then explaining my problem / asking for advice. This is very satisfying","date":"2013-05-25T02:03:14.770Z","type":"message"}
{"nick":"shuaib","reason":"Ping timeout: 260 seconds","date":"2013-05-25T02:03:59.829Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T02:08:23.827Z","type":"join"}
{"nick":"owen1","reason":"Ping timeout: 252 seconds","date":"2013-05-25T02:17:22.492Z","type":"quit"}
{"nick":"Raynos","message":"thl0: how is testlingify doing?","date":"2013-05-25T02:20:16.337Z","type":"message"}
{"nick":"thl0","message":"getting there","date":"2013-05-25T02:20:31.058Z","type":"message"}
{"nick":"thl0","message":"able to query hooks - just trying to get some tests going that I can run locally at least","date":"2013-05-25T02:20:54.600Z","type":"message"}
{"nick":"jesusabdullah","message":"what will testlingify do?","date":"2013-05-25T02:21:05.458Z","type":"message"}
{"nick":"thl0","message":"so by the end of this weekend we'll have something working","date":"2013-05-25T02:21:15.027Z","type":"message"}
{"nick":"thl0","message":"jesusabdullah: it'll create github hook for your repo and add a testling browser config to your package","date":"2013-05-25T02:21:53.620Z","type":"message"}
{"nick":"thl0","message":"kinda similar to travisify","date":"2013-05-25T02:22:05.235Z","type":"message"}
{"nick":"jcrugzz","reason":"Read error: Connection reset by peer","date":"2013-05-25T02:25:25.095Z","type":"quit"}
{"nick":"jesusabdullah","message":"ahhh","date":"2013-05-25T02:26:11.803Z","type":"message"}
{"nick":"jesusabdullah","message":"fun","date":"2013-05-25T02:26:16.136Z","type":"message"}
{"nick":"jesusabdullah","message":"is testling free for light usage? I don't remember","date":"2013-05-25T02:26:24.285Z","type":"message"}
{"nick":"thl0","message":"yep","date":"2013-05-25T02:26:33.038Z","type":"message"}
{"nick":"jcrugzz","date":"2013-05-25T02:26:50.426Z","type":"join"}
{"nick":"thl0","message":"totally free - get on board with it and browserify","date":"2013-05-25T02:26:57.255Z","type":"message"}
{"nick":"thl0","message":"Raynos: how is npmify?","date":"2013-05-25T02:30:20.331Z","type":"message"}
{"nick":"owen1","date":"2013-05-25T02:30:37.453Z","type":"join"}
{"nick":"Raynos","message":"https://github.com/Raynos/dotfiles/blob/master/.functions#L11","date":"2013-05-25T02:30:42.956Z","type":"message"}
{"nick":"thl0","message":"thought you were gonna make some of this into a module?","date":"2013-05-25T02:31:13.953Z","type":"message"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T02:32:35.736Z","type":"quit"}
{"nick":"thl0","message":"Raynos: get-hook tested: https://github.com/thlorenz/testlingify/blob/master/test/get-testling-hook.js","date":"2013-05-25T02:37:01.745Z","type":"message"}
{"nick":"Raynos","message":"thl0: shell scripts","date":"2013-05-25T02:39:54.927Z","type":"message"}
{"nick":"Raynos","message":"are easier","date":"2013-05-25T02:39:55.960Z","type":"message"}
{"nick":"thl0","message":"but only run on unix","date":"2013-05-25T02:40:25.143Z","type":"message"}
{"nick":"thl0","message":"so unless you wanna alienate all the windows users you gotta stick with the common denominator","date":"2013-05-25T02:40:56.236Z","type":"message"}
{"nick":"Raynos","message":"ill rewrite them","date":"2013-05-25T02:41:22.185Z","type":"message"}
{"nick":"Raynos","message":"to node modules","date":"2013-05-25T02:41:23.785Z","type":"message"}
{"nick":"Raynos","message":"once i've figure out the flow","date":"2013-05-25T02:41:28.449Z","type":"message"}
{"nick":"Raynos","message":"also fuck windows users","date":"2013-05-25T02:41:44.531Z","type":"message"}
{"nick":"thl0","message":"Raynos: also shell scripts are just easier since the tools are more mature","date":"2013-05-25T02:41:55.972Z","type":"message"}
{"nick":"thl0","message":"i.e. if there was a curl for node it'd be about the same","date":"2013-05-25T02:42:21.666Z","type":"message"}
{"nick":"thl0","message":"on the other hand with request it's quite simple really, so I take that back","date":"2013-05-25T02:42:37.977Z","type":"message"}
{"nick":"thl0","message":"it is about the same if you consider all the error handling you'd still have to do in your shell scripts","date":"2013-05-25T02:42:57.596Z","type":"message"}
{"nick":"thl0","message":"Raynos: all the window users hate you now :P","date":"2013-05-25T02:43:27.925Z","type":"message"}
{"nick":"thl0","message":"all two of them (one being Domenic_)","date":"2013-05-25T02:43:41.687Z","type":"message"}
{"nick":"no9","reason":"Ping timeout: 256 seconds","date":"2013-05-25T02:52:29.874Z","type":"quit"}
{"nick":"owen1","reason":"Ping timeout: 240 seconds","date":"2013-05-25T02:58:52.962Z","type":"quit"}
{"nick":"thl0","message":"substack: pkrumins: how does testling.ci know which repo I pushed to (since all hooks are same url)?","date":"2013-05-25T03:00:44.802Z","type":"message"}
{"nick":"thl0","message":"is it the origin of the request?","date":"2013-05-25T03:00:52.033Z","type":"message"}
{"nick":"thl0","message":"cuz that would be hard for testlingify to fake out when testing the hook","date":"2013-05-25T03:01:14.211Z","type":"message"}
{"nick":"shuaib","date":"2013-05-25T03:03:26.639Z","type":"join"}
{"nick":"substack","message":"thl0: the payload we get from github has all that info in it","date":"2013-05-25T03:03:28.008Z","type":"message"}
{"nick":"substack","message":"I think it's completely silly how other webhooks have custom urls","date":"2013-05-25T03:03:42.729Z","type":"message"}
{"nick":"substack","message":"since the pyaload already has everything in it","date":"2013-05-25T03:03:58.085Z","type":"message"}
{"nick":"thl0","message":"hm","date":"2013-05-25T03:04:01.274Z","type":"message"}
{"nick":"thl0","message":"I don't see a body in the request that github sends when I do 'Test Hook'","date":"2013-05-25T03:04:44.472Z","type":"message"}
{"nick":"thl0","message":"or is it the headers you are looking at? i.e. Referer:https://github.com/thlorenz/brace/settings/hooks","date":"2013-05-25T03:05:05.587Z","type":"message"}
{"nick":"jiangplus","date":"2013-05-25T03:06:00.011Z","type":"join"}
{"nick":"thl0","message":"substack: I also see a spy_repo cookie - is that it maybe?","date":"2013-05-25T03:06:09.433Z","type":"message"}
{"nick":"thl0","message":"substack: but my Form-Data field is clearly empty as is the preview, so I'm pretty sure it doesn't send a request body (unless I'm missing something)","date":"2013-05-25T03:07:22.969Z","type":"message"}
{"nick":"substack","message":"?","date":"2013-05-25T03:08:06.527Z","type":"message"}
{"nick":"substack","message":"you must be missing something","date":"2013-05-25T03:08:11.861Z","type":"message"}
{"nick":"substack","message":"https://help.github.com/articles/post-receive-hooks#the-payload","date":"2013-05-25T03:08:50.869Z","type":"message"}
{"nick":"shama","reason":"Remote host closed the connection","date":"2013-05-25T03:08:51.890Z","type":"quit"}
{"nick":"thl0","message":"ok, so it is sending a request body for sure when testing the hook","date":"2013-05-25T03:08:55.878Z","type":"message"}
{"nick":"thl0","message":"thanks","date":"2013-05-25T03:08:57.860Z","type":"message"}
{"nick":"jiangplus","date":"2013-05-25T03:11:22.290Z","type":"part"}
{"nick":"owen1","date":"2013-05-25T03:12:24.336Z","type":"join"}
{"nick":"thl0","message":"substack: oh shoot I think I got it now - the post you are getting is initiated from the server","date":"2013-05-25T03:14:41.600Z","type":"message"}
{"nick":"thl0","message":"of course it has to - it's xdomain -- time to finally wake up or just go to bed ;)","date":"2013-05-25T03:15:05.808Z","type":"message"}
{"nick":"substack","message":"yep!","date":"2013-05-25T03:33:09.227Z","type":"message"}
{"nick":"jesusabdullah","action":"is gonna write himself a blog post or two","date":"2013-05-25T03:42:29.275Z","type":"action"}
{"nick":"jesusabdullah","message":"it's been a while! I think the last time I blogged about something was ddgbot","date":"2013-05-25T03:42:41.191Z","type":"message"}
{"nick":"thl0","message":"substack: shelfing this at this point, hitting testling git end point server, but not kicking off build","date":"2013-05-25T03:46:03.677Z","type":"message"}
{"nick":"thl0","message":"https://github.com/thlorenz/testlingify/blob/master/test-testling-hook.js","date":"2013-05-25T03:46:20.670Z","type":"message"}
{"nick":"thl0","message":"will focus on other parts tomorrow first - testing the hook is not super important I guess","date":"2013-05-25T03:46:50.680Z","type":"message"}
{"nick":"thl0","message":"substack: problem is that I don't know exactly what of the commit data you actually need - it basically requires me to simulate one commit","date":"2013-05-25T03:50:11.391Z","type":"message"}
{"nick":"thl0","reason":"Remote host closed the connection","date":"2013-05-25T03:56:05.407Z","type":"quit"}
{"nick":"timoxley","date":"2013-05-25T03:57:36.990Z","type":"join"}
{"nick":"substack","message":"oh don't do that >_<","date":"2013-05-25T04:01:05.537Z","type":"message"}
{"nick":"substack","message":"hooks should only come from github's servers","date":"2013-05-25T04:01:12.715Z","type":"message"}
{"nick":"timoxley","reason":"Quit: Computer has gone to sleep.","date":"2013-05-25T04:02:44.833Z","type":"quit"}
{"nick":"dominictarr","date":"2013-05-25T04:03:19.758Z","type":"join"}
{"nick":"dominictarr","reason":"Client Quit","date":"2013-05-25T04:03:32.524Z","type":"quit"}
{"nick":"jesusabdullah","message":"whateva, whateva, I do wha' I wan'!","date":"2013-05-25T04:05:35.424Z","type":"message"}
{"nick":"jesusabdullah","message":"I'm so outta control I made a git hook to simulate github's hooking api! Whateva, I do wha' I wan'!","date":"2013-05-25T04:05:56.013Z","type":"message"}
{"nick":"shuaib","reason":"Ping timeout: 248 seconds","date":"2013-05-25T04:20:21.634Z","type":"quit"}
{"nick":"Wraithan","message":"Is there a index of all these 'ify'-ers like travisify and such?","date":"2013-05-25T04:26:16.656Z","type":"message"}
{"nick":"tmcw","date":"2013-05-25T04:26:19.760Z","type":"join"}
{"nick":"timoxley","date":"2013-05-25T04:26:21.600Z","type":"join"}
{"nick":"jesusabdullah","message":"Wraithan: npm? XD","date":"2013-05-25T04:26:31.774Z","type":"message"}
{"nick":"jesusabdullah","message":"Wraithan: npm search ify","date":"2013-05-25T04:26:36.786Z","type":"message"}
{"nick":"tmcw","reason":"Remote host closed the connection","date":"2013-05-25T04:27:42.677Z","type":"quit"}
{"nick":"Wraithan","message":"Tried that on the web interface and it was a crapshoot","date":"2013-05-25T04:27:49.251Z","type":"message"}
{"nick":"Wraithan","message":"I didn't try the cli though","date":"2013-05-25T04:27:54.017Z","type":"message"}
{"nick":"jesusabdullah","message":"it's still a crap shoot XD","date":"2013-05-25T04:28:16.523Z","type":"message"}
{"nick":"Wraithan","message":"lol","date":"2013-05-25T04:28:23.210Z","type":"message"}
{"nick":"substack","message":"I only use the `npm search`","date":"2013-05-25T04:29:47.455Z","type":"message"}
{"nick":"Wraithan","message":"I tend to use the webinterface so I can open several packages in tabs and go through their readmes and sources","date":"2013-05-25T04:30:34.781Z","type":"message"}
{"nick":"timoxley","reason":"Client Quit","date":"2013-05-25T04:30:52.231Z","type":"quit"}
{"nick":"timoxley","date":"2013-05-25T04:31:37.418Z","type":"join"}
{"nick":"st_luke","date":"2013-05-25T04:32:32.839Z","type":"join"}
{"nick":"timoxley","reason":"Client Quit","date":"2013-05-25T04:36:02.285Z","type":"quit"}
{"nick":"AvianFlu","reason":"Remote host closed the connection","date":"2013-05-25T04:40:24.639Z","type":"quit"}
{"nick":"timoxley","date":"2013-05-25T05:01:27.167Z","type":"join"}
{"nick":"shuaib","date":"2013-05-25T05:04:12.096Z","type":"join"}
{"nick":"timoxley","reason":"Quit: Computer has gone to sleep.","date":"2013-05-25T05:19:20.395Z","type":"quit"}
{"nick":"Raynos","message":"I started doing actual bash scripts","date":"2013-05-25T05:22:51.800Z","type":"message"}
{"nick":"Raynos","message":"this week","date":"2013-05-25T05:22:53.001Z","type":"message"}
{"nick":"Raynos","message":"and now I am automating away bullshit !","date":"2013-05-25T05:23:00.844Z","type":"message"}
{"nick":"jesusabdullah","message":"I bet you are XD","date":"2013-05-25T05:24:01.403Z","type":"message"}
{"nick":"substack","message":"hooray!","date":"2013-05-25T05:30:25.525Z","type":"message"}
{"nick":"Raynos","message":"substack: any tips on learning bash?","date":"2013-05-25T05:33:37.144Z","type":"message"}
{"nick":"Raynos","message":"I feel like all my searches in google get the equivelant of w3schools javascript tutorials","date":"2013-05-25T05:34:06.589Z","type":"message"}
{"nick":"dguttman","date":"2013-05-25T05:34:40.511Z","type":"join"}
{"nick":"no9","date":"2013-05-25T05:34:52.745Z","type":"join"}
{"nick":"dguttman","reason":"Client Quit","date":"2013-05-25T05:37:18.408Z","type":"quit"}
{"nick":"substack","message":"man bash","date":"2013-05-25T05:37:18.645Z","type":"message"}
{"nick":"substack","message":"best way","date":"2013-05-25T05:37:23.837Z","type":"message"}
{"nick":"jesusabdullah","message":"I always run into http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html or similar and, like, it has enough to get going","date":"2013-05-25T05:38:24.111Z","type":"message"}
{"nick":"Raynos","message":"I see","date":"2013-05-25T05:38:32.764Z","type":"message"}
{"nick":"jesusabdullah","message":"everything else I learn is by reading other peoples' scripts","date":"2013-05-25T05:38:34.153Z","type":"message"}
{"nick":"jesusabdullah","message":"also yes built-in docs are reasonable","date":"2013-05-25T05:38:40.934Z","type":"message"}
{"nick":"Raynos","message":"meow","date":"2013-05-25T05:38:56.553Z","type":"message"}
{"nick":"Raynos","message":"i am trying to write .functions","date":"2013-05-25T05:39:04.852Z","type":"message"}
{"nick":"Raynos","message":"in my dotfiles","date":"2013-05-25T05:39:06.856Z","type":"message"}
{"nick":"substack","message":"Raynos: you probably already know enough bash to be dangerous if you use a shell all the time","date":"2013-05-25T05:40:16.584Z","type":"message"}
{"nick":"Raynos","message":"?","date":"2013-05-25T05:40:32.807Z","type":"message"}
{"nick":"substack","message":"redirects, pipes, basic syntax","date":"2013-05-25T05:40:50.250Z","type":"message"}
{"nick":"substack","message":"all you need really","date":"2013-05-25T05:40:54.425Z","type":"message"}
{"nick":"dguttman","date":"2013-05-25T05:40:58.963Z","type":"join"}
{"nick":"substack","message":"there's a lot of stuff in bash but you can get a lot done with a very restricted subset","date":"2013-05-25T05:41:11.386Z","type":"message"}
{"nick":"dguttman","reason":"Client Quit","date":"2013-05-25T05:41:27.162Z","type":"quit"}
{"nick":"Raynos","message":"well","date":"2013-05-25T05:43:41.985Z","type":"message"}
{"nick":"Raynos","message":"im interested in writing little functions","date":"2013-05-25T05:43:49.275Z","type":"message"}
{"nick":"Raynos","message":"I started working on `npmify module-name ./lib/some-code.js` ( https://github.com/Raynos/dotfiles/blob/master/.functions#L11 )","date":"2013-05-25T05:44:19.964Z","type":"message"}
{"nick":"mikeal","date":"2013-05-25T05:50:16.899Z","type":"join"}
{"nick":"dguttman","date":"2013-05-25T05:54:38.881Z","type":"join"}
{"nick":"dguttman","reason":"Client Quit","date":"2013-05-25T05:55:47.158Z","type":"quit"}
{"nick":"stagas","date":"2013-05-25T05:56:32.263Z","type":"join"}
{"nick":"vitorpacheco","reason":"Read error: Connection reset by peer","date":"2013-05-25T05:58:37.995Z","type":"quit"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T06:07:48.316Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T06:11:41.380Z","type":"join"}
{"nick":"dguttman","date":"2013-05-25T06:16:00.018Z","type":"join"}
{"nick":"dguttman","reason":"Client Quit","date":"2013-05-25T06:16:53.300Z","type":"quit"}
{"nick":"timoxley","date":"2013-05-25T06:23:50.789Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-05-25T06:30:31.561Z","type":"quit"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T06:31:38.162Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-05-25T06:32:15.280Z","type":"join"}
{"nick":"CoverSli1e","reason":"Ping timeout: 252 seconds","date":"2013-05-25T06:47:08.928Z","type":"quit"}
{"nick":"jcrugzz","reason":"Ping timeout: 264 seconds","date":"2013-05-25T06:50:19.281Z","type":"quit"}
{"nick":"substack","message":"https://github.com/substack/hyperspace","date":"2013-05-25T07:01:23.389Z","type":"message"}
{"nick":"substack","message":"refinement of the latest stream handbook section in module form","date":"2013-05-25T07:01:41.497Z","type":"message"}
{"nick":"shuaib","date":"2013-05-25T07:06:14.438Z","type":"join"}
{"nick":"substack","message":"juliangruber: ^^^","date":"2013-05-25T07:11:33.490Z","type":"message"}
{"nick":"substack","message":"next I want custom sorting and the functionality to do lazy loading/\"more\" button","date":"2013-05-25T07:14:31.682Z","type":"message"}
{"nick":"substack","message":"that should plug into tacodb so well","date":"2013-05-25T07:14:40.818Z","type":"message"}
{"nick":"jesusabdullah","message":"what is a tacodb","date":"2013-05-25T07:14:47.883Z","type":"message"}
{"nick":"substack","message":"it's a scuttlebutt/leveldb thing that doesn't exist yet","date":"2013-05-25T07:15:01.322Z","type":"message"}
{"nick":"jesusabdullah","message":"ruh-huh","date":"2013-05-25T07:15:08.123Z","type":"message"}
{"nick":"substack","message":"dominictarr is working on it","date":"2013-05-25T07:15:10.986Z","type":"message"}
{"nick":"substack","message":"I will convince him to make it work like `tail -f`","date":"2013-05-25T07:15:29.338Z","type":"message"}
{"nick":"jesusabdullah","message":"sounds promising","date":"2013-05-25T07:15:33.328Z","type":"message"}
{"nick":"jesusabdullah","message":"I mean, a _changes feed is a pretty sweet feature","date":"2013-05-25T07:15:49.622Z","type":"message"}
{"nick":"jesusabdullah","message":"doubt it would be that hard to implement","date":"2013-05-25T07:15:55.233Z","type":"message"}
{"nick":"substack","message":"in tacodb ANY result can be its own _changes feed","date":"2013-05-25T07:16:27.470Z","type":"message"}
{"nick":"substack","message":"in my head this is how it will work","date":"2013-05-25T07:16:43.321Z","type":"message"}
{"nick":"jesusabdullah","message":"ruh-huh","date":"2013-05-25T07:17:21.876Z","type":"message"}
{"nick":"jesusabdullah","message":"I see","date":"2013-05-25T07:17:22.993Z","type":"message"}
{"nick":"jesusabdullah","message":"as long as I can CRUD it up","date":"2013-05-25T07:17:53.254Z","type":"message"}
{"nick":"jesusabdullah","message":"like some kinda CRUD MACHINE","date":"2013-05-25T07:18:11.870Z","type":"message"}
{"nick":"jesusabdullah","message":"https://github.com/flatiron/resourceful/issues/95#issuecomment-12454995 wahh wahh wahhhhhhh","date":"2013-05-25T07:19:22.157Z","type":"message"}
{"nick":"substack","message":"jesusabdullah: what is resourceful for?","date":"2013-05-25T07:20:55.402Z","type":"message"}
{"nick":"mikolalysenko","reason":"Ping timeout: 264 seconds","date":"2013-05-25T07:21:31.287Z","type":"quit"}
{"nick":"substack","message":"\"Resources are business logic wrapped in prototypical models with schema and validation\"","date":"2013-05-25T07:21:44.222Z","type":"message"}
{"nick":"substack","message":"\"Isomorphic Resource engine for JavaScript\"","date":"2013-05-25T07:21:50.777Z","type":"message"}
{"nick":"substack","message":"what does this even mean","date":"2013-05-25T07:21:54.508Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: resourceful was supposed to be an odm, which maps databases to objects, but it's not very good at it","date":"2013-05-25T07:22:33.430Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: it's a reasonably good idea but the abstraction's pretty jacked up in resourceful","date":"2013-05-25T07:24:00.185Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: you mentioned a scope detection thing that you use instead of jshint, is that published?","date":"2013-05-25T07:24:10.368Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: also \"isomorphic\" is supposed to mean \"runs in the browser\" even though it totally doesn't last I checked","date":"2013-05-25T07:24:19.844Z","type":"message"}
{"nick":"chrisdickinson","message":"Wraithan: not at the moment","date":"2013-05-25T07:24:20.989Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: and if it ran in the browser it wouldn't make sense either","date":"2013-05-25T07:24:29.114Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: ok :(","date":"2013-05-25T07:24:34.184Z","type":"message"}
{"nick":"chrisdickinson","message":"1 sec","date":"2013-05-25T07:24:48.315Z","type":"message"}
{"nick":"Wraithan","message":"jshint is bothering me for various reasons (can't turn off harmony afaict)","date":"2013-05-25T07:24:58.327Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: but that's all aside the point. These days I'm adding CRUD methods to my resource objects backed by jugglingdb","date":"2013-05-25T07:25:03.881Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: so the persistence and the \"resource\" aspects aren't conflated like they are in resourceful","date":"2013-05-25T07:25:41.235Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: npm view resource for a better approach","date":"2013-05-25T07:26:42.915Z","type":"message"}
{"nick":"Wraithan","message":"jesusabdullah: people are moving to that style little by little in the python world as well","date":"2013-05-25T07:26:47.553Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: question re: hyperglue / hyperspace -- how are you handling escaping for text values (or are you?)","date":"2013-05-25T07:27:25.136Z","type":"message"}
{"nick":"jesusabdullah","message":"Wraithan: the resourceful way, or the resource way?","date":"2013-05-25T07:28:17.119Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: 'selector': 'value' does html entity escaping","date":"2013-05-25T07:28:21.506Z","type":"message"}
{"nick":"substack","message":"'selector': { _html: 'raw html' } doesn't do any escaping","date":"2013-05-25T07:28:33.062Z","type":"message"}
{"nick":"Wraithan","message":"jesusabdullah: Seperating business logic from persistence","date":"2013-05-25T07:28:42.627Z","type":"message"}
{"nick":"jesusabdullah","message":"aha","date":"2013-05-25T07:28:48.603Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah it's a Good Thing","date":"2013-05-25T07:28:51.714Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: object-form is also used to update attributes: 'img.foo': { src: '/blah.png' }","date":"2013-05-25T07:28:59.946Z","type":"message"}
{"nick":"Wraithan","message":"It is a vastly more testable thing, which makes me happy","date":"2013-05-25T07:29:02.865Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: and you can _text explicitly too like _html","date":"2013-05-25T07:29:08.786Z","type":"message"}
{"nick":"jesusabdullah","message":"coolest thing with resource is that I can do, thing.persist('memory') or thing.persist('fs') or thing.persist('whatever') and as long as there's an adapter for it it will more or less Just Work","date":"2013-05-25T07:29:26.255Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: radical.","date":"2013-05-25T07:29:32.285Z","type":"message"}
{"nick":"jesusabdullah","message":"it would be cool to write a leveldb adapter for jugglingdb","date":"2013-05-25T07:29:44.949Z","type":"message"}
{"nick":"chrisdickinson","message":"Wraithan: `npm install -g scoped`","date":"2013-05-25T07:29:49.591Z","type":"message"}
{"nick":"chrisdickinson","message":"(and then `scoped file.js`)","date":"2013-05-25T07:29:58.953Z","type":"message"}
{"nick":"jesusabdullah","message":"jugglingdb is kinda rough around the edges but it works","date":"2013-05-25T07:30:03.501Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: it's pretty much just a terser way of doing .querySelector() + .setAttribute() + .innerHTML= + (.textContent= || .innerText=) in a cross-browser way","date":"2013-05-25T07:30:25.276Z","type":"message"}
{"nick":"chrisdickinson","action":"nods","date":"2013-05-25T07:30:34.621Z","type":"action"}
{"nick":"substack","message":"so you can do a lot of those ops in bulk by passing an object instead of creating intermediate state vars to do all the assignment/attribute setting","date":"2013-05-25T07:31:06.375Z","type":"message"}
{"nick":"chrisdickinson","message":"i've been using \"plate-as-a-through-stream\" + domnode-dom which is kind of a less elegant form","date":"2013-05-25T07:31:10.878Z","type":"message"}
{"nick":"jesusabdullah","message":"I hope you don't mean that you tried to use plates >_<","date":"2013-05-25T07:31:30.819Z","type":"message"}
{"nick":"jesusabdullah","message":"html-lang.com \\m/","date":"2013-05-25T07:31:45.194Z","type":"message"}
{"nick":"chrisdickinson","message":"haha","date":"2013-05-25T07:31:51.411Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: doesn't appear to catch everything","date":"2013-05-25T07:31:53.527Z","type":"message"}
{"nick":"chrisdickinson","message":"plate !== plates","date":"2013-05-25T07:31:54.446Z","type":"message"}
{"nick":"chrisdickinson","message":"orly?","date":"2013-05-25T07:31:58.517Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: also hyperglue works node-side too","date":"2013-05-25T07:31:58.873Z","type":"message"}
{"nick":"substack","message":"using trumpet which has landed some good bugfixes this week","date":"2013-05-25T07:32:11.174Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: not catching this http://dpaste.de/iXjLM/#L12","date":"2013-05-25T07:32:21.896Z","type":"message"}
{"nick":"jesusabdullah","message":"chrisdickinson: well that's a relief XD","date":"2013-05-25T07:32:26.814Z","type":"message"}
{"nick":"substack","message":"that's how hyperspace works node-side and browser-side","date":"2013-05-25T07:32:29.454Z","type":"message"}
{"nick":"chrisdickinson","message":"huh","date":"2013-05-25T07:32:57.217Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: also did you catch the latest chapter? https://github.com/substack/stream-handbook#html-streams-for-the-browser-and-the-server","date":"2013-05-25T07:33:00.289Z","type":"message"}
{"nick":"substack","message":"hyperscript is basically this approach encapsulated more into a single module","date":"2013-05-25T07:33:14.955Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: http://dpaste.de/5vFn0/","date":"2013-05-25T07:33:34.585Z","type":"message"}
{"nick":"chrisdickinson","action":"nods","date":"2013-05-25T07:33:35.882Z","type":"action"}
{"nick":"Wraithan","message":"chrisdickinson: that is my output","date":"2013-05-25T07:33:40.549Z","type":"message"}
{"nick":"substack","message":"and awesomely you can render.on('element', function (elem) {}) which fires each time a new element appears INCLUDING the elements that were rendered by the server in the initial document","date":"2013-05-25T07:34:06.791Z","type":"message"}
{"nick":"chrisdickinson","message":"Wraithan: yeah it's definitely missing an explicit global","date":"2013-05-25T07:34:09.723Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: awesome!","date":"2013-05-25T07:34:22.391Z","type":"message"}
{"nick":"chrisdickinson","action":"peers at lexical-scope","date":"2013-05-25T07:34:29.556Z","type":"action"}
{"nick":"substack","message":"which is SOOOO useful for setting up click handlers","date":"2013-05-25T07:34:43.974Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: sorry to instantly report a bug :(","date":"2013-05-25T07:34:56.915Z","type":"message"}
{"nick":"chrisdickinson","message":"Wraithan: oh no worries","date":"2013-05-25T07:35:01.776Z","type":"message"}
{"nick":"substack","message":"because you can set up everything in a single event listener","date":"2013-05-25T07:35:03.483Z","type":"message"}
{"nick":"chrisdickinson","message":"and thanks","date":"2013-05-25T07:35:04.775Z","type":"message"}
{"nick":"substack","message":"why peering at lexical-scope?","date":"2013-05-25T07:35:21.994Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: i tend to just bind at the highest logical level of the dom","date":"2013-05-25T07:35:23.457Z","type":"message"}
{"nick":"Wraithan","message":"'Thanks for the toy! ...oh, I broke it.'","date":"2013-05-25T07:35:25.782Z","type":"message"}
{"nick":"substack","message":"This module is pretty unfancy.","date":"2013-05-25T07:35:26.873Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: bug in \"scoped\"","date":"2013-05-25T07:35:32.393Z","type":"message"}
{"nick":"chrisdickinson","message":"it's not catching an explicit global that it should be noticing","date":"2013-05-25T07:35:53.951Z","type":"message"}
{"nick":"substack","message":"oh ok","date":"2013-05-25T07:36:01.553Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: clever name would have been `mouthwash` but not so great to type","date":"2013-05-25T07:36:22.578Z","type":"message"}
{"nick":"chrisdickinson","message":"haha","date":"2013-05-25T07:36:26.987Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: well I wrote that module entirely by guess-and-check so there are bound to be bugs still","date":"2013-05-25T07:36:39.491Z","type":"message"}
{"nick":"chrisdickinson","message":"kk","date":"2013-05-25T07:37:11.198Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: next step will be taking scoped and adding it to my editor to show me the list of variables","date":"2013-05-25T07:38:03.850Z","type":"message"}
{"nick":"Wraithan","message":"rather, the ones that are global","date":"2013-05-25T07:38:10.668Z","type":"message"}
{"nick":"chrisdickinson","message":"cool","date":"2013-05-25T07:38:18.387Z","type":"message"}
{"nick":"chrisdickinson","message":"Wraithan: i'm going to probably give it a stdin option so you can write a chunk of js and check for globals","date":"2013-05-25T07:38:34.205Z","type":"message"}
{"nick":"Wraithan","message":"chrisdickinson: that'd be neat","date":"2013-05-25T07:38:42.772Z","type":"message"}
{"nick":"Wraithan","message":"most editors use temp files so they don't lose your changed when they crash, and you can usually get at them","date":"2013-05-25T07:39:10.546Z","type":"message"}
{"nick":"chrisdickinson","message":"substack: do you use event delegation much in the browser?","date":"2013-05-25T07:40:12.506Z","type":"message"}
{"nick":"substack","message":"chrisdickinson: what does that mean?","date":"2013-05-25T07:40:35.876Z","type":"message"}
{"nick":"ralphtheninja","date":"2013-05-25T07:40:45.898Z","type":"join"}
{"nick":"chrisdickinson","message":"basically attaching an event at a higher dom node and listening to events of a type on it, and only dealing with the ones that match a given selector","date":"2013-05-25T07:41:14.204Z","type":"message"}
{"nick":"chrisdickinson","message":"npm.im/ever-delegate","date":"2013-05-25T07:41:17.175Z","type":"message"}
{"nick":"substack","message":"nope I don't usually do that","date":"2013-05-25T07:41:33.506Z","type":"message"}
{"nick":"substack","message":"sounds like it could be a good approach though","date":"2013-05-25T07:42:04.298Z","type":"message"}
{"nick":"substack","message":"but how do you deal with elements that have lots of things going on like links, buttons","date":"2013-05-25T07:42:19.353Z","type":"message"}
{"nick":"substack","message":"do you reverse-reference the state based on inspecting the element contents?","date":"2013-05-25T07:42:42.186Z","type":"message"}
{"nick":"timoxley","reason":"Quit: Computer has gone to sleep.","date":"2013-05-25T07:42:53.965Z","type":"quit"}
{"nick":"stagas","reason":"Read error: Connection reset by peer","date":"2013-05-25T07:42:58.235Z","type":"quit"}
{"nick":"chrisdickinson","message":"if needed yes, but generally this just lets me bind all of that behavior up at a containing element","date":"2013-05-25T07:43:26.101Z","type":"message"}
{"nick":"substack","message":"the way I usually do it I have the relevant state for handlers closed over by doing explicit queries","date":"2013-05-25T07:43:27.722Z","type":"message"}
{"nick":"chrisdickinson","message":"i usually have a module that presents an api to render and control a chunk of html","date":"2013-05-25T07:44:13.816Z","type":"message"}
{"nick":"chrisdickinson","message":"so it binds up all of the behavior it needs to know about from the dom and basically channels it as higher-level events on itself","date":"2013-05-25T07:44:36.691Z","type":"message"}
{"nick":"chrisdickinson","message":"then at my glue level i have a bunch of these high-level emitters and one \"state\" emitter","date":"2013-05-25T07:45:24.286Z","type":"message"}
{"nick":"chrisdickinson","message":"which does a `state.listen(eventEmitter, 'eventName', ['attribute1', 'attribute2', …])`","date":"2013-05-25T07:45:51.946Z","type":"message"}
{"nick":"substack","message":"I will try this approach the next time I write some listener code.","date":"2013-05-25T07:46:02.878Z","type":"message"}
{"nick":"chrisdickinson","message":"every time `eventEmitter` emits data, it gets assigned into persistent state on that object, and that object emits a data event with the current state","date":"2013-05-25T07:46:20.717Z","type":"message"}
{"nick":"substack","message":"oh sweet, I can just have a .sortTo(target, cmp)","date":"2013-05-25T07:49:10.574Z","type":"message"}
{"nick":"substack","message":"like .prependTo(target) and .appendTo(target) but with a custom sorting function `cmp`","date":"2013-05-25T07:49:26.030Z","type":"message"}
{"nick":"substack","message":"then it would be really easy to implement lazy scrolling since the browser can just send a request for that data and the sorting function will take care of putting it all in the right order","date":"2013-05-25T07:49:55.244Z","type":"message"}
{"nick":"substack","message":"yessssss","date":"2013-05-25T07:50:00.689Z","type":"message"}
{"nick":"substack","message":"this is the crap I was trying to do with sorta but it didn't work as well there","date":"2013-05-25T07:50:13.237Z","type":"message"}
{"nick":"chrisdickinson","message":"nice","date":"2013-05-25T07:50:28.134Z","type":"message"}
{"nick":"substack","message":"this approach doesn't require anything at all special about the input stream","date":"2013-05-25T07:50:58.182Z","type":"message"}
{"nick":"substack","message":"the next talk I give I'll make about all these streaming html toys","date":"2013-05-25T07:51:36.708Z","type":"message"}
{"nick":"substack","message":"I haven't talked about any of these anyplace yet.","date":"2013-05-25T07:51:50.306Z","type":"message"}
{"nick":"substack","message":"this will make testling streaming results so slick and easy :D","date":"2013-05-25T07:53:24.283Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: remember how I asked if you were interested in those books?","date":"2013-05-25T07:56:10.568Z","type":"message"}
{"nick":"substack","message":"yes","date":"2013-05-25T07:56:17.762Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: I'm looking for someone to do me a big favor and possibly make some money","date":"2013-05-25T07:56:26.274Z","type":"message"}
{"nick":"substack","message":"not very interested actually","date":"2013-05-25T07:56:26.411Z","type":"message"}
{"nick":"jesusabdullah","message":"aha","date":"2013-05-25T07:56:29.794Z","type":"message"}
{"nick":"jesusabdullah","message":"are you interested in...money?","date":"2013-05-25T07:56:33.448Z","type":"message"}
{"nick":"substack","message":"books aren't my thing","date":"2013-05-25T07:56:33.717Z","type":"message"}
{"nick":"substack","message":"hauling cargo is really hard since I don't have a car","date":"2013-05-25T07:56:49.790Z","type":"message"}
{"nick":"jesusabdullah","message":"yeah","date":"2013-05-25T07:56:54.834Z","type":"message"}
{"nick":"jesusabdullah","message":"do you know someone who *does* have wheels?","date":"2013-05-25T07:57:01.157Z","type":"message"}
{"nick":"jesusabdullah","message":"that might be able to help a brotha out?","date":"2013-05-25T07:57:07.465Z","type":"message"}
{"nick":"jesusabdullah","message":"I thought maybe your roommate had wheels","date":"2013-05-25T07:57:23.255Z","type":"message"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-05-25T07:59:08.981Z","type":"quit"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T08:02:33.574Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T08:03:47.587Z","type":"join"}
{"nick":"timoxley","date":"2013-05-25T08:15:19.809Z","type":"join"}
{"nick":"substack","message":"timoxley: https://github.com/substack/hyperspace","date":"2013-05-25T08:23:24.242Z","type":"message"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T08:23:27.534Z","type":"quit"}
{"nick":"no9","reason":"Ping timeout: 252 seconds","date":"2013-05-25T08:25:19.522Z","type":"quit"}
{"nick":"timoxley","reason":"Quit: Computer has gone to sleep.","date":"2013-05-25T08:26:03.613Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-05-25T08:27:48.840Z","type":"join"}
{"nick":"shuaib","date":"2013-05-25T08:28:48.763Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 256 seconds","date":"2013-05-25T08:32:29.859Z","type":"quit"}
{"nick":"shuaib","reason":"Ping timeout: 246 seconds","date":"2013-05-25T08:32:55.760Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T08:35:34.241Z","type":"join"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T08:55:43.425Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T09:05:38.744Z","type":"join"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T09:14:25.101Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T09:18:12.579Z","type":"join"}
{"nick":"timoxley","date":"2013-05-25T09:20:08.145Z","type":"join"}
{"nick":"timoxley","message":"substack what's your opinion on hooking these streams up from some trigger in the dom, rather than programatically","date":"2013-05-25T09:33:46.589Z","type":"message"}
{"nick":"substack","message":"trigger?","date":"2013-05-25T09:34:21.777Z","type":"message"}
{"nick":"timoxley","message":"substack i.e. magic attributes in the dom","date":"2013-05-25T09:34:27.681Z","type":"message"}
{"nick":"substack","message":"I don't understand.","date":"2013-05-25T09:34:50.590Z","type":"message"}
{"nick":"timoxley","message":"at the moment, you're pushing data into the dom, i'm talking about pulling data from the dom","date":"2013-05-25T09:35:24.645Z","type":"message"}
{"nick":"timoxley","message":"having the dom define what it displays","date":"2013-05-25T09:35:30.655Z","type":"message"}
{"nick":"timoxley","message":"e.g. <ul data-src=\"myList\"><li></li></ul>","date":"2013-05-25T09:35:40.289Z","type":"message"}
{"nick":"timoxley","message":"or something","date":"2013-05-25T09:35:43.967Z","type":"message"}
{"nick":"substack","message":"that's weird","date":"2013-05-25T09:35:47.378Z","type":"message"}
{"nick":"substack","message":"I don't get it.","date":"2013-05-25T09:35:49.130Z","type":"message"}
{"nick":"substack","message":"what is the use-case for this approach?","date":"2013-05-25T09:37:02.175Z","type":"message"}
{"nick":"jesusabdullah","message":"owning.","date":"2013-05-25T09:37:23.474Z","type":"message"}
{"nick":"timoxley","message":"decoupling html structure from your js","date":"2013-05-25T09:37:34.320Z","type":"message"}
{"nick":"timoxley","message":"I think about it like, a create a set of \"publishers\", and the dom elements can \"subscribe\" to the data","date":"2013-05-25T09:37:57.478Z","type":"message"}
{"nick":"timoxley","message":"template/html structure just lives in the html","date":"2013-05-25T09:38:31.995Z","type":"message"}
{"nick":"substack","message":"this is very strange to me","date":"2013-05-25T09:38:44.585Z","type":"message"}
{"nick":"substack","message":"too indirect","date":"2013-05-25T09:38:52.768Z","type":"message"}
{"nick":"timoxley","message":"it's the old declarative vs programatic views discussion","date":"2013-05-25T09:39:30.178Z","type":"message"}
{"nick":"jesusabdullah","message":"timoxley: reminds me a little of http://html-lang.com","date":"2013-05-25T09:39:32.557Z","type":"message"}
{"nick":"substack","message":"I want to have some data and route that data when it should go","date":"2013-05-25T09:39:33.509Z","type":"message"}
{"nick":"substack","message":"I hate anything going around calling itself \"declarative\" firstly of all.","date":"2013-05-25T09:39:43.428Z","type":"message"}
{"nick":"timoxley","message":"heh","date":"2013-05-25T09:39:47.968Z","type":"message"}
{"nick":"substack","message":"that's probably why I don't like this","date":"2013-05-25T09:40:04.730Z","type":"message"}
{"nick":"substack","message":"I like programs to DO things","date":"2013-05-25T09:40:13.061Z","type":"message"}
{"nick":"substack","message":"input -> output","date":"2013-05-25T09:40:19.681Z","type":"message"}
{"nick":"substack","message":"I don't like fanciful machines that make a bunch of inferences and guesswork to guess what you meant, declaratively","date":"2013-05-25T09:40:47.339Z","type":"message"}
{"nick":"timoxley","message":"actually you know what, it's probably easier keeping this stuff in JS land, what I'm talking about requires buying into some magic","date":"2013-05-25T09:40:50.757Z","type":"message"}
{"nick":"substack","message":"magic doesn't compose well is the biggest problem","date":"2013-05-25T09:41:06.898Z","type":"message"}
{"nick":"substack","message":"you can't take the simple primitives and recombine them to do things that the author didn't intend","date":"2013-05-25T09:41:24.994Z","type":"message"}
{"nick":"timoxley","message":"understood","date":"2013-05-25T09:41:50.502Z","type":"message"}
{"nick":"substack","message":"declarative systems tend to operate at a wholistic instead of discrete level","date":"2013-05-25T09:41:56.023Z","type":"message"}
{"nick":"substack","action":"<-- methodological reductionist","date":"2013-05-25T09:42:46.011Z","type":"action"}
{"nick":"substack","message":"hyperspace already does a thing which MIGHT be slightly too magical where it does target.getElementsByClassName() with the class name parsed from the html supplied","date":"2013-05-25T09:44:39.717Z","type":"message"}
{"nick":"substack","message":"to find the elements at the target that were rendered originally by the server in order to emit 'element' events for them","date":"2013-05-25T09:45:05.598Z","type":"message"}
{"nick":"substack","message":"but it simplifies sorting and registering element listeners so it might be worth it","date":"2013-05-25T09:45:56.742Z","type":"message"}
{"nick":"timoxley","message":"ok, I'm experimenting with this today","date":"2013-05-25T09:47:26.581Z","type":"message"}
{"nick":"timoxley","message":"jesusabdullah lots of plates inspired libs this week","date":"2013-05-25T09:49:15.235Z","type":"message"}
{"nick":"timoxley","message":"well 2","date":"2013-05-25T09:49:22.377Z","type":"message"}
{"nick":"timoxley","message":"that's probably more than last week","date":"2013-05-25T09:49:26.825Z","type":"message"}
{"nick":"jesusabdullah","message":"I wouldn't call html plates inspired","date":"2013-05-25T09:50:00.728Z","type":"message"}
{"nick":"jesusabdullah","message":"in fact I think the readme says it was inspired by jade? XD","date":"2013-05-25T09:50:13.384Z","type":"message"}
{"nick":"substack","message":"jesusabdullah: hmmm html-lang gives me an idea for hyperglue for arrays of content","date":"2013-05-25T09:50:25.526Z","type":"message"}
{"nick":"jesusabdullah","message":"good deal","date":"2013-05-25T09:51:02.764Z","type":"message"}
{"nick":"substack","message":"hyperglue(html, { '.row': [ { '.name': 'abc' }, { '.name': 'xyz' } ] })","date":"2013-05-25T09:51:50.311Z","type":"message"}
{"nick":"substack","message":"when it finds .row it could duplicate row for each of the element parameters in the array","date":"2013-05-25T09:52:20.202Z","type":"message"}
{"nick":"jesusabdullah","message":"\"html is 4 bytes in size!\"","date":"2013-05-25T09:52:24.754Z","type":"message"}
{"nick":"substack","message":"because I often find myself writing html snippets that are too tiny for itemized data like that","date":"2013-05-25T09:52:51.974Z","type":"message"}
{"nick":"substack","message":"plus this could work in a backwards-compatible way","date":"2013-05-25T09:53:00.399Z","type":"message"}
{"nick":"jesusabdullah","message":"there you go","date":"2013-05-25T09:53:55.175Z","type":"message"}
{"nick":"timoxley","message":"jesusabdullah oh. you're right. whatever.","date":"2013-05-25T09:55:38.733Z","type":"message"}
{"nick":"jesusabdullah","message":"timoxley: I think the jade thing is facetious","date":"2013-05-25T09:56:15.614Z","type":"message"}
{"nick":"timoxley","message":"here's another one from tj that does the declarative thing https://github.com/component/reactive","date":"2013-05-25T09:56:22.807Z","type":"message"}
{"nick":"timoxley","message":"jesusabdullah understood","date":"2013-05-25T09:56:48.769Z","type":"message"}
{"nick":"jibay","date":"2013-05-25T10:03:48.000Z","type":"join"}
{"nick":"ins0mnia","date":"2013-05-25T10:31:06.601Z","type":"join"}
{"nick":"shuaib","reason":"Ping timeout: 252 seconds","date":"2013-05-25T10:36:13.454Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T10:44:36.527Z","type":"join"}
{"nick":"substack","message":"updated https://github.com/substack/hyperglue#arrays","date":"2013-05-25T10:50:37.541Z","type":"message"}
{"nick":"substack","message":"arrays yay!","date":"2013-05-25T10:50:40.500Z","type":"message"}
{"nick":"substack","message":"bwahahaha works in ie8 first try","date":"2013-05-25T10:51:21.602Z","type":"message"}
{"nick":"shuaib","reason":"Quit: Textual IRC Client: http://www.textualapp.com/","date":"2013-05-25T10:57:01.729Z","type":"quit"}
{"nick":"ins0mnia","message":"this looks good substack!!","date":"2013-05-25T10:58:30.584Z","type":"message"}
{"nick":"substack","message":"I updated hyperspace with a .sorTo() function too","date":"2013-05-25T11:05:22.581Z","type":"message"}
{"nick":"substack","message":"*sortTo","date":"2013-05-25T11:05:28.562Z","type":"message"}
{"nick":"substack","message":"haven't finished the lazy/more loading example though","date":"2013-05-25T11:05:50.230Z","type":"message"}
{"nick":"substack","message":"I'll finish that tomorrow and then start integrating this awesomeness into testling proper yay","date":"2013-05-25T11:06:08.835Z","type":"message"}
{"nick":"ins0mnia","message":"cool, I guess what did the trick for IE8 is isArry() forEach() and objectKeys()","date":"2013-05-25T11:07:57.428Z","type":"message"}
{"nick":"ins0mnia","message":"so much better than plates","date":"2013-05-25T11:08:09.706Z","type":"message"}
{"nick":"ins0mnia","message":"don't need all the extra weight","date":"2013-05-25T11:08:28.375Z","type":"message"}
{"nick":"ins0mnia","action":"gonna take hypeglue for a spin :)","date":"2013-05-25T11:09:17.044Z","type":"action"}
{"nick":"shuaib","date":"2013-05-25T11:21:21.681Z","type":"join"}
{"nick":"juliangruber","message":"substack: i initially wanted to add iterating things to hyperglue but hyperstream is the way nicer approach","date":"2013-05-25T11:37:13.441Z","type":"message"}
{"nick":"juliangruber","message":"substack: oh, but hyperglue arrays are nice too, I also had this problem of writing templates like `<li><a></a></li>` which makes no sense","date":"2013-05-25T11:39:22.985Z","type":"message"}
{"nick":"juliangruber","message":"distributed npm: if everything is git based, you just need the sha hash of a commit to verify that it's the right thing","date":"2013-05-25T11:53:32.763Z","type":"message"}
{"nick":"juliangruber","message":"so if i get hyperglue from dominictarr's pc then I need to know hyperglue's current sha to verify that it's substack's version unmodified","date":"2013-05-25T11:54:09.992Z","type":"message"}
{"nick":"shuaib","reason":"Ping timeout: 248 seconds","date":"2013-05-25T11:57:57.658Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T13:23:10.530Z","type":"join"}
{"nick":"stagas","date":"2013-05-25T13:27:04.857Z","type":"join"}
{"nick":"shuaib","reason":"Quit: Textual IRC Client: http://www.textualapp.com/","date":"2013-05-25T13:41:26.882Z","type":"quit"}
{"nick":"mikeal","reason":"Ping timeout: 246 seconds","date":"2013-05-25T13:45:07.766Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T13:58:23.344Z","type":"join"}
{"nick":"AvianFlu","date":"2013-05-25T13:58:39.318Z","type":"join"}
{"nick":"shuaib","reason":"Ping timeout: 264 seconds","date":"2013-05-25T14:02:55.295Z","type":"quit"}
{"nick":"vitorpacheco","date":"2013-05-25T14:04:01.861Z","type":"join"}
{"nick":"shuaib","date":"2013-05-25T14:06:42.954Z","type":"join"}
{"nick":"fallsemo","date":"2013-05-25T14:17:38.631Z","type":"join"}
{"nick":"substack","message":"juliangruber: I can just sign the build with my key which you already know","date":"2013-05-25T15:29:39.951Z","type":"message"}
{"nick":"substack","message":"that way you can safely get new updates from third parties without needing to know what the new hash is from a trusted authority","date":"2013-05-25T15:30:12.847Z","type":"message"}
{"nick":"thl0","date":"2013-05-25T15:46:05.354Z","type":"join"}
{"nick":"shuaib","reason":"Ping timeout: 256 seconds","date":"2013-05-25T16:04:41.935Z","type":"quit"}
{"nick":"shuaib","date":"2013-05-25T16:06:45.568Z","type":"join"}
{"nick":"shuaib","reason":"Client Quit","date":"2013-05-25T16:11:08.520Z","type":"quit"}
{"nick":"juliangruber","message":"true!","date":"2013-05-25T16:16:15.308Z","type":"message"}
{"nick":"juliangruber","message":"and since git 1.7.9 or so you can even sign every commit","date":"2013-05-25T16:16:32.204Z","type":"message"}
{"nick":"mikeal","date":"2013-05-25T16:24:04.913Z","type":"join"}
{"nick":"rowbit","message":"/!\\ ATTENTION: (default-local) m.johnston@....uk successfully signed up for developer browserling plan ($20). Cash money! /!\\","date":"2013-05-25T16:26:23.694Z","type":"message"}
{"nick":"rowbit","message":"/!\\ ATTENTION: (default-local) paid account successfully upgraded /!\\","date":"2013-05-25T16:26:23.853Z","type":"message"}
{"nick":"substack","message":"woot","date":"2013-05-25T16:28:08.274Z","type":"message"}
{"nick":"substack","message":"juliangruber: also the array syntax is exactly for the case of tiny stupid templates like \"<li><a></a></li>\"!","date":"2013-05-25T16:28:34.544Z","type":"message"}
{"nick":"substack","message":"I found myself writing those or inlining strings","date":"2013-05-25T16:28:54.926Z","type":"message"}
{"nick":"juliangruber","message":"yeah, I wrote those but didn't really have time to think for a solution","date":"2013-05-25T16:29:25.545Z","type":"message"}
{"nick":"juliangruber","message":"*too","date":"2013-05-25T16:29:29.345Z","type":"message"}
{"nick":"juliangruber","message":"substack: what do you think about adding event listener support to hyperglue?","date":"2013-05-25T16:31:00.268Z","type":"message"}
{"nick":"juliangruber","message":"I'm not sure if that should be in there","date":"2013-05-25T16:31:10.174Z","type":"message"}
{"nick":"substack","message":"I don't think it should.","date":"2013-05-25T16:31:17.831Z","type":"message"}
{"nick":"substack","message":"doesn't work server-side like the other stuff","date":"2013-05-25T16:31:44.032Z","type":"message"}
{"nick":"juliangruber","message":"true","date":"2013-05-25T16:31:51.706Z","type":"message"}
{"nick":"substack","message":"of course, in the browser you get an element and in node you just get a { outerHTML: '', innerHTML: '' } object","date":"2013-05-25T16:32:12.535Z","type":"message"}
{"nick":"juliangruber","message":"hyperscript has this and it makes the passed object go rather big","date":"2013-05-25T16:33:24.190Z","type":"message"}
{"nick":"substack","message":"well maybe it could","date":"2013-05-25T16:34:36.580Z","type":"message"}
{"nick":"substack","message":"I need to ponder it some more.","date":"2013-05-25T16:34:42.038Z","type":"message"}
{"nick":"juliangruber","message":"the way component/reactive does this is cool. you say `var el = reactive(tmpl, this)` and have e.g. `<a data-click=foo></a>` then it will call `this.foo()` when that is clicked","date":"2013-05-25T16:35:59.658Z","type":"message"}
{"nick":"juliangruber","message":"so you pass an object with not only attributes but also methods","date":"2013-05-25T16:36:32.093Z","type":"message"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-05-25T16:47:29.318Z","type":"quit"}
{"nick":"fallsemo","date":"2013-05-25T16:51:57.529Z","type":"join"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-05-25T16:58:41.354Z","type":"quit"}
{"nick":"fallsemo","reason":"Quit: Leaving.","date":"2013-05-25T16:58:54.919Z","type":"quit"}
{"nick":"mikolalysenko","date":"2013-05-25T17:16:53.050Z","type":"join"}
{"nick":"CoverSlide","date":"2013-05-25T17:23:45.781Z","type":"join"}
{"nick":"mikeal","date":"2013-05-25T17:31:19.905Z","type":"join"}
{"nick":"thl0","reason":"Remote host closed the connection","date":"2013-05-25T17:34:38.563Z","type":"quit"}
{"nick":"timoxley","reason":"Quit: Computer has gone to sleep.","date":"2013-05-25T17:38:34.440Z","type":"quit"}
{"nick":"jesusabdullah","message":"substack: good deal implementing the array thinger","date":"2013-05-25T17:41:19.551Z","type":"message"}
{"nick":"jesusabdullah","message":"substack: tell people it was \"inspired by html\" to confuse them","date":"2013-05-25T17:41:28.415Z","type":"message"}
{"nick":"substack","message":"I think I will go get some chinese food enroute to the park and bread from the bakery on the way back","date":"2013-05-25T18:38:27.183Z","type":"message"}
{"nick":"jesusabdullah","message":"sounds fun","date":"2013-05-25T18:59:13.430Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-05-25T19:12:48.539Z","type":"quit"}
{"nick":"mikeal","date":"2013-05-25T19:14:27.936Z","type":"join"}
{"nick":"thl0","date":"2013-05-25T19:15:36.452Z","type":"join"}
{"nick":"mikeal","reason":"Client Quit","date":"2013-05-25T19:15:45.135Z","type":"quit"}
{"nick":"yorick","date":"2013-05-25T19:29:03.891Z","type":"join"}
{"nick":"juliangruber","reason":"Remote host closed the connection","date":"2013-05-25T19:35:36.218Z","type":"quit"}
{"nick":"mikeal","date":"2013-05-25T19:45:58.953Z","type":"join"}
{"nick":"nicholasf","reason":"Read error: Connection reset by peer","date":"2013-05-25T19:51:30.947Z","type":"quit"}
{"nick":"nicholasf","date":"2013-05-25T19:52:00.795Z","type":"join"}
{"nick":"mint_xian","reason":"Quit: Oh bai!","date":"2013-05-25T19:52:53.503Z","type":"quit"}
{"nick":"mint_xian","date":"2013-05-25T19:53:59.873Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 245 seconds","date":"2013-05-25T19:58:49.101Z","type":"quit"}
{"nick":"Raynos","message":"https://github.com/travis-ci/travis-ci/issues/1131#issuecomment-18453118","date":"2013-05-25T20:05:41.133Z","type":"message"}
{"nick":"Raynos","message":"wtf :/","date":"2013-05-25T20:05:43.389Z","type":"message"}
{"nick":"jcrugzz","date":"2013-05-25T20:44:28.420Z","type":"join"}
{"nick":"mikolalysenko","date":"2013-05-25T20:59:12.346Z","type":"join"}
{"nick":"jesusabdullah","message":"idk raynos I feel that","date":"2013-05-25T21:04:51.428Z","type":"message"}
{"nick":"jesusabdullah","message":"Raynos: write something that traverses all your github repos","date":"2013-05-25T21:05:02.974Z","type":"message"}
{"nick":"thl0","message":"pulling lots of modules out of substack's travisify to support testlingify","date":"2013-05-25T21:09:22.646Z","type":"message"}
{"nick":"thl0","message":"do we need separate module to manage github hooks as well or is that unnecessary abstraction since it is fairly simple with express?","date":"2013-05-25T21:09:58.063Z","type":"message"}
{"nick":"thl0","message":"s/express/request/","date":"2013-05-25T21:10:13.563Z","type":"message"}
{"nick":"mcollina","date":"2013-05-25T21:11:45.070Z","type":"join"}
{"nick":"juliangruber","date":"2013-05-25T21:46:19.682Z","type":"join"}
{"nick":"mikolalysenko","reason":"Ping timeout: 264 seconds","date":"2013-05-25T21:46:43.348Z","type":"quit"}
{"nick":"yorick","reason":"Remote host closed the connection","date":"2013-05-25T21:47:48.333Z","type":"quit"}
{"nick":"yorick","date":"2013-05-25T21:50:18.763Z","type":"join"}
{"nick":"mikolalysenko","date":"2013-05-25T21:52:08.758Z","type":"join"}
{"nick":"stagas","reason":"Remote host closed the connection","date":"2013-05-25T21:53:32.716Z","type":"quit"}
{"nick":"Raynos","message":"thl0: not sure","date":"2013-05-25T21:55:36.297Z","type":"message"}
{"nick":"Raynos","message":"I just build https://github.com/Raynos/jsonml-stringify#example","date":"2013-05-25T21:55:55.998Z","type":"message"}
{"nick":"ins0mnia","reason":"Ping timeout: 246 seconds","date":"2013-05-25T21:58:16.760Z","type":"quit"}
{"nick":"juliangruber","message":"what bouncers are you guys using? quassel just died on me again","date":"2013-05-25T22:00:13.009Z","type":"message"}
{"nick":"st_luke","date":"2013-05-25T22:05:11.614Z","type":"join"}
{"nick":"st_luke","reason":"Remote host closed the connection","date":"2013-05-25T22:23:24.081Z","type":"quit"}
{"nick":"ins0mnia","date":"2013-05-25T22:26:56.767Z","type":"join"}
{"nick":"Wraithan","new_nick":"mer","date":"2013-05-25T22:32:06.469Z","type":"nick"}
{"nick":"mer","new_nick":"Wraithan","date":"2013-05-25T22:32:16.213Z","type":"nick"}
{"nick":"Wraithan","new_nick":"Wraithan1","date":"2013-05-25T22:32:56.430Z","type":"nick"}
{"nick":"Wraithan1","new_nick":"Wraithan","date":"2013-05-25T22:42:26.925Z","type":"nick"}
{"nick":"Wraithan","new_nick":"mer","date":"2013-05-25T22:44:34.278Z","type":"nick"}
{"nick":"mer","new_nick":"Wraithan","date":"2013-05-25T22:44:40.180Z","type":"nick"}
{"nick":"Raynos","message":"juliangruber: irccloud","date":"2013-05-25T22:44:55.167Z","type":"message"}
{"nick":"Wraithan","message":"I've heard too many people having issues with irccloud dropping messages","date":"2013-05-25T22:45:22.756Z","type":"message"}
{"nick":"Raynos","message":"it does","date":"2013-05-25T22:45:31.552Z","type":"message"}
{"nick":"juliangruber","message":"meh","date":"2013-05-25T22:45:55.802Z","type":"message"}
{"nick":"Wraithan","message":"Hosted solutions, no idea, I use ZNC when I want an explicit bouncer, otherwise I run weechat in a tmux session on my server in a colo","date":"2013-05-25T22:46:04.861Z","type":"message"}
{"nick":"juliangruber","message":"Raynos: are you using it now?","date":"2013-05-25T22:46:06.089Z","type":"message"}
{"nick":"Raynos","message":"yes","date":"2013-05-25T22:46:12.441Z","type":"message"}
{"nick":"Wraithan","message":"More and more of my co-workers are moving away from it","date":"2013-05-25T22:46:22.210Z","type":"message"}
{"nick":"Wraithan","message":"my company is super IRC centric though","date":"2013-05-25T22:46:38.801Z","type":"message"}
{"nick":"juliangruber","message":"Wraithan: moving away from what?","date":"2013-05-25T22:47:04.802Z","type":"message"}
{"nick":"Wraithan","message":"irccloud","date":"2013-05-25T22:47:09.567Z","type":"message"}
{"nick":"Wraithan","message":"Due to the dropped messages","date":"2013-05-25T22:47:14.834Z","type":"message"}
{"nick":"juliangruber","message":"oh ok","date":"2013-05-25T22:48:40.456Z","type":"message"}
{"nick":"juliangruber","message":"so you use znc?","date":"2013-05-25T22:48:47.384Z","type":"message"}
{"nick":"juliangruber","message":"i've used irssi in a screen session for a while but dunno, didn't really like it","date":"2013-05-25T22:49:10.893Z","type":"message"}
{"nick":"Wraithan","message":"currently I am using weechat in a tmux session because I don't need mobile connection, if I am travelling I switch to ZNC","date":"2013-05-25T22:49:17.244Z","type":"message"}
{"nick":"juliangruber","message":"znc causes less traffic?","date":"2013-05-25T22:49:49.998Z","type":"message"}
{"nick":"Wraithan","message":"ZNC lets you use a native client on the phone/tablet","date":"2013-05-25T22:50:00.741Z","type":"message"}
{"nick":"juliangruber","message":"oh i see","date":"2013-05-25T22:50:08.472Z","type":"message"}
{"nick":"Wraithan","message":"rather than having to use a SSH client and terminal emulator","date":"2013-05-25T22:50:09.428Z","type":"message"}
{"nick":"juliangruber","message":"that's cool","date":"2013-05-25T22:50:21.592Z","type":"message"}
{"nick":"ins0mnia","reason":"Ping timeout: 248 seconds","date":"2013-05-25T22:50:45.835Z","type":"quit"}
{"nick":"Wraithan","message":"It is basically an IRC proxy that keeps you conencted and gives you messages when you reconnect, that you can use any client you want with","date":"2013-05-25T22:50:52.484Z","type":"message"}
{"nick":"juliangruber","message":"thanks, I'll try znc","date":"2013-05-25T22:50:55.859Z","type":"message"}
{"nick":"juliangruber","message":"have you tried Quassel?","date":"2013-05-25T22:51:14.585Z","type":"message"}
{"nick":"jibay","reason":"Remote host closed the connection","date":"2013-05-25T22:51:22.504Z","type":"quit"}
{"nick":"Wraithan","message":"Nah, I strongly favor CLI clients","date":"2013-05-25T22:51:47.564Z","type":"message"}
{"nick":"Wraithan","message":"Especially heavily customizable ones like weechat","date":"2013-05-25T22:52:24.863Z","type":"message"}
{"nick":"Wraithan","message":"I write all sorts of scripts for weechat to make my life better","date":"2013-05-25T22:52:35.903Z","type":"message"}
{"nick":"thl0","message":"does anyone have an idea what all this setImmediate stuff here is about? https://github.com/ljharb/node-json-file/blob/master/index.js#L56","date":"2013-05-25T22:59:10.344Z","type":"message"}
{"nick":"st_luke","date":"2013-05-25T23:02:41.601Z","type":"join"}
{"nick":"defunctzombie_zz","new_nick":"defunctzombie","date":"2013-05-25T23:03:29.253Z","type":"nick"}
{"nick":"st_luke_","date":"2013-05-25T23:04:35.758Z","type":"join"}
{"nick":"defunctzombie","message":"Raynos: pong","date":"2013-05-25T23:05:53.324Z","type":"message"}
{"nick":"Raynos","message":"PING","date":"2013-05-25T23:05:58.068Z","type":"message"}
{"nick":"defunctzombie","message":"PONG","date":"2013-05-25T23:07:08.894Z","type":"message"}
{"nick":"st_luke","reason":"Ping timeout: 248 seconds","date":"2013-05-25T23:07:17.610Z","type":"quit"}
{"nick":"Raynos","message":"defunctzombie: hello","date":"2013-05-25T23:07:22.234Z","type":"message"}
{"nick":"Raynos","message":"what do you want","date":"2013-05-25T23:07:29.944Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: didn't you ping me?","date":"2013-05-25T23:07:36.001Z","type":"message"}
{"nick":"Raynos","message":"maybe","date":"2013-05-25T23:07:42.622Z","type":"message"}
{"nick":"Raynos","message":"cant remember about what","date":"2013-05-25T23:07:45.776Z","type":"message"}
{"nick":"defunctzombie","message":"hahaha","date":"2013-05-25T23:07:48.527Z","type":"message"}
{"nick":"Raynos","message":"I got really close","date":"2013-05-25T23:14:00.347Z","type":"message"}
{"nick":"Raynos","message":"to rewriting a module","date":"2013-05-25T23:14:03.259Z","type":"message"}
{"nick":"Raynos","message":"I already wrote","date":"2013-05-25T23:14:04.947Z","type":"message"}
{"nick":"Raynos","message":"https://github.com/Raynos/iterate-files#examples","date":"2013-05-25T23:14:15.776Z","type":"message"}
{"nick":"Raynos","message":"I already wrote ls -r","date":"2013-05-25T23:14:18.882Z","type":"message"}
{"nick":"defunctzombie","message":"heh","date":"2013-05-25T23:15:38.329Z","type":"message"}
{"nick":"Wraithan","message":"git s","date":"2013-05-25T23:15:42.696Z","type":"message"}
{"nick":"Wraithan","message":"ops","date":"2013-05-25T23:15:44.490Z","type":"message"}
{"nick":"defunctzombie","message":"you know you have too many modules when you forget them","date":"2013-05-25T23:15:45.993Z","type":"message"}
{"nick":"Raynos","message":":D","date":"2013-05-25T23:16:55.268Z","type":"message"}
{"nick":"Raynos","message":"228","date":"2013-05-25T23:16:57.955Z","type":"message"}
{"nick":"yorick","message":"how do y'all not understand there's such a thing as 'too many modules' and the limit is far lower than 228","date":"2013-05-25T23:17:31.900Z","type":"message"}
{"nick":"yorick","message":"people writing multiple modules for ls -r and mkdir -p will be our downfall","date":"2013-05-25T23:17:57.968Z","type":"message"}
{"nick":"yorick","message":"there's a perfectly good 'exec' command isn't there?","date":"2013-05-25T23:18:08.719Z","type":"message"}
{"nick":"mikolalysenko","reason":"Ping timeout: 246 seconds","date":"2013-05-25T23:20:52.759Z","type":"quit"}
{"nick":"rowbit","message":"/!\\ ATTENTION: (default-local) aloevss@... FAILED signing up for dedicated_3ie browserling plan: 402: Your card was declined /!\\","date":"2013-05-25T23:22:38.233Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2013-05-25T23:23:08.874Z","type":"quit"}
{"nick":"Raynos","message":"yorick: exec is not cross platform","date":"2013-05-25T23:25:04.790Z","type":"message"}
{"nick":"yorick","message":"Raynos: your application will run on windows?","date":"2013-05-25T23:25:41.351Z","type":"message"}
{"nick":"Raynos","message":"yes","date":"2013-05-25T23:25:46.541Z","type":"message"}
{"nick":"yorick","message":"then use dir :P","date":"2013-05-25T23:25:51.491Z","type":"message"}
{"nick":"Raynos","message":";_;","date":"2013-05-25T23:25:56.279Z","type":"message"}
{"nick":"Raynos","message":"my app","date":"2013-05-25T23:26:01.206Z","type":"message"}
{"nick":"Raynos","message":"is cross platform","date":"2013-05-25T23:26:03.388Z","type":"message"}
{"nick":"yorick","message":"then use dir or ls","date":"2013-05-25T23:26:17.753Z","type":"message"}
{"nick":"chrisdickinson","message":"thl0: what was your ansi terminal colors module?","date":"2013-05-25T23:26:47.645Z","type":"message"}
{"nick":"thl0","message":"chrisdickinson: ansicolors","date":"2013-05-25T23:27:04.757Z","type":"message"}
{"nick":"chrisdickinson","message":"thanks!","date":"2013-05-25T23:27:09.221Z","type":"message"}
{"nick":"thl0","message":"chrisdickinson: the full blown render terminal stuff in the browser is hypernal","date":"2013-05-25T23:27:28.453Z","type":"message"}
{"nick":"thl0","message":"(not sure what you meant exactly)","date":"2013-05-25T23:27:41.918Z","type":"message"}
{"nick":"chrisdickinson","message":"this is perfect, thanks","date":"2013-05-25T23:27:51.821Z","type":"message"}
{"nick":"thl0","message":"np","date":"2013-05-25T23:27:57.940Z","type":"message"}
{"nick":"thl0","message":"Raynos: yorick: you could have a look at shelljs - it has a bunch of those","date":"2013-05-25T23:29:33.761Z","type":"message"}
{"nick":"thl0","message":"although it's pretty big, however quite useful for writing scripts that keep shelling out","date":"2013-05-25T23:29:58.924Z","type":"message"}
{"nick":"Raynos","message":"thl0: nstart & npublish are god send","date":"2013-05-25T23:31:12.786Z","type":"message"}
{"nick":"Raynos","message":"they really make things so much easier","date":"2013-05-25T23:31:20.164Z","type":"message"}
{"nick":"Raynos","message":"i mean ngenplus {{name}} ./lib/{{name}} and nstart","date":"2013-05-25T23:31:50.718Z","type":"message"}
{"nick":"thl0","message":"Raynos: problem with your node-env module is that it will force browserify to include process in the bundle","date":"2013-05-25T23:32:00.193Z","type":"message"}
{"nick":"Raynos","message":"i need to figure out how to make them modules","date":"2013-05-25T23:32:01.152Z","type":"message"}
{"nick":"Raynos","message":"thl0: I can configure it to not do that if I wanted to","date":"2013-05-25T23:32:13.406Z","type":"message"}
{"nick":"Raynos","message":"or you can PR it","date":"2013-05-25T23:32:15.632Z","type":"message"}
{"nick":"thl0","message":"Raynos: just to check that node_env doesn't exist","date":"2013-05-25T23:32:29.226Z","type":"message"}
{"nick":"Raynos","message":"oh true I can just touch global","date":"2013-05-25T23:32:41.913Z","type":"message"}
{"nick":"Raynos","message":"true that.","date":"2013-05-25T23:32:44.379Z","type":"message"}
{"nick":"thl0","message":"you should turn it around and check for window first and use browser field to get process not included","date":"2013-05-25T23:33:16.172Z","type":"message"}
{"nick":"thl0","message":"Raynos: looking at ngenplus","date":"2013-05-25T23:33:38.265Z","type":"message"}
{"nick":"Raynos","message":"fixed node-env","date":"2013-05-25T23:33:56.274Z","type":"message"}
{"nick":"Raynos","message":"but basically","date":"2013-05-25T23:34:05.446Z","type":"message"}
{"nick":"thl0","message":"Raynos: problem: 'ngenplus' is not in the npm registry","date":"2013-05-25T23:34:08.541Z","type":"message"}
{"nick":"Raynos","message":"i'm developing modules in a lib folder in my app","date":"2013-05-25T23:34:11.333Z","type":"message"}
{"nick":"thl0","message":"ah","date":"2013-05-25T23:34:28.206Z","type":"message"}
{"nick":"Raynos","message":"https://github.com/Raynos/dotfiles/blob/master/.functions#L26","date":"2013-05-25T23:34:33.927Z","type":"message"}
{"nick":"Raynos","message":"and then I have one command to move it into its own module, I can open it up there and add docs / tests if I want to","date":"2013-05-25T23:34:54.263Z","type":"message"}
{"nick":"Raynos","message":"and a second command to create github, travis, testling & publish","date":"2013-05-25T23:35:08.926Z","type":"message"}
{"nick":"Raynos","message":"its a good workflow","date":"2013-05-25T23:35:11.389Z","type":"message"}
{"nick":"thl0","message":"Raynos: it looks very useful","date":"2013-05-25T23:35:43.731Z","type":"message"}
{"nick":"Raynos","message":"i need some more time to fine tune the process","date":"2013-05-25T23:35:56.536Z","type":"message"}
{"nick":"Raynos","message":"and eventually rip it out of my dotfiles","date":"2013-05-25T23:36:03.678Z","type":"message"}
{"nick":"thl0","message":"Raynos: maybe a good shell script is all we need","date":"2013-05-25T23:36:32.453Z","type":"message"}
{"nick":"Raynos","message":"windows :D","date":"2013-05-25T23:36:42.832Z","type":"message"}
{"nick":"thl0","message":"since you basically are combining together a bunch of tools","date":"2013-05-25T23:36:52.731Z","type":"message"}
{"nick":"thl0","message":"Raynos: well yeah, shelljs then","date":"2013-05-25T23:37:09.509Z","type":"message"}
{"nick":"Raynos","message":"ew shelljs xd","date":"2013-05-25T23:37:22.921Z","type":"message"}
{"nick":"Raynos","message":"but yeah I get your point","date":"2013-05-25T23:37:26.291Z","type":"message"}
{"nick":"thl0","message":"Raynos: since this is a tool, you could also argue that it only needs to run on unix, i.e. like sed","date":"2013-05-25T23:37:53.039Z","type":"message"}
{"nick":"thl0","message":"it's different for libs","date":"2013-05-25T23:38:00.524Z","type":"message"}
{"nick":"Raynos","message":"im ok with unix only","date":"2013-05-25T23:38:05.474Z","type":"message"}
{"nick":"Raynos","message":"just my dotfiles make too many assumptions","date":"2013-05-25T23:38:15.893Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: want to get some food?","date":"2013-05-25T23:38:16.772Z","type":"message"}
{"nick":"Raynos","message":"about my environment","date":"2013-05-25T23:38:18.813Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: I already ate","date":"2013-05-25T23:38:23.761Z","type":"message"}
{"nick":"defunctzombie","message":"fuck","date":"2013-05-25T23:38:27.737Z","type":"message"}
{"nick":"Raynos","message":"I eat at around 2-3pm for lunch","date":"2013-05-25T23:38:58.915Z","type":"message"}
{"nick":"Raynos","message":"then starve","date":"2013-05-25T23:39:00.368Z","type":"message"}
{"nick":"thl0","message":"Raynos: you could pull it out and publish as node module","date":"2013-05-25T23:39:02.128Z","type":"message"}
{"nick":"Raynos","message":"the rest of the day","date":"2013-05-25T23:39:02.613Z","type":"message"}
{"nick":"defunctzombie","message":"haha","date":"2013-05-25T23:39:19.875Z","type":"message"}
{"nick":"thl0","message":"then you put an index.js that checks for unix and sources the shell stuff","date":"2013-05-25T23:39:24.622Z","type":"message"}
{"nick":"thl0","message":"if it's windows you say: 'sorry only works on unix right now, but I take PRs'","date":"2013-05-25T23:39:43.711Z","type":"message"}
{"nick":"Raynos","message":":D","date":"2013-05-25T23:39:57.653Z","type":"message"}
{"nick":"thl0","message":"then someone can PR a PowerShell script that you source instead","date":"2013-05-25T23:40:09.629Z","type":"message"}
{"nick":"thl0","message":"just b/c windows sucks doesn't mean we have to suffer ourselves - someone else can ;)","date":"2013-05-25T23:40:40.631Z","type":"message"}
{"nick":"Raynos","message":"start building a new web app ( https://github.com/Raynos/process-dashboard/blob/master/index.js )","date":"2013-05-25T23:42:10.119Z","type":"message"}
{"nick":"defunctzombie","message":"Raynos: https://github.com/Raynos/node-env","date":"2013-05-25T23:47:25.081Z","type":"message"}
{"nick":"defunctzombie","message":"this is a new level is laziness","date":"2013-05-25T23:47:31.708Z","type":"message"}
{"nick":"defunctzombie","message":"*in","date":"2013-05-25T23:47:35.910Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: :D","date":"2013-05-25T23:48:05.629Z","type":"message"}
{"nick":"thl0","message":"Raynos: wouldn't browserify still bundle process since it sees that you are using it here? https://github.com/Raynos/node-env/blob/master/index.js#L4","date":"2013-05-25T23:49:12.526Z","type":"message"}
{"nick":"mikolalysenko","date":"2013-05-25T23:51:47.428Z","type":"join"}
{"nick":"mikeal","date":"2013-05-25T23:53:25.907Z","type":"join"}
{"nick":"Raynos","message":"thl0: yes","date":"2013-05-25T23:55:37.947Z","type":"message"}
{"nick":"Raynos","message":"defunctzombie: its not about lazy","date":"2013-05-25T23:55:43.870Z","type":"message"}
{"nick":"Raynos","message":"its about having access to NODE_ENV in the browser in a reliable fashion","date":"2013-05-25T23:55:53.991Z","type":"message"}
{"nick":"thl0","message":"Raynos: you should use browser field","date":"2013-05-25T23:56:02.768Z","type":"message"}
{"nick":"Raynos","message":"the best way to do it is to inject a script tag from node-env/script","date":"2013-05-25T23:56:03.499Z","type":"message"}
{"nick":"Raynos","message":"thl0: that would be better! PR welcome","date":"2013-05-25T23:56:14.107Z","type":"message"}
{"nick":"thl0","message":"this way process doesn't get bundled","date":"2013-05-25T23:56:20.892Z","type":"message"}
{"nick":"thl0","message":"ok - focusing on testlingify for now, but maybe ;)","date":"2013-05-25T23:56:35.740Z","type":"message"}