Tuesday, May 6, 2008

Twisted in the News

An Inflection Point

In a recent blog post, the London-based Isotoma consulting firm gave Twisted a mention. Their post was a commentary on Tim Bray's Multi-Inflection-Point Alert, a concise run-down on what's going on with internet tech, as he puts, "right now."

Isotoma had this to say:
"We’re a lot further down this particular inflection curve than most, I think. We make heavy use of Twisted, a single-threaded cooperatively multitasking network programming system that specifically addresses the threading problem."
They went on to mention that it doesn't seem like a complete solution. I'd love to hear their comments on where they find it lacking, what they'd like to see supported -- either specific features or general thoughts on the future of computing in the consulting industry.

Imitation and Flattery

Ruby has something called EventMachine and was described as implementing the "Twisted-introduced" deferred pattern in a nutrun post.

Mashed and Twisted?

Twisted and Nevow made a mashup list on InnovationStartups' blog of 120+ Web Development Resources. Also on the list were launchpad, rBuilder, Ohloh, Ruby on Rails, MochiKit, Django and Zope.

Scratch that Itch!

Jesse Noller blogs about Bruce Eckle's latest Twisted mention, saying "Dangit Bruce gave me the twisted itch again."

Bruce Eckle talks about Concurrency with Python, Twisted, and Flex in his Artima Developer post, where he also mentions PyAMF (which I helped update the Twisted docs for :-)). Bruce takes a quick look at asynchronous programming, object brokering with Twisted, and XML-RPC. I wish he'd used twisted.application.service instead of running the reactor directly, but hey -- it's a great Twisted post about stuff that lots of people are using right now :-)

New Users

Paul Stevens blogged about setting up Twisted on his mac. He's now off to the races :-) Good luck, Paul! Be sure to stop by IRC and/or post messages on the mail list with questions...

Technorati Tags: , , , , , , ,


Etienne said...

I was wondering why you wish that Bruce use twisted.application.service instead of reactor.run ? What's the advantage ?



Duncan McGreggor said...


Apologies for the lateness of this reply! I didn't see your comment until just now.

Making direct use of the reactor is generally discouraged. twisted.application manages pretty much everything you need to run a twisted daemon with twistd, thus alleviating the developer of having to reinvent the wheel, discover that they have mismanaged something, etc. There is a great deal of work that has been put into this part of twisted that essentially encodes best practices for management of the application at the reactor level.

Etienne said...


please don't be sorry for the delay! It was ten times faster than most support services.

Thanks for the answer. But from my point of view, it's sometimes more practical to do not use twistd and just start reactor.run() in the script. This way, for simple scripts (not necessarily a daemon), you only have one script that you call directly. To me, it seems more natural (and I first learn to do it that way in the Twisted tutorials!).

But I'm ready to switch to twistd if you can explain me what is "everything I need to run a twisted daemon".