Showing posts with label twisted. Show all posts
Showing posts with label twisted. Show all posts

Tuesday, July 2, 2013

Introducing our new Google Summer of Code and Outreach Program for Women interns

This year as part of the Outreach Program for Women and Google Summer of Code we have three summer interns working on Twisted. We are pleased to welcome them to our development community:

Stacey Sern ("shira" on IRC) is from New Jersey, USA. She is returning to programming after a ten year hiatus to take care of her family. Previously, she developed real-time embedded software in C and C++ in the telecom industry. This past winter, she participated in Hacker School where she used Twisted for a BitTorrent client and submitted her first Twisted patches. Stacey will be working on supporting Twisted's mail infrastructure.

Kai Zhang ("kaizhang" on IRC) is 24 years old graduate student from China who likes playing soccer. Kai is working on Deferred cancellation, implementing the API for all the various sources of Deferreds in Twisted.

Shiyao Ma ("introom" on IRC) is a senior student of Tsinghua University, P.R.C.. Shiyao will continue on to a PhD program in Hong Kong UST this September, doing research on wireless sensor network. Shiyao's hobbies range from programming to Japanese animation. This summer Shiyao will be working on integrating Twisted with the Parsley parser-generator, and any necessary improvements to Parsley.


Friday, July 20, 2012

July sprints report


Twisted had its first cross-coast sprint last Saturday! Ying Li and Rackspace organized a Twisted tutorial by project founder Glyph in San Francisco on Friday, which was followed on Saturday by sprints in San Francisco and Boston.
The Boston sprint was made possible by a grant from the Python Software Foundation Sprints Committee. A big thank you to the PSF for their support.

Sprint report for Boston

JP Calderone

Cynthia Andre

Allister MacLeod

David Sturgis

Itamar Turner-Trauring

David Wang

  • Worked on a Twisted web server for an HTML5/JavaScript application

Jessica McKellar

Sprint report for San Francisco

Alex Gaynor

David Reid

Corbin Simpson

Glyph

Ralph Meijer

  • Worked on #3456: srvconnector fails for xmpp-client service on OS X
  • Discussed the intersection of Twisted Cred and Twisted Words with Glyph, laying out some architectural principles for development of things like a generalized SASL layer and proper use of the 'mind' parameter within the XMPP server within Twisted.

Andrew Bennetts

Ying Li

Remote sprinters

We had a number of remote sprinters from around the world, including:

Saturday, May 19, 2012

Congratulations and welcome to Twisted's summer interns


Twisted is excited to be supporting 4 full-time summer interns from around the world through 2 internship programs this summer.

Google Summer of Code internships

Expanded Endpoints Support, by Ashwini Oruganti (IRC nick ashfall)


Ashwini joins us from the Manipal Institute of Technology in Manipal, India. She has already worked on and closed out a number of Twisted tickets and has previously contributed to Evolution and Sugar Labs.

Her project:

Recently, two new APIs, IStreamServerEndpoint and IStreamClientEndpoint were added to Twisted, for specifying what address the servers should listen for connections and what address a client should connect to, respectively. But not all of the addresses that Twisted supports have this endpoint support added to them; presently endpoint support has been implemented for TCP, SSL and UNIX domain sockets. My project deals with adding more endpoint implementation to Twisted, some involving wrappers around the existing APIs (e.g. serial ports, standard I/O), others involving making fresh APIs where setting up connections was difficult before the addition of the endpoints (e.g. SOCKS and HTTPS proxies).

Python 3 preparation, by Vladimir Perić (IRC nick vperic)


Vladimir joins us from Czech Technical University in Prague. Last year he was a Google Summer of Code student with SymPy.

His project:

Python 3 is the future of Python. If Twisted is to see continued usage in the future, it will have to be ported, and rather sooner than later. As Twisted is a large and complicated code-base, this process needs to be done with care, ensuring that any code written remains compatible with the currently supported versions. The test-driven development methodology Twisted uses will ensure no regressions happen and will ease the maintenance of the code-base.

