00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:05:51  <rvagg>mbalho: if you want to pull out individual components you can do it, check out this: https://github.com/rvagg/node-abstract-leveldown/blob/master/test.js
00:06:17  <rvagg>mbalho: I made the leveldown tests exportable so they can be partially run by implementers (well, by AbstractLevelDOWN anyway)
00:06:39  <rvagg>mbalho: what I'd recommend is that you use AbstractLevelDOWN and implement on top of that and then you'll have a compatible API ready to go
00:07:17  <rvagg>mbalho: see https://github.com/rvagg/node-memdown as an implementation example
00:10:59  <mbalho>rvagg: oh cool!
00:12:29  * tmcwjoined
00:12:58  * jibayquit (Quit: Leaving)
00:17:57  * st_lukequit (Remote host closed the connection)
00:19:50  <mikeal>I will continue to resist any test framework of any kind :)
00:19:50  <mikeal>https://github.com/mikeal/okdone
00:20:15  * thl0quit (Remote host closed the connection)
00:20:52  <substack>mikeal: the problem with that is false positives
00:21:07  <substack>it's very easy to skip an assertion because a callback didn't even fire
00:21:12  <mikeal>thats why you throw
00:21:15  <mikeal>ALWAYS THROW
00:21:15  <LOUDBOT>HOLY FUCK IT SMELLS LIKE A WET DOGS ASS IN HERE
00:21:20  <substack>mikeal: that doesn't fix it at all
00:21:26  <mikeal>a failure is a throw, there is no other kind of throw
00:21:31  <substack>no no no
00:21:33  <substack>consider this:
00:21:36  <mikeal>there is no other kind of failure
00:21:37  <pkrumins>chromes are fucking up on the windows server
00:21:43  <substack>it's not about failures
00:21:46  <rvagg> failure not to fire callback
00:21:46  <substack>it's about false positives
00:21:55  <pkrumins>all require me to click ok for each test
00:21:55  <mikeal>ok
00:22:00  <mikeal>how's that?
00:22:05  <mikeal>if i use the assert module
00:22:08  <mikeal>and i use throw everywhre
00:22:17  <mikeal>and i never call ok.done() until everything is done
00:22:22  <substack>function works () {} works(function (x) { assert.ok(x) })
00:22:25  <mikeal>what'st he problem?
00:22:25  <substack>the assert never fires
00:22:53  <mikeal>huh?
00:23:11  <mikeal>right
00:23:13  * tmcwquit (Remote host closed the connection)
00:23:14  <mikeal>it never does
00:23:24  <substack>so that's a false positive
00:23:27  <mikeal>but i would never write that, because if i'm passing a callback
00:23:39  <substack>but what if you forgot to call a callback?
00:23:41  <mikeal>i'm going to put the .done() call in something that happens after the callback
00:23:45  <substack>then your code will be broken but you won't even know it
00:23:47  <mikeal>then the test will timeout and fail :)
00:24:02  <mikeal>that example is something that wouldn't happen
00:24:05  <mikeal>this is what would happen
00:24:45  <mikeal>function works (fn, cb) { fn(), cb(null) } works(function () {}, ok.done.bind(ok))
00:24:56  <mikeal>that's how that would actually look
00:25:01  <mikeal>so, say i fucked it up
00:25:08  * notalexgordon_quit (*.net *.split)
00:25:09  * pikpikquit (*.net *.split)
00:25:09  * Domenic_quit (*.net *.split)
00:25:09  * rook2pawnquit (*.net *.split)
00:25:09  * py1honquit (*.net *.split)
00:25:09  <mikeal>the callback wouldn't get called
00:25:46  <mikeal>counting assert calls is brittle and super annoying to debug
00:25:51  <mikeal>i just nest everything
00:25:54  <mikeal>and use multiple files
00:26:40  <pkrumins>mikeal: the chrome tests will be red for a bit
00:27:03  <pkrumins>i didnt write that program yet that clicks ok on its stupid modal dialogs when they appear
00:27:10  * mikolalysenkoquit (Ping timeout: 246 seconds)
00:27:56  <substack>mikeal: https://github.com/mikeal/okdone/blob/master/test.js
00:28:00  <substack>do require('./')
00:28:01  <jesusabdullah>pkrumins: you guys weren't gonna have mobile browsers in browserling were you?
00:28:01  <mikeal>i see
00:28:03  <substack>that's why it's broken
00:28:06  <mikeal>substack: yeah, i already fixed it
00:28:10  <substack>ok
00:28:11  <mikeal>pushing now
00:28:23  <pkrumins>jesusabdullah: we are going to have them really soon
00:28:26  <mikeal>i thought i pushed it but i was in a different repo
00:28:33  <substack>so many tests running right now O_O
00:28:35  <pkrumins>jesusabdullah: we already do have mobile for testling
00:28:44  <pkrumins>substack: yes lots of commits
00:29:03  <jesusabdullah>oh word
00:29:18  <pkrumins>jesusabdullah: we added android yesterday
00:29:27  <jesusabdullah>very cool
00:29:33  <pkrumins>next is osx for browserling, then androids for browserling
00:29:52  <jesusabdullah>neat
00:30:06  * notalexgordon_joined
00:30:07  * pikpikjoined
00:30:07  * Domenic_joined
00:30:07  * rook2pawnjoined
00:30:07  * py1honjoined
00:30:40  <mikeal>substack & pkrumins: for the free service you're offering open source projects, you may want to cancel the inflight tests when a new push comes in
00:31:44  <pkrumins>that wouldn't be cool because people want their badges
00:31:52  <pkrumins>there is nothing wrong with running lots of tests in parallel
00:32:01  <pkrumins>just need to figure out a couple more browser instability problems
00:32:30  <pkrumins>like error dialogs and upgrade dialogs that dont let the browser start until someone clicks ok
00:32:32  <mikeal>isn't the badge just on master?
00:32:47  <pkrumins>currently yes
00:33:04  <pkrumins>currently only master works
00:33:11  <mikeal>i mean HEAD
00:33:21  <mikeal>the badge is only for HEAD
00:33:25  <pkrumins>oh yeah
00:33:29  <pkrumins>i see what you mean now
00:34:54  <substack>hey cool, your tests are passing https://ci.testling.com/mikeal/okdone
00:35:09  <mikeal>yup
00:35:15  <pkrumins>i want to see the android in action
00:35:24  <mikeal>i wonder why couchie breaks on ie8, ie8 is suppose to have localStorage support
00:35:24  <pkrumins>mikeal: you're the first person to run the test on android
00:35:44  <mikeal>hahah, awesome, its actually important for us :)
00:35:54  <pkrumins>mikeal: it's a syntax error as far as i see
00:36:02  <pkrumins>sorry not a syntax error
00:36:09  <pkrumins>but ie8 doesnt support something
00:36:11  <pkrumins>that you're using
00:36:20  <mikeal>yeah, no idea what tho
00:37:16  <mikeal>oh shit
00:37:18  <mikeal>i know what it is
00:37:21  <mikeal>Object.keys
00:37:25  <pkrumins>yes it's Object.keys
00:37:26  <mikeal>and Array.forEach
00:37:38  <mbalho>protip use underscore
00:37:41  <pkrumins>i just checked line 2801
00:37:46  <pkrumins>it's actually not that bad
00:37:48  <mbalho>or es5shim or whatev
00:38:25  <pkrumins>mikeal: also leading commas? i thought ie didnt like leading commas
00:38:34  <pkrumins>oe maybe ie8 started liking them
00:38:48  <pkrumins>ahh, ie8 didnt like trailing extra commas
00:38:51  <pkrumins>never mind
00:39:14  <mikeal>no browser cares about leading commas
00:39:16  <mikeal>that is a myth
00:39:35  <pkrumins>i was thinking trailing extra commas
00:43:21  <mikeal>yeah, it does hate those
00:44:45  <mbalho>rvagg: any idea why i get this error when i browserify the test.js from memdown?
00:44:48  <mbalho>rvagg: Error: module "constants" not found from "/Users/maxogden/src/node_modules/leveldown/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js"
00:45:31  * st_lukejoined
00:46:03  <mbalho>rvagg: also im not sure if tap browserifies, if not then i'd have to figure out a way of loading tape instead of tap in all of these requires https://github.com/rvagg/node-leveldown/blob/master/test/get-test.js#L1
00:46:26  <rvagg>mbalho: rimraf is used by test/common.js in leveldown, it shouldn't get invoked though so can you exclude rimraf from the browserify build?
00:47:48  <mbalho>i dont even know how to do that...
00:48:04  <rvagg>neither do I but I hear it's possible
00:48:06  <mikeal>mbalho: i'm using rimraf in a test as well
00:48:08  <mikeal>this is what i do
00:48:24  <mikeal>if (process && process.on) process.on('exit', // thing that uses rimraf
00:48:43  <mikeal>and then in package.json i {"rimraf":"empty.js"}
00:48:45  <mbalho>man this stuff is all so hacky
00:49:02  <rvagg>javascript is hacky by nature, embrace the hacky!
00:49:09  <mikeal>no, other methods are much hackier :)
00:49:27  <mikeal>i went down a few of those rabbit holes when i was trying to port pouchdb to sanity
00:49:27  <mbalho>i just cant really imagine normal people doing any of this stuff :)
00:50:00  <mbalho>like, normal people can use node core, but i doubt normal people can make a module that does I/O that works in node and the browser
00:50:02  <mikeal>well, most people who pull in modules for their browserify shit aren't pulling in node-only modules
00:50:03  <rvagg>mbalho: if you want, you could split out the test content from the test runner files in leveldown so you can just pull in the test logic, I'd be happy with that
00:50:13  <mikeal>i'm constantly impressed by how many things *just work*
00:50:34  * tmcwjoined
00:50:56  <mbalho>rvagg: yea i think ill do that
00:50:59  <mikeal>i think i slowed down testling with too many pushes
00:51:00  * mikolalysenkojoined
00:51:12  <substack>too many browsers too
00:51:24  <mikeal>should definitely kill inflight tests once a new HEAD is pushed :)
00:52:00  <substack>too much other stuff I need to fix first
00:52:28  * mikealquit (Quit: Leaving.)
00:53:48  * thl0joined
00:55:18  <mbalho>rvagg: hmm ok so for thigns like https://github.com/rvagg/node-leveldown/blob/master/test/destroy-test.js#L56 i should try to reimplement testCommon.makeExistingDbTest in the browser?
00:56:00  <rvagg>mbalho: no, I'd ignore that in the browser I think
00:56:14  <mbalho>rvagg: mmk so i should just focus on the module.exports = tests?
00:56:17  <rvagg>mbalho: that's for levelup.destroy(), and there's also levelup.repair(), you can implement them but throw
00:57:01  <rvagg>mbalho: yeah, abstract-leveldown doesn't use them all, only the relevant ones that aren't leveldb specific, focus on those only
00:57:05  * jxson_quit (Remote host closed the connection)
00:57:23  <rvagg>anything that has module.exports in it in the tests directory I think
00:57:29  * dguttmanquit (Quit: dguttman)
01:02:04  <mikolalysenko>general node question: what is the state of the art for profiling these days?
01:02:23  <mikolalysenko>I've used v8-profiler in the past, but seems that 0.10 broke it
01:02:29  <rvagg>console.log + Date.now(), art, total state of it
01:02:42  <mikolalysenko>...
01:02:45  <mikolalysenko>that isn't profiling...
01:02:59  <rvagg>mbalho: if you get far enough and it's big mess then lets pull it out to a separate project for just leveldown api compliance
01:03:04  <rvagg>mikolalysenko: sorry, trolling
01:03:09  <rvagg>can't help it
01:04:18  <mbalho>rvagg: im gonna start with these minus the approximate size tests cause they use testCommon
01:04:35  <rvagg>mbalho: actually, AbstractLevelDOWN would be a good place to house the tests
01:04:47  <rvagg>oh yeah, approximateSize, don't implement that, either throw() or return zero or something
01:05:14  <rvagg>mbalho: and I'd be happy to switch to tape but the 0.10 compatibility is a bit messed up atm
01:05:19  <mbalho>yea :(
01:05:31  <mbalho>though im just browserifying and it should work in browser okay
01:05:48  <jez0990_>mikolalysenko: the smartos/dtrace flamegraphs I've seen juliangruber and dominictarr swap look pretty sweet
01:06:20  <rvagg>yeah, dtrace, do that, bug wolfeidau if you need some help on that front
01:08:07  <dominictarr>mikolalysenko: dtrace is the best, but you'll need a smartos vm
01:08:24  <dominictarr>dtrace is on mac, but not the nodejs stackhelpers
01:08:33  <dominictarr>also, node has a highres timer
01:08:39  <dominictarr>that does nano seconds.
01:08:56  <dominictarr>process.hrtime()
01:14:14  <jjjjohnn1y>https://github.com/NHQ/since-when/blob/master/examples/fib.js
01:14:56  <jjjjohnn1y>i started rewriting setInterval in process.hrtime()
01:15:04  <jjjjohnn1y>and one day I will finish
01:16:01  <jjjjohnn1y>i came here to here to say that there is a "TokuDB" #justSayin
01:19:01  <Raynos>mikeal: Hypocrite! Universals callbacks my ass. (err, res, body)
01:19:07  * fallsemojoined
01:19:18  <Raynos>request is the reason all my (err, value) modules break :(
01:19:42  * shuaibquit (Ping timeout: 276 seconds)
01:22:22  * jxsonjoined
01:22:51  <Raynos>Oh wait
01:22:53  <Raynos>res.body >_>
01:22:54  <Raynos>ok.
01:23:01  * jxsonquit (Read error: Connection reset by peer)
01:25:50  * mikolalysenkoquit (Ping timeout: 252 seconds)
01:29:13  <Raynos>so this npm search 2.0
01:29:15  <Raynos>where is it at?
01:37:24  <substack>build it!
01:37:29  * substack<-- so busy
01:43:17  <rvagg>heh
01:47:17  * blobaumjoined
01:52:21  * cianomaidinjoined
01:57:20  <jesusabdullah>substack: any idea what's up with https://gist.github.com/jesusabdullah/93a13c2b4efc462e12c9#file-mainframe-js-L38-L52 ? My process exits right after bashful prints the prompt line
01:57:54  * mikealjoined
01:58:08  * blobaumquit (Remote host closed the connection)
01:58:33  <jesusabdullah>substack: I feel like I must be doing something stupid with the streams?
01:58:52  <jesusabdullah>maybe that stream shouldn't be a through stream
01:59:00  <jesusabdullah>yeeeah probably not
01:59:05  <mikeal>hrm...
01:59:09  <mikeal>why did Android break?
01:59:10  <mikeal>https://ci.testling.com/mikeal/couchie
02:00:32  * fallsemoquit (Quit: Leaving.)
02:05:40  * shuaibjoined
02:06:49  <jesusabdullah>frick fixing duplex didn't make it magically work
02:06:51  * dominictarrquit (Quit: dominictarr)
02:06:54  <jesusabdullah>I wonder what I'm doing wrong? :s
02:08:34  <jesusabdullah>oh siiiiiick read isn't using my stdin and stdout
02:09:06  * defunctzombiechanged nick to defunctzombie_zz
02:11:01  <mbalho>rvagg: im gonna make it so you can pass in your test function definition to the tests
02:11:10  <mbalho>rvagg: so you can pass in tap in node or tape in browser
02:11:21  <rvagg>mbalho: yep, goodo
02:11:25  * st_lukequit (Remote host closed the connection)
02:14:55  <Raynos>substack: I mean the web interface someone already build
02:18:48  <mbalho>rvagg: ahh i looks like i'll have to reimplement testCommon and pass that into the abstract tests as well
02:21:10  <mikeal>substack: pkrumins: found a bug: https://ci.testling.com/mikeal/okdone it prefers the last test that ran, which in this case is actually not HEAD
02:27:47  <jesusabdullah>streams are hard :( https://gist.github.com/jesusabdullah/93a13c2b4efc462e12c9
02:27:53  <jesusabdullah>Raynos: anything obviously wrong here? ^^
02:28:28  <mbalho>Raynos: with idbwrapper do you know if there is a way to get a list of all stores in the local indexeddb?
02:29:00  <Raynos>mbalho: not sure. I just used one store
02:29:01  <substack>mikeal: yeah, killing running tests when a new version comes in will fix that
02:29:18  <substack>I like that `browserify | testling` use-case you had earlier too
02:29:23  <substack>I can make that work easily enough
02:29:40  <mikeal>i figured you could
02:29:48  <mikeal>i keep wanting to pipe browserify to things :)
02:30:01  * cianomaidinpart
02:30:29  <jesusabdullah>man this game ux is gonna be AWESOME if I can get this fake login shell to work
02:31:01  <mbalho>wtf you cant list all databases in indexeddb?
02:31:28  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
02:31:32  <mbalho>indexedDB.webkitGetDatabaseNames()
02:32:05  <mbalho>poop.pipe(w3c's head)
02:33:13  <substack>mikeal: also please spam me with ideas about what testling profesh should have
02:33:40  <mikeal>will do, it didn't work for me tho
02:33:46  <substack>uh oh
02:34:15  <mikeal>error: The requested URL returned error: 400 while accessing http://mikeal:[hash]@git.testling.com/mikeal/couchie.git/info/refs
02:34:35  <substack>I've been getting that error in pushover sometimes too
02:36:22  <substack>anyhow I have a thing in the works for hosting private npm modules over pushover
02:36:43  <substack>that will hook in very easily with testling tests
02:37:01  <substack>which will all plug in very cleanly with ploy
02:37:02  <mikeal>we don't use private npm
02:37:07  <mikeal>we checkin all of our deps
02:37:38  <substack>but then you've got to iterate on your versions in lock-step
02:37:58  <substack>whenever you push a breaking change you've got to fix it everywhere immediately
02:38:09  <mikeal>huh?
02:38:20  <mikeal>oh, i see what you're saying
02:38:23  <substack>I think externalizing dependencies to a degree buys you a lot of freedom to iterate apis
02:38:40  <mikeal>we want to lock in the deps
02:38:45  <mikeal>like, *really* lock them in
02:38:46  <substack>malte was complaining about exactly this problem about how google does it
02:38:47  <mikeal>and see diffs
02:38:59  <mikeal>i want to see diffs for all my deps
02:39:04  <mikeal>from release to release
02:39:16  <mikeal>so we use the branch compare
02:39:24  <mikeal>and we can see every line we're changing, including deps
02:39:45  <substack>I can only imagine that getting out of hand in terrible ways :p
02:40:08  <substack>sounds like you'd need to be very careful evolving the fundamental components
02:41:29  <substack>I like to iterate on modules as far away from production code as possible
02:41:43  <substack>there's so much less going on that you need to fit in your head at once
02:42:36  * thl0quit (Remote host closed the connection)
02:43:21  <substack>anyhow you'll still be able to plug your libs into testling, it will just be harder in some ways
02:44:31  <mikeal>substack: any idea why Android is failing? https://ci.testling.com/mikeal/couchie
02:45:03  * fallsemojoined
02:45:06  <mikeal>substack: you can iterate on modules outside of production just fine, we just won't update them in the tree until the modules solidify
02:45:22  <mikeal>checking in deps is the exact same thing as version locking in package.json except we get diffs
02:46:47  <substack>and merge conflicts >_<
02:49:43  <mbalho>rvagg: in leveldown when you do t.type(value, Buffer) do you have any suggestions on how i can test that in browser where they'll be TypedArrays
02:49:53  <mikeal>i could see that being an issue
02:50:01  <mikeal>dedupe helps keep a lot of this pretty clean
02:50:58  <chrisdickinson>Raynos: what's the status of levelidb?
02:51:04  <chrisdickinson>is there another module i should be using?
02:51:07  <Raynos>abandonware :D
02:51:18  <Raynos>;_;
02:51:20  <chrisdickinson>also, mbalho, any news re: finding a simple indexeddb wrapper?
02:51:22  <Raynos>I sound like creatonix
02:51:34  <Raynos>chrisdickinson: the main problem is a reliable idb wrapper
02:51:40  <mbalho>chrisdickinson: im in the middle of fixing levelidb
02:51:42  <Raynos>levelidb used to work with older versions of chrome
02:51:44  <chrisdickinson>:D
02:51:59  <mbalho>chrisdickinson: right now i am porting the leveldown tests to the browser
02:52:05  <chrisdickinson>sweet!
02:52:13  <chrisdickinson>i'm using levelidb in my js git demo
02:52:26  <mbalho>chrisdickinson: im disappointed at this channel that this hasnt been done yet :)
02:53:06  * fallsemoquit (Quit: Leaving.)
02:53:10  <chrisdickinson>:)
02:53:23  <chrisdickinson>mbalho: lemme know if i can help
02:53:30  <Raynos>I did it! I just didnt make it work in new stuff :P
02:53:44  <Raynos>also levelidb needs a rewrite >_<
02:55:06  <mbalho>chrisdickinson: if i get all the tests set up i could use some help implementing them.. will let you know
02:55:13  <chrisdickinson>cool
03:02:28  * fallsemojoined
03:05:21  * tilgoviquit (Remote host closed the connection)
03:10:42  <mbalho>chrisdickinson: i need to figure out how to change all the tests in leveldown that assume Buffer to also work with TypedArrays
03:11:10  <mbalho>chrisdickinson: i guess i could do Buffer = Int8Array at the top haha
03:14:33  <chrisdickinson>haha :|
03:14:51  <chrisdickinson>mbalho: it would be very nice if it casted Buffers to Uint8Arrays for storage
03:15:18  <chrisdickinson>using blobs
03:15:24  <mbalho>chrisdickinson: well in the browser you would just use typed arrays
03:15:38  <chrisdickinson>sometimes yes, sometimes no :\
03:15:49  <chrisdickinson>pretty much all of the git stuff uses buffers
03:15:53  <mbalho>chrisdickinson: haha ok
03:15:58  <mbalho>chrisdickinson: well you can do that part :)
03:16:01  <chrisdickinson>(for better or worse)
03:16:02  <chrisdickinson>kk :)
03:16:08  <rvagg>mbalho: sorry, back, I'm not sure what to do re Buffer test, but I'm sure you'll come up with something creative
03:16:16  <mbalho>rvagg: just did!
03:16:21  <mbalho>rvagg: its called... delegate
03:16:29  <chrisdickinson>(it looks like you need to use `new Blob([typed array], {})` to shove binary into indexeddb)
03:16:41  <chrisdickinson>or maybe not?
03:16:43  <mbalho>chrisdickinson: i am pretty sure ive stored typed arrays
03:16:49  <chrisdickinson>aah okay
03:16:59  <mbalho>chrisdickinson: the voxel-storage module does that and it works, the api just sucks
03:19:07  <rvagg>mbalho: do you want to stick this test stuff into abstract-leveldown? I'll give you commit access if you want
03:19:55  <mbalho>rvagg: sure
03:20:24  <mbalho>rvagg: im fine with pull reqs too
03:21:04  <mbalho>rvagg: i have abstract tests to add to abstract-leveldown and then new tests that use the abtract tests for leveldown which means abstract-leveldown will need to get added to devDeps
03:21:08  <rvagg>yeah, that too but I have a headcold at the moment so I'm more inclined to just get you to do it all anyway and fix up to my liking later on
03:21:13  <mbalho>lol
03:21:26  <rvagg>yeah, so leveldown can come out of devdeps for abstract-leveldown
03:32:31  * shamaquit (Remote host closed the connection)
03:33:59  <mbalho>does process.nextTick get turned into a setTimeout or something in browserify by chance?
03:34:07  <substack>yes
03:34:14  <mbalho>woot
03:34:28  <substack>https://github.com/shtylman/node-process/blob/master/browser.js
03:35:27  <mbalho>substack: will that happen to automatically or do i have to do stuff
03:35:46  <substack>it's automatic
03:36:02  <mbalho>woot
03:36:39  <substack>insert-module-globals detects implicit uses of process and inlines the definition
03:43:44  * fallsemoquit (Quit: Leaving.)
03:51:19  <mikeal>wow
03:51:56  <mikeal>has anyone ever had require('./filename') in the terminal put you in "…" forever
03:53:58  <mbalho>require barfs on gigantic objects i've noticed
04:01:24  <mbalho>chrisdickinson: ok i have the test suite all ready to go, would you rather we fork raynos/levelidb or start a new project?
04:01:45  <chrisdickinson>i'm up for either
04:01:48  <mbalho>chrisdickinson: with my hacked up fork of levelidb i have:
04:01:48  <mbalho># tests 103 test.js:5442
04:01:48  <mbalho># pass 18 test.js:5442
04:01:49  <mbalho># fail 85
04:01:52  <chrisdickinson>Raynos: thoughts?
04:02:11  <mbalho>i removed all streams and events from it to get to that point
04:02:38  <chrisdickinson>ah interesting
04:02:51  <mbalho>chrisdickinson: https://friendpaste.com/53RCTn81XJpxC34T7vCaoW is what i have now
04:03:16  <mbalho>chrisdickinson: it doesnt have an interator api yet
04:03:23  <mbalho>chrisdickinson: iterator*
04:03:35  * tmcwquit (Remote host closed the connection)
04:03:49  <mbalho>rvagg: can you add me to leveldown also
04:04:00  <rvagg>oh, I thought you were there already
04:04:01  <rvagg>will do
04:04:03  <mbalho>oh
04:04:22  <mbalho>i dont know how to check
04:04:56  <rvagg>done and done
04:05:00  <rvagg>leveldown and levelup
04:05:24  <rvagg>you're mentioned as a contributor on the readme on both I think but not added as a collaborator on github, sorry, rectified now
04:11:17  <Raynos>chrisdickinson: oh hi
04:12:16  <Raynos>mbalho, chrisdickinson: I don't care.
04:27:38  <mbalho>rvagg: ok all done
04:32:16  <mbalho>chrisdickinson: you can clone, install and npm start this https://github.com/maxogden/levelidb/tree/leveldown
04:32:31  <mbalho>chrisdickinson: 18/103 pass
04:32:50  <mbalho>chrisdickinson: and i believe i ported all the test setup/teardown and structure to work in the browser + in node
04:33:11  <mbalho>chrisdickinson: you can look here for what i just did https://github.com/rvagg/node-leveldown/commits/master + https://github.com/rvagg/node-abstract-leveldown/commits/master
04:33:57  <rvagg>mbalho: is tap working ok for you, can we leave it asis in there?
04:34:13  <mbalho>rvagg: yep. all tests pass in both repos
04:34:29  <mbalho>rvagg: i just made it so you pass in a test function to each test
04:34:42  <mbalho>rvagg: so you can pass in require('tap').test in node and require('tape') in browserify
04:35:05  <rvagg>goodo
04:37:53  <rvagg>mbalho: published [email protected]
04:38:43  <mbalho>rvagg: i didnt change any api so i wasnt sure if it required a version bump or not
04:39:16  <rvagg>mbalho: that's fine, I'd prefer to handle that myself anyway
04:39:58  <mbalho>kewl
04:41:07  * AvianFluquit (Remote host closed the connection)
04:44:42  * nk109joined
04:49:41  * shamajoined
04:56:38  * mikolalysenkojoined
04:57:26  * mikealquit (Quit: Leaving.)
05:11:36  * mikealjoined
05:14:03  * tmcwjoined
05:18:46  * tmcwquit (Ping timeout: 256 seconds)
05:19:24  * jcrugzzquit (Ping timeout: 264 seconds)
05:39:48  * mikolalysenkoquit (Ping timeout: 264 seconds)
05:47:19  <kanzure>are there any npm packages that would help me with abstractions for controlling a browser? i want some things like a session, or a controller, and there might even be a state machine to handle events from multiple pages.
06:13:26  * shamaquit (Remote host closed the connection)
06:57:49  * wolfeidauquit (Remote host closed the connection)
06:58:16  * wolfeidaujoined
07:01:13  * jcrugzzjoined
07:03:31  * wolfeidauquit (Ping timeout: 264 seconds)
07:20:58  * wolfeidaujoined
07:45:42  * jcrugzzquit (Ping timeout: 264 seconds)
07:48:21  * owen1quit (Ping timeout: 245 seconds)
07:49:06  * owen1joined
08:35:26  * mirkokquit (Ping timeout: 245 seconds)
08:37:30  * mirkokjoined
08:48:28  * jibayjoined
08:54:07  * spionjoined
08:54:49  * stagasjoined
09:13:55  <juliangruber>I just ordered a firefox os phone from geeksphone
09:14:25  <juliangruber>exciting times
09:21:02  * wolfeidauquit (Read error: Connection reset by peer)
09:21:15  * wolfeidaujoined
09:26:07  <rvagg>woot
09:34:13  <juliangruber>it will really be usable for me as soon as you can open server tcp sockets
09:34:20  <juliangruber>so I can do real p2p on those
10:06:27  * yorickjoined
10:38:57  * thl0joined
10:52:51  * dominictarrjoined
10:54:41  * keslajoined
10:57:25  * keslaquit (Client Quit)
11:08:33  * nicholasfquit (Read error: Connection reset by peer)
11:09:06  * nicholasfjoined
11:15:02  * keslajoined
11:58:57  * defunctzombie_zzchanged nick to defunctzombie
12:30:20  * tmcwjoined
12:36:12  * fallsemojoined
12:41:58  * dominictarrquit (Remote host closed the connection)
12:42:54  * timoxleyjoined
12:50:03  * tmcwquit (Remote host closed the connection)
13:11:32  * tmcwjoined
13:19:33  * thl0quit (Remote host closed the connection)
13:23:14  * tmcwquit (Remote host closed the connection)
13:30:10  * dominictarrjoined
13:39:04  * tmcwjoined
13:42:50  * thl0joined
14:06:16  * dominictarrquit (Quit: dominictarr)
14:32:29  * defunctzombiechanged nick to defunctzombie_zz
14:36:29  * CoverSlidequit (Ping timeout: 255 seconds)
14:37:27  * CoverSlidejoined
14:47:35  * mikealquit (Quit: Leaving.)
15:16:22  * dominictarrjoined
15:16:24  * CoverSlidequit (Ping timeout: 264 seconds)
15:21:41  * mikealjoined
15:32:58  * CoverSlidejoined
15:33:18  * dguttmanjoined
15:33:40  * keslaquit (Ping timeout: 246 seconds)
15:41:59  * mikealquit (Quit: Leaving.)
15:49:46  * fotoveritequit (Ping timeout: 246 seconds)
15:56:37  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:56:37  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
15:58:49  * fotoveritejoined
16:02:15  * shamajoined
16:15:48  * jcrugzzjoined
16:22:54  * mikealjoined
16:23:24  * AvianFlujoined
16:27:45  * mikealquit (Ping timeout: 276 seconds)
16:33:00  * jcrugzzquit (Remote host closed the connection)
16:33:18  * jcrugzzjoined
16:43:01  * AvianFluquit (Ping timeout: 256 seconds)
16:43:23  * jcrugzzquit (Read error: Connection reset by peer)
16:43:37  * jcrugzzjoined
16:44:58  * jcrugzzquit (Client Quit)
17:04:05  * keslajoined
17:09:05  <chrisdickinson>mbalho: working on addressing most of your issues in beefy
17:09:05  * jxsonjoined
17:09:25  <chrisdickinson>not sure about the "/foo/bar" -> "/foo/bar.html" one, i haven't seen many standard webservers do that
17:09:46  <chrisdickinson>("/foo/bar/" -> "/foo/bar/index.html" should definitely work though)
17:09:54  <chrisdickinson>and multiple entry points, and configurable cwd
17:15:07  * tmcwquit (Remote host closed the connection)
17:18:35  * mikealjoined
17:19:02  * mikealquit (Read error: Connection reset by peer)
17:19:15  * mikealjoined
17:21:09  * tmcwjoined
17:27:39  <mbalho>chrisdickinson: http://maxogden.github.io/voxel-painter/flatui/index http://maxogden.github.io/voxel-painter/flatui/index.html
17:28:25  <chrisdickinson>i've never ever seen that behavior before, haha
17:28:56  <mbalho>chrisdickinson: well its on github pages and lots of beefy apps will get deployed to github pages :)
17:29:37  <mbalho>chrisdickinson: basically, if its a 404 and the default extension for the web server is set to '.html' it should check if there is whatever.html before just sending a 404 for the filed called 'whatever'
17:30:58  <chrisdickinson>mbalho: that's probably the best argument. it's just kind of odd to me :)
17:31:02  <chrisdickinson>willfix
17:31:14  <chrisdickinson>(it seems like maybe it's a ruby-ism / jekyll-ism)
17:32:00  <chrisdickinson>mbalho: happen to have a theory about the order in which those are resolved?
17:32:31  <chrisdickinson>if A is a directory and has an index.html, and sits alongside A.html -- who wins?
17:44:46  * keslaquit (Quit: Computer has gone to sleep.)
17:47:40  <mbalho>chrisdickinson: A.html wins
17:47:43  <mbalho>chrisdickinson: oh wait
17:47:52  <mbalho>chrisdickinson: i'd say the directory wins
17:50:24  <dominictarr>how do I tell browser-pack to transform json -> module.exports = JSON
17:50:25  <dominictarr>?
17:52:37  * spionquit (Ping timeout: 246 seconds)
17:52:42  * jcrugzz_joined
17:55:37  * keslajoined
17:57:39  * jcrugzz_changed nick to jcrugzz
18:06:39  * spionjoined
18:06:48  * no9joined
18:19:32  <thl0>dominictarr: brfs
18:19:52  <thl0>https://github.com/substack/brfs
18:20:08  <thl0>you just do fs.readFileSync(jsonfile)
18:20:22  <thl0>brfs transform will magically inline it as a string
18:20:29  <dominictarr>you can require('./package.json')
18:20:30  <dominictarr>https://github.com/substack/node-browserify/blob/master/index.js#L205-L207
18:21:00  <thl0>oh, that's right
18:21:02  <dominictarr>(figured it out eventually, but was expecting this to happen in module-deps
18:21:08  <thl0>so for json you may not need brfs
18:21:39  <thl0>still nice tool though, I used it recently to inline webworker scripts as blobs
18:25:28  * defunctzombie_zzchanged nick to defunctzombie
18:27:47  * dguttmanquit (Ping timeout: 255 seconds)
18:27:53  <mbalho>thl0: you can do that? without having to serve them?
18:31:46  <thl0>mbahlo
18:31:47  <thl0>yes
18:32:15  <thl0>mbalho: https://github.com/thlorenz/brace/blob/master/build/worker-blob.js
18:32:48  <thl0>this is from my brace project which allows bundling ace editor including workers (responsible for errors/warnings)
18:33:06  <thl0>that way I can easily include it with scriptie-talkie in my blog ;)
18:33:39  <thl0>this is where I found most the info: http://www.html5rocks.com/en/tutorials/workers/basics/#toc-inlineworkers
18:34:50  <thl0>mbalho: this is what the above ace fix ends up generating: https://github.com/thlorenz/brace/blob/master/index.js#L14654-L14669
18:35:08  <no9>So anyone looking at the tape issue?
18:35:56  * timoxleyquit (Quit: Computer has gone to sleep.)
18:35:57  <no9>i.e. not working on 0.10
18:39:21  * keslaquit (Quit: Computer has gone to sleep.)
18:43:14  * keslajoined
18:43:30  <dominictarr>No9: if you see a job that needs doing...
18:44:29  <no9>dominictarr there are a lot of quotes in different repos about it just thought I would get the latest info
18:44:32  <no9>This is blocking all the things at the moment https://github.com/rvagg/node-leveldown/issues/35
18:45:16  <no9>And the mobile leveldown stuff I was looking at
18:47:35  <dominictarr>No9: right, so that is mostly just copy pasting the source
18:47:48  <dominictarr>and adding a module.exports = function (db) {...}
18:48:02  <dominictarr>to all the tests, so that the user can extend them...
18:49:55  <no9>Mostly but we need a runing TAPE on 0.10
18:50:02  <no9>*running
18:50:15  <no9>ruining take your pick
18:50:35  <thl0>no9 not sure if you tried this already, but you can tap your tape tests
18:50:51  <mbalho>no9: did you see the commits i made yesterday
18:51:07  <no9>mbalho nope
18:51:24  <no9>To TAPE or Level
18:51:31  <mbalho>no9: level
18:51:44  <no9>url pls
18:51:54  <mbalho>no9: https://github.com/rvagg/node-leveldown/commits/master https://github.com/rvagg/node-abstract-leveldown/commits/master https://github.com/maxogden/levelidb/tree/leveldown
18:52:10  <mbalho>no9: i need help getting the leveldown tests implemented in levelidb now
18:52:14  <mbalho>no9: chrisdickinson was gonna help too
18:53:12  <mbalho>no9: basically now leveldown, abstract-leveldown and levelidb all have the exact same test suite and it runs in the browser in levelidb if you clone && npm install && npm start
18:53:47  <no9>mbalho SAVAGE
18:54:03  <no9>see dominictarr ask and ye shall recieve
18:54:30  <dominictarr>No9 ++
18:55:27  <mbalho>no9: i am busy today but if you have any time to hack on getting the tests to pass it would be awesome, im not sure if chrisdickinson started yet o rnot
18:55:56  <chrisdickinson>i haven't ):
18:56:04  <chrisdickinson>spent the evening refactoring beefy
18:56:11  <chrisdickinson>(it was getting unwieldy)
18:56:14  <mbalho>also very useful!
18:56:18  <mbalho>beefy is the future
18:56:40  <no9>mbalho I will take it for a spin now and see where I get too
18:56:53  <mbalho>substack: got any illustrations of meat
18:57:17  <mbalho>substack: we need some anthropomorphized meet for the beefy readme
18:57:21  <chrisdickinson>haha
18:59:58  <chrisdickinson>mbalho: thinking of enabling browserify debug by default in beefy
19:00:04  <chrisdickinson>thoughts?
19:00:12  <chrisdickinson>makes things slower / larger
19:00:22  <chrisdickinson>beefier, even
19:00:31  <mbalho>lol
19:00:50  <mbalho>chrisdickinson: yea should be fine. my biggest issue lately is how slow browserify v2 is at parsing three.js
19:00:58  <chrisdickinson>yeah, i noticed :|
19:01:12  <chrisdickinson>3 seconds to generate voxel-hello-world in beefy
19:01:14  <dominictarr>mbalho: semver-ftw needs a section for specifying semver ranges, too
19:01:38  <mbalho>dominictarr: also i was thinking we should link to some example modules that work together or something
19:02:06  <mbalho>i dont know if there is a way in browserify to not parse a file (not --ignore that is different)
19:02:16  * spionquit (Ping timeout: 246 seconds)
19:02:30  <chrisdickinson>--i-promise-there-are-no-requires-here
19:02:47  <mbalho>haha yea
19:03:01  <chrisdickinson>mbalho: have you looked at what in particular is taking up so much time in the parsing?
19:03:02  <mbalho>--nothing-to-see-here-please-move-along
19:03:04  <chrisdickinson>haha
19:03:07  <mbalho>chrisdickinson: nope
19:03:20  <chrisdickinson>seems to be an issue with jquery too, iirc
19:04:07  <chrisdickinson>anything that defines a type system that multiple modules depend on seems to be a failing point in the node module story
19:04:15  <chrisdickinson>(if that makes sense)
19:04:25  <mbalho>type system?
19:04:30  <mbalho>like vector prototypes?
19:04:32  <chrisdickinson>yeah
19:04:35  <mbalho>yea agreed
19:04:41  <mbalho>classic functional vs oo
19:05:02  <dominictarr>Raynos: npm search 2 (among other things) https://github.com/dominictarr/npmd
19:05:11  <chrisdickinson>i've leaned towards not pinning against a version of three / or only including it as a dev dep for modules that use three
19:05:23  <chrisdickinson>and then relying on duck typing
19:05:40  <chrisdickinson>but that's kind of scary from a "things could break depending on the top level version of three.js" perspective
19:05:47  <mbalho>yea
19:06:14  <chrisdickinson>i suppose on the other hand it is a strong incentive to split three into a billion smaller modules
19:06:28  <chrisdickinson>oo
19:06:30  <chrisdickinson>that's an idea
19:06:41  <mbalho>yea i bet if we kidnap mrdoob
19:06:51  <chrisdickinson>mbalho: what if browserify did a passthrough on files until it saw the literal text "require"
19:06:58  <chrisdickinson>which would trigger the parser?
19:07:10  <chrisdickinson>so big files that don't use require wouldn't trigger the parser
19:07:13  <mbalho>substack: what do you think of this proposal o/
19:07:18  <chrisdickinson>like browserify --lazy or something like that
19:07:25  <dominictarr>mbalho: chrisdickinson you should resolve the A.html A/index.html in the same way that node.js resolves foo.js or foo/index.js
19:07:36  <chrisdickinson>dominictarr: good point
19:08:05  <mbalho>the trick here is convincing substack to make browserify support huge js frameworks :D
19:08:14  <dominictarr>I think it will probably be foo.js
19:08:43  <chrisdickinson>dominictarr: might greatly depend on whether or not the pathname is suffixed with "/"
19:08:56  <dominictarr>i'm gonna try and see
19:09:01  <chrisdickinson>i.e., no "/", foo.js wins, with "/" foo/index.js wins
19:09:24  <mbalho>this should be a module
19:10:44  <dominictarr>yes
19:10:57  <chrisdickinson>oo, "pathos" is open as a name
19:11:09  <dominictarr>require('./silly/') gives you './silly/index.js')
19:11:31  <dominictarr>but ./silly gives you ./silly
19:11:39  <chrisdickinson>cool, that makes sense
19:12:41  * dominictarrquit (Quit: dominictarr)
19:15:07  * chrisdickinsonwrites pathos
19:17:25  * keslaquit (Quit: Computer has gone to sleep.)
19:20:15  * keslajoined
19:26:01  <Raynos>dominictarr: was there a web gui for it?
19:33:48  * jcrugzzquit (Ping timeout: 260 seconds)
19:43:57  * ITprojoined
19:44:06  * ITproquit (Read error: Connection reset by peer)
19:51:39  * ITprojoined
19:56:34  * jcrugzzjoined
20:00:52  <chrisdickinson>thl0: are you seeing errors here? https://github.com/chrisdickinson/w3c-blob
20:00:55  <chrisdickinson>eep
20:00:56  <chrisdickinson>not there
20:01:00  <chrisdickinson>https://github.com/thlorenz/brace/blob/master/build/worker-blob.js#L14
20:01:01  <chrisdickinson>there ^^
20:03:07  <thl0>not sure, safari just encounters an error, but it disappears from the console so quickly that I'm not sure what is happening
20:03:23  <thl0>chrisdickinson: however when debugging I get past that line without error
20:03:32  <chrisdickinson>weird
20:03:39  <thl0>seems to me like the worker is actually throwing an error
20:03:39  <chrisdickinson>that was my only guess
20:03:45  <thl0>thanks though
20:04:21  <thl0>it was even worse when I reassigned blobuilder on window, i.e. instead of var BlobBuilder = ... I had window.BlobBuilder = ...
20:04:29  <thl0>in that case the entire editor became unusable
20:08:53  <thl0>chrisdickinson: cool module though, will use that instead of my custom code
20:09:02  <chrisdickinson>:D
20:09:11  <thl0>chrisdickinson: does it work in safari?
20:09:47  <chrisdickinson>lemme see
20:09:57  <thl0>and/or will you accept PR to be able to config type to be different from text/plain?
20:10:49  <thl0>chrisdickinson: in your readme it looks like I can pass it in, but don't see a param used in your code
20:11:15  <chrisdickinson>https://github.com/chrisdickinson/w3c-blob/blob/master/browser.js#L15-L27
20:11:40  <chrisdickinson>new require('w3c-blob')([parts], {type: 'text/javascript'})
20:11:48  <chrisdickinson>it's the "bag" thing
20:11:55  <chrisdickinson>named after the mdn docs
20:12:03  <chrisdickinson>well
20:12:13  <chrisdickinson>new (require('w3c-blob'))(… that other stuff …)
20:12:32  <chrisdickinson>seems to work on safari, not getting any errors
20:12:33  <thl0>doh, I kept looking at the top
20:12:57  <thl0>get_blob()
20:13:05  * dguttmanjoined
20:13:55  <thl0>chrisdickinson: funny, while I was writing all this fill code I was thinking - there should be a module for that
20:14:28  <thl0>I'll try that in my project, maybe that will fix everything :)
20:14:46  <Domenic_>effin bitcoin
20:14:54  <Domenic_>shoulda bought when it was at 60
20:18:07  * st_lukejoined
20:28:29  * keslaquit (Quit: Computer has gone to sleep.)
20:31:14  * jxson_joined
20:32:32  * keslajoined
20:34:24  * jxsonquit (Ping timeout: 264 seconds)
20:37:16  * keslaquit (Client Quit)
20:38:21  * keslajoined
20:39:11  * keslaquit (Remote host closed the connection)
20:39:43  * keslajoined
20:41:03  * jxson_changed nick to jxson
20:42:08  <st_luke>Domenic_: what time is that thing tonight?
20:44:59  <fotoverite>st_luke: I believe it's 7.
20:45:05  <fotoverite>Don't know if I can make it now. :(
20:45:20  <fotoverite>Which makes me really sad because that talk is going to be tight
20:47:00  <Domenic_>7pm
20:47:11  <Domenic_>and yeah i totally understand domains now
20:47:14  <Domenic_>there will be C++!!
20:48:10  <st_luke>Domenic_: did you use this as an excuse to become knowledgeable about domains :P
20:48:58  <Domenic_>maybe
20:56:13  * yorickquit (Remote host closed the connection)
21:04:12  * tilgovijoined
21:04:39  * ITproquit (Ping timeout: 276 seconds)
21:10:46  * nk109quit (Quit: Computer has gone to sleep.)
21:11:15  <st_luke>wow
21:11:37  <st_luke>people really hate reading documentation
21:11:50  <st_luke>"He takes time away from getting actual work done to lookup why his script won't run."
21:15:31  * keslaquit (Quit: Computer has gone to sleep.)
21:17:49  * dominictarrjoined
21:18:00  <Raynos>mikeal: Have you seen https://github.com/Raynos/assert-tap ? Not sure how to get rid of assert.end
21:19:22  <mikeal>nice
21:19:31  <mikeal>does it still throw?
21:20:09  <Domenic_>Is there a way to get a stream to error besides emit('error')? E.g. write too much or something? I'm trying to come up with a plausible example of an event emitter emitting 'error' for my domains talk.
21:21:39  <Domenic_>looks like http.get('somewhere.bad') will work
21:22:00  * ITprojoined
21:24:42  * cianomaidinjoined
21:25:38  * keslajoined
21:26:41  <st_luke>that's a good one
21:26:51  * keslaquit (Client Quit)
21:27:04  <defunctzombie>Domenic_: when is your talk?
21:27:24  * ITproquit (Ping timeout: 276 seconds)
21:27:59  <st_luke>yo dominictarr, you're getting a boat?
21:28:02  <st_luke>or already got one
21:28:26  <defunctzombie>juliangruber: what module am I used for browser-resolve?
21:28:45  <jesusabdullah>I like to pretend dominic has a yacht and a captain's hat
21:29:00  <defunctzombie>juliangruber: qs ?
21:29:11  <dominictarr>st_luke: oh I've had a number of boats in the past.
21:29:34  <jesusabdullah>also the boat has a javascript themed name
21:29:41  <st_luke>dominictarr: I'm super jealous, I've wanted to live on a boat for a long time
21:29:45  <dominictarr>http://www.flickr.com/photos/dominictarr/sets
21:29:57  <jesusabdullah>st_luke: is your avatar rick james?
21:30:19  <jesusabdullah>dominictarr: what do you name your boats?
21:30:22  * Guest68691joined
21:30:40  <dominictarr>it depends on the boat
21:30:57  <jesusabdullah>past names?
21:31:05  <dominictarr>I wait until I find something that feels right.
21:31:16  <jesusabdullah>CAPTAIN TARR INVITES YOU ALL ABOARD THE USS STREAMING INTERFACE
21:31:16  <LOUDBOT>FUCK GIN AND SHOVE THE TONIC WATER UP YOUR PEE HOLE
21:31:20  <dominictarr>okay, boats I have named.
21:31:26  * Guest68691quit (Client Quit)
21:31:28  <dominictarr>:
21:31:55  <jesusabdullah>that's a pretty crazy boat name
21:32:11  * Guest68691joined
21:32:13  <dominictarr>Appetite for Destruction, Not Even Ow!, Tui, Sushi, By The Sun
21:32:16  <dominictarr>Makerspace
21:32:17  <st_luke>my family had a small boat when I was a kid
21:32:22  <jesusabdullah>hahaha, nice dominictarr
21:32:30  <st_luke>they let me drive it and I crashed it
21:32:31  * Guest68691quit (Client Quit)
21:32:33  <st_luke>accidentally
21:32:36  <st_luke>so they got rid of the boat
21:32:37  <jesusabdullah>All aboard the Streaming Interface XD
21:32:53  * Guest68691joined
21:32:54  <jesusabdullah>*I* think I'm hilarious
21:33:07  <defunctzombie>substack: https://github.com/substack/node-browserify/commit/0cb75b66113aec07608df689d9a066bbab0dacb2
21:33:08  <defunctzombie>substack: ?
21:33:10  <dominictarr>jesusabdullah: that should be a little tug boat thing that we can travel up the congo.
21:33:28  <jesusabdullah>please tell me this adventure ends like a Clive Cussler novel
21:33:34  * Guest68691quit (Client Quit)
21:33:36  <jesusabdullah>trying to decide if https://www.youtube.com/watch?v=XyY7Yvx2PYA is any good
21:33:56  * Guest68691joined
21:34:00  * Guest68691quit (Remote host closed the connection)
21:34:31  <jesusabdullah>dominictarr: except instead of fighting off the congolese guerilla gorilla army with scrap metal, we fight them with JAVASCRIPT
21:34:38  * AvianFlujoined
21:34:52  <dominictarr>absolutely
21:35:54  * cianomaidinquit (Quit: cianomaidin)
21:36:32  <jesusabdullah>something about hacking into the satellite network and sending null bits to cause satellites to crash in the middle of the guerilla gorilla army base or something like that, you know, all Steven Segall n' shit
21:37:38  <jesusabdullah>oh yeah, for some reason the congolese rebel rebel army has uplifted gorillas fighting for them, idk dude it's just how this shit goes
21:38:12  <jesusabdullah>also bokononism
21:39:09  * jxsonquit (Remote host closed the connection)
21:39:38  * jxsonjoined
21:39:50  * mikolalysenkojoined
21:42:13  * no9quit (Quit: Leaving)
21:42:43  * no9joined
21:47:36  * sdsdjoined
21:47:46  * keslajoined
21:50:21  <st_luke>jesusabdullah: rick james is cool
21:50:44  <jesusabdullah>oh okay
21:50:56  <CoverSlide>cocaine is a hell of a drug
21:51:10  <jesusabdullah>I bet
21:51:52  <st_luke>everyone has had their cocaine stage. even when it ends well it doesn't end well.
21:52:05  <jesusabdullah>except me
21:52:07  <jesusabdullah>no cocaine 4 me
21:53:13  <jesusabdullah>I wonder if I'll ever have a good time on tussin again, I think I have to be in the right mood for that to be fun
21:54:42  * mikolalysenkoquit (Ping timeout: 276 seconds)
21:54:56  <st_luke>jesusabdullah: are you referring to dextromethorphan?
21:57:47  <CoverSlide>http://www.youtube.com/watch?v=n0Go6Vw3o04&t=18s
21:58:55  <Domenic_>defunctzombie: 7pm
21:59:01  * no9quit (Quit: Leaving)
22:03:23  * fallsemoquit (Quit: Leaving.)
22:03:29  <CoverSlide>mo' tussin!
22:03:40  <jesusabdullah>yes st_luke
22:04:08  <juliangruber>defunctzombie: yes, qs 0.6.0
22:07:53  * jxson_joined
22:08:17  * Benviequit (Ping timeout: 252 seconds)
22:10:59  * jxsonquit (Ping timeout: 255 seconds)
22:13:50  <st_luke>going to head to lab49
22:13:55  <Domenic_>w00t w00t
22:14:15  <st_luke>this is the first meetup in like a year I'm going to early/on time
22:14:20  <st_luke>well I say that now
22:14:31  * st_lukequit (Remote host closed the connection)
22:16:53  <defunctzombie>Domenic_: 1345 Sixth Avenue ?
22:18:05  <Domenic_>defunctzombie: yeah. 50th floor (take elevator to 49th, then to 50th)
22:18:15  * keslaquit (Quit: Computer has gone to sleep.)
22:18:15  <defunctzombie>50th floor
22:18:16  <defunctzombie>wow
22:18:24  * tmcwquit (Remote host closed the connection)
22:18:57  * keslajoined
22:19:02  <thl0>defunctzombie: 1345 6th Avenue, New York, NY
22:19:33  <thl0>defunctzombie: instructions: Please check in at security desk with ID. Take elevator to 49th Floor, take second elevator to 50th Floor. Out of elevator, turn right, walk to end of hallway, look for the entrance to Lab49.
22:19:41  <defunctzombie>thl0: city and state is important
22:19:52  <defunctzombie>thl0: ID, did we have to be on list?
22:19:56  <Domenic_>thl0: you should put up signs in the hallway
22:19:57  <defunctzombie>or can I just show up
22:19:57  <thl0>defunctzombie: or just faster to copy paste
22:20:14  <thl0>no you had to be RSVPd
22:20:15  <dominictarr>wow, CHECK THIS OUT http://www.trace.gl/
22:20:21  <defunctzombie>thl0: damn
22:20:34  <thl0>let me see if I can add you - hold on
22:20:44  <defunctzombie>thl0: kk
22:21:03  <defunctzombie>thl0: it would be me and a +1 if possible :)
22:21:12  <defunctzombie>thl0: if not, no worries
22:22:55  * sdsdquit (Read error: Connection reset by peer)
22:23:02  <thl0>defunctzombie: we can get you in
22:23:25  <defunctzombie>thl0: ooooo
22:23:30  <defunctzombie>thl0: excellent
22:23:33  <defunctzombie>thl0: do you need names?
22:24:08  * wolfeidauquit (Remote host closed the connection)
22:31:06  * no9joined
22:39:39  * mikealquit (Quit: Leaving.)
22:41:19  * wolfeidaujoined
22:42:30  * jcrugzzquit (Ping timeout: 268 seconds)
22:48:19  <Raynos>isaacs: why is allowing `npm run build` a mistake?
22:48:55  <dominictarr>… but not npm test?
22:49:52  * thl0quit (Remote host closed the connection)
22:50:05  * tilgoviquit (Ping timeout: 252 seconds)
22:50:30  * AvianFluquit (Remote host closed the connection)
22:51:08  * AvianFlujoined
22:55:19  * keslaquit (Ping timeout: 256 seconds)
22:55:50  * AvianFlu_joined
22:55:51  * AvianFluquit (Ping timeout: 256 seconds)
22:56:01  * AvianFlu_changed nick to AvianFlu
22:56:58  * tilgovijoined
22:57:20  <substack>updated https://github.com/substack/testling
22:57:29  <substack>soon: remote tests like the old version
23:05:17  * CoverSlidequit (Read error: Operation timed out)
23:08:58  <Raynos>substack: maybe print which headless browser, browser-launcher picked to run the test in
23:09:52  * CoverSlidejoined
23:10:45  <substack>good idea
23:20:28  <dominictarr>Raynos: yo
23:20:50  <Raynos>hi
23:21:44  <dominictarr>so, have been hacking on distributed npm
23:21:59  <dominictarr>https://github.com/dominictarr/npmd
23:22:25  <dominictarr>have an idea for npm install that is deduped by default.
23:22:53  * keslajoined
23:28:43  * tmcwjoined
23:29:52  * keslaquit (Ping timeout: 256 seconds)
23:30:47  <Raynos>I see
23:30:54  <Raynos>stuff like that sounds hard
23:31:04  <Raynos>mainly because i dont understand the edgecases npm needs to support
23:31:21  <rvagg>npm is a bundle of edge-cases
23:31:33  <Raynos>so is node :D
23:31:46  <rvagg>nothing like npm
23:31:58  <rvagg>npm is node's edge-case of edge-cases
23:33:17  * tmcwquit (Ping timeout: 256 seconds)
23:40:26  <dominictarr>Raynos: that is okay, because npm already exists.
23:40:50  <dominictarr>if the new thing doesn't work… just go back to npm. no need to scream at any one.
23:41:48  <Raynos>Oh I see
23:42:11  <Raynos>i wouldnt have any confidence in doing these things
23:42:16  <Raynos>but it would be interesting to try :P
23:42:26  <Raynos>i would start reading various git issue threads by isaacs about how to do this
23:46:58  * ins0mniajoined
23:47:10  <no9>mbalho was somebody saying t.isa() is broken?
23:47:14  <mbalho>Raynos: do you have a thing that provides a stream over a webrtc datachannel?
23:48:22  <mbalho>no9: hmm i dont know much about tape... it is jus tbrowserified tape
23:49:03  <no9>mblaho kthx
23:49:23  * ins0mniaquit (Remote host closed the connection)
23:49:35  <mbalho>no9: if tape is supposed to have it and it isnt in there then i can try to figure out if something in the test suite is breaking things
23:49:37  * mikolalysenkojoined
23:50:18  <no9>mblaho let me snoop a little more before we dive into that one
23:51:02  <dominictarr>substack: I want to make a bundle that has custom core lib replacements
23:51:18  <dominictarr>looking at the browserify modules now
23:52:13  <jesusabdullah>isaacs: dominictarr: https://gist.github.com/jesusabdullah/5448452 this breaks, unsure if read or duplexer or through's fault
23:52:16  <dominictarr>but i remember you mentioning something about using multiple bundles
23:52:56  <dominictarr>jesusabdullah: what is read
23:53:04  <dominictarr>and what does the error look like
23:53:06  <jesusabdullah>dominictarr: isaac's module
23:53:16  <jesusabdullah>dominictarr: and no error technically, look at the log.log
23:53:25  <jesusabdullah>dominictarr: it should prompt for password next, never does
23:53:39  <dominictarr>right
23:54:17  <dominictarr>okay, if you are pretending that through is a stdio
23:54:26  <dominictarr>something weird could happen
23:54:28  <dominictarr>TTY
23:54:40  <dominictarr>has stuff strapped on to it
23:54:53  <dominictarr>read probably checks if the input is a tty
23:54:58  <dominictarr>that is my first guess.
23:56:18  <dominictarr>what happens if you don't use duplex?
23:56:25  <dominictarr>try changing https://gist.github.com/jesusabdullah/5448452#file-this-breaks-js-L10
23:56:47  <jesusabdullah>okay one sec
23:56:50  <dominictarr>so that it's just proc.stdio.pipe(stdio); etc
23:57:23  <dominictarr>oh! I know.
23:57:44  <dominictarr>you need to do setRaw(true) (or whatever it is, on process.stdin
23:58:37  * mikealjoined
23:58:42  <jesusabdullah>hmmm
23:58:57  <jesusabdullah>ditching the duplex makes it properly listen to "stdin" but not properly print to "stdout"
23:59:17  <jesusabdullah>[email protected]:~/dev/dc-tycoon$ node this-breaks.js
23:59:17  <jesusabdullah>username: uname
23:59:17  <jesusabdullah>bro
23:59:17  <jesusabdullah>un: uname
23:59:17  <jesusabdullah>pw: bro
23:59:19  <jesusabdullah>like that