00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:02:30  <Raynos>IMPORTANT: https://github.com/isaacs/npmconf/blob/master/config-defs.js#L353
00:02:38  <Raynos>All of the npm shorthands, hell yes.
00:05:10  <CoverSlide>haha https://github.com/isaacs/npmconf/blob/master/config-defs.js#L371-L372
00:06:22  <Raynos>bet its marak
00:13:34  * No9quit (Ping timeout: 260 seconds)
00:13:41  * devaholicquit (Ping timeout: 252 seconds)
00:14:41  * No9joined
00:18:54  <st_luke>hij1nx: I'm actually super excited about lev partially because it lowers the leveldb entry barrier so much. I've got a couple sites I have to build in the coming weeks and I'm going to use leveldb for both now.
00:19:38  <st_luke>Raynos: I'm pretty sure I remember marak mentioning that once
00:21:07  <Raynos>st_luke: leveldb === #winning
00:29:54  <CoverSlide>lev?
00:30:20  <st_luke>CoverSlide: github.com/hij1nx/lev
00:31:43  <CoverSlide>sweet
00:34:59  <defunctzombie>st_luke: I am gonna try out digital ocean for a project, their prices are better than linode and seem to be good stuff
00:35:25  <Raynos>defunctzombie: use joyent
00:35:27  <st_luke>defunctzombie: looks pretty good
00:35:30  <st_luke>for the price
00:35:45  <st_luke>defunctzombie: that $5 a month plan is great for experimenting
00:35:49  <defunctzombie>Raynos: I don't want to learn solaris shit
00:35:58  <st_luke>I had a $20/month server up with linode hanging around for months that I would barely use, just had it as a testing ground
00:36:14  <Raynos>defunctzombie: you do node, invest in joyent
00:36:25  <defunctzombie>why?
00:36:26  <Raynos>defunctzombie: it takes like 2s to look at the joyent <-> linux cheat sheet
00:36:43  <Raynos>defunctzombie: because if your serious about node your serious about joyent. That's how it works.
00:36:47  <defunctzombie>Raynos: their prices are shit
00:36:49  <Raynos>go ask dshaw
00:36:53  <defunctzombie>?
00:36:58  <defunctzombie>doesn't make sense to me at all
00:37:11  <defunctzombie>anyhow.. I use nodejitsu for a small project
00:37:35  <st_luke>I'm interested in SmartOS but yeah, the pricing is not that great
00:37:38  <defunctzombie>joyent is way overprices
00:37:39  <Raynos>joyent and node optimize for each other because that's just what happens when most of the large production companies run node on joyent and when joyent develops node
00:37:48  <defunctzombie>who cares
00:38:03  <defunctzombie>that optimization doesn't matter if you don't have any users :p
00:38:08  <Raynos>agreed
00:38:09  <st_luke>that doesn't mean that linux is suddenly a shitty option either
00:38:17  <Raynos>but its still worthwhile to learn how to use joyent
00:38:30  <defunctzombie>again.. why
00:38:52  <Raynos>because if your going to run a large scalable production stack on node you do it on joyent
00:39:00  <defunctzombie>or I can do it myself
00:39:05  <defunctzombie>and call it a day ;)
00:39:14  <Raynos>i am put off by paying 60$/mo though
00:39:17  <st_luke>or you can colo your own SmartOS box
00:40:35  <Raynos>then you dont get to learn how to leverage joyent cloud analytics
00:42:14  <st_luke>does joyent smartos support css3 animation I searched stack overflow but I am not entirely sure
00:42:57  <CoverSlide>$60/mo is pretty steep
00:43:18  <CoverSlide>i'd rather do paas
00:43:52  <st_luke>I use paas for all of my fake startup websites
00:44:07  <st_luke>http://lettersfromdog.com - COMING SOON
00:44:33  <st_luke>http://getyourashtomars.com/ - COMING SOON
00:45:05  <CoverSlide>awesome
00:45:18  <CoverSlide>you're like the new ytmnd
00:45:29  <st_luke>I pay $11/month so when people ask me what I do for a living I can show them these and act 100% serious about it
00:45:32  <st_luke>then they don't want to talk to me anymore
00:45:56  <dominictarr>st_luke: I signed several friends up to lettersfromdog
00:46:13  <st_luke>hey man, have you heard of this new ruby on rails thing can you help us make a website and we will give you some equity man it will be worth it come on
00:46:17  <st_luke>dominictarr: hahaha awesome
00:47:40  <dominictarr>st_luke: speaking of scams, have you seen this https://www.potentialprostitutes.com/search?query=nyc
00:47:46  <Raynos>st_luke: css3 animation?
00:47:55  <st_luke>dominictarr: yea I've heard of that, pretty fucked up
00:48:00  <st_luke>Raynos: i was jokin
00:48:50  <Raynos>st_luke: those are awesome
00:50:05  <st_luke>I should put chinesefoodloophole.com back up sometime, it was a geographic tracking tool for chinese takeout restaurants that give you double meat if you order with no vegetables
00:50:15  <dominictarr>st_luke: I know a guy in nz who has a rocket charity and wants to do space funerals. you guys should team up.
00:50:17  <defunctzombie>anyone got a good open source password manager they like that doesn't suck and isn't overly complex?
00:50:29  <st_luke>dominictarr: that's awesome
00:50:30  * stlsaintjoined
00:50:41  <defunctzombie>I am about 5 minutes from making my own chrome extension
00:50:46  <defunctzombie>that does aes password
00:50:51  <defunctzombie>openssl compatible
00:50:53  <st_luke>defunctzombie: i just use os x's keychain
00:50:57  <dominictarr>and yes, it's actually a rocket CHARITY
00:51:36  <defunctzombie>I have a trust problem when my password tool isn't open source :(
00:52:42  <st_luke>i think i saw one recently that was pretty good actually
00:52:58  <st_luke>let me look
00:53:05  * dominictarrquit (Quit: dominictarr)
00:53:16  <defunctzombie>right now I use 'pass'
00:53:20  <defunctzombie>but that is cli only
00:53:24  <st_luke>nevermind it was not open source
00:53:25  <defunctzombie>and I would like a browser extension
00:53:42  <st_luke>defunctzombie: you could build a front end for it with appjs
00:53:59  <st_luke>that would actually be kinda dope
00:54:09  <st_luke>then tie that in to a browser extension
00:54:19  <defunctzombie>I don't think that would be so easy
00:54:58  <st_luke>i dont think there are any good open source pw managers for os x that have a gui
00:55:05  <st_luke>or any even
00:55:15  <defunctzombie>I wanted to write something on top of dropbox
00:55:26  <defunctzombie>but the issue is sharing your dropbox api key :(
00:56:16  <st_luke>are there any really good options for node ssh clients that don't fork child processes
00:58:58  <st_luke>I can't deal with vocabulary like this https://github.com/exfm/node-boatyard
01:00:44  <CoverSlide>wtf ...
01:02:24  <st_luke>it's similar to what rvagg recently did but just a lot more confusing
01:03:29  <st_luke>anyway /me has work to do
01:04:13  <Raynos>gozala: ping
01:04:26  <Raynos>do you have a module to merge two streams based on timestamps
01:04:46  <Raynos>i.e. each stream contains messages with a ts and is ordered, now merge both of them into one stream that is ordered by the ts
01:08:47  <gozala>Raynos: nope
01:08:57  <Raynos>can you write one in 10 lines? :D
01:08:58  <gozala>I have one that merges based on time items arrive
01:09:25  <gozala>but that does not seems to be what you're looking for
01:09:45  <gozala>Raynos: I think you should be able to write it in 10 lines using this
01:09:58  <gozala>https://github.com/Gozala/sample-reduce
01:10:39  <gozala>Raynos: sorry wrong one I meant this
01:10:39  <gozala>https://github.com/Gozala/coreduction/blob/master/coreduction.js
01:10:58  <Raynos>seriously
01:11:01  <Raynos>examples in the README
01:11:06  <Raynos>or an examples folder
01:11:17  <gozala>Raynos: https://github.com/Gozala/coreduction/blob/master/test/coreduction.js
01:11:35  <gozala>%s/examples/test/
01:12:17  <gozala>Raynos: basically it will call your function whenever either of two streams yields
01:12:25  <Raynos>I know
01:12:28  <Raynos>I know where the docs are
01:12:30  <Raynos>its just annoying
01:12:43  <gozala>you compare them and return one with smaller time stamp
01:12:46  <gozala>that's it
01:13:08  <gozala>Raynos: Yeah I know, I know
01:13:11  <Raynos>you cant return one with smaller timestamp its not quite that simple
01:13:21  <gozala>for all my new repos there are examples in readme
01:13:36  <Raynos>well you could if it was real-time
01:13:41  <Raynos>if it gave you past ts initially
01:13:46  <Raynos>then you have to merge them cleverly
01:14:08  <Raynos>knowing that A can send 49, 50, 51 and B can send 4, 5 minutes later. You have to wait for ages ...
01:14:15  <Raynos>Ugh custom to my use-case -.-
01:14:41  <gozala>Raynos: yeah you right
01:14:59  <Raynos>my use-case is simpler because I know the stream terminates but is asynchronous
01:15:06  <gozala>if frequency of the early one is slower it well get messed up with coreduction
01:15:18  <gozala>Raynos: so you'll have to buffer I guess
01:15:25  <Raynos>yep buffer it is :D
01:15:44  <Raynos>do you have abstractions for this or am I going to use node streams
01:16:00  <gozala>Raynos: Yeah I think you need something like coreduction but that acts like reductions
01:16:39  <gozala>Raynos: Abstraction for buffering or for this specific use case ?
01:16:49  <gozala>for the later no
01:16:52  <gozala>for buffering yes
01:17:21  <gozala>https://github.com/Gozala/buffer-reduce/blob/master/buffer.js#L17-L20
01:17:44  <gozala>I don't think this specific buffering will help you though
01:17:49  * ryan_stevensquit (Quit: Leaving.)
01:17:51  <gozala>Raynos: give me a few secs
01:18:25  * ryan_stevensjoined
01:22:39  <jez0990_>defunctzombie: this might tick your boxes - http://connorhd.co.uk/2011/05/10/passhash-a-simple-way-to-generate-secure-passwords/
01:27:26  <gozala>Raynos: you need this I think https://gist.github.com/4449153
01:27:58  <Raynos>i cant read that
01:28:20  <Raynos>i expect var reducible = historyBasedMerge(one, two, merger)
01:28:35  <Raynos>actually
01:29:00  <Raynos>combine(one, two, function (acc, chunk, send) { mutate accumulator; send chunks out of acc if you deem ready })
01:32:03  <gozala>Raynos: https://gist.github.com/4449153#comment-699112
01:34:03  <Raynos>why buffer.shift() ?
01:35:15  <gozala>Raynos: actually wait it's even simpler
01:36:22  <gozala>Raynos: you basically return a pair [buffer, itemToYield]
01:36:38  <Raynos>ok
01:36:45  <gozala>assuming you've don the sorting right buffer.shift() will get you the first one in timeline
01:37:17  <gozala>Raynos: although I think my example won't actually work
01:37:26  <Raynos>prob
01:37:28  <Raynos>but I get the idea
01:37:44  <gozala>as coreduction will yield pairs from both regardless
01:37:59  <gozala>so there will be one from previous yield
01:38:11  <gozala>And you want to omit those
01:38:53  <gozala>I believe in your case you could just use https://github.com/Gozala/interset#union
01:39:12  <gozala>so instead of concat it will be
01:39:12  <defunctzombie>jez0990_: that does look like it could work
01:39:22  <defunctzombie>jez0990_: wonder if it does chrome sync
01:39:25  <gozala>union(buffer, pair).sort(f)
01:41:12  <defunctzombie>jez0990_: oh, I see it just generates based on the master pass and the site name, interesting
01:42:27  <defunctzombie>jez0990_: would be a bit unfortunate if you have multiple accounts at the same site tho
01:44:15  <gozala>Raynos: BTW what do you do on first item ?
01:44:36  <gozala>I guess you don't know if it's has a smaller timestamp or not
01:50:15  * yorickquit (Remote host closed the connection)
01:51:06  <Raynos>gozala: I dont know
01:51:13  <st_luke>substack: using secure-peer to fork off child process on remote servers to do tasks
01:51:15  <Raynos>i dont even know if its a smaller timestamp on the second item
01:51:30  <substack>st_luke: rad
01:51:39  <Raynos>I only know if one is smaller then the other if one is ahead of the other or if one has ended
01:51:47  <substack>public key auth <3
01:52:44  <gozala>Raynos: I mean you need to get at least item from both streams
01:52:46  <gozala>to know
01:53:01  <Raynos>gozala: i've wanted interset for ages
01:53:05  <gozala>Raynos: I think this is more correct implementation of what you want
01:53:06  <gozala>https://gist.github.com/4449153#comment-699167
01:53:23  <gozala>and requires no new modules
01:53:43  * dominictarrjoined
01:53:43  <Raynos>gozala: https://github.com/Gozala/interset/issues/1
01:53:45  <gozala>Raynos: you can simplify it further
02:03:21  <Raynos>substack: https://github.com/substack/testling-server-example/blob/master/test/xhr.js#L7
02:03:26  <Raynos>How do I avoid port conflicts
02:03:29  <Raynos>with other people's tests
02:04:54  <defunctzombie>don't hard code your port
02:08:02  <rvagg>port = Math.floor(1000 + Math.random() * 10000)
02:09:37  <defunctzombie>wut
02:09:38  <defunctzombie>no
02:09:42  <defunctzombie>jesus
02:09:50  <defunctzombie>just get the system assigned port
02:10:08  <substack>Raynos: no way yet
02:10:10  <defunctzombie>server.address().port after you call listen
02:10:22  <substack>defunctzombie: doesn't work because your tests need to know the port number
02:10:33  * chrisdickinsonquit (Excess Flood)
02:10:37  <substack>so I need to expose this information to tests
02:11:16  * thatguydanjoined
02:13:15  <defunctzombie>oh I see what you mean, cause the server is not part of the tests
02:13:26  <defunctzombie>I was referring to regular node.js tests
02:14:02  <defunctzombie>you should just assign one to an env variable or something haha
02:16:25  * chrisdickinsonjoined
02:18:22  <rvagg>I was joking btw
02:21:06  <Raynos>rvagg: random ports are great
02:21:09  <Raynos>MORE RANDOM PORTS
02:21:14  <Raynos>OPEN ALL THE PORTS
02:21:44  <defunctzombie>rvagg: jokes have no place on serious IRC discussions
02:22:53  <rvagg>yea, I've sensed that in your aura defunctzombie
02:23:05  * jibayquit (Remote host closed the connection)
02:23:10  <defunctzombie>aura also has no place on IRC
02:23:47  * stlsaintquit (Ping timeout: 255 seconds)
02:30:37  <st_luke>fuck it im using 0.9.5
02:31:20  * dguttmanquit (Quit: dguttman)
02:34:45  * jez0990_quit (Ping timeout: 276 seconds)
02:34:47  <Raynos>st_luke: :(
02:35:06  <Raynos>gozala: I want window & document to work in node-interactivate :D
02:44:11  * guybrush_joined
02:44:38  * dominictarrquit (*.net *.split)
02:44:39  * guybrushquit (*.net *.split)
03:02:21  <Raynos>gozala: does fold have a notion of end / finish?
03:06:42  <defunctzombie>I am trying to build a node module on windows
03:06:43  <defunctzombie>jesus
03:06:46  <defunctzombie>how do people use windows
03:10:37  <guybrush_>i use windows to run virtualbox :D
03:23:47  <Raynos>I have windows in a VM
03:23:49  <Raynos>I hide it
03:28:38  <guybrush_>it all comes down to the fact that i am addicted to starcraft, so i have to run windows -.-
03:31:10  * mikeal1joined
03:31:12  * mikealquit (Read error: Connection reset by peer)
03:37:09  * nk109quit (Quit: Computer has gone to sleep.)
03:42:55  <Raynos>guybrush_: running linux & WINE cures addictions
03:43:12  <guybrush_>was there, its a pita
03:43:40  <guybrush_>dont have time to fix all the things and keep up with stuff im not interested in..
03:44:47  <guybrush_>virtualbox really just works, and having a vm for everything work-related is huge win
03:45:16  <guybrush_>just put it on a usbstick and go to a friend to work there
03:45:42  <Raynos>guybrush_: it cures addictions because you ragequit WINE and stop using windows / games
03:46:29  <guybrush_>well its not a bad addiction imho :DD i love playing with friends
03:47:17  <guybrush_>also we try new games like every week
03:47:33  <guybrush_>sadly this is only possible with fucking windows
03:50:59  <guybrush_>fucking directx and gfx-vendors
03:53:41  * ryan_stevensquit (Quit: Leaving.)
03:54:13  <substack>soon you'll be able to play programming games in the browser
03:54:41  <guybrush_>yaaah!
03:57:18  * st_luke_joined
03:57:29  * st_lukequit (Disconnected by services)
03:57:30  * st_luke_changed nick to st_luke
04:06:38  * ryan_stevensjoined
04:31:53  * defunctzombiechanged nick to defunctzombie_zz
04:33:30  * st_lukequit (Remote host closed the connection)
05:03:43  * st_lukejoined
05:08:58  * stlsaintjoined
05:08:58  * stlsaintquit (Changing host)
05:08:58  * stlsaintjoined
05:11:04  * st_lukequit (Ping timeout: 260 seconds)
05:19:45  * st_lukejoined
05:29:17  * defunctzombie_zzchanged nick to defunctzombie
05:36:07  * st_lukequit (Remote host closed the connection)
05:38:29  * elliottcablechanged nick to ellio
05:38:49  * elliochanged nick to iott
05:38:55  * iottchanged nick to ttcab
05:38:59  * ttcabchanged nick to cable
05:40:57  * cablechanged nick to elliottcable
05:41:20  * defunctzombiechanged nick to defunctzombie_zz
06:14:50  * st_lukejoined
07:04:36  * AvianFluquit (Remote host closed the connection)
07:07:37  * thatguydan_joined
07:11:20  * thatguydanquit (Ping timeout: 255 seconds)
07:12:36  * thatguydan_quit (Ping timeout: 276 seconds)
07:14:10  * nk109joined
07:23:31  <guybrush_>hilarious http://www.kickstarter.com/projects/joylabs/makey-makey-an-invention-kit-for-everyone
07:32:15  * mikeal1quit (Quit: Leaving.)
07:53:36  * nk109quit (Quit: Computer has gone to sleep.)
08:02:28  * mikealjoined
08:04:23  <mbalho>http://maxogden.github.com/blocking/
08:04:40  <mbalho>guybrush_: made some progress
08:07:16  <ehd>sweet
08:13:03  * mikealquit (Ping timeout: 276 seconds)
08:18:31  <Raynos>mbalho: ~_~
08:18:38  <Raynos>your webgl demo
08:18:40  <Raynos>breaks my sound card
08:20:27  <mbalho>im not doing anything with sound
08:20:38  <mbalho>Raynos: substack had to upgrade to chrome 23 to get it to work on ubuntu
08:20:52  <Raynos>this machine
08:20:55  <Raynos>is fucked
08:20:58  <mbalho>get a new computer
08:20:59  <Raynos>its 5 years old
08:21:05  <Raynos>I AM MADE OF CHEAP
08:21:12  <mbalho>you have a computer job
08:21:21  <substack>real one
08:24:44  <Raynos>true.
08:24:51  <Raynos>but i have a good laptop at work
08:24:56  <Raynos>its just my home laptop thats shitty
08:29:31  <guybrush_>mbalho: haaa you got already some collision working :DD
08:29:46  <guybrush_>is it with raycasting?
08:29:58  <mbalho>not for player movement, yes for removing voxels
08:30:53  <guybrush_>sweet
08:31:41  <guybrush_>i have big troubles with structurizing all the things blaaahhhhhhh, rewriting everything like the 6. time lol
08:32:33  <mbalho>yea big apps suck
08:32:47  <guybrush_>like having entities inheriting from other entities with spells and stuff
08:33:14  <guybrush_>i am thinking of doing something like three-nodes
08:33:33  <guybrush_>http://idflood.github.com/ThreeNodes.js/public/index.html
08:34:15  * mikealjoined
08:34:17  <mbalho>whaaa
08:35:14  <mbalho>guybrush_: this is crazy
08:35:22  <guybrush_>yes haha
08:35:48  <mbalho>wow...
08:35:57  <guybrush_>yes its pretty amazing tool
08:36:20  <guybrush_>i dont like the backbone-thing but amazing anyway
08:36:52  <guybrush_>basically you just describe a json-format for a directed graph
08:37:20  <guybrush_>then you compile code out of it
08:37:41  <mbalho>yea like maxmsp
08:37:45  <guybrush_>then its even possible to target anything with that, like c++ and opengl or something
08:38:34  <guybrush_>but really i am so stuck in structurizing things, getting really mad haha
08:39:02  <guybrush_>will just stick with something simple for now and try crazy things later
08:39:06  <mbalho>damn its written in coffeescript, compass and haml
08:39:12  <guybrush_>and backbone
08:39:21  <mbalho>and probably not modularized
08:39:33  <guybrush_>well its a module-system in its own
08:39:42  <guybrush_>could be done with npm-packages though
08:40:07  <mbalho>yea
08:40:08  <guybrush_>so you just use npm-packages in there haha :D
08:40:21  <guybrush_>could be used for anything but threejs too!
08:43:10  <guybrush_>so maybe we should just fork it and make it work with npm-modules :}
08:44:58  <Raynos>guybrush_: have you looked at lighttables article about structuring?
08:45:31  <guybrush_>dont even know about lighttables
08:45:57  <Raynos>i dont get what threenode is
08:46:05  <Raynos>and by structuring do you mean code organization?
08:46:41  <guybrush_>among other things yes
08:47:00  <Raynos>http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockout/
08:47:13  <guybrush_>i mean i dont care about where which code-line is, its about how do i describe a thing in my game-world
08:47:47  <guybrush_>clever splitting of things which go over the network and other things and stuff
08:48:48  <guybrush_>a simple usecase, the player runs from one point to another discovering things which depend partially on the same things
08:49:48  <guybrush_>i mean this goes somehow beyond simple websites where i have a view for this and that
08:50:14  <guybrush_>but maybe i am thinking too complex
08:51:02  <guybrush_>there is a goole-project html5-game thing, they implement a network-layer where they send actual code
08:51:20  <guybrush_>and evaluate it on the client
08:54:18  <guybrush_>Raynos: threenodes is just a json-format to describe a graph where points represent computations on input to generate output, input and output can be sticked into/from other points
08:54:37  <Raynos>o_o
08:54:53  <guybrush_>so a node can be function(input){return input[0]+input[1]}
08:55:05  <Raynos>too abstract
08:55:23  * ryan_stevensquit (Quit: Leaving.)
08:56:07  <guybrush_>http://en.wikipedia.org/wiki/Vvvv
08:56:20  <Raynos>oh threenodes doesnt work
08:56:22  <Raynos>because its webgl
08:56:35  <guybrush_>do you use internetexplorer?
08:56:56  <Raynos>i use linux
08:56:59  <Raynos>and old graphics cards
08:57:13  <guybrush_>sucks ^^
08:57:15  <Raynos>so webgl is like "FUCK YOUR GRPAHICS CARD. FUCK YOUR DRIVERS"
08:57:21  <Raynos>Anyway
08:57:26  <mbalho>your frugality is like FUCK MODERN THINGS
08:57:28  <guybrush_>well mrdoob is on linux too
08:57:29  <Raynos>Basically visual programming?
08:57:37  <mbalho>substack is running webgl just fine on ubuntu :D
08:57:42  <mbalho>well mostly fine
08:57:42  <Raynos>My coworker wants to do that
08:57:48  <Raynos>mbalho: I am too lazy to hack it to work
08:57:55  <Raynos>ill just not use webgl :D
09:03:02  * farnsworthquit (Ping timeout: 244 seconds)
09:21:53  * farnsworthjoined
09:49:15  * dominictarrjoined
09:51:22  <substack>Raynos: about:flags
09:51:36  <substack>lets you override the webgl blacklist
10:14:39  * thatguydanjoined
10:48:52  <dominictarr>Raynos: can you update your scuttlebutt instance to depend on scuttlebutt ~5.4 ? that adds a new feature that it's gonna need to work with level-scuttlebutt stuff,
10:49:09  <dominictarr>although it's not final yet.
10:52:02  * thatguydanquit (Remote host closed the connection)
10:52:15  * thatguydanjoined
10:52:23  * thatguydanquit (Client Quit)
11:21:52  <substack>mbalho: pull from me then dig a cave
11:21:55  <substack>so much better now
11:22:03  <substack>head collision detection
11:22:17  * juliangruberjoined
11:33:45  <st_luke>everything with the streaming provisioning stuff over secure-peer was going pretty well but then i realized it wasn't going to help if node isn't installed
11:34:00  <st_luke>so im finishing up a tool that installs it remotely similar to how chef does it
11:34:29  <st_luke>then has os.json files that specify dependencies and pre-install steps before building for different OSs
11:35:42  <st_luke>so you can do `installtoolname install [email protected] --remote [email protected]`
11:36:04  <st_luke>and then throw in some options for install location that can be passed to make
11:36:12  <st_luke>hooray for automation
11:40:47  <substack>hooray!
11:41:02  <substack>will this tool show up on github?
11:41:03  * dominictarrquit (Quit: dominictarr)
11:44:12  <st_luke>yeah, i just have to finish up some stuff hopefully before i get too sleepy
12:11:54  * AndChat|648704joined
12:15:59  * AndChat648704quit (Ping timeout: 255 seconds)
12:19:44  * AndChat|648704quit (Quit: Bye)
12:20:04  * AndChat648704joined
12:21:29  * ralphtheninjajoined
12:24:54  * ralphtheninjaquit (Read error: Operation timed out)
12:48:02  <substack>http://substack.net/projects/boxel/
13:17:19  * st_lukequit (Remote host closed the connection)
14:23:49  * dominictarrjoined
14:30:43  * dominictarrquit (Quit: dominictarr)
14:34:24  * dguttmanjoined
15:01:52  * dguttmanquit (Quit: dguttman)
15:10:52  * dguttmanjoined
15:21:05  * ralphtheninjajoined
15:26:40  * AndChat|648704joined
15:27:30  * AndChat|648704quit (Client Quit)
15:27:50  * AndChat|648704joined
15:28:54  * AndChat648704quit (Ping timeout: 264 seconds)
15:43:06  * AvianFlujoined
16:26:57  * AndChat648704joined
16:30:34  * AndChat|648704quit (Ping timeout: 240 seconds)
16:33:48  <hij1nx>why the heck are the html5 standards people still using svn?
16:56:55  * defunctzombie_zzchanged nick to defunctzombie
17:02:38  * st_lukejoined
17:03:32  * jez0990joined
17:06:59  * mikealquit (Quit: Leaving.)
17:23:26  <st_luke>ROBOTS http://www.youtube.com/watch?v=3RBSkq-_St8
17:32:32  * mikealjoined
17:38:44  * chadskidmorequit (Quit: ZNC - http://znc.in)
17:40:53  * chadskidmorejoined
17:47:36  * ryan_stevensjoined
17:55:27  * defunctzombiechanged nick to defunctzombie_zz
18:00:15  * defunctzombie_zzchanged nick to defunctzombie
18:04:13  * dominictarrjoined
18:05:17  * defunctzombiechanged nick to defunctzombie_zz
18:08:34  <fotoverite>Drummer robot is cheating he has four arms!
18:09:32  * dominictarrquit (Read error: Connection reset by peer)
18:09:48  * dominictarrjoined
18:14:26  <hij1nx>rvagg: if you open a level instance and then open it again, does the close method's callback still fire for you?
18:15:21  <hij1nx>the second open call should tell you that there is a lock, because its already open, but then you should be able to close it.
18:30:50  * tilgovijoined
18:35:14  * tilgoviquit (Remote host closed the connection)
18:43:17  * shuaibjoined
18:43:38  * jibayjoined
18:43:41  * dominictarrquit (Quit: dominictarr)
19:05:04  * defunctzombie_zzchanged nick to defunctzombie
19:43:26  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
19:48:15  <mbalho>substack: hmm i still get stuck in the walls quite often in caves
19:51:05  * jibayquit (Quit: Leaving)
19:56:00  <gozala>Raynos: yes it returns reducible back that will yield once it's finished
19:56:17  <gozala>Raynos: or you could treat that result as promise
19:56:24  <gozala>but I'm going to deprecate later
19:56:49  <gozala>in 3.0 which will remove anything promise related
19:57:18  <gozala>Raynos: That was answer to:
19:57:19  <gozala>gozala: does fold have a notion of end / finish?
19:58:11  <gozala>As of the following: 18:35 <Raynos> gozala: I want window & document to work in node-interactivate :D
19:58:29  <gozala>I'm not sure what you're expecting there
19:58:45  <gozala>node-interactivate executes code in node itself
19:59:33  <gozala>I think what you want is browser-interactivate but with a `require` working with your package
20:00:08  <gozala>which I'd love to do to, but that would either involve rewriting browserify
20:00:19  <gozala>or waiting for substack to do it :)
20:00:28  <gozala>I chose later
20:02:50  * nk109joined
20:04:09  * ITproquit (Ping timeout: 260 seconds)
20:04:45  * ITprojoined
20:05:33  <Raynos>gozala: morning :D
20:06:10  <Raynos>gozala: so in 3.0 how do I do `fold(fold(stream, onItem), onEnd)`
20:06:57  <gozala>fold(fold(stream, accumulate), handleAccumulateValue)
20:07:12  <Raynos>will that work in 3.0 when you remove the promise?
20:07:18  <gozala>yes
20:07:28  <Raynos>how?
20:08:27  <Raynos>what will fold return that's not a promise but is async
20:08:38  <gozala>reducible
20:09:15  * nk109quit (Quit: Computer has gone to sleep.)
20:09:39  <gozala>Raynos: it's here https://github.com/Gozala/reducers/pull/31/files
20:10:27  <gozala>Raynos: well I still call it promise there but it's just a reducible
20:10:58  <gozala>Raynos: only thing to watch there is that if fold(stream, accumulate)
20:11:41  <gozala>accumulates something that equivalent of empty stream your handleAccumulateValue won't actually be called
20:16:19  <defunctzombie>pkrumins: got a minute to help me figure out why (http://ci.testling.com/shtylman/dom) is failing on your firefox?
20:16:26  <pkrumins>looking
20:16:59  <defunctzombie>I can run it locally on my versions and it works
20:18:18  <pkrumins>can you send a test hook for the same commit?
20:18:30  <pkrumins>i logged on the server that runs firefoxes
20:19:16  <Raynos>gozala: It does actually accumulate equivelant of empty stream :P
20:19:25  <Raynos>but screw that
20:19:28  <Raynos>ill just fix it
20:21:07  <defunctzombie>pkrumins: done
20:21:20  <pkrumins>hmm
20:21:31  <pkrumins>didn't go through
20:21:35  <pkrumins>or there is a dealy. waiting.
20:21:50  <pkrumins>here it goes.
20:24:53  <pkrumins>defunctzombie: i see, it's the browser isolation bug
20:24:59  <defunctzombie>?
20:25:34  <pkrumins>defunctzombie: firefox instances share the engine, so if someone runs a test on firefox 3, and then you run a firefox 15 test, the firefox 15 will use firefox 3 engine.
20:25:48  <defunctzombie>wut
20:26:06  * tilgovijoined
20:26:10  <fotoverite>wut
20:26:35  <defunctzombie>pkrumins: that sounds terrible
20:26:37  <fotoverite>This almost hurts my head as much as firefox on iPhone being a skin on webkit
20:27:03  <pkrumins>defunctzombie: same for chrome
20:27:53  <pkrumins>defunctzombie: i'll have this solved soon
20:28:10  <pkrumins>right after i'm done with ie10 for testling, which i'm working on right now
20:28:27  <pkrumins>so in the next several days.
20:28:56  <defunctzombie>pkrumins: cool, you guys are doing an amazing job :)
20:29:02  <defunctzombie>making all our lives easier
20:30:13  <pkrumins>thanks
20:30:35  <defunctzombie>I think you guys need https for the status badges tho
20:31:03  <defunctzombie>as gozala noted earlier, github caches seem to be causing issues otherwise for badges on readmes
20:31:08  <pkrumins>we can get a certificate
20:31:17  <defunctzombie>they are super cheap
20:31:20  <defunctzombie>no reason not to :)
20:31:26  <pkrumins>yes we have one for browserling.com
20:31:30  * ITproquit (Ping timeout: 265 seconds)
20:31:52  <pkrumins>defunctzombie: i didnt know github cached badges
20:32:22  <defunctzombie>pkrumins: something happens cause my readme badges don't update correctly
20:32:32  <pkrumins>inspecting
20:32:40  * ITprojoined
20:32:58  <defunctzombie>pkrumins: I think it is because http:// is used and github takes that and serves it over its akamai https
20:33:02  <pkrumins>https://a248.e.akamai.net/camo.github.com/09be25dede2af0107dd4174168f8ed2c77d3569d/687474703a2f2f63692e746573746c696e672e636f6d2f736874796c6d616e2f646f6d2e706e67
20:33:07  <pkrumins>they cdn the badges
20:33:13  <defunctzombie>to avoid serving non https on https pages
20:33:19  <defunctzombie>they don't for travis
20:33:22  <pkrumins>but what does https vs http have to do with that
20:33:35  <defunctzombie>pkrumins: if you serve http on https pages
20:33:36  <pkrumins>they have some kind of partnership with travis though
20:33:41  <pkrumins>defunctzombie: yes?
20:33:41  <defunctzombie>the browser complains
20:33:51  <pkrumins>right.
20:34:05  <defunctzombie>so they may be detecting this in their rendering and replacing it..
20:34:08  <defunctzombie>just a hypothesis
20:34:12  <defunctzombie>it may not be true
20:34:16  <defunctzombie>but can easily be tested ;)
20:34:31  <pkrumins>ah
20:37:33  * ITproquit (Client Quit)
20:37:58  * ITprojoined
20:39:09  <pkrumins>defunctzombie: confirmed
20:39:17  <pkrumins>defunctzombie: https resources dont get cdnd
20:39:21  <defunctzombie>coo
20:39:26  <pkrumins>so i'll get a cert
20:45:34  <mbalho>substack: pull from me, i found three.js and requestanimationframe on npm and added those as deps
20:48:09  <chrisdickinson>mbalho: also, raf
20:48:17  <chrisdickinson>http://github.com/chrisdickinson/raf
20:51:37  * AndChat648704quit (Read error: Connection reset by peer)
20:55:12  <mbalho>o rly
20:55:22  <mbalho>ok switching to that
20:55:44  <mbalho>other one isnt maintained well
20:56:58  <mbalho>chrisdickinson: npm install three is published by one of the core contributors but it only has recent dev versions
21:02:04  <mbalho>chrisdickinson: why scope your raf to an element?
21:02:33  <mbalho>chrisdickinson: it would be nice to also expose the polyfill for global raf so its a plug and play polyfill
21:11:01  <chrisdickinson>ah
21:11:03  <chrisdickinson>good point!
21:11:44  <chrisdickinson>did not realize that "element" was optional. will update.
21:12:05  <chrisdickinson>from mdn, "For other elements, you can leave out this parameter or provide it for a slightly more optimized experience."
21:12:40  <mbalho>chrisdickinson: also i dont think its using `window` as `this` properly when i browserify
21:12:48  <mbalho>so it is falling back to settimeout
21:13:20  <chrisdickinson>oo.
21:13:23  <mbalho>chrisdickinson: an api where you give it a function and it calls your function would be compatible as a polyfill
21:13:42  <mbalho>e.g. withotu on('data')
21:17:59  <defunctzombie>how does one end up with a 16k line xml file?
21:18:49  <mbalho>fear leads to anger, anger leads to hate, hate leads to xml
21:20:58  <defunctzombie>hmmm I sense much fear in this young padawn
21:23:12  <chrisdickinson>mbalho: so i made the polyfilled function available as `require('raf').polyfill` to disregard the event emitter raiment
21:23:25  <mbalho>sweet
21:23:27  <chrisdickinson>the event emitter stuff is just there so i can feed the listener a dt
21:23:51  <mbalho>that is useful but its good the straight polyfill is available too
21:24:09  <chrisdickinson>cool, published it as 0.0.1
21:24:18  <mbalho>its pretty funny to use settimeout to animate my game though because now it runs at 130 fps and everything is super sped up
21:24:27  <chrisdickinson>weird!
21:24:36  <chrisdickinson>it'll try to use setImmediate if it's available too
21:24:38  <mbalho>raf pegs at 60
21:28:31  <mbalho>chrisdickinson: sweet now this uses require('raf') and the dt http://maxogden.github.com/voxel-engine/
21:28:39  <chrisdickinson>:D
21:50:20  <Raynos>chrisdickinson: why does raf return a stream?
21:50:45  <chrisdickinson>Raynos: it doesn't
21:50:55  <gozala>oh lisps are so much fun
21:50:56  <chrisdickinson>it returns an eventemitter that *could* be treated as a stream
21:50:56  <gozala>https://gist.github.com/4457303
21:51:38  <chrisdickinson>though it might be better to treat it as a full readable stream, where the userland data being emitted is timedeltas from the last stream.
21:51:44  <chrisdickinson>*from the last update
21:52:32  <chrisdickinson>event emitter seemed simpler, though. plus it makes life easier if you want to add multiple listeners (for debugging, etc.) down the line (over just giving it a callback).
21:56:59  <defunctzombie>MY NEXUS 4 IS HERE!!!
21:59:06  * Raynos_joined
21:59:11  <Raynos_>Oh hi
21:59:22  <Raynos_>chrisdickinson: why is raf a stream?
21:59:31  <Raynos_>Why does raf use `function () { setTimeout(cb, 0) }`
21:59:43  <chrisdickinson>Raynos_: did you miss my response?
21:59:45  <Raynos_>raf should be at 60 fps not as fast as possible
21:59:48  <Raynos_>Yes
21:59:50  <chrisdickinson>ah
22:00:05  <chrisdickinson>it's not a stream
22:00:06  <mbalho>dont listen to him his computer cant even run webgl
22:00:11  <chrisdickinson>haha
22:00:31  <chrisdickinson>it *could* be a stream, and maybe should be, considering it can be turned on and off -- a stream of timedeltas from the last frame
22:01:04  <chrisdickinson>but for simplicity it's an eventemitter. which is nice if you need to add multiple listeners (e.g., for debugging, or separating game loop logic).
22:01:13  <Raynos>That other guy
22:01:13  <Raynos>is an imposter
22:01:13  <Raynos>GET HIM!
22:01:37  <Raynos>anything that has pause / resume and emits data should be a stream
22:01:43  <Raynos>anyway I digress
22:02:28  <mbalho>emit-stream: what now, science!
22:03:17  <mbalho>substack: im heading downtown to hack at awaken and then going to mikeals bday party later in emeryville
22:03:27  <mbalho>(its on gather)
22:05:50  <Raynos_>chrisdickinson: just fix the cross browser raf to not use setTimeout(cb, 0)
22:05:56  <Raynos>chrisdickinson: just fix the cross browser raf to not use setTimeout(cb, 0)
22:06:03  <Raynos_>Oh great -.-
22:06:04  <chrisdickinson>whoa, multi-raynos
22:06:12  <chrisdickinson>it's like pinball!
22:06:14  <Raynos_>I hate shitty web services
22:07:58  <chrisdickinson>Raynos_: you'd prefer setTimeout(cb, 33)?
22:08:06  <chrisdickinson>or 16?
22:14:53  * AndChat648704joined
22:17:42  <Raynos_>60 fps
22:17:46  <Raynos_>setImmediate is wrong to
22:17:49  <Raynos_>go read the raf spec
22:17:52  <Raynos_>and see what the fps should be
22:19:15  <CoverSlide>royal air force?
22:21:03  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
22:21:03  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
22:21:41  <chrisdickinson>Raynos_: just did, it says "refresh rate"
22:21:43  <CoverSlide>Raynos_: http://www.w3.org/TR/animation-timing/ < -- can't see any specifics about the frame rate
22:21:46  <chrisdickinson>which *could* be 60hz
22:21:50  <chrisdickinson>or more, or less.
22:22:00  <chrisdickinson>this is equivalent to running with vsync disabled.
22:22:19  <CoverSlide>chrisdickinson: i think that's the thing, it should vary from device. you should use the timestamp argument to see what the current time difference is
22:23:15  <CoverSlide>having to update game state on a per-frame basis is the wrong way to go, it should be based on time difference
22:23:40  <chrisdickinson>CoverSlide: that's why the event emitter emits "dt" events
22:23:55  <chrisdickinson>well, the "data" event emits the time delta from the last frame rendered
22:24:53  <chrisdickinson>and helpfully, some browsers implement the timestamp-as-an-argument, and others don't (IE10)
22:25:19  <chrisdickinson>so i just normalize around "Date.now()"
22:25:26  <CoverSlide>o seriously? that's shitty
22:25:43  * chrisdickinsonshrugs
22:26:24  <chrisdickinson>the timestamp arg isn't going to be any higher or lower resolution than Date.now(), and it's not a delta itself
22:26:32  <CoverSlide>true
22:27:37  <chrisdickinson>plus, minimum resolution on setTimeout is usually in the 10ms range, which is not-so-far-off from the 16.666666 required for 60fps
22:27:47  <Raynos_>chrisdickinson, CoverSlide: that means screen refresh rate
22:28:42  <Raynos_>so I would use 16ms on setTimeout
22:28:46  <Raynos_>definintely not setImmediate
22:28:51  <Raynos_>thats going to spam the hell out of me
22:28:56  <Raynos_>minimum resolution on setTimeout is 4ms
22:29:17  <chrisdickinson>minimum resolution changes per environment.
22:30:08  <CoverSlide>how about envronments without RAF are SOL
22:34:45  <Raynos_>well defaulting to 60fps
22:34:47  <Raynos_>makes sense
22:34:55  <Raynos_>what else would you want to default to
22:36:52  <mbalho>default to who cares about browsers without RAF
22:36:54  <mbalho>:)
22:42:31  <chrisdickinson>Raynos_: setTimeout 0 should be fine for browsers without RAF, i think
22:42:38  <chrisdickinson>you're right about setimmediate though, i think
22:43:11  <Raynos_>just do setTimeout 16
22:43:17  <Raynos_>actually
22:43:25  <Raynos_>yeah just do 16
22:43:50  <Raynos_>mbalho: I want to support IE9
22:44:52  <chrisdickinson>here's the problem, on browsers sans raf i want to tend towards giving them more chances to render frames, because they'll likely be rendering slower than browsers with raf.
22:45:15  <chrisdickinson>their minimum resolution is usually in the 10-12ms range as it is, iirc
22:46:30  <Raynos_>meh 10 might be fine
22:54:57  <mbalho>substack: why use npm inherits instead of require('util').inherits
22:57:43  <Raynos_>SOLVE ALL THE PROBLEMS
22:58:20  <Raynos_>mbalho: because `require("util")` is synthetically unpleasing
22:58:38  <mbalho>is that seriously the reason
22:58:48  <CoverSlide>NPM ALL THE THINGS!
22:59:04  <mbalho>perfectionism is an ailment
22:59:07  <CoverSlide>i do agree though require('util').inherits is ugly and tedious
22:59:26  <CoverSlide>i remember when util only had inherits
23:00:05  <mbalho>this is a bigger bike shed than jquerys .map(id, el)
23:00:25  * mbalhoragequites
23:00:26  <mbalho>damnit
23:00:30  <mbalho>i cant even ragequit properly
23:00:51  <CoverSlide>var Array = require('Array')
23:02:01  <defunctzombie>all util file should die
23:02:13  <defunctzombie>also, you can just do .prototype.__proto__ = whatever.prototype
23:02:14  <CoverSlide>agreed
23:02:19  <defunctzombie>but that won't be supported on IE
23:02:32  <defunctzombie>so easier to just use the inherits module (not the shit in utils)
23:04:00  <substack>mbalho: I do it because that's what isaacs does
23:04:17  <substack>mbalho: it's also much nicer for browserified code because inherits is tiny
23:04:24  <mbalho>substack: good reason
23:05:29  <mbalho>substack: what is the command for browserify watch
23:05:40  <mbalho>substack: for browserify demo/demo.js > dist/browserify-bundle.js
23:07:16  <substack>browserify demo/demo.js -o dist/browserify-bundle.js --watch
23:07:25  <mbalho>sweet, updating makefile
23:07:37  <substack>you can also tack --debug on the end of that to get better line numbers
23:10:14  <mbalho>substack: does browserify demo/demo.js -o dist/browserify-bundle.js --watch run once on start or only after a watch
23:10:51  <rvagg>hij1nx: we probably need some test cases to cover multiple open/close cases, not great coverage there atm so I'm not sure about the answer to your question
23:10:56  <rvagg>hij1nx: feel free to contribute tests!
23:10:57  <substack>it runs at start and every time a file updates
23:11:42  <mbalho>cool
23:15:40  <CoverSlide>substack: it detects required files or just does a directory watch?
23:19:20  <substack>mbalho: sh: 1: ECHO: not found
23:19:21  <substack>npm ERR! [email protected] preinstall: `ECHO todo`
23:19:28  <substack>npm ERR! Failed at the [email protected] preinstall script.
23:21:13  <mbalho>hmm wtf
23:21:41  <mbalho>substack: mine didnt fail
23:21:45  <mbalho>substack: i jsut get:
23:21:45  <mbalho>> [email protected] preinstall /Users/maxogden/src/voxel-engine/node_modules/three
23:21:49  <mbalho>> ECHO todo
23:21:51  <mbalho>todo
23:22:06  * stlsaintquit (Ping timeout: 276 seconds)
23:23:09  <mbalho>substack: just pushed an update that lets you stand on a block and jump up and look down and place a block to make huge block towers
23:23:42  <substack>mbalho: you could already do that
23:24:08  <defunctzombie>CoverSlide: required files
23:24:23  <mbalho>substack: didnt work for me and a friend of mine said it didnt work for him either
23:24:37  <substack>the jump timing was just a little hard to get right
23:24:41  <substack>I made some towers though
23:27:54  <mbalho>substack: weird, http://maxogden.github.com/voxel-engine lets me make towers but before updating jump speed to 5 i couldnt
23:32:33  <substack>[email protected] installs without preinstall errors and it works
23:33:14  <mbalho>substack: latest 0.54 didnt work, you can change package.json to 54.5 if you want. i dont know why you got preintall erorrs and i didnt though
23:33:22  <mbalho>substack: i have npm version 1.1.62
23:35:28  * tilgoviquit (Remote host closed the connection)
23:38:37  <mbalho>substack: https://npmjs.org/package/voxel-engine
23:38:43  <mbalho>substack: im gonna make a new module voxel-server
23:42:41  <substack>does ECHO work on mac?
23:42:45  <substack>linux is case insensitive
23:42:54  <substack>*sensitive
23:42:58  <substack>mac isn't
23:44:42  <mbalho>yea it does
23:45:13  <substack>that's probably why
23:48:51  <CoverSlide>by default.
23:48:58  <st_luke>yea you can set your fs to case sensitive
23:49:03  <CoverSlide>it can be installed case-insensitively
23:49:09  <CoverSlide>s/in//
23:51:35  <rvagg>guys, what's the easiest way to push a local directory's contents to a remote machine with Node? a form of rsync would be good, only push deltas
23:52:02  <defunctzombie>st_luke: how can you set it to be case sensitive? and what will break?
23:52:14  <st_luke>defunctzombie: you have to reformat your drive
23:52:21  <substack>rvagg: git
23:52:33  <rvagg>substack: will propagit do that kind of thing for me?
23:52:51  <st_luke>defunctzombie: but stuff should still work the same as far as i know
23:53:05  <defunctzombie>oh.. well so much for that
23:54:08  <st_luke>I think about it any time i get a new hard drive but then i end up doing the default which is not case insensitive
23:56:54  <substack>rvagg: don't use propagit
23:57:01  <substack>pushover maybe
23:57:07  <substack>or there's git daemon built into git already
23:57:40  <rvagg>oh, didn't know that, neat
23:58:00  <CoverSlide>three-0.54.11-dev is the latest it works with that 0.54.0 has that shitty ECHO thing
23:58:54  <mbalho>.11-dev doesnt work with our app though
23:59:00  <CoverSlide>oh
23:59:01  <mbalho>i just want 0.54 stable
23:59:03  <mbalho>but they dont publish it to npm