Automatic Coding Standard Enforcement, by Raphael Shu (IRC nick zomux)


Raphael joins us from Tsukuba University in Japan, where he uses Python daily in his NLP research.

His project:

Twisted applies certain naming and style standards to all contributed code. Currently, a human reviewer needs to check all of these things. The purpose of this project is to develop a tool which can automatically make these simple, mechanical checks, freeing up human reviewer time to focus on more important aspects of proposed changes. Finally, it will speed up the review process.

Software Freedom Conservancy / GNOME Outreach Program internship

We are also excited to be working with the Software Freedom Conservancy and the GNOME Outreach Program for Women this summer. You can read more about the initiative and our work to encourage diverse participation in open source communities here. Through this initiative we have a 4th paid, full-time internship this summer:

Improving Twisted Mail and Twisted Core, by Fei Tan (IRC nick argonemyth)


Fei joins us from Grand Bay, Mauritius, where she works as a freelance web developer.

She will improve Twisted Mail on a number of fronts, including improving API documentation, adding more examples, adding more HOWTOs, and improved test coverage.

Please join me in welcoming Ashwini, Vladimir, Raphael, and Fei, whose internships start next week. Expect a torrent of code reviews and some record-breaking high scores list stats this summer!

Thank you Google for giving us this paid mentorship opportunity, and thank you to the Python Software Foundation for supporting us as our Google Summer of Code umbrella organization.

Monday, January 16, 2012

December Sprint Report

Twisted sprint? Twisted sprint! Here's the final Twisted sprint report of 2011, from our December 10th event at Smarterer in Boston.


David Sturgis:

  • was Sprint Host and Food Wrangler
  • discussed miscellaneous twisted.web feature

JP Calderone:

  • investigated 64 bit Windows 7 IPv6 problems
  • finished #5383: Provide a library for simple valued named constants
  • finished #5084: Accept IPv6 address literals (with embedded scope ids) in IReactorTCP.listenTCP
  • reviewed #3420: twisted.web.client persistent connections
  • reviewed #1902: compatibility work-around for commercial SSH 2.0.12 misbehaviours
  • reviewed #5400: Change UDP port to have an explicit state machine, and no FileDescriptor dependency
  • reviewed #3648: twisted.cred.credentials.UsernameHashedPassword doesn't hash password strings when checkPassword

This was the last sprint for JP as a Bostonian. We will miss you!


Itamar:

  • worked on #5427: Improve core documentation index page
  • reviewed #5383: Provide a library for simple valued named constants

Alex Levy:

  • made headway on several website and documentation improvements

Glyph:

  • discussed and then worked on #1956: Make a less sucky producer/consumer API

I (Jessica McKellar):

  • reviewed #5427: Improve core documentation index page
  • reviewed #5429: Documentation index
  • reviewed #5422: pbgtk2.py example is excessively complex

Thank you David for organizing this, and Smarterer for hosting.

Thank you to everyone who closed out 2011 with contributions to Twisted!

Tuesday, October 25, 2011

Sponsored Development, October 2011

I'm happy to report that I've just completed another two weeks of sponsored Twisted development.  As usual, the issue tracker directed most of my work.  I spent time on new development aimed at resolving tickets and I reviewed changes proposed by other developers with that aim.

All told, 59 tickets got some attention that they would not have received without the sponsored development.  The result was 36 closed tickets and 17 other tickets unblocked for other developers to resume work on.  Over the coming days or weeks a few more tickets will probably be resolved as a result of this work, as developers (including myself) respond to review feedback.

This work is made possible by the sponsorship of individuals and organizations which have donated to the Twisted project, part of the Software Freedom Conservancy, a not-for-profit organization that helps promote, improve, and develop open source software.  Thanks!

Apart from working to resolve tickets in the issue tracker, I also did some work on infrastructure.  I:

  • cleaned up our BuildBot master configuration and published it
  • implemented improved error reporting for our API documentation build automation
  • converted the subversion repository for the Twisted website to bzr and made it public
  • moved some Windows build infrastructure to a new host with better network connectivity to try to reduce spurious build failures

