--- Log opened Fri Jan 18 00:00:42 2013 00:03 < jjjjohnnny> is there a repo of browserifiable front end modules yet? 00:03 < mbalho> that would be a big repo 00:04 < mbalho> raynos has a gist or something 00:10 < substack> yay signups 00:10 < mbalho> mikolalysenko: there were people working on node kalman filters at a drone meetup i went to recently, not sure if they ever published it though 00:11 < mbalho> guybrush_: i dont do prediction yet, gonna hack on that soon 00:11 < mbalho> guybrush_: i just lerp server updates 00:11 < substack> jjjjohnnny: all these repos have testling tests which is a really good indicator that they work with browserify http://ci.testling.com/commits.json 00:12 < substack> the commits.json data is fed into this: http://browserify.org/search 00:12 < substack> the best way to solve this problem is to prove that modules work in browsers by writing tests demonstrating as much! 00:13 < guybrush_> mbalho: gotcha 00:14 < mbalho> substack: heres an interesting writeup, check out the 1.2.3.4 https://sites.google.com/site/letsmakeavoxelengine/home/collision-detection 00:16 < substack> mbalho: oh sweet 00:17 < substack> need a reusable module for this stuff 00:17 < substack> with independent tests 00:17 < mbalho> yea 00:18 < mbalho> substack: also http://stackoverflow.com/questions/4694759/collision-detection-by-sliding-against-a-plane-in-xna 00:21 < chrisdickinson> i think the tile based thing i'm working on might prove useful 00:22 < chrisdickinson> (basically, walk each axis separately in the direction of movement, walking the other two axises in a predetermined fashion) 00:22 < chrisdickinson> then if there's a collision on an axis, modify the vector on that axis 00:22 < chrisdickinson> then walk the other axises 00:23 < chrisdickinson> the biggest part is walking the other two access in a reliably "clockwise" fashion 00:23 < mbalho> i just want collisions to be solved 00:23 < mbalho> :D 00:24 < chrisdickinson> for real 00:24 < chrisdickinson> bonus points, if this collide-3d module works it'd be really easy to plop it into any number of other minecraft-ish simulations 00:24 < mbalho> yea 00:34 < substack> plop 00:35 < jjjjohnnny> neat 00:41 < chrisdickinson> oooh 00:42 < chrisdickinson> game.controls.velocity isn't in world space yet 00:42 < chrisdickinson> mbalho: is there a worldspace version of the velocity vector? 00:43 < chrisdickinson> or is there a way to get that vector? 00:44 < mbalho> chrisdickinson: hmm i dunno 00:44 < mbalho> chrisdickinson: you could pass it through Chunker.prototype.voxelVector maybe 00:45 < jez0990_> Hey folks. Where's a good place I can discuss philosophy with other programming geeks like us? 00:46 < mbalho> your local hackerspace 00:46 < jez0990_> you mean I have to leave my house?? :( 00:57 < chrisdickinson> wooo it works but really slows down 00:58 < mbalho> lol 00:59 < chrisdickinson> like it slides around boxes and everything 00:59 < chrisdickinson> but the timestep is wrong, somehow 00:59 < chrisdickinson> mbalho: i'll be online later and put up a demo 01:00 < mbalho> chrisdickinson: cool!! 01:02 < chrisdickinson> it's kind of ugly since i need to get a world vec then reapply it to the player 01:03 < ryanseddon> can anyone help me, have I done anything wrong to get testling-ci working https://github.com/ryanseddon/H5F/commit/975e8fbfe524e88160c53f2c912acc92b5adae0f 01:05 < substack> ryanseddon: we were getting a bug pushing your repo with github-push-receive :/ 01:06 < ryanseddon> oh so i didn't do anything wrong or something i did made it fail? 01:07 < substack> it's a bug on our end we haven't figured out yet 01:07 < ryanseddon> substack: ok cool so everything in my commit looks good to you otherwise? 01:07 < substack> well not sure yet because of the bug 01:08 < ryanseddon> right, well i' 01:08 < ryanseddon> right, well i'll be lurking so let me know if I need to change anything 01:15 < jez0990_> mbalho: here's an idea for voxel.js - mmo (or p2p mmo) works by clients (or web-rtc'd peers) connecting their meta-voxel worlds through adjacency in two dimensions 01:15 < jez0990_> how much would you say is left to build before that is feasible? 01:21 < Raynos> mbalhbo: ? 01:22 < Raynos> jjjjohnny: https://gist.github.com/4350728 01:24 < Raynos> please mention any extra modules to be added in a comment 01:26 < jez0990_> Raynos: these lists are awesome by the way, not enough people publish them - thanks! 01:45 < jez0990_> chrisdickinson: how did the dates on your neversaw.us blog manage to get two years out of sync?! 02:00 < substack> Raynos: do you have a module for taking a readable/writable stream and only making it writable? 02:38 < Raynos> substack: no 02:38 < Raynos> substack: but (stream.read = null && stream.pipe = null) should work 02:38 < Raynos> substack, mbalho: whats this event tongiht at 8pm? 02:39 < substack> Raynos: http://www.5mof.net/ 02:39 < Raynos> substack: actually `return WriteStream(stream.write, stream.end)` might work 02:41 < Raynos> substack `npm docs write-stream` 02:41 < mbalho> jez0990_: i dont know enough about webrtc to make it happen but i am using scuttlebutt for world data sync in the voxel-server demo 02:41 < mbalho> jez0990_: so if you can get scuttlebutt to work over webrtc it can happen 02:41 < Raynos> mbalho, jez0990_: https://github.com/Raynos/painter/blob/master/examples/paint/index.js#L47 02:42 < Raynos> that's not real webrtc though. That's emulated webrtc 02:42 < mbalho> yea i want real webrtc 02:45 < Raynos> mbalho: real webrtc is nightly builds of firefox / chrome and it's UDP and there's no firefox - chrome interop 02:45 < Raynos> The nice thing about the emulate webrtc is that it has the same API 02:45 < Raynos> once chrome beta channel has data channels ill make it work 02:46 < mbalho> ah 02:47 < Raynos> https://github.com/Raynos/peer-connection-shim <- that's a RTCPeerConnection object which uses relays 02:54 < guybrush_> substack, is glog broken currently? i get an error when i push on glog/index.js:53 TypeError: Object blog.git has no method 'once' 02:54 < guybrush_> though didnt read any code yet or looked deeper 02:54 < substack> it's running browserify.org 03:08 < substack> guybrush_: maybe the pushover version is out of sync? 03:08 < guybrush_> 0.1.6 03:10 < guybrush_> oh i think npm i pushover@latest fixed it 03:13 < chrisdickinson> jez0990_: it's statically generated, and i haven't paid any attention to it :) 03:17 < substack> jjjjohnnny: rec -t s16 - 03:19 < guybrush_> ah sweeeet yes glog is cool 03:19 < guybrush_> pretty much best blogging-thing ever 03:20 < guybrush_> though i think this has to be upgraded https://github.com/substack/glog/blob/master/package.json#L10 03:22 < substack> it should install the latest pushover on a fresh install 03:26 < chrisdickinson> mbalho: you around? 03:31 < chrisdickinson> mbalho: http://neversaw.us/voxel/ so, be careful around seams (wherever voxel chunks are joined), they're still wonky 03:31 < chrisdickinson> jump physics are a bit jerky 03:31 < chrisdickinson> but the voxel collisions seem pretty solid otherwise 03:32 < chrisdickinson> welp maybe not lol. 03:32 < chrisdickinson> still a few bugs :D 03:38 < substack> chrisdickinson: a bit fast 03:39 < chrisdickinson> yeah 03:39 < substack> chrisdickinson: whoa is that your collision detection? 03:39 * chrisdickinson nods 03:39 < chrisdickinson> it's definitely buggy 03:39 < substack> that is so good 03:39 < substack> soooo much better than my crappy thing 03:40 < chrisdickinson> it's basically https://github.com/chrisdickinson/collide-2d-tilemap in 3d 03:40 < substack> sweet 03:40 < chrisdickinson> also thanks! 03:40 < chrisdickinson> there are definitely some cases that are… very very broken 03:40 < chrisdickinson> seams, and some weirdness with being in tight spaces 03:40 < substack> feels like the field of view is too narrow 03:41 < substack> oh and the camera is on the floor 03:41 < substack> not at eye-level 03:41 < substack> the position should be up at 1.5 block units or so 03:41 < substack> for the player camera I mean 03:41 < substack> that's the biggest reason why it feels weird I think 03:41 < chrisdickinson> ah 03:42 < chrisdickinson> lemme check in firefox really quick 03:43 < substack> I'm getting teleported a strange distance away when I fall in a hole 03:43 < chrisdickinson> yeah 03:43 < chrisdickinson> that's the biggest issue 03:43 < chrisdickinson> well, aside from seams 03:43 < defunctzombie> substack: your resolve module, the basedir that I give it, what is that meant to be? do I need to have node_modules folder at that location? 03:43 < defunctzombie> or up from that location? 03:43 < chrisdickinson> i'll push up the changes to a fork and publish the modules 03:44 < chrisdickinson> (collide-3d-tilemap and aabb-3d) 03:44 < substack> defunctzombie: the basedir is just the directory from which you want the path resolution algorithm to start 03:44 < substack> because require.resolve() is always in the __dirname 03:44 < defunctzombie> gotcha, and it will go up from there right? 03:44 < substack> so you can't pass a dirname as an argument 03:44 < substack> defunctzombie: exactly 03:44 < defunctzombie> k, thx 03:45 < defunctzombie> cause I am trying to resolve something based on that notion 03:45 < defunctzombie> but it can't seem to find it 03:45 < defunctzombie> oh 03:45 < defunctzombie> fucking relative paths 03:51 < mbalho> im about to give a talk on voxeljs then ill look at collisions 03:52 < substack> mbalho: I started a portal gun repo and once I get this tap-parser thing working I'll hack on it a little more 03:55 < chrisdickinson> substack: how are you implementing physics on your end? 04:00 < defunctzombie> Raynos: https://github.com/shtylman/npm-css/blob/master/index.js 04:00 < defunctzombie> yes, I know I changed quite a bit of stuff, but I made tests actually start working :) 04:00 < substack> chrisdickinson: seeing if points along a rectangular prism are inside the geometry 04:00 < defunctzombie> and figured this could be some sort of starting point 04:00 * chrisdickinson nods 04:01 < substack> chrisdickinson: you should be able to just pos.y -= self.cubeSize * 1.5 to boost the player height up enough 04:01 < defunctzombie> Raynos: it is all sync currently (too many parts of this are sync right now to be async efficiently) 04:03 < Raynos> :p 04:03 < Raynos> you changed the code 04:03 < Raynos> from a complex chain 04:03 < Raynos> to a single function 04:03 < mbalho> substack: hellllll yeaaaaa portals!! 04:04 < fotoverite> awesome dominictarr 04:07 < chrisdickinson> https://github.com/chrisdickinson/aabb-3d 04:10 < defunctzombie> Raynos: yes 04:11 < defunctzombie> you are correct in that I made the code simpler :p 04:11 < chrisdickinson> substack: http://npm.im/aabb-3d and https://npmjs.org/package/collide-3d-tilemap 04:11 < defunctzombie> and actually work 04:11 < defunctzombie> :D 04:11 < substack> hooray! 04:12 < substack> chrisdickinson: planning on ripping out the collision detection in voxel-engine? 04:12 < chrisdickinson> ideally 04:13 < chrisdickinson> at least for colliding with the voxel map itself! 04:14 < chrisdickinson> object-object collisions could be handled by more traditional aabb-aabb collisions 04:21 < defunctzombie> Raynos: let me know what you think of the changes and such, ideally I am good with that package name and like the approach 05:22 < substack> Raynos, defunctzombie: tape@0.2.0 now has an `at` field https://gist.github.com/4562523#file-gistfile1-txt-L15 05:23 < defunctzombie> substack: is that where the assert was called from that failed? 05:23 < substack> yes 05:24 < defunctzombie> substack: does it also capture in the browser? or is this node side? 05:25 < substack> it should work in chrome and maybe ff 05:25 < substack> it just parses the err.stack from a new Error 05:25 < defunctzombie> ah 05:25 < substack> for the first file not in __dirname 05:25 < substack> it'll just skip setting this in browsers that don't have err.stack 05:26 < guybrush_> substack: so with glog every article is a tag with 1 file? or can i push multiple files and `glog publiish file` is just the entry-file? 05:26 < substack> guybrush_: glog publish just creates tags 05:26 < guybrush_> im pretty sleepy and lazy so i just ask instead of reading the code :P 05:26 < substack> it doesn't push 05:27 < guybrush_> ahhh i see 05:27 < guybrush_> so i just push everything, like folders pictures and stuff 05:27 < guybrush_> and than i glog publish which creates tags 05:28 < substack> sure 05:28 < guybrush_> niiice 05:28 < defunctzombie> substack: still not sure I buy into the whole always output tap stuff :/ kinda think the runner should just do whatever it wants and output tap if it wants 05:28 < defunctzombie> I thought about the notion of plan and such 05:28 < guybrush_> git-database for blogs is just awesome 05:28 < substack> guybrush_: I'm not sure if ecstatic serves the static content from the git repo yet though for pictures 05:28 < substack> you might need to hack that in and send me a pull request 05:28 < guybrush_> well i can hack arround that anyway 05:28 < defunctzombie> but not sure it is really that important :/ 05:28 < guybrush_> sure 05:29 < substack> defunctzombie: sure but then TAP gets neglected 05:29 < defunctzombie> you can just have any assertion whatever throw in a test (and since tests are run in series) you know waht test just failed 05:29 < substack> and then tooling because crappier 05:29 < substack> that's what happened in mocha 05:29 < substack> I would rather just have only TAP so it gets first-class treatment 05:29 < substack> s/because/becomes/ 05:30 < substack> defunctzombie: throwing is really bad for browser tests 05:30 < defunctzombie> is it? you can just do onerror right? 05:30 < substack> don't throw please 05:30 < substack> defunctzombie: that is pretty unreliable 05:30 < defunctzombie> ah, ok, fair enough. I was under the impression it was reliable 05:30 < substack> throwing too often breaks the transport layer to get the data out of browsers 05:31 < defunctzombie> transport layer? 05:31 < guybrush_> woah that sucks 05:31 < substack> so the browsers just go completely dark 05:31 < guybrush_> just shim assert right? 05:31 < substack> because throwing stops the javascript execution context 05:31 < defunctzombie> that is unfortunate indeed :( 05:31 < substack> you can do it in node because you get an exit code 05:31 < substack> but there is no such thing in browsers 05:31 < substack> just don't assert things and you'll be a lot better off 05:31 < defunctzombie> and no domains either to try and handle that issue :( 05:32 < substack> yes 05:32 < substack> another problem with not treating TAP as first-class is that your tests won't map to TAP output 1:1 05:33 < defunctzombie> so do some browsers just not continue script execution after anything throws? 05:33 < defunctzombie> that is ghetto, but understandable from their standpoint I guess 05:33 < defunctzombie> they just want to stop the script 05:33 < substack> so your tooling that consumes tap won't necessarily pick up on all the things that tap is designed to prevent 05:33 < substack> certain classes of false positives 05:33 < substack> defunctzombie: pretty much that's the case 05:33 < substack> it's really unpredictable what will happen 05:34 < substack> even if you have an onerror handler 05:34 < substack> it's really context-dependent on what the code exactly does 05:35 < defunctzombie> gotcha 05:35 < substack> cool, disabling css acceleration seems to have fixed some of my browsing woes ever since changing some chrome flags to get webgl working 05:42 < defunctzombie> substack: does tape do test timeouts or global var leak detection? 05:48 < substack> defunctzombie: no 05:49 < substack> out of scope I think 05:50 < defunctzombie> hard to say, I can see both sides of it 05:50 < defunctzombie> ideally static analysis can catch the common leaks 05:50 < defunctzombie> but that might not be true in some instances 05:51 < defunctzombie> timeouts I can also see both ways since the runner is in a good position to provide a nice interface for that 05:53 < defunctzombie> for me, testing is about ensuring my program is behaving properly 05:53 < substack> use a different tool for those 05:53 < defunctzombie> generally that means not leaky and runs within certain time constraints as side effects 05:53 < substack> a runner program like `tap` should care about timeouts 05:53 < substack> and another tool entirely should concern itself with detecting global leaks 05:54 < defunctzombie> tape does not act as a runner? just the harness? 05:54 < defunctzombie> it doesn't come with a tool for doing any sort of running? 05:54 < substack> tape only outputs TAP data to console.log() 05:54 < substack> that is its job 05:55 < substack> it does some rudimentary other kinds of things but I would like to limit the scope of those activities 05:56 < defunctzombie> how does that interface with tap then? 05:56 < defunctzombie> if tape is defining the test function 05:56 < defunctzombie> it is controlling how the test are run I presume 05:58 < substack> they interface via process.stdout 05:58 < substack> if you use `tap` to run your tests 05:59 < defunctzombie> so tap will just exit for long running tests and test timeout conditions (or a tool like tap) ? 06:00 < defunctzombie> if tape is doing the output, would I ever see test timings even 06:05 < substack> see test timings? 06:06 < substack> even if the runner did nothing you would see that your test suite hung at a certain point in its output 06:06 < substack> I would think that should be sufficient for most cases 06:13 < defunctzombie> yea, that is true, could still be nice to have test runtime info in tap output for tracking 06:14 < defunctzombie> some fancy places track runtime of tests 06:16 < defunctzombie> substack: any particular reason you don't provide the full stacktrace and just provide 'at' ? 06:22 < substack> the whole stack trace has test harness internals in it 06:57 < st_luke> testing leveldb with gigantic disjoint-sets to see how fast it is 09:01 < jesusabdullah> leveldb sounds fun 09:27 < mirkok> dominictarr: if you are interested in the results of my canonical JSON.stringify solutions 09:27 < mirkok> https://github.com/mirkok/canonical-json 09:27 < dominictarr> cool 09:29 < mirkok> oh and interestingly native JSON.stringify is only twice as fast as crockford's implementation in pure js 09:30 < mirkok> so V8 is really damn fast 12:23 < jesusabdullah> interesting for sure 12:39 < dominictarr> jesusabdullah: hey whats up? 12:39 < dominictarr> hows india? 12:54 < substack> powered through some testling-ci bugs, now time for voxel-engine fun 12:56 < substack> chrisdickinson: oh sweet, a testling-ci badge for aabb-3d! 12:59 < substack> dominictarr: plane tickets are all set! 12:59 < dominictarr> sweet! 12:59 < substack> looks like I need to buy some $20 e-visa thing though 12:59 < jesusabdullah> dominictarr: not bad! 13:00 < dominictarr> cool, tell marak I say hi 13:02 < dominictarr> jesusabdullah are you gonna merge this https://github.com/jesusabdullah/node-ecstatic/pull/58 13:03 < dominictarr> hij1nx: ping? 13:09 < jesusabdullah> dominictarr: uhh 13:09 < jesusabdullah> dominictarr: lemme take a look here 13:09 < jesusabdullah> dominictarr: I must've missed this with the crazy internet outages here 13:10 < dominictarr> just adds a command so you can start a static server without writing any code 13:10 < jesusabdullah> dominictarr: I approve of the concept, I was considering writing such a thing myself (probably copy-paste from nodejitsu's http server) 13:10 < dominictarr> and you can npm install -g 13:12 < dominictarr> oh fuck, have you guys seen the new mega upload? 13:12 < dominictarr> I've been hearing a bit about it, but I just discovered what it actually is... 13:12 < jesusabdullah> i have not 13:12 < dominictarr> ENCRYPTED FILE SHARING 13:12 < LOUDBOT> I'M SO ANGRY I OVERFLOWED MY HATE BITS AND I'M HAPPY AGAIN 13:13 < dominictarr> http://mega.co.nz/#/mega 13:13 < jesusabdullah> I'm checking out the ole' http-server to make sure there isn't any killer feature you forgot or something XD 13:13 < jesusabdullah> I approve of the relative simplicity of your PR dominic 13:13 < dominictarr> it encrypts it in the browser, and they never even know what you have uploaded 13:14 < dominictarr> jesusabdullah: thanks 13:15 < jesusabdullah> I didn't know ecstatic still supported the (dir, opts) api XD 13:15 < jesusabdullah> did I backwards compat that? I honestly don't remember 13:15 < jesusabdullah> oh hell yeah I did lol 13:15 < jesusabdullah> nice 13:16 < dominictarr> all the features and options fallthrough via optimist, the only thing I added was the convienience option for dir, as first arg, or current dir 13:18 < jesusabdullah> Yeah 13:18 < jesusabdullah> I'm hoping I chose sane defaults for ecstatic's options 13:18 < jesusabdullah> I'm sure I did ;) 13:18 < jesusabdullah> Am I the only one that promptly forgets his own api's? 13:19 < jesusabdullah> or hers 13:19 < jesusabdullah> I suppose 13:20 < dominictarr> who cares they are already documented 13:20 < dominictarr> jesusabdullah: I forget what features I've implemented all the time! 13:21 < jesusabdullah> that's half of why I document it tbh 13:21 < dominictarr> AGREE 13:22 < substack> I would have to be one of those savants to remember all my apis 13:22 < jesusabdullah> dominictarr: published 13:22 < substack> so many 13:22 < dominictarr> sweet! 13:22 < substack> dominictarr has nearly as many modules as I do so it's probably similar 13:22 < jesusabdullah> Yeah, if it's urgent you have to flag me down lol 13:22 < jesusabdullah> I guess ecstatic surprises me just because it's one of my more polished modules 13:23 < jesusabdullah> you'd think having spent that much time with it I'd remember a thing or two 13:23 < substack> jesusabdullah: I use ecstatic so much 13:23 < substack> pretty much all the time 13:23 < jesusabdullah> Hah! 13:23 < dominictarr> I want a fast way to npm depreciate all the modules I'm I know I'm never gonna use/touch again 13:23 < substack> I don't even know what the api is aside from ecstatic(dir) 13:23 < substack> since that's the only api endpoint I ever use 13:23 < jesusabdullah> It *is* like the only reasonably okay static middleware module that isn't bundled with a bunch of other stuff 13:24 < jesusabdullah> That's funny substack because I'm like 80% sure I "deprecated" that api, as in, it's undocumented 13:24 < dominictarr> jesusabdullah: does everyone ride motoscooters in goa? 13:24 < jesusabdullah> I was all like, "here I'll make it backwards compat because it's easy and it won't break everything" 13:24 < jesusabdullah> dominictarr: scooters, and lots of 150cc-250cc motorcycles 13:25 < jesusabdullah> "motorbikes" I guess 13:25 < dominictarr> cool 13:25 < jesusabdullah> Yeah 13:25 < jesusabdullah> I'm rollin' around on a 150cc hondog 13:25 < dominictarr> the step-though kind? 13:25 < jesusabdullah> a "hero honda" 13:25 < jesusabdullah> no, like a "real" motorcycle 13:25 < jesusabdullah> there are the step-throughs though, that's what I meant by "scooter" 13:25 < dominictarr> there is two levels 13:26 < dominictarr> there is like, scooter type, where you can touch your ankels 13:27 < dominictarr> then there is another type that doesn't go down all the way, but you can stiff step through 13:27 < dominictarr> with enough room for a bag of stuff, or a small child, etc to stand there 13:27 < dominictarr> this is the type that seems most popular here in veitnam 13:28 < dominictarr> but you have a regular "man style" motorbike? 13:28 < jesusabdullah> dominictarr: http://www.tuffcitypowersports.com/assets/uploads/images/scooters/Saga-Quest-Scooter-white.JPG like this but shittier 13:29 < jesusabdullah> and yeah it's a "regular man style motorbike" whatever that means XD 13:30 < dominictarr> right 13:30 < dominictarr> I mean petrol tank is between your thighs 13:32 < jesusabdullah> I think I might have put process.logging support in ecstatic?? 13:49 < jesusabdullah> oh good, that was a different project 13:50 < jesusabdullah> I've spent an obnoxious amount of time hooking into the request module's logging mechanism ;) 14:10 < dominictarr> http://dominictarr.github.com/r-edit/ 14:10 < pikpik> Goood moooooorning! 14:12 < dominictarr> cianomaidin_: http://dominictarr.github.com/r-edit/ 15:08 < dominictarr> todo: create a socket.io2stream module 15:09 < dominictarr> to present the socket.io api, with events and callback craph 15:09 < dominictarr> but streamable 15:09 < dominictarr> to make it easy to port socket.io apps to streams 15:23 < dominictarr> in particular, I want this for tty.js 15:35 < jesusabdullah> in a sense the opposite of your stream interface for socket.io 15:35 < jesusabdullah> or the counterpart 15:35 < jesusabdullah> yeah? 15:40 < pkrumins> yo 15:40 < dominictarr> so like you would go io.connect() 15:40 < dominictarr> and then sock.pipe(io.createStream()).pipe(sock) 15:41 < dominictarr> so it's socket.io without the socket.io 15:41 < dominictarr> so it works over any stream 15:41 < dominictarr> hmm, this is a great troll module, I think I'll do this tomorrow! 15:57 < jesusabdullah> a'ight I'm peacin' out for the night I think 15:57 < jesusabdullah> gnight erryone 15:57 < jesusabdullah> or good day as it may be 16:07 < defunctzombie> substack: with tap-parser are you capturing the test name information? 16:09 < substack> yes 16:18 < defunctzombie> substack: didn't see that in the sample js output in the readme, (thus I wondered) 16:18 < defunctzombie> also, damn you are up early 16:30 < defunctzombie> substack: seen this? https://github.com/eriwen/javascript-stacktrace 16:53 < defunctzombie> isaacs: found another issue with npm (me thinks) 16:53 < isaacs> defunctzombie: oh? 16:53 < defunctzombie> when using the shortform github style urls in dependencies, npm seems to check the registry and fails if it cannot find the module 16:54 < defunctzombie> and doesn't continue and try the install from github 16:54 < defunctzombie> if I use the longform url style it works no problem 16:54 < defunctzombie> this is a problem since my module doesn't exist in the registry yet but I still want to install from github (ideally with shortform url) 16:56 < isaacs> defunctzombie: seems ot work fine on 1.2.2 16:57 < isaacs> what version of npm are you using? 16:57 < defunctzombie> let me check 16:57 < defunctzombie> 1.1.70 16:57 < defunctzombie> with node 0.8.16 16:57 < defunctzombie> let me bump to node 0.8.17 and see if it still fails 16:58 < isaacs> defunctzombie: npm i -g npm 16:58 < defunctzombie> yea, but if it doesn't work with a shipped node version I am less inclined to use it :) 16:59 < defunctzombie> and will just use the longer form 17:07 < isaacs> defunctzombie: it'll work with 0.8.18 17:07 < defunctzombie> k 17:07 < isaacs> defunctzombie: npm updates are not quite 100% in sync with node updates. 17:07 < isaacs> they're a bit more frequent 17:07 < defunctzombie> yea, however most people will just use the bundled npm 17:07 < defunctzombie> unless they *must* have some feature 17:09 < tanepiper> ZOMG http://www.amazon.co.uk/Ready-Player-One-Ernest-Cline/dp/0099560437 17:09 < tanepiper> Like most of humanity, Wade Watts escapes this depressing reality by spending his waking hours jacked into the OASIS, a sprawling virtual utopia where you can be anything you want to be, where you can live and play and fall in love on any of ten thousand planets. And like most of humanity, Wade is obsessed by the ultimate lottery ticket that lies concealed within this alternate reality: OASIS founder *James Hallid 17:09 < tanepiper> ay*, who dies with no heir, has promised that control of the OASIS - and his massive fortune - will go to the person who can solve the riddles he has left scattered throughout his creation. 17:09 < tanepiper> AND SO IT WAS FORETOLD 17:09 < LOUDBOT> AT THE END OF IT ALL, YOU'RE STILL MY BEST FRIEND 17:14 < isaacs> tanepiper: substack WWOOOOAAWWWW 17:15 < tanepiper> isaacs: apparently another character in the book..... 17:15 < tanepiper> Ogden Morrow 17:15 < isaacs> nice! 17:15 < tanepiper> *MIND BLOWN* 17:15 < LOUDBOT> JESUS CHRIST IF THIS QA GUY WAS AT GOOD AT COMING UP WITH TESTS AS HE IS AT SUGGESTING BUG FIXES, WE'D NEVER SHIP A BUG 17:15 < isaacs> OMG IS OASIS A VOXEL UNIVERSE!?!!? 17:15 < LOUDBOT> HELLO I WILL DANCE FOR MONEY$$$$$$ 17:16 < isaacs> if so, i'm so gonna rock that shit because it'll be in JavaScript and i'm a JavaScripter 17:20 < ralphtheninja> isaacs: +1 for npm i -g npm, perfect dogfooding :) 17:31 < tanepiper> Yo Dawg.... 17:44 < rclosner> mbalho: ping 17:47 < rclosner> mbalho: seems like it would make sense to move block creation/deletion logic into game.js. were you planning on allowing other actions on 'mousedown'? 17:50 < rclosner> mbalho: block create/delete seems universal enough to make it a default (as opposed to having to specify it in each game file). 17:53 < rclosner> mbalho: also, the example in the README won't render by itself. there's an error in Game#showChunk. chunk.position is undefined? 17:54 < rclosner> mbalho: (the voxel-engine README)... 18:09 < isaacs> ralphtheninja: npm's first mission in life has always been to install npm 18:09 < rclosner> mbalho: also, would it make sense to extract voxel textures into its own module? it would be nice if textures came pre-packaged with the engine. 18:21 < mbalho> rclosner: yea weve talked about texture modules 18:22 < mbalho> rclosner: not a bad suggestion about the events stuff, i think some defaults would be nice but its important to keep everything able to be overwritten 18:27 < rclosner> mbalho: agreed. ease of installation is so-so atm. block create/delete should be a default. pointerLock should be called in the engine. also, i'll take a look at the default generator function in the engine. it doesn't work out the box yet. 18:28 < mbalho> rclosner: there isnt a default generator actually 18:28 < rclosner> mbalho: i mean game#showChunk. 18:28 < mbalho> rclosner: ohh right 18:28 < pkrumins> defunctzombie_zz: your range patch landed today in ci testling 18:29 < shama> rclosner: I imagine there will be a good deal of games that dont want to break blocks. For instance a fighter drone game... it wouldnt need clicking to break blocks. 18:29 < rclosner> mbalho: what do you think about using a default generator? setting a convention (in this case) seems worthwhile 18:30 < mbalho> rclosner: makes sense, a little 1 liner for the sphere world would make sense 18:30 < rclosner> shama: that's fair. i wouldn't be surprised if the predominant number of games are going to use block create/delete (given that it's a minecraft derivative). so long as it's overwritable, i don't see a problem with setting it as a default. 18:30 < mbalho> https://github.com/maxogden/voxel/blob/master/index.js#L37 18:31 < mbalho> rclosner: i also wanna make games where clicking edits multiple blocks based on scripting what happens 18:31 < mbalho> rclosner: but that will just override the default 18:32 < rclosner> mbalho: could we pull block creation/deletion into a module? if it's required it will override the 'mousedown' event, if not... 18:33 < mbalho> rclosner: ooh interesting 18:33 < rclosner> mbalho: it's not that much code, but it would create a transparent override methodology. 18:33 < mbalho> rclosner: yea im thinking a module for interacting with blocks in general would be useful as a pattern 18:33 < defunctzombie> pkrumins: \o/ fuck yea 18:34 < defunctzombie> now for https badges and I will be all set for awesome :) 18:34 < rclosner> mbalho: how are you planning on handling textures? 18:35 < mbalho> rclosner: https://github.com/shama/voxel-texture and modules for texture packs that install the pngs 18:35 < rclosner> shama: awesome! 18:35 < shama> mbalho: just sent a PR for that :) https://github.com/maxogden/voxel-engine/pull/4 18:36 < mbalho> woooot 18:36 < mbalho> shama: was implementing that difficult? 18:36 < mbalho> shama: me and substack were stumped 18:37 < rclosner> pointerLock make sense as a default? trying to minimize the amount of code one needs to get off the ground. 18:37 < pkrumins> defunctzombie: i'll get https badges right after i launch ie10s for browserling 18:37 < defunctzombie> ooooo fancy 18:37 < mbalho> rclosner: yea for now its required 18:38 < mbalho> rclosner: we could do a mouse drag control for people without pointerlock but im gonna wait until we port all this to mobile to implement that 18:38 < shama> mbalho: it wasnt actually... I was pretty skeptical about it. Turns out each face has a Vector3 normal. The normal points in the direction the face is facing. So just a matter of selecting the correct materialIndex based on the normal. 18:38 < mbalho> shama: wow nice 18:38 < shama> Here is the line: https://github.com/shama/voxel-texture/commit/cd507cee624e2dd273b6608b435b5a32eac59d39#L2R64 18:39 < rclosner> mbalho: it would be awesome to get down to something like this: https://gist.github.com/4567043 18:39 < mbalho> rclosner: we could default to document.body :) 18:39 < mbalho> shama: that is awesome 18:41 < shama> still dont know why back and left are rotated though... at the very least I can use canvas to rotate those textures upon loading but I want to find out why they do that. 18:41 < mbalho> woot go to 30 seconds in http://www.ustream.tv/recorded/28597081 18:41 < mbalho> (voxel.js demo) 18:42 < shama> nice! :) 18:44 < rclosner> mbalho: word. 18:44 < CoverSlide> fuck yeah 18:45 < defunctzombie> pkrumins: you guys should hook up with sendgrid to give email notifications on failures 18:45 < CoverSlide> \o/ 18:48 < pkrumins> awesome idea 18:48 < rclosner> mbalho: also, API weirdness? game.voxels.chunks (reverse hierarchy). 18:49 < defunctzombie> mbalho: have you run node on r-pi yet? 18:50 < defunctzombie> pkrumins: https://npmjs.org/package/emailjs I have used that for quite some time now to send text and html emails with great success 18:51 < defunctzombie> I have basic html email templates if you guys are interested (found them online at some point) and they seem to do well in most viewers 18:55 < pkrumins> cool, i'll add email sending! 18:56 < mbalho> defunctzombie: yep 18:57 < mbalho> rclosner: yea we put the chunking logic into the voxel module so that all that crap is in one place 18:57 < mbalho> rclosner: so game.voxels = require('voxels') and so you have to do game.voxels.chunks 18:57 < CoverSlide> oh yeah? how's the frame rate? 18:57 < mbalho> rclosner: there is probably a better way to represent that stuff 18:57 < mbalho> defunctzombie: i reallyr eally really really wanna get firefox os running on the rpi 18:57 < mbalho> defunctzombie: it was done back in august 18:57 < mbalho> defunctzombie: then i can run the voxel game on it! 19:00 < rclosner> mbalho: ah, duh. i figured out the bug. README example doesn't work because voxel and game.voxel are different. no chunk positions defined in voxel. 19:01 < rclosner> mbalho: works if you do something like this: https://gist.github.com/4567281 19:08 < defunctzombie> mbalho: nice, I want to run some raw http server nodejs benchmarks on an r-pi 19:08 < defunctzombie> mbalho: to see what type of cpu/network perf one can get out of it 19:08 < defunctzombie> for serving basic web apps 19:13 < rclosner> mbalho: thoughts on extracting functions like scale() into a voxel-utils repo? 19:19 < ehd> defunctzombie: are you on raspbian? 19:20 < defunctzombie> ehd: I am on nothing yet, just got the r-pi from a friend, but he said to give raspbian a go 19:20 < defunctzombie> I will most likely do that since I run debian normally 19:21 < defunctzombie> I need it headless tho so need something with ssh out of the box 19:21 < CoverSlide> i suggest checking out arch 19:21 < defunctzombie> is that an rpm offshoot? 19:21 < CoverSlide> no, it's got its own package manager 19:21 < defunctzombie> I won't be switching away from debian systems anytime soon :) 19:21 < CoverSlide> so no deb 19:21 < CoverSlide> but the arch build system is awesome 19:22 < defunctzombie> little gain for too much relearning :/ 19:22 < defunctzombie> is it like gentoo where I need to build everything? if so, no thanks :D 19:22 < CoverSlide> the gain is actually enormous 19:22 < CoverSlide> no, it has binary packages 19:22 < defunctzombie> debs such to make, but thankfully I don't have to make them anymore 19:23 < defunctzombie> I just run debian since that is what I run on my servers 19:23 < CoverSlide> but it's fairly easy to build your own if you want an updated version 19:23 < defunctzombie> maybe one day I will explore other things but for now it hasn't made it to the top of the list 19:23 < CoverSlide> alrighty 19:23 < defunctzombie> I kinda go with a good enough approach at the OS level these days :/ 19:24 < defunctzombie> and only bring in updates of things I really need or want 19:26 < CoverSlide> well if you have time, i recommend reading up on arch. it's different from deb, but i made the switch and am never looking back. 19:29 < Raynos> defunctzombie: make a PR and it should support the entire lookup algorithm 19:29 < CoverSlide> there is an issue with stability, which once in a blue moon there is a breaking change, which they will usually announce on the homepage, so for servers, it's definitely not a great choice, but for my laptop and toy boxes it's awesome 19:30 < mbalho> rclosner: what else would be in a voxel-utils module 19:30 < mbalho> rclosner: we could also add stuff to the voxel module for now and spin out another module later if it makes sense 19:32 < rclosner> mbalho: sounds good to me. since you were talking about extracting lat/lng conversion logic into a separate module, i was thinking utils might be a good place for that. 19:33 < jaekwon1> lat/lng… could be its own module for geo logic, including maybe geo-quading in the future 19:38 < rclosner> jaekwon1: geoquading? is that like creating a bounding box from a point of origin? 19:39 < jaekwon1> rclosner: it's tiling up the lat/lng of earth for simple indexing 19:40 < jaekwon1> then when you store some object or place, you can index both the lat/lng of the place as well as the geoquad identifier 19:41 < rclosner> jaekwon1: got it. thanks. 19:44 < mbalho> heres a module from 3 years ago that i made to do stuff with geojson https://github.com/maxogden/geojson-js-utils 19:46 < mbalho> rclosner: something like o/ would be useful i suppose 19:54 < Raynos> defunctzombie: https://github.com/Raynos/tools/issues/1 20:14 < mbalho> just did a venturebeat interview about voxel.js woowoo they said they wanted to feature the project 20:15 < CoverSlide> awersome 20:21 < jaekwon1> mbalho: what is checkBlock? why does it p.x -= 1.1 * d.x ? 20:21 < mbalho> jaekwon1: substack wrote that but it checks if you can place a block 20:22 < mbalho> jaekwon1: i think it looks adjacent to the block that you clicked on to see if you can place a block there and says no if the player is in the way etc 20:22 < jaekwon1> oh ok 20:29 < mbalho> copy paste this bad boy into a voxel demo https://gist.github.com/4499643 20:30 < mbalho> chrisdickinson: whoa your collision demo is awesome 20:30 < chrisdickinson> thanks! 20:31 < chrisdickinson> i'm gonna spend some more time on it this weekend and iron out the rest of the kinks 20:31 < mbalho> chrisdickinson: thats awesome. looking forward to the pull req 20:32 < mbalho> chrisdickinson: also gravity in your demo so funny ahahaha 20:32 < chrisdickinson> yeah, it's weird! jumps are instantaneous, but gravity isn't 20:32 < chrisdickinson> http://github.com/chrisdickinson/collide-3d-tilemap is the api i'm using to do the collisions 20:33 < chrisdickinson> i need to update the readme though, it's kind of a clone of collide-2d-tilemap 20:33 < chrisdickinson> https://github.com/chrisdickinson/collide-3d-tilemap/blob/master/index.js for the relevant code 20:35 < isaacs> defunctzombie_zz: 0.8.18 coming soon 20:38 < defunctzombie> isaacs: \o/ 20:38 < isaacs> compiling on the proprietary operating systems, still 20:38 < isaacs> they're the slowest 20:39 < isaacs> darwindows 20:44 < defunctzombie> haha 20:44 < defunctzombie> darwindows amazing 20:45 < defunctzombie> Raynos: am I meant to do something with this repo? 20:46 < CoverSlide> Linux++ 20:48 < CoverSlide> why use something fast and simple like GCC when you can have XCode or VS take up 4G on your disk? 20:48 < defunctzombie> Raynos: looking at the issue for npm-css I would say that prefix-css, while interesting, is out of scope since the dev still has to prefix their stuff in their templates. Seems better to just be explicit in the css. Yes, it is a bit repetitive but :/ 20:57 < defunctzombie> CoverSlide: why use something old and slow like gcc when you can have clang :p 21:04 < mbalho> WOOT https://twitter.com/voxeljs/status/292376278064037888 21:06 < guybrush_> mbalho: which device? 21:06 < mbalho> guybrush_: galaxy nexus 21:07 < guybrush_> sweeeet 21:07 < guybrush_> i need to get such phones from somewhere 21:07 < mbalho> im gonna test on the nexus 7 as soon as mine charges 21:08 < guybrush_> basically i would need one without any contract 21:08 < CoverSlide> where you get bleding edge chrome? 21:08 < guybrush_> playstore :D 21:08 < CoverSlide> i just have beta chrome 21:08 < guybrush_> thats all you need 21:08 < CoverSlide> oic 21:08 < guybrush_> https://twitter.com/alteredq/status/292069924128563200 21:09 < jaekwon1> mbalho: player-phsyics is player coordinate centric. it should be world centric. 21:09 < CoverSlide> ohh nice 21:09 < jaekwon1> mbalho: freedom constraints should be constraints should be constraints on world coordinates 21:09 < guybrush_> basically nowadays we live in the future! 21:10 < mbalho> jaekwon1: chrisdickinson is working on a new version 21:10 < guybrush_> its like everyday more is possible 21:10 < jaekwon1> oh cool. is there a demo? 21:10 < mbalho> jaekwon1: yea neversaw.us/voxel/ 21:11 < CoverSlide> jumping is weird 21:11 < jaekwon1> jumping doesn't jump, it teleports back in time! 21:12 < mbalho> hehe 21:12 < mbalho> its a demo 21:12 < mbalho> not finished :) 21:12 < jaekwon1> ok sweet, it looks good 21:15 < defunctzombie> pkrumins: another feature idea, once you know what browsers the test will run under, make pending placeholders on the webpage 21:15 < defunctzombie> pkrumins: otherwise it isn't so clear to me if you are gonna run tests or if it is done 21:17 < rclosner> chrisdickinson: looks awesome! 21:20 < pkrumins> defunctzombie: noted 21:21 < defunctzombie> pkrumins: http://ci.testling.com/shtylman/dom <-- using ranges now :) 21:21 < defunctzombie> really awesome 21:21 < defunctzombie> package.json so much simpler 21:21 < defunctzombie> https://github.com/shtylman/dom/commit/8cf7b0e1d53ffe2444f1bdfba4de45ab65080543 21:24 < defunctzombie> substack: pkrumins: http://ci.testling.com/shtylman/dom.png seems there is an ordering issue on the badge 21:33 < substack> ranges aren't all the way fixed I think 21:35 < defunctzombie> probably not, also, my tests seem to have hung :( 21:38 < pkrumins> it didnt run any tests past chrome 8 21:40 < pkrumins> and didnt attempt to run safari or opera tests 21:40 < defunctzombie> sadness 21:41 < defunctzombie> was it a failure with ranges or with something else? 21:41 < pkrumins> it didnt crash 21:42 < pkrumins> it just stopped after chrome 8 21:42 < pkrumins> i dont know why it stopped 21:43 < defunctzombie> the firefox range worked all the way, same with ie 21:43 < pkrumins> yeah 21:44 < pkrumins> can you run the same test again? 21:44 < pkrumins> just trigger the hoook 21:44 < pkrumins> i awnt to see if it gets past chrome 8 21:46 < defunctzombie> k 21:46 < pkrumins> seeing the commit 21:46 < pkrumins> following it 21:50 < Raynos> defunctzombie: prefix-css is about being able to import someone else's css under a namespace 21:50 < Raynos> which means you don't have to worry about them polluting your global css namespace because they may be naughty 21:50 < Raynos> defunctzombie: also that was my original idea about npm-css so talk about npm css related stuff there or on the repo 21:51 < Raynos> isaacs: Am I supposed to rebase the objects stuff yet? 21:51 < fotoverite> How goes the jitsu invasion this week mbalho? 21:51 < isaacs> Raynos: GO FOR IT! GO FOR THE GOLD! 21:51 < defunctzombie> Raynos: gotcha, yea, I could see that aspect 21:51 < isaacs> Raynos: it would be good to keep thatpull req focused on object streams, though. the other stuff makes it harder to evaluate. 21:52 < isaacs> Raynos: if there are other patches that need to land to make object streams work, then fine. 21:52 < isaacs> but if it's just generic stream bugs, it should be separate. 21:52 < Raynos> isaacs: i need to land those patches to get the tests to run. Didn't want a PR that didn't pass tests 21:52 < isaacs> sure 21:52 < defunctzombie> Raynos: maybe if there was a good way to test it and have the css stuff applied automatically during testing (manual) or such then it would be better 21:53 < Raynos> anyway 21:53 < isaacs> Raynos: also, don't do that silly tap-alike thing. i only did that to be able to more easily copyu over the tests i already had in readable-stream 21:53 < isaacs> Raynos: but now i regret it 21:53 < Raynos> I will rebase it this weekend 21:53 < defunctzombie> Raynos: I would like to explore the idea of required prefixes cause if you do that from the start 21:53 < defunctzombie> then no one can make mistakes 21:53 < isaacs> Raynos: awesome :) 21:53 < defunctzombie> by forgetting 21:53 < Raynos> isaacs: I like the tap-alike thing :p 21:53 < isaacs> yeah. 21:53 < isaacs> but it's overly cute. 21:53 < Raynos> i dont know how to async test without t.end() 21:53 < isaacs> node tests should just throw or not throw 21:54 < isaacs> Raynos: you just do a thing, and then it either throws or it doesn't. 21:54 < Raynos> then each test needs a seperate file 21:54 < isaacs> Raynos: and you have a process.on('exit',fn) that makes sure the test actually ran 21:54 < isaacs> yeah 21:54 < isaacs> well, you can do a bunch of tests in one file, still 21:54 < isaacs> we do that a lot 21:54 < Raynos> I dont know how to do MULTIPLE t.end()'s in one file 21:54 < isaacs> look at the other tests in test/simple/ 21:54 < isaacs> almost all of them do multiple things 21:54 < Raynos> well its basically a counter thing 21:54 < Raynos> which is what the tap-alike does 21:55 < defunctzombie> how does that work when writing browser oriented tests? (whatever you guys are talking about) 21:55 < isaacs> foo(function() { fooRan = true }); process.on('exit', function() { assert(fooRan) }); bar(...) 21:55 < isaacs> etc. 21:55 < Raynos> defunctzombie: it doesn't 21:55 < isaacs> defunctzombie: we're not talking about browser-oriented tests at all :) 21:55 < defunctzombie> ah :) 21:55 < Raynos> defunctzombie: with browsers you need counters and tape 21:56 < pkrumins> defunctzombie: it looks like it stopped again at chrome 8. 21:56 < defunctzombie> pkrumins: fascinating 21:58 < defunctzombie> pkrumins: nope, seems to be going 21:58 < pkrumins> ah no it just run chrome 9 21:59 < defunctzombie> Raynos: actually, the more I think about it, the more I think auto prefix should be a requirement... 21:59 < defunctzombie> Raynos: just have to sell it right 21:59 < defunctzombie> pkrumins: maybe it was some one time issue? 22:00 < pkrumins> not sure 22:01 < Raynos> defunctzombie: you need some kind of namespacing. 22:01 < Raynos> defunctzombie: just like javascript exports a single function. CSS should only use a single global name 22:01 < defunctzombie> Raynos: yea, I would agree 22:01 < Raynos> then you can build a tool to verify no name conflicts 22:02 < Raynos> BUT 22:02 < defunctzombie> the idea of prefixing by name of module sounds reasonable 22:02 < Raynos> you want to be able to do `require "../lib/bootstrap.css" as PREFIX` 22:02 < defunctzombie> hm, would you? 22:03 < defunctzombie> I think that is a different case than the widget namespace issue 22:04 < defunctzombie> as a widget author you should be able to know what namespace will be used 22:04 < Raynos> well no 22:04 < Raynos> i dont want boostrap 22:04 < Raynos> bootstrap is a diaster 22:04 < Raynos> defunctzombie: if you use a different namespace for a widget 22:04 < defunctzombie> Raynos: yea, then you would not include it right? 22:04 < Raynos> then its your responsibility to do `addClass(widget.view, "namespace")` 22:05 < Raynos> but I think in the transitional thing 22:05 < defunctzombie> meh, I dunno seems like it is started to get more complex and involved 22:05 < defunctzombie> you may not be able to just addClass(widget.view) or whatever 22:05 < defunctzombie> user shouldn't have to do that :/ 22:05 < Raynos> the transitional period 22:05 < pkrumins> looks like it stopped at chrome 22 22:06 < Raynos> I may want to prefix other peoples css 22:06 < Raynos> I guess I can just import their css and prefix it myself 22:06 < Raynos> meh this problem shouldnt be solved in this tool 22:06 < Raynos> just require is fine 22:07 < defunctzombie> I don't think general namespacing problems should be solved 22:07 < defunctzombie> the only namespace thing I think would be reasonable is the idea that all your stuff must be namespaced 22:08 < defunctzombie> and doing it for you with teh module name seems clear and consistent 22:08 < defunctzombie> in the widget I was playing around with I did it all manually 22:09 < defunctzombie> but imagine if someone decides to add "p { }" 22:09 < defunctzombie> or something 22:09 < defunctzombie> that is really annoying certainly, now we can educate and inform that you shouldn't do these things 22:09 < defunctzombie> but maybe auto namespacing is a nicer approach 22:10 < defunctzombie> pkrumins: again with no error? 22:10 < defunctzombie> pkrumins: chrome 22 worked before btw 22:10 < pkrumins> yes 22:10 < defunctzombie> so I am pretty sure it isn't an issue with failing tests 22:11 < pkrumins> it's not an issue with failing tests, it's something else 22:11 < pkrumins> they just stop being run 22:11 < defunctzombie> haha 22:11 < defunctzombie> maybe they get tired 22:11 < pkrumins> i've seen it before 22:11 < pkrumins> when lots of browsers are used then it happens 22:11 < pkrumins> probably they got tired yes. 22:11 < pkrumins> i think we forgot to require('redbull') 22:16 < defunctzombie> haha 22:19 < defunctzombie> Raynos: basically, if you know your stuff will be namespaced by module name then you make templates and such accordingly 22:19 < defunctzombie> also, simulated shadow dom a bit better I think 22:19 < Raynos> defunctzombie: yes BUT you still need a way to enforce that two modules cant use smae namespace 22:19 < Raynos> but that's a seperate tool! 22:19 < Raynos> maybe it belongs in npm-css though 22:19 < defunctzombie> Raynos: seems less likely to happen.. you would have to install both of them with the same name 22:20 < Raynos> oh wait! 22:20 < defunctzombie> they don't get a choice in namespace 22:20 < Raynos> AUTO NAMESPACE WITH PACKAGE NAMe 22:20 < defunctzombie> yes 22:20 < Raynos> NPM ENFORCES ZERO CONFLICTS 22:20 < LOUDBOT> DAMN IT WHY DO ALL THE HOT WOMEN HAVE TO BE OVER 40? 22:20 < Raynos> FUCK YES 22:20 < LOUDBOT> GUYS I THINK YOU SHOULD KNOW THAT I HAVE HAD 6 OF SANTA'S REINDEER LOCKED UP IN MY BASEMENT FOR THREE MONTHS NOW SO... YOU KNOW. SHUT IT DOWN. 22:20 < defunctzombie> that is what I have been saying :) 22:20 < Raynos> GLOBAL NAMESPACE FUCK YES. 22:20 < LOUDBOT> JOHNMMMMMMM 22:20 < Raynos> defunctzombie: DO IT. LAND IT 22:20 < Raynos> isaacs: the fact that npm has a global namespace is best thing ever. 22:20 < defunctzombie> hahaha 22:21 < defunctzombie> substack: is css-prefix still alive? 22:21 < defunctzombie> or is there an alternate lib? 22:21 < Raynos> defunctzombie: theres an alternative 22:22 < Raynos> defunctzombie: https://github.com/visionmedia/rework#prefixselectorsstring 22:24 < defunctzombie> Raynos: any reason to use that over just css-prefix which does that one thing? 22:25 < defunctzombie> rework is cool in the general case 22:25 < Raynos> css-prefix prefixes EVERYTHING 22:25 < Raynos> which is bullshit 22:25 < Raynos> you just want to prefix the selectors with another class selector 22:25 < Raynos> prefixing all your classes in your template sucks 22:25 < defunctzombie> Raynos: you have to prefix everything 22:25 < Raynos> all you want to do is add one class to your root 22:25 < Raynos> no 22:25 < Raynos> you add one class to your root 22:26 < defunctzombie> ? 22:26 < Raynos>