00:00:00
| * ircretary | quit (Remote host closed the connection) |
00:00:07
| * ircretary | joined |
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
| * tmcw | joined |
00:12:58
| * jibay | quit (Quit: Leaving) |
00:17:57
| * st_luke | quit (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
| * thl0 | quit (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
| * tmcw | quit (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
| * pikpik | quit (*.net *.split) |
00:25:09
| * Domenic_ | quit (*.net *.split) |
00:25:09
| * rook2pawn | quit (*.net *.split) |
00:25:09
| * py1hon | quit (*.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
| * mikolalysenko | quit (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
| * pikpik | joined |
00:30:07
| * Domenic_ | joined |
00:30:07
| * rook2pawn | joined |
00:30:07
| * py1hon | joined |
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_luke | joined |
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
| * tmcw | joined |
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
| * mikolalysenko | joined |
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
| * mikeal | quit (Quit: Leaving.) |
00:53:48
| * thl0 | joined |
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
| * dguttman | quit (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
| * fallsemo | joined |
01:19:18
| <Raynos> | request is the reason all my (err, value) modules break :( |
01:19:42
| * shuaib | quit (Ping timeout: 276 seconds) |
01:22:22
| * jxson | joined |
01:22:51
| <Raynos> | Oh wait |
01:22:53
| <Raynos> | res.body >_> |
01:22:54
| <Raynos> | ok. |
01:23:01
| * jxson | quit (Read error: Connection reset by peer) |
01:25:50
| * mikolalysenko | quit (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
| * blobaum | joined |
01:52:21
| * cianomaidin | joined |
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
| * mikeal | joined |
01:58:08
| * blobaum | quit (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
| * fallsemo | quit (Quit: Leaving.) |
02:05:40
| * shuaib | joined |
02:06:49
| <jesusabdullah> | frick fixing duplex didn't make it magically work |
02:06:51
| * dominictarr | quit (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
| * defunctzombie | changed 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_luke | quit (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
| * cianomaidin | part |
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
| * shuaib | quit (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
| * thl0 | quit (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
| * fallsemo | joined |
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
| * fallsemo | quit (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
| * fallsemo | joined |
03:05:21
| * tilgovi | quit (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
| * shama | quit (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
| * fallsemo | quit (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
| * tmcw | quit (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 abstract-leveldown@0.1.0 |
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
| * AvianFlu | quit (Remote host closed the connection) |
04:44:42
| * nk109 | joined |
04:49:41
| * shama | joined |
04:56:38
| * mikolalysenko | joined |
04:57:26
| * mikeal | quit (Quit: Leaving.) |
05:11:36
| * mikeal | joined |
05:14:03
| * tmcw | joined |
05:18:46
| * tmcw | quit (Ping timeout: 256 seconds) |
05:19:24
| * jcrugzz | quit (Ping timeout: 264 seconds) |
05:39:48
| * mikolalysenko | quit (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
| * shama | quit (Remote host closed the connection) |
06:57:49
| * wolfeidau | quit (Remote host closed the connection) |
06:58:16
| * wolfeidau | joined |
07:01:13
| * jcrugzz | joined |
07:03:31
| * wolfeidau | quit (Ping timeout: 264 seconds) |
07:20:58
| * wolfeidau | joined |
07:45:42
| * jcrugzz | quit (Ping timeout: 264 seconds) |
07:48:21
| * owen1 | quit (Ping timeout: 245 seconds) |
07:49:06
| * owen1 | joined |
08:35:26
| * mirkok | quit (Ping timeout: 245 seconds) |
08:37:30
| * mirkok | joined |
08:48:28
| * jibay | joined |
08:54:07
| * spion | joined |
08:54:49
| * stagas | joined |
09:13:55
| <juliangruber> | I just ordered a firefox os phone from geeksphone |
09:14:25
| <juliangruber> | exciting times |
09:21:02
| * wolfeidau | quit (Read error: Connection reset by peer) |
09:21:15
| * wolfeidau | joined |
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
| * yorick | joined |
10:38:57
| * thl0 | joined |
10:52:51
| * dominictarr | joined |
10:54:41
| * kesla | joined |
10:57:25
| * kesla | quit (Client Quit) |
11:08:33
| * nicholasf | quit (Read error: Connection reset by peer) |
11:09:06
| * nicholasf | joined |
11:15:02
| * kesla | joined |
11:58:57
| * defunctzombie_zz | changed nick to defunctzombie |
12:30:20
| * tmcw | joined |
12:36:12
| * fallsemo | joined |
12:41:58
| * dominictarr | quit (Remote host closed the connection) |
12:42:54
| * timoxley | joined |
12:50:03
| * tmcw | quit (Remote host closed the connection) |
13:11:32
| * tmcw | joined |
13:19:33
| * thl0 | quit (Remote host closed the connection) |
13:23:14
| * tmcw | quit (Remote host closed the connection) |
13:30:10
| * dominictarr | joined |
13:39:04
| * tmcw | joined |
13:42:50
| * thl0 | joined |
14:06:16
| * dominictarr | quit (Quit: dominictarr) |
14:32:29
| * defunctzombie | changed nick to defunctzombie_zz |
14:36:29
| * CoverSlide | quit (Ping timeout: 255 seconds) |
14:37:27
| * CoverSlide | joined |
14:47:35
| * mikeal | quit (Quit: Leaving.) |
15:16:22
| * dominictarr | joined |
15:16:24
| * CoverSlide | quit (Ping timeout: 264 seconds) |
15:21:41
| * mikeal | joined |
15:32:58
| * CoverSlide | joined |
15:33:18
| * dguttman | joined |
15:33:40
| * kesla | quit (Ping timeout: 246 seconds) |
15:41:59
| * mikeal | quit (Quit: Leaving.) |
15:49:46
| * fotoverite | quit (Ping timeout: 246 seconds) |
15:56:37
| <rowbit> | /!\ ATTENTION: (default-local) paid account successfully upgraded /!\ |
15:56:37
| <rowbit> | /!\ ATTENTION: (default-local) labutton@... successfully signed up for developer browserling plan ($20). Cash money! /!\ |
15:58:49
| * fotoverite | joined |
16:02:15
| * shama | joined |
16:15:48
| * jcrugzz | joined |
16:22:54
| * mikeal | joined |
16:23:24
| * AvianFlu | joined |
16:27:45
| * mikeal | quit (Ping timeout: 276 seconds) |
16:33:00
| * jcrugzz | quit (Remote host closed the connection) |
16:33:18
| * jcrugzz | joined |
16:43:01
| * AvianFlu | quit (Ping timeout: 256 seconds) |
16:43:23
| * jcrugzz | quit (Read error: Connection reset by peer) |
16:43:37
| * jcrugzz | joined |
16:44:58
| * jcrugzz | quit (Client Quit) |
17:04:05
| * kesla | joined |
17:09:05
| <chrisdickinson> | mbalho: working on addressing most of your issues in beefy |
17:09:05
| * jxson | joined |
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
| * tmcw | quit (Remote host closed the connection) |
17:18:35
| * mikeal | joined |
17:19:02
| * mikeal | quit (Read error: Connection reset by peer) |
17:19:15
| * mikeal | joined |
17:21:09
| * tmcw | joined |
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
| * kesla | quit (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
| * spion | quit (Ping timeout: 246 seconds) |
17:52:42
| * jcrugzz_ | joined |
17:55:37
| * kesla | joined |
17:57:39
| * jcrugzz_ | changed nick to jcrugzz |
18:06:39
| * spion | joined |
18:06:48
| * no9 | joined |
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_zz | changed nick to defunctzombie |
18:27:47
| * dguttman | quit (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
| * timoxley | quit (Quit: Computer has gone to sleep.) |
18:35:57
| <no9> | i.e. not working on 0.10 |
18:39:21
| * kesla | quit (Quit: Computer has gone to sleep.) |
18:43:14
| * kesla | joined |
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
| * spion | quit (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
| * dominictarr | quit (Quit: dominictarr) |
19:15:07
| * chrisdickinson | writes pathos |
19:17:25
| * kesla | quit (Quit: Computer has gone to sleep.) |
19:20:15
| * kesla | joined |
19:26:01
| <Raynos> | dominictarr: was there a web gui for it? |
19:33:48
| * jcrugzz | quit (Ping timeout: 260 seconds) |
19:43:57
| * ITpro | joined |
19:44:06
| * ITpro | quit (Read error: Connection reset by peer) |
19:51:39
| * ITpro | joined |
19:56:34
| * jcrugzz | joined |
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
| * dguttman | joined |
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_luke | joined |
20:28:29
| * kesla | quit (Quit: Computer has gone to sleep.) |
20:31:14
| * jxson_ | joined |
20:32:32
| * kesla | joined |
20:34:24
| * jxson | quit (Ping timeout: 264 seconds) |
20:37:16
| * kesla | quit (Client Quit) |
20:38:21
| * kesla | joined |
20:39:11
| * kesla | quit (Remote host closed the connection) |
20:39:43
| * kesla | joined |
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
| * yorick | quit (Remote host closed the connection) |
21:04:12
| * tilgovi | joined |
21:04:39
| * ITpro | quit (Ping timeout: 276 seconds) |
21:10:46
| * nk109 | quit (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
| * kesla | quit (Quit: Computer has gone to sleep.) |
21:17:49
| * dominictarr | joined |
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
| * ITpro | joined |
21:24:42
| * cianomaidin | joined |
21:25:38
| * kesla | joined |
21:26:41
| <st_luke> | that's a good one |
21:26:51
| * kesla | quit (Client Quit) |
21:27:04
| <defunctzombie> | Domenic_: when is your talk? |
21:27:24
| * ITpro | quit (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
| * Guest68691 | joined |
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
| * Guest68691 | quit (Client Quit) |
21:31:28
| <dominictarr> | : |
21:31:55
| <jesusabdullah> | that's a pretty crazy boat name |
21:32:11
| * Guest68691 | joined |
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
| * Guest68691 | quit (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
| * Guest68691 | joined |
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
| * Guest68691 | quit (Client Quit) |
21:33:36
| <jesusabdullah> | trying to decide if https://www.youtube.com/watch?v=XyY7Yvx2PYA is any good |
21:33:56
| * Guest68691 | joined |
21:34:00
| * Guest68691 | quit (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
| * AvianFlu | joined |
21:34:52
| <dominictarr> | absolutely |
21:35:54
| * cianomaidin | quit (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
| * jxson | quit (Remote host closed the connection) |
21:39:38
| * jxson | joined |
21:39:50
| * mikolalysenko | joined |
21:42:13
| * no9 | quit (Quit: Leaving) |
21:42:43
| * no9 | joined |
21:47:36
| * sdsd | joined |
21:47:46
| * kesla | joined |
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
| * mikolalysenko | quit (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
| * no9 | quit (Quit: Leaving) |
22:03:23
| * fallsemo | quit (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
| * Benvie | quit (Ping timeout: 252 seconds) |
22:10:59
| * jxson | quit (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_luke | quit (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
| * kesla | quit (Quit: Computer has gone to sleep.) |
22:18:15
| <defunctzombie> | 50th floor |
22:18:16
| <defunctzombie> | wow |
22:18:24
| * tmcw | quit (Remote host closed the connection) |
22:18:57
| * kesla | joined |
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
| * sdsd | quit (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
| * wolfeidau | quit (Remote host closed the connection) |
22:31:06
| * no9 | joined |
22:39:39
| * mikeal | quit (Quit: Leaving.) |
22:41:19
| * wolfeidau | joined |
22:42:30
| * jcrugzz | quit (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
| * thl0 | quit (Remote host closed the connection) |
22:50:05
| * tilgovi | quit (Ping timeout: 252 seconds) |
22:50:30
| * AvianFlu | quit (Remote host closed the connection) |
22:51:08
| * AvianFlu | joined |
22:55:19
| * kesla | quit (Ping timeout: 256 seconds) |
22:55:50
| * AvianFlu_ | joined |
22:55:51
| * AvianFlu | quit (Ping timeout: 256 seconds) |
22:56:01
| * AvianFlu_ | changed nick to AvianFlu |
22:56:58
| * tilgovi | joined |
22:57:20
| <substack> | updated https://github.com/substack/testling |
22:57:29
| <substack> | soon: remote tests like the old version |
23:05:17
| * CoverSlide | quit (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
| * CoverSlide | joined |
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
| * kesla | joined |
23:28:43
| * tmcw | joined |
23:29:52
| * kesla | quit (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
| * tmcw | quit (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
| * ins0mnia | joined |
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
| * ins0mnia | quit (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
| * mikolalysenko | joined |
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
| * mikeal | joined |
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> | josh@onix:~/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 |