00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:01:33  * mikealjoined
00:08:51  * Nexxychanged nick to xyxne
00:11:04  * thl0quit (Remote host closed the connection)
00:13:27  <st_luke>jcrugzz: take a look at the 'levelweb' repository as I believe it uses browserify with d3 in some way
00:13:41  <jcrugzz>st_luke: word, thanks
00:18:42  <calvinfo>jcrugzz: we're using d3 with browserify v1
00:20:41  <jcrugzz>calvinfo: good to know, but there has gotta be a way to make it work with v2 :)
00:22:08  <calvinfo>yeah, we started switching to component right before v2 came out
00:34:36  <chapel>jesusabdullah: I did
00:36:13  * douglaslassancejoined
00:38:02  <jesusabdullah>chapel: what up?
00:38:23  <chapel>jesusabdullah: just wanted to mention that ecstatic was easy to use with restify
00:38:35  <chapel>much easier than the built in static file server it provides
00:38:44  <jesusabdullah>chapel: nice! Glad to hear it helped you
00:38:53  <jesusabdullah>chapel: in return, you can find me a new job ;)
00:38:57  <chapel>might want to mention that it works on restify
00:39:05  <chapel>walmart is hiring :)
00:39:20  <jesusabdullah>maaan I don't wanna be a door greeter
00:39:24  <chapel>lol
00:39:35  <chapel>you know I work for walmart labs right?
00:39:41  <jesusabdullah>no I didn't!
00:39:52  <chapel>yeah, started the 20th
00:39:55  <jesusabdullah>wait does that mean wal mart is using my library?
00:40:06  <chapel>in a way yeah
00:40:09  <chapel>an internal tool :P
00:40:29  <chapel>there is a team that uses all node.js
00:40:34  * kirbysayshijoined
00:40:36  <chapel>eran hammer if you've heard of him
00:40:47  <chapel>but they tend to write everything from scratch
00:41:20  <chapel>what are you looking for? lots of data science stuff here
00:42:19  <jesusabdullah>tell me about data science
00:45:36  <jesusabdullah>chapel: I was an engineering major in a past life, I love data science
00:45:36  <chapel>well, I honestly don't know specifics, Im more of a generalist hacker around here
00:45:41  <chapel>front end if you will
00:45:52  <jesusabdullah>I see
00:46:01  <chapel>but there are teams focused on data stuff, one is called project genome
00:46:08  <chapel>semantics and stuff like that
00:46:15  <chapel>search engine team
00:46:15  * ryanseddonjoined
00:46:17  <jesusabdullah>neat
00:46:23  <chapel>Im technically on the seo team :P
00:46:24  <jesusabdullah>never done anything like that but it sounds badass
00:47:03  <chapel>my team does things from python, to ruby, to sql (hive and hadoop), to mongodb, node obviously and so on
00:47:28  <chapel>let me look for job listings
00:47:52  * jxsonquit (Ping timeout: 276 seconds)
00:51:13  <chapel>jesusabdullah: here is an example listing http://jobs.walmart.com/silicon-valley/engineering/jobid3275824-senior-software-services-engineer-for-mobile-team-jobs
00:51:16  * mikealquit (Quit: Leaving.)
00:51:19  <chapel>give me your email addy
00:51:30  <chapel>I'll get you in touch with someone, and you can take it from there
00:51:32  <jesusabdullah>chapel: [email protected]
00:51:36  <jesusabdullah>sounds good ^__^
00:53:31  <jcrugzz>calvinfo: for me d3 was a dependency of cubism but got browserify v2 to work running it with -r d3
00:54:57  <calvinfo>nice :)
00:55:40  <jcrugzz>calvinfo: hmm may not have been successful as i thought, dont upgrade quite yet
01:06:53  * thl0joined
01:07:38  * douglaslassancequit (Quit: Leaving...)
01:08:34  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
01:12:21  <st_luke>jesusabdullah: that would be kinda ironic if you ended up working for walmart labs huh
01:12:58  <jesusabdullah>st_luke: yeah kinda
01:13:00  <jesusabdullah>haha
01:14:07  * jolissquit (Quit: joliss)
01:15:25  * nicholasfquit (Read error: Connection reset by peer)
01:16:16  * nicholasfjoined
01:21:09  <jesusabdullah>chapel: re: ecstatic and restify, if you add a restify test to the suite and it works (should be easy, look at the express one) and it passes I'll add that it works with restify
01:21:15  <jesusabdullah>chapel: idk restify at all really so, u noe
01:32:11  * nichola__joined
01:32:11  * nicholasfquit (Read error: Connection reset by peer)
01:36:43  <jesusabdullah>chapel: http://www.walmartlabs.com/social/social-genome/ this one
01:37:54  * nichola__quit (Ping timeout: 264 seconds)
01:39:46  <kanzure>substack: other than toss, what other error handling methods do you prefer?
01:40:07  <jesusabdullah>try { whatever(); } catch (err) { /*trolololo*/ }
01:40:43  <kanzure>i think toss is better than that
01:41:07  <kanzure>errors as events seems like an ok idea, but i'm not convinced yet?
01:41:18  <substack>error events and cb(err)
01:42:00  <kanzure>both at the same time?
01:45:40  <kanzure>oh interesting, EventEmitter throws an exception if nothing is listening for an "error" event. that's a nice fallback.
01:46:18  <jesusabdullah>yup
01:48:08  * fallsemojoined
01:50:51  <jesusabdullah>lol, according to this ad windows 8 only lets you do two things at once
01:55:00  * jolissjoined
02:04:09  * mikealjoined
02:04:54  * douglaslassancejoined
02:05:17  * dguttmanquit (Quit: dguttman)
02:06:01  * douglaslassancequit (Client Quit)
02:07:26  * defunctzombie_zzchanged nick to defunctzombie
02:11:02  * jolissquit (Quit: joliss)
02:11:58  * no9quit (Ping timeout: 252 seconds)
02:12:25  * vitorpachecojoined
02:16:51  * kenperkinsjoined
02:22:17  * defunctzombiechanged nick to defunctzombie_zz
02:22:47  <chapel>jesusabdullah: you should get an email soon, hopefully tomorrow but no guarantees
02:22:54  <jesusabdullah>nice!
02:22:59  <jesusabdullah>gg chapel
02:23:47  <chapel>fyi, if you are hired I would get a referral bonus
02:24:02  <chapel>but Im sure you'd expect that
02:25:34  <kanzure>what does walmart labs do with node things?
02:26:05  <kanzure>are your shipping containers running node servers?
02:26:09  <chapel>kanzure: well my team does more internal things, nothing public facing we build is using node.js directly
02:26:16  <jesusabdullah>hah
02:26:27  <jesusabdullah>chapel: as long as I can pay rent lol
02:26:35  <chapel>but my team is small
02:27:05  <chapel>7 of us, there are quite a few different teams
02:27:25  <chapel>a separate team focusing on mobile uses node.js extensively
02:28:41  <jesusabdullah>hapi and backbone right?
02:29:37  * timoxleyquit (Quit: Computer has gone to sleep.)
02:30:29  <kanzure>huh, a few of these event emitter implementations look like they are not async
02:31:26  <jesusabdullah>ees don't have to have async features per se
02:31:39  <chapel>http://hueniverse.com/2012/01/you-me-and-node-walmartlabs/ << more info
02:31:42  <jesusabdullah>just the ability to add/remove listeners, and a way to trigger them
02:32:01  <chapel>I should go bug him some day, I work out of a separate office though
02:35:34  * thl0quit (Remote host closed the connection)
02:35:35  <chapel>wtf, why can't I find the video
02:35:55  <chapel>isaacs: wtf, why is it so hard to find eran's video from the node summit milestone thing?
02:36:58  <chapel>there we go http://joyent.com/company/events/node-milestone-meetups
02:38:01  <isaacs>chapel: i was just about to paste that in :)
02:38:23  <chapel>jesusabdullah kanzure watch the bottom most video by eran hammer
02:38:26  <chapel>its pretty entertaining
02:38:31  <jesusabdullah>one sec
02:38:37  <chapel>and shows his experience with node.js at walmart
02:38:55  <xyxne>eran's realtimeconf 2012 talk was awesome too
02:39:10  <xyxne>idk if it's the same one
02:39:19  <xyxne>oh, no
02:41:16  <chapel>I wouldn't mind being on eran's team, but I am liking the team Im on, even though its not node.js specific
02:42:07  <jesusabdullah>variety has its plusses
02:42:51  <isaacs>chapel: you should tell eran this. he's hiring, i'm pretty sure.
02:43:03  <isaacs>chapel: worst case, you'd have a good reason to ask your current gig for a raise :)
02:43:15  <chapel>isaacs: I work for walmart labs
02:43:15  <chapel>:P
02:43:22  <isaacs>chapel: hahah
02:43:23  <isaacs>oh, ok
02:43:26  <isaacs>well... nvm then
02:43:28  <chapel>just different team
02:44:43  * chapelasks his manager, "I want a raise or I'm going to another team!"
02:45:31  <xyxne>lol
02:46:17  <jesusabdullah>isaacs: good to know (I'm the one job hunting)
02:47:04  <chapel>jesusabdullah: mention to the recruiter about erans team as well :)
02:47:11  * chapelwants the referral :P
02:47:27  <jesusabdullah>and I want to afford rent ^__^
02:47:39  <chapel>what did you make at nodejitsu?
02:47:52  <chapel>if you don't mind me asking
02:49:05  * st_lukequit (Remote host closed the connection)
02:50:32  * mmckeggquit (Quit: mmckegg)
03:08:34  * dguttmanjoined
03:08:41  * timoxleyjoined
03:12:28  * ralphtheninjaquit (Ping timeout: 252 seconds)
03:19:36  * fallsemoquit (Quit: Leaving.)
03:37:38  * blobaumjoined
04:16:11  * jolissjoined
04:30:13  * st_lukejoined
04:30:28  * st_lukequit (Remote host closed the connection)
04:43:45  <jjjjohnnny>GOT A COWBOY ON YR BACK?
04:43:45  <LOUDBOT>FUCKING SEND FOO.JS.GZ ALL THE FUCKING TIME
04:45:30  <jjjjohnnny>THATS A PRITTY GOOD IDEA FOR HOW TO DEAL WITH WHAT YOU DESCRIBE AS THE PROBLEM
04:45:30  <LOUDBOT>LET'S AVOID THIS MADNESS IN THE FUTURE
04:46:11  <jjjjohnnny>AGREED. SIGN HERE HERE HERE AND HERE. OH YOU MESSED UP.
04:46:12  <LOUDBOT>'WAS ABUT TO CALL U A DREAMER BRO'
04:48:36  * dguttmanquit (Quit: dguttman)
04:50:22  * jolissquit (Quit: joliss)
04:51:50  * AvianFluquit (Remote host closed the connection)
05:00:40  * kenperkinsquit (Quit: Computer has gone to sleep.)
05:01:15  * vitorpachecoquit (Remote host closed the connection)
05:23:05  * mikealquit (Quit: Leaving.)
05:24:03  * mikealjoined
05:24:08  * mikolalysenkojoined
05:28:54  * mikealquit (Client Quit)
05:30:40  * kenperkinsjoined
05:31:10  * dguttmanjoined
05:32:30  * timoxleyquit (Quit: Computer has gone to sleep.)
05:42:00  * timoxleyjoined
05:43:16  * kenperkinsquit (Quit: Computer has gone to sleep.)
05:49:42  * timoxleyquit (Ping timeout: 256 seconds)
05:57:29  * kirbysayshiquit (Quit: Leaving...)
05:59:30  * jcrugzzquit (Ping timeout: 240 seconds)
05:59:54  * dguttmanquit (Ping timeout: 256 seconds)
06:12:07  * dguttmanjoined
06:15:21  * dguttmanquit (Client Quit)
06:15:44  * dominictarrquit (Quit: dominictarr)
06:24:42  * mikolalysenkoquit (Ping timeout: 264 seconds)
06:31:02  <jesusabdullah>:b
06:31:03  <jesusabdullah>er
06:31:04  <jesusabdullah>:v
06:36:37  <rvagg>:wq!
06:43:01  * shamaquit (Remote host closed the connection)
07:00:43  <jesusabdullah>hah
07:26:32  * jibayjoined
07:30:26  * mikolalysenkojoined
07:35:30  * mikolalysenkoquit (Ping timeout: 264 seconds)
07:40:03  * douglaslassancejoined
08:00:57  <jjjjohnnny>haha
08:13:17  * stagasjoined
08:32:22  * no9joined
08:44:33  * stagasquit (Read error: Connection reset by peer)
08:49:43  * no9quit (Ping timeout: 245 seconds)
09:03:12  * no9joined
09:04:56  <substack>juliangruber: merged that trumpet patch
09:05:11  <substack>I was running into bugs with hyperstream that went away with that patch
09:05:15  <jesusabdullah>sup substack
09:06:07  <substack>ahoy
09:06:37  <substack>jesusabdullah: tell your folks you're getting a job at walmart >:D
09:06:49  <substack>if you go for that gig that is
09:06:53  <jesusabdullah>substack: lol I actually did mention it to my mom she thought that was Just Wonderful
09:07:08  <jesusabdullah>"mom that's just a lead calm down"
09:07:53  <jesusabdullah>that reminds me, you don't know anything about who's hiring do you?
09:08:21  <jesusabdullah>I mean besides wally world
09:09:17  <hij1nx>jesusabdullah: i thought you were kind of co-founding big??
09:09:52  <hij1nx>jesusabdullah: if i hear of anything interesting i'll be sure to send it your way! :)
09:10:28  <jesusabdullah>word
09:10:34  <jesusabdullah>thanks man
09:10:47  <jesusabdullah>ohey hij1nx did you go to jsconf? how was that?
09:10:54  <jesusabdullah>I haven't been to a conference since last nodeconf
09:11:01  <substack>jesusabdullah: besides everybody?
09:11:14  <jesusabdullah>substack: shut up :(
09:11:26  <hij1nx>jesusabdullah: naw, im going to nodeconf though
09:11:31  <substack>if you want a torrent of offerings I can send them your way
09:11:35  <jesusabdullah>substack: wait nvm I umm
09:11:40  * dominictarrjoined
09:11:41  <jesusabdullah>substack: misread you completely
09:11:48  <jesusabdullah>substack: well if you know anyone *cool*
09:12:02  <substack>ah
09:12:05  <jesusabdullah>lulz
09:12:08  <jesusabdullah>dominictarr: sup
09:12:10  <substack>well I'll RT your tweet anyways
09:12:18  <jesusabdullah>awesooome
09:12:30  <xyxne>I'm hirinf
09:12:34  <xyxne>hiring
09:12:37  <jesusabdullah>what do you do xyxne?
09:12:42  <xyxne>magic
09:12:54  <jesusabdullah>oh cool I'm HIGHLY RANKED in MAGIC
09:13:00  <xyxne>oh good
09:13:06  <jesusabdullah>well, javascript
09:13:07  <jesusabdullah>same thing
09:13:09  <xyxne>but I'm hiring a housekeeper
09:13:19  <jesusabdullah>oh well
09:13:27  <jesusabdullah>i was hoping it involved not washing toilets
09:13:38  <jesusabdullah>I did my time in hoxpitality
09:14:09  <xyxne>also hiring a gardner
09:14:19  <xyxne>and a facebook consultant
09:14:23  <jesusabdullah>lol
09:14:27  <xyxne>I can't keep up with my social profiles anymore
09:14:30  <jesusabdullah>a friend put out a joke ad for me once on craigslist
09:14:33  <xyxne>so I'm outsourcing my facebook posts
09:14:38  <jesusabdullah>whose job would be to update all my facebook statuses
09:14:42  <jesusabdullah>I wish I screencapped it
09:14:45  <xyxne>yeah
09:14:47  <xyxne>that's what I need
09:15:45  <jesusabdullah>https://gist.github.com/jesusabdullah/5704707
09:16:56  <xyxne>oh
09:17:06  <xyxne>see I don't care where they live as long as it's not here
09:17:13  <xyxne>and I don't need anyone else calling me Master
09:18:21  <jesusabdullah>well you get the idea
09:36:23  * no9quit (Ping timeout: 245 seconds)
09:49:30  * no9joined
09:58:34  * douglaslassancequit (Quit: Leaving...)
10:33:08  * yorickjoined
10:37:18  * no9quit (Ping timeout: 264 seconds)
10:38:29  * ralphtheninjajoined
10:46:44  * timoxleyjoined
10:47:05  * nicholas_joined
10:50:06  * thl0joined
10:52:11  * no9joined
10:57:31  * yorickquit (Remote host closed the connection)
11:08:16  * yorickjoined
14:17:24  * thl0joined
14:21:23  <no9>dominictarr that runs but had to "npm install pull-stream" in both tacodb global and taco-demo also had to run npm install in taco-demo but that is OK just needs adding to readme
14:22:49  <Domenic_>dominictarr: emilisto: talking about reducers, I see ;)
14:23:52  <dominictarr>Domenic_: you me, regarding tailcalls? or streaming abstractions?
14:24:35  <Domenic_>the latter. In particular "There is a deeper, platonic abstraction, where a streams is just an array in time, instead of in space. And all the various streaming "abstractions" are just crude implementations of this abstract idea."
14:27:10  <dominictarr>right, yes.
14:27:26  <rook2pawn>hi dominictarr, can i have emit-stream as a named channel over mux-demux . this is my http://pastie.org/8005104
14:28:42  <rook2pawn>i created a pipe that is specifically for sending down emits on line 12
14:29:16  <dominictarr>rook2pawn: you have made a small error there
14:29:17  <rook2pawn>�s/sending down/receiving
14:29:19  * timoxleyquit (Quit: Computer has gone to sleep.)
14:29:45  <dominictarr>net.createServer(function (stream) { stream.pipe(mdm).pipe(stream); …})
14:30:11  * mikolalysenkoquit (Ping timeout: 256 seconds)
14:30:19  <dominictarr>and then do emitStream(ev).pipe(mdm.createStream(name))
14:31:50  <dominictarr>Domenic_: I wouldn't say that reducers is that pure abstraction, necessarily
14:33:02  <dominictarr>and certainly not any particular implementation (in javascript or clojure) of reducers, just to be clear.
14:34:35  <rook2pawn>ah perfect. sometimes i get confused with the amount of moving pipes.
14:35:57  <rook2pawn>oh this is awesome
14:36:25  <no9>dominictarr SAVAGE SAUCE!! my noodle is baked
14:36:42  <dominictarr>no9: did it work?
14:36:50  <no9>Oh yes my lovely
14:37:23  <no9>refresh the whole shooting match
14:37:37  <no9>Looking forward to tonight now :)
14:38:04  <dominictarr>great!
14:38:36  <no9>In fact I am looking forward to the rest of this year.
14:38:43  <no9>MAD SCIENCE!!
14:38:44  <LOUDBOT>DEAR MADONNA, PLEASE SHOW ME YOUR BOOBS AGAIN CC: BRITNEY BCC: BACKSTREET BOYS
14:39:58  * jibayquit (Ping timeout: 252 seconds)
14:50:22  <dominictarr>substack: we should change the 404 error on npmjs.org to show something like winning a prize
14:50:42  <dominictarr>"this module doesn't exist yet! now you get to write it!"
14:50:54  <AvianFlu>dominictarr: that's awesome
14:51:40  <dominictarr>maybe, the metaphore could be digging for treasure and you find a jule, or a pirate treasure map or something
14:52:52  * jibayjoined
14:53:32  <dominictarr>or, have a mad scientist that has discovered a new chemical
14:56:36  * kevino80joined
15:02:36  <defunctzombie>hahaha
15:02:56  <defunctzombie>dominictarr: it should probably also have a link to "how to make a module"
15:03:44  <dominictarr>yes, npm init; … implement code, write tests; npm pub
15:05:13  * stagasjoined
15:16:51  * st_lukejoined
15:18:54  <rook2pawn>dominictarr: http://pastie.org/8005338#15-20 lines 15-20 i do my re-route if stream.meta is my 'emit-stream' to feed the emitStream function. is this kosher or would it be bad for things like reconnection?
15:19:55  <dominictarr>rook2pawn: looks fine to be
15:19:58  * kevino80quit (Remote host closed the connection)
15:19:59  <dominictarr>me
15:20:10  <rook2pawn>�cool
15:21:19  * stagas_joined
15:21:33  * mikolalysenkojoined
15:21:55  * kevino80joined
15:22:26  * stagasquit (Ping timeout: 256 seconds)
15:22:39  * stagas_changed nick to stagas
15:26:59  * no9quit (Quit: Leaving)
15:38:13  <dominictarr>Raynos: so, regards modular apps, in the very least, you should use a plugin architecture
15:38:38  <dominictarr>you build a core, and then all the features are implemented as plugins
15:41:52  <dominictarr>I think the core problem here, is that all the client frameworks are about how to make ui that updates
15:42:06  * jxsonjoined
15:42:15  <dominictarr>I think client frameworks should be more like a window manager
15:42:32  <dominictarr>they just define how different self contained parts interact
15:42:53  <dominictarr>while pushing a minimum of opinions onto each component
15:43:37  * jxsonquit (Read error: Connection reset by peer)
15:49:36  * jxsonjoined
15:51:09  <dominictarr>thl0: merged into 4.6.13
15:58:01  * dguttmanquit (Quit: dguttman)
16:02:36  * shamajoined
16:08:02  * stagasquit (Read error: Connection reset by peer)
16:12:20  * jolissjoined
16:13:26  * defunctzombiechanged nick to defunctzombie_zz
16:17:30  * kevino80quit (Remote host closed the connection)
16:20:31  <thl0>dominictarr: cool - now your mixed encoding write stream should work
16:20:43  <dominictarr>sweet
16:21:40  <thl0>should prob thinkg about passing encoding details when calling create{Write,Read}Stream instead of on every write
16:21:57  <thl0>dominictarr: for optimization ;)
16:22:18  <dominictarr>yes, that is supported now
16:22:42  <thl0>not really, right now it's either on create sublevel or write
16:23:04  <thl0>createwriteStream doesn't take any args
16:23:20  * kevino80joined
16:25:16  * jxsonquit (Remote host closed the connection)
16:30:11  * thl0quit (Remote host closed the connection)
16:33:16  * mikealjoined
16:33:55  * jcrugzzjoined
16:48:46  * jxsonjoined
16:49:30  * mikealquit (Quit: Leaving.)
16:55:33  * mikolalysenkoquit (Ping timeout: 248 seconds)
16:57:10  * mikolalysenkojoined
17:05:28  * kesslerjoined
17:06:34  <kessler>hello everyone :)
17:07:09  <dominictarr>hey
17:11:07  <kessler>So I have this stream relate problem. But before I dive into it, I have a general question. Lets say I have a web server that writes post data to a log file, which is better: close and open the log file write stream for every request or keep it open ?
17:11:09  * douglaslassancejoined
17:12:10  <dominictarr>I don't see any reason to close it, if you have many requests but one file
17:12:28  <dominictarr>you'd only end up having parallel requests that both try to open it
17:13:03  <dominictarr>or one request tries to close it when the other still needs it - I mean, you'd have to account for that - but just leaving it open is simple!
17:13:37  <kessler>I thought the same myself, and indeed that is what I've done, however
17:13:39  * tmcwquit (Read error: Connection reset by peer)
17:13:49  * tmcwjoined
17:14:26  <kessler>It seems there is a problem with data integrity that way
17:15:15  <kessler>for example I ran into situations where in large chunks, sometimes the bits "fall" off the end or the start of the data being written
17:15:34  <kessler>so I went ahead and made sure the streams were written in an order
17:15:49  * tmcw_joined
17:15:57  * tmcwquit (Read error: Connection reset by peer)
17:15:57  <kessler>the request is kept open ofcourse until the stream finishes
17:16:26  <kessler>still the problem persists
17:16:45  <kessler>I have a test case too :)
17:17:34  <dominictarr>right - but are you opening more than on file descriptor?
17:18:18  <dominictarr>is this is multiple processes? a cluster?
17:18:54  <kessler>nope just the one
17:19:00  <kessler>single process
17:19:47  <kessler>I've been using a Test read stream to eliminate complexity
17:19:56  <dominictarr>are you doing multiple fs.createWriteStream calls?
17:20:16  <kessler>when there are enough "requests" with sufficient size the data doesn't get written properly
17:20:41  <kessler>The stream is opened once in the entire lifetime of the test
17:21:09  <kessler>even more
17:21:10  <st_luke>every time someone says hash when referring to js stuff an ecma-262 author cries
17:21:26  <kessler>when I make sure that only one stream writes to to the file
17:21:39  <kessler>using the read stream's "end" event
17:22:49  * thl0joined
17:23:33  <dominictarr>oh, you are piping multiple streams into the file?
17:23:44  <dominictarr>can you post some code?
17:24:23  <kessler>https://github.com/yanush/simple-file-writer/blob/master/test/SimpleFileWriter.bigchunk.test.js
17:24:34  <kessler>I can try and distill it some more if needed
17:24:58  <kessler>basically I keep a reference to the stream in a "buffer"
17:25:17  <kessler>and when one stream emit "end" I pop the next from the buffer and writes it
17:25:23  <kessler>err pipe it
17:26:15  <kessler>to check the data integrity I write X rows made of series of numbers
17:26:24  * jxsonquit (Remote host closed the connection)
17:29:27  <kessler>I might get dced for a sec switching to portable wifi
17:29:29  * tmcwjoined
17:30:47  <dominictarr>kessler: what node version are you on?
17:31:05  * tmcw_quit (Read error: Connection reset by peer)
17:31:28  * tmcw_joined
17:31:33  * tmcwquit (Read error: Connection reset by peer)
17:31:59  * kessler_joined
17:33:51  * kesslerquit (Ping timeout: 250 seconds)
17:33:54  * tmcw_quit (Read error: Connection reset by peer)
17:34:04  * jxsonjoined
17:34:19  * tmcwjoined
17:34:29  <dominictarr>kessler_: I don't see any pipe in your tests
17:34:42  <dominictarr>I just see write in a loop
17:34:56  * tmcwquit (Read error: Connection reset by peer)
17:35:07  <dominictarr>https://github.com/yanush/simple-file-writer/blob/master/test/SimpleFileWriter.bigchunk.test.js#L28-L29
17:35:14  <dominictarr>is not how you should write to a stream
17:35:19  * tmcwjoined
17:35:31  <kessler_>yea writer is a wrapper around the real stream
17:36:00  <kessler_>it has a buffer since loop doesnt handle backpressure :)
17:38:00  * mikolalysenkoquit (Ping timeout: 245 seconds)
17:38:44  <kessler_>.
17:40:10  <dominictarr>hmm, it's hard to tell
17:40:43  <kessler_>does it fail for you ?
17:40:57  <dominictarr>I haven't run it
17:41:34  <kessler_>ah :)
17:41:37  <dominictarr>there are a bunch of people who have written stuff like this
17:41:57  <kessler_>can you refer me ?
17:42:16  <dominictarr>https://npm.im/kat
17:42:37  <dominictarr>https://npmjs.org/package/stream-stream
17:43:22  <dominictarr>I'd say there are others, too, but I know those authors have been using streams a long time
17:44:01  * kesslerjoined
17:44:09  <kessler>damn mobile connection
17:46:25  * kessler_quit (Ping timeout: 250 seconds)
17:46:37  <kessler>I'll check it out. thanks a lot :)
17:47:43  * mikealjoined
17:51:11  * kesslerquit (Ping timeout: 250 seconds)
17:52:28  * douglaslassancequit (Quit: Leaving...)
17:52:55  * fallsemo1joined
17:54:00  * wolfeida_joined
17:55:13  * py1hon_joined
17:55:27  * dguttmanjoined
17:57:28  * mikolalysenkojoined
17:58:11  * jdenjoined
17:58:35  * jdenchanged nick to Guest86498
17:59:30  * fallsemoquit (Ping timeout: 264 seconds)
17:59:31  * wolfeidauquit (Ping timeout: 264 seconds)
17:59:31  * py1honquit (Ping timeout: 264 seconds)
17:59:33  * jden_quit (Ping timeout: 264 seconds)
17:59:35  * FireFlyquit (Ping timeout: 264 seconds)
17:59:46  * kesslerjoined
18:02:11  * FireFlyjoined
18:03:09  * kevinohara80joined
18:06:53  * py1honjoined
18:07:01  * kanzure_joined
18:07:19  * xyxne_joined
18:07:47  * jlord_joined
18:07:53  * ircretaryquit (Ping timeout: 252 seconds)
18:07:54  * kanzurequit (Ping timeout: 252 seconds)
18:07:54  * kevino80quit (Ping timeout: 252 seconds)
18:07:54  * jibayquit (Ping timeout: 252 seconds)
18:07:55  * xyxnequit (Ping timeout: 252 seconds)
18:07:57  * jlordquit (Ping timeout: 252 seconds)
18:07:58  * py1hon_quit (Ping timeout: 252 seconds)
18:07:59  * ircretaryjoined
18:07:59  * pkruminsquit (Ping timeout: 252 seconds)
18:08:05  * pkrumins_joined
18:08:06  * pkrumins_quit (Changing host)
18:08:06  * pkrumins_joined
18:08:56  * dominictarrquit (Read error: Connection reset by peer)
18:09:26  * jibayjoined
18:10:05  * dguttmanquit (Quit: dguttman)
18:10:16  * sveisvei_joined
18:10:54  * jez0990quit (*.net *.split)
18:10:54  * gildeanquit (*.net *.split)
18:10:55  * fotoveritequit (*.net *.split)
18:10:55  * sveisveiquit (*.net *.split)
18:10:57  * hij1nxquit (*.net *.split)
18:10:58  * rvaggquit (*.net *.split)
18:10:59  * jan____quit (*.net *.split)
18:11:04  * rvaggjoined
18:11:13  * dominictarrjoined
18:11:17  * hij1nxjoined
18:12:15  * jan____joined
18:12:50  * jan____quit (Changing host)
18:12:50  * jan____joined
18:12:51  * dguttmanjoined
18:16:14  * jez0990joined
18:16:14  * gildeanjoined
18:16:52  * kevinohara80quit (Remote host closed the connection)
18:19:21  * kevino80joined
18:19:40  * defunctzombie_zzquit (Ping timeout: 256 seconds)
18:19:59  * sveisvei__joined
18:20:13  * defunctzombie_zzjoined
18:22:17  * jcrugzzquit (Read error: Operation timed out)
18:22:38  * sveisvei_quit (*.net *.split)
18:22:39  * ircretaryquit (*.net *.split)
18:28:01  * sindresorhus_joined
18:28:22  * dools_joined
18:28:50  * dlmannin1joined
18:28:55  * heathjsjoined
18:30:33  * sindresorhusquit (Ping timeout: 256 seconds)
18:30:37  * calvinfoquit (Ping timeout: 256 seconds)
18:30:38  * heathquit (Ping timeout: 256 seconds)
18:30:39  * sindresorhus_changed nick to sindresorhus
18:30:55  * ircretaryjoined
18:31:00  <kessler>dominictarr: so I had a look at both of these repos, still have one unanswered question, which event will surely fire once r.pipe(w) is done ? "end"? "unpipe" doesnt seem to fire all the time
18:31:28  * calvinfojoined
18:32:55  <kessler>and "end" doesnt seem to mark exactly when the writing is done, only the reading
18:34:37  * owenb_quit (Ping timeout: 271 seconds)
18:35:07  * nk109joined
18:35:28  * jden_joined
18:35:31  * dguttman_joined
18:36:12  * gozalaquit (Ping timeout: 245 seconds)
18:36:12  * johnkpaulquit (Ping timeout: 245 seconds)
18:36:35  * gozala_joined
18:36:48  * ircretaryquit (Ping timeout: 245 seconds)
18:37:01  * jjjjohnn1yjoined
18:37:31  * thl0_joined
18:38:05  * creationixquit (Ping timeout: 245 seconds)
18:38:19  * Guest86498quit (Write error: Broken pipe)
18:38:21  * purrquit (Quit: No ping reply from server)
18:38:32  * johnkpauljoined
18:38:39  * doolsquit (Write error: Broken pipe)
18:38:39  * ellioquit (Ping timeout: 367 seconds)
18:38:39  * ehdquit (Ping timeout: 367 seconds)
18:39:00  * purrjoined
18:39:04  * elliojoined
18:39:20  * ELLIOTTC1BLEjoined
18:40:29  * dlmanningquit (Ping timeout: 257 seconds)
18:40:39  * hij1nxquit (Ping timeout: 245 seconds)
18:40:39  * jlord_quit (Ping timeout: 245 seconds)
18:40:40  * Raltquit (Ping timeout: 245 seconds)
18:41:03  * jan____quit (Ping timeout: 268 seconds)
18:41:10  * creationixjoined
18:41:37  * jlordjoined
18:41:46  * AvianFlu_joined
18:41:50  * Raltjoined
18:41:56  * ehdjoined
18:42:26  * sindresorhus_joined
18:42:30  * mirkok_joined
18:42:36  * jan____joined
18:43:11  * jan____quit (Changing host)
18:43:11  * jan____joined
18:43:44  * purrquit (Client Quit)
18:44:01  * heathjschanged nick to heath
18:44:05  * purrjoined
18:44:23  * AvianFluquit (Ping timeout: 278 seconds)
18:44:59  * ELLIOTTC1BLEquit (Ping timeout: 257 seconds)
18:44:59  * jibayquit (Ping timeout: 257 seconds)
18:46:17  * ELLIOTTC1BLEjoined
18:47:12  * tmcw_joined
18:47:42  * jibayjoined
18:47:45  * ELLIOTTCABLEquit (Disconnected by services)
18:48:00  * ELLIOTTC1BLEquit (Client Quit)
18:48:20  * elliottcablejoined
18:48:47  <isaacs>Raynos: !! http://nodesj.org/cla.html
18:48:52  * sindresorhusquit (*.net *.split)
18:48:53  * defunctzombie_zzquit (*.net *.split)
18:48:54  * dguttmanquit (*.net *.split)
18:48:56  * tmcwquit (*.net *.split)
18:48:57  * thl0quit (*.net *.split)
18:48:59  * mirkokquit (*.net *.split)
18:48:59  * jjjjohnnnyquit (*.net *.split)
18:49:02  <isaacs>Raynos: can you go click those buttons and fill in the form?
18:49:02  * sindresorhus_changed nick to sindresorhus
18:49:02  * dguttman_changed nick to dguttman
18:49:02  * mirkok_changed nick to mirkok
18:49:07  <isaacs>Raynos: i could've sworn that you'd done that already, but for some reason, it's not in the document
18:49:15  * defunctzombie_zzjoined
18:49:18  * dguttmanquit (Quit: dguttman)
18:49:30  * elliottcablequit (Client Quit)
18:49:40  * elliottcablejoined
18:50:15  * tmcw_quit (Write error: Connection reset by peer)
18:50:20  * tmcwjoined
18:51:13  * dguttmanjoined
18:52:02  * CoverSlideshould register nodesj.org, just to troll
18:57:45  <mbalho>nodesj was my rapper name inc ollege
18:58:10  <jesusabdullah>lol
18:59:48  <isaacs>ollege++, you mean
18:59:52  * isaacsrimshot!
19:00:18  <mikolalysenko>has anyone tried to write an actual partial evaluation code for javascript using esprima?
19:00:34  <thl0_>mikolalysenko: snippetify
19:00:36  <mikolalysenko>instead of simple stuff that just does bind/apply
19:00:53  <thl0_>mikolalysenko: splits your stuff into the smallest parseable parts
19:01:01  * pkrumins_changed nick to pkrumins
19:01:08  <thl0_>line being the smallest unit
19:01:09  * heathjsjoined
19:01:09  * heathjsquit (Changing host)
19:01:09  * heathjsjoined
19:01:12  <mikolalysenko>umm not quite what I meant
19:01:23  * doolsjoined
19:01:34  <mikolalysenko>I want something where you give it a function and a list of arguments, then it binds those variables
19:01:39  <thl0_>esprima not the right tool for incomplete code
19:01:47  <mikolalysenko>but it also does stuf like inline higher order functions and so on
19:01:55  <mikolalysenko>basically a better version of bind
19:02:01  <mikolalysenko>what I am thinking is you do something like:
19:02:09  <mikolalysenko>partialEval(func, arg0, arg1, ...)
19:02:19  <mikolalysenko>and it returns a new optimized function with all that stuff inlined
19:02:28  <mikolalysenko>(or falls back to bind if it isn't possible)
19:02:56  <isaacs>Raynos: http://nodegh.io/
19:03:11  <mikolalysenko>the main reason for wanting to do this is I have a lot of code where I use higher order functions to parameterize stuff, and the higher order funcs are usually pretty simple
19:03:28  <mikolalysenko>but calling them slows stuff down a lot and requires extra allocations
19:03:33  * kanzurejoined
19:05:04  * rvagg_joined
19:05:38  * purrquit (Ping timeout: 245 seconds)
19:05:39  * dools_quit (Ping timeout: 245 seconds)
19:05:40  * substackquit (Ping timeout: 245 seconds)
19:05:46  * heathquit (Ping timeout: 245 seconds)
19:05:46  * kanzure_quit (Ping timeout: 245 seconds)
19:05:47  * rvaggquit (Ping timeout: 245 seconds)
19:05:49  * rvagg_changed nick to rvagg
19:06:10  * heathjschanged nick to heath
19:06:14  * purrjoined
19:07:59  * substackjoined
19:09:00  * jcrugzzjoined
19:13:42  <dominictarr>mikolalysenko: felixge used a trick like that to make a fast mysql parser
19:14:06  <dominictarr>but, you are also wanting to detect the free variables?
19:14:27  <dominictarr>or are you using prewired free variable names?
19:14:41  * kanzurequit (*.net *.split)
19:14:42  * elliottcablequit (*.net *.split)
19:14:42  * jez0990quit (*.net *.split)
19:14:43  * gildeanquit (*.net *.split)
19:15:19  * jez0990joined
19:16:03  * kanzurejoined
19:16:05  * elliottcablejoined
19:16:31  <mikolalysenko>detect free vars and fall back if not possible
19:16:40  <mikolalysenko>basically a better version of bind
19:18:24  <mikolalysenko>mbalho: here you go https://gist.github.com/mikolalysenko/5708673
19:18:24  * jaz303quit (Ping timeout: 246 seconds)
19:19:03  <mikolalysenko>it assumes that the y-coordinate runs fastest in the minecraft chunk
19:19:09  <mikolalysenko>(which is I think how it works, I might be wrong)
19:19:20  <mbalho>wow
19:19:29  <mikolalysenko>you could also optimize this by eliminating temporary objects, but this is the simplest way to write it
19:19:32  * fallsemo1quit (Quit: Leaving.)
19:20:54  * gildeanjoined
19:21:04  <mikolalysenko>also note that the views do not make copies of the underlying arrays
19:21:15  <mikolalysenko>when you call ndarray(typed_array, shape, stride, offset)
19:21:22  <mikolalysenko>err whoops I am in the wrong channel
19:21:50  * jaz303joined
19:31:43  * fallsemojoined
19:37:25  * thl0_changed nick to thl0
19:43:57  * fallsemoquit (Read error: Connection reset by peer)
19:44:08  * CoverSlidequit (Ping timeout: 256 seconds)
19:44:48  * fallsemojoined
19:51:50  * st_lukequit (Remote host closed the connection)
20:00:21  <kessler>dominictarr: https://gist.github.com/yanush/5709060
20:00:32  <jesusabdullah>guys what's my freelance rate?
20:00:45  <mbalho>20 bucks an hour
20:00:46  <chapel>jesusabdullah: $50 minimum
20:01:19  <jesusabdullah>dangit mbalho
20:01:20  <jesusabdullah>lol
20:01:35  <chapel>ls
20:01:51  <dominictarr>50 min, but should double that
20:03:08  <chapel>think it depends on how desperate you are
20:03:16  <dominictarr>jesusabdullah: It's been put to me that it's a much better idea to quote a daily rate
20:03:20  <chapel>the more you charge, the more you have to work for clients
20:03:35  <chapel>dominictarr: Ive heard that, but its a harder sell to clients
20:03:58  <chapel>specially when most will expect hourly
20:04:10  <kessler>really depends on the type of project if you ask me
20:04:10  <dominictarr>right, well it's not like you are gonna do any good work in less than a day
20:04:36  <chapel>dominictarr: Im saying as far as getting clients to agree to daily rates
20:04:51  <chapel>if you're just starting out, its going to be hard to demand that
20:04:51  <kessler>which no body did of course :)
20:04:57  <dominictarr>kessler: I think you have to call stream.unpipe() to for it to emit 'unpipe'
20:06:44  <jesusabdullah>well
20:06:48  <jesusabdullah>this is joe mccann asking me
20:06:55  <jesusabdullah>I think he's just trying to figure out what I'm about
20:07:12  <jesusabdullah>just trying to get a good feel for these things so I don't like vastly undersell myself
20:09:56  <chapel>jesusabdullah: its a hard question to answer, you shouldn't charge less than 50, you're probably worth 100 or more, but most clients would not pay that, depends on how you sell yourself
20:10:33  <chapel>jesusabdullah: remember that doing 1099 work, you are liable for your taxes
20:11:01  <chapel>you are guaranteed to pay at least 0.25 of each dollar to taxes
20:12:31  * tmcwquit (Remote host closed the connection)
20:12:34  <jesusabdullah>yeah true
20:12:54  <xyxne_>*if* you pay taxes
20:12:55  <xyxne_>;)
20:13:12  <xyxne_>and since income generated from your work is a direct trade
20:13:15  <xyxne_>there is no profit
20:13:18  <xyxne_>and thus, nothing to tax
20:13:53  <kessler>jesusabdullah: some projects are better of with fixed price though... if you got a good estimate / experience about the nature of the project and how long its gonna take. Other projects with less certainty can work with per hour model, but then it is best to work with small milestones so the client keeps getting feedback about where his money goes
20:14:12  * creationix_joined
20:14:27  <chapel>xyxne_: I wish :(
20:14:37  <chapel>xyxne_: if your client doesn't submit a 1099, then there is no trace
20:14:47  <chapel>but if they do, well expect the irs to come a knocking
20:14:51  * jcrugzz_joined
20:15:01  <xyxne_>yeah, over a few grand?
20:15:08  <xyxne_>they don't get out of bed for less than like 100k
20:15:12  <jesusabdullah>under-the-table 4 lyfe
20:15:15  <chapel>kessler: even with a fixed budget, you tend to have an hourly rate to base the estimated budget off of
20:15:32  <kessler>xyxne_: that really depends on the tax law in your country, and in most that wouldn't be considered a non taxable transaction .
20:15:34  <chapel>xyxne_: smaller companies do, all the ones I've dealt with do
20:15:36  <creationix>I can say from my freelance experience
20:15:51  <xyxne_>kessler, I'm talking about US
20:15:52  <kessler>chapel: of course
20:15:58  <jesusabdullah>hi creationix
20:16:11  <jesusabdullah>creationix: I was just asking what my freelance rate is
20:16:13  * chapelwas doing freelancing for a while, some subcontracting, but all 1099 work
20:16:15  <xyxne_>chapel, I mean the IRS
20:16:19  <jesusabdullah>creationix: since I'm looking for work but has never done freelancing
20:16:28  <xyxne_>knocking on your door for 'their share' of a few gran
20:16:33  <xyxne_>e
20:16:37  <chapel>xyxne_: irs is not fun to mess with, rather not
20:16:45  * sorensen_joined
20:16:47  <jesusabdullah>unless you're manfred from accelerando
20:16:50  <chapel>xyxne_: specially when you don't have a few grand :P
20:16:55  <xyxne_>chapel, that's how they keep the scam going
20:17:25  <xyxne_>then they use your 'back taxes' to do things like hold you hostage in the country
20:17:28  <chapel>xyxne_: not going to argue about that lol
20:17:33  <xyxne_>by denying your 'privilege' to a passport
20:17:38  * hij1nxjoined
20:17:41  <jesusabdullah>Okay guys I'll get the truck ready for the tea party rally
20:17:45  <jesusabdullah>pick you guys up around 6:00?
20:17:47  <xyxne_>fuck yeah
20:18:01  <chapel>jesusabdullah: picking up your parents?
20:18:02  <jesusabdullah>My sign says, "liberals hate freedom"
20:18:14  <jesusabdullah>chapel: ...maybe. They expressed interest.
20:18:22  <xyxne_>almost as much as conservatives hate reality
20:18:49  * gildeanquit (*.net *.split)
20:18:49  * elliottcablequit (*.net *.split)
20:18:50  * jcrugzzquit (*.net *.split)
20:18:51  * ehdquit (*.net *.split)
20:18:51  * creationixquit (*.net *.split)
20:18:52  * Raltquit (*.net *.split)
20:18:53  * dominictarrquit (*.net *.split)
20:18:54  * jolissquit (*.net *.split)
20:18:54  * sorensenquit (*.net *.split)
20:18:54  * Raynosquit (*.net *.split)
20:18:56  * sorensen_changed nick to sorensen
20:18:56  * creationix_changed nick to creationix
20:18:56  <jesusabdullah>who needs reality I have a ferd f-teen thousand and a confederate flag
20:20:44  <kessler>jesusabdullah: your hourly rate should factor the following: 1. your living monthly expanse 2. any expanses that result from your work (anything from internet to handmaids :P) 3. the risk of not having work for an X amount of time 4. profit 5. average rate for someone with your experience, i.e competition (if any)
20:21:35  <chapel>not sure what to think about this: http://blog.parse.com/2013/06/04/building-parse-web-apps-with-the-express-web-framework/
20:21:55  <kessler>dominictarr: I somehow recall that unpipe fired without calling unpipe, however looking at the code I seem to have been delusional
20:22:07  <chapel>kessler: thats good advice, also count in the cost of healthcare and business related costs
20:22:23  <chapel>not to mention the cost of the time it takes to market yourself and do non-billable tasks
20:22:38  <kessler>handmaids! xD
20:22:42  <jesusabdullah>I mean, my immediate need is rent money
20:22:48  <jesusabdullah>$650 by end of month
20:23:01  <kessler>jesusabdullah: maybe I can use your services.
20:23:06  <chapel>:P
20:23:21  <jesusabdullah>hmmm
20:23:27  <jesusabdullah>rent money in return for..?
20:23:45  <kessler>you know godot?
20:24:16  <jesusabdullah>sort of. I left nodejitsu before that got written but I'm kind of aware of it
20:24:21  <jesusabdullah>I know how it got named
20:24:26  <kessler>hehe
20:24:47  * gildeanjoined
20:26:42  * dlmannin1changed nick to dlmanning
20:28:08  * fallsemoquit (Read error: Connection reset by peer)
20:28:27  * fallsemojoined
20:28:46  <chapel>jesusabdullah: I sent an email to my old boss who might have work and/or leads for other stuff
20:28:48  * elliottcablejoined
20:28:48  * ehdjoined
20:28:48  * Raltjoined
20:28:48  * dominictarrjoined
20:28:48  * Raynosjoined
20:28:54  <jesusabdullah>chapel: word
20:28:55  <chapel>I cc'ed you
20:29:48  <jesusabdullah>nice
20:29:53  <kessler>dominictarr: I somehow recall that unpipe fired without calling unpipe, however looking at the code I seem to have been delusional
20:31:33  * tilgovijoined
20:31:34  * fallsemoquit (Read error: Connection reset by peer)
20:31:34  * owenb_joined
20:32:36  * fallsemojoined
20:33:58  <dominictarr>kessler: I think your thing should work if you just start the next stream on the end event of the previous one.
20:37:00  <kessler>yea
20:37:01  * fallsemoquit (Read error: Connection reset by peer)
20:37:02  <kessler>that didn't work
20:37:21  * thl0_joined
20:37:31  <kessler>dominictarr: already tried it, the data doesn't get written properly when large streams are involved
20:37:44  * fallsemojoined
20:38:23  <kessler>its like its being chipped off the end or start
20:38:24  * fallsemoquit (Read error: Connection reset by peer)
20:39:23  * fallsemojoined
20:39:25  <kessler>missing one or two characters
20:42:03  * dguttmanquit (Quit: dguttman)
20:42:18  <dominictarr>that is a very strange amount to be missing
20:42:44  <dominictarr>maybe it's a unicode thing? do you have unicode characters?
20:43:08  * tmcwjoined
20:43:26  <mbalho>kessler: that bug sounds familiar, what modules are you using and what transport are you using?
20:43:48  <kessler>just native modules, no transport, in process action only
20:43:53  * tmcwquit (Remote host closed the connection)
20:44:09  * tmcwjoined
20:44:16  <dominictarr>mbalho: he's just trying to combine multiple streams into one file
20:44:21  <mbalho>ah
20:45:22  <kessler>I can't think of a way to know exactly when the writing is finished
20:45:33  <kessler>all works well with small streams
20:45:46  <kessler>but with large ones and in quantities it doesn't
20:48:08  * douglaslassancejoined
20:48:18  <Domenic_>jesusabdullah: maybe start lower until you have enough demand to raise, but you should be looking at ~$100/hour I think, maybe $150 or more after establishing some cred.
20:50:47  <creationix>jesusabdullah: is you charge too little, you'll get crap customers
20:50:48  * fallsemoquit (Read error: Connection reset by peer)
20:50:55  <creationix>if you charge too much you'll have no customers
20:51:02  <creationix>experiment, then adjust
20:51:17  <chapel>I agree with creationix
20:51:25  <creationix>but $100 is a pretty good starting point for experienced node freelance
20:51:44  <dominictarr>has everyone seen http://www.youtube.com/watch?v=emK-qIbuJ-k < human powered helicopter
20:51:57  <chapel>you should honestly be able to get that, but expect a lot of potential clients to balk at that price, but realize they aren't usually worth it
20:52:03  * fallsemojoined
20:52:13  <jesusabdullah>cool creationix
20:57:14  * fallsemoquit (Read error: Connection reset by peer)
20:58:09  * fallsemojoined
21:01:08  * elliottcablequit (Quit: best short-url ever. <http://ell.io/tt>)
21:01:09  <dominictarr>this is pretty cool too, http://www.youtube.com/watch?v=OM7HHB51WX8
21:01:27  * ELLIOTTCABLEjoined
21:02:02  * jcrugzz_changed nick to jcrugzz
21:06:04  * yorickquit (Remote host closed the connection)
21:11:40  * nk109quit (Ping timeout: 256 seconds)
21:12:57  * fallsemoquit (Read error: Connection reset by peer)
21:13:46  * fallsemojoined
21:14:54  <jcrugzz>kessler: i work on godot, id love to see the example that is causing the issue
21:14:54  * fallsemoquit (Read error: Connection reset by peer)
21:15:29  <dominictarr>oh, shit http://www.youtube.com/watch?v=WjvRcGiDy_g
21:15:33  <jesusabdullah>jcrugzz: hey I got a question for you then
21:15:44  <jcrugzz>jesusabdullah: sure
21:15:50  <kessler>jcrugzz: I'm sorry if it came out like that but we were talking about two different things. No complaints on godot at all !!!
21:15:50  <jesusabdullah>jcrugzz: how would you guys feel about adding some kind of websocket/engine.io xport to godot?
21:16:14  <kessler>was just talking about that with jesus here
21:16:38  * Wraithanjoined
21:16:41  * fallsemojoined
21:16:53  * fallsemoquit (Read error: Connection reset by peer)
21:16:58  <jcrugzz>jesusabdullah: yea there should totally be a reactor for that
21:17:10  <jcrugzz>that just pipes to a websocket stream or engine.io stream
21:17:20  <jesusabdullah>hmmm
21:17:21  <jcrugzz>kessler: oh im just bad at skimming
21:17:37  <jesusabdullah>jcrugzz: I was lookin' at https://github.com/nodejitsu/godot/blob/master/lib/godot/net/client.js#L28
21:17:42  <jesusabdullah>jcrugzz: but an rtor sounds reasonable
21:17:46  <Wraithan>substack: you are doing something tricksy with your blog so when I cmd-click a title of an article it just opens it in page rather than open in new tab
21:17:49  <jesusabdullah>jcrugzz: is there a way to have third party rtors?
21:17:59  <Wraithan>substack: if I right click and open in new tab though, it works fine
21:18:02  <jesusabdullah>ohey Wraithan was it you I was talking to about an upcoming blog post a week ago?
21:18:10  <Wraithan>jesusabdullah: yea, maybe?
21:18:28  <jcrugzz>jesusabdullah: just submit a PR, i was going to need something like that anyway
21:18:33  <jesusabdullah>Wraithan: http://jesusabdullah.github.io/2013/05/28/the-case-for-a-nodejs-framework.html
21:18:48  <jesusabdullah>jcrugzz: alright, if/when it comes to that
21:19:09  * fallsemojoined
21:19:17  <jcrugzz>jesusabdullah: yea if i dont get to it first feel free :)
21:19:32  <Wraithan>jesusabdullah: I'll read that in a bit, working, thanks for the link though
21:20:05  <jesusabdullah>Wraithan: yeah sure :)
21:20:10  <jesusabdullah>jcrugzz: alright I'll keep you posted
21:20:23  <jcrugzz>sounds good
21:20:23  <jesusabdullah>jcrugzz: https://github.com/nodejitsu/godot/blob/master/lib/godot/reactor/console.js good example rtor?
21:22:03  * tmcwquit (Read error: Connection reset by peer)
21:22:04  * fallsemoquit (Read error: Connection reset by peer)
21:22:17  * tmcwjoined
21:22:51  * fallsemojoined
21:23:00  * fallsemoquit (Read error: No route to host)
21:23:04  <jesusabdullah>jcrugzz: obtw these are object streams not buffers or strings?
21:23:43  <jcrugzz>jesusabdullah: yea thats a good basic example, they are all essentially the same form factor as through/readwrite streams
21:23:58  <jesusabdullah>aha
21:24:00  <jcrugzz>and yea we are using it to pipe JSON objects over TCP
21:24:02  * ELLIOTTCABLEquit (Quit: best short-url ever. <http://ell.io/tt>)
21:24:11  <jcrugzz>so yea its all object streams
21:24:29  * fallsemojoined
21:25:15  * ELLIOTTCABLEjoined
21:25:15  * fallsemoquit (Read error: Connection reset by peer)
21:25:32  * douglaslassancequit (Quit: Leaving...)
21:26:04  <jesusabdullah>cool
21:26:09  * fallsemojoined
21:26:51  <Wraithan>So, is there a source transform for browserify that I should use as an example if I was to add one for FirefoxOS?
21:30:52  * jibayquit (Quit: Leaving)
21:31:13  <Wraithan>I've never really used browserify but I find myself wanting it now as I go to start writing firefoxos apps lol
21:31:13  * fallsemoquit (Read error: Connection reset by peer)
21:31:35  <mint_xian>browserify is a mean trick.
21:31:36  <jesusabdullah>Wraithan: look up chromeify
21:31:50  <mint_xian>In that once you start using it you always want it.
21:31:58  <Wraithan>mint_xian: Could be true
21:32:17  * fallsemojoined
21:32:20  <Wraithan>jesusabdullah: thanks
21:32:58  <Wraithan>https://github.com/tilgovi/chromify/blob/master/binding/tcp_wrap.js -- mainly what I am thinking I need to build for firefoxos lol
21:33:00  <jesusabdullah>Wraithan: no probob
21:33:17  <tilgovi>neat
21:33:24  <jesusabdullah>sup tilgovi
21:33:28  <tilgovi>I haven't had any time to work on that
21:33:36  <tilgovi>but if I can help in any way let me know
21:33:39  <tilgovi>jesusabdullah: yo
21:34:48  <Wraithan>I'll be building it to map to https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket
21:34:55  <chrisdickinson>oo
21:35:17  <tilgovi>oh neat
21:35:36  <tilgovi>tha was exactly what I was hoping for all along
21:36:03  <tilgovi>to promote re-using all these node libs people have on these browser / mobile OS apis
21:36:04  <Wraithan>So I can build a proper IRC client and weechat relay client for FirefoxOS as I am switching to it as my primary device soon
21:36:40  <tilgovi>I wonder if there is cause for making one project out of it that has pluggable wrappers
21:36:55  <tilgovi>the "fake node binding for running node in non-node environments" tcp stack
21:36:58  <Wraithan>tilgovi: I wont have enough knowledge to build that, I am a terrible node developer
21:37:10  * fallsemoquit (Read error: No route to host)
21:37:30  <tilgovi>Wraithan: I'm curious how you found that repo.
21:37:39  <Wraithan>tilgovi: jesusabdullah linked it
21:37:48  <tilgovi>ah, thx jesusabdullah
21:38:07  <substack>Wraithan: what would your source transform do?
21:38:15  <Wraithan>I'm just a backend developer so my initial want is to be able to test everything locally against my own servers then move on to using it in the app itself in the simulator
21:39:24  <dominictarr>mbalho: tacodb service will be up soon, waiting for dns to propagate
21:39:28  <substack>that's how I build all my stuff
21:39:28  <Wraithan>substack: make it so I can use node's sockets locally but when I build my app for FirefoxOS it will make them into navigator.mozTCPSocket
21:40:01  <dominictarr>Wraithan: that is exactly how you should do it
21:40:02  <substack>dominictarr: do you have an example up yet of doing something with the `db` instance directly, not through a lib?
21:40:14  <dominictarr>substack: that is just leveldb
21:40:28  <Wraithan>dominictarr: well, most app development requires use of simulators and crap :(
21:40:40  <dominictarr>all that tacodb adds is hostability
21:40:49  <substack>ok
21:40:50  * kevino80quit (Remote host closed the connection)
21:41:18  <dominictarr>you have to write a js file that adds all the actual features, it's totally modular
21:46:39  <jesusabdullah>dominictarr: so it has a PLUGIN FRAMEWORK
21:47:06  <dominictarr>well, level-sublevel is a plugin framework
21:47:45  <dominictarr>so if you use that, then yes
21:47:53  * fallsemojoined
21:48:14  * xyxne_changed nick to xyxne
21:48:15  <dominictarr>but tacodb is just you extend the database with javascript
21:48:30  * xyxnequit (Changing host)
21:48:30  * xyxnejoined
21:48:50  * xyxnechanged nick to xyxne_
21:49:08  <jesusabdullah>dominictarr: TacoDB.plugin.framework.attach.extend({ plugin: require('./plugin').Plugin })
21:49:40  <dominictarr>jesusabdullah: no
21:50:17  <jesusabdullah>dominictarr: C'mon it's TOTALLY MODULAR
21:50:18  <dominictarr>var Plugin = require('level-plugin'); Plugin(db, 'plugin', {opts…})
21:50:38  <jesusabdullah>wait so where's the javascript?
21:50:51  <jesusabdullah>I'm buessing db is your db, are there funxxions?
21:50:54  * dlmanningquit (Read error: Operation timed out)
21:51:11  <dominictarr>oh, well, it's in the plugin module
21:51:27  <dominictarr>db there IS the db
21:51:55  <dominictarr>it's an actual instance, not a client, because leveldb is embedded in your app.
21:51:55  <jesusabdullah>right
21:52:05  <jesusabdullah>oh, I see, Plugin is a plugin
21:52:07  <jesusabdullah>duhhh
21:52:20  <jesusabdullah>I thought it was your Plugin.framework.plugin.Plugin
21:53:26  <jesusabdullah>.extend
21:53:27  <gildean>yo dawg, i herd you like plugins...
21:53:28  <jesusabdullah>sorry
21:53:35  <jesusabdullah>and namespaces
21:53:43  <jesusabdullah>a "honking good idea" according to some
21:56:33  <dominictarr>jesusabdullah: it's a great idea, if you do it right!
21:57:33  <jesusabdullah>right, like org.dominictarr.LevelDB.framework.plugin.Plugin().extend({ plugin: require('./plugin').Plugin() })
21:58:36  * dlmanningjoined
21:58:36  <dominictarr>jesusabdullah: we need a pull request bot that adds this sort of plugin framework to people's modules
21:58:47  <dominictarr>OHOHOH NO
21:58:47  <LOUDBOT>WOW GREAT I CAN TAG MY BUGS BUT NOBODY STILL HAS ANY IDEA WHAT THEY ARE BECAUSE THE TITLE IS THREE CHARACTERS LONG AND THE DESCRIPTION IS EMPTY
21:59:08  <dominictarr>it needs to be a pluggable framework for pull request bots!!!
21:59:58  <jesusabdullah>*shudder*
22:00:07  <jesusabdullah>I'm *so* over pull request bots
22:00:13  <jesusabdullah>I hate the github api
22:00:18  <jesusabdullah>did I ever mention that?
22:00:41  <jesusabdullah>the payloads are really really messy
22:03:10  <dominictarr>hmm, guess the github api could do with a plugin framework...
22:03:41  <Raynos>dominictarr: what do you mean plugins?
22:04:42  <dominictarr>I mean, a part that extends another thing, but from one place
22:05:03  <dominictarr>with plugins, you can group code by feature, not by what it does.
22:05:06  <Raynos>isaacs: i did the CLA thing
22:05:27  <jesusabdullah>Raynos: like com.raynos.PluginManager.framework.plugins.Plugin().extend({ plugin: require('./thing').Plugin() })
22:05:35  <jesusabdullah>okay I'm done sorry guys
22:05:47  <Raynos>dominictarr: but aren't plugins just a shitty version of the node module system?
22:06:09  <Raynos>isaacs: also thanks for the gh thing
22:06:14  <mbalho>modules are plugins for javascript
22:06:22  <dominictarr>yes
22:06:28  * thl0quit (Remote host closed the connection)
22:07:34  <dominictarr>Raynos: the difference is that there is some architecture involved
22:07:55  <mbalho>dominictarr: hey can you make a client side gist showing some browser thing syncing to tacodb?
22:08:06  <mbalho>dominictarr: doesnt have to be a gist i guess
22:08:11  <dominictarr>mbalho: one way?
22:08:29  <dominictarr>or two way? (i'm working on this just now)
22:08:36  * fallsemoquit (Read error: No route to host)
22:08:37  <mbalho>dominictarr: yes and yes
22:09:09  * fotoveritejoined
22:09:14  <dominictarr>okay, one way is done already.
22:09:16  <dominictarr> does levelup work in the browser
22:09:16  <dominictarr>?
22:09:21  <mbalho>sort of
22:09:23  <Raynos>dominictarr: I guess so. its just sad that it cant just be modules
22:09:51  <mbalho>dominictarr: if you get two way sync working i can make levelup work in the browser for it
22:09:56  <mbalho>dominictarr: if it doesnt already
22:10:05  * fallsemojoined
22:10:17  <dominictarr>Raynos: you can't reason about this in general
22:10:32  <Raynos>Agreed
22:10:52  <dominictarr>mbalho: if you get levelup going in browser, I can get master-master replication going - working on this now
22:10:54  <Raynos>I just think of cloud9ide plugins or of flatiron plugins or of jquery plugins
22:10:54  * fallsemoquit (Read error: Connection reset by peer)
22:10:58  <Raynos>which are all ;_;
22:11:01  <dominictarr>yeah
22:11:22  <dominictarr>but, I think sublevel is better than those
22:12:10  <Raynos>but that solves a different problem
22:12:13  <dominictarr>but it's nevertheless still plugins, because it does require some common architecture to get the plugins separated nicely
22:12:16  <Raynos>which is global state communication
22:12:20  * fallsemojoined
22:12:57  <dominictarr>Raynos: right - so maybe we should ask: what is the difference between a plugin and a mixin?
22:15:22  <jesusabdullah>Raynos: truth be told I think what people really want when they talk plugins are before/after hooks on methods
22:16:03  <dominictarr>jesusabdullah: that is an interesting point!
22:16:28  <dominictarr>that is actually quite a common pattern in successful plugin systems
22:16:56  <jesusabdullah>I mean, if you can add before/after stuff to a method then plugin(obj) should be more than enough
22:16:57  * fallsemoquit (Read error: No route to host)
22:17:59  * fallsemojoined
22:18:07  <jesusabdullah>There's that, and then "require and run everything in this folder that may or may not be in $HOME/.config/my-application/
22:18:23  <Raynos>maybe we should ask
22:18:27  <Raynos>why do we have global state
22:18:29  <Raynos>and can we minimize it
22:18:38  <jesusabdullah>Spite, Raynos. Spite.
22:18:39  <Raynos>in the case of leveldb we have done that with sublevel
22:19:14  <Raynos>i dont see any usecase for before / after hooks
22:19:26  <jesusabdullah>"Dear Brendan Eich, why does the DOM expose window and document as global objects? Raynos, California" "Well Raynos, because fuck you that's why."
22:19:28  <Raynos>i prefer explicit events that are emitted at specific points
22:19:54  <Raynos>jesusabdullah: because ES6 modules dnot exist yet
22:19:58  <Raynos>import window from @@DOM
22:20:02  <Raynos>import document from @@DOM
22:20:46  <dominictarr>Raynos: sublevel is MAINLY about before hooks!
22:21:06  <jesusabdullah>yah see? :v
22:21:27  <Raynos>that's an exception
22:21:30  <dominictarr>I don't think I'd sum up the whole "plugin" thing like that though
22:21:33  <Raynos>but its a good use case
22:22:58  <dominictarr>also, what about git
22:23:03  <dominictarr>git has hooks
22:23:21  <dominictarr>and you can use that to make continious deployment and stuff
22:23:41  <dominictarr>check that tests pass before you commit
22:23:57  <dominictarr>or let linters run their linters
22:25:10  <dominictarr>Raynos: frameworks are only bad when they go too far. but, your car still needs a chasis
22:25:55  <jesusabdullah>dominictarr knows what's good
22:25:57  <jesusabdullah>haha
22:26:18  <jesusabdullah>ahhh, I feel like there are so many possibilities now!
22:26:25  <jesusabdullah>it's kind of overwhelming lol
22:26:39  <dominictarr>the question is, can you find a "true" abstraction
22:27:04  <jesusabdullah>I thought Platonic ideals were disproven in the early 1900s
22:27:16  <jesusabdullah>I'm sure Georg Cantor wrote a proof on it
22:27:18  <dominictarr>in general, probably
22:27:37  <jesusabdullah>"Platonic Ideals Are Bullshit: A Treatise"
22:28:00  <dominictarr>don't get me wrong, I'm not saying platonic ideals are TRUE
22:28:21  <dominictarr>I'm just saying I've recently discovered them to be a USEFUL idea
22:28:21  * jesusabdullahputs ALL the words in dominictarr's mouth
22:28:48  <dominictarr>USEFUL is a much more USEFUL idea, than TRUTH is TRUE.
22:29:01  <dominictarr>USEFUL > TRUE
22:29:02  <LOUDBOT>I'M WHITE SO THAT DOESN'T APPLY TO ME
22:29:07  <jesusabdullah>^^^^
22:29:29  <dominictarr>LOLOUDBOT
22:32:21  * tmcwquit (Remote host closed the connection)
22:32:22  * fallsemoquit (Read error: Connection reset by peer)
22:33:26  <dominictarr>Raynos: jesusabdullah or look at the unixy design of the new browserify
22:34:01  <dominictarr>that isn't "just modules" because there are some architecture that each module has to follow
22:34:12  <dominictarr>but that given, the rest is relatively flexible
22:34:15  <jesusabdullah>that reminds me, been thinking about a new browserify-cdn
22:34:24  <jesusabdullah>build it on big instead of lil' flatty
22:34:39  <jesusabdullah>but, like, that's a tough toolchain to build right
22:35:04  <jesusabdullah>I should be an asshole and make you POST npm tarballs to it
22:35:26  * owen1quit (Ping timeout: 246 seconds)
22:35:27  <jesusabdullah>actually not the worst thing
22:35:44  <dominictarr>post instead of put?
22:36:07  <dominictarr>or - instead of it npm installing manually?
22:36:16  <dominictarr>or automatically, rather
22:36:18  * owen1joined
22:36:50  <jesusabdullah>dominictarr: it's browserify-as-a-webservice that caches the bundle
22:37:46  <jesusabdullah>dominictarr: v0 you could only tell it to bundle a particular library. v1 you could POST a single js file
22:38:02  <dominictarr>checkout all the npm code into leveldb and then browserify on demand
22:38:15  <Raynos>dominictarr: web hooks are cool
22:39:29  <jesusabdullah>dominictarr: basically. Before I used couchdb but leveldb could be fun
22:39:42  <jesusabdullah>dominictarr: downside: if I use big I'll have to write a leveldb-jugglingdb adapter
22:41:23  <Raynos>dominictarr: that's just interfaces as data
22:41:35  * no9joined
22:41:44  <dominictarr>right - that is a database abstraction, correct?
22:41:49  <jesusabdullah>yeah
22:42:12  <dominictarr>or, "thing that stops you using any cool features from any particular database"
22:44:51  <jesusabdullah>haha pretty much
22:44:57  <jesusabdullah>luckily I don't need cool features XD
22:46:04  <Raynos>jesusabdullah: its relational.
22:46:44  <jesusabdullah>What's relational?
22:47:11  * nicholas_quit (Remote host closed the connection)
22:47:41  <dominictarr>Raynos: sql is just a crude implementation of the pure "relational" abstraction
22:47:43  * jolissjoined
22:47:45  * nicholasfjoined
22:47:59  <Raynos>jesusabdullah: jugglingdb
22:48:03  <Raynos>man jugglingdb is really complex
22:49:59  * ELLIOTTCABLEchanged nick to ihateallofyou
22:50:02  <jesusabdullah>juggling CAN do more than just relational but it DOES seem to focus on that
22:50:31  * thl0_quit (Remote host closed the connection)
22:51:16  * thl0joined
22:52:16  * nicholasfquit (Ping timeout: 256 seconds)
22:56:04  * vitorpachecojoined
22:58:33  * vitorpachecoquit (Remote host closed the connection)
23:01:21  * no9quit (Ping timeout: 248 seconds)
23:01:33  <dominictarr>substack: the latest tape has a bug where if it throws async it fails silently!
23:04:59  <jesusabdullah>anyone know a good node-based github-hooked build server thingy?
23:05:14  <jesusabdullah>Like, when repo gets pushed to try to sync up and run some build?
23:05:50  <mikolalysenko>there is jenkins, but it is complicated to set up
23:05:58  <mikolalysenko>(and not node based)
23:05:59  <jesusabdullah>yeah, no
23:06:06  <jesusabdullah>I want something really simple I can set up
23:06:25  <Wraithan>jesusabdullah: y u no travis?
23:06:32  <jesusabdullah>Wraithan: I don't want tests, I want builds
23:06:52  <jesusabdullah>Wraithan: like, there's a final file that the whole thing generates and that gets dumped somewhere for sharing
23:07:00  <Wraithan>jesusabdullah: http://about.travis-ci.org/blog/2012-12-18-travis-artifacts/
23:07:21  <Wraithan>continous integration != testing :)
23:07:25  <jesusabdullah>I should just write this, I have like 2/3 of a github hook middleware already
23:07:45  <Wraithan>I've written one of those
23:07:54  <jesusabdullah>oh?
23:08:11  <Wraithan>well, a 2/3rds of a github hook middleware thing
23:08:27  <Wraithan>https://github.com/zenirc/zenircbot-github/blob/master/github.js
23:08:42  <Wraithan>Well, that parses crap out that I want
23:08:57  <Wraithan>https://github.com/zenirc/weblistener/blob/master/weblistener.js
23:08:59  <Wraithan>and that listens
23:10:21  * ihateallofyouchanged nick to goodbye
23:10:53  <Raynos>miko: any tips on jenkins?
23:11:00  <Raynos>jesus: substack has things for that
23:13:23  * fallsemojoined
23:13:55  * mikolalysenkoquit (Ping timeout: 256 seconds)
23:17:36  * goodbyequit (Remote host closed the connection)
23:18:20  * no9joined
23:31:07  <isaacs>Raynos: Thanks!
23:31:09  * vitorpachecojoined
23:34:09  * timoxleyjoined
23:40:20  * mikolalysenkojoined
23:48:34  * mikolalysenkoquit (Ping timeout: 246 seconds)