For more details about a ticket, see <http://tm.tl/NNNN>.

The tickets I reviewed, with tickets now closed in bold:

#78 - abortConnection() method for transports
#2674 - t.i.defer.inlineCallbacks documentation issues
#2675 - Test timeout policy should be decided by runner
#3077 - twistd --help plugin list isn't alphabetized
#3078 - Dynamic ZSH tab completion for any commands using t.p.usage
#3350 - make each peer register as a producer in portforward
#3453 - twisted.web._auth.digest mostly ignores the value of the uri field
#3896 - Passing a unicode object to request.write corrupts the entire response
#3926 - twisted.positioning -- a better positioning framework
#4159 - Add pre-exec hook to spawnProcess
#4519 - Delay parsing of request body until Request.args is accessed
#4751 - t.c.telnet.ITelnetProtocol.unhandledSubnegotiation doesn't reflect reality
#4849 - Add stream compression to twisted.words.jabber
#5024 - MSI buildbot patches version to avoid breaking distutils MSI builder, but does it in the wrong place
#5040 - twisted.web.template is lacking patterns
#5044 - Client documentation should use explicit buildProtocol()s rather than magic "protocol = MyProtocol" on factories
#5085 - Accept IPv6 address literals (with embedded scope ids) in IReactorTCP.connectTCP
#5139 - Replace usage of os.path.walk in favor of twisted.python.filepath.FilePath.walk
#5156 - no ambiguous antecedents (plugins documentation edition)
#5192 - 100-continue support for twisted.web.client.Agent
#5194 - log.msg can fail if someone removes an observer at the wrong time
#5250 - finger15.tac patch
#5252 - Manhole should support CTRL-A and CTRL-E for home/end
#5253 - Add support for input history persistence in twisted.conch.manhole
#5263 - add multipart/form-data support to twisted.web.client.Agent for easy form posts
#5267 - allow twisted.internet.ssl.[Private]Certificate (and friends) to be backed with TLSLite rather than pyOpenSSL
#5271 - trial test method timeout support is fragile
#5275 - t.w.template does not always properly escape comments
#5279 - pass mode to FilePath.createDirectory()
#5282 - ILogObserver, log.msg, log.err, and logging.html are insufficiently stern about log observer thread safety
#5283 - opt_user unused in manhole twistd plugin
#5285 - win32eventreactor misses disconnect events that happen too soon
#5286 - twisted.web.template documentation doesn't cover very basic use-case of rendering more than one of something
#5288 - twisted.web.template.Tag.fillSlots documentation doesn't mention it returns self
#5301 - test_tcp_internals.PlatformAssumptionsTestCase fails when we leak fds
#5312 - Create some release automation for building Sphinx documentation

And tickets I developed:

#581 - CopiedFailure.getTraceback should include the result of CopiedFailure.getErrorMessage even if unsafeTracebacks is not set
#745 - writeSequence not well-tested
#1946 - ErrorHolder is basically untested
#2838 - _dumbwin32proc.Process does not implement IProcessTransport completely
#4603 - names should handle unknown records
#4666 - t.i.task.Cooperator scheduler objects must return an IDelayedCall
#4671 - sometimes I want to have some constant values that are part of a set
#5040 - twisted.web.template is lacking patterns
#5062 - ProtocolWrapper masks the name of the wrapped protocol in the logs
#5075 - IntNStringReceiver copies too much data in dataReceived, causing AMP to be slow
#5140 - Deprecate twisted.scripts.tkunzip
#5158 - Installing on Pypy fails because of CPython-specific extension modules
#5233 - win32eventreactor doesn't notice TCP connection is lost in certain (hopefully rare) cases
#5237 - Add SFTP example
#5273 - Improve the API documentation for MultiService.addService to clarify its use in comparison to Service.setServiceParent
#5278 - When connecting with endpoints, the application factory used is neither started nor stopped, and irrelevant start/stop messages are logged instead
#5285 - win32eventreactor misses disconnect events that happen too soon
#5291 - twisted.trial TestCase should support assertDictEqual from Python 2.7 unittest
#5292 - Listening ports used with wrapping factories could log better start messages
#5293 - Remove mktap and corresponding twistd options (mktap is broken in trunk)
#5299 - udp.Port schedules connectionLost call in the global reactor
#5303 - Default transport implementation doesn't write out bytes immediately
#5304 - Win32Reactor.spawnProcess is redundant
#5308 - Make UDP ports identify themselves when stopping
#5316 - Incorrect API link in twisted.web.proxy.Proxy docstring

