Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
268 lines (267 sloc) 32.6 KB
{"nick":"mdedetrich","message":"oh yeah, from a security POV, thats shitting your pants scary","date":"2012-11-26T00:00:16.509Z","type":"message"}
{"nick":"paulbjensen","message":"has this been tested against other WS libraries/services?","date":"2012-11-26T00:26:21.917Z","type":"message"}
{"nick":"ArxPoetica","message":"interested in this","date":"2012-11-26T00:34:42.775Z","type":"message"}
{"nick":"ArxPoetica","message":"paulbjensen — are you behind ss-engine.io then?","date":"2012-11-26T00:35:01.607Z","type":"message"}
{"nick":"paulbjensen","message":"yep","date":"2012-11-26T00:35:11.961Z","type":"message"}
{"nick":"paulbjensen","message":"It's essentially a fork of ss-sockjs, but with reconnection code","date":"2012-11-26T00:35:49.365Z","type":"message"}
{"nick":"joshsmith","reason":"Quit: joshsmith","date":"2012-11-26T00:38:42.728Z","type":"quit"}
{"nick":"paulbjensen","message":"plus the benefit of engine.io's approach to establishing a reliable connection","date":"2012-11-26T00:39:01.623Z","type":"message"}
{"nick":"joshsmith","date":"2012-11-26T01:03:12.793Z","type":"join"}
{"nick":"paulbjensen","reason":"Quit: paulbjensen","date":"2012-11-26T01:13:08.887Z","type":"quit"}
{"nick":"jz","date":"2012-11-26T01:49:10.321Z","type":"join"}
{"nick":"jz","new_nick":"Guest96300","date":"2012-11-26T01:49:34.322Z","type":"nick"}
{"nick":"hipertracker","reason":"Ping timeout: 260 seconds","date":"2012-11-26T01:51:09.635Z","type":"quit"}
{"nick":"Guest96300","new_nick":"hipertracker","date":"2012-11-26T01:51:21.225Z","type":"nick"}
{"nick":"mal``","reason":"Ping timeout: 252 seconds","date":"2012-11-26T02:05:31.580Z","type":"quit"}
{"nick":"mal``","date":"2012-11-26T02:07:09.924Z","type":"join"}
{"nick":"joshsmith","reason":"Quit: joshsmith","date":"2012-11-26T02:34:28.093Z","type":"quit"}
{"nick":"ArxPoetica","message":"mdedetrich — so did you decide on a transport layer? It sounds like you leveled on ss-engine.io?","date":"2012-11-26T02:49:27.061Z","type":"message"}
{"nick":"mdedetrich","message":" ArxPoetica: I havn't tested it in production, so don't quite me on it yet","date":"2012-11-26T02:49:58.257Z","type":"message"}
{"nick":"mdedetrich","message":"but ss-enginio does seem better (and it supports reconnection)","date":"2012-11-26T02:50:09.611Z","type":"message"}
{"nick":"ArxPoetica","message":"i see","date":"2012-11-26T02:50:15.039Z","type":"message"}
{"nick":"ArxPoetica","message":"I'm trying to find it...","date":"2012-11-26T02:50:25.372Z","type":"message"}
{"nick":"mdedetrich","message":"the main advantage of ss-engine.io is engine-io's main goal, taken from their website","date":"2012-11-26T02:50:28.864Z","type":"message"}
{"nick":"ArxPoetica","message":"do you have a link?","date":"2012-11-26T02:50:30.462Z","type":"message"}
{"nick":"mdedetrich","message":"sec","date":"2012-11-26T02:50:48.894Z","type":"message"}
{"nick":"mdedetrich","message":"The main goal of Engine is ensuring the most reliable realtime communication. Unlike the previous socket.io core, it always establishes a long-polling connection first, then tries to upgrade to better transports that are \"tested\" on the side.","date":"2012-11-26T02:51:00.949Z","type":"message"}
{"nick":"mdedetrich","message":"During the lifetime of the socket.io projects, we've found countless drawbacks to relying on HTML5 WebSocket or Flash Socket as the first connection mechanisms.","date":"2012-11-26T02:51:01.284Z","type":"message"}
{"nick":"mdedetrich","message":"Both are clearly the right way of establishing a bidirectional communication, with HTML5 WebSocket being the way of the future. However, to answer most business needs, alternative traditional HTTP 1.1 mechanisms are just as good as delivering the same solution.","date":"2012-11-26T02:51:02.892Z","type":"message"}
{"nick":"mdedetrich","message":"so the main point of engine.io is to make sure that it works NO MATTER WHAT","date":"2012-11-26T02:51:28.558Z","type":"message"}
{"nick":"ArxPoetica","message":"i see","date":"2012-11-26T02:51:36.033Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: main link https://github.com/LearnBoost/engine.io","date":"2012-11-26T02:51:38.073Z","type":"message"}
{"nick":"ArxPoetica","message":"awesome thx","date":"2012-11-26T02:51:41.699Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: thats the plugin for SS https://github.com/Anephenix/ss-engine.io","date":"2012-11-26T02:52:08.711Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T02:52:20.783Z","type":"message"}
{"nick":"mdedetrich","message":"so the thing is, sockjs was good because unlike socket.io, it appeared to work in every browser","date":"2012-11-26T02:52:36.222Z","type":"message"}
{"nick":"mdedetrich","message":"problem with sock.js is it never reconnected, which is really annoying in dev mode","date":"2012-11-26T02:52:48.581Z","type":"message"}
{"nick":"ArxPoetica","message":"hmm","date":"2012-11-26T02:52:58.116Z","type":"message"}
{"nick":"ArxPoetica","message":"this was why I couldn't find it: https://github.com/paulbjensen","date":"2012-11-26T02:53:13.813Z","type":"message"}
{"nick":"ArxPoetica","message":"I was looking at his personal account — not the organization :)","date":"2012-11-26T02:53:25.728Z","type":"message"}
{"nick":"mdedetrich","message":"engine.io seems to work everywhere (by seems I mean that I havn't tested it in production, but their main goal is to make it work everywhere without problems) and has reconnect","date":"2012-11-26T02:53:29.310Z","type":"message"}
{"nick":"ArxPoetica","message":"reconnect meaning an event for when sockets come back up","date":"2012-11-26T02:54:04.410Z","type":"message"}
{"nick":"mdedetrich","message":"yeah, when you shutdown the server","date":"2012-11-26T02:54:12.960Z","type":"message"}
{"nick":"mdedetrich","message":"and start it again","date":"2012-11-26T02:54:14.979Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T02:54:16.639Z","type":"message"}
{"nick":"mdedetrich","message":"with cients still open","date":"2012-11-26T02:54:18.272Z","type":"message"}
{"nick":"mdedetrich","message":"*clients","date":"2012-11-26T02:54:20.513Z","type":"message"}
{"nick":"ArxPoetica","message":"hey — the other day, when you were talking with owenb about some session bug or something like that","date":"2012-11-26T02:54:40.595Z","type":"message"}
{"nick":"mdedetrich","message":"the thing is, engine-io is getting a lot of attention","date":"2012-11-26T02:54:42.371Z","type":"message"}
{"nick":"ArxPoetica","message":"I might be seeing something similar","date":"2012-11-26T02:54:45.698Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: I am 95% sure its the default cookie time","date":"2012-11-26T02:54:55.055Z","type":"message"}
{"nick":"mdedetrich","message":"which is set to 30 days","date":"2012-11-26T02:54:57.408Z","type":"message"}
{"nick":"ArxPoetica","message":"ah...","date":"2012-11-26T02:55:01.274Z","type":"message"}
{"nick":"mdedetrich","message":"I had websites running for longer than that","date":"2012-11-26T02:55:04.752Z","type":"message"}
{"nick":"ArxPoetica","message":"gotcha.","date":"2012-11-26T02:55:12.164Z","type":"message"}
{"nick":"mdedetrich","message":"so you have to set the cookie expiry to be longer","date":"2012-11-26T02:55:14.468Z","type":"message"}
{"nick":"mdedetrich","message":"because you can","date":"2012-11-26T02:55:22.162Z","type":"message"}
{"nick":"mdedetrich","message":"*because you can't see to catch that error","date":"2012-11-26T02:55:28.800Z","type":"message"}
{"nick":"ArxPoetica","message":"so how do you set it longer?","date":"2012-11-26T02:55:54.089Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: read this https://groups.google.com/forum/?fromgroups=#!topic/socketstream/AMDJ80w9Hzo","date":"2012-11-26T02:56:25.130Z","type":"message"}
{"nick":"ArxPoetica","message":"okay cool","date":"2012-11-26T02:56:30.175Z","type":"message"}
{"nick":"mdedetrich","message":"ss.session.options.maxAge = 8640000; // one day in milliseconds","date":"2012-11-26T02:56:33.271Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T02:56:41.187Z","type":"message"}
{"nick":"ArxPoetica","message":"I've seen that magic number","date":"2012-11-26T02:56:46.383Z","type":"message"}
{"nick":"ArxPoetica","message":"31557600000 = one year","date":"2012-11-26T02:56:58.126Z","type":"message"}
{"nick":"mdedetrich","message":"maxAge: 30 * 24 * 60 * 60 * 1000","date":"2012-11-26T02:57:07.126Z","type":"message"}
{"nick":"mdedetrich","message":"yeah so standard practise","date":"2012-11-26T02:57:11.085Z","type":"message"}
{"nick":"mdedetrich","message":"would be to set it to something like 40 years","date":"2012-11-26T02:57:16.428Z","type":"message"}
{"nick":"ArxPoetica","message":"interestig","date":"2012-11-26T02:57:37.688Z","type":"message"}
{"nick":"ArxPoetica","message":"Oh yeah, I remember this thread.","date":"2012-11-26T02:58:35.090Z","type":"message"}
{"nick":"ArxPoetica","message":"someone though it was redis","date":"2012-11-26T02:58:45.554Z","type":"message"}
{"nick":"mdedetrich","message":"the thing is, the proper way to do this is to create another cookie, however there isn't any way to catch this error","date":"2012-11-26T03:01:18.173Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T03:01:46.185Z","type":"message"}
{"nick":"ArxPoetica","message":"have you set up your own servers? Or do you use something like nodejitsu?","date":"2012-11-26T03:02:14.231Z","type":"message"}
{"nick":"mdedetrich","message":"nodejitsu","date":"2012-11-26T03:02:22.819Z","type":"message"}
{"nick":"ArxPoetica","message":"i c","date":"2012-11-26T03:02:30.699Z","type":"message"}
{"nick":"ArxPoetica","message":"yeah, I'm on there.","date":"2012-11-26T03:02:36.338Z","type":"message"}
{"nick":"ArxPoetica","message":"Oh that's right — I'm remembering, you helped me out early on. :P","date":"2012-11-26T03:02:55.246Z","type":"message"}
{"nick":"mdedetrich","message":"yeah I just asked in nodejitsu","date":"2012-11-26T03:04:23.717Z","type":"message"}
{"nick":"mdedetrich","message":"*I mean node.js","date":"2012-11-26T03:04:27.035Z","type":"message"}
{"nick":"mdedetrich","message":"the standard practise is to extend the cookie (i.e. create a new one)","date":"2012-11-26T03:04:37.186Z","type":"message"}
{"nick":"mdedetrich","message":"the problem with ss is it just throws the error, there is no way to catch it and do something like (if cookie doesn't exist -> create new one)","date":"2012-11-26T03:05:01.546Z","type":"message"}
{"nick":"mdedetrich","message":"you should probably ask owen to fix this when you get a chance to","date":"2012-11-26T03:05:55.612Z","type":"message"}
{"nick":"mdedetrich","message":"since I never seem to catch this","date":"2012-11-26T03:06:06.026Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: well either 'fix' or tell us how to deal with expired cookies","date":"2012-11-26T03:06:16.318Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T03:06:37.691Z","type":"message"}
{"nick":"ArxPoetica","message":"I'll open a ticket at least so we remember.","date":"2012-11-26T03:06:53.092Z","type":"message"}
{"nick":"mdedetrich","message":"there needs to be a way to regenerate the session (which goes through a cookie) should the cookie expire","date":"2012-11-26T03:07:03.126Z","type":"message"}
{"nick":"ArxPoetica","message":"https://github.com/socketstream/socketstream/issues/319","date":"2012-11-26T03:07:40.917Z","type":"message"}
{"nick":"ArxPoetica","message":"looks like there's one open.","date":"2012-11-26T03:07:45.621Z","type":"message"}
{"nick":"ArxPoetica","message":"er. no nevermind.","date":"2012-11-26T03:08:09.852Z","type":"message"}
{"nick":"ArxPoetica","message":"similar though maybe","date":"2012-11-26T03:08:15.086Z","type":"message"}
{"nick":"mdedetrich","message":"https://github.com/socketstream/socketstream/blob/master/doc/guide/en/sessions.md","date":"2012-11-26T03:08:23.034Z","type":"message"}
{"nick":"mdedetrich","message":"all it says is how to set the session","date":"2012-11-26T03:08:29.883Z","type":"message"}
{"nick":"mdedetrich","message":"* set the session max age","date":"2012-11-26T03:08:37.317Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T03:09:24.202Z","type":"message"}
{"nick":"joshsmith","date":"2012-11-26T03:09:57.791Z","type":"join"}
{"nick":"mdedetrich","message":"tl;dr, you need a way to deal with expired cookies instead of SS just throwing an error while its running","date":"2012-11-26T03:10:44.603Z","type":"message"}
{"nick":"ArxPoetica","message":"all right, I posted something over here: https://github.com/socketstream/socketstream/issues/319","date":"2012-11-26T03:14:22.443Z","type":"message"}
{"nick":"ArxPoetica","message":"feel free to update if you think it needs correcting","date":"2012-11-26T03:14:33.155Z","type":"message"}
{"nick":"lluad","reason":"Read error: Connection reset by peer","date":"2012-11-26T03:26:09.390Z","type":"quit"}
{"nick":"lluad","date":"2012-11-26T03:29:54.463Z","type":"join"}
{"nick":"hedgie","date":"2012-11-26T03:32:18.082Z","type":"join"}
{"nick":"hedgie","message":"is anyone around? I have a question regarding middleware (with express) in relation to sessions - I've read through this thread- https://groups.google.com/forum/?fromgroups=#!topic/socketstream/GI-7PPTAWyA","date":"2012-11-26T03:33:14.280Z","type":"message"}
{"nick":"ArxPoetica","message":"hey","date":"2012-11-26T03:35:14.142Z","type":"message"}
{"nick":"ArxPoetica","message":"what's the question?","date":"2012-11-26T03:35:46.174Z","type":"message"}
{"nick":"hedgie","message":"hey Arx, thanks for your help","date":"2012-11-26T03:35:50.719Z","type":"message"}
{"nick":"hedgie","message":"so i'm trying to do an \"admin\" interface - to do this i'm setting up a new route, and trying to use a basic authentication middleware in my /admin router","date":"2012-11-26T03:36:18.826Z","type":"message"}
{"nick":"ArxPoetica","message":"sure","date":"2012-11-26T03:36:28.933Z","type":"message"}
{"nick":"ArxPoetica","message":"in the RPC?","date":"2012-11-26T03:36:31.569Z","type":"message"}
{"nick":"hedgie","message":"i'm not doing it as an RPC, i'm trying to do it in the router:","date":"2012-11-26T03:36:45.679Z","type":"message"}
{"nick":"ArxPoetica","message":"sorry, not the RPC, router","date":"2012-11-26T03:36:45.821Z","type":"message"}
{"nick":"hedgie","message":"app.get('/admin', require('./server/middleware/admin').actions(ss).check, function(req, res) {","date":"2012-11-26T03:36:50.983Z","type":"message"}
{"nick":"ArxPoetica","message":"this is all ss?","date":"2012-11-26T03:37:06.062Z","type":"message"}
{"nick":"hedgie","message":"i'm using express as well... that .actions(ss) thing is kind of weird because i was trying to get it to work but i guess that shouldn't be there ideally","date":"2012-11-26T03:37:33.856Z","type":"message"}
{"nick":"ArxPoetica","message":"or is that an express route?","date":"2012-11-26T03:37:35.986Z","type":"message"}
{"nick":"hedgie","message":"that's an express route","date":"2012-11-26T03:37:40.665Z","type":"message"}
{"nick":"ArxPoetica","message":"yeah gotcha","date":"2012-11-26T03:37:47.342Z","type":"message"}
{"nick":"hedgie","message":"so the problem is, it gets to the middleware","date":"2012-11-26T03:37:55.316Z","type":"message"}
{"nick":"hedgie","message":"but req.session is only holding the ... express session?","date":"2012-11-26T03:38:05.203Z","type":"message"}
{"nick":"hedgie","message":"not the connect session","date":"2012-11-26T03:38:11.122Z","type":"message"}
{"nick":"ArxPoetica","message":"so…one problem w/ coupling ss w/ express is it doesn't really share middleware.","date":"2012-11-26T03:38:14.935Z","type":"message"}
{"nick":"ArxPoetica","message":"so if it's an express route, the req won't hold the session quite like that.","date":"2012-11-26T03:38:37.552Z","type":"message"}
{"nick":"hedgie","message":"okay","date":"2012-11-26T03:38:55.310Z","type":"message"}
{"nick":"ArxPoetica","message":"I'm trying to remember all the details. But I ran into the same problem once.","date":"2012-11-26T03:39:01.601Z","type":"message"}
{"nick":"ArxPoetica","message":"Let me see if I can go find my solution.","date":"2012-11-26T03:39:10.322Z","type":"message"}
{"nick":"hedgie","message":"yeah, i'm not super 100% sold on using express - the problem is i'm just not sure how to use a middleware at the route-level without using express?","date":"2012-11-26T03:39:21.564Z","type":"message"}
{"nick":"hedgie","message":"i looked around and it seemed easy for RPC calls but couldn't find anything with socketstream routes","date":"2012-11-26T03:39:38.845Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: I use latest version of express with SS fine","date":"2012-11-26T03:40:29.381Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: put this into your app app.js/app.coffee (AFTER you do ss.start)","date":"2012-11-26T03:41:04.473Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: app.stack = ss.http.middleware.stack.concat(app.stack)","date":"2012-11-26T03:41:08.032Z","type":"message"}
{"nick":"ArxPoetica","message":"Yeah, I'm wrong — it does share session","date":"2012-11-26T03:41:20.070Z","type":"message"}
{"nick":"ArxPoetica","message":"I was thinking of a different problem.","date":"2012-11-26T03:41:29.117Z","type":"message"}
{"nick":"hedgie","message":"yeah! i was reading through the webpage and that's what i've had since the very beginning","date":"2012-11-26T03:41:35.875Z","type":"message"}
{"nick":"hedgie","message":"i looked through the socketstream tour...","date":"2012-11-26T03:41:45.903Z","type":"message"}
{"nick":"hedgie","message":"so i'm very confused why the session isn't being shared","date":"2012-11-26T03:41:57.284Z","type":"message"}
{"nick":"hedgie","message":"maybe i have an older version of express","date":"2012-11-26T03:42:02.849Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: can you read coffeescript?","date":"2012-11-26T03:42:08.072Z","type":"message"}
{"nick":"hedgie","message":"yes","date":"2012-11-26T03:42:14.353Z","type":"message"}
{"nick":"hedgie","message":"okay - yes, i'm using 3.0.3 Express atm","date":"2012-11-26T03:43:24.477Z","type":"message"}
{"nick":"ArxPoetica","message":"I remember the problem I had.","date":"2012-11-26T03:44:02.409Z","type":"message"}
{"nick":"ArxPoetica","message":"It was different, yes.","date":"2012-11-26T03:44:07.450Z","type":"message"}
{"nick":"ArxPoetica","message":"Bascially, sessions can be shared.","date":"2012-11-26T03:44:19.953Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: https://gist.github.com/e6c5141771eae4630fb1","date":"2012-11-26T03:44:27.934Z","type":"message"}
{"nick":"ArxPoetica","message":"I was trying to share middleware between express and ss, which isn't always 1 to 1.","date":"2012-11-26T03:44:37.051Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: just read that, it should be self explanatory","date":"2012-11-26T03:44:45.070Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: im using latest version of SS","date":"2012-11-26T03:44:49.180Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: and latest version of express","date":"2012-11-26T03:45:26.905Z","type":"message"}
{"nick":"hedgie","message":"okay, thank you","date":"2012-11-26T03:45:42.330Z","type":"message"}
{"nick":"hedgie","message":"let me check it out...","date":"2012-11-26T03:45:45.074Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: you can use your req.session in your express as normal","date":"2012-11-26T03:45:48.113Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: however you have to remember to do req.session.save(cb) when you are saving something to session","date":"2012-11-26T03:46:09.957Z","type":"message"}
{"nick":"ArxPoetica","message":"but session is definitely shared.","date":"2012-11-26T03:46:16.945Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: sessions do not save automatically when the route throws a response, unlike normal express","date":"2012-11-26T03:46:32.435Z","type":"message"}
{"nick":"hedgie","message":"okay, i'm not doing that!","date":"2012-11-26T03:46:36.281Z","type":"message"}
{"nick":"ArxPoetica","message":"what is cb, mdedetrich?","date":"2012-11-26T03:46:37.048Z","type":"message"}
{"nick":"mdedetrich","message":"callback","date":"2012-11-26T03:46:43.545Z","type":"message"}
{"nick":"ArxPoetica","message":"ah right","date":"2012-11-26T03:46:49.014Z","type":"message"}
{"nick":"ArxPoetica","message":"yeah — that needs to be documented, because I got hung up on the .save bit too.","date":"2012-11-26T03:47:06.644Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: thats an example of a route https://gist.github.com/8649cf29d64bd9d417f9","date":"2012-11-26T03:47:28.294Z","type":"message"}
{"nick":"hedgie","message":"okay - so i need to add that req.session.save(cb) in the RPC call that saves the admin state","date":"2012-11-26T03:48:04.559Z","type":"message"}
{"nick":"hedgie","message":"let me try that real quick - thank you for your help","date":"2012-11-26T03:48:12.677Z","type":"message"}
{"nick":"ArxPoetica","message":"thanks for throwing this up, mdede — I can see also how you did your transport layer :P","date":"2012-11-26T03:49:01.797Z","type":"message"}
{"nick":"hedgie","message":"okay yeah that was the problem!","date":"2012-11-26T03:49:15.015Z","type":"message"}
{"nick":"hedgie","message":"thanks a lot!","date":"2012-11-26T03:49:17.603Z","type":"message"}
{"nick":"ArxPoetica","message":"btw, that conig.get stuff has been a real life saver","date":"2012-11-26T03:49:19.276Z","type":"message"}
{"nick":"ArxPoetica","message":"hedgie you in here a lot?","date":"2012-11-26T03:49:31.489Z","type":"message"}
{"nick":"hedgie","message":"this is my first time being in here...","date":"2012-11-26T03:49:40.127Z","type":"message"}
{"nick":"ArxPoetica","message":"cool well come back :P","date":"2012-11-26T03:49:49.762Z","type":"message"}
{"nick":"hedgie","message":"only been using SS for a few days \\:","date":"2012-11-26T03:49:50.054Z","type":"message"}
{"nick":"mdedetrich","message":"I have even used SS without even using sockets","date":"2012-11-26T03:49:52.219Z","type":"message"}
{"nick":"hedgie","message":"really cool technology!","date":"2012-11-26T03:49:53.554Z","type":"message"}
{"nick":"mdedetrich","message":"just combined it with express and commented out the sockets in entry.js","date":"2012-11-26T03:50:08.608Z","type":"message"}
{"nick":"ArxPoetica","message":"that's interesting...","date":"2012-11-26T03:50:21.137Z","type":"message"}
{"nick":"mdedetrich","message":"I just used SS due to automatic coffeescript, client side modules and automatic packing","date":"2012-11-26T03:50:42.160Z","type":"message"}
{"nick":"mdedetrich","message":"and whatnot","date":"2012-11-26T03:50:43.346Z","type":"message"}
{"nick":"ArxPoetica","message":"so sort of half real-time","date":"2012-11-26T03:50:48.703Z","type":"message"}
{"nick":"ArxPoetica","message":"that's hilarious","date":"2012-11-26T03:50:59.935Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: also if you like coffeescript","date":"2012-11-26T03:52:05.970Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: SS can use coffeescript transparently in both server and client","date":"2012-11-26T03:52:18.329Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: you don't have to worry about compiling coffeescript at all","date":"2012-11-26T03:52:36.577Z","type":"message"}
{"nick":"ArxPoetica","message":"mdedetrich so for the engine.io transport layer","date":"2012-11-26T03:54:04.249Z","type":"message"}
{"nick":"ArxPoetica","message":"you have to pass the port?","date":"2012-11-26T03:54:10.163Z","type":"message"}
{"nick":"mdedetrich","message":"yah","date":"2012-11-26T03:54:18.341Z","type":"message"}
{"nick":"ArxPoetica","message":"i see that in your example","date":"2012-11-26T03:54:25.983Z","type":"message"}
{"nick":"mdedetrich","message":"I just use the same port that the webserver runs on","date":"2012-11-26T03:54:29.847Z","type":"message"}
{"nick":"mdedetrich","message":"I think technically speaking it should be 89","date":"2012-11-26T03:54:42.999Z","type":"message"}
{"nick":"mdedetrich","message":"*80","date":"2012-11-26T03:54:51.150Z","type":"message"}
{"nick":"hedgie","message":"yeah i've been using the coffeescript for my normal application code","date":"2012-11-26T03:54:54.623Z","type":"message"}
{"nick":"hedgie","message":"it's really convientent!","date":"2012-11-26T03:54:58.268Z","type":"message"}
{"nick":"mdedetrich","message":"I would also recommend jade for html scripting","date":"2012-11-26T03:55:07.871Z","type":"message"}
{"nick":"mdedetrich","message":"you can use jade both on client and server","date":"2012-11-26T03:55:12.511Z","type":"message"}
{"nick":"ArxPoetica","message":"jade for the win","date":"2012-11-26T03:55:17.403Z","type":"message"}
{"nick":"hedgie","message":"i used to use now.js - and program in coffeescript and it was a pain to have to constantly compile it back","date":"2012-11-26T03:55:22.218Z","type":"message"}
{"nick":"hedgie","message":"- i have started using Jade since i used SS. i used to use CoffeeKup","date":"2012-11-26T03:55:36.179Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: yeah compilation here is completely automatic","date":"2012-11-26T03:55:36.653Z","type":"message"}
{"nick":"hedgie","message":"but Jace is a little bit nicer imo","date":"2012-11-26T03:55:42.460Z","type":"message"}
{"nick":"mdedetrich","message":"hedgie: and when you submit your app to production, SS will compile it down and pack down the JS","date":"2012-11-26T03:55:57.453Z","type":"message"}
{"nick":"mdedetrich","message":"never heard of jace, I mean you can use jace if you want","date":"2012-11-26T03:56:09.416Z","type":"message"}
{"nick":"mdedetrich","message":"you just have to make the plugin yourself","date":"2012-11-26T03:56:15.063Z","type":"message"}
{"nick":"hedgie","message":"haha - i meant Jade","date":"2012-11-26T03:56:15.737Z","type":"message"}
{"nick":"hedgie","message":"type","date":"2012-11-26T03:56:16.428Z","type":"message"}
{"nick":"ArxPoetica","message":":P","date":"2012-11-26T03:56:18.748Z","type":"message"}
{"nick":"hedgie","message":"*typo ...","date":"2012-11-26T03:56:22.429Z","type":"message"}
{"nick":"hedgie","message":"yeah - i think that SS is a very powerful framework! it's a lot nicer than that Java world which is where i come from","date":"2012-11-26T03:56:59.168Z","type":"message"}
{"nick":"hedgie","message":"i mean i used to think that Struts was the most amazing thing... so naive","date":"2012-11-26T03:57:09.099Z","type":"message"}
{"nick":"ArxPoetica","message":"mdedetrich with ss-engine — it's just a wrapper, right? I mean, there's nothing else I need to do other than include it?","date":"2012-11-26T03:57:17.512Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: yup","date":"2012-11-26T03:57:48.214Z","type":"message"}
{"nick":"ArxPoetica","message":"sweet","date":"2012-11-26T03:57:54.063Z","type":"message"}
{"nick":"mdedetrich","message":"ArxPoetica: just put this line into your app.coffee/app.js","date":"2012-11-26T03:57:59.302Z","type":"message"}
{"nick":"mdedetrich","message":"ss.ws.transport.use(require('ss-engine.io'),client:{host:'localhost', port:config.get('port') || 8080});","date":"2012-11-26T03:58:03.815Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T03:58:08.460Z","type":"message"}
{"nick":"mdedetrich","message":"obviously make sure that ss-engine,io is in your package.json","date":"2012-11-26T03:58:15.438Z","type":"message"}
{"nick":"ArxPoetica","message":"right too","date":"2012-11-26T03:58:20.341Z","type":"message"}
{"nick":"ArxPoetica","message":"I think I'm just surprised the switch is so easy.","date":"2012-11-26T03:58:43.231Z","type":"message"}
{"nick":"ArxPoetica","message":"But that's node for ya.","date":"2012-11-26T03:58:47.779Z","type":"message"}
{"nick":"lluad","reason":"Quit: lluad","date":"2012-11-26T04:00:24.835Z","type":"quit"}
{"nick":"mdedetrich","message":"well thats how SS was designed","date":"2012-11-26T04:00:46.813Z","type":"message"}
{"nick":"mdedetrich","message":"thankfully","date":"2012-11-26T04:00:48.240Z","type":"message"}
{"nick":"ArxPoetica","message":"oh also","date":"2012-11-26T04:02:17.591Z","type":"message"}
{"nick":"ArxPoetica","message":"host: 'localhost' <— I'm assuming that should be a config setting","date":"2012-11-26T04:02:35.245Z","type":"message"}
{"nick":"ArxPoetica","message":"like","date":"2012-11-26T04:02:37.627Z","type":"message"}
{"nick":"ArxPoetica","message":"host: config.get('DOMAIN')","date":"2012-11-26T04:02:53.423Z","type":"message"}
{"nick":"mdedetrich","message":"well the thing is, you can run sockets","date":"2012-11-26T04:02:55.346Z","type":"message"}
{"nick":"mdedetrich","message":"on different domains","date":"2012-11-26T04:02:58.650Z","type":"message"}
{"nick":"mdedetrich","message":"localhost will run the socket on the same machine","date":"2012-11-26T04:03:06.801Z","type":"message"}
{"nick":"mdedetrich","message":"that the webserver is run on","date":"2012-11-26T04:03:13.417Z","type":"message"}
{"nick":"ArxPoetica","message":"errr...","date":"2012-11-26T04:03:15.374Z","type":"message"}
{"nick":"ArxPoetica","message":"that's interesting","date":"2012-11-26T04:03:24.958Z","type":"message"}
{"nick":"mdedetrich","message":"localhost always points to currently running machine","date":"2012-11-26T04:03:33.561Z","type":"message"}
{"nick":"ArxPoetica","message":"right","date":"2012-11-26T04:03:38.700Z","type":"message"}
{"nick":"ArxPoetica","message":"so it's safe","date":"2012-11-26T04:03:46.216Z","type":"message"}
{"nick":"ArxPoetica","message":"ok","date":"2012-11-26T04:03:47.039Z","type":"message"}
{"nick":"mdedetrich","message":"its the host, not the domain","date":"2012-11-26T04:03:48.833Z","type":"message"}
{"nick":"mdedetrich","message":"those are different things","date":"2012-11-26T04:03:53.716Z","type":"message"}
{"nick":"ArxPoetica","message":"yeah, my bad","date":"2012-11-26T04:04:05.528Z","type":"message"}
{"nick":"ArxPoetica","message":"host: config.get('HOST')","date":"2012-11-26T04:04:21.780Z","type":"message"}
{"nick":"ArxPoetica","message":":P","date":"2012-11-26T04:04:24.491Z","type":"message"}
{"nick":"ArxPoetica","message":"But i see how localhost is safe","date":"2012-11-26T04:04:41.369Z","type":"message"}
{"nick":"ArxPoetica","message":"hadn't really thought that through","date":"2012-11-26T04:04:47.056Z","type":"message"}
{"nick":"mdedetrich","message":"I think thats how its meant to be","date":"2012-11-26T04:04:50.477Z","type":"message"}
{"nick":"mdedetrich","message":"I havn't actually tested this on nodejitsu","date":"2012-11-26T04:04:58.043Z","type":"message"}
{"nick":"mdedetrich","message":"probably should sometime","date":"2012-11-26T04:05:02.871Z","type":"message"}
{"nick":"ArxPoetica","message":"well, sounds like we'll both find out :P","date":"2012-11-26T04:05:23.933Z","type":"message"}
{"nick":"ArxPoetica","message":"works like a charm","date":"2012-11-26T04:10:24.234Z","type":"message"}
{"nick":"zenocon","date":"2012-11-26T04:19:59.412Z","type":"join"}
{"nick":"ArxPoetica","reason":"Quit: Leaving.","date":"2012-11-26T04:48:48.432Z","type":"quit"}
{"nick":"zenocon","reason":"Remote host closed the connection","date":"2012-11-26T05:02:56.457Z","type":"quit"}
{"nick":"zenocon","date":"2012-11-26T05:03:30.092Z","type":"join"}
{"nick":"zenocon","reason":"Ping timeout: 256 seconds","date":"2012-11-26T05:08:02.916Z","type":"quit"}
{"nick":"hedgie","reason":"Quit: Page closed","date":"2012-11-26T05:10:13.407Z","type":"quit"}
{"nick":"joshsmith","reason":"Quit: joshsmith","date":"2012-11-26T07:01:46.026Z","type":"quit"}
{"nick":"mdedetrich","reason":"Quit: Computer has gone to sleep.","date":"2012-11-26T07:15:02.494Z","type":"quit"}
{"nick":"ins0mnia","date":"2012-11-26T08:08:29.673Z","type":"join"}
{"nick":"ins0mnia","reason":"Ping timeout: 240 seconds","date":"2012-11-26T08:52:14.625Z","type":"quit"}
{"nick":"ins0mnia","date":"2012-11-26T09:49:43.713Z","type":"join"}
{"nick":"mdedetrich","date":"2012-11-26T10:17:52.830Z","type":"join"}
{"nick":"mdedetrich","reason":"Ping timeout: 252 seconds","date":"2012-11-26T10:22:27.324Z","type":"quit"}
{"nick":"mdedetrich","date":"2012-11-26T10:27:16.297Z","type":"join"}
{"nick":"mdedetrich","reason":"Ping timeout: 240 seconds","date":"2012-11-26T11:19:21.020Z","type":"quit"}
{"nick":"mdedetrich","date":"2012-11-26T11:20:43.101Z","type":"join"}
{"nick":"ins0mnia","reason":"Ping timeout: 240 seconds","date":"2012-11-26T11:49:54.875Z","type":"quit"}
{"nick":"mdedetrich","reason":"Ping timeout: 248 seconds","date":"2012-11-26T12:19:00.961Z","type":"quit"}
{"nick":"mdedetrich","date":"2012-11-26T12:21:10.683Z","type":"join"}
{"nick":"vguerra","date":"2012-11-26T12:41:57.872Z","type":"join"}
{"nick":"ArxPoetica","date":"2012-11-26T12:52:02.726Z","type":"join"}
{"nick":"ins0mnia","date":"2012-11-26T13:00:37.772Z","type":"join"}
{"nick":"ArxPoetica","reason":"Ping timeout: 240 seconds","date":"2012-11-26T13:03:34.617Z","type":"quit"}