Was going to ask something similar. Seems like single-threaded apps might have a tough time with this approach, but probably outside the bounds of this discussion.
I don't know what he does there, or what would be the equivalent for Ruby/Rails (that time.sleep(1) doesn't look good), but in Python one could use something like Gevent for long-pooling, which uses livevent to implement micro-threads: http://www.gevent.org/
It's not the same thing, because when server finally sends a response, the connection is then closed. But it's trivial to write a custom WSGI middleware, that sends a chunk of stuff, then releases the thread for other requests.
And doing it this way, you could have thousands of connections open with a single server instance.
Could probably just use Rainbows! to handle the "long" polling aspect but I think Rainbows! still assumes that the request will eventually end so I'm not sure if it will work for something like this.