Friday, October 21, 2011

October Sprint Report

After a brief rest, the Boston Twisted crew is back on the sprinting treadmill. Dave Sturgis came through for us once again for the venue, working with Smarterer to let us use their office space and eat their snacks last Saturday afternoon. We also took advantage of the Python Software Foundation's sprint funding program to buy all the sprinters dinner.

Eight sprinters turned out to fix bugs, add features, and review changes.

Chris (radix) (triumphantly returned from the inhospitable southwest) worked on adding a history-tracking mode to Deferreds to aid in debugging. This feature will let a developer see everything that has happened to a Deferred - what callbacks it has run, what values have passed through it, and what other Deferreds it has been associated with.

Itamar picked up a ticket relating to HTTP client support for persistent connections. He also finished up the work on adding a new transport method, abortConnection, fixed a logging bug in the new TLS implementation, and did some ticket triage and a review.

Allister (amacleod) heroically tackled the problem of our insufficient Windows testing infrastructure, getting introduced to our build farm and setting up a new Windows 7 virtual machine on it.

Jessica (jesstess) did a ton of follow-up on old tickets (1247 2115 2447 2498 2507 2513 2861), trying to learn if they are still valid and elicit further information from the original reporters. She also managed to close one which was no longer valid (but she also filed a new one for a documentation bug, in case you were worried we might run out of tickets).

Glyph knuckled down on a review for our conversion to Sphinx. We're so close I can practically taste it.

Ying (cyli) took a look at improving the authentication options for some of Twisted's built-in servers. She started with the FTP server and made great headway.

As for myself, I reviewed that abortConnection feature as well as a ticket for HTML5 support in twisted.web.template and the TLS logging bug that Itamar fixed.

Thanks to all the sprinters and to Smarterer and the PSF for their support of the sprint! We're going to do another one of these real soon, watch out for an announcement!

Tuesday, May 31, 2011

May Sprint Report

Greetings audience.  Another month has gone by, and that means another excellent Twisted sprint is behind us.  A couple weekends ago Dave, Ying, Itamar, Glyph, Asheesh, and myself gathered at the now traditional sprinting location.  Quite a few things were worked on.  Amongst the highlights were the following tickets:

#4813 - provide permissions accessor for filepath
#5053 - Add Gzip support to web client
#5088 - cfreactor cannot be imported
#5063 - When TLS transport is in writeBlockedOnRead=True mode, data is buffered in memory but producer APIs are not respected
#5095 - twisted.protocols.tls should flush all of the bio data, rather than just 2**15 bytes

Monday, May 16, 2011

Evennia: Event-Driven Online Gaming with Twisted and Django

Do you have a hankering to run your own multi-user text-based game server? If you do, and you love Twisted, Evennia is the project for you! Through the power of Twisted, Evennia has built a MUD-server platform that not only provides traditional telnet access but also lets you play via the web! As Evennia maintainer Griatch Art put it:

Whereas traditional MUD servers only speak telnet, Evennia additionally comes with its own browser-based client and allows for expanding with custom game protocols in any combination. ... All of this is straightforward to implement and maintain thanks to Twisted!

Evennia also combines Twisted with Django, providing a comprehensive real-world case study of melding these two popular systems.  As Griatch puts it, Twisted and Django "work beautifully together".

