00:01:16  * _sorensenquit (Ping timeout: 248 seconds)
00:01:45  <dominictarr>Raynos, substack_ maxogden [email protected]
00:02:46  * mikealjoined
00:09:16  * xaqquit (Ping timeout: 248 seconds)
00:19:16  * mikealquit (Quit: Leaving.)
00:28:19  * joshwnjjoined
00:32:01  * mikealjoined
00:44:50  * mikealquit (Quit: Leaving.)
01:18:07  * substack_changed nick to substack
01:37:17  * timoxleyquit (Quit: Computer has gone to sleep.)
01:59:45  <Raynos>dominictarr: thanks
02:06:47  <dominictarr>Raynos, your stream.error method has already helped me catch a mistake!
02:06:59  <Raynos>dominictarr: I use it a bunch
02:07:11  <dominictarr>it would have been quite annoying to fix otherwise!
02:07:21  <Raynos>dominictarr: https://github.com/Colingo/stream-server/blob/master/lib/redirectServerToClient.js#L8
02:21:52  <Raynos>dominictarr: is the server an echo chamber?
02:21:55  <Raynos>is it a broadcaster?
02:22:12  <Raynos>is it a media server
02:23:00  <dominictarr>what server?
02:23:52  <Raynos>dominictarr: https://github.com/Raynos/browserify-server consider browserify-server for demos ( https://github.com/Colingo/stream-server/blob/master/examples/lazynode/server.js#L5 )
02:24:06  <Raynos>dominictarr: > he server is just another node, with the unfortunate duty of relaying all messages from the clients that server
02:24:51  <dominictarr>well, yes. but it can also have it's own logic.
02:25:00  <dominictarr>it's not just a proxy
02:25:05  <Raynos>true
02:25:20  <dominictarr>it's could persist or validate or otherwise manipulate the data
02:25:20  <Raynos>dominictarr: should we make the error: false property in MuxDemux the default and opt into errors?
02:26:01  <dominictarr>Raynos, that is the change for which I bumped the major to 3.0.0
02:26:09  <Raynos>I see :)
02:26:39  <dominictarr>also, if you pass in a function MuxDebux(function (stream) { .... (
02:26:44  <Raynos>dominictarr: whats the point of heartbeat.js in the demo
02:27:02  <dominictarr>that is the same as on('connect', function (stream) { ... })
02:27:13  <dominictarr>just to generate some data
02:27:44  <dominictarr>also, when things disconnect, you can see because their heartbeat stops.
02:28:03  <Raynos>oh I see
02:28:41  <Raynos>dominictarr: https://github.com/dominictarr/crdt/blob/master/example/simple/client.js#L35
02:28:42  <dominictarr>make sure you run examples/complex with two browsers open at the same time.
02:28:44  <Raynos>you pipe twice
02:29:14  <dominictarr>your right!
02:35:16  <dominictarr>okay, removed mux-demux from the examples/simple ... it's not actually needed there
02:38:23  <dominictarr>it _would_ be good to have some nicer tell a streaming abstraction to be a string or not.
02:39:06  <dominictarr>hmm, maybe it would be simplest for them to just all be json lines, and then rewrite mux-demux to not use json.
02:39:23  <dominictarr>the redis protocol looks good
02:40:33  <Raynos>dominictarr: you use jquery & jquery ui :/
02:41:04  <dominictarr>yeah, I needed jquery.ui for the dragable thing.
02:41:27  <dominictarr>it's pretty ugly though, it doesn't map to an array very well,
02:41:47  <dominictarr>and it's not even easy to find out what position an item was dropped into.
02:42:23  <dominictarr>I would totally throw it out, it was just easier than writing it from scratch.
02:43:15  <dominictarr>anyway, there is nothing about crdt that is jquery. it's not coupled to any UI shit
02:43:15  <Raynos>dominictarr: use html5 draggable
02:44:10  <dominictarr>checking it out
02:45:31  <dominictarr>doesn't work in chrome!
02:45:39  <dominictarr>works in FF
02:45:55  <Raynos>dominictar: http://caniuse.com/#search=drag
02:46:48  <Raynos>dominictarr: the problem is that these examples are still centralized
02:47:31  <dominictarr>crdt examples?
02:48:03  <dominictarr>example/simple.js uses autonode
02:54:10  <Raynos>ok first thing on the list for now is reading that article
02:54:19  <Raynos>https://github.com/dominictarr/crdt/blob/master/example/complex/server.js#L22
02:54:22  <Raynos>I dont like how centralized this is
02:57:04  * maksimlinjoined
03:02:58  <dominictarr>that would be simple enough to change
03:03:09  <dominictarr>but you would need multiple servers
03:03:31  <dominictarr>and then you would need to to replicate the addresses of those servers,
03:03:47  <dominictarr>_THEN_ you could have reconnector connect to them at random
03:03:49  <substack>dominictarr: to use shoe as a client on the server side you could just use one of the ws client libs on npm
03:04:16  <dominictarr>and then if terrorists, or the government, or something destroy a server clients just connect to one of the others
03:04:44  <Raynos>dominictarr: no, not like that
03:04:54  <Raynos>dominictarr: the problem is that there is a server at all, not that there is only one server
03:04:58  <Raynos>I want only browsers no servers
03:05:11  <dominictarr>ah, well.
03:05:15  <dominictarr>yeah I want that too
03:05:46  <Raynos>thats what I've been doing with my demos only browsers and a dumb relay server
03:06:14  <dominictarr>a dumb server is still a server
03:06:31  <Raynos>true
03:06:48  <Raynos>you still need a discovery server if your doing p2p
03:06:54  <dominictarr>on possibility is to have a peer to peer server where anyone can deploy one into an adhoc cloud.
03:07:12  <guybrush>there will always be the need for servers, since stuff has to stay up and be able to take load
03:07:45  <guybrush>but there are LOTS of usecases where servers arent needed
03:07:48  <dominictarr>sure, but you could have multiple and they could be trainsient, and let anyone deploy them.
03:07:55  <Raynos>guybrush: not true
03:08:19  <Raynos>if stuff needs to stay up and be able to load then connect node.js based nodes to the p2p network
03:08:20  <guybrush>Raynos: the need for servers?
03:08:27  <Raynos>you only need static file servers
03:08:32  <guybrush>yes
03:08:35  <dominictarr>sure there are! it's just that we are stuck with servers until we can put bind to a port in the browser.
03:08:37  <guybrush>so static file servers are servers
03:08:40  <substack>you crazy critters, all up to all kinds of mad science while I was asleep
03:09:11  <Raynos>i need to rewrite stream-server with lower complexity
03:09:36  <dominictarr>Raynos, maybe: you could have a completely standard type of relay server that could relay any app that used a given protocol.
03:10:02  <Raynos>i need to build a webrtc app thing first
03:10:05  <Raynos>and figure webrtc out
03:10:17  <guybrush>like what the unhosted-project tries to do
03:11:09  <dominictarr>webrtc?
03:11:23  <guybrush>the future is here! right now
03:12:26  <Raynos>i also need to test how well opera supports webrtc
03:13:50  <substack>need some good docs and example projects for how all these crazy experiments fit together
03:14:55  <dominictarr>man we don't need some new protocol. what we need is ssh in the browser.
03:15:01  <Raynos>substack: https://github.com/Colingo/stream-server https://github.com/Raynos/distributed-map
03:15:09  <dominictarr>BRING BACK WEB 0.0
03:15:13  <Raynos>substack: those two have decent docs and example projects
03:15:56  <dominictarr>substack, I've just been adding up to date examples for http://github.com/dominictarr/crdt
03:16:37  <substack>perhaps a website or git repo that aggregates these links
03:17:02  <Raynos>I need to go back and make these experiments cleaner
03:18:11  * timoxleyjoined
03:19:21  <Raynos>because they are far too layered and heavy
03:19:21  * Raynosquit (Excess Flood)
03:20:29  * Raynosjoined
03:21:08  <Raynos>barg
03:23:48  <dominictarr>it is time for me to sleep
03:24:19  <dominictarr>substack, added serveral pull requests for shoe!
03:24:24  <dominictarr>night all
03:24:35  * dominictarrchanged nick to dominic_zzzzzzzz
03:28:43  * sorensenquit (Ping timeout: 268 seconds)
03:28:43  * sorensenjoined
03:29:58  <substack>hooray!
03:56:51  * thatguydanquit (Quit: thatguydan)
04:10:15  * thatguydanjoined
04:33:01  * maksimlinquit (Ping timeout: 245 seconds)
04:34:54  * blakmatrixquit (Ping timeout: 272 seconds)
04:38:39  * blakmatrixjoined
04:41:57  * ITproquit
04:43:03  * blakmatrixquit (Ping timeout: 246 seconds)
04:44:15  * blakmatrixjoined
05:36:59  * mikealjoined
06:07:13  <Raynos>substack: window.Buffer = require("buffer").Buffer is pissing me off
06:07:18  <Raynos>browserify should do this for me
06:10:39  <guybrush>this would be like setting global.Buffer to require('buffer').Buffer per default in node
06:11:24  <guybrush>it would be like hoarders!!
06:12:48  <guybrush>well actually i might be mistaken
06:13:22  <guybrush>but still I think window.Buffer is not a good idea
06:21:48  <Raynos>guybrush: Buffer is globalin node
06:21:50  <Raynos>that's the problem
06:22:04  <Raynos>guybrush: that means that any node programs using the global buffer break in the browser
06:22:30  * joshwnj`joined
06:24:05  * joshwnjquit (Ping timeout: 260 seconds)
06:24:30  <guybrush>oh i see
06:24:43  <guybrush>you are right, browserify should do that
06:27:40  * joshwnj`changed nick to joshwnj
06:30:11  * mikealquit (Quit: Leaving.)
06:35:47  * mikealjoined
06:38:38  * mikealquit (Client Quit)
06:44:17  * joshwnj`joined
06:45:47  * joshwnjquit (Ping timeout: 244 seconds)
06:49:03  * joshwnj``joined
06:50:03  * joshwnj`quit (Ping timeout: 240 seconds)
07:09:17  * joshwnj``quit (Quit: ERC Version 5.3 (IRC client for Emacs))
07:17:33  * mikealjoined
07:50:33  <Raynos>dominictarr: substack: https://github.com/Raynos/webrtc-stream/tree/master/example
07:50:46  <Raynos>That's your example app for streams
07:57:32  * ircretaryquit (Ping timeout: 248 seconds)
07:57:32  * perlbotquit (Ping timeout: 248 seconds)
07:58:04  * rowbitquit (Ping timeout: 248 seconds)
07:59:01  * perlbotjoined
08:03:43  <maxogden>Raynos: does webrtc stream do anything yet
08:03:58  <Raynos>maxogden: It's a working webrtc demo in chrome 21.
08:04:17  <maxogden>where is the webrtc code?
08:04:31  <maxogden>oh in static/
08:04:37  <maxogden>cause you can use https://github.com/maxogden/domnode-usermedia also
08:04:52  <Raynos>maxogden: the hard bit is trying to figure out what part of the example is library code and what part is example code
08:04:55  <maxogden>oh wait
08:05:06  <maxogden>peerconnection is in chrome 21?
08:05:26  <Raynos>yes it is
08:05:32  <maxogden>cooool i didnt know that
08:05:34  <Raynos>you need to enable it in chrome://flags
08:05:54  <maxogden>you just cant get video frames as binary yet
08:06:00  <maxogden>but you can hook up a connection through webrtc
08:06:00  <maxogden>i see
08:06:03  <Raynos>maxogden: domnode-usermedia isn't really compatible with peer connection
08:06:08  <maxogden>yea i see that now
08:06:41  <Raynos>i can definitely put discoveryNetwork and peerConnection in the library but not sure how to modularize index.js
08:06:50  <substack>kewpow
08:07:02  <maxogden>i mean its not really a stream
08:07:10  <maxogden>in the node sense
08:07:38  <Raynos>maxogden: now that I have a working demo I need to see if I can find a hack to send arbitary data through this peer connection and then expose a node style stream API
08:07:52  <maxogden>that would be cool
08:07:58  <substack>Raynos: wontfix
08:08:11  <substack>people already give me enough shit about browserify bundles being too big
08:08:12  <Raynos>substack: ?
08:08:40  <Raynos>wont fix what, the global buffer ?
08:08:54  <substack>yes
08:08:56  <Raynos>at least let me add a flag to bundle({ ... })
08:08:58  <Raynos>to have it included
08:09:04  <substack>a flag might be acceptable
08:11:05  <Raynos>maxogden: https://gist.github.com/3368250
08:11:12  <Raynos>If possible you could get an API like that
08:34:43  <substack>I wonder if there is an aplay-like command on mac
08:35:16  <substack>afplay!!
09:02:56  * joshwnjjoined
09:20:43  <tanepiper>substack: any idea how i'd easily do this in mountie? I have this app i'm working on, basically they don't want me exposing part of the API implementation which means using mountie is breaks because two servers have to be on the root. So I've come up with this solution: https://gist.github.com/2bd941d7e0101692135d
09:21:00  <tanepiper>so the url http://chartaca.com/point/1b9c29d4-bd71-4aae-874c-ad2d4548ab7d/s.gif should redirect to http://chartaca.com/pb/point/1b9c29d4-bd71-4aae-874c-ad2d4548ab7d/s.gif
09:21:12  <tanepiper>but with that code i'm getting http://chartaca.com/point/1b9c29d4-bd71-4aae-874c-ad2d4548ab7d/chartaca.com/pb
09:21:33  <tanepiper>it seems to be replacing that s.gif bit
09:23:33  <tanepiper>and when i try do var location = 'http://' + req.headers.host + '/pb' + req.url; and set that I get
09:23:37  <tanepiper>http://chartaca.com/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/pb/point/1b9c29d4-bd71-4aae-874c-ad2d4548ab7d/s.gif
09:24:11  <tanepiper>oh wait...of course :|
09:24:25  <tanepiper>it keeps hitting this query
09:26:58  <substack>recursion!
09:27:36  <tanepiper>and the statusCode always seems to be null, so i can't check to see if I have already set it and ignore
09:28:01  <tanepiper>oh wait, because that's the res!
09:28:20  * thatguydanquit (Ping timeout: 252 seconds)
09:28:32  * tanepiperis really starting to not like this project
09:31:43  <substack>which project?
09:34:08  <tanepiper>analytics api a client wrote, and they want a dashboard and websockets, but they don't want me changing any of the API (which isn't great but I can work with) and the app was breaking competly behind nginx
09:34:54  * joshwnjquit (Quit: ERC Version 5.3 (IRC client for Emacs))
09:37:26  <substack>pesky stuff
09:39:37  <tanepiper>yea, and i've got it mostly working except for example they have the root url, but they also have urls that are just random (for example they have /data and /api routes, but with the gif to hit it exists on /point/:id/s.gif, but also /count/:id/s.gif and /:id/s.gif and all do pretty much the same thing)
09:40:15  <tanepiper>hence internally i'm trying to mount it on /pb/ and then redirect any incoming requests with s.gif - but it's getting recursed because it keeps hitting the redirect rule
09:43:01  <substack>you could just bounce() those directly instead of setting redirects
09:43:13  <substack>bouncy knows how to do urls
09:43:23  <substack>bounce('host:port/path')
09:48:10  <tanepiper>hmm still getting massive recursion: http://cl.ly/image/0W1f2S3w0W27
09:48:31  <dools>hey my brother has got a project on indiegogo - anyone interested in film? http://www.indiegogo.com/justshootit?a=1041412
09:49:46  <tanepiper>ugh i'm a fool!
09:51:06  <tanepiper>oh maybe not that doesn't work either (directly mounting the server with the regex i'm using)
09:52:20  <tanepiper>do'h cos thats not mountie, that's just seaport
09:54:17  * thatguydanjoined
10:09:48  <substack>https://github.com/substack/baudio
10:09:54  <substack>ok silliness out of my system
10:10:00  <substack>now hacking on queue stuff
10:15:32  <tanepiper>doesn't work - https://gist.github.com/2a6b048209589efd5090 but this is kind of psudocode of what i want
10:15:47  <tanepiper>oh cool, we have a music hack event at the end of the month
10:16:30  <substack>why are there 2 functions
10:16:52  <substack>oh I see, the comparison function
10:17:55  <substack>tanepiper: have you tried using the raw host instead of req.headers.host?
10:18:01  <substack>that would cause it to loop back on itself
10:18:45  <tanepiper>no
10:22:33  <tanepiper>this works! https://gist.github.com/b22c21ba46f990f87f78
10:23:32  * thatguydanquit (Read error: Connection timed out)
10:24:27  * thatguydanjoined
11:26:35  <substack>http://substack.net/audio/ramp.ogg
11:33:25  * maksimlinjoined
11:34:18  <substack>ok then, queue stuff!
12:07:47  * wiwilliajoined
12:21:32  * maksimlinquit (Quit: Page closed)
12:51:22  * devaholicquit (Ping timeout: 240 seconds)
12:54:13  * thatguydanquit (Quit: thatguydan)
12:55:51  * thatguydanjoined
13:00:13  * thatguydanquit (Client Quit)
13:06:23  * thatguydanjoined
13:24:28  * dominic_zzzzzzzzchanged nick to dominictarr
13:25:09  <dominictarr>Raynos, noticing a pattern: createServerThing(function(stream))
13:25:40  <dominictarr>reconnect, autonode, and of course regular servers all like this.
13:26:28  <dominictarr>considering a middlewaresque thing where you can go:
13:28:33  <dominictarr>createServerThing(streamy.use(MuxDemux(streamy.use(dnode).use(crdt).use(remoteEvents))))
13:29:40  <dominictarr>streamy.use() would take anything that has a createStream method.
13:30:44  <dominictarr>hmm, you'd need to pass some options to get routing...
13:30:48  <dominictarr>but something like this.
13:31:03  <dominictarr>and of course, with something like mux
13:31:41  <dominictarr>you are wanting to _create_ streams, from one of the ends, at least.
13:35:58  <substack>dominictarr: do you know much about audio signal processing and synthesis?
13:36:06  <substack>new thing: https://github.com/substack/baudio
13:36:12  <dominictarr>yeah, a little bit actually.
13:36:19  <dominictarr>I used to make electronic music
13:36:24  <substack>ah excellent
13:36:27  <dominictarr>before I got into sailing.
13:36:39  * timoxleyquit (Quit: Computer has gone to sleep.)
13:36:54  <substack>some streaming filters on npm would be rad
13:36:59  <substack>you can already pipe the byte stream
13:37:01  <dominictarr>oh fuck yeah
13:37:08  <substack>signed 16-bit 44k for now
13:37:20  <substack>I made this tonight: http://substack.net/audio/ramp.ogg
13:37:29  <dominictarr>I want to make some in terminal interfaces and stuff too, drum machines etc.
13:37:36  * timoxleyjoined
13:37:36  <substack>yes
13:37:47  <substack>sox is good for that, you can record microphone data with it
13:37:55  <dominictarr>oh, cool.
13:38:33  <dominictarr>if you pipe it through tcp to another computer on the local network, how close is the timing?
13:38:36  <substack>I plan on reading the rfc for wav so I can have somewhat nicer output than signed 16-bit 44k raw blobs
13:38:38  <dominictarr>is it out of sync?
13:38:56  <substack>the timing should be exactly the same if there's enough throughput
13:39:15  <dominictarr>sorry, I mean latency.
13:39:25  <dominictarr>that is the musically important thing
13:39:34  <substack>well it's uncompressed right now
13:39:57  <substack>the latency is somewhat controlled by the write size
13:40:02  <substack>which is 1024 bytes by default
13:40:12  <dominictarr>right
13:40:45  <dominictarr>that is like 2ms worth of sound
13:40:45  <substack>yep
13:41:02  <substack>it's configurable too
13:41:09  <substack>you could write to smaller buffers
13:41:34  <dominictarr>good.
13:42:07  <dominictarr>I meet teenagers today, and they listen to nearly exactly the same music that I listened to at that age.
13:42:15  <dominictarr>because of mp3s.
13:42:34  <dominictarr>no one has invented a really new kind of instrument in a long time.
13:43:02  <substack>still using basic designs from tens of thousands of years ago
13:43:28  <substack>and some newer ones that are merely thousands of years old
13:43:41  <dominictarr>well, on the one hand, no one even knows what music is.
13:43:51  <dominictarr>we just know we enjoy it.
13:44:18  <substack>patterns of sound that create pleasing sounds to the FFTs in our heads
13:44:27  <substack>pleasing signals, rather
13:44:33  <substack>it's all very silly
13:44:39  <dominictarr>exactly
13:45:24  <dominictarr>we don't even know what is it that makes a particular sort of signal pleasing.
13:45:32  <dominictarr>well, there a a few guesses.
13:46:29  <dominictarr>with new instruments, we can discover totally new kinds of signals.
14:11:34  * xaqjoined
14:24:16  <dominictarr>Raynos, MuxDemux now automatically sends back an error if the remote side is side does not have a 'connection' listener
14:24:30  <dominictarr>although I want to thing up a better error message.
14:25:32  * thatguydanquit (Quit: thatguydan)
14:33:08  <dominictarr>substack, I've been thinging more about a smart stream that knows how to serialize itself if need be,
14:33:29  <dominictarr>the problem is, what if it uses the wrong format?
14:34:13  <dominictarr>like there are multiple ways to go, you could do json lines, valid json, msg-pack, or some other length delimited format.
14:35:53  <dominictarr>you could declare/detect whether a stream is objects or text easily enough, but I can't see a really good way to declare preferred serialization format.
14:37:52  <dominictarr>unless you just assume jsonlines...
14:39:03  * dominictarrquit (Quit: Leaving)
14:43:33  * st_lukejoined
14:50:03  * thatguydanjoined
14:51:11  * thatguydanquit (Client Quit)
14:52:13  * thatguydanjoined
14:53:20  * thatguydanquit (Client Quit)
14:54:21  * thatguydanjoined
14:55:28  * thatguydanquit (Client Quit)
15:09:26  * thatguydanjoined
15:10:32  * thatguydanquit (Client Quit)
15:35:53  * saijanai_quit (Ping timeout: 244 seconds)
15:40:05  * devaholicjoined
15:50:15  <devaholic>substack: in seaport 0.8 is it intentional that i cant free a port without knowing the _id of the service its attached to (i cant free anything just by passing in the port num)
15:51:05  <devaholic>substack: its because of the last bit in this line, https://github.com/substack/seaport/blob/master/index.js#L305
15:52:07  <devaholic>a few lines above you grab the host, but not the _id
16:32:39  * ircretaryjoined
17:18:40  * intabulasjoined
17:28:56  <tanepiper>substack: we're considering it already for our music hack day
17:35:46  * mikealquit (Quit: Leaving.)
17:36:15  * mikealjoined
18:06:11  * tilgovijoined
18:11:40  * thatguydanjoined
18:12:44  * thatguydanquit (Client Quit)
18:14:10  * thatguydanjoined
18:15:19  * thatguydanquit (Client Quit)
18:16:49  * thatguydanjoined
18:18:16  * thatguydanquit (Client Quit)
18:19:17  * thatguydanjoined
18:20:25  * thatguydanquit (Client Quit)
18:21:28  * thatguydanjoined
18:22:33  * thatguydanquit (Client Quit)
18:23:38  * thatguydanjoined
18:24:42  * thatguydanquit (Client Quit)
18:25:43  * thatguydanjoined
18:26:51  * thatguydanquit (Client Quit)
18:27:53  * thatguydanjoined
18:28:59  * thatguydanquit (Client Quit)
18:30:02  * thatguydanjoined
18:31:08  * thatguydanquit (Client Quit)
18:32:12  * thatguydanjoined
18:33:16  * thatguydanquit (Client Quit)
18:34:18  * thatguydanjoined
18:35:14  * intabulasquit (Remote host closed the connection)
18:35:25  * thatguydanquit (Client Quit)
18:35:47  * intabulasjoined
18:36:28  * thatguydanjoined
18:37:34  * thatguydanquit (Client Quit)
18:38:36  * thatguydanjoined
18:39:42  * thatguydanquit (Client Quit)
18:40:46  * thatguydanjoined
18:41:51  * thatguydanquit (Client Quit)
18:42:51  * thatguydanjoined
18:44:00  * thatguydanquit (Client Quit)
18:44:52  * intabulasquit (Remote host closed the connection)
18:45:00  * thatguydanjoined
18:45:04  * intabulasjoined
18:46:08  * thatguydanquit (Client Quit)
19:34:57  * AvianFlujoined
19:38:32  * thatguydanjoined
19:39:38  * thatguydanquit (Client Quit)
19:40:37  * thatguydanjoined
19:41:46  * thatguydanquit (Client Quit)
19:42:47  * thatguydanjoined
19:43:55  * thatguydanquit (Client Quit)
19:44:57  * thatguydanjoined
19:46:04  * thatguydanquit (Client Quit)
19:47:07  * thatguydanjoined
19:48:12  * thatguydanquit (Client Quit)
19:49:13  * thatguydanjoined
19:50:21  * thatguydanquit (Client Quit)
19:51:25  * thatguydanjoined
19:52:29  * thatguydanquit (Client Quit)
19:53:30  * thatguydanjoined
19:54:16  * mikealquit (Quit: Leaving.)
19:54:38  * thatguydanquit (Client Quit)
19:55:42  * thatguydanjoined
19:56:47  * thatguydanquit (Client Quit)
19:57:50  * thatguydanjoined
19:58:55  * thatguydanquit (Client Quit)
20:06:32  * yorickquit (Ping timeout: 272 seconds)
20:08:21  * yorickjoined
20:12:17  * mikealjoined
20:23:53  * thatguydanjoined
20:29:52  * saijanai_joined
20:46:48  * thatguydanquit (Quit: thatguydan)
20:48:46  * intabulasquit (Remote host closed the connection)
20:55:27  <Raynos>dominictarr: pattern openServerThing(function (stream) https://github.com/Colingo/stream-server#example-browser-server-in-a-seperate-browser https://github.com/Raynos/seaport-stream#example-server
21:14:35  * thatguydanjoined
21:36:45  <Raynos>dominictarr: > considering a middlewaresque thing where you can go: NO
21:36:57  <Raynos>dominictarr: that middlewaresque thing is called pipeline
21:37:41  <Raynos>dominictarr: > hmm, you'd need to pass some options to get routing... https://github.com/Raynos/stream-router#example-server
21:38:10  * AvianFluchanged nick to Away-vianFlu
21:57:26  * joshwnjjoined
21:59:02  * Away-vianFluchanged nick to AvianFlu
22:06:28  * mikealquit (Quit: Leaving.)
22:07:17  * mikealjoined
22:14:14  * tanepiperquit (Ping timeout: 244 seconds)
22:21:42  * mikealquit (Quit: Leaving.)
22:27:32  * mikealjoined