01:23:48  * fern4lvarezquit (Ping timeout: 245 seconds)
01:24:52  * lluad_joined
01:28:59  * lluadquit (Ping timeout: 255 seconds)
01:29:02  * lluad_changed nick to lluad
03:05:12  * hipertracker-offjoined
03:07:19  * hipertrackerquit (Ping timeout: 260 seconds)
03:07:19  * hipertracker-offchanged nick to hipertracker
03:39:36  * hipertrackerquit (Quit: hipertracker)
03:47:35  * lluadquit (Quit: lluad)
03:49:04  * evangenieurquit (Remote host closed the connection)
03:49:36  * evangenieurjoined
03:53:06  * colinsullivanquit (Quit: Leaving.)
03:54:34  * evangenieurquit (Ping timeout: 260 seconds)
04:16:53  * sberrymanquit (Ping timeout: 265 seconds)
04:23:23  * hipertrackerjoined
04:26:56  * strikeoutquit (Quit: strikeout)
04:27:15  * strikeoutjoined
07:01:10  * sberrymanjoined
09:13:17  * mtsrjoined
09:55:58  * travisdunnjoined
10:03:00  * mtsrquit (Ping timeout: 250 seconds)
10:11:12  <travisdunn>anyone around that could help me troubleshoot a hosting issue with chrome?
10:23:24  * evangenieurjoined
10:56:10  * ins0mniajoined
11:09:09  * travisdunnquit (Remote host closed the connection)
11:09:42  * travisdunnjoined
11:31:45  * travisdu_joined
11:35:24  * travisdunnquit (Ping timeout: 260 seconds)
15:29:14  <strikeout>you people sure don't talk much :)
15:38:41  <travisdu_>true
15:39:08  * paulbjensenjoined
15:39:23  <travisdu_>i got haproxy working with ssl. that was cool - https://groups.google.com/forum/?fromgroups=#!topic/socketstream/_KbMUPjsUaM
15:40:06  <paulbjensen>it sure is
15:48:00  <paulbjensen>anyone got any tips for installing a SS app on Heroku? failing at the hiredis build on Socket.io
16:08:12  <paulbjensen>Discovered that you currently can't deploy a default SS app on Heroku. https://github.com/socketstream/socketstream/issues/334
16:43:38  * ins0mniaquit (Ping timeout: 244 seconds)
17:03:57  <travisdu_>i haven't used node on heroku for over a year, but i remember it being very limiting in regard to things like npm and port policy management. if possible, use an ec2 instance instead.
17:06:30  <paulbjensen>Thanks. I'd love to, but this wasn't for me, this is for someone else whose having problems with ss-engine.io and Heroku
17:07:30  <paulbjensen>https://github.com/Anephenix/ss-engine.io/issues/7
17:07:31  <travisdu_>yeah. sorry. 'switch hosts' isn't much of an answer anyway, but i thought i'd chime in as a counterpoint
17:07:37  <paulbjensen>:)
17:13:17  <paulbjensen>I think that advice is worth passing on to the chap.
17:17:47  * travisdu_quit (Remote host closed the connection)
17:19:32  * travisdu_joined
17:20:21  * travisdu_quit (Remote host closed the connection)
17:30:37  <paulbjensen>anyway, fixed the issue, ss-engine.io works with Heroku, solution posted in the github issue referenced earlier
17:35:15  * sberrymanquit (Remote host closed the connection)
17:37:47  * mekwallquit (Max SendQ exceeded)
17:38:17  * mekwalljoined
17:39:58  * ins0mniajoined
17:44:35  * ins0mniaquit (Ping timeout: 255 seconds)
17:47:17  * lluadjoined
18:12:25  * paulbjensenquit (Quit: paulbjensen)
18:12:27  * Golesjoined
18:29:01  * paulbjensenjoined
18:39:07  * ins0mniajoined
18:54:49  * colinsullivanjoined
19:19:16  * travisdunnjoined
19:20:10  <ArxPoetica>hey paulbjensen
19:20:17  <paulbjensen>hi Arx
19:20:24  <ArxPoetica>*awesome* work on making ss-engine.io work on Heroku.
19:20:30  <ArxPoetica>Even though it's not true sockets.
19:20:32  <paulbjensen>Thanks.
19:20:41  <ArxPoetica>It was bugging me that I could never take that route if I needed to.
19:20:45  <ArxPoetica>Now I can. :P
19:20:56  <ArxPoetica>Hey — have you heard from owen of late
19:20:57  <ArxPoetica>?
19:21:13  <ArxPoetica>(Aren't you both across the atlantic? :P )
19:21:20  <paulbjensen>UK-based, yes
19:21:54  <ArxPoetica>Yeah. Are you an AOL guy too?
19:22:05  <ArxPoetica>Or did you just get wrapped up in it because you liked the idea?
19:22:07  <paulbjensen>I spoke to him a while back, he is alive ;) just terribly busy.
19:22:13  <ArxPoetica>Gotcha.
19:22:19  <paulbjensen>yep, I was an AOLer
19:23:04  <ArxPoetica>Too personal maybe, but what made you guys split from AOL (I'm talking w/ regards to SS)?
19:23:13  <ArxPoetica>Different vision?
19:23:57  <ArxPoetica>Don't feel obligated to answer that. :P
19:26:09  * paulbjensen_joined
19:26:12  <paulbjensen_>No problem. I left AOL about a year ago.
19:27:05  <ArxPoetica>You reentered the room as yourself. :P
19:27:12  * paulbjensenquit (Ping timeout: 250 seconds)
19:27:13  * paulbjensen_changed nick to paulbjensen
19:28:02  <ArxPoetica>Anyway, I think I keep panicking that things seem so dead around here. :P
19:28:28  <paulbjensen>It'll liven up in a bit, trust me.
19:28:33  <ArxPoetica>:)
19:28:50  <ArxPoetica>Guess I'm the one working through the holidays.
19:30:56  <paulbjensen>It's Sunday? You freelance?
19:32:10  <ArxPoetica>Yes, freelance.
19:32:39  <ArxPoetica>I work for free. :P
19:32:45  <paulbjensen>;)
19:33:41  <ArxPoetica>I have a part-time gig (recently changed from fulltime), and I'm branching into startup/self-employment.
19:35:39  <paulbjensen>That's pretty cool. I'm full time at a small web broadcasting company. The SS stuff is a night owl project ;)
19:36:10  <ArxPoetica>web broadcasting?
19:36:27  <paulbjensen>corporate presentations, filmed and broadcast live
19:37:02  <paulbjensen>The cool thing is I get to work with Node.js :D
19:37:09  <ArxPoetica>oh wow
19:37:13  <ArxPoetica>that's really good to know
19:37:26  <ArxPoetica>I'm working w/ video and web…in node.js
19:37:33  <ArxPoetica>I might have some questions for you then.
19:37:37  <paulbjensen>But on the flip side, I have to make sure the web app works in Internet Explorer 7
19:37:46  <ArxPoetica>right
19:37:53  <paulbjensen>cool, I'm all ears.
19:37:56  <ArxPoetica>I remember the days of IE6...
19:38:11  <ArxPoetica>Yeah, nothing off the top of my head, but I'll file it away and hit you up when I need.
19:38:19  <ArxPoetica>I'm basically working on an interactive online film.
19:38:36  <ArxPoetica>So, some intensive overhead needs for video and audio.
19:39:03  <ArxPoetica>And I'm only slightly apprehensive about using these technologies w/out breaking the non-blocking paradigm. :P
19:39:44  <ArxPoetica>I'm also using SS for a lot of the front end templating.
19:39:48  <paulbjensen>:) - Yeah, we haven't yet used Node.js to do any video/audio processing, only for the web app.
19:39:58  <ArxPoetica>Right. I can't imagine doing it.
19:40:08  <ArxPoetica>Which means I have to either make CDN recommendations...
19:40:09  <ArxPoetica>OR
19:40:17  <ArxPoetica>decide on an audio/video vendor
19:40:56  <paulbjensen>Is the video live-streamed or already on disk?
19:41:02  <ArxPoetica>disk
19:41:06  <ArxPoetica>it's pre-edited
19:41:25  <ArxPoetica>same with audio
19:41:45  <ArxPoetica>though that whole real-time stuff — :P
19:41:50  <ArxPoetica>RPC this.
19:42:11  <ArxPoetica>I used the word "RPC" at a node meetup recently and some ember dude actually scoffed.
19:42:14  <ArxPoetica>ha ha
19:42:49  <paulbjensen>:) You can never escape code/language snobbery, as I learnt a couple of months back.
19:43:57  <ArxPoetica>lol
19:47:43  <paulbjensen>I've wanted to write a response to the gish gallop author, but I looked at his blog posts, tweets, and came to the conclusion that he hates Node.
19:48:48  <lluad>It's never worth writing a response to somebody like that, unless the real audience is someone else.
19:51:35  <paulbjensen>True, still irks me that he resorted to some low blows in his blog post, but never mind. Reply with code.
19:59:16  <paulbjensen>To reply to your question, I left AOL because AOL took a bad turn following a change in UK's executive management. The last straw for me was when they forced out the senior tech exec who gave us the time and opportunity to work on SS.
20:04:01  <paulbjensen>It's sad, because I have a photo of the UK tech team taken about 18 months ago, which has me, Owen, Addy Osmani, and a bunch of other really smart people. Out of that team of 8 people, only 4 are still there.
20:04:28  <ArxPoetica>not sure what the gish gallop post is
20:05:00  <paulbjensen>http://www.unlimitednovelty.com
20:05:07  <ArxPoetica>reading. :P
20:05:42  <ArxPoetica>Some people just are haters just … because. Honestly? I think they're jealous.
20:05:45  <ArxPoetica>(Not kidding.)
20:06:10  <paulbjensen>He raises some good points, and I wouldn't have an issue if it wasn't for the snarkiness and labelling.
20:07:29  * lluadtends to consider anyone that gung-ho about Rails (as opposed to "it's a perfectly good tool") probably lacking in some breadth of experience
20:08:17  <ArxPoetica>http://www.unlimitednovelty.com/2012/06/ruby-is-faster-than-python-php-and-perl.html
20:08:28  <ArxPoetica>Note. JS v8 is faster than Ruby. :P
20:08:54  <ArxPoetica>(According to his own blog post. :P )
20:09:40  <paulbjensen>True. His argument regarding Ruby multi-core threading is intriguing, I want to put it to the test.
20:10:30  <paulbjensen>It would especially be nice to contrast with other Ruby implementations, as MRi Ruby is C
20:11:17  <ArxPoetica>Conventionally, Ruby is an interesting language. I've just never had a cause to learn it. (I've been stuck in either Java or PHP.)
20:11:32  <ArxPoetica>I did have a go at it once, but that was a while back.
20:11:55  <paulbjensen>It was the first language I ever learned, so I was rather lucky.
20:12:18  <paulbjensen>The Ruby jobs market in the UK was just, nuts.
20:12:34  <paulbjensen>and it still is.
20:13:54  <ArxPoetica>interesting
20:14:01  <ArxPoetica>I'm kind of waiting for Node to explode.
20:14:11  <ArxPoetica>(I guess it already has?)
20:15:00  <paulbjensen>In one way, yes, but I guess you're talking about the employment side of things.
20:15:57  <travisdunn>my observation is that a lot of companies are using side projects as an excuse to introduce node, but there are not too many that use it as a core tech, and so don't explicitly hire it. if you're talking about chances of using node during your daily programmer duties, i'd say that's becoming rapidly more likely.
20:16:37  <ArxPoetica>right.
20:16:59  <ArxPoetica>I'm on this sort of fragile ledge in that I'm building a potential company around it.
20:17:16  <ArxPoetica>That's the whole side thing...
20:17:19  <ArxPoetica>:P
20:17:27  <ArxPoetica>(Turning into less of a side thing.)
20:18:26  <ArxPoetica>I will say that when I see serious Java engineers (who poo poo most things non-java) start to pay serious attention to the "hipster" node technology (that's the joke I hear at work)...
20:18:37  <ArxPoetica>…as they have in the past month…that's probably a sign...
20:19:15  * lluadquit (Remote host closed the connection)
20:19:24  <travisdunn>i use node exclusively for web game development, and some generic analytics apps.
20:19:32  <paulbjensen>lol - I am looking forward to seeing it grow.
20:19:32  * lluadjoined
20:20:45  <ArxPoetica>hey travisdunn
20:21:07  <ArxPoetica>so actually, I wanted to ask you about your bootstrap site. :P (we're using bootstrap too, over here...)
20:21:15  <travisdunn>for the cases where node seems to excel (real time, concurrency, comet) there are no other technologies that come close to as nice a fit as node!
20:21:17  <ArxPoetica>http://civicseed-testing.jit.su/
20:21:31  <ArxPoetica>you can log in if you want
20:21:43  <ArxPoetica>use "s" and no password
20:21:51  <ArxPoetica>paul if you want to see it, use "j"
20:22:24  <ArxPoetica>this is for an education client. to be used in the classroom.
20:22:55  <ArxPoetica>So, yeah, I was curious about "Trail of Secrets"
20:23:20  <travisdunn>ah. yeah, bootstrap. *shame* just until i can beg a designer into helping. :/
20:23:27  <paulbjensen>nice
20:23:52  <ArxPoetica>had you seen this before, paul?
20:24:15  <ArxPoetica>this is the main project got me started in node and ss
20:24:27  <ArxPoetica>started about 5 mos. ago I guess
20:24:32  <paulbjensen>no, first time
20:24:39  <ArxPoetica>are you logged in?
20:24:40  <paulbjensen>love the graphics
20:24:48  <paulbjensen>yep, I'm the blue creature
20:24:57  <travisdunn>i do love boostrap though, although less for its actual design and more for getting everybody on the internet to follow similar semantics and naming conventions in css.
20:25:19  <ArxPoetica>hmmm…there seems to be something broken w/ multiplayer
20:25:23  <ArxPoetica>since I don't see you
20:25:28  <travisdunn>everybody's css files looked wildly different until boostrap gained popularity, and now there is a moving consensus on naming things, etc.
20:25:54  <ArxPoetica>I'm a huge fan of namespacing css and design patterns
20:25:59  <ArxPoetica>it definitely has it's place
20:26:04  <ArxPoetica>and it's good CSS practice.
20:26:07  <ArxPoetica>in general
20:26:18  <paulbjensen>who's the green dude?
20:26:33  <ArxPoetica>lol that's me
20:26:49  <paulbjensen>cool, I'm 2 tiles to your right
20:27:14  <ArxPoetica>ha
20:27:16  <paulbjensen>kinda looks like we're bopping to a exercise video or something
20:27:22  <ArxPoetica>anyway, pretty cool stuff
20:27:31  <ArxPoetica>yeah. there will actually be music.
20:27:41  <ArxPoetica>some students @ emerson college are working on that.
20:27:49  <ArxPoetica>oh. and it's open sourced.
20:28:22  <ArxPoetica>So if you ever felt like peeling away the cover on something and telling us everything we're doing wrong: https://github.com/engagementgamelab/CivicSeed
20:28:24  <ArxPoetica>ha
20:28:57  <travisdunn>re: civicseed, loading.... player.js, line 469
20:29:06  <travisdunn>-- [21:28:03.472] TypeError: $game.$player.game is null
20:29:13  <ArxPoetica>ha ok thx
20:29:44  <ArxPoetica>Yeah. Maybe what I should do is schedule a testing session with all you hacker types and have you BREAK IT. :P
20:29:48  <travisdunn>i'm on crappy internet atm, so maybe it's a connection timeout or something.
20:29:56  <ArxPoetica>could be
20:29:59  <paulbjensen>awesome. You may find a pull request for moving by WASD in the near future
20:30:04  <ArxPoetica>this is definitely not built for crappy connectionz
20:30:12  <ArxPoetica>WASD?
20:30:13  <ArxPoetica>ha ha
20:30:24  <ArxPoetica>what's WASD?
20:30:36  <travisdunn>up left down right
20:30:40  <ArxPoetica>oh right
20:30:42  <ArxPoetica>ha ha
20:30:45  <paulbjensen>directions
20:30:48  <ArxPoetica>We actually fixed some latency issues.
20:30:55  <ArxPoetica>Haven't pushed it live or to the master yet
20:31:26  <paulbjensen>Do you use a custom request responder for the data?
20:31:38  <ArxPoetica>no, though we probably could.
20:31:45  <ArxPoetica>I'm still debating how to load that map.
20:32:00  <ArxPoetica>Since the data is fairly heftly.
20:32:05  <ArxPoetica>*hefty
20:32:39  <ArxPoetica>Also, we've been using Mongo for everything, but I'm in the process of switching a lot of immediate responses to REDIS.
20:32:57  <ArxPoetica>I'm totally all ears though for suggestions if you see crap. :P
20:33:10  <ArxPoetica>Also, our test suite is non-existent.
20:33:15  <ArxPoetica>(BAD! BAD!)
20:33:41  <ArxPoetica>Our auth. is also greatly lacking but it won't be important for a while.
20:34:02  <ArxPoetica>Our first test run is in a month…we just have to have the basics working.
20:34:52  <paulbjensen>When I put Dashku on HN, there were 0 tests. Since then I discovered how to use Cucumber to test the app, and apply Mocha and node-gently to do unit/functional tests.
20:35:06  <paulbjensen>I think it's ok to forego tests with a proof of concept
20:35:18  <ArxPoetica>word
20:36:06  <paulbjensen>it's when people turn around and start wanting to use the thing in anger.
20:36:12  <ArxPoetica>lol
20:36:33  <ArxPoetica>What would be the advantage of a custom responder?
20:36:41  <ArxPoetica>I think the RPC has served us well.
20:37:56  <paulbjensen>custom responder let's you send data in custom format i.e. just coordinates, not JSON object containing coordinates
20:38:21  <paulbjensen>saves bytes
20:38:32  <ArxPoetica>ah right cool
20:39:36  <paulbjensen>It may come in useful in the future if you find yourself serving huge amounts of activity at the same time
20:39:42  <ArxPoetica>right
20:40:06  <paulbjensen>let me see if I can find a link somewhere in the docs
20:40:17  <ArxPoetica>Yeah, I know what you're referring to.
20:40:29  <ArxPoetica>I forget who did it w/ ss-angular
20:40:34  <ArxPoetica>some polling thing.
20:40:48  <ArxPoetica>We're limiting the first run on this game to 20 players.
20:40:55  <ArxPoetica>It's an in-classroom trial.
20:41:02  <ArxPoetica>semester sort of thing.
20:41:26  <ArxPoetica>hey travisdunn — so did you have any luck getting sockets to work?
20:41:35  <paulbjensen>here we go
20:41:39  <paulbjensen>https://github.com/socketstream/socketstream/blob/master/doc/guide/en/writing_request_responders.md
20:41:43  <ArxPoetica>yes, that
20:41:46  <ArxPoetica>pretty cool stuff
20:41:57  <ArxPoetica>travisdunn — for what it's worth, a few of us have switched over to ss-engine.io
20:42:03  <ArxPoetica>Having better experiences with it.
20:42:22  <ArxPoetica>Nodejitsu seems to play better with it. Not 100% sure why.
20:42:44  <ArxPoetica>(Though it didn't sound like you were using Nodejitsu.)
20:43:10  <paulbjensen>Thanks. I use Linode for my apps.
20:43:18  <ArxPoetica>Interesting.
20:43:19  <paulbjensen>I've yet to give Nodejitsu a spin
20:43:26  <ArxPoetica>They've improved.
20:43:34  <ArxPoetica>Still have problems sometimes.
20:43:41  <ArxPoetica>The hardest thing is log access is iffy.
20:43:50  <ArxPoetica>So it's hard to really test bugs sometimes.
20:43:58  <ArxPoetica>I haven't actually heard of linode.
20:43:59  <travisdunn>interesting. i haven't paid as much attention as i should to socket.io alternatives.
20:44:14  <ArxPoetica>One dude was using sockjs and raving about it. :P
20:44:19  <ArxPoetica>Can't remember who/why.
20:44:23  <paulbjensen>SockJS is good
20:44:34  <travisdunn>development looks active, too
20:44:39  <ArxPoetica>but you wrote ss-engine.io, right?
20:44:42  <paulbjensen>Engine.io is Socket.IO transport library, extracted out and with a twist
20:44:44  <paulbjensen>yes
20:44:51  <ArxPoetica>why did you go with that one?
20:45:20  <ArxPoetica>stab in the dark :P
20:46:01  <paulbjensen>It was an R&D task for a 3rd party wanting to use Dashku.
20:46:08  <ArxPoetica>ah
20:46:11  <ArxPoetica>right
20:46:19  <paulbjensen>Engine.io was getting attention. I investigated it.
20:46:26  <ArxPoetica>gotcha
20:46:28  <ArxPoetica>so paul
20:46:34  <ArxPoetica>uh
20:46:45  <ArxPoetica>If you were starting a company… :P
20:46:53  <paulbjensen>So the key thing about Engine.io is that where Socket.io assumed Websockets would work because the browser supported it...
20:46:56  <ArxPoetica>Linode, EC2, or NodeJitsu ???
20:46:57  <ArxPoetica>:P
20:47:05  <ArxPoetica>Or something else?
20:47:25  <paulbjensen>For me, Linode over EC2, but you roll everything.
20:47:26  <ArxPoetica>Oh right. I remember that about engine.io
20:47:32  <ArxPoetica>It was a different startup config
20:47:46  <paulbjensen>Yep, Engine.io verifies that the WS transport can work first.
20:47:46  <ArxPoetica>Yeah. Rolling can be tricky. :P
20:47:57  <travisdunn>personally, i've been running node apps on ubuntu quantal. on ec2, it's this ami for us-east ebs instances: ami-9465dbfd
20:48:22  <ArxPoetica>I need an IT guy!!! :P
20:48:30  <ArxPoetica>Or a really, really good guide.
20:48:40  <ArxPoetica>(Internet guide/site, I mean.)
20:48:51  <paulbjensen>;) I need to clone myself, like Arnie but without the wooden acting.
20:48:53  <travisdunn>i have a strong sense that instance storage is better than ebs, but it's not supported on micro-instances. :(
20:48:56  <ArxPoetica>lol
20:50:03  <ArxPoetica>how much would one of you smarties charge for limited IT support (like, say, a weekly rate, with limited hours, or something like that)?
20:50:31  <ArxPoetica>I'm realizing I might need more help than myself… :P
20:50:52  <paulbjensen>Unfortunately I'm unavailable. Sorry.
20:51:01  <ArxPoetica>LOL, I was half-kidding :P
20:51:15  <ArxPoetica>But this conversation did set me to thinking . . .
20:51:23  <paulbjensen>I'm happy to answer any Qs you have
20:51:27  <ArxPoetica>My time is probably better spent finding somebody and figuring out their rate.
20:51:51  <ArxPoetica>100,000,000,000,000 quid
20:51:58  <ArxPoetica>That's my best offer.
20:52:00  <ArxPoetica>:P
20:52:08  <ArxPoetica>(I don't even know what a quid is.)
20:52:35  <paulbjensen>$1.62
20:52:42  <ArxPoetica>lol
20:52:46  <ArxPoetica>€1
20:53:06  <paulbjensen>$1.32
20:53:50  <paulbjensen>I think the jury is still out about whether that currency will still be around in the not-too-distant future
20:54:32  <paulbjensen>going to grab some food, back in 5m
21:12:17  <paulbjensen>back
21:22:16  * colinsullivanquit (Read error: Operation timed out)
21:35:53  <paulbjensen>sorry, really needed some food
21:37:32  <paulbjensen>to come back on point, I think that building an ecosystem around *this*, realtime thing, it needs to happen.
21:38:27  <paulbjensen>so I'm keen to do what I can in my spare time to contribute code, fixes, docs.
21:45:49  * colinsullivanjoined
22:01:26  * Golesquit (Quit: Out.)
22:01:45  * Golesjoined
22:17:42  * colinsullivanquit (Quit: Leaving.)
22:46:41  * owenb_changed nick to owenb
22:46:47  <paulbjensen>Owen, I've run a check regarding the reconnection code. Socket.io does not reconnect channel subscriptions.
22:46:57  * ins0mniaquit (Ping timeout: 252 seconds)
22:47:10  <owenb>hey paul
22:47:21  <owenb>socket.io does not? are you sure you mean socket.io?
22:47:41  <paulbjensen>yes. I checked, discovered a bug in Dashku at the same time.
22:48:01  <paulbjensen>My test involved broadcasting data to a widget, killing the app, then restarting it.
22:48:45  <paulbjensen>Socket.io does reconnect the browser to the app
22:48:48  <owenb>so are you saying engine.io is better?
22:48:53  <owenb>yes, it should do. and engine.io?
22:49:07  <paulbjensen>Engine.io does as well.
22:49:43  <paulbjensen>the channel subscription does not get reconnected. That's an issue that all WS transport libraries have (socket.io, engine.io, SockJS).
22:49:53  <owenb>hmm ok
22:50:10  <owenb>so i'm feeling like a new release of 0.3 is due
22:50:32  <owenb>mostly because there are some major blockers to 0.4 at the moment and some hard decisions to made
22:51:47  <owenb>one mostly: streams
22:52:32  <owenb>i love the functionality, compatibility and 'official blessing' it gets. but the current implementation is just too slow and complex for my liking
22:52:53  <paulbjensen>yeah, plus streams2 impl.
22:53:10  <owenb>exactly...
22:54:33  <owenb>i was having a good chat with Guillermo in SF
22:55:16  <owenb>you'll notice neither him nor TJ have bought into the streams idea at all. we both love the idea, but don't like the performance impact. and streams2 is even slower than the first
22:56:04  <paulbjensen>what's the performance diff?
22:57:36  <owenb>http://blog.nodejs.org/2012/12/20/streams2/
22:57:45  <owenb>think it is about 8%
22:57:47  <owenb>this worries me a lot
22:59:20  <paulbjensen>8% for Streams1 -> Streams2?
23:00:14  <owenb>so i believe
23:00:21  <owenb>problem is, it was already slow
23:00:46  <owenb>but i can't prove how slow streams vs the way we did things in 0.3 are until i find time to benchmark it properly
23:01:04  <owenb>hence this is the biggest blocker to 0.4 development at the moment
23:01:26  <owenb>because the wrong decision here will mean way more servers than are really required to host every app
23:02:15  <paulbjensen>I see.
23:02:37  <travisdunn>good explanation!
23:03:12  <owenb>once i can make a final decision here (no streams or streams2), I can sort templating and sessions etc easily as I have a plan for those
23:05:58  <travisdunn>is there a 0.4 dev branch or something?
23:06:07  <owenb>oh yes
23:06:17  <owenb>there is a working version (working minus sessions and templates)
23:06:50  <owenb>https://github.com/socketstream/socketstream-0.4
23:07:04  <owenb>we use muxdemux to do the stream multiplexing
23:07:06  <owenb>this works well
23:07:45  <owenb>it's the performance that worries me. but it's just a gut feeling right now. without proper benchmarks I can't make a final decision
23:07:55  <travisdunn>sweet! (i don't use templates)
23:08:23  <owenb>you will need sessions though
23:08:29  <owenb>we all do :)
23:08:42  <owenb>but the way i'll implement them will be very different if we use streams to if we don't
23:09:22  <paulbjensen>yeah, I guess there needs to be 2 (excuse the pun) streams of dev work; one to maintain 0.3, and one for 0.4
23:09:57  <owenb>kind of, though the 0.3 codebase is horrid compared to what i know now....
23:10:19  <owenb>but maybe doing 0.4 without streams support would be a good start
23:10:29  <owenb>then we can properly compare the two
23:12:19  <paulbjensen>what changes would 0.4 encompass, streams permitting?
23:12:56  <owenb>well, if we go with streams, we need to intercept each incoming call before it goes to the service layer (rpc, live reload, etc)
23:13:16  <owenb>this new modular service layer is the best thing about 0.4 so far
23:13:21  <owenb>and it's here to stay
23:13:39  <owenb>(basically the Request Responder idea in 0.3, but a better implementation)
23:13:54  <owenb>so i was thinking we should model the entire thing as a pipeline
23:14:15  <owenb>we call it the websocket pipeline. in your app you're free to specify how the traffic flows by piping modules together
23:14:27  <owenb>one of the first would be rate limiting, the second is likely to be sessions, etc
23:15:00  <owenb>therefore EVERY message would go through these modules before they are sent to the service layer where the real work is done (RPC, LiveReload, Pub/Sub etc, Model Sync)
23:16:40  <owenb>this is what i mean by the 'services' https://github.com/socketstream/socketstream-0.4/blob/master/example_app/app.js#L29-L32
23:17:01  <owenb>would love to find a better name, but basically think of them as module request processors which can also send code to the client
23:18:18  <travisdunn>the rpc and livereload services would basically be default in most apps?
23:18:26  <owenb>yes
23:19:24  <owenb>so under this new model everything is optional, so if you don't want livereload or RPC you don't have to have it. or you can use somebody else's implementation. but to make sure new users get up and running quickly, when you generate a new project, all of this will be in and working from the start
23:19:51  <paulbjensen>reminds me of that marble running down tubes game I payed in kindergarten
23:20:52  <travisdunn>i have to say, i *really* appreciate the abstraction level ss is designed around
23:21:28  <owenb>thanks. i'm so happy with this new design. we're keeping this whether or not we use streams under the hood
23:21:43  <owenb>but streams or no streams will change the way we do sessions
23:29:14  <paulbjensen>could you elaborate on what that change is?
23:30:19  <owenb>yeah. if we're not using streams we can't really do the whole websocket pipeline thing
23:30:36  <owenb>i have this in mind:
23:31:15  <owenb>input.pipe(require('rate-limit')()).pipe(sessions()).pipe(services()).pipe(logger()).output()
23:31:24  <owenb>where output is the traffic flowing back to the client
23:31:56  <paulbjensen>I see.
23:32:17  <owenb>but this is only possible with streams
23:32:30  <owenb>if we don't use them, we'll have to integrate sessions support tightly in the core as before
23:36:00  <paulbjensen>I guess the key question is deciding whether doing the R&D into the performance difference between 0.3 -> 0.4 w/streams justifies delaying 0.4's release.
23:37:39  <owenb>it does. we have to get this decision right
23:38:09  <paulbjensen>I'd say the same.
23:39:02  <owenb>i'm going away in a few days for a 2 week holiday to florida. one of those weeks i'll be on a boat with some free time. hope to do a lot more work on 0.4, mostly to resolve this question one way or another
23:40:05  <paulbjensen>what's the plan for 0.3? There are some pull requests/issues
23:40:22  <owenb>yes. starting having a look at things today, first time i've had chance in a while.
23:40:26  <owenb>i think we need a new release
23:40:32  <owenb>i'm happy to go with engine io now
23:42:29  <paulbjensen>ok. I can use the fork I did for up porting Heroku to scour through the code and make sure it's integrated by default.
23:43:25  * travisdu_joined
23:43:30  <paulbjensen>sometimes Apple autocorrect gets it wrong
23:43:39  <paulbjensen>*supporting
23:44:52  <paulbjensen>this issue with channel subscriptions being re-attached upon reconnect, I will look into that after.
23:45:00  <owenb>thanks paul
23:45:09  <paulbjensen>np
23:45:37  * travisdunnquit (Ping timeout: 265 seconds)
23:45:59  <paulbjensen>Can't expect you to fix all the things ;)
23:47:18  <paulbjensen>I now understand the flip side of a github repo with x number of issues, the curse of popularity.
23:48:43  <owenb>well as you know pretty much everything in my life has changed these last few weeks and I've had little or no time to maintain SS. what's really odd though is the newsgroup is busier than ever. which is good :)
23:48:59  <owenb>my current contract ends in two days then i'm on holiday, then after that I will make sure I have more time
23:49:31  <owenb>but the first step is to make an educated decision on the Streams or no Streams issue
23:51:09  <owenb>(first step for 0.4 that is)
23:54:58  <paulbjensen>kind of nice I did that check for Socket.io's channel subscription using Dashku.
23:55:25  <paulbjensen>Just realised I broke Dashku's API this entire weekend /facepalm/
23:55:51  <paulbjensen>at least the bit handling script downloads
23:57:02  <owenb>ah!
23:59:09  <paulbjensen>it's a funny thread. Today started investigating ss-engine.io not working on heroku, which lead to discovering default SS app doesn't work on heroku, and then investigating Socket.io to see if it rebinds channel subscriptions upon reconnect, now this!
23:59:57  <paulbjensen>well, at least its fixed.