Re: [Twisted-Python] Noob alert - Looking for a framework for creating a long polling service
Hi Steve, > Have you continued, or do you plan to continue development where it was left > off? Well, it's something I've only be toying with. I can handle all the specific Twisted fixes I'd like to make: - handling lost connections gracefully - proper use of twistd and daemonization - massive code cleanups The only problem is that I'm not that knowledgeable about the Javascript browser hacks they've employed - their Orbited.js is more than half "magic" to me (probably due to me not having an opportunity to work on a large js project). It's something that I'd like to get into, if someone is willing to take the lead on the javascript side. It could potentially be as simple as slotting in js.io (http://github.com/mcarter/js.io), which Orbited.js has apparently become, and which appears to have been the plan for Orbited 0.8. > They all seem to have gone off to play with node.js instead. I don't *really* blame them, considering most of the project's merit lay in the Javascript realm, and node.js is basically a (less featurful) version of Twisted for Javascript (of course with the added bonus of using a heavily JITed and optimized Javascript VM). > Very cool, I hadn't seen that before. Yes, very neat. Haven't done much with it, but I think it's a real winner when you're doing something simple like long-polling/ broadcasting from a queue. Cheers, Reza -- Reza Lotun mobile: +44 (0)7521 310 763 email: rlo...@gmail.com work: r...@tweetdeck.com twitter: @rlotun ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] Noob alert - Looking for a framework for creating a long polling service
On Sat, Apr 3, 2010 at 6:03 AM, Reza Lotun wrote: > Hi Steve, > >> Have you continued, or do you plan to continue development where it was left >> off? > > Well, it's something I've only be toying with. I can handle all the > specific Twisted fixes I'd like to make: > - handling lost connections gracefully > - proper use of twistd and daemonization > - massive code cleanups I would very much support you continuing development on Orbited. In fact, I believe I can help, or already have patches for most of the above issues you mention. A lot of this is result of my "Hotdot" project, "Create realtime webapps using Django + Orbited + Twisted": http://github.com/clemesha/hotdot Specifically, see here for Orbited and twistd working together: http://github.com/clemesha/hotdot/blob/master/server.py and see the below for patches that improve handling lost connections gracefully: http://gist.github.com/256582 Finally, it would be awesome if you put up your improvements on Github (just a suggestion :-), then I can easily fork and starting adding improvements, and you can pull and we can move this forward. -Alex p.s. I haven't found many issues with the frontend JavaScript code, but if you have specific issues that you could point out, I'd love to try to help. > > The only problem is that I'm not that knowledgeable about the > Javascript browser hacks they've employed - their Orbited.js is more > than half "magic" to me (probably due to me not having an opportunity > to work on a large js project). It's something that I'd like to get > into, if someone is willing to take the lead on the javascript side. > It could potentially be as simple as slotting in js.io > (http://github.com/mcarter/js.io), which Orbited.js has apparently > become, and which appears to have been the plan for Orbited 0.8. > >> They all seem to have gone off to play with node.js instead. > > I don't *really* blame them, considering most of the project's merit > lay in the Javascript realm, and node.js is basically a (less > featurful) version of Twisted for Javascript (of course with the added > bonus of using a heavily JITed and optimized Javascript VM). > >> Very cool, I hadn't seen that before. > > Yes, very neat. Haven't done much with it, but I think it's a real > winner when you're doing something simple like long-polling/ > broadcasting from a queue. > > Cheers, > Reza > > -- > Reza Lotun > mobile: +44 (0)7521 310 763 > email: rlo...@gmail.com > work: r...@tweetdeck.com > twitter: @rlotun > > ___ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > -- Alex Clemesha clemesha.org ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] Noob alert - Looking for a framework for creating a long polling service
On Apr 3, 2010, at 2:37 PM, Alex Clemesha wrote: > On Sat, Apr 3, 2010 at 6:03 AM, Reza Lotun wrote: >> Hi Steve, >> >>> Have you continued, or do you plan to continue development where it was >>> left off? >> >> Well, it's something I've only be toying with. I can handle all the >> specific Twisted fixes I'd like to make: >> - handling lost connections gracefully >> - proper use of twistd and daemonization >> - massive code cleanups > > I would very much support you continuing development on Orbited. > In fact, I believe I can help, or already have patches for most of the > above issues you mention. A lot of this is result of my "Hotdot" project, > "Create realtime webapps using Django + Orbited + Twisted": > http://github.com/clemesha/hotdot > > Specifically, see here for Orbited and twistd working together: > http://github.com/clemesha/hotdot/blob/master/server.py > > and see the below for patches that improve handling lost connections > gracefully: > http://gist.github.com/256582 > > Finally, it would be awesome if you put up your improvements on Github > (just a suggestion :-), > then I can easily fork and starting adding improvements, and you can > pull and we can move this forward. I had worked with your hotdot stuff a while ago, and I think I had even sent you some django csrf patches for Django 1.2 compatibility (it was a while ago...) Back then, I had started on refactoring the one-big-javascript file in Orbited a few months ago but, at the time, was assured that 0.8 was "just around the corner", so I left it alone. Well...now I have need and, since Athena seems to be tightly tied to Nevow, cometd is itself, websocket is websocket, so I'm looking again. Since Orbited seems to have gone into "unmaintained mode", I agree, it may just be time for a fork. > p.s. I haven't found many issues with the frontend JavaScript code, but if you > have specific issues that you could point out, I'd love to try to help. Mostly the problems I had with it were the lack of doc, and the all-in-one 2700 line .js file, and the complete lack of unit tests of any type. >> The only problem is that I'm not that knowledgeable about the >> Javascript browser hacks they've employed - their Orbited.js is more >> than half "magic" to me (probably due to me not having an opportunity >> to work on a large js project). It's something that I'd like to get >> into, if someone is willing to take the lead on the javascript side. >> It could potentially be as simple as slotting in js.io >> (http://github.com/mcarter/js.io), which Orbited.js has apparently >> become, and which appears to have been the plan for Orbited 0.8. The js.io site documentation link says "Sorry, we don't have documentation yet", and the doc directory on github has a powerpoint file and an echo server so I'm not sure that's going to help so much. >>> They all seem to have gone off to play with node.js instead. >> >> I don't *really* blame them, considering most of the project's merit >> lay in the Javascript realm, and node.js is basically a (less >> featurful) version of Twisted for Javascript (of course with the added >> bonus of using a heavily JITed and optimized Javascript VM). >> >>> Very cool, I hadn't seen that before. >> >> Yes, very neat. Haven't done much with it, but I think it's a real >> winner when you're doing something simple like long-polling/ >> broadcasting from a queue. Well, if there's interest on reviving Orbited either as itself, or as a new project with some code from Orbited as well as some of Alex's stuff, I'm in. S ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] Noob alert - Looking for a framework for creating a long polling service, Forking Orbited
On Apr 3, 2010, at 3:10 PM, sstein...@gmail.com wrote: > > On Apr 3, 2010, at 2:37 PM, Alex Clemesha wrote: > >> On Sat, Apr 3, 2010 at 6:03 AM, Reza Lotun wrote: >>> Hi Steve, >>> Have you continued, or do you plan to continue development where it was left off? >>> >>> Well, it's something I've only be toying with. I can handle all the >>> specific Twisted fixes I'd like to make: >>> - handling lost connections gracefully >>> - proper use of twistd and daemonization >>> - massive code cleanups >> >> I would very much support you continuing development on Orbited. >> In fact, I believe I can help, or already have patches for most of the >> above issues you mention. A lot of this is result of my "Hotdot" project, >> "Create realtime webapps using Django + Orbited + Twisted": >> http://github.com/clemesha/hotdot I've cloned orbited to BitBucket to take up a fork of the project. http://bitbucket.org/ssteinerx/orbited-new/overview/ I really need this for a project and since the old Orbited seems to be abandoned, I'm taking it on. Contributions gladly accepted. If you're interested in working on it, I'll be happy to give you write access. I've sent an e-mail to cartermich...@gmail.com to see whether he'll give an official blessing to this fork once we've moved it forward a bit. Thanks, S ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
[Twisted-Python] FUSE
I'm interested in doing some FUSE stuff with Twisted, mostly to prototype some ideas for profiling. Can anyone expand on Glyph's comment [1]: 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Python FUSE bindings obscure the issue because, unlike the C libfuse, they assume that your filesystem I/O is blocking, which severely limits the performance of python-based filesystems. (You cannot receive more requests for I/O in your filesystem until the previous one has been completed with the pyfuse bindings, but you can in C.) 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - I guess I'd like to know before I sink too much time into this, if there's an approach to Fuse/Twisted that would not have this limitation. This is a bit confused by the fact that there are three Fuse/Python bindings that I'm aware of: FusePython, FusePy, and S3QL [2]. http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FusePython http://code.google.com/p/fusepy/ http://code.google.com/p/s3ql/ If you've already been down this road, it'd be good to hear from you. Thanks Donal [1] Glyph's original mail: http://twistedmatrix.com/pipermail/twisted-python/2007-July/015784.html [2] S3QL has its own Python/Fuse bindings, according to this post: http://bugs.python.org/msg98077 ..on this issue: http://bugs.python.org/issue7736 ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
[Twisted-Python] Weekly Bug Summary
Bug summary __ Summary for 2010-03-28 through 2010-04-04 Bugs opened: 7Bugs closed: 8 Total open bugs: 1208 (-1) |== Type Changes |== Priority Changes |== Component Changes |Defect: -3 |Normal: +1 |Conch: -3 |Enhancement: +2 |Low: -2 |Core: +3 |Mail: -1 Total Tickets Open Tickets New / Reopened Bugs __ = Normal = [#4384] choosing-reactor.xhtml references doc links from when doc/examples existed (opened by jesstess) defect core http://twistedmatrix.com/trac/ticket/4384 [#4385] IMAP4 server loops indefinitely if a search query yields more than 4 items (opened by wulczer) defect mail http://twistedmatrix.com/trac/ticket/4385 [#4386] twisted.internet.abstract.FileDescriptor says implements(IProducer) but means implements(IPushProducer) (opened by glyph) defect core http://twistedmatrix.com/trac/ticket/4386 [#4387] API for distributing `ITransport` and `IListeningPort` implementations to different processes (opened by glyph) enhancement core http://twistedmatrix.com/trac/ticket/4387 [#4388] bindings for sendmsg and recvmsg (opened by glyph) enhancement core http://twistedmatrix.com/trac/ticket/4388 [#4389] Bindings for WSADuplicateSocket (opened by glyph) enhancement core http://twistedmatrix.com/trac/ticket/4389 [#4390] twisted.internet.stdio should take a reactor argument for improved testing (opened by hagna) defect core http://twistedmatrix.com/trac/ticket/4390 Closed Bugs __ = Normal = [#4382] Problem with conch ssh client (opened by ivan123, closed by ivan123, worksforme) defect conch http://twistedmatrix.com/trac/ticket/4382 [#4207] Make FilePath.open compatible with Python 2.7 on Windows (opened by exarkun, closed by jkakar, fixed) defect core http://twistedmatrix.com/trac/ticket/4207 [#2278] IMAP4 server fails for commands like "11 search uid 2:*" (opened by exarkun, closed by jesstess, fixed) defect mail http://twistedmatrix.com/trac/ticket/2278 [#2004] t.i.tcp._SocketCloser should not do the shutdown trick (opened by ghazel, closed by glyph, wontfix) enhancement core http://twistedmatrix.com/trac/ticket/2004 [#4350] Logic error in SSHSessionProcessProtocol.inConnectionLost() (opened by bshi, closed by therve, fixed) defect conch http://twistedmatrix.com/trac/ticket/4350 [#4069] FLAGS response with only one flag(i.e. "FLAGS (\Seen)") is not taken in IMAP4Client.__cbSelect (opened by natta, closed by exarkun, fixed) defect mail http://twistedmatrix.com/trac/ticket/4069 = Low = [#3309] twisted.conch.test.test_manhole.ManholeLoopbackStdio.testException has oververbose checks (opened by fijal, closed by jkakar, invalid) defect conch http://twistedmatrix.com/trac/ticket/3309 [#4373] twisted.application.internet generates an extra entry in its __all__ list. (opened by kench, closed by jesstess, fixed) defect core http://twistedmatrix.com/trac/ticket/4373 Ticket Lifetime Stats __ Oldest open ticket - [#50] conch command-line client doesn't work in win32 (since 2003-07-12 16:41:06). Newest open ticket - [#4390] twisted.internet.stdio should take a reactor argument for improved testing (since 2010-04-02 17:22:04). Mean open ticket age: 877 days, 13:49:57.362810. Median: 799 days, 1:47:06.545758. Standard deviation: 635 days, 15:01:33.004683. Interquartile range: 969 days, 7:47:19. Mean time between ticket creation and ticket resolution: 235 days, 9:32:34.193322. Median: 28 days, 22:07:55. Standard deviation is 403 days, 14:30:03.535044. The interquartile range is 282 days, 1:11:03. Mean time spent in review: 77 days, 2:07:04.225426. Median: 4 days, 0:59:40. Standard deviation: 277 days, 23:13:30.652698. Interquartile range: 16 days, 5:32:35. Mean number of times a ticket is reviewed: 2.03120356612. Median: 1 Standard deviation: 1.672851453. Interquartile range: 1. Contributor Stats __ In the last 4 weeks, 29 unique ticket reporters 11 unique ticket reviewers 10 unique ticket resolvers In the last 24 weeks, 109 unique ticket reporters 31 unique ticket reviewers 21 unique ticket resolvers In the last 48 weeks, 191 unique ticket reporters 35 unique ticket reviewers 26 unique ticket resolvers ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python