Re: [Twisted-Python] Noob alert - Looking for a framework for creating a long polling service

2010-04-03 Thread Reza Lotun
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

2010-04-03 Thread Alex Clemesha
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

2010-04-03 Thread sstein...@gmail.com

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

2010-04-03 Thread sstein...@gmail.com

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

2010-04-03 Thread Donal McMullan
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

2010-04-03 Thread exarkun



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