00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:06:26  <substack>ug streams2 looks kind of shit
00:06:34  <substack>I'm just going to stick with streams1 for a few years
00:06:56  <substack>worse should have been better
00:07:03  <substack>now there are multiple classes :(
00:07:44  <CoverSlide>as long as streams1 doesn't get deprecated
00:08:15  <substack>if it does then I won't ever upgrade node again
00:08:26  <substack>and I'll continue to pollute npm with streams1 modules
00:08:54  <substack>and I will close all streams1 bugs with "wontfix"
00:09:25  <pkrumins>upgrading node all the time is huge pita
00:09:44  <substack>agreed
00:10:12  * misterinterrupt1joined
00:10:12  * misterinterruptquit (Read error: Connection reset by peer)
00:10:16  * misterinterrupt1changed nick to misterinterrupt
00:10:23  <mbalho>feature creep = :)
00:10:26  <mbalho>oops
00:10:27  <mbalho>meant :(
00:10:28  <mbalho>#fail
00:10:28  <substack>node is supposed to be like awk or tcl
00:10:34  <substack>should stop messing with it
00:10:35  <pkrumins>for sure
00:10:57  * intabulasquit (Remote host closed the connection)
00:11:11  <CoverSlide>on the other hand, streams2 is pretty nice for a buffered stream parser
00:11:40  <CoverSlide>it's an abstraction i had already been using for a few other projects
00:12:13  <mbalho>yea for writing auth servers im looking forward to not having to buffer anymore
00:20:39  <ins0mnia>substack: I wish seaport could 1) .register() return either the meta or id instead of port 2) Accept port 0
00:21:26  <ins0mnia>substack: I guessed the idea behind register() returning port is that port is unique; but, it's not always the case;)
00:21:48  <substack>port is unique on the local machine
00:22:43  <ins0mnia>substack: not in my use case, I'm building a module to managed a connection topology for a p2p network; and I'm using seaport to register both clients the hub
00:23:04  <ins0mnia>substack: for clients, I'm using port 0. Also, sometimes, I need to know the current service id
00:23:18  <ins0mnia>substack: without having to query and then look for it by port
00:24:08  <substack>could write a wrapper lib for that
00:24:23  * devaholicjoined
00:24:45  <ins0mnia>substack: I'm using scuttlebutt, and relying on seaport to let the peers know when a new hub is up; then using a simple map/sort to pick one
00:25:03  <substack>seaport already uses crdt itself
00:25:09  <ins0mnia>substack: so for now, I'm assigning negative numbers (which works) for "clients", otherwise the hub has a positive port number
00:25:10  <substack>you could just use its .doc
00:25:20  <ins0mnia>substack: I know, but I don't want to rely on it
00:25:28  <ins0mnia>substack: As I need access to events
00:25:32  <ins0mnia>substack: scuttlebutt/events
00:26:50  <ins0mnia>substack: basically, if you could return meta instead of meta.port in the register(); it would allow for people to still get the port; and for case uses like mine to get the service id
00:27:29  <ins0mnia>(use cases)
00:27:30  <substack>ins0mnia: how about a .registerMeta() function?
00:27:42  <substack>I don't want to break backwards compat but I've run into this use case before
00:28:37  <substack>another triple americano
00:28:41  <substack>barely awake still
00:29:06  <ins0mnia>substack: I understand; the problem with .registerMeta is that by then the service won't be able to know its id as other services might be registering during this time. Also, since you're using crdt, register and free events might already be triggered multiple times prior .registermeta() even responding
00:29:37  <substack>what
00:29:58  <substack>it would be the same as register() except it would return the meta instead of the meta.port
00:30:09  <ins0mnia>substack: aaah
00:30:16  <ins0mnia>substack: sorry lol yeah this sounds like a great idea!
00:30:32  <substack>want to send a pull req for it?
00:30:44  <ins0mnia>substack: sure, it's a simpler wrapper
00:30:47  <ins0mnia>simple
00:31:04  <ins0mnia>will do this and send a pull request, thanks man this is helpful
00:32:19  <ins0mnia>substack: alternatively, how about adding optional boolean arg to .register() ?
00:32:28  <ins0mnia>substack: meta = true/false
00:34:44  <substack>I don't like the optional arg as much
00:36:03  <ins0mnia>substack: it's the safest way; like so
00:36:06  <ins0mnia>Seaport.prototype.registerMeta = function(role, opts, mt) {
00:36:07  <ins0mnia> self.register(role, opts, mt);
00:36:07  <ins0mnia>}
00:36:15  <ins0mnia>then in .register()
00:36:26  <ins0mnia>we replace return meta.port with return (mt ? meta : meta.port);
00:37:39  <ins0mnia>no good? ;)
00:39:04  <dominictarr>ins0mnia: that will add edgecases
00:39:26  <ins0mnia>dominictarr: got it
00:39:36  <dominictarr>since every thing that calls register will have to check mt
00:41:10  <substack>ins0mnia: just rename register to registerMeta and return meta
00:41:41  <substack>then Seaport.prototype.register = function (role, opts) { return this.registerMeta(role, opts).port }
00:42:31  <ins0mnia>substack: got it, ok will do thanks
00:43:37  * yorickquit (Remote host closed the connection)
00:51:47  * devaholicquit (Ping timeout: 256 seconds)
01:02:10  * CryptoQuickquit (Ping timeout: 272 seconds)
01:03:05  * dominictarrquit (Quit: dominictarr)
01:14:00  * intabulasjoined
01:18:05  * dominictarrjoined
01:28:16  * dominictarrquit (Quit: dominictarr)
01:30:45  * mikealquit (Quit: Leaving.)
01:43:29  * mikolalysenkoquit (Ping timeout: 240 seconds)
01:52:21  * jlordquit (Quit: jlord)
01:53:55  * nk109joined
01:54:39  * dominictarrjoined
02:00:55  * mikealjoined
02:01:03  * dominictarrquit (Quit: dominictarr)
02:09:08  * jlordjoined
02:10:54  * alunnyquit (Ping timeout: 276 seconds)
02:15:47  * ins0mniaquit (Ping timeout: 252 seconds)
02:24:57  * dominictarrjoined
02:27:25  * intabulasquit (Remote host closed the connection)
02:29:11  * dominictarrquit (Client Quit)
02:29:43  * mikolalysenkojoined
02:32:41  * mikealquit (Quit: Leaving.)
02:40:13  * st_lukequit (Remote host closed the connection)
03:03:18  * misterinterruptquit (Quit: Leaving.)
03:05:13  * misterinterruptjoined
03:07:03  * mikealjoined
03:09:33  <substack>116 repos on testling-ci, just counted
03:09:34  <substack>yay
03:15:48  * misterinterruptpart
03:22:52  * thatguydanjoined
03:38:14  * jlordquit (Quit: jlord)
03:43:54  * st_lukejoined
03:50:38  * CoJaBoquit (Ping timeout: 252 seconds)
03:53:56  * intabulasjoined
03:55:10  * CoJaBojoined
04:01:46  * CryptoQuickjoined
04:08:43  * shamaquit (Quit: shama)
04:13:46  * shamajoined
04:41:06  * shamaquit (Quit: shama)
04:52:27  <rowbit>/!\ ATTENTION: (default-local) zak@... successfully signed up for developer browserling plan ($20). Cash money! /!\
04:52:27  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
05:10:42  <substack>hooray
05:24:17  * AvianFlujoined
05:31:25  * shamajoined
05:35:59  * defunctzombie_zzchanged nick to defunctzombie
05:37:45  * CryptoQuickquit (Quit: CryptoQuick)
05:53:18  * defunctzombiechanged nick to defunctzombie_zz
05:54:09  * mikolalysenkoquit (Ping timeout: 276 seconds)
05:56:21  * mikolalysenkojoined
06:22:12  * AvianFluquit (Remote host closed the connection)
06:22:30  * CryptoQuickjoined
06:31:12  * foucistjoined
06:31:36  * foucistpart
06:36:52  <substack>wiwillia: sweet writeup and awesome mentions
06:40:14  * dguttmanquit (Quit: dguttman)
06:43:32  * mikolalysenkoquit (Ping timeout: 248 seconds)
06:59:36  * mikealquit (Read error: Connection reset by peer)
07:00:05  * mikealjoined
07:19:59  * CoverSlidequit (Ping timeout: 255 seconds)
07:20:58  * CoverSlidejoined
07:29:52  * thatguydanquit (Quit: thatguydan)
07:36:44  * fotoverite_joined
07:39:14  * fotoveritequit (Ping timeout: 244 seconds)
07:39:14  * fotoverite_changed nick to fotoverite
07:57:53  * shamaquit (Quit: shama)
08:03:12  * defunctzombie_zzquit (Ping timeout: 276 seconds)
08:05:49  * defunctzombie_zzjoined
08:05:51  * defunctzombie_zzchanged nick to defunctzombie
08:24:20  * dominictarrjoined
08:24:42  * CryptoQuickquit (Quit: CryptoQuick)
08:24:50  <dominictarr>isaacs: my the layout I'm assuming you meant } else if ( … here https://github.com/dominictarr/config-chain/blob/master/index.js#L50
08:34:58  * slaskisjoined
10:38:01  * ralphtheninjajoined
10:59:50  * spionjoined
11:18:06  * dominictarrquit (Quit: dominictarr)
11:18:18  * devaholicjoined
11:24:11  * ins0mniajoined
12:06:25  * fentjoined
12:30:42  <jesusabdullah>substack: did you know that gnome shell (ie, gnome 3) is entirely scriptable with javascript?
12:30:58  <jesusabdullah>substack: naturally the api kinda sucks BUT IT IS JAVASCRIPT
12:31:15  <jesusabdullah>the gnome js style guide also sucks
12:32:54  * st_lukequit (Remote host closed the connection)
12:43:06  <jesusabdullah>"queuing for 0 matching servers" :(
12:45:50  <jesusabdullah>substack: promblem http://i.imgur.com/0D725g8.png
12:50:43  * yorickjoined
12:50:44  * yorickquit (Changing host)
12:50:44  * yorickjoined
13:09:16  * intabulasquit (Remote host closed the connection)
13:34:48  * intabulasjoined
14:15:09  * jibayjoined
14:44:51  * defunctzombiequit (Changing host)
14:44:51  * defunctzombiejoined
15:02:56  <isaacs>dominictarr: I don't think i wrote that bit. but yes, it looks like else if is probably intended there, and it doesn't chnage semantically anyway
15:03:08  <isaacs>ircretary: tell dominictarr: I don't think i wrote that bit. but yes, it looks like else if is probably intended there, and it doesn't chnage semantically anyway
15:03:08  <ircretary>isaacs: I'll be sure to tell dominictarr:
15:03:19  <isaacs>ircretary: tell dominictarr I don't think i wrote that bit. but yes, it looks like else if is probably intended there, and it doesn't chnage semantically anyway
15:03:19  <ircretary>isaacs: I'll be sure to tell dominictarr
15:03:23  <isaacs>ircretary: thanks
15:03:23  <ircretary>isaacs: You're welcome :)
15:28:55  * devaholicquit (Ping timeout: 260 seconds)
15:38:40  * saijanai_joined
15:41:08  * mikolalysenkojoined
15:59:35  * dguttmanjoined
16:04:28  * defunctzombiechanged nick to defunctzombie_zz
16:08:06  * slaskisquit (Ping timeout: 276 seconds)
16:10:15  * mikolalysenkoquit (Quit: leaving)
16:10:39  * mikolalysenkojoined
16:30:03  * dguttman_joined
16:33:10  * dguttmanquit (Ping timeout: 272 seconds)
16:33:10  * dguttman_changed nick to dguttman
16:37:40  * CoverSlidequit (Ping timeout: 248 seconds)
16:42:24  * dguttman_joined
16:44:30  * dguttmanquit (Ping timeout: 264 seconds)
16:44:30  * dguttman_changed nick to dguttman
16:50:08  * mikolalysenkoquit (Ping timeout: 255 seconds)
16:51:43  * CoverSlidejoined
16:52:49  * mikealquit (Quit: Leaving.)
16:59:32  * CoverSli1ejoined
17:01:14  * slaskisjoined
17:06:16  * mikolalysenkojoined
17:19:44  * shamajoined
17:20:22  * shamaquit (Client Quit)
17:20:32  * shamajoined
17:31:46  * AvianFlujoined
17:40:51  * defunctzombie_zzchanged nick to defunctzombie
17:43:33  * defunctzombiechanged nick to defunctzombie_zz
17:44:11  * dguttman_joined
17:45:31  * dguttmanquit (Ping timeout: 246 seconds)
17:45:32  * dguttman_changed nick to dguttman
17:56:44  * ralphtheninjaquit (Ping timeout: 255 seconds)
18:02:54  * mikealjoined
18:14:24  * tphummeljoined
18:15:03  * defunctzombie_zzchanged nick to defunctzombie
18:32:19  * defunctzombiechanged nick to defunctzombie_zz
18:33:13  * defunctzombie_zzchanged nick to defunctzombie
18:46:19  * shuaibquit (Ping timeout: 260 seconds)
18:48:36  * shuaibjoined
19:03:12  * shuaibquit (Ping timeout: 264 seconds)
19:04:32  * shuaibjoined
19:06:22  * spionquit (Ping timeout: 246 seconds)
19:12:08  * shuaibquit (Ping timeout: 272 seconds)
19:14:01  * shuaibjoined
19:21:12  * shuaibquit (Ping timeout: 264 seconds)
19:23:00  * shuaibjoined
19:28:55  * alunnyjoined
19:29:50  * shuaibquit (Ping timeout: 256 seconds)
19:33:03  * shuaibjoined
19:38:01  * dguttman_joined
19:40:57  * dguttmanquit (Ping timeout: 276 seconds)
19:40:57  * dguttman_changed nick to dguttman
19:41:23  * juliangruberpart
19:41:45  * juliangruberjoined
19:44:10  * AvianFluquit (Remote host closed the connection)
19:52:07  * spionjoined
19:58:05  * dguttman_joined
20:00:20  * dguttmanquit (Ping timeout: 248 seconds)
20:00:21  * dguttman_changed nick to dguttman
20:03:14  * st_lukejoined
20:04:02  * mikealquit (Quit: Leaving.)
20:08:01  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
20:09:46  * mikealjoined
20:10:45  * jez0990-quit (Quit: EliteBNC - http://www.elitebnc.net/)
20:12:07  * dguttman_joined
20:13:38  * mikealquit (Client Quit)
20:14:11  * dguttmanquit (Ping timeout: 245 seconds)
20:14:12  * dguttman_changed nick to dguttman
20:16:15  <defunctzombie>module to diff two objects and return changes?
20:18:06  <spion>http://npmsearch.docucalc.com/#/find?q=diff%20objects
20:18:36  <defunctzombie>I want recommendations
20:18:44  <defunctzombie>open ended search on npm sucks :)
20:19:06  <spion>this is not npm search
20:19:06  <spion>:)
20:19:26  <defunctzombie>still, I would like any experience anyone might have with any of these modules
20:19:34  <defunctzombie>npm is filled with too many ghetto and half working things :)
20:19:39  <defunctzombie>I know because I wrote some of them
20:19:52  <spion>this sorts by a mix of downloads, relevance and update recency
20:20:10  <spion>but okay, it does not give personal recommendations
20:20:15  <spion>:)
20:20:33  <spion>... no github stars yet
20:21:04  <defunctzombie>heh
20:22:05  * tilgovijoined
20:24:56  * dguttman_joined
20:28:19  <Raynos>Does anyone have a window.postMessage stream?
20:28:21  <Raynos>I could use one
20:28:30  * dguttmanquit (Ping timeout: 252 seconds)
20:28:30  * dguttman_changed nick to dguttman
20:29:03  <CoverSlide>sounds trivial to write
20:29:35  <Raynos>it is. That's why I expect someone has already written it
20:30:39  <pkrumins>Raynos: https://github.com/substack/schoolbus?
20:31:31  <Raynos>seen that
20:31:35  <Raynos>not quite what expected
20:32:44  * mikolalysenkoquit (Ping timeout: 256 seconds)
20:34:00  <CoverSlide>by the way, i'm thinking that people writing browser modules should stop using the window object in the browser and instead should be able to pass it in as an argument
20:34:44  <CoverSlide>same with document
20:34:50  <Raynos>disagree
20:34:54  <CoverSlide>why?
20:34:57  <Raynos>but they should use `require("global/window")`
20:35:02  <Raynos>and `require("global/document")`
20:35:16  <CoverSlide>well i'm fine with that approach
20:35:26  <Raynos>that's what I do.
20:35:36  <Raynos>https://github.com/Colingo/global#global
20:35:50  <CoverSlide>but i would like to be able to drive a blank iframe / window.open'ed window from a single source
20:36:07  <CoverSlide>and besides, it's not very node-like to rely on globals
20:36:40  <defunctzombie>CoverSlide: if the module calls for passing in window, then that is what it should do, but that should be up to the module because it then operates at that level
20:36:40  <Raynos>thats what im doing with postMessage :p
20:36:46  <defunctzombie>death to globals!
20:37:15  <CoverSlide>but the fact is it should work with ANY window, not just the global window
20:37:18  <Raynos>https://github.com/Colingo/track-event#example-postmessage
20:37:36  <CoverSlide>no matter what the module is
20:37:45  <CoverSlide>just IMO
20:37:51  <spion>what would you guys think about a browserify plugin for CSS that allows manipulation and page injection? e.g. require('blah.css').prepend('.myclass').inject(document.head) ? It would handle replacing relative url() paths too depending on the current page and the path to the browserified bundle.
20:38:13  <Raynos>spion: `npm docs npm-css`
20:39:25  <spion>hey that looks cool. how does it handle conflicts?
20:41:03  <spion>(selector conflicts)
20:50:40  * coffeecuppart
20:59:26  <defunctzombie>spion: no conflicts
20:59:32  <defunctzombie>spion: it auto namspaces
20:59:36  <defunctzombie>based on the module name
20:59:48  <defunctzombie>so everything in module 'foo' css is prefixed with '.foo'
21:06:53  * mikolalysenkojoined
21:22:56  * defunctzombiechanged nick to defunctzombie_zz
21:28:28  * AvianFlujoined
21:50:00  * juliangruberquit (Quit: leaving)
21:51:06  * juliangruberjoined
21:51:22  * st_lukequit (Remote host closed the connection)
22:00:40  * st_lukejoined
22:02:18  * st_lukequit (Remote host closed the connection)
22:32:33  * mikealjoined
22:39:58  * saijanai_quit (Quit: saijanai_)
22:55:59  * AvianFluquit (Remote host closed the connection)
23:04:51  * dominictarrjoined
23:09:02  * slaskisquit (Remote host closed the connection)
23:15:02  * thatguydanjoined
23:17:44  * dominictarrquit (Quit: dominictarr)
23:20:36  * CoverSlidequit (Quit: leaving)
23:21:09  * CoverSli1echanged nick to CoverSlide
23:23:18  * AvianFlujoined
23:29:02  * mikealquit (Quit: Leaving.)
23:29:11  <spion>defunctzombie_zz, excellent.
23:29:44  * defunctzombie_zzchanged nick to defunctzombie
23:33:10  * wiwilliaquit (Ping timeout: 252 seconds)
23:33:23  * wiwilliajoined
23:35:26  <mbalho>is this syntax the same as the command line '--alias'? browserify({ require : { jquery : 'jquery-browserify' } })
23:36:46  <mbalho>ahh yea apparently it is
23:49:09  * mikealjoined
23:49:25  <mbalho>Raynos: i am trying to get browserify to require zlib-browserify whenever a require('zlib') is encountered, do you know how to do that?
23:49:42  <Raynos>hmm
23:49:54  * wiwilliaquit
23:50:01  <Raynos>add zlib-browserify to https://github.com/substack/node-browserify/blob/master/package.json#L26
23:50:49  <Raynos>https://github.com/brianloveswords/zlib-browserify/blob/master/index.js :/
23:50:53  <Raynos>the damn thing uses `const`
23:51:54  <mbalho>brianloveswords: :D
23:52:59  <mbalho>Raynos: that worked, thanks. is there a way to do it progamatically?
23:53:07  <Raynos>maybe alias
23:53:21  <mbalho>Raynos: i was tryin that its wonky. ill ask substack next time i see him
23:54:01  <Raynos>mbalho: just make a PR like ( https://github.com/substack/node-browserify/pull/275 )
23:56:45  <mbalho>substack: https://github.com/substack/node-browserify/pull/283
23:57:09  <defunctzombie>mbalho: I think you need to do more than just add it to package.json btw
23:58:19  <defunctzombie>I could be wrong, maybe it auto picks up