To find out more about how Twisted was the perfect fit for this massively multi-player platform and why the Evennia team chose Twisted, check out the success story.

Have your own success story using Twisted? Let us know! Just send an e-mail to success@twistedmatrix.com

Sunday, March 20, 2011

Super Late February Twisted Sprint Report

Good news everyone,

Last month, Twisted held another very successful sprint.  A late write-up is better than no write-up, so here's what went on.

In attendance were Glyph, Tenth, Itamar, Mike Handverger, Luke, and myself (Jean-Paul).  Remotely, Jonathan J. and Stephen Thorne helped out.  Quite a few tickets were worked on, and various reviews were done as well.  Here's a list (bold indicates now closed):

#2036 - trial runs tests from .pyc files even if there is no .py file
#3834 - TCP client howto missing reactor.run() in one code sample#3844 - Parse IRC format codes
#3948 - wxdemo.py does not exit
#4008 - Most examples in documentation do not log messages and errors
#4520 - pb.CopiedFailure.throwExceptionIntoGenerator breaks in Python 2.6.
#4817 - IPv4Address and UNIXAddress not-equal comparison is broken
#4823 - Clock should re-sort pending calls when one of them is reset
#4836 - Make _getFunction method public in t.w.xmlrpc.XMLRPC
#4864 - Improve lore2sphinx buildbot results for `projects/core/howto/logging.xhtml`
 #4865 - Improve lore2sphinx buildbot results for `projects/core/howto/quotes.xhtml`

As I'm writing up this report at the March Twisted Sprint, look forward to another one of these real soon now. :)

Monday, January 24, 2011

Unclaimed PayPal donations

Hello Twisted supporters,

If you recently tried to donate money to the Twisted Software Foundation using PayPal, then you might find that your donation has gone "unclaimed".  This is due to an unfortunate mixup in our PayPal address.  If you have a donation in this state, you should cancel it; we have no way to claim it.

If you'd like to donate, use the PayPal form on http://twistedmatrix.com/. We've updated it so future donations will go to the right place.  If you'd rather use Google Checkout, the form for donating with that service is also still available in the same place.

Thursday, December 9, 2010

Making chat hipper with Twisted!

HipChat has been changing what it means to communicate in teams of any size and taking the world by storm over the past 12 months. What you may not know is that Twisted is at the core of HipChat's highly successful service:

HipChat is a hosted group chat and IM service for businesses which uses the XMPP protocol behind the scenes. We use Twisted to power our fully clustered chat server and run many important job queue workers.

Bottom line: we built and launched a successful business on Twisted & Python in 6 months with no prior knowledge of either. It's a very productive environment with great performance and maintainability. What more could you want?

    – Garret Heaton, Co-founder, HipChat

To learn more about how HipChat uses Twisted check out the success story!

Saturday, August 7, 2010

Fluidinfo sponsors Twisted!

Fluidinfo is Twisted's latest sponsor!  We asked if they could share some of the joys of sponsorship with us, and they had this to say about it:

At Fluidinfo, we're heavy users of Twisted. All of our infrastructure depends on it. FluidDB, our social database, is entirely built on Twisted, and we've released several core parts of it as open source: txAMQP, txRDQ and txThrift. Not only that, but we have contributed to Twisted both with code and (albeit small) personal donations.
It's not just that sponsoring was the fair the thing to do, it has also produced tremendous results in a framework crucial to our business. When you donate to the TSF it's simple math that more bugs get fixed, but also the quality of the entire Twisted project is enhanced. And when that happens, all of our products are enhanced automatically without us writing one line of code. So sponsoring is not just an act of generosity, it's an investment in Fluidinfo. Using and sponsoring Twisted has been an indispensable "force multiplier" for a growing start-up like us.
    – Esteve Fernandez
       CTO, Fluidinfo Inc. 

Thursday, May 27, 2010

Powering the Silver Screen

