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

Reply via email to