00:00:09  <SubStack>and as part of the testling refactor I'm going to start building some CI subsystems into it
00:11:14  <Raynos>https://gist.github.com/57a91462277331fdf5e9
00:11:16  <Raynos>Another article!
00:11:42  <Raynos>SubStack: why make a seperate module for the async version? Also the lack of optional this value is something that should be fixed in your version
00:12:05  <Raynos>niftylettuce: did you see real whales & sharks?
00:58:53  <rowbit>Hourly usage stats: []
01:04:28  <SubStack>jesusabdullah: http://www.streetbonersandtvcarnage.com/howtopiss/failed-pilot-the-immersionist/
01:16:02  <Raynos>SubStack: airport still doesn't expose createStream hooks yet
01:30:49  <SubStack>Raynos: ok done
01:31:00  <Raynos>SubStack: fuck yes
01:31:03  <Raynos>I am so pleased
01:31:14  <SubStack>air.connect({ createStream : ..., role : 'whatevs' })
01:31:27  <SubStack>note: I haven't actually tried it
01:31:35  <SubStack>only made sure that the existing tests still work
01:33:36  <Raynos>cool
01:35:24  <SubStack>oh actually this seems less useful, createStream should get the service as a parameter
01:37:33  <Raynos>it should?
01:37:39  <Raynos>shouldn't it just oh..
01:37:40  <Raynos>yeah
01:37:42  <Raynos>your right
01:38:03  <Raynos>but then the createStream function will need to talk to airport directly
01:38:13  <Raynos>you need seaport-proxy
01:38:18  <Raynos>talk to seaport directly*
01:38:30  <SubStack>airport already talks to seaport directly
01:38:34  <SubStack>that's what it does
01:38:36  <Raynos>i know
01:38:44  <Raynos>but you cant talk to seaport directly in the browser
01:38:55  <SubStack>correct
01:39:03  <SubStack>except that seaport just uses upnode itself
01:39:25  <SubStack>so if you can get seaport to take createStream as a parameter then it should work
01:41:02  <SubStack>ok I have a working example and a small tweak now
01:41:08  <Raynos>I see
01:41:15  <Raynos>you are right that seaport uses upnode
01:41:32  <SubStack>bwahaha this is boss because I can spin up 2 servers over ssl, kill the one that a client connected to, and the client keeps on going without skipping a beat
01:41:50  <Raynos>\o/
01:41:57  <Raynos>you can do the same with a browser client soon
01:42:32  <Raynos>except sock spams the fuck out of your code due to reconnects :/
01:42:36  <Raynos>sockjs is a pain
01:42:53  <SubStack>published 0.4.2
01:43:38  <SubStack>check the new ssl example
01:43:55  <SubStack>the server is just upnode but airport could have a streaming server mode later
01:44:20  <SubStack>anyways airport servers aren't the hard part
01:44:36  <Raynos>agreed
01:44:40  <Raynos>I need to get seaport proxy to work
01:48:27  * saijanai_quit (Quit: saijanai_)
01:52:39  <niftylettuce>Raynos: yea they were real
01:56:11  <niftylettuce>huge whale, this thing was massive
01:56:13  <niftylettuce>20 ft long
01:58:52  <rowbit>Hourly usage stats: []
02:22:21  <Raynos>How should you handle errors when you don't have any callback to send them too
02:39:25  <Raynos>https://github.com/Raynos/multi-channel-mdm#example-server
02:39:40  <Raynos>dominictarr: Why route on HTTP when you can route on streams!
02:40:14  <dominictarr>click
02:42:08  <dominictarr>Raynos, looks good!
02:42:13  <Raynos>I feel the example is too complex
02:42:15  <Raynos>too much code
02:42:18  <Raynos>I blame the domains stuff
02:42:31  <dominictarr>although I don't see where you put your listeners,
02:42:32  <Raynos>dominictarr: https://github.com/Raynos/multi-channel-mdm/blob/master/index.js#L21 how do I avoid throwing there?
02:42:50  <Raynos>oh fail that thrower won't be caught by the domain >_< shit
02:43:26  <dominictarr>just emit the error?
02:43:35  <dominictarr>or callback?
02:44:05  <dominictarr>in your example I can't see where you define the route
02:44:21  <dominictarr>sorry, I mean the action that that route takes
02:44:24  * ryan_stevensjoined
02:44:29  <dominictarr>like I mean the function.
02:44:56  <Raynos>router.addRoute("/channel/:streamName", multiChannel(streamStore))
02:45:29  <Raynos>maybe i should write to the stream
02:45:31  <dominictarr>yeah, the example needs to show multiChannel
02:45:35  <Raynos>or maybe just end the stream
02:45:39  <dominictarr>I'm not sure how it works
02:45:40  <Raynos>the example shows it
02:46:05  <Raynos>its just swapped in all the crazy code
02:46:12  <Raynos>i should show a simpler example
02:47:00  <Raynos>oh wait
02:47:05  <Raynos>I can just emit the error on the stream
02:47:06  <Raynos>sweet!
02:47:07  <dominictarr>yeah, it's a little confusing but this is a really good start
02:48:02  <Raynos>yeah its pretty confusing
02:48:39  <Raynos>stream.destroy vs stream.end
02:48:42  <Raynos>when should I use them?
02:49:41  <dools>depends how violently you feel towards the stream
02:50:04  <Raynos>should mux demux have a .connect & .listen shortcut? :p
02:50:07  <Raynos>like dnode has?
02:52:36  <dominictarr>Raynos, I'd just stick with end most of the time. it looks like destroy may be removed in 0.9
02:53:10  <dominictarr>Raynos, I'm not adding any network interface to mux-demux.
02:53:27  <Raynos>dominictarr: but it makes demos using mux-demux easy :P
02:53:55  <dominictarr>it's good how it is totally separate from any particular type of stream.
02:54:27  <dominictarr>Raynos, that is the job of some sort of stream oriented framework that hasn't been invented yet
02:54:51  <dominictarr>like an express of streams.
02:55:09  <Raynos>i see
02:55:15  <Raynos>we dont want an express of streams :(
02:55:30  <Raynos>we want a ... of streams
02:55:32  <Raynos>not connect, not tako
02:56:02  <dominictarr>I think the point of a framework isn't to solve the web development problem
02:56:18  <dominictarr>but it's to teach people what the parts of the problem are
02:56:32  <dominictarr>in a way that they don't have to learn everything at once.
02:57:05  <dominictarr>instead they have something kinda setup and easy to play with and have stuff to show for it
02:57:21  <dominictarr>but mean while they are learning how to not use the framework.
02:58:26  <Raynos>thats what reading npm-www is for
02:58:34  <Raynos>or using the components of routil
02:58:53  <rowbit>Hourly usage stats: []
02:59:01  <dools>dominictarr: that's what a library is for. a framework should just be a way of organising code
02:59:14  <dools>(but the lines between framework and library are so often blurred, nowadays ... )
02:59:54  <dominictarr>no, a library/module is for soving a particular problem.
03:00:19  <dominictarr>framework==organization is another way to look at it
03:00:45  <dominictarr>but it's just that organization is destined to fail
03:01:07  <dominictarr>because one pattern can't possibly fit what everyone wants to build.
03:05:08  <dools>that just depends on how didactic the framework is.
03:07:21  <Raynos>dominictarr: https://github.com/Raynos/multi-channel-mdm#example-server
03:07:24  <Raynos>massive simplification
03:08:08  <Raynos>framework calls my code. I call a libraries code
03:09:35  <dools>yeah that works
03:10:10  <dools>in fact, i think that is the best definition i've ever heard of hte distinction
03:10:17  <dools>"a framework is a thing that calls my code"
03:10:38  <Raynos>yeah its a good distinction
03:10:42  <Raynos>and things that call my code are evil
03:10:47  <Raynos>ncore is a framework :(
03:12:00  <Raynos>i wonder who coined that term
03:13:46  <dominictarr>"framework"? well, it's an architectural thing
03:14:40  <dominictarr>architecture was quite influential on thinking in the 20th century actually
03:15:01  <Raynos>martin fowler mentions this inversion of control: http://stackoverflow.com/a/3057939/419970
03:15:10  <Raynos>Yeah a framework also makes architecture decisions for you
03:15:18  <Raynos>but a large library can also make architecture decisions for me
03:15:23  <Raynos>node makes archittecture decisions for me
03:16:20  <dominictarr>Raynos, a large library is a "toolkit"
03:16:37  <Raynos>dominictarr: or a "kitchen sink"
03:16:42  <Raynos>underscore isnt a toolkit, its a kitchen sink
03:17:12  * saijanai_joined
03:17:13  <dominictarr>that is stretching the metaphore a bit.
03:17:25  <dominictarr>maybe _ has a kitchen sink
03:17:42  <dominictarr>kitchen sink= the features no one uses
03:17:49  <dominictarr>but are still there
03:17:59  <Raynos>i remember a thread about toolkits frameworks
03:18:02  <Raynos>from 10 months ago
03:20:18  <Raynos>dominictarr: https://groups.google.com/forum/#!topic/nodejs/aZ1hVZXd0k0
03:22:26  <dominictarr>I remember
03:29:09  <dominictarr>catch you dudes later, time for me to sleep. (5am)
03:29:21  * dominictarrchanged nick to dominictarr[zzz]
03:41:12  <Raynos>SubStack: is there an option to just expose Buffer as a global in window
03:41:22  <Raynos>so I dont have to manually fix modules which access it as a global
03:58:52  <rowbit>Hourly usage stats: []
04:57:20  <Raynos>streams are awesome: https://github.com/Raynos/stream-chat#the-interesting-bits
04:58:53  <rowbit>Hourly usage stats: []
05:11:01  * saijanai_quit (Excess Flood)
05:12:43  <Raynos>dominictarr: event-stream uses Buffer as a global which falls over in browserify. I'm currently patching it with `window.Buffer = require("buffer").Buffer` in my code. cc SubStack
05:12:59  <Raynos>I dont know who should solve this Buffer issue, event-stream, browserify or my module
05:24:01  <Raynos>SubStack: how do I magically turn on long stack traces in the browser? (you must have solved this by now)
05:34:51  * st_luke_joined
05:40:54  <Raynos>SubStack: https://github.com/substack/upnode/pull/12 all the patches!
05:58:52  <rowbit>Hourly usage stats: []
06:02:07  * ryan_stevensquit (Read error: Connection reset by peer)
06:03:02  * st_luke_quit (Remote host closed the connection)
06:53:20  <Raynos>SubStack: seaport proxy works one way. You can send messages from the browser to a seaport service
06:53:49  <Raynos>SubStack: it completely spinlocks the other way when a seaport service over TCP tries to send shit to the browser ( https://github.com/Raynos/seaport-proxy/blob/master/examples/simple/server.js#L70 )
06:58:52  <rowbit>Hourly usage stats: []
07:01:54  <Raynos>I think it somehow blocks the websocket connection
07:38:46  <Raynos>dominictarr: when you get to the bay area we should hack
07:39:40  * altreuschanged nick to Altreus
07:39:47  * Altreusquit (Changing host)
07:39:47  * Altreusjoined
07:47:04  <Raynos>dominictarr: https://github.com/dominictarr/skates you mentioned a streams based framework. Is skates it?
07:50:06  * blakmatrixjoined
07:58:52  <rowbit>Hourly usage stats: []
07:59:40  <Raynos>SubStack: https://github.com/Raynos/seaport-proxy I managed to get it to work. Now it just needs a shiny API
08:07:32  <Raynos>SubStack: proposed API https://gist.github.com/3272176
08:58:53  <rowbit>Hourly usage stats: []
09:57:02  * blakmatrixquit (Read error: Connection reset by peer)
09:58:52  <rowbit>Hourly usage stats: []
10:05:42  * saijanai_joined
10:58:52  <rowbit>Hourly usage stats: []
11:58:52  <rowbit>Hourly usage stats: []
12:58:53  <rowbit>Hourly usage stats: []
13:58:53  <rowbit>Hourly usage stats: []
14:16:13  * xaqjoined
14:40:40  * xaqquit (Remote host closed the connection)
14:52:06  * xaqjoined
14:54:03  * pikpikquit (*.net *.split)
14:54:03  * rannmannquit (*.net *.split)
14:55:20  * saijanai_quit (Read error: Operation timed out)
14:56:36  * rannmannjoined
14:58:53  <rowbit>Hourly usage stats: []
14:59:11  * pikpikjoined
14:59:42  * pikpikquit (Changing host)
14:59:42  * pikpikjoined
14:59:42  * pikpikquit (Changing host)
14:59:42  * pikpikjoined
15:09:08  * st_lukequit (Remote host closed the connection)
15:42:11  * timoxleyjoined
15:58:53  <rowbit>Hourly usage stats: []
16:15:26  * timoxleyquit (Quit: Computer has gone to sleep.)
16:17:04  * dominictarr[zzz]changed nick to dominictarr
16:33:38  * devaholicquit (Ping timeout: 250 seconds)
16:58:53  <rowbit>Hourly usage stats: []
17:09:16  * blakmatrixjoined
17:09:45  * blakmatrixpart
17:58:52  <rowbit>Hourly usage stats: []
18:42:11  * ITproquit (Ping timeout: 257 seconds)
18:42:22  * ITprojoined
18:58:53  <rowbit>Hourly usage stats: []
19:26:08  * st_lukejoined
19:58:15  * tilgovijoined
19:58:52  <rowbit>Hourly usage stats: []
19:58:53  <rowbit>Daily usage stats: []
20:18:37  <Raynos>SubStack: o/
20:18:41  <Raynos>When using browserify
20:18:55  <Raynos>I want to inject "process.env.NODE_ENV = '" + process.env.NODE_ENV "'"
20:18:57  <Raynos>into the bundle
20:19:01  <Raynos>before any code get's run
20:19:12  <Raynos>but after the inbuild process gets defined in the bundle
20:32:49  * xaqquit (Read error: Connection reset by peer)
20:33:17  * xaqjoined
20:45:15  <Raynos>isaacs: npm docs redirects to the new npmjs site. I no longer see a link to the github page or the README. Horrible docs
20:47:28  <isaacs>Raynos: example.
20:47:39  <Raynos>isaacs: npm docs through
20:48:03  <isaacs>oh, yeah, i guess npm docs should probably just go to the npm website now
20:48:55  <isaacs>Raynos: bug dominic to put a repository field in his package.json, and re-publish with a newer npm
20:50:22  <isaacs>Raynos: there isn't even a README file in the tarball
20:57:08  <Raynos>isaacs: I see whats happening, it used to redirect to the old package page which is now the new package page
20:57:14  <Raynos>dominictarr: add a repo!
20:58:52  <rowbit>Hourly usage stats: []
21:00:36  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
21:00:37  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
21:07:49  <isaacs>dominictarr: and a readme!
21:16:42  <Raynos>SubStack: https://gist.github.com/3278493
21:16:52  <Raynos>dominictarr: should I set a readme property on all my modules in package.json ?
21:18:50  * xaqquit (Read error: Connection reset by peer)
21:19:22  * xaqjoined
21:58:52  <rowbit>Hourly usage stats: []
22:23:51  <Raynos>dominictarr: https://github.com/dominictarr/mux-demux/pull/4
22:57:10  * tilgoviquit (Remote host closed the connection)
22:58:52  <rowbit>Hourly usage stats: []
23:16:22  * tilgovijoined
23:25:40  * SubStackstill recovering from curiosity landing party
23:26:49  * xaqquit (Remote host closed the connection)
23:30:43  <dools>i don't get why everyone was so excited about that. haven't we landed on mars a few times already?
23:31:09  <dools>it's like the 3rd moon landing - who knows what the guy said when he stepped down off the 3rd lunar lander? no-one. that's who
23:31:53  * stlsaintquit (Quit: leaving)
23:34:56  <Nexxy>dools, it's a mobile laboratory
23:35:31  <SubStack>dools: it has a nuclear-powered laser rock cutter
23:35:33  <SubStack>nuff said
23:38:36  <dools>ah okay. so this time we'll REALLY find out how much money we can get out of the rocks on mars :)
23:44:07  * SubStackthrew up again :(
23:44:16  <SubStack>note to self: never drink whiskey ever
23:45:03  <dools>haha i remember the first time i drank whiskey i was 15
23:45:17  <dools>it went down like water because i'd never had it before. i was so fucking ill the next day i couldn't touch the stuff til i was like 20
23:48:29  * timoxleyjoined
23:58:52  <rowbit>Hourly usage stats: []