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.
Tuesday, July 2, 2013
Introducing our new Google Summer of Code and Outreach Program for Women interns
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.
Friday, July 20, 2012
July sprints report
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
- Worked on and merged #5521, Many ReactorBuilder-style tests in twisted.internet.test do not declare their reactor requirements via requiredInterfaces
- Reviewed #5570, Support adding an established SOCK_STREAM connection to the reactor
- Reviewed #585, Include sendfile(2) support into defaultreactor and make twisted.web use it (a rare 3-digit ticket!)
- Reviewed and merged #4963, Deprecate twisted.mail.protocols.SSLContextFactory
- Merged #5777, Conch tests are failing if PyCrypto or PyASN1 is not installed
- Reviewed and then worked on #5763, getBodyStructure wrong with multipart messages
Cynthia Andre
- Went through the OpenHatch tutorials on how to create and apply patches
- Gained familiarity with Twisted's ticket tracker
- Went through Twisted's contributor documentation
Allister MacLeod
David Sturgis
- Set up his development environment and went through Twisted's contributor documentation
- Started review of #5780, words: Unbound variable nickname in IRCUser for invalid user name
Itamar Turner-Trauring
- Helped new contributors
- Reviewed and merged #5697, Make the mail example imap4client.py compatible with servers require SSL
- Reviewed and merged #5129, Replace usage of execfile with t.p.compat version
- Reviewed #5713, UnixSFTPFile hordes flag-conversion code
- Reviewed #4330, Allow the Deferred returned by Agent.request to be cancelled
David Wang
- Worked on a Twisted web server for an HTML5/JavaScript application
Jessica McKellar
- Helped new contributors
- Reviewed #1784: disttrial --hosts=kunai,takkun,muon twisted
- Reviewed #5676: Support gi.pygtkcompat in gi reactor
Sprint report for San Francisco
Alex Gaynor
- Filed #5777: Conch tests are failing if PyCrypto or PyASN1 is not installed
- Filed and fixed #5779: Conch relies on CPython implementation detail
David Reid
- Worked on #5644: t.p.reflect.fullyQualifiedName doesn't support method descriptors
- updated the UsingBuildbot wiki (http://twistedmatrix.com/trac/wiki/UsingBuildbot)
Corbin Simpson
- Worked on #4173: WebSocket server support
Glyph
- Reviewed #5696: PythonLoggingObserver does not log structured data
- Finished 5734: attempt to quash a warning by storing the result of write() in _sigchld.c is unsuccessful
- Reviewed #5783: SSL support needs to be optional in twisted mail, again
- Documented details for migrating the Twisted Trac instance at http://twistedmatrix.com/trac/wiki/MovingTrac
- Continued work on the Tubes ticket.
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
- Reviewed #4913: FTP.ftp_RETR() should pass FTPCmdError errors back to the client
- Reviewed #1333: Survey existing FTP servers and clients to figure out how LIST works
- Reviewed #4930: FTP server lacks tests for RNTO and RNFR
- Reviewed #5045: twisted/protocols/ftp.py RESTART_MARKER_REPLY messages are incorrect
- Reviewed #5768: Remove deprecated twisted.web.google
- Reviewed #5554: t.trial.runner.DocTestCase is deprecated and should be removed
- Reviewd #5765: Remove deprecated code in twisted.python.log
Ying Li
- Worked on #5779: Conch relies on a CPython implementation detail
- Worked on #5765: Remove deprecated code in twisted.python.log
- Reviewed #2875: IFTPShell access implementations are not complete
Remote sprinters
We had a number of remote sprinters from around the world, including:- Twisted Google Summer of Code intern Ashwini Oruganti, who worked on #4696: client endpoint: process
- Antoine Pitrou, who worked on #5776: twisted.conch.ssh.userauth depends on hash ordering
- Michael Hudson, who reviewed #5776: twisted.conch.ssh.userauth depends on hash ordering
- Thomas Hervé, who worked on 5570 - add established SOCK_STREAM connection to the reactor
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:
And tickets I developed:
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
#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
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.
Sunday, March 20, 2011
Super Late February Twisted Sprint Report
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
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!
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
Tuesday, March 30, 2010
New, New, New!
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).