00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:05:33  * AvianFlujoined
00:06:25  * mikolalysenkoquit (Ping timeout: 248 seconds)
00:10:36  * tilgoviquit (Remote host closed the connection)
00:18:58  * tphummeljoined
00:19:21  * st_lukejoined
00:22:19  * tphummelquit (Client Quit)
00:27:30  * dominictarrjoined
00:28:53  <dominictarr>Raynos: anyway
00:29:04  <Raynos>oh hi
00:29:23  <Raynos>cianomaidin: o/
00:29:39  <dominictarr>so we found this guy, and nearform is organizing a workshop where he's gonna come to ireland and teach us everything he knows
00:29:53  <Raynos>nice.
00:30:00  <cianomaidin>Raynos: hey yo
00:30:04  <Raynos>I want to be there to build topologies
00:30:05  <Raynos>and stuff
00:30:28  <Raynos>if we can have proper infrastructure that scales
00:30:33  <Raynos>then the rest is building js apps
00:32:17  <dominictarr>yes!
00:32:38  <dominictarr>we've got to show him that node.js has lots of crazy people who are all building next-level stuff
00:32:55  <dominictarr>that it's a dynamic systems language
00:33:30  <dominictarr>mbalho: https://github.com/dominictarr/semver-ftw
00:34:19  <dominictarr>mbalho: http://www.youtube.com/watch?v=MNzMNjW8oGs
00:36:40  * mikealjoined
00:37:37  <dominictarr>Raynos: so, you are coming to ireland then? it's at the end of march!
00:37:52  <Raynos>I want to
00:37:55  <Raynos>not sure whether I can
00:37:57  * mikolalysenkojoined
00:38:04  <Raynos>have a friend visiting SF 14th - 21st march
00:38:57  <ralphtheninja>oh bummer
00:39:02  <dominictarr>oh, it's not gonna clash with that
00:39:21  <ralphtheninja>it's on the 31st of March and 1st of April
00:39:25  <cianomaidin>Raynos: but 30th and 31st march is not quite a clash
00:39:36  <Raynos>oh then it may work
00:39:42  <Raynos>I just need to mentally condition myself
00:39:42  <ralphtheninja>make it work! :)
00:39:44  <cianomaidin>Raynos: in fact it leave a good buffer for guinness
00:39:46  <Raynos>to fly to ireland
00:39:51  <dominictarr>Raynos: also 1st April is my birthday!
00:40:02  <cianomaidin>Raynos: Dominic is 30
00:40:08  <ralphtheninja>we're going to have the workshop on dominics boat
00:40:22  <ralphtheninja>:p
00:40:43  <dominictarr>I'm getting a boat for my 30th? thanks nearform!
00:40:47  <ralphtheninja>hehe
00:40:58  <cianomaidin>Raynos: 31st could be an interesting day ; p2p in a boat
00:41:14  <cianomaidin>boat peer
00:41:15  <cianomaidin>?
00:41:15  <ralphtheninja>it's a submarine
00:41:17  <cianomaidin>day
00:41:32  <cianomaidin>birth boat peer day
00:41:41  <ralphtheninja>that would be cool though, to have a conference under the sea
00:41:49  <cianomaidin>subconf
00:41:55  <ralphtheninja>hehe
00:42:02  <ralphtheninja>pubconf
00:42:05  <cianomaidin>we could get substack to be the ship captain
00:42:58  <ralphtheninja>it would be awesome if you could make raynos, we need some bad ass dudes there
00:43:02  <ralphtheninja>make it*
00:43:38  <Raynos>are we really doing this
00:43:40  <Raynos>on a submarine
00:43:42  <Raynos>in ireland?
00:43:55  <dominictarr>on a submarine in international waters
00:43:58  <Raynos>send me some details by gist or email to get me really pumped and ill fly down
00:44:08  <Raynos>but first
00:44:10  <ralphtheninja>by gist? lol
00:44:11  <Raynos>RAGEQUIT @ STREAMS 2
00:44:12  <LOUDBOT>AND THEN IT KINDA JUST SNOWBALLED FROM THERE
00:47:33  * CryptoQuickquit (Read error: Connection reset by peer)
00:47:54  * CryptoQuickjoined
00:48:42  <Raynos>I recommend you just never use node streams, ever. It's easier that way. Just use ruby on rails
00:49:00  <Raynos>you can scale horizontally by buying more dynos from heroku
00:49:44  <mbalho>you laugh but that is a more viable model for lots of people :)
00:54:35  <Raynos>I know
00:55:03  <dominictarr>that is only if you are building CRUD apps
00:55:09  <substack>Raynos: I just use the old streams because they work and I don't need to upgrade anything
00:55:29  * naomiquit (Quit: Leaving.)
00:55:29  <substack>I'll use streams2 when it's easy and everyone is already using them
00:55:32  <dominictarr>that is a seam that hasn't been totally mined yet, but it has been worked over
00:56:02  <Raynos>substack: I have zero confidence in that back pressure works
00:56:08  <Raynos>I hate back pressure. it's hard.
00:56:19  <dominictarr>substack: if you use Through#queue then it will just drop into streams2
00:56:30  <dominictarr>you'll just go require('through/streams2')
00:56:44  <dominictarr>and it will be exactly the same API but give you streams2
00:56:53  <dominictarr>duplex will do that as well.
00:57:01  <substack>Raynos: just use through and other libs to handle all that crap
00:57:06  <Raynos>no
00:57:09  <substack>core libs are low-level and hard
00:57:12  <Raynos>thats called buffer all the things in memory
00:57:30  <substack>find a module to set watermarks
00:57:39  <Raynos>I am, it's called readable-stream
00:57:45  <Raynos>and it's annoyingly difficult to get right
01:00:49  <Raynos>streams2 are a good idea. they are just hard. which is frustrating
01:01:19  <substack>pesky
01:01:30  <Raynos>once they are "done"
01:01:32  <Raynos>then everything is good
01:01:35  <Raynos>and nice
01:01:45  <dominictarr>Raynos: streams are hard. it took me 6 months before I realized I could just make through
01:01:56  <Raynos>btw I wrote https://gist.github.com/Raynos/d76ef926edb849cd10a1 earlier
01:05:50  <Raynos>as documentation of what streams2 readable's look like
01:06:01  <substack>I just use through because I can just write 1 or 2 functions and it all pretty much works
01:06:40  <Raynos>dominictarr: queue will need to return a boolean to say whether the buffer is full and whether you should stop queuing data
01:06:50  <Raynos>thats what push() does
01:06:56  <Raynos>otherwise through's buffer fills up forever
01:07:18  <dominictarr>you can just check the length
01:07:37  <dominictarr>if you can't just stick things in, then you have the same problem
01:07:49  <dominictarr>through is for small streams
01:08:18  <dominictarr>it's the readable at the start of the pipeline that needs to be responsible for not bringing too much into memory
01:08:49  <Raynos>I guess your right
01:09:00  <Raynos>unless one of your through's is an expand
01:09:14  <Raynos>in which case through's later down the pipeline may care
01:09:49  <dominictarr>mostly through isn't used like that.
01:10:00  <dominictarr>I have never actually written an expand stream
01:10:05  * tphummeljoined
01:14:34  <Raynos>json parse is expand
01:14:41  <Raynos>conceptually
01:21:59  * tphummelquit (Quit: tphummel)
01:22:58  * rvaggjoined
01:24:34  <mbalho>dominictarr: sent you a pull req
01:30:04  * mmckeggjoined
01:33:29  <dominictarr>mbalho: whats a story about the bug in pepperoni()?
01:35:11  <mbalho>dominictarr: the chef got fired
01:35:24  <mbalho>for not using semver
01:38:05  <mbalho>seagulls in wellington are pretty aggressive towards one another
01:40:19  <dominictarr>maybe the issue that it was pepperoni supplier turned out to be from a factory farm, and then it's upgraded to an organic artisanal salami supplier.
01:44:25  <Raynos>dominictarr: semantically can you change a feature without breaking back compat
01:44:31  <Raynos>and should that be major or minor
01:44:52  <dominictarr>that should be a patch
01:45:10  <dominictarr>if it doesn't change the surface api
01:45:26  <dominictarr>like if you go through and refactor it's a patch
01:46:37  * cianomaidinquit (Quit: cianomaidin)
01:46:53  <Raynos>i mean change the semantics
01:46:58  <Raynos>but not in a back compat breaking fashion
01:47:11  <Raynos>i guess thats a new feature
01:47:19  <Raynos>or your wrong about "not breaking backcompat"
01:47:48  <Raynos>does anyone have a shim for 0.9 setImmediate ?
01:50:58  <mbalho>Raynos: if i depend on a module by doing ~0.0.1 and the maintainer ships 0.1.0 after they 'change semantics' but it has the exact same API then i would say that is less ideal because my module wont get the refactor until i upgrade my package.json
01:51:15  <Raynos>thats abuse
01:51:20  <Raynos>then depend on ~0.0
01:51:20  <mbalho>which part
01:51:31  <Raynos>which means you get 0.0 -> 0.9.9
01:52:20  <mbalho>i only want 0.0.0 - 0.0.infinity though since that is the range that the api will still work as per semver
01:52:56  <mbalho>what is an example of changing semantics withotu adding features
01:53:02  <mbalho>that isnt a bug fix/refactor
01:53:15  <Raynos>changing semantics is adding or removing features
01:53:19  <Raynos>im too tired for this
01:55:10  <dominictarr>Raynos: what do you mean 'change semantics'?
01:55:14  <mbalho>Raynos: do you have a concrete example of changing semantics without introducing any new apis
01:55:15  <Raynos>i dont know
01:55:17  <Raynos>no
01:55:18  <Raynos>no examples
01:55:19  <Raynos>im wrong
01:55:24  <Raynos>i retract whatever I said
01:55:36  <dominictarr>if the api has changed, it's but is backcompat, that is minor
01:55:54  <dominictarr>if it's changed and not backcompat, that is major
01:56:15  <dominictarr>if the api has not changed, it's a patch.
01:56:30  <mbalho>i think maybe there are 2 definitions of backcompat here
01:56:58  <mbalho>one where the program doesnt break and one where the program works as expected
01:57:21  <mbalho>subhtle but imporotant difference
01:58:10  <dominictarr>that is a blury difference, I think
02:02:06  <mbalho>basically if you push a new version and it creates a new bug in my module then it should be a major version, e.g. the 'api' is the same but the usage (semantics?) are different
02:13:44  <Raynos>backcompat means a test suite with 100% coverage
02:13:47  <Raynos>still passes
02:13:55  <Raynos>or whatever
02:13:57  <Raynos>Who gives a fuck
02:13:59  <Raynos>we know what it means
02:14:10  <Raynos>well actually backcompat is blury
02:14:18  <Raynos>who cares.
02:15:15  * ins0mniaquit (Ping timeout: 252 seconds)
02:16:40  <mbalho>Raynos: ... you brought it up
02:16:46  <Raynos>:D
02:16:49  <Raynos>shoot me.
02:16:51  <dominictarr>so, this is "BEST EFFORT"
02:17:12  <dominictarr>100% code coverage might not cover all states / code paths
02:17:22  <mbalho>unless you use haskell
02:17:38  <dominictarr>yeah, or ada2012
02:18:41  <dominictarr>but if you publish a version that was a breaking change, just fix that and publish a patch
02:19:16  <dominictarr>like, if you publish a bug, or a syntax error, just publish a new patch immediately
02:39:16  * defunctzombie_zzchanged nick to defunctzombie
02:41:18  * st_lukequit (Remote host closed the connection)
02:41:32  <dominictarr>mbalho: http://dominictarr.github.com/semver-ftw/
02:41:41  <dominictarr>http://rumoursdb.com/examples/css-colab/editor.html#semver-ftw
02:41:47  <dominictarr>^ working on the css
02:42:46  * ralphtheninjaquit (Ping timeout: 252 seconds)
02:45:46  <defunctzombie>^ this is why you MUST ALWAYS PIN modules
02:46:04  <defunctzombie>because no one will do it right and no one can be trusted.. all changes are potential breaking changes :)
02:46:08  <defunctzombie>substack: https://github.com/shtylman/node-required/issues/6
02:46:32  <defunctzombie>substack: I think the resolve function will do what he wants.. but I want to tell him he should stop hahah
02:47:35  * AvianFlu_joined
02:48:01  * AvianFluquit (Ping timeout: 248 seconds)
02:48:02  <Raynos>why do we even need node-required
02:48:06  * AvianFlu_changed nick to AvianFlu
02:48:09  <Raynos>why not just parse package.json recursively
02:48:13  <Raynos>and fuck relative requires
02:48:19  <Raynos>if your doing relative requires you should put it in npm
02:48:30  <Raynos>ONE PACKAGE. ONE FILE.
02:48:30  <LOUDBOT>JUST CALL MY PENIS RUM TUM TUGGER AND MY BALLS SIMBA!
02:55:34  <defunctzombie>Raynos: what you said makes no fucking sense :)
02:56:09  <defunctzombie>Raynos: I want my deps in my source so I don't have to go hunting in 300 places for them
02:57:45  <Raynos>it was abad joke
02:57:50  <Raynos>just have 5000 line files
03:01:06  <defunctzombie>bad joke cat does not approve
03:01:15  <defunctzombie>I will concatenate all my files into 1 giant file
03:05:12  * fotoveritequit (Quit: fotoverite)
03:25:02  * thatguydanjoined
03:30:35  <dominictarr>Raynos: "it's too late to change now"
03:30:42  <dominictarr>that is what isaacs will say.
03:30:53  <dominictarr>but we can make node^2 like that
03:31:29  <dominictarr>it would be cool if require('module')
03:31:48  <dominictarr>returned the index if it required the current module
03:32:05  * mikolalysenkoquit (Ping timeout: 256 seconds)
03:32:07  <dominictarr>then examples could just do require('me')
03:32:13  <dominictarr>instead of require('..')
03:32:37  <defunctzombie>dominictarr: that would work if requires looked up the tree for package.json as well as node_modules
03:32:48  <dominictarr>yeah, exactly
03:33:14  <dominictarr>and then require('me/file2')
03:33:58  <dominictarr>so every require would be relative to the current file, although, if you changed the module name, you'd have to update all of that stuff.
03:34:58  <dominictarr>but it would be great for things like tests and examples, which depend on the module, but arn't depended on.
03:35:20  <dominictarr>because that code would look the same as normal user code.
03:36:31  <dominictarr>so, require(X) would look in package.json (if name==X) and then node_modules/X then ../package.json, then ../node_modules/X etc....
03:37:39  <dominictarr>or, should it be node_module/X first?
03:38:43  <dominictarr>adding this could beak a few rare cases, like if you used a symlinked node_modules/X -> ../../
03:40:28  <dominictarr>defunctzombie: even if you do pin everything, you should still TRY to use semver correctly
03:40:43  <defunctzombie>dominictarr: 100% agree
03:40:45  <dominictarr>because it shows intension.
03:40:48  <defunctzombie>dominictarr: semver is for humans
03:41:01  <defunctzombie>pinning is for history
03:43:33  * lyaunzbequit (Remote host closed the connection)
03:44:21  * mikolalysenkojoined
03:54:09  * dominictarrquit (Quit: dominictarr)
03:59:45  * lyaunzbejoined
04:01:33  * jibayquit (Remote host closed the connection)
04:05:21  * Raynosquit (Ping timeout: 248 seconds)
04:12:02  * st_lukejoined
04:14:52  * tim_smartchanged nick to tim_smart|away
04:30:35  * mikolalysenkoquit (Ping timeout: 260 seconds)
04:30:41  * st_lukequit (Remote host closed the connection)
04:36:55  * Raynosjoined
04:36:57  * mikolalysenkojoined
04:46:30  * dguttmanquit (Quit: dguttman)
04:54:30  * dominictarrjoined
04:56:20  * mikolalysenkoquit (Ping timeout: 255 seconds)
05:09:28  * devaholicquit (Read error: Connection reset by peer)
05:12:13  * mikolalysenkojoined
05:23:34  * mikealquit (Quit: Leaving.)
05:27:09  * defunctzombiechanged nick to defunctzombie_zz
05:27:25  * mikealjoined
05:43:04  * mikolalysenkoquit (Ping timeout: 240 seconds)
06:09:12  * mikolalysenkojoined
06:10:04  * dguttman_joined
06:12:28  * dguttman_quit (Client Quit)
06:18:04  * mikolalysenkoquit (Ping timeout: 260 seconds)
06:18:16  * dguttmanjoined
06:25:53  <Raynos>WHY ARE STREAMS SO HARD >:(
06:25:53  <LOUDBOT>MY WIFE LEFT ME AND ALL I GOT WAS THIS BOX OF CHOCOLATES
06:26:01  <Raynos>ragequit forever.
06:32:27  * thatguydanquit (Quit: thatguydan)
06:36:00  * tphummeljoined
06:42:07  * lyaunzbequit (Remote host closed the connection)
06:42:40  * lyaunzbejoined
06:47:15  * lyaunzbequit (Ping timeout: 260 seconds)
06:51:46  * tphummelquit (Quit: tphummel)
06:59:36  * lyaunzbejoined
07:02:58  * dominictarrquit (Quit: dominictarr)
07:14:12  * mikolalysenkojoined
07:18:57  * mikolalysenkoquit (Ping timeout: 248 seconds)
07:27:22  <Raynos>substack: +1 for 0.8 streams
07:27:51  * dominictarrjoined
07:27:56  * cubertquit (Ping timeout: 245 seconds)
07:28:20  * farnsworthquit (Ping timeout: 248 seconds)
07:29:28  <dominictarr>Raynos: streams are just hard. they are hard because the amount of state they have.
07:29:40  <substack>Raynos: I think we just need to let the dust settle for a bit longer
07:29:48  <Raynos>oh for sure
07:29:52  <substack>we'll come up with good idioms but it takes time
07:30:06  <dominictarr>it's not many states, but it's enough to make it challenging.
07:30:07  <Raynos>https://github.com/joyent/node/issues
07:30:22  <Raynos>I started _really_ using streams2 and had to open 5 issues just today
07:30:35  <dominictarr>--and the amount of states is fundamental to streams, whether they are streams1 or streams2
07:30:49  <Raynos>dominictarr: streams2 have crazy states
07:31:05  <Raynos>streams2 do too much, simply put. we need to figure out what the 50% of bullshit is and bin it
07:32:07  <dominictarr>streams 1 was nice.
07:32:50  <substack>vintage
07:32:59  <substack>heirloom streams
07:33:04  <Raynos>well I like that buffering is build into streams2
07:33:06  <dominictarr>"classic streams"
07:33:13  <Raynos>and you can configure it watermarks
07:33:18  <dominictarr>like "classic coke" and "new coke"
07:33:34  <substack>userspace can handle buffering pretty easily though
07:34:08  <dominictarr>Raynos: but you could just use a streams1 base class that does buffering with watermarks
07:34:22  <dominictarr>you need to turn watermarks off for protocol streams, anyway
07:34:29  <Raynos>why?
07:34:51  <Raynos>dominictarr: the nice thing about buffering in core is that all 3rd party streams I use respect it
07:35:03  <Raynos>like req
07:35:04  <Raynos>& res
07:35:14  <dominictarr>because if I connect to a scuttlebutt and send a clock {id: id, clock: {}}
07:35:33  <dominictarr>because it's a new document, but is less than the water mark it will get buffered
07:35:56  <dominictarr>it won't send any more because it's waiting for more data from the other end.
07:36:29  <Raynos>in fact it means you can use streams with express
07:36:31  <Raynos>i hope
07:36:33  <Raynos>oh wait no
07:36:37  <Raynos>bodyParser fucks you over
07:36:37  <dominictarr>it would be silly to send {id: id, clock: {}} \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
07:36:54  <dominictarr>just to get past a watermark
07:37:11  <dominictarr>I made a connect like thing that worked with streams
07:37:17  <dominictarr>but tj didn't like it
07:37:32  * dominictarrpart
07:37:48  * dominictarrjoined
07:37:53  * dominictarrpart
07:38:29  * dominictarrjoined
07:38:45  <dominictarr>http://github.com/dominictarr/mw-pipes
07:39:20  <Raynos>dominictarr: but just configure the lwm
07:39:27  <Raynos>i like readable watermarks
07:39:32  <Raynos>which are different from writable watermarks
07:39:42  <Raynos>/ if read() and then below hwm then _read
07:39:42  <Raynos>// if push() and then below lwm then _read
07:40:03  <dominictarr>sure, just inherit from a WaterMarkedStream
07:40:11  <Raynos>yeah sure :D
07:40:18  <Raynos>i agree streams2 is complex
07:40:19  <Raynos>but fuck it
07:40:23  <Raynos>we'll see how it goes
07:42:41  <dominictarr>RAGEUNQUIT
07:43:09  <substack>SIGRAGE
07:44:21  <dominictarr>ERAYNOS
07:45:03  <substack>http://www.sydneyoperahouse.com/priority/Kraftwerk_Rego.aspx?utm_source=wordfly&utm_medium=email&utm_campaign=Inhouse20Feb&utm_content=version_A
07:45:09  <substack>left .au TOO SOON
07:51:38  <dominictarr>oh wow
08:14:30  * mikolalysenkojoined
08:28:18  * mikolalysenkoquit (Ping timeout: 264 seconds)
08:35:30  * fotoveritejoined
08:40:07  * shuaibjoined
08:44:56  * dguttmanquit (Quit: dguttman)
08:51:06  * calvinfoquit (Read error: Operation timed out)
08:51:29  * calvinfojoined
09:00:06  * thatguydanjoined
09:20:18  <Raynos>https://github.com/Raynos/read-stream
09:20:21  <Raynos>I can finally sleep!
09:24:18  * mikolalysenkojoined
09:27:19  * cubertjoined
09:27:38  * farnsworthjoined
09:29:03  * mikolalysenkoquit (Ping timeout: 244 seconds)
09:34:34  * shuaibquit (Ping timeout: 240 seconds)
09:35:58  * thatguydanquit (Quit: thatguydan)
09:36:09  * shuaibjoined
09:40:34  * shuaibquit (Ping timeout: 240 seconds)
09:46:10  * shuaibjoined
10:00:34  * shuaibquit (Ping timeout: 240 seconds)
10:01:36  * ralphtheninjajoined
10:01:42  * shuaibjoined
10:09:06  * shuaibquit (Ping timeout: 264 seconds)
10:10:14  * shuaibjoined
10:14:34  * shuaibquit (Ping timeout: 240 seconds)
10:16:44  * shuaibjoined
10:17:56  * fotoveritequit (Quit: fotoverite)
10:21:21  * shuaibquit (Ping timeout: 248 seconds)
10:24:44  * cianomaidinjoined
10:25:02  * mikolalysenkojoined
10:29:26  * mikolalysenkoquit (Ping timeout: 255 seconds)
10:33:59  * fotoveritejoined
11:06:04  * chapelquit (Ping timeout: 240 seconds)
11:07:18  * sorensenquit (Ping timeout: 276 seconds)
11:11:59  * chapeljoined
11:12:00  * chapelquit (Excess Flood)
11:12:48  * cianomaidinquit (Quit: cianomaidin)
11:13:51  * sorensenjoined
11:22:48  * cianomaidinjoined
11:27:54  * ralphthe1injajoined
11:28:12  * ralphtheninjaquit (Ping timeout: 252 seconds)
11:28:37  * ralphthe1injachanged nick to ralphtheninja
11:37:28  * tim_smart|awaychanged nick to tim_smart
11:47:28  * cianomaidinquit (Quit: cianomaidin)
11:47:31  * tim_smartchanged nick to tim_smart|away
11:49:51  * CryptoQuickquit (Quit: CryptoQuick)
11:52:54  * cianomaidinjoined
11:57:24  * mirkokjoined
12:07:18  * fotoveritequit (Quit: fotoverite)
12:12:45  * naomijoined
12:14:52  * ins0mniajoined
12:25:14  * CryptoQuickjoined
12:33:19  <dominictarr>substack: is it possible to put two browserify scripts on the same page?
12:35:49  * mirkokquit (Quit: mirkok)
12:36:09  * mirkokjoined
13:07:07  * cianomaidinquit (Quit: cianomaidin)
13:08:10  * thatguydanjoined
13:08:43  <ralphtheninja>dominictarr: is it possible to setup rumours in the client without using browserify?
13:08:59  <dominictarr>yes
13:09:22  <dominictarr>point a script tag at /rumours.js
13:10:31  <ralphtheninja>mind joining #nearform?
13:13:18  * ITproquit
13:13:47  * ITprojoined
13:15:23  <ralphtheninja>dominictarr: ✔
13:16:19  <dominictarr>oh, oops
13:18:48  <ITpro>Peter?
13:28:26  * yorickjoined
13:28:27  * yorickquit (Changing host)
13:28:27  * yorickjoined
13:28:32  * cianomaidinjoined
13:43:18  * tim_smart|awayquit (Ping timeout: 264 seconds)
13:45:47  * tim_smart|awayjoined
13:45:50  * tim_smart|awaychanged nick to tim_smart
14:10:10  * mikolalysenkojoined
14:10:27  * dominictarrquit (Quit: dominictarr)
14:20:41  * CryptoQuickquit (Quit: CryptoQuick)
14:41:31  * CryptoQuickjoined
14:41:46  * CryptoQuickquit (Client Quit)
14:54:17  * jibayjoined
15:05:46  * mikolalysenkoquit (Quit: leaving)
15:17:56  * mikolalysenkojoined
15:18:26  * defunctzombie_zzchanged nick to defunctzombie
15:22:20  * mirkokquit (Ping timeout: 256 seconds)
15:22:45  * mirkokjoined
15:24:09  * dguttmanjoined
15:32:20  * ins0mniaquit (Ping timeout: 256 seconds)
15:34:19  * mikealquit (Quit: Leaving.)
15:45:21  * ins0mniajoined
15:50:08  * mikealjoined
15:53:39  * CryptoQuickjoined
15:55:11  * mikealquit (Quit: Leaving.)
16:05:46  * mikealjoined
16:15:07  <defunctzombie>is anyone else experiencing npm publish issues on 0.8.20/1.2.11 ?
16:21:39  * mikealquit (Quit: Leaving.)
16:23:03  <jesusabdullah>0.8.20? Dang open sauce moves fast
16:23:52  <CoverSlide>true story bro
16:26:19  <jesusabdullah>oh siiick no git tag
16:30:12  * ralphtheninjaquit (Quit: leaving)
16:35:39  * mikealjoined
16:37:55  * thatguydanquit (Quit: thatguydan)
16:38:32  <defunctzombie>isaacs: weird npm publish issue
16:38:41  <defunctzombie>isaacs: I had a package.json inside one of my example folders
16:38:56  <tanepiper>AvianFlu: have you abandoned ntwitter?
16:39:03  * AvianFluquit (Ping timeout: 260 seconds)
16:39:06  <defunctzombie>isaacs: it was malformatted (not evne part of my repo) and npm publish would not publish the main project as a result
16:42:20  * AvianFlujoined
16:45:29  * mikealquit (Quit: Leaving.)
16:49:42  <isaacs>defunctzombie: sounds like a bug in fstream-npm
16:49:49  <isaacs>defunctzombie: patch welcome
16:50:03  <defunctzombie>isaacs: don't really know what that means
16:52:13  <isaacs>defunctzombie: fstream-npm is a node module that walks over a dir tree applying npm's ignore/include rules
16:52:35  <isaacs>defunctzombie: sounds like it should just not treat any non-parsing package.json files as anything special.
16:52:49  <isaacs>defunctzombie: but, really, it shouldn't be a surprise that a file called "package.json", which isn't json, will confuse npm.
16:58:30  * AvianFlu_joined
16:58:46  * AvianFluquit (Disconnected by services)
16:58:50  * AvianFlu_changed nick to AvianFlu
16:59:13  <defunctzombie>isaacs: yea, it should be a surprise
16:59:25  <defunctzombie>that a non root file breaks it
17:00:21  * tilgovijoined
17:01:28  <isaacs>defunctzombie: well, what if it's the root of some new thing?
17:01:50  <isaacs>defunctzombie: but sure, it should only treat them as special perhaps in ./(node_modules/)*package.json paths
17:02:02  <defunctzombie>isaacs: when I am publishing a module
17:02:05  <defunctzombie>there is only one root tho
17:02:13  <isaacs>er, ./(node_modules/[^/]+/)*package.json
17:02:16  <defunctzombie>everything else would be published under that module
17:02:22  <isaacs>defunctzombie: bundledDependencies
17:02:31  <defunctzombie>which are under node_modules tho right?
17:02:34  <isaacs>yeah
17:02:46  <isaacs>./(node_modules/[^/]+/)*package.json
17:02:51  <isaacs>but what if you put a package in ./lib/foo./
17:02:59  <isaacs>and then you have a build script in there
17:03:13  <isaacs>and you have in there a "files":["blah/blerg"]
17:03:19  <isaacs>but your root .npmignore says "ignore all blergs"
17:03:26  <isaacs>and now your bundled lib/foo/ package is broken
17:03:33  <isaacs>because its package.json file isn't respected.
17:04:12  <defunctzombie>run that by me again?
17:04:22  <defunctzombie>if you put a package in ./lib/foo
17:04:29  <defunctzombie>that isn't a module as far as npm is concerned tho
17:04:37  <isaacs>sure it is
17:04:44  <isaacs>you can do require('./lib/foo/') and you'll load it
17:04:44  <defunctzombie>I cannot require('foo')
17:04:47  <isaacs>it's not a dependency
17:04:50  <isaacs>but it's still amodule
17:04:58  <isaacs>and npm shouldn't destroy it
17:05:00  <defunctzombie>sure, but it isn't an npm root level module
17:05:03  <defunctzombie>correct
17:05:08  <defunctzombie>npm should not do anything with it
17:05:12  <defunctzombie>npm install will do nothing
17:05:16  <defunctzombie>npm publish will do nothing
17:05:26  <defunctzombie>as far as top level npm is concerned it is just some files
17:05:32  <defunctzombie>for my overall module
17:10:33  * AvianFlu_joined
17:10:57  * AvianFluquit (Disconnected by services)
17:11:00  * AvianFlu_changed nick to AvianFlu
17:15:13  * arfchanged nick to purr
17:20:01  * naomiquit (Quit: Leaving.)
17:24:28  * mikealjoined
17:34:40  <rowbit>SubStack, pkrumins: At least 5 people waiting in the queue for free servers! (Waiting: 17)
17:46:17  * AvianFluquit (Read error: Connection reset by peer)
17:46:44  * AvianFlujoined
17:49:17  <defunctzombie>rowbit: kill all the dissenters!
17:53:04  * thatguydanjoined
17:54:11  * tphummeljoined
17:55:32  * naomijoined
18:03:20  * lyaunzbequit (Read error: Connection reset by peer)
18:03:40  * lyaunzbejoined
18:04:47  * naomipart
18:16:06  * nk109quit (Quit: Computer has gone to sleep.)
18:23:06  * defunctzombiechanged nick to defunctzombie_zz
18:27:06  * Ikeymanjoined
18:28:39  <Ikeyman>Hello!
18:31:41  * yorick_joined
18:32:28  * yorickquit (Read error: Operation timed out)
18:35:08  * Ikeymanquit (Quit: Ikeyman)
18:36:48  * dguttmanquit (Quit: dguttman)
18:42:59  * cianomaidinquit (Quit: cianomaidin)
18:49:06  * mikolalysenkoquit (Ping timeout: 276 seconds)
18:53:23  * sorensenquit (Quit: ZNC - http://znc.sourceforge.net)
18:55:24  * mikolalysenkojoined
19:03:48  * tim_smartchanged nick to tim_smart|away
19:09:36  * dguttmanjoined
19:10:29  * paul_irish_changed nick to paul_irish
19:11:32  * lyaunzbequit (Remote host closed the connection)
19:13:18  <elliottcable>pkrummins, substack ⑊ er. Does t-CI not operate on any branch except Master, or what?
19:13:22  <elliottcable>can I change that?
19:24:21  * mikealquit (Quit: Leaving.)
19:25:00  * nk109joined
19:27:47  * mikealjoined
19:28:02  * tilgoviquit (Remote host closed the connection)
19:30:05  * chapeljoined
19:33:44  * mikealquit (Quit: Leaving.)
19:35:25  * Ikeymanjoined
19:35:25  * Ikeymanquit (Client Quit)
19:39:22  * lyaunzbejoined
19:54:53  * lepahcjoined
19:55:28  * chapelquit (Quit: ZNC - http://znc.sourceforge.net)
19:55:28  * lepahcchanged nick to chapel
19:58:04  * Ikeymanjoined
19:58:36  <Ikeyman>Hey i need help!
19:59:49  * AvianFluquit (Ping timeout: 246 seconds)
20:00:36  * AvianFlujoined
20:05:55  <tanepiper>http://scotlandjs.com/proposals.html
20:06:08  <Raynos>isaacs, dominictarr: https://github.com/Raynos/read-stream/issues/4 when you have some time, I would love some peer-review on whether I interpreted streams2 correctly
20:06:16  * dominictarrjoined
20:06:39  * defunctzombie_zzchanged nick to defunctzombie
20:12:05  <Ikeyman>any way to get a image of linux running stackvm?
20:12:07  * AvianFluquit (Read error: Connection reset by peer)
20:12:35  * AvianFlujoined
20:14:29  * Ikeymanquit (Quit: Ikeyman)
20:21:03  * AvianFlu_joined
20:21:11  * AvianFluquit (Ping timeout: 260 seconds)
20:26:05  * AvianFlu_changed nick to AvianFlu
20:29:14  * AvianFluquit (Remote host closed the connection)
20:29:52  * AvianFlujoined
20:31:07  * AvianFlu_joined
20:31:31  * AvianFluquit (Disconnected by services)
20:31:33  * AvianFlu_changed nick to AvianFlu
20:38:31  <defunctzombie>substack: do you have something on top of dnode that does events?
20:38:39  <defunctzombie>like if I want the remote side to emit events?
20:38:48  * mikealjoined
20:40:01  <Raynos>just emit events ;)
20:40:17  <Raynos>events are just functions
20:40:56  <Raynos>dominictarr: were you serious about the submarine?
20:41:07  <defunctzombie>Raynos: can I emit on a remote?
20:41:12  <defunctzombie>I guess I can just try it haha
20:41:20  <defunctzombie>but I wasn't sure if all that magic was hooked up too
20:42:20  <dominictarr>Raynos: I am flattered that you think I may be that crazy.
20:42:36  <Raynos>cmon
20:42:40  <Raynos>I'm not going to fly to ireland
20:42:40  <defunctzombie>dominictarr: I have an idea
20:42:48  <Raynos>unless we do the entire thing on a submarine
20:42:53  <Raynos>preferably with a map of the internet
20:46:11  <Raynos>defunctzombie: when are you in SF again? You are coming to nodeconf right?
20:46:30  <defunctzombie>Raynos: google botched the scheduling, so I think I will be in SF mid march
20:46:39  <Raynos>cool
20:46:42  <Raynos>need a place to crash?
20:47:25  * mikealquit (Ping timeout: 246 seconds)
20:48:00  <defunctzombie>Raynos: yea, I think I will
20:48:14  <defunctzombie>Raynos: I want to bounce between a few places and see what I can
20:49:13  <substack>elliottcable: yep, only master works on testling-ci right now
20:49:14  <Raynos>cool
20:49:22  <Raynos>let me know when you arrive
20:49:29  <Raynos>i'm booked between 14th & 21st
20:49:53  <defunctzombie>Raynos: cool, will do
20:53:24  * Ikeymanjoined
20:53:59  <defunctzombie>substack: how goes the quest for browserify v2? any new monsters slain?
20:54:42  * ITproquit (Ping timeout: 264 seconds)
20:55:36  * ITprojoined
21:01:43  * Ikeymanquit (Quit: Ikeyman)
21:02:26  * Ikeymanjoined
21:06:57  * Ikeymanquit (Client Quit)
21:15:06  * cianomaidinjoined
21:29:25  * dominictarrquit (Quit: dominictarr)
21:36:44  <defunctzombie>Raynos: I don't follow what you mean about emitting over dnode
21:36:54  <Raynos>MANY CATS
21:36:54  <LOUDBOT>THOUGH YELLOWFIN DOES DO THAT AS WELL AS AHI DOES
21:37:09  <defunctzombie>cats are not helping me at this time
21:37:17  * mirkokquit (Quit: mirkok)
21:37:25  <Raynos>client calls remote.on(...)
21:37:31  <Raynos>remote calls self.emit(...)
21:37:35  <Raynos>client's callback get's called
21:38:09  <defunctzombie>Raynos: and that will jsut hapen to work because remote is a stream
21:38:15  <defunctzombie>which is an event emitterish
21:38:17  <defunctzombie>type object?
21:38:21  <defunctzombie>I think I follow
21:38:23  <Raynos>it may or may not work
21:38:25  <Raynos>it only works
21:38:35  * mikolalysenkoquit (Ping timeout: 255 seconds)
21:38:36  <Raynos>if dnode allows RPC calls of `on` and `emit`
21:38:46  <Raynos>and doesnt treat them as special reserved methods that can't be used for RPC
21:38:56  <Raynos>if it does the latter you can just ragequit forever
21:39:19  * mikealjoined
21:39:42  <defunctzombie>Raynos: seems like I need to add the methods myself
21:39:52  <defunctzombie>so doesn't appear to be anything special
21:40:25  <defunctzombie>is there a "correct" way to do this tho
21:40:33  <defunctzombie>so the object I pass to dnode
21:40:39  <defunctzombie>the properties are exposed
21:41:32  <defunctzombie>I need to make that object an event emitter, I hope that is possible heh
21:42:24  <Raynos>i dont know
21:42:27  <Raynos>what the correct way is
21:42:29  <Raynos>btw
21:42:31  <Raynos>RPC over events
21:42:32  <Raynos>is stupid
21:42:40  <Raynos>use methods
21:42:45  <Raynos>or streams
21:43:06  <defunctzombie>the whole point is I have some event on the server
21:43:13  <defunctzombie>that I want to notify the client of
21:43:21  <defunctzombie>event based interface
21:43:38  <Raynos>just use pubsub :3
21:43:42  <Raynos>pubsub all the things.
21:43:48  <defunctzombie>that is what .on .emit are
21:43:51  <Raynos></end-shitty-advice>
21:43:53  * mikealquit (Ping timeout: 255 seconds)
21:45:39  * st_lukejoined
21:46:47  <defunctzombie>wooo, got what I wanted to work
21:46:49  <defunctzombie>fuck yea
21:55:07  * mikolalysenkojoined
21:55:47  * dominictarrjoined
22:01:24  * mikealjoined
22:02:01  * st_luke_joined
22:02:01  * st_lukequit (Disconnected by services)
22:02:18  * st_luke_changed nick to st_luke
22:04:19  <st_luke>defunctzombie: are you in the city?
22:04:42  <defunctzombie>st_luke: yep
22:05:48  <st_luke>i think just sweet is the best public hacking spot in the city currently
22:05:51  <st_luke>after surveying a lot of places
22:06:50  <defunctzombie>st_luke: hahah nice
22:07:58  <defunctzombie>st_luke: is that where you work out of now?
22:08:41  <st_luke>defunctzombie: haha I should
22:08:59  * ralphtheninjajoined
22:09:13  <st_luke>I've been working out of GA lately but it's kind of a shitty environment
22:09:19  <defunctzombie>yea
22:09:20  <defunctzombie>wow
22:11:09  * mirkokjoined
22:12:30  <st_luke>i mean the company im working for is great but they just happen to be renting GA space because it's convenient right now
22:13:11  <defunctzombie>sure
22:13:19  <st_luke>can usually only do ~3 hours of GA per day though because it's pretty insufferable
22:19:03  <substack>defunctzombie: I would probably build a thing to control a mux-demux stream alongside of dnode
22:19:24  <substack>mdm -> [ dnode, ...streams... ]
22:19:36  <defunctzombie>substack: I was able to do it with dnode quite simply actually
22:20:13  <substack>small amounts of data will work find using only dnode but it's not ideal for lots of data
22:21:22  <defunctzombie>substack: how large?
22:21:36  <defunctzombie>and do you mean as callback results?
22:21:58  <defunctzombie>I am basically using it to replace some of my REST calls
22:22:06  <defunctzombie>or want to try it for that
22:27:02  * st_lukequit (Remote host closed the connection)
22:28:27  <substack>should be ok for that
22:41:35  * st_lukejoined
22:50:32  <substack>dominictarr: so the bug I'm getting with browserify v2 is that my through streams are getting paused and not being resumed
22:51:12  <substack>and then the event loop empties out when there are paused streams
22:51:28  <chrisdickinson>i may have been having a similar problem in glslify-stream, iirc: https://github.com/chrisdickinson/glslify-stream/blob/master/index.js#L61-L66
22:51:50  <chrisdickinson>(also, the linked section is a massive hack ): ): )
22:52:00  <dominictarr>substack: are you using all through streams?
22:52:07  <dominictarr>what is the pipeline?
22:54:14  <substack>one sec
22:57:21  <substack>dominictarr: https://github.com/substack/node-browserify/blob/v2/index.js#L77
22:57:24  * cianomaidinquit (Quit: cianomaidin)
22:58:03  <dominictarr>are they all through streams?
22:58:47  <dominictarr>it might be that one is not emitting drain
22:58:53  <dominictarr>that would get them stuck
22:59:06  <substack>yep they are all through streams
23:01:23  * cianomaidinjoined
23:01:25  * cianomaidinquit (Client Quit)
23:03:03  <elliottcable>substack ⑊ is there something I can do about that? It works with “Master” (notice my branch is capitalized), as well.
23:03:14  <elliottcable>substack ⑊ do I have to set it as my GitHub primary-branch or something?
23:03:25  * lyaunzbequit (Remote host closed the connection)
23:06:02  <dominictarr>elliottcable has to be Different
23:07:25  <defunctzombie>hahaha
23:07:57  * dominictarrquit (Quit: dominictarr)
23:08:36  <elliottcable>lol.
23:08:42  <defunctzombie>he has abandoned us!
23:08:51  <elliottcable>it already works with my “different”
23:09:06  <elliottcable>but I need it to work with my development branches as well. I don't want to push these changes to Master just to test them. >:
23:09:07  * dominictarrjoined
23:09:16  * sorensenjoined
23:18:14  * lyaunzbejoined
23:18:17  * mirkokquit (Quit: mirkok)
23:20:39  * on9joined
23:24:04  <dominictarr>that is it, I'm gonna start using the M4s73R!!!1 branch, to out do elliottcable
23:25:25  <elliottcable>dominictarr ⑊ Enjoy yourself.
23:31:28  * jibayquit (Read error: Connection reset by peer)
23:33:14  * CryptoQuickquit (Ping timeout: 255 seconds)
23:38:18  * pkruminsjoined
23:38:52  <pkrumins>hey guys, we've added iphone 6, ipad 6, and safari 6 to testling-ci. Check out this badge Raynos just got for his project: http://ci.testling.com/Colingo/deep-merge.png
23:39:54  * mint_xianfeels bad for IE8
23:40:38  <defunctzombie>pkrumins: is that an https badge? :p
23:40:46  <pkrumins>sorry not yet
23:40:50  <defunctzombie>I like it :)
23:41:00  <pkrumins>promise to get https the next week
23:41:09  <pkrumins>i dont know how to add https to nodejs that's why there is a delay
23:41:15  <defunctzombie>gotta get that shit so people can add to github
23:41:20  <defunctzombie>pkrumins: I wouldn't do it in node
23:41:21  <substack>I drew those images from the queensland state library in brisbane
23:41:26  <defunctzombie>use some other handler
23:41:36  <elliottcable>exciting
23:41:44  <elliottcable>substack ⑊ I want to make sweet, sweet love to your art.
23:41:59  <substack>pkrumins: browserling.com is on https already so could just see what webapp/server.js does
23:42:19  * ITproquit (Ping timeout: 260 seconds)
23:42:23  <substack>or bouncer/server.js rather
23:42:49  <pkrumins>it doesnt do it correctly though
23:43:22  <Raynos>we have a proxy for this stuff
23:43:30  <elliottcable>substack ⑊ I'd be happy to pay for a “PROFESH EDITION” Testling-CI account, by the way.
23:43:37  <pkrumins>or maybe it does.
23:43:40  <elliottcable>especially much so, if you could work in branches sometime this weekend. ;)
23:43:41  <substack>elliottcable: awesome!
23:43:43  <Raynos>thats starts two HTTP servers and has HTTPS forward to HTTP
23:43:51  * thatguydanquit (Quit: thatguydan)
23:44:06  <Raynos>`httpProxy.createServer(proxy_options, httpProxyPort, "localhost")
23:44:06  <Raynos> .listen(httpsProxyPort)`
23:44:11  <elliottcable>I don't need any private repos at the moment; but priority on execution so the CI returns faster would be quite nice, if that's wrangle-able
23:45:24  <pkrumins>Raynos: yes but we use bouncy
23:45:33  <pkrumins>i think it will work the way browserling https works
23:46:07  <Raynos>maybe dont render partial results
23:46:11  <Raynos>to discourage me from hitting f5
23:46:15  <Raynos>waiting for it to be done
23:46:38  <pkrumins>looks great http://ci.testling.com/Raynos/read-stream.png
23:46:42  <Raynos>https://github.com/Raynos/read-stream also has all the badges
23:46:59  <Raynos>someone PR ie8 support for readable streams :p
23:47:03  <dominictarr>substack: I'm super busy right now, can you make a script to reproduce the bfy2 issue?
23:51:08  * st_lukequit (Remote host closed the connection)
23:52:16  * ralphtheninjaquit (Quit: leaving)
23:52:19  <pkrumins>elliottcable: we'll have the branches working soon
23:52:50  <elliottcable>love you lots.
23:52:54  * ralphtheninjajoined
23:52:55  <elliottcable>where do I give you more money?
23:53:06  <pkrumins>don't you have a browserling plan already?
23:53:11  <elliottcable>yeah, streaming results so I don't have to reload, would be great
23:53:14  <elliottcable>pkrumins ⑊ mmhmm
23:53:27  * ralphtheninjapart
23:53:30  <elliottcable>can't afford one of your higher plans, so I can't just up the plan; but I'd happily pay twice or three times what I'm paying now.
23:53:30  <pkrumins>we don't have other payment options at the moment
23:53:34  <elliottcable>mmmm okay
23:53:51  <substack>elliottcable: yep streaming results would be pretty great
23:54:38  <elliottcable>before that, and far more useful, and probably easier:
23:54:48  <elliottcable>indication of which browsers are *currently running*, when you load the page
23:55:11  <substack>I just need to hook the page into a results stream
23:56:34  * st_lukejoined