Think Twisted is only good for Internet-facing servers? Even then, it's not like Python itself that touches every part of your day in some way, right? Well my friend, you'd be delightfully wrong.

When you watch a movie crediting Lucasfilm for special effects, Twisted could be behind the scenes. Since 2004, Lucasfilm has used Twisted as part of its rendering operations to proxy database connectivity in the render farm (and much more), 24/7 x 365. That's right my friends, Twisted is not only the engine of your Internet...it might have a hand in your entertainment too.

To read more check out the great Success Story from Dave Peticolas from Lucasfilm: Twisted at Lucasfilm

Have your own success story using Twisted? Let us know! Just send an e-mail to success@twistedmatrix.com

Tuesday, March 30, 2010

New, New, New!

New Success Story

We've added a great success story for PowerCard, a loyalty rewards program for local restaurants. One of the terrific things about the PowerCard story is the use of Twisted for both back-end and client-facing systems. It's a great reminder that Twisted is as useful solving problems on Windows platforms as it is on the Linux/UNIX-based systems many of us code for.

Read the full success story here.

New Library Listing

Looking to use Twisted with new technologies like RabbitMQ (txAMQP) and Redis (txRedis)? Browse the updated libraries listing. We bet you'll find what you're looking for.

New Twisted Ambassador

And why do we have these new and updated listings for 3rd-party code? It's because we have a new guy who has volunteered to maintain and update the listings!

Jason J. W. Williams is Twisted's new ambassador to 3rd-party projects of all kinds.Primarily this responsibility involves keeping the "Success Stories" and "Projects Using Twisted" pages up to date, and occasionally writing small updates (like this one) for the news feed.

Please contact success at twisted matrix dot com if you have a success story about how you used Twisted, a pointer to some hitherto unknown code that uses Twisted, or for more information. And watch this space for more updates!

Monday, May 25, 2009

Canonical Men of Twistery



The title of this quick little post goes to the excellent name mwh gave the linked photo :-) Taken at a dinner during AllHands in a gorgeous area outside of Barcelona, this pic shows the collection of Twisted developers that Canonical has hired (so far!).

Top row, left to right: Andrew Bennetts (spiv), Thomas Herve (therve), Chris Armstrong (radix), Michael Hudson (mwh), Jamu Kakar (jkakar).

Bottom row, left to right: Nicola Larosa (tekNico), Duncan McGreggor (oubiwann), Jonathan Lange (jml).

Pretty freakin' cool :-)


Tuesday, May 20, 2008

ITA, The Twisted Foundation Rockstar

This is amazing: the Software Freedom Conservancy has just received a Twisted sponsorship check from ITA... and it's a big one: $20,000!


ITA is our first Diamond-level sponsor!


We are deeply grateful and excited that our project means so much to people and businesses.


We expect to be able to share some good news about Google, Canonical, and Microsoft in the next week or two, so stay tuned :-)



Saturday, May 17, 2008

Twisted in the News


More Thoughts on Concurrency

The folks at isotoma took some time to thoughtfully respond to my inquiry for more information on the areas where they felt that Twisted was lacking in support of concurrency. This was a fabulous read. Really well done with some hilarious Steve Yegge quotes. I encourage everyone to check it out (but I won't spoil the ending :-) For related reading, you might want to check out these PDFs (thanks Allen Short!):


Software Releases

The open source world has seen some Twisted-related software releases:


Buildbot

We got a mention in Jon Resig's blog post about Mozilla Build and Test Integration as one of the projects that uses Buildbot. Sadly, he failed to mention that Buidlbot itself is built with Twisted ;-)


Press

Zenoss, a Founding Sponsor of the Twisted Software Foundation, has issues a press release about their support of Twisted. Additionally, we're now sponsored by three subsidiaries (Contentinople, Internet Evolution, and Light Reading) of the publishing megacorp UBM (formerly CMP).


Business

Divmod has a new web site up, where they announce that they're officially providing specialized Twisted services in the form of consulting (full disclosure: I work for Divmod).