00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:26  * tmcwquit (Ping timeout: 240 seconds)
00:03:10  * fotoveritequit (Remote host closed the connection)
00:09:23  * jolissquit (Quit: joliss)
00:09:32  * ednapiranhaquit (Remote host closed the connection)
00:10:47  * jolissjoined
00:11:18  * ins0mniaquit (Ping timeout: 276 seconds)
00:15:51  <st_luke>i wonder if maybe i was hitler in my past life, and now i have to fuck around with rails bullshit as punishment
00:18:27  * thlorenzjoined
00:23:04  * stagas_joined
00:24:25  * stagasquit (Ping timeout: 268 seconds)
00:24:39  * stagas_changed nick to stagas
00:26:45  * thlorenzquit (Ping timeout: 248 seconds)
00:33:19  <Raynos>spion: I think that breaks if you yield inside the while loop
00:33:46  <Raynos>spion because then whilst your while body is suspended the other stream could try and call the callback resuming your generator with the wrong data !
00:33:47  * jibayquit (Quit: Leaving)
00:37:06  <spion>but the other stream can't call the callback while the generator is running, at least not until the next yield
00:38:21  <spion>even if things happen in the same tick, the generator will continue until the next yield. only afterwards will the next listener be run
00:43:19  <spion>the only troublesome situation is if the resumer function is invoked immediately (before the yield)
00:43:42  <spion>in those cases my alternative to suspend (genny) will queue the result and send it after the next yield
00:44:03  <spion>not sure what suspend does (can't quite figure it out from the source)
00:44:49  <isaacs>hey, small module lovers!
00:45:02  <mikeal>yes!
00:45:05  <isaacs>i just published the two smallest modules i've ever written, to solve two really annoying problems in Node!
00:45:08  <isaacs>http://npm.im/tcp http://npm.im/udp
00:45:13  <isaacs>namely, the words "net" and "dgram"
00:45:19  <isaacs>which are the wrong names for those modules.
00:45:20  <mikeal>hahaha
00:45:33  <st_luke>isaacs: dude
00:45:38  <mikeal>why isn't that in core?
00:45:38  <st_luke>I could hug you right now
00:45:43  <mikeal>just alias them
00:45:53  <st_luke>omg <3
00:45:57  <mikeal>i mean, you own the npm names now anyway
00:46:05  <st_luke>++ on aliasing them
00:46:09  <substack>--
00:46:18  <st_luke>WTF STACK
00:46:19  <LOUDBOT>ACHIEVEMENT UNLOCKED: KNOW YOUR MEDS
00:46:22  <mikeal>substack objections to "lines of code in core" :)
00:46:24  <substack>too much junk in there already
00:46:32  <st_luke>mikeal: hahaha
00:46:35  <st_luke>good call
00:46:59  <isaacs>substack: it wouldn't add anything else to core.
00:47:14  <isaacs>substack: just rename it properly, and then add a backwards compatibility shim for the old broken name.
00:47:29  <st_luke>better ask the mailing list
00:47:33  * thlorenzjoined
00:48:55  <isaacs>st_luke: or just leave the solution in userland.
00:48:58  <isaacs>whatever :)
00:49:54  <st_luke>I always wondered why they were called that, never looked into the historical reasons
00:50:09  * st_lukequit (Remote host closed the connection)
00:53:14  * thlorenz_joined
00:53:46  <Raynos>spion: the problem is multiple yield statements
00:54:37  <Raynos>spion: https://gist.github.com/Raynos/cd56289abb847cc62b2d#file-x-js-L15
00:54:43  <Raynos>does file contain the file or does it contain another stream chunk
00:54:46  <spion>ah right.
00:54:54  <spion>if you yield something else.
00:55:42  <spion>then you wont (always) get the proper result
00:56:04  <Raynos>thats broken
00:56:07  <spion>yup
00:56:10  <Raynos>select should be fixed to handle that
00:56:12  <Raynos>somehow
00:57:31  * tmcwjoined
00:58:23  <dimadima>Raynos: do you still use mocks?
00:58:32  <Raynos>dimadima: depends
00:58:37  <dimadima>erm, mock
00:59:13  <Raynos>oh that module, no.
00:59:15  <dimadima>Raynos: if i'm starting w/ JS unit testing right now, what would you recommend i start w/ for mocks? nothing (just making my own objs)? a library?
00:59:16  <Raynos>that's a bad idea
00:59:27  <Raynos>dimadima: https://github.com/Raynos/process-dashboard/tree/master/test
00:59:39  <Raynos>those are some recent unit, integration & system tests I wrote
00:59:49  <Raynos>I personally make my own objects
00:59:53  <dimadima>thank you! awesome. examples=> the best
01:00:01  <dimadima>i'm reading through: http://tddjs.com/
01:00:03  <Raynos>other people use sinon ( https://github.com/cjohansen/Sinon.JS )
01:00:20  <dimadima>yup that book is by cjohansen
01:00:33  <dimadima>but i'm generally averse to bigger libs. wouldn't mind them if they don't suck, though
01:00:41  <dimadima>libs->frameworks
01:00:48  <Raynos>I can recommend tape
01:00:53  <dimadima>i'm using tape
01:01:16  <dimadima>my experiments w/ express/mocha led to some serious brain damage
01:01:25  * thlorenz_quit (Ping timeout: 248 seconds)
01:01:39  <dimadima>i will look through your examples in process-dashboard, thanks very much
01:01:50  * tmcwquit (Ping timeout: 240 seconds)
01:02:32  <dimadima>glad i caught you here as i was just eyeing up `mock` :D
01:04:10  <dimadima>Raynos: tape-continuable assists w/ async tests?
01:04:25  * dguttmanquit (Quit: dguttman)
01:04:30  <Raynos>dimadima: I would only use tape-continuable with generators
01:04:37  * mikealquit (Quit: Leaving.)
01:04:44  * timoxleyquit (Remote host closed the connection)
01:04:53  <dimadima>so es6?
01:05:07  <dimadima>when i think generators i think `yield` or es6
01:05:30  * dimadimareading https://github.com/Raynos/continuable
01:05:43  <Raynos>yes yield
01:06:26  <dimadima>rgr, well, i'm not using any of those in JS yet, so i will move on
01:15:36  * mikolalysenkoquit (Ping timeout: 268 seconds)
01:19:14  * mikealjoined
01:23:14  * mikolalysenkojoined
01:28:17  * thlorenz_joined
01:32:37  * thlorenz_quit (Ping timeout: 246 seconds)
01:36:36  <spion>Raynos, uh-oh, solving that will take some effort.
01:37:03  <Raynos>dimadima: you dont need yield, its just way nicer then callbacks
01:38:42  <spion>probably using a queue of ready streams
01:39:28  <spion>I might give it a try tomorrow, got stuck for today :)
01:46:26  * mikealquit (Quit: Leaving.)
01:56:24  * creationixpart ("Leaving")
01:56:29  * creationixjoined
02:02:02  * jcrugzzquit (Read error: Connection reset by peer)
02:02:28  * jcrugzzjoined
02:03:59  * soldairquit (Ping timeout: 250 seconds)
02:18:18  * gwenbelljoined
02:28:06  * tmcwjoined
02:28:41  * thlorenz_joined
02:29:33  * mk30quit (Ping timeout: 250 seconds)
02:31:34  <thlorenz>Domenic_: your amd wrap won't handle modules that require other npm modules right?
02:32:28  <jesusabdullah>I just looked up the download stats for ecstatic
02:32:34  <jesusabdullah>over 5000 dls in the last month
02:32:38  <jesusabdullah>that's pretty cool
02:32:40  * tmcwquit (Ping timeout: 256 seconds)
02:32:53  * thlorenz_quit (Ping timeout: 240 seconds)
02:33:56  <jesusabdullah>You guys ever look at your published modules and think about taking some of them down?
02:34:12  <jesusabdullah>Like, modules nobody uses including yourself that are terrible
02:36:11  <rowbit>/!\ ATTENTION: (default-local) t@... successfully signed up for developer browserling plan ($20). Cash money! /!\
02:36:11  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
02:39:10  <substack>jesusabdullah: the problem is that some of those modules are used by other people and removing them would break their apps
02:39:32  <jesusabdullah>substack: what if I know they're being used by zero people?
02:41:11  * mikolaly1enkojoined
02:41:29  * dimadimanpm installs all of them
02:42:18  <jesusabdullah>hoarders does not count -_-;
02:42:48  * gwenbellquit (Quit: Lost terminal)
02:47:46  * mikolalysenkoquit (Read error: Connection reset by peer)
02:51:39  <dimadima>:)
02:53:49  * kumavisquit (Quit: kumavis)
03:14:01  * kumavisjoined
03:14:13  * thlorenzquit (Read error: Connection reset by peer)
03:14:30  * thlorenzjoined
03:16:44  <substack>thlorenz: can I make hypernal have a blinky cursor?
03:17:14  <thlorenz>substack: you could, maybe make it an option?
03:17:44  <substack>yes tty.js has an option buried somewhere for it
03:17:48  <thlorenz>it's meant to be non user interactive (i.e. cannot type into it)
03:18:05  <substack>I'm making it interactive :D
03:18:05  <thlorenz>substack: if I didn't remove that part ;)
03:18:34  <thlorenz>substack: I removed all this: https://github.com/thlorenz/hypernal/tree/master/.exclude/lib
03:18:40  <thlorenz>to make it smaller
03:19:10  <thlorenz>make being interactive an option too ideally in order to not break existing tools using it
03:20:18  * mk30joined
03:20:38  <jesusabdullah>substack: exterminate?
03:20:57  <substack>jesusabdullah: an even crazier thing
03:21:04  <jesusabdullah>wat
03:21:17  <jesusabdullah>that reminds me
03:21:53  <jesusabdullah>thlorenz: how hard would it be to shove arbitrary html onto a line? Like, a hack to emulate what exterminate does
03:22:13  <jesusabdullah>if it's based on a stripped tty.js maybe I should just see how exterminate does it
03:22:53  <substack>jesusabdullah: I'm wiring up hypernal to use bashful
03:23:04  <jesusabdullah>substack: aha
03:23:25  <thlorenz>jesusabdullah: not sure, you could append some html to the underlying element, but that would most likely screw term up
03:23:25  <substack>for a completely in-browser shell with no server-side component
03:24:00  <jesusabdullah>substack: cool
03:24:03  <thlorenz>substack: why not use termjs as starting point?
03:24:20  <thlorenz>or I guess you could wire all the stuff I excluded back in
03:24:28  <thlorenz>make it interacivelinal
03:24:55  <substack>thlorenz: because your module works well with browserify and streams already so I don't need to hack at messy internals
03:25:16  <thlorenz>substack: ah, cool -- if you require all modules from the .exclude folder you should get the full functionality back
03:25:28  <jesusabdullah>thlorenz: substack: I'm thinking a similar approach to what sub's discussing for the ux for data-center-tycoon, when I have time to hack on it again
03:25:59  <jesusabdullah>my demo just uses a fork of exterminate but hypernal + interactivity + inline html would be moar betters
03:26:27  <thlorenz>substack: probably make it a separate module though since a non-interactive version thats smaller (hypernal) may be a needed option
03:26:42  <thlorenz>unless the extra code for interactivity is slim compared whats there already
03:26:50  <jesusabdullah>wat
03:27:10  <jesusabdullah>I just got an ad that says: "One Click for a Roman Orgy!"
03:27:13  <jesusabdullah>"Click Now!"
03:27:15  <jesusabdullah>and I'm like
03:27:17  <jesusabdullah>lolwut
03:27:20  * tilgovi_changed nick to tilgovi
03:27:25  <mikolaly1enko>did you click?
03:27:37  <jesusabdullah>hell no
03:27:41  <thlorenz>mikolaly1enko: if he did he's probably busy now
03:27:42  <mikolaly1enko>one weird trick for a roman orgy!
03:27:44  <jesusabdullah>I'm all about the Greek orgies
03:29:06  * thlorenz_joined
03:29:19  <thlorenz>btw guys I can in replpad I can now do: var b = require('browserify'); b.dox(); to open readme in browser and/or render it right in the repl
03:29:35  <thlorenz>gonna release that tomorrow
03:29:57  * soldairjoined
03:30:11  <jesusabdullah>replpad?
03:30:18  <jesusabdullah>node repl replacement?
03:30:21  <jesusabdullah>that reminds me
03:30:27  <jesusabdullah>we use COFFEESCRIPT at WORK
03:30:34  <jesusabdullah>it's, well
03:30:37  <jesusabdullah>not so bad really
03:30:56  <jesusabdullah>as a language, anyway. Running coffeescript kinda sucks
03:31:07  <jesusabdullah>and debugging REALLY sucks because stack traces are still in javascript
03:31:14  <jesusabdullah>I thought they did source maps? idk dude
03:31:22  <jesusabdullah>WHATEVS
03:32:09  <chapel>jesusabdullah: I used to use coffeescript
03:32:17  <chapel>pretty much the same issues
03:32:25  <thlorenz>for the fast and curious: npm -g i thlorenz/replpad#readme ^^ jesusabdullah
03:32:25  <jesusabdullah>chapel: yeah
03:32:48  <thlorenz>b.bundle.src is also interesting ;)
03:32:56  <thlorenz>(execute in replpad )
03:33:11  <jesusabdullah>does this work with any ol' module? or just browrstliferg?
03:33:25  * thlorenz_quit (Read error: Operation timed out)
03:33:38  <thlorenz>any ol'
03:34:48  <chapel>jesusabdullah: no idea about source maps, sorry
03:34:51  <chapel>have you moved yet?
03:35:07  <jesusabdullah>chapel: yeah, been here since weds
03:35:13  <jesusabdullah>chapel: supposed to get payroll advance tomorrow
03:35:20  <chapel>jesusabdullah: cool
03:35:22  <jesusabdullah>chapel: I'm down to like $60 in my bank account so, scary stuff
03:35:24  <chapel>hows it?
03:35:27  <thlorenz>jesusabdullah: I made some videos for older functionality like (vim bindings, piping, etc.) http://thlorenz.github.io/replpad/
03:35:29  <chapel>jesusabdullah: I know that feel
03:35:52  <jesusabdullah>not bad! Cool office, cool coworkers, interesting stuff going on
03:35:54  <chapel>I got paid thursday, only have just over 200 for two weeks
03:35:58  <jesusabdullah>the mountains are pretty
03:36:03  <substack>jesusabdullah: are you in utah already?
03:36:12  <jesusabdullah>substack: yeah been here nearly a week
03:36:15  * thlorenzquit (Remote host closed the connection)
03:36:15  <substack>oh wow
03:36:17  <jesusabdullah>yeah
03:36:23  <jesusabdullah>I made moving happen FAST
03:36:43  <substack>is your office full of FREE RADICALS who drink COFFEE?
03:37:29  <jesusabdullah>lol
03:37:38  <substack>and other DISCOURAGED beverages like *gasp* BEER?
03:37:42  <jesusabdullah>Let me put it this way
03:38:06  <jesusabdullah>the number of non-mos reached critical mass such that they bought a coffee maker this week
03:38:30  <substack>maybe they bought it just for you
03:38:41  <jesusabdullah>and: https://twitter.com/jesusabdullah/status/364423687493009409
03:38:49  <jesusabdullah>Well, me, Rob Martin and taterbase
03:39:00  <jesusabdullah>mostly me and Rob
03:39:02  <jesusabdullah>lol
03:39:25  <jesusabdullah>I basically listed us in order from most coffee to least I think
03:39:32  <jesusabdullah>I wonder if Jen drinks coffee
03:40:02  * st_lukejoined
03:40:15  <jesusabdullah>creationix: do you drink coffee?
03:40:35  <jesusabdullah>oh man funny story substack, I went to my coworker's place for dinner, met his wife
03:40:38  <jesusabdullah>they're about my age
03:40:47  <jesusabdullah>she screwed up her ACL so she has percosets
03:40:57  <jesusabdullah>and of course she's tiny so they affect her really strongly
03:41:01  <st_luke>Domenic_: these are kind of nice
03:41:28  <jesusabdullah>she took one a little after dinner and a half hour later was like, "I'm going to the mall to get my bangs trimmed"
03:41:36  <jesusabdullah>"I need my bangs trimmed for church"
03:41:44  <jesusabdullah>"uhh, you're not good to drive" "IM FINE"
03:42:14  <jesusabdullah>after some back and forth: "Let's ALL go to the mall! Then I can get my bangs trimmed and we can buy See's candies!" "uhh, okay!"
03:42:38  <jesusabdullah>some time later: "Josh you should've seen them" "huh?" "these really cute frilly flats" "oh"
03:43:06  <jesusabdullah>in the car ride home: "...oh no I'm so embarrassed I made a terrible first impression!!" "It's cool I used to live in Oakland"
03:43:12  <jesusabdullah>ahh, good times!
03:44:16  <chapel>lol
03:44:20  <chapel>you used to live in alaska
03:44:34  * ricardobeatjoined
03:44:56  <jesusabdullah>"One time in India some dudes went into a k-hole and nobody knew what to do"
03:49:45  * dominictarrjoined
03:59:29  * thlorenzjoined
04:03:51  * thlorenzquit (Ping timeout: 260 seconds)
04:07:23  * st_lukequit (Remote host closed the connection)
04:14:19  * kumavisquit (Ping timeout: 246 seconds)
04:20:25  * kumavisjoined
04:29:46  * calvinfoquit (Quit: Leaving.)
04:33:42  * dominictarrquit (Quit: dominictarr)
04:40:37  * kumavisquit (Ping timeout: 248 seconds)
04:53:30  * calvinfojoined
04:59:54  * thlorenzjoined
05:04:32  * thlorenzquit (Ping timeout: 256 seconds)
05:45:27  * st_lukejoined
05:48:17  * mirkokieferjoined
05:51:11  * shamaquit (Remote host closed the connection)
05:58:59  * mikealjoined
05:59:18  * mikealquit (Client Quit)
06:00:22  * thlorenzjoined
06:01:37  * timoxleyjoined
06:01:46  * whit537quit (Ping timeout: 256 seconds)
06:02:51  * defunctzombie_zzchanged nick to defunctzombie
06:04:38  * thlorenzquit (Ping timeout: 240 seconds)
06:05:27  * whit537joined
06:07:01  * st_lukequit (Remote host closed the connection)
06:08:41  * mirkokieferquit (Quit: mirkokiefer)
06:08:41  * mikolaly1enkoquit (Read error: Connection reset by peer)
06:11:53  * mikolalysenkojoined
06:21:08  * mikolaly1enkojoined
06:21:27  * ins0mniajoined
06:22:01  * defunctzombiechanged nick to defunctzombie_zz
06:24:16  * mikolalysenkoquit (Ping timeout: 240 seconds)
06:28:00  * mikealjoined
06:30:03  * djcoinjoined
06:33:02  * keslajoined
06:46:46  * ins0mniaquit (Read error: Operation timed out)
06:53:32  * mikolaly1enkoquit (Ping timeout: 268 seconds)
06:54:19  * mk30quit (Ping timeout: 250 seconds)
07:00:48  * thlorenzjoined
07:03:35  * calvinfoquit (Quit: Leaving.)
07:05:00  * thlorenzquit (Ping timeout: 245 seconds)
07:09:03  * wolfeidauquit (Remote host closed the connection)
07:10:50  * maksimlinquit (Ping timeout: 245 seconds)
07:19:52  * mikealquit (Quit: Leaving.)
07:21:47  * timoxleyquit (Remote host closed the connection)
07:22:56  * defunctzombie_zzchanged nick to defunctzombie
07:30:21  * mirkokieferjoined
07:32:25  * defunctzombiechanged nick to defunctzombie_zz
07:33:12  * saijanai_quit (Quit: saijanai_)
07:37:16  <substack>chrisdickinson: https://npmjs.org/package/vkey could use an example of the kind of data that the console.log() actually outputs!
07:56:55  * ryan_stevensjoined
07:57:10  * ricardobeatquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:59:05  * mikealjoined
07:59:17  * ricardobeatjoined
08:01:09  * thlorenzjoined
08:03:05  * wolfeidaujoined
08:04:51  * ricardobeatquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:05:26  * thlorenzquit (Ping timeout: 240 seconds)
08:19:09  * frankblizzardjoined
08:27:21  * cianomaidinjoined
08:31:08  * cianomaidinquit (Client Quit)
08:47:18  * cianomaidinjoined
08:48:24  * cianomaidin_joined
08:48:49  * cianomaidin_quit (Client Quit)
08:49:50  * mirkokieferquit (Quit: mirkokiefer)
08:51:32  * dominictarrjoined
08:51:46  * cianomaidinquit (Ping timeout: 256 seconds)
08:52:57  * dominictarrquit (Client Quit)
09:01:38  * thlorenzjoined
09:05:40  * thlorenzquit (Ping timeout: 240 seconds)
09:12:55  * cianomaidinjoined
09:14:23  * dominictarrjoined
09:57:55  * jcrugzzquit (Ping timeout: 256 seconds)
10:02:02  * thlorenzjoined
10:02:55  * spionquit (Ping timeout: 246 seconds)
10:06:34  * thlorenzquit (Ping timeout: 256 seconds)
10:14:10  * keslaquit (Ping timeout: 245 seconds)
10:18:26  * wolfeidauquit (Remote host closed the connection)
10:26:03  * wolfeidaujoined
10:26:49  * jcrugzzjoined
10:31:09  * ryan_stevensquit (Quit: Leaving.)
10:33:01  * jcrugzzquit (Ping timeout: 246 seconds)
10:38:55  * maksimlinjoined
10:39:03  * wolfeidauquit (Remote host closed the connection)
11:00:04  * spionjoined
11:00:33  <spion>Raynos, I think I got it: https://gist.github.com/spion/6160009 :)
11:01:07  <spion>don't think I would ever use that though
11:02:27  * thlorenzjoined
11:06:45  * thlorenzquit (Ping timeout: 248 seconds)
11:06:45  * maksimlinquit (Ping timeout: 248 seconds)
11:19:45  * ins0mniajoined
11:24:16  * maksimlinjoined
11:26:44  * maksimlinquit (Client Quit)
11:36:38  * timoxleyjoined
11:53:05  * nicholas_quit (Read error: Connection reset by peer)
11:53:33  * nicholasfjoined
11:54:43  * thlorenzjoined
12:02:51  * thlorenz_joined
12:06:01  * yorickjoined
12:07:27  * thlorenzquit (Remote host closed the connection)
12:07:41  * thlorenz_quit (Ping timeout: 256 seconds)
12:12:29  * thlorenzjoined
12:46:03  * thlorenzquit (Ping timeout: 260 seconds)
12:47:49  * thlorenzjoined
12:57:14  * FireFlyquit (Ping timeout: 264 seconds)
12:59:36  * thlorenzquit (Remote host closed the connection)
13:00:31  * FireFlyjoined
13:03:17  * thlorenzjoined
13:05:02  * tim_smartquit (Ping timeout: 264 seconds)
13:06:18  * tim_smartjoined
13:07:59  * thlorenzquit (Ping timeout: 260 seconds)
13:12:04  * whit537quit (Read error: Operation timed out)
13:23:18  * ednapiranhajoined
13:33:54  * whit537joined
13:38:37  * soldairquit (Ping timeout: 250 seconds)
13:39:51  * thlorenzjoined
13:41:53  * ednapiranhaquit (Remote host closed the connection)
13:45:26  <dominictarr>substack: this is great news http://www.kickstarter.com/projects/mossmann/hackrf-an-open-source-sdr-platform
13:50:47  * tmcwjoined
14:13:47  * blingcoderjoined
14:20:38  * fotoveritejoined
14:27:16  * AvianFlujoined
14:28:21  * djcoinquit (Quit: WeeChat 0.4.0)
14:39:55  <dominictarr>juliangruber: hey, did you get the replication thing working?
14:44:14  * kevino80joined
14:46:17  * mikealquit (Read error: Connection reset by peer)
14:52:45  * whit537quit (Quit: whit537)
14:59:06  * dguttmanjoined
14:59:07  * tilgoviquit (Remote host closed the connection)
15:03:10  * soldairjoined
15:09:23  * ikjoined
15:09:27  <ik>substack: what happened!?
15:12:40  * frankblizzardquit (Remote host closed the connection)
15:21:29  * fallsemojoined
15:27:13  * mikealjoined
15:29:24  * mikolalysenkojoined
15:32:49  * mikealquit (Quit: Leaving.)
15:34:37  <kanzure>so, how do i decide whether i should set my package's module.exports to be a single function, or to modify the prototype, or how do people make these decisions?
15:35:53  * whit537joined
15:35:55  <kanzure>i guess i like the approach here: https://github.com/substack/node-browserify/blob/master/index.js
15:38:05  * ryan_stevensjoined
15:39:41  <Domenic_>thlorenz: amd-wrap is meant for individual files, so you end up amd-wrapping all your CommonJS files and then they AMD-require each other.
15:39:55  <soldair>kanzure: im pretty sure modifying the proto is always in the category of too clever. as in you can mess up being able to .call /.apply your export
15:41:49  <soldair>kanzure: you can export a single function and hang other methods off of it though. that's easy and fine and almost never creates unexpected behavior perhaps that's what you meant. your module should really just do that one thing if you can
15:41:51  <thlorenz>Domenic_: ah, cool, so you'd resolve your dependencies manually and kinda create a package with a bunch of amd files in it?
15:42:11  <thlorenz>which people have to pull down into a particular folder
15:42:15  <Domenic_>thlorenz: yeah i guess. it's meant mostly for people writing libraries who want to distribute amd versions for losers to use.
15:42:32  <soldair>ha
15:42:47  <thlorenz>makes sense, we actually are also facing this challenge here
15:42:48  <Domenic_>thlorenz: see https://github.com/kriskowal/q/compare/from-commonjs
15:43:02  <Domenic_>Q is currently one big file in UMD style
15:43:03  <kanzure>soldair: so you mean module.exports = function(){};; then module.exports.prototype.otherfunc = ... like that?
15:43:07  <Domenic_>we want to author in CommonJS
15:43:11  <thlorenz>since all our modules should be consumable from different groups useing different module systmes
15:43:12  <thlorenz>yeah
15:43:24  <Domenic_>but let AMD users not be second-class and get a huge file, they should get multiple modules just like CommonJS users do
15:44:05  <thlorenz>Domenic_: exactly - and they should be able to determine if I bundle Backbone into it (if I depend on it) or not, since they may provide that already
15:44:06  <kanzure>what about a wrapper that you insert into commonjs modules that gets ignored for commonjs users, but useful for amd users?
15:44:47  <soldair>kanzure: do people need to subclass your export? i mean just module.exports = function(){} module.exports.tacos = function(){}
15:45:07  <Domenic_>kanzure: that's UMD, and it makes the authoring experience horrible.
15:45:15  <kanzure>soldair: well.. i don't know the answer to that question. maybe they will want to? how do i decide?
15:45:39  <mikolalysenko>Anyone seen this yet? http://openbiometrics.org/
15:45:45  <mikolalysenko>would be cool to get a wrapper for it in npm
15:46:11  <kanzure>mikolalysenko: eww it requires qt
15:46:20  <mikolalysenko>I think it is an optional dependency
15:46:27  <kanzure>hope so
15:46:31  <kanzure>oh, that's for building
15:47:47  * tilgovijoined
15:48:06  <kanzure>mikolalysenko: so i have my paper downloading library coming along nicely (well.. not really, i got busier than i thought i would be)
15:48:15  <mikolalysenko>cool
15:48:31  <kanzure>mikolalysenko: i'm trying to decide what the main meta module should export. soldair is asking me whether or not anyone will subclass the main meta module's export. and i don't know.
15:49:02  <kanzure>mikolalysenko: the main meta module is the one that does the searching, module loading, calling/downloading, and calls your callbacks. does this sound like something you would want to subclass ever?
15:49:14  <mikolalysenko>probably not
15:49:22  <mikolalysenko>also I tend to avoid subclassing stuff
15:49:35  <soldair>kanzure: you should know if your exported interface is a constructor / mikolalysenko me too
15:49:35  <mikolalysenko>it isn't really needed in js since you can just build interface by gluing together pieces
15:50:01  <kanzure>well, i suppose there's really only one instance of this that should be loaded if you require the module
15:50:03  <mikolalysenko>I don't usually export constructors for this reason
15:50:08  <kanzure>like there's no reason to have separate instances of what this module provides
15:50:32  <kanzure>okay. thanks.
15:50:35  <mikolalysenko>so what I usually do is export some method like "createXYZ" that then does the new XYZ internally
15:50:38  * whit537quit (Ping timeout: 240 seconds)
15:50:39  <mikolalysenko>and initializes all the stuff
15:50:44  <substack>the only time I subclass is when I use core abstractions
15:50:50  <substack>EventEmitter and Stream pretty much
15:50:55  <mikolalysenko>yeah, me too
15:51:19  <kanzure>is that so you can replace EventEmitter if you want to browserify your module?
15:51:46  <mikolalysenko>it is mainly because you sometimes want objects that look an eventemitter + other stuff
15:51:56  <mikolalysenko>and you may want many copies of them, so using prototypes is the right way to do it
15:52:17  <mikolalysenko>because instantiating a separate eventemitter then adding properties is generally less efficient
15:52:31  <kanzure>oh right, because you might have multiple instances and they need to have separate streams?
15:52:53  <mikolalysenko>yeah, basically if you instantiate then add properties, it is slower than constructing a prototype
15:52:56  <mikolalysenko>and it wastes memory
15:53:12  <mikolalysenko>of course if you just have one instance of your object it doesn't matter
15:53:21  <mikolalysenko>but if you have more than one instance it is better to use prototypes
15:53:56  <mikolalysenko>and with event emitters, it is often the case that you want something which is basically an event emitter + some other stuff
15:54:05  <kanzure>so, if i was going to download multiple papers simultaneously, i think that's just multiple calls to the library and passing some callbacks, and not instantiating multiple instances of whatever the downloader module provides
15:54:11  <mikolalysenko>like in a game, entities might be event emitters + game logic stuff
15:55:20  * collypopsjoined
15:55:37  * AvianFluquit (Remote host closed the connection)
15:55:57  * whit537joined
15:56:08  <mikolalysenko>kanzure: yeah, that might work
15:56:29  <mikolalysenko>or what you could do is something like this, where the first call basically configures and initializes some data structure and then returns a closure
15:56:34  <mikolalysenko>and calling that closure does whatever you want
15:57:00  <kanzure>can you show me an example on github that does that configure-a-closure approach?
15:57:20  <mikolalysenko>yeah, I use that all the time
15:57:24  <mikolalysenko>here is an example: https://github.com/mikolalysenko/cwise
15:57:52  <mikolalysenko>this one is not as good, but same idea: https://github.com/mikolalysenko/n-body-pairs
15:57:55  <kanzure>https://github.com/mikolalysenko/cwise/blob/master/cwise.js
15:58:00  <kanzure>i just see return compile()
15:59:22  <kanzure>hrm. okay.
15:59:39  * kenperkinsquit (Quit: Computer has gone to sleep.)
16:00:01  * collypopsquit (Client Quit)
16:00:03  * ryan_stevensquit (Quit: Leaving.)
16:00:16  <mikolalysenko>it is kind of like a glorified bind() at the end of the day
16:00:26  <mikolalysenko>but for somethings doing it like this is obviously more efficient
16:00:49  <mikolalysenko>since v8 is not really smart enough to know that it could precompile and parse everything, so cwise has to do this itself explicitly
16:01:12  <mikolalysenko>it would also be unreasonable to expect most compilers to figure something like this out on their own
16:12:45  * cianomaidinquit (Quit: cianomaidin)
16:12:57  * mikealjoined
16:24:01  * AvianFlujoined
16:25:53  * jolissquit (Quit: joliss)
16:26:23  <thlorenz>Raynos: relating to yesterday -- no more express - using restify to serve pages and API now (yay! dtrace)
16:26:45  <thlorenz>so I guees I have some convincing power as well ;)
16:26:55  * shamajoined
16:38:06  <Domenic_>interesting
16:38:16  <Domenic_>i would not use restify for non-apis
16:39:20  * tilgoviquit (Remote host closed the connection)
16:42:48  * thlorenzquit (Remote host closed the connection)
16:45:14  * kumavisjoined
16:47:06  * AvianFluquit (Remote host closed the connection)
16:52:24  * ryan_stevensjoined
16:55:56  * ryan_stevensquit (Read error: Connection reset by peer)
17:12:16  * thlorenzjoined
17:17:27  * AvianFlujoined
17:25:50  * AvianFluquit (Ping timeout: 245 seconds)
17:43:00  * Guest43223changed nick to Birdbones
17:44:36  <Raynos>thlorenz: good luck :)
17:46:39  * AvianFlujoined
17:46:55  * whit537quit (Quit: whit537)
17:47:46  * dominictarrquit (Quit: dominictarr)
17:50:25  <thlorenz>Domenic_: why not? All it does is render pages from data and handlebars and send that up?
17:50:34  <thlorenz>what would you use instead?
17:51:11  * jcrugzzjoined
17:51:42  * calvinfojoined
17:53:30  <dimadima>the question is, what is a pairwise intersection?
17:54:04  <dimadima>google tells all
17:55:30  <dimadima>sort of
17:59:24  * whit537joined
18:01:32  * whit537_joined
18:01:39  * soldairquit (Ping timeout: 250 seconds)
18:03:32  * defunctzombie_zzchanged nick to defunctzombie
18:04:10  * whit537quit (Ping timeout: 246 seconds)
18:04:11  * whit537_changed nick to whit537
18:11:05  <Domenic_>thlorenz: i would use express
18:11:17  <Domenic_>thlorenz: i would use each tool for its job: express for the website, restify for the api
18:11:33  <Domenic_>thlorenz: i don't see any "favicon" plugins for restify
18:11:44  <thlorenz>ah, ok, can still go back on this, I thought restify would be the better tool for anything
18:11:58  <Domenic_>that way e.g. restify can only produce json for 500 errors
18:12:04  <thlorenz>Domenic_: don't most middlewares work with restify as well?
18:12:18  <Domenic_>thlorenz: doubt it, most of them use properties of res/req that only exist in express
18:12:33  <thlorenz>Domenic_: ah, ok, wasn't aware of that
18:13:42  <thlorenz>Domenic_: thanks for letting me know - am not too far in with this, so can revert back to using express
18:14:19  <thlorenz>Domenic_: since it just serves pages the fact that express doesn't support streams is not an issue right?
18:14:30  <Domenic_>thlorenz: when we did restify we served up a single static page: it said "you should access this via an api client, not your browser!" :P
18:14:47  <Domenic_>thlorenz: yeah should be fine. and express can be made to work with streams, it's just awkward.
18:15:09  <thlorenz>ok, but I guess dtrace probes won't be possible then
18:15:22  <Domenic_>well dtrace always works but it's not built in to express that's true
18:15:36  <thlorenz>at least not for the pages server - wondering if that is maybe not where most problems would occurr?
18:15:39  <Domenic_>probably easy to add a middleware that does that, but not sure.
18:15:58  <Domenic_>(if you don't mind adding a security exception for our expired certificate, here is the single static page we served up via restify: https://api.nkstdy.co/)
18:16:21  <Domenic_>dunno, never gotten the benefits of dtrace so dunno what you'd be missing.
18:17:11  <thlorenz>Domenic_: am I supposed to see a 401?
18:17:25  <Domenic_>thlorenz: yes. an html 401
18:17:33  <Domenic_>the only html on the site is that page and its static resources.
18:17:46  <thlorenz>ok
18:17:47  <Domenic_>after that it's just json everywhere
18:18:13  <Domenic_>heh this is still up too http://rel.nkstdy.co/
18:18:52  <thlorenz>Domenic_: all client side rendered I guess?
18:19:20  <Domenic_>thlorenz: http://rel.nkstdy.co/ is just wordpress actually, separate site entirely. just a historical curiousity from my past, not really relevant to current discussion...
18:19:33  <thlorenz>:)
18:20:13  <thlorenz>So I was taking this too literally I guess: "Express' use case is targeted at browser applications and contains a lot of functionality, such as templating and rendering"
18:20:44  <Domenic_>it seems accurate?
18:20:49  <thlorenz>Domenic_: I'm already doing this programatically via Handlebars anyways, so I thought express had not much more to offer
18:21:00  <Domenic_>well
18:21:05  <Domenic_>the choice isn't between express and restify
18:21:07  <thlorenz>but I guess, templating and rendering is not all
18:21:10  <Domenic_>it's between express and ecstatic
18:21:43  <thlorenz>yeah, I was thinking of that as well, but I guess then I'd loose access to most middlewares as well right?
18:21:51  <Domenic_>yeah
18:22:33  <Domenic_>still not entirely clear on what the scope of your website is though. like what server-side code you envision writing.
18:23:04  * AvianFluquit (Remote host closed the connection)
18:23:21  <thlorenz>Domenic_: well it's quite simply a static page server (although rendered from templates including json data from api server)
18:23:44  <thlorenz>so I thought express was overkill and was hoping to get dtrace probes for free ;)
18:24:03  <Domenic_>server-side rendering may not be the best approach
18:24:13  <Domenic_>it probably is but not sure
18:24:18  <thlorenz>but I also don't wanna have to hand code everything for which there is express middleware
18:24:20  <Domenic_>because it means larger initial page load
18:24:27  <thlorenz>not my call
18:24:28  * spionquit (Ping timeout: 246 seconds)
18:24:30  <Domenic_>ah ok
18:24:37  <Domenic_>oh right seo
18:24:44  <Domenic_>or rather, seo myths
18:24:49  <Domenic_>since googlebot definitely uses javascript
18:24:56  <thlorenz>I'd client side render everything -- actually could you point me to some info on those seo myths?
18:25:03  <thlorenz>maybe I can do some convincing?
18:25:34  * jibayjoined
18:25:39  <Domenic_>yeah just asked the discuss guys on twitter
18:27:28  <thlorenz>Domenic_: thanks, seems a bit involved actually: https://developers.google.com/webmasters/ajax-crawling/
18:27:35  <Domenic_>thlorenz: this is pretty solid http://www.distilled.net/blog/seo/google-stop-playing-the-jig-is-still-up-guest-post/
18:28:07  <Domenic_>that page is not really accurate. it's like best practices guide but not really reflecting what googlebot really does.
18:28:39  <thlorenz>ah, ok
18:29:16  <Domenic_>some evidence here plus lots of theorizing http://ipullrank.com/googlebot-is-chrome/
18:32:51  <thlorenz>thanks Domenic_, read it, but just learned we have to support facebook as well :(
18:33:01  <Domenic_>haha lol
18:33:32  <thlorenz>and twitter cards ;P
18:33:48  <thlorenz>so we are screwed into serverside rendering
18:34:17  <Domenic_>yeah makes sense
18:34:33  <Domenic_>still that's only some meta tags in the head
18:35:15  <Domenic_>so just put some meta tags in plus <script>var data = {{allTheJson}};</script> and you're good i think
18:36:10  <thlorenz>makes sense Domenic_
18:36:18  <thlorenz>but then there is bing ...
18:36:30  <Domenic_>heh
18:36:35  <Domenic_>i'd be surprised if they didn't do it too
18:36:46  * thlorenzis fighting really hard over here, but most likely not able to push this issue
18:36:51  <Domenic_>less well-researched, but, one giveaway is those pre-rendered previews
18:37:13  <Domenic_>here is what they did at discuss: http://eviltrout.com/2013/06/19/adding-support-for-search-engines-to-your-javascript-applications.html
18:37:21  <thlorenz>thanks
18:37:26  <Domenic_>basically <noscript>Seo {{content}}</noscript>
18:38:00  <Domenic_>oh it's "discourse" not "discuss"
18:42:56  <johnkpaul>I feel like I shouldn't be following conversations in here ;=)
18:45:28  <Domenic_>lol
18:54:38  * soldairjoined
18:58:25  <thlorenz>johnkpaul: its all good - looks like we are
18:58:38  <thlorenz>not going to do too much client side rendering anyways
18:58:47  <thlorenz>so we may as well send up rendered html
18:58:56  <thlorenz>i.e the page is pretty static
18:59:42  * mikolalysenkoquit (Ping timeout: 276 seconds)
19:03:31  * calvinfoquit (Quit: Leaving.)
19:05:10  * calvinfojoined
19:05:25  * jolissjoined
19:12:52  * AvianFlujoined
19:38:16  * brianloveswordsquit (Excess Flood)
19:39:43  * jolissquit (Ping timeout: 246 seconds)
19:40:37  * brianloveswordsjoined
19:47:20  * kevino80quit (Remote host closed the connection)
19:48:38  * mk30__joined
19:58:53  * jolissjoined
20:02:14  * jolissquit (Client Quit)
20:03:37  * kenperkinsjoined
20:08:36  * ednapiranhajoined
20:09:51  * gwenbelljoined
20:12:14  * tmcwquit (Remote host closed the connection)
20:13:40  * mikealquit (Quit: Leaving.)
20:14:12  * keslajoined
20:15:48  * calvinfoquit (Quit: Leaving.)
20:16:04  * mikolalysenkojoined
20:16:44  * calvinfojoined
20:21:14  * tmcwjoined
20:22:48  * tmcwquit (Remote host closed the connection)
20:23:41  * calvinfoquit (Quit: Leaving.)
20:26:44  * ricardobeatjoined
20:27:53  * tmcwjoined
20:31:48  * stagasquit (Read error: Connection reset by peer)
20:32:16  * ricardobeatquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:36:16  * kevino80joined
20:40:34  * stagasjoined
20:42:44  * ricardobeatjoined
20:43:53  * mikealjoined
20:48:28  * mikealquit (Ping timeout: 264 seconds)
20:56:45  * jergasonjoined
20:57:24  <Raynos>Domenic_: Your saying server side rendering is slower?
20:58:27  <Domenic_>Raynos: not necessarily. but it's not always faster either. depends on whether the gzipped HTML is larger than the gzipped json, and how much of your UI you can show without the data available. if you can show a skeleton quickly, that's better UX than showing the whole thing prerendered after a few seconds of waiting for the data to load
20:58:49  <Domenic_>especially with SPDY where you can send the html and the json at the same time
20:59:11  <Raynos>Domenic_: but isnt the delta between json & html smaller then delta between json + js code
20:59:24  <Domenic_>Raynos: I don't really understand that sentence.
20:59:28  <Raynos>thlorenz: an alternative to express is st + do all the things with modules
20:59:37  <Raynos>Domenic_: if you client side render you have to wait for js to load
20:59:50  <thlorenz>Raynos: what's st?
20:59:58  <Raynos>thlorenz: isaacs static server
21:00:02  <thlorenz>ah
21:00:18  <thlorenz>what about ecstatic and do both support streaming responses?
21:00:28  <Domenic_>Raynos: sure but you'll need to wait for that any way for your UI to be responsive.
21:00:52  <jesusabdullah>yes both do streaming files
21:00:55  <Raynos>Domenic_: so your saying server side rendering is not worth it because UI is not responsive?
21:01:16  <jesusabdullah>My understanding of the major differences is that ecstatic has a few more features but is less aggressive when caching
21:01:18  <Raynos>Depends whether you care more about reading content or interacting with it
21:01:27  * keslaquit (Remote host closed the connection)
21:01:29  <jesusabdullah>and I think ecstatic gets more bugfixes but idk about that
21:01:35  <Raynos>jesusabdullah: which is why I use ecstatic in dev things and st in prod due to caches
21:01:45  * wolfeidaujoined
21:02:03  <thlorenz>Raynos: jesusabdullah we don't need caches -- are behind varnish
21:02:28  <jesusabdullah>I'd take PRs on ecstatic for more aggressive caching btw
21:02:35  <jesusabdullah>like I'm not against that
21:02:43  <thlorenz>jesusabdullah: so what about using plugins/middleware (there are lots for express) with ecstatic?
21:02:47  <jesusabdullah>I just haven't, like, dug into st's sauce or anything
21:02:56  <jesusabdullah>thlorenz: ecstatic works as a middleware
21:03:03  <thlorenz>ah
21:03:17  * mikealjoined
21:03:20  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:04:02  <Raynos>thlorenz: if you want middleware use express
21:04:11  <Raynos>thlorenz: one of the features of not using express is zero middleware !
21:05:13  <Domenic_>Raynos: that is part of it. also because it may take longer to first seeing the UI because you are waiting for all the rendered html to load.
21:09:28  * mikolalysenkoquit (Ping timeout: 264 seconds)
21:10:08  <thlorenz>hold on so you CAN pipe into a express response? Domenic_ Raynos
21:10:18  <Domenic_>thlorenz: yes definitely.
21:10:19  <Raynos>thlorenz: what, why ?
21:10:32  <Domenic_>thlorenz: just be sure not to trigger any error handlers or let any future middleware do anything.
21:11:05  <thlorenz>I thought you couldn't - heard that was broken in express and lots of people had tried to get proper streaming into connect but failed
21:11:13  <thlorenz>maybe I was dreaming
21:12:02  * kenperkinsjoined
21:17:04  * jergason_joined
21:19:21  * jergasonquit (Ping timeout: 264 seconds)
21:20:34  <thlorenz>thanks guys, now I can do: hyperquest(url).pipe(res); to pull data from our api server (which is behind a firewall) ^^ Domenic_ Raynos
21:23:38  * st_lukejoined
21:27:18  * jergasonjoined
21:28:06  * stagasquit (Ping timeout: 264 seconds)
21:29:42  * jolissjoined
21:30:28  * jergason_quit (Ping timeout: 264 seconds)
21:35:00  * joliss_joined
21:36:14  * jolissquit (Ping timeout: 240 seconds)
21:36:14  * joliss_changed nick to joliss
21:39:39  * brianloveswordsquit (Excess Flood)
21:39:41  * calvinfojoined
21:40:07  * brianloveswordsjoined
21:43:22  <st_luke>rvagg: i made a little PR to the ender website cause it was annoying me
21:44:29  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:55:08  <st_luke>substack: getting a redirect loop on ci.testling.com
21:56:07  <st_luke>mikeal: what time are you getting to change.org
21:57:20  * kumavisquit (Remote host closed the connection)
21:59:06  * thlorenzquit (Remote host closed the connection)
22:02:21  * jcrugzzquit (Ping timeout: 276 seconds)
22:03:03  * nicholasfquit (Remote host closed the connection)
22:04:53  <mikeal>probably 7
22:04:58  <mikeal>need to figure out food ahead of time
22:09:23  * no9quit (Read error: Operation timed out)
22:09:30  * mikealquit (Quit: Leaving.)
22:10:11  * mikealjoined
22:13:20  * no9joined
22:15:18  * mcollinajoined
22:15:54  * keslajoined
22:16:20  <Raynos>thlorenz: :)
22:16:24  <Raynos>thlorenz: or you can just proxy it
22:16:45  <Raynos>thlorenz: req.pipe is broken in express
22:16:49  <Raynos>x.pipe(res) should work ish
22:18:16  * kevino80quit (Remote host closed the connection)
22:19:39  * jergason_joined
22:20:49  * tmcwquit (Remote host closed the connection)
22:20:50  * keslaquit (Ping timeout: 245 seconds)
22:21:51  * jergasonquit (Ping timeout: 276 seconds)
22:26:42  * AvianFlu_joined
22:27:05  * AvianFlu_quit (Remote host closed the connection)
22:27:22  * mikealquit (Quit: Leaving.)
22:28:14  * ins0mniaquit (Ping timeout: 240 seconds)
22:29:37  * thlorenzjoined
22:29:50  * AvianFluquit (Ping timeout: 240 seconds)
22:39:04  * mikealjoined
22:39:28  * thlorenzquit (Ping timeout: 264 seconds)
22:39:37  * fallsemoquit (Quit: Leaving.)
22:45:48  * mikealquit (Quit: Leaving.)
22:48:12  * mikolalysenkojoined
22:49:34  <st_luke>Domenic_: I swear to god, I will never tell you you're right, even if you are
22:49:52  * mikealjoined
22:51:12  <Domenic_>st_luke: ^_^
22:54:49  * fallsemojoined
22:57:36  * whit537quit (Quit: whit537)
23:03:34  * mcollinaquit (Remote host closed the connection)
23:04:11  * mcollinajoined
23:04:18  * mcollinaquit (Remote host closed the connection)
23:04:51  * mcollinajoined
23:06:18  * mcollinaquit (Remote host closed the connection)
23:12:21  * mk30__quit (Ping timeout: 250 seconds)
23:16:16  * blingcoderquit (Remote host closed the connection)
23:16:49  * fallsemoquit (Quit: Leaving.)
23:17:33  * kenperkinsjoined
23:21:29  * kenperkinsquit (Client Quit)
23:22:52  * wolfeidauquit (Remote host closed the connection)
23:23:20  * wolfeidaujoined
23:26:09  * zu_quit (Read error: Operation timed out)
23:26:16  * AvianFlujoined
23:27:55  * wolfeidauquit (Ping timeout: 245 seconds)
23:29:26  * jergason_quit (Remote host closed the connection)
23:30:06  * zujoined
23:30:15  * nk109joined
23:31:20  * tmcwjoined
23:34:12  * whit537joined
23:34:26  * mikealquit (Quit: Leaving.)
23:34:51  * thlorenzjoined
23:35:51  * thlorenz_joined
23:35:52  * thlorenzquit (Read error: Connection reset by peer)
23:35:58  * tmcwquit (Ping timeout: 246 seconds)
23:36:29  * jolissquit (Quit: joliss)
23:37:02  * mikealjoined
23:40:39  * jaz303joined
23:41:17  * mk30_joined
23:43:46  * calvinfoquit (Quit: Leaving.)
23:45:12  * yorickquit (Remote host closed the connection)
23:48:41  * ricardobeatquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:56:01  <kanzure>mikolalysenko: https://github.com/kanzure/papermonk
23:56:21  <kanzure>mikolalysenko: someone is suggesting that i use a dsl like https://gist.github.com/rcallahan/0748c6b40f590d43e096 but i am not really sure it's a good idea to restrict all of the downloader modules to this.. thoughts?
23:57:04  <mikolalysenko>hmm
23:57:14  <mikolalysenko>my though on dsls is that you really want to avoid them
23:57:45  <mikolalysenko>they add a lot of complexity and can increase the sheer volume of code enormously
23:58:12  <mikolalysenko>but there are a few extreme situations where it borderline makes sense, like regular expressions or parser generators for example