On Mon, Dec 20, 2010 at 6:06 PM, rob levy <r.p.l...@gmail.com> wrote: > I have posted a repository containing the code for a web application I made > using a server push (AKA Comet, long polling) architecture. The front end > is in Javascript, and the back end is in Clojure. The clojure code is able > to send notifications to clients' browsers effectively through use of > nginx's push module, which the clients subscribe to. With websockets > presently out of reach this can be a good way of doing this sort of thing, > and at least on my small-scale testing it is a super responsive way of > simulating a socket.
Hi Rob Interesting project. I havn't looked at the machine learning part of it, although that also sounds interesting, but at first I was more interested in the long polling aspect of your application. I was looking at something similar but in the end I decided that given my use case (mostly a single client polling) it didn't make much sense to use nginx. I'm guessing that in your architecture, nginx makes more sense because you have a lot of clients polling the same interface? That way you know that it is much more likely that there will be at least one subscriber left for a message when the server actually has something to send. And I guess the way the back-end knows that there is still someone that wants to know about a message is that nginx says that there is still clients waiting when it delivers the message. Could you maybe elaborate a bit more on this? > https://github.com/rplevy/sayoperation > > The application itself is online (for now) at: > > http://www.robertplevy.net/sayoperation/ > > A little bit of context is necessary here. This is a game I made as part of > my final project for a course I am in (I am taking courses part time as part > of an MA program I will eventually complete) on the topic of Machine > Learning and Natural Language Processing. The purpose of the game is to > collect game move data. I'm in the process of figuring out how to train a > classifier to learn to make the same sorts of game moves (though the text > generation piece is out of scope), to have 1/2 of an AI game player. > > If you want to play the game and help me collect training data, here are > some things to know: > > 1. You will be asked to give an instruction to your team mate, given the > information on the screen. The red is the target, and the green is what > your teammate will move to the target. Notice that the target is always an > empty space. For example "put the crab above the butterfly" would make > sense if the crab had a green border, and there were a red bordered target > above the butterfly. > > 2. Use clear and natural language when entering data., try to explain in > the way you would explain to a person. Punctuation and capitalization is > stripped out/lowercased. > > 3. The rounds work like this. Player 1 instruct -> Player 2 move --> > Player 2 instruct --> Player 1 move. The game automatically presents your > next available move just like in RIAs such as gchat or facebook (no need to > refresh). > > 4. Multiple concurrent games are encouraged. The game should be > responsive and will immediately tell you if you have a move to play in any > of your games. > > 5. Caveat: The application has been tested thoroughly in Firefox and > Chrome. While there is no inherent reason why it shouldn't be possible to > make it work in Opera or Internet Explorer, I have not tested it in IE (so > it probably doesn't work in that browser), and I am aware that it doesn't > work in Opera. This is just a matter of time and effort, that I need to > spend on the NLP side of this project at the moment. > > 6. The high scoring team as of 2am tonight will win something (I haven't > decide what, give me ideas please). > > Thanks, > Rob > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- Anders Rune Jensen http://www.iola.dk -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en