<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIDQ3s7eCp7ImA9WhVVFEU.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542</id><updated>2012-05-08T06:42:52.500-07:00</updated><category term="fluidinfo" /><category term="mud" /><category term="xmpp" /><category term="txRedis" /><category term="news" /><category term="twisted" /><category term="success-stories" /><category term="software" /><category term="tsf" /><category term="lucasfilm" /><category term="howto" /><category term="sponsorship" /><category term="windows" /><category term="im" /><category term="txamqp" /><category term="fluiddb" /><category term="ubuntu" /><category term="powercard" /><category term="concurrency" /><category term="canonical" /><category term="gaming" /><category term="libraries" /><category term="hipchat" /><category term="sprint" /><title>Twisted Matrix Laboratories</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://labs.twistedmatrix.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Christopher Armstrong</name><uri>http://www.blogger.com/profile/11041638059246049826</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TwistedMatrixLaboratories" /><feedburner:info uri="twistedmatrixlaboratories" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEQBQHw-fCp7ImA9WhVQEk0.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-4112099828370237973</id><published>2012-03-31T06:59:00.000-07:00</published><updated>2012-03-31T06:59:11.254-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-31T06:59:11.254-07:00</app:edited><title>Google Summer of Code and Outreach Program for Women</title><content type="html">Twisted is participating in Google's Summer of Code this year. If you're a student interested in working on Twisted as part of a paid internship, please visit our &lt;a href="http://twistedmatrix.com/trac/wiki/GoogleSOC"&gt;Google SoC&lt;/a&gt; page. We use best practices like in-depth code reviews and full coverage unit tests, so this is a great way to improve your technical skills whether you're a beginner or an expert programmer.&lt;br /&gt;
&lt;br /&gt;
In addition, Twisted and its non-profit home the Software Freedom Conservancy have partnered with the &lt;a href="http://live.gnome.org/GnomeWomen/OutreachProgram2012"&gt;GNOME Outreach Program for Women&lt;/a&gt; to fund an internship for one woman to spend the summer participating in and contributing to Twisted, while being mentored by &lt;a href="http://jesstess.com/"&gt;Jessica McKellar&lt;/a&gt;. Jessica is a long-time Twisted contributor as well as a software engineer and an organiser, among other things, of the &lt;a href="http://bostonpythonworkshop.com/"&gt;Boston Python Workshops&lt;/a&gt; for women.&lt;br /&gt;
&lt;br /&gt;
Unlike Google's program, the outreach program is not restricted to students; if you qualify, we do encourage you to apply to both. This internship is appropriate for any level of open source experience. If you have worked on an open source project before, great! If not, we'll help you learn the development and communication tools we use as part of the internship. Some Python experience is a prerequisite, and a small initial contribution to Twisted is a part of applying (if this sounds intimidating, don't worry, we'll help you pick a task to complete and you'll have lots of support as you work through submitting your first patch.) Please &lt;a href="http://twistedmatrix.com/trac/wiki/WomenOutreach2012"&gt;check out the full project description&lt;/a&gt; and apply today!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-4112099828370237973?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/zram0AyXYEY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/4112099828370237973/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=4112099828370237973" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4112099828370237973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4112099828370237973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/zram0AyXYEY/google-summer-of-code-and-outreach.html" title="Google Summer of Code and Outreach Program for Women" /><author><name>Itamar Turner-Trauring</name><uri>http://www.blogger.com/profile/06729091374592239565</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2012/03/google-summer-of-code-and-outreach.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FRnwzfCp7ImA9WhRaEEw.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-155583094429900030</id><published>2012-02-11T17:58:00.000-08:00</published><updated>2012-02-11T17:58:37.284-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-11T17:58:37.284-08:00</app:edited><title>Announcing Twisted 12.0</title><content type="html">Thanks to Thomas Hervé, we are proud to announce the release of Twisted 12.0.&lt;br /&gt;
&lt;br /&gt;

47 tickets are closed by this release, among them:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A fix to the GTK2 reactor preventing unnecessary wake-ups&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Preliminary support of IPV6 on the server side&lt;/li&gt;
&lt;li&gt; Several fixes to the new protocol-based TLS implementation&lt;/li&gt;
&lt;li&gt;Improved core documentation's &lt;a href="http://twistedmatrix.com/documents/current/core/howto/index.html"&gt;main page&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Twisted no longer supports Python 2.4, the latest supported version is 2.5.&lt;br /&gt;
&lt;br /&gt;
For more information, see the NEWS file here:

  &lt;a class="moz-txt-link-freetext" href="http://twistedmatrix.com/Releases/Twisted/12.0/NEWS.txt"&gt;http://twistedmatrix.com/Releases/Twisted/12.0/NEWS.txt&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;

Download it now from:&lt;br /&gt;
&lt;a class="moz-txt-link-freetext" href="http://pypi.python.org/packages/source/T/Twisted/Twisted-12.0.0.tar.bz2"&gt;http://pypi.python.org/packages/source/T/Twisted/Twisted-12.0.0.tar.bz2&lt;/a&gt; or&lt;br /&gt;
&lt;a class="moz-txt-link-freetext" href="http://pypi.python.org/packages/2.5/T/Twisted/Twisted-12.0.0.win32-py2.5.msi"&gt;http://pypi.python.org/packages/2.5/T/Twisted/Twisted-12.0.0.win32-py2.5.msi&lt;/a&gt; 
or&lt;br /&gt;
&lt;a class="moz-txt-link-freetext" href="http://pypi.python.org/packages/2.6/T/Twisted/Twisted-12.0.0.win32-py2.6.msi"&gt;http://pypi.python.org/packages/2.6/T/Twisted/Twisted-12.0.0.win32-py2.6.msi&lt;/a&gt; 
or&lt;br /&gt;
&lt;a class="moz-txt-link-freetext" href="http://pypi.python.org/packages/2.7/T/Twisted/Twisted-12.0.0.win32-py2.7.msi"&gt;http://pypi.python.org/packages/2.7/T/Twisted/Twisted-12.0.0.win32-py2.7.msi&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks to the supporters of Twisted via the Software Freedom Conservancy and to the 
many contributors for this release.
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-155583094429900030?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/5eVwTELVBdw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/155583094429900030/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=155583094429900030" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/155583094429900030?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/155583094429900030?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/5eVwTELVBdw/announcing-twisted-120.html" title="Announcing Twisted 12.0" /><author><name>Itamar Turner-Trauring</name><uri>http://www.blogger.com/profile/06729091374592239565</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2012/02/announcing-twisted-120.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAAQXcyeCp7ImA9WhRVF0o.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-4387751795153114036</id><published>2012-01-16T20:15:00.000-08:00</published><updated>2012-01-16T20:15:40.990-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T20:15:40.990-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="sprint" /><title>December Sprint Report</title><content type="html">&lt;p&gt;&lt;a href="http://pycon.blogspot.com/2012/01/inaugural-pycon-5k-fun-run.html"&gt;Twisted sprint&lt;/a&gt;? Twisted sprint! Here's the final Twisted sprint report of 2011, from our December 10th event at Smarterer in Boston.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;David Sturgis&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;was Sprint Host and Food Wrangler&lt;/li&gt;
&lt;li&gt;discussed miscellaneous &lt;tt&gt;twisted.web&lt;/tt&gt; feature&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;JP Calderone&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;investigated 64 bit Windows 7 IPv6 problems&lt;/li&gt;
&lt;li&gt;finished &lt;a href="http://twistedmatrix.com/trac/ticket/5383"&gt;#5383&lt;/a&gt;: Provide a library for simple valued named constants&lt;/li&gt;
&lt;li&gt;finished &lt;a href="http://twistedmatrix.com/trac/ticket/5084"&gt;#5084&lt;/a&gt;: Accept IPv6 address literals (with embedded scope ids) in &lt;tt&gt;IReactorTCP.listenTCP&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/3420"&gt;#3420&lt;/a&gt;: &lt;tt&gt;twisted.web.client&lt;/tt&gt; persistent connections&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/1902"&gt;#1902&lt;/a&gt;: compatibility work-around for commercial SSH 2.0.12 misbehaviours&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/5400"&gt;#5400&lt;/a&gt;: Change UDP port to have an explicit state machine, and no &lt;tt&gt;FileDescriptor&lt;/tt&gt; dependency&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/3648"&gt;#3648&lt;/a&gt;: &lt;tt&gt;twisted.cred.credentials.UsernameHashedPassword&lt;/tt&gt; doesn't hash password strings when &lt;tt&gt;checkPassword&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was the last sprint for JP as a Bostonian. We will miss you!&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Itamar&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;worked on &lt;a href="http://twistedmatrix.com/trac/ticket/5427"&gt;#5427&lt;/a&gt;: Improve core documentation index page&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/5383"&gt;#5383&lt;/a&gt;: Provide a library for simple valued named constants&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Alex Levy&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;made headway on several website and documentation improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Glyph&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;discussed and then worked on &lt;a href="http://twistedmatrix.com/trac/ticket/1956"&gt;#1956&lt;/a&gt;: Make a less sucky producer/consumer API&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;I (Jessica McKellar)&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/5427"&gt;#5427&lt;/a&gt;: Improve core documentation index page&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/5429"&gt;#5429&lt;/a&gt;: Documentation index&lt;/li&gt;
&lt;li&gt;reviewed &lt;a href="http://twistedmatrix.com/trac/ticket/5422"&gt;#5422&lt;/a&gt;: &lt;tt&gt;pbgtk2.py&lt;/tt&gt; example is excessively complex&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;

&lt;p&gt;Thank you David for organizing this, and &lt;a href="http://smarterer.com/"&gt;Smarterer&lt;/a&gt; for hosting.&lt;/p&gt;

&lt;p&gt;Thank you to everyone who &lt;a href="http://twistedmatrix.com/highscores/?time=2011-12-01"&gt;closed out 2011&lt;/a&gt; with contributions to Twisted!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-4387751795153114036?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/KsoXHYUjzCI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/4387751795153114036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=4387751795153114036" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4387751795153114036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4387751795153114036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/KsoXHYUjzCI/december-sprint-report.html" title="December Sprint Report" /><author><name>Jessica McKellar</name><uri>http://www.blogger.com/profile/13756992050921673361</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2012/01/december-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQERX8_eyp7ImA9WhRQFUs.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-1833297858570761702</id><published>2011-12-10T14:52:00.000-08:00</published><updated>2011-12-10T16:11:44.143-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-10T16:11:44.143-08:00</app:edited><title>November Sprint Report</title><content type="html">November saw another successful Sprint at the Smarterer.com offices, thanks to a smaller but extremely busy group of developers:&lt;br /&gt;
&lt;br /&gt;
Reviewmeister(ess) Jessica McKellar secured second place in the Twisted High Score list with an impressive number of reviews, including: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tm.tl/3037"&gt;#3037&lt;/a&gt;: "loseWriteConnection breaks loseConnection" (now resolved)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/4262"&gt;#4262&lt;/a&gt;: "Multicast documentation is misleading" (now resolved)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/538"&gt;#538&lt;/a&gt;: "Website-template.tpl is out of date"&lt;/li&gt;
&lt;/ul&gt;
She also resolved &lt;a href="http://tm.tl/1247"&gt;#1247&lt;/a&gt;: ("kqreactor timeout error (traceback)"), and opened &lt;a href="http://tm.tl/5385"&gt;#5385&lt;/a&gt;, &lt;a href="http://tm.tl/5386"&gt;#5386&lt;/a&gt;, and &lt;a href="http://tm.tl/5387"&gt;#5387&lt;/a&gt;, while resolving &lt;a href="http://tm.tl/5060"&gt;#5060&lt;/a&gt;: ("Correct python requirement in twisted/topfiles/setup.py").&lt;br /&gt;
&lt;br /&gt;
Not to mention all the tickets reviewed at recent Sprints which have since been resolved! (Though, to mention them anyway, &lt;a href="http://tm.tl/1247"&gt;#1247&lt;/a&gt;, &lt;a href="http://tm.tl/2115"&gt;#2115&lt;/a&gt;, &lt;a href="http://tm.tl/2447"&gt;#2447&lt;/a&gt;, &lt;a href="http://tm.tl/2498"&gt;#2498&lt;/a&gt;, &lt;a href="http://tm.tl/2507"&gt;#2507&lt;/a&gt;, and &lt;a href="http://tm.tl/5370"&gt;#5370&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Eternal High Score Overlord JP Calderone made a fair showing as well, finishing &lt;a href="http://tm.tl/5371"&gt;#5371&lt;/a&gt; ("In the developer guide, forbid new global reactor unit tests"), and splitting &lt;a href="http://tm.tl/4671"&gt;#4671&lt;/a&gt; ("sometimes I want to have some constant values that are part of a set") into more managable tickets:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tm.tl/5382"&gt;#5382&lt;/a&gt;: "Provide a library for valueless named constants"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/5383"&gt;#5383&lt;/a&gt;: "Provide a library for simple valued named constants"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/5384"&gt;#5384&lt;/a&gt;: "Provide a library for bitvector-like valued named constants"&lt;/li&gt;
&lt;/ul&gt;
Of which &lt;a href="http://tm.tl/5382"&gt;#5382&lt;/a&gt; and &lt;a href="http://tm.tl/5383"&gt;#5383&lt;/a&gt; saw immediate progress.&lt;br /&gt;
&lt;br /&gt;
Returning Champion Sprinter Paul Swartz reviewed and otherwise worked on several tickets, including:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tm.tl/2997"&gt;#2997&lt;/a&gt;: "Conch and getPeer"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/5352"&gt;#5352&lt;/a&gt;: "Do not register overlapping old DH key exchange messages"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/1902"&gt;#1902&lt;/a&gt;: "Compatibility work-around for commercial SSH 2.0.12 misbehaviours"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/3242"&gt;#3242&lt;/a&gt;: "Use python 2.5 'spwd' module instead of z3p secret 'shadow' module when available"&lt;/li&gt;
&lt;/ul&gt;
One-word Twisted celebrity Glyph was also on hand to assist with the reviews of &lt;a href="http://tm.tl/3242"&gt;#3242&lt;/a&gt;, &lt;a href="http://tm.tl/5382"&gt;#5382&lt;/a&gt;, and &lt;a href="http://tm.tl/1918"&gt;#1918&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
With considerably more words in his name, Itamar Turner-Trauring started porting a Nevow branch with IRI support (internationalized URLs) to Twisted as per ticket &lt;a href="http://tm.tl/5388"&gt;#5388&lt;/a&gt;, as well as helping resolve &lt;a href="http://tm.tl/3037"&gt;#3037&lt;/a&gt; with Jessica.&lt;br /&gt;
&lt;br /&gt;
Finally, Glyph, Itamar, and Dave Sturgis conferred on &lt;a href="http://tm.tl/288"&gt;#288&lt;/a&gt;, and the related cluster of web-resource-model issues it involves; It is hoped that this will eventually result in a new Web Server URL Traversal API, or WSURLTA, not to be confused with the nordic kraken-headed demigod of lore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-1833297858570761702?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/6K05UmwRupQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/1833297858570761702/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=1833297858570761702" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1833297858570761702?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1833297858570761702?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/6K05UmwRupQ/november-sprint-report.html" title="November Sprint Report" /><author><name>Tenth</name><uri>http://www.blogger.com/profile/11342326192886677610</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/12/november-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNR3g5cSp7ImA9WhRSFUg.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-7193564646486452441</id><published>2011-11-17T10:29:00.000-08:00</published><updated>2011-11-17T10:41:36.629-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-17T10:41:36.629-08:00</app:edited><title>Twisted 11.1.0 has been released!</title><content type="html">Twisted Matrix Laboratories is proud to announce the release of Twisted 11.1, thanks to the efforts of our release manager Thomas&amp;nbsp;Hervé.&lt;br /&gt;
&lt;br /&gt;
Highlights of the 185 tickets closed include:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The poll() reactor as default where applicable, instead of select()&amp;nbsp;everywhere.&lt;/li&gt;
&lt;li&gt;A new SSL implementation only relying on OpenSSL for cryptography,&amp;nbsp;(not I/O) making it more robust.&lt;/li&gt;
&lt;li&gt;Several improvements to the fresh HTTP/1.1 client implementation,&amp;nbsp;including proxy and cookie support.&lt;/li&gt;
&lt;li&gt;Thomas' personal favorite: a new howto has been published on test-driven&amp;nbsp;development with Twisted.&lt;/li&gt;
&lt;li&gt;A new abortConnection() method for immediately closing TCP and SSL&amp;nbsp;connections, the&amp;nbsp;oldest ticket closed by this release.&lt;/li&gt;
&lt;/ul&gt;
For more information, see the&amp;nbsp;&lt;a href="http://twistedmatrix.com/Releases/Twisted/11.1/NEWS.txt"&gt;NEWS file&lt;/a&gt;. Note that this is the last release supporting Python 2.4 (the support on Windows stopped with 11.0).&lt;br /&gt;
&lt;br /&gt;
Thanks to the supporters who have &lt;a href="http://twistedmatrix.com/trac/wiki/TwistedSoftwareFoundation"&gt;donated to Twisted&lt;/a&gt; via the Software Freedom Conservancy, and to the many contributors for this release!&amp;nbsp;Download it now:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/packages/source/T/Twisted/Twisted-11.1.0.tar.bz2"&gt;Twisted-11.1.0.tar.bz2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/packages/2.5/T/Twisted/Twisted-11.1.0.win32-py2.5.msi"&gt;Twisted-11.1.0.win32-py2.5.msi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/packages/2.6/T/Twisted/Twisted-11.1.0.win32-py2.6.msi"&gt;Twisted-11.1.0.win32-py2.6.msi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/packages/2.7/T/Twisted/Twisted-11.1.0.win32-py2.7.msi"&gt;Twisted-11.1.0.win32-py2.7.msi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-7193564646486452441?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/P2btIp3B_x0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/7193564646486452441/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=7193564646486452441" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7193564646486452441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7193564646486452441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/P2btIp3B_x0/twisted-1110-has-been-released.html" title="Twisted 11.1.0 has been released!" /><author><name>Itamar Turner-Trauring</name><uri>http://www.blogger.com/profile/06729091374592239565</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/11/twisted-1110-has-been-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQGQ3c6eyp7ImA9WhdaFUs.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-5903691958948302226</id><published>2011-10-25T11:28:00.000-07:00</published><updated>2011-10-25T11:28:42.913-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T11:28:42.913-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sponsorship" /><category scheme="http://www.blogger.com/atom/ns#" term="tsf" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="software" /><title>Sponsored Development, October 2011</title><content type="html">&lt;p&gt;I'm happy to report that I've just completed another two weeks of sponsored Twisted development. &amp;nbsp;As usual, the issue tracker directed most of my work. &amp;nbsp;I spent time on new development aimed at resolving tickets and I reviewed changes proposed by other developers with that aim.&lt;/p&gt;

&lt;p&gt;All told, 59 tickets got some attention that they would not have received without the sponsored development. &amp;nbsp;The result was 36 closed tickets and 17 other tickets unblocked for other developers to resume work on. &amp;nbsp;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.&lt;/p&gt;

&lt;p&gt;This work is made possible by the&amp;nbsp;&lt;a href="http://twistedmatrix.com/trac/wiki/TwistedSoftwareFoundation"&gt;sponsorship&lt;/a&gt;&amp;nbsp;of individuals and organizations which have donated to the Twisted project, part of the&amp;nbsp;&lt;a href="http://www.sfconservancy.org/"&gt;Software Freedom Conservancy&lt;/a&gt;, a not-for-profit organization that helps promote, improve, and develop open source software. &amp;nbsp;Thanks!&lt;/p&gt;

&lt;p&gt;Apart from working to resolve tickets in the issue tracker, I also did some work on infrastructure. &amp;nbsp;I:
&lt;ul&gt;
&lt;li&gt;cleaned up our BuildBot master configuration and&amp;nbsp;&lt;a href="http://labs.twistedmatrix.com/2011/09/twisteds-buildbot-master-configuration.html"&gt;published it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;implemented&amp;nbsp;&lt;a href="http://twistedmatrix.com/pipermail/twisted-python/2011-October/024638.html"&gt;improved error reporting&lt;/a&gt;&amp;nbsp;for our API documentation build automation&lt;/li&gt;
&lt;li&gt;converted the subversion repository for the Twisted website to bzr and&amp;nbsp;&lt;a href="https://launchpad.net/twisted-website"&gt;made it public&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;moved some Windows build infrastructure to a new host with better network connectivity to try to reduce spurious build failures&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;For more details about a ticket, see &amp;lt;http://tm.tl/&lt;i&gt;NNNN&lt;/i&gt;&amp;gt;.&lt;/p&gt;

&lt;p&gt;The tickets I reviewed, with tickets now closed in bold:

&lt;div style="font-weight: bold;"&gt;#78 - abortConnection() method for transports&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#2674 - t.i.defer.inlineCallbacks documentation issues&lt;/div&gt;
&lt;div&gt;#2675 - Test timeout policy should be decided by runner&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#3077 - twistd --help plugin list isn't alphabetized&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#3078 - Dynamic ZSH tab completion for any commands using t.p.usage&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#3350 - make each peer register as a producer in portforward&lt;/div&gt;
&lt;div&gt;#3453 - twisted.web._auth.digest mostly ignores the value of the uri field&lt;/div&gt;
&lt;div&gt;#3896 - Passing a unicode object to request.write corrupts the entire response&lt;/div&gt;
&lt;div&gt;#3926 - twisted.positioning -- a better positioning framework&lt;/div&gt;
&lt;div&gt;#4159 - Add pre-exec hook to spawnProcess&lt;/div&gt;
&lt;div&gt;#4519 - Delay parsing of request body until Request.args is accessed&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#4751 - t.c.telnet.ITelnetProtocol.unhandledSubnegotiation doesn't reflect reality&lt;/div&gt;
&lt;div&gt;#4849 - Add stream compression to twisted.words.jabber&lt;/div&gt;
&lt;div&gt;#5024 - MSI buildbot patches version to avoid breaking distutils MSI builder, but does it in the wrong place&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5040 - twisted.web.template is lacking patterns&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5044 - Client documentation should use explicit buildProtocol()s rather than magic "protocol = MyProtocol" on factories&lt;/div&gt;
&lt;div&gt;#5085 - Accept IPv6 address literals (with embedded scope ids) in IReactorTCP.connectTCP&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5139 - Replace usage of os.path.walk in favor of twisted.python.filepath.FilePath.walk&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5156 - no ambiguous antecedents (plugins documentation edition)&lt;/div&gt;
&lt;div&gt;#5192 - 100-continue support for twisted.web.client.Agent&lt;/div&gt;
&lt;div&gt;#5194 - log.msg can fail if someone removes an observer at the wrong time&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5250 - finger15.tac patch&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5252 - Manhole should support CTRL-A and CTRL-E for home/end&lt;/div&gt;
&lt;div&gt;#5253 - Add support for input history persistence in twisted.conch.manhole&lt;/div&gt;
&lt;div&gt;#5263 - add multipart/form-data support to twisted.web.client.Agent for easy form posts&lt;/div&gt;
&lt;div&gt;#5267 - allow twisted.internet.ssl.[Private]Certificate (and friends) to be backed with TLSLite rather than pyOpenSSL&lt;/div&gt;
&lt;div&gt;#5271 - trial test method timeout support is fragile&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5275 - t.w.template does not always properly escape comments&lt;/div&gt;
&lt;div&gt;#5279 - pass mode to FilePath.createDirectory()&lt;/div&gt;
&lt;div&gt;#5282 - ILogObserver, log.msg, log.err, and logging.html are insufficiently stern about log observer thread safety&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5283 - opt_user unused in manhole twistd plugin&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5285 - win32eventreactor misses disconnect events that happen too soon&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5286 - twisted.web.template documentation doesn't cover very basic use-case of rendering more than one of something&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5288 - twisted.web.template.Tag.fillSlots documentation doesn't mention it returns self&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#5301 - test_tcp_internals.PlatformAssumptionsTestCase fails when we leak fds&lt;/div&gt;
&lt;div&gt;#5312 - Create some release automation for building Sphinx documentation&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;And tickets I developed:
&lt;div style="font-weight: bold;"&gt;#581 - CopiedFailure.getTraceback should include the result of CopiedFailure.getErrorMessage even if unsafeTracebacks is not set&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#745 - writeSequence not well-tested&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;#1946 - ErrorHolder is basically untested&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#2838 - _dumbwin32proc.Process does not implement IProcessTransport completely&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#4603 - names should handle unknown records&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;#4666 - t.i.task.Cooperator scheduler objects must return an IDelayedCall&lt;/div&gt;
&lt;div&gt;#4671 - sometimes I want to have some constant values that are part of a set&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5040 - twisted.web.template is lacking patterns&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5062 - ProtocolWrapper masks the name of the wrapped protocol in the logs&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5075 - IntNStringReceiver copies too much data in dataReceived, causing AMP to be slow&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5140 - Deprecate twisted.scripts.tkunzip&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5158 - Installing on Pypy fails because of CPython-specific extension modules&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;#5233 - win32eventreactor doesn't notice TCP connection is lost in certain (hopefully rare) cases&lt;/div&gt;
&lt;div&gt;#5237 - Add SFTP example&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5273 - Improve the API documentation for MultiService.addService to clarify its use in comparison to Service.setServiceParent&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5278 - When connecting with endpoints, the application factory used is neither started nor stopped, and irrelevant start/stop messages are logged instead&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5285 - win32eventreactor misses disconnect events that happen too soon&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5291 - twisted.trial TestCase should support assertDictEqual from Python 2.7 unittest&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5292 - Listening ports used with wrapping factories could log better start messages&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5293 - Remove mktap and corresponding twistd options (mktap is broken in trunk)&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5299 - udp.Port schedules connectionLost call in the global reactor&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;#5303 - Default transport implementation doesn't write out bytes immediately&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5304 - Win32Reactor.spawnProcess is redundant&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5308 - Make UDP ports identify themselves when stopping&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;#5316 - Incorrect API link in twisted.web.proxy.Proxy docstring&lt;/b&gt;&lt;/div&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-5903691958948302226?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/ZUh6SJsui1I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/5903691958948302226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=5903691958948302226" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5903691958948302226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5903691958948302226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/ZUh6SJsui1I/sponsored-development-october-2011.html" title="Sponsored Development, October 2011" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/10/sponsored-development-october-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIDRn8-fyp7ImA9WhdaEkw.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-7571775716105315418</id><published>2011-10-21T10:02:00.000-07:00</published><updated>2011-10-21T10:02:57.157-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-21T10:02:57.157-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="sprint" /><title>October Sprint Report</title><content type="html">&lt;p&gt;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 &lt;a href="http://smarterer.com/"&gt;Smarterer&lt;/a&gt; to let us use their office space and eat their snacks last Saturday afternoon.  We also took advantage of the &lt;a href="http://pythonsprints.com/"&gt;Python Software Foundation's sprint funding program&lt;/a&gt; to buy all the sprinters dinner.&lt;/p&gt;

&lt;p&gt;Eight sprinters turned out to fix bugs, add features, and review changes.&lt;/p&gt;

&lt;p&gt;Chris (radix) (triumphantly returned from the inhospitable southwest) worked on adding &lt;a href="http://twistedmatrix.com/trac/ticket/4304"&gt;a history-tracking mode to Deferreds to aid in debugging&lt;/a&gt;.  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.&lt;/p&gt;

&lt;p&gt;Itamar picked up a ticket relating to &lt;a href="http://twistedmatrix.com/trac/ticket/3420"&gt;HTTP client support for persistent connections&lt;/a&gt;.  He also finished up the work on adding a new transport method, &lt;a href="http://twistedmatrix.com/trac/ticket/78"&gt;abortConnection&lt;/a&gt;, fixed &lt;a href="http://twistedmatrix.com/trac/ticket/5311"&gt;a logging bug in the new TLS implementation&lt;/a&gt;, and did some &lt;a href="http://twistedmatrix.com/trac/ticket/608"&gt;ticket triage&lt;/a&gt; and a &lt;a href="http://twistedmatrix.com/trac/ticket/5090"&gt;review&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Jessica (jesstess) did a ton of follow-up on old tickets (&lt;a href="http://twistedmatrix.com/trac/ticket/1247"&gt;1247&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2115"&gt;2115&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2447"&gt;2447&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2498"&gt;2498&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2507"&gt;2507&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2513"&gt;2513&lt;/a&gt;
&lt;a href="http://twistedmatrix.com/trac/ticket/2861"&gt;2861&lt;/a&gt;), 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 &lt;a href="http://twistedmatrix.com/trac/ticket/5316"&gt;a documentation bug&lt;/a&gt;, in case you were worried we might run out of tickets).&lt;/p&gt;

&lt;p&gt;Glyph knuckled down on a review for &lt;a href="http://twistedmatrix.com/trac/ticket/4500"&gt;our conversion to Sphinx&lt;/a&gt;.  We're so close I can practically taste it.&lt;/p&gt;

&lt;p&gt;Ying (cyli) took a look at improving the authentication options for some of Twisted's built-in servers.  She started with &lt;a href="http://twistedmatrix.com/trac/ticket/4752"&gt;the FTP server&lt;/a&gt; and made great headway.&lt;/p&gt;

&lt;p&gt;As for myself, I reviewed that &lt;a href="http://twistedmatrix.com/trac/ticket/78"&gt;abortConnection&lt;/a&gt; feature as well as a ticket for &lt;a href="http://twistedmatrix.com/trac/ticket/5306"&gt;HTML5 support in twisted.web.template&lt;/a&gt; and the TLS logging bug that Itamar fixed.&lt;/p&gt;

&lt;p&gt;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!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-7571775716105315418?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/1YFe4smo1NM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/7571775716105315418/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=7571775716105315418" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7571775716105315418?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7571775716105315418?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/1YFe4smo1NM/october-sprint-report.html" title="October Sprint Report" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/10/october-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8CQ3gzcCp7ImA9WhdVGEw.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-5397885878233747704</id><published>2011-09-23T14:21:00.000-07:00</published><updated>2011-09-23T14:21:02.688-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T14:21:02.688-07:00</app:edited><title>Twisted's BuildBot master configuration</title><content type="html">Twisted has a somewhat extensively customized BuildBot master configuration which has evolved over the last ten years.  We've kept it private only because it contains some passwords which it would be better not to share, but over the years we have wanted to make it public - because it might serve as a good example to others, because it would let more people hack on it and relieve us of some work, etc.  At last this has changed: I spent a couple hours today filtering out the sensitive parts.  As a result, you can now take a look at &lt;a href="https://launchpad.net/twisted-buildbot-configuration"&gt;lp:twisted-buildbot-configuration&lt;/a&gt;.  Add some features!  Do some refactoring!  Write some unit tests!
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-5397885878233747704?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/rST-77OKGmA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/5397885878233747704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=5397885878233747704" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5397885878233747704?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5397885878233747704?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/rST-77OKGmA/twisteds-buildbot-master-configuration.html" title="Twisted's BuildBot master configuration" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/09/twisteds-buildbot-master-configuration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEFSHcycSp7ImA9WhdWFE8.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-1315449039058052764</id><published>2011-09-07T13:16:00.000-07:00</published><updated>2011-09-07T13:16:59.999-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-07T13:16:59.999-07:00</app:edited><title>Pre-trunk Testing</title><content type="html">&lt;p&gt;Twisted uses &lt;a href="http://buildbot.net/"&gt;BuildBot&lt;/a&gt; for continuous integration - for testing every revision to ensure it passes the full test suite.  BuildBot automatically runs the test suite on each version of Python and each operating system supported by Twisted.  As of today, that's 22 different configurations, plus another 16 configurations where Twisted is known not to work completely but where we are workings towards full support.&lt;/p&gt;

&lt;p&gt;This works very well for identifying regressions and for finding problems with new functionality on platforms a developer may not have considered.  However, because Twisted prefers to keep trunk@HEAD completely working and the test suite fully passing on all platforms, if BuildBot identifies a problem with a trunk revision, we revert it completely.  Then the problems with it can be addressed and another attempt made.  This also works, but it has a couple shortcomings.  Someone actually has to do the revert, which is a little bit of work.  Also, someone might check out trunk@HEAD before the change is reverted, giving them a non-working version of Twisted.  It's nice to be able to avoid both of these things.&lt;/p&gt;

&lt;p&gt;The solution generally applied is to test the change before applying it to trunk.  BuildBot can do this too, in a couple different ways.  The way we use for Twisted development is to have BuildBot run the test suite on all those supported configurations on a branch of Twisted, rather than on trunk.  Since the change is checked in to a branch, instead of to trunk, it avoids the needed to revert anything and it avoids offering broken code to people.&lt;/p&gt;

&lt;p&gt;This approach involves a tiny custom tool to convince BuildBot to run the necessary builds.  Normally BuildBot just watches for trunk commits and starts builds automatically.  Since in this case we want the trunk commit to happen after we see that all the builds will succeed, we use force-builds.py to have BuildBot perform the builds before it sees the trunk commit.&lt;/p&gt;

&lt;p&gt;For a long time, &lt;a href="http://bazaar.launchpad.net/~exarkun/twisted-trac-integration/trunk/view/head:/tools/force-builds.py"&gt;force-builds.py&lt;/a&gt; needed a hard-coded list of supported platforms on which to trigger builds.  Recently I fixed this by having it retrieve that list from the BuildBot master, which already knows which platforms are supported.  Publishing this information is done with a minor hack to master.cfg:&lt;/p&gt;

&lt;pre&gt;    supportedList = list(
        builder['name']
        for builder
        in builders
        if builder['category'] == 'supported')
    path = 'public_html/supported-builders.txt'
    supportedListFile = file(path, 'w')
    supportedListFile.write('\n'.join(supportedList) + '\n')
    supportedListFile.close()
&lt;/pre&gt;

&lt;p&gt;The resulting file is publicly available from the master's web server, so force-builds.py can download it on-demand and then force a build on each supported builder.  When the developer sees all of these builds have succeeded, he or she can be more confident that there aren't going to be any surprises when the change is actually applied to trunk.&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-1315449039058052764?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/kiwB9IJOlJI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/1315449039058052764/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=1315449039058052764" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1315449039058052764?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1315449039058052764?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/kiwB9IJOlJI/pre-trunk-testing.html" title="Pre-trunk Testing" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/09/pre-trunk-testing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YDQH85fCp7ImA9WhdQEE8.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-6580484407184324100</id><published>2011-08-10T17:04:00.000-07:00</published><updated>2011-08-10T17:06:11.124-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T17:06:11.124-07:00</app:edited><title>New Buildbot!</title><content type="html">&lt;div style="text-align: left;"&gt;
&lt;blockquote&gt;
&lt;em&gt;And far to the East where strife sired shadows&lt;br /&gt; A &lt;code&gt;baelnorn.local&lt;/code&gt; did rise and approach the light.&lt;br /&gt; Out came &lt;code&gt;illidan.local&lt;/code&gt; over once fair meadows,&lt;br /&gt; And in defeat left his people weeping for their plight.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- &lt;/em&gt;&lt;code&gt;kabuto.local&lt;/code&gt;'s&lt;em&gt;&amp;nbsp;A Record&lt;/em&gt;&lt;/blockquote&gt;
Jean-Paul and I had some hardware adventures a couple weekends ago. &amp;nbsp;As these things usually are, it was harrowing - but perhaps less so than it might have been. &amp;nbsp;By combining, in approximately equal parts, some unused components which have been ripening in the back of a closet in JP's apartment and some newly acquired materiels from the &lt;a href="http://maps.google.com/?ll=42.357549,-71.115095&amp;amp;spn=0.001052,0.003664&amp;amp;t=h&amp;amp;z=19&amp;amp;layer=c&amp;amp;cbll=42.357549,-71.114582&amp;amp;panoid=zrBUvdsJ60qzupUWxOQQQA&amp;amp;cbp=12,162.04,,0,0.31"&gt;local vendor&lt;/a&gt; everyone (well, we, at least) loves to hate, and with only a few false starts involving incorrect memory channel configurations, Twisted now has the use of a somewhat hefty new computer, visible here in its new home, the undisclosed subterranean location that hosts all of Twisted's buildbot machines:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;em&gt;&lt;img alt="New Buildbot" height="299" src="https://lh4.googleusercontent.com/-mC09G0iZAiQ/TkHX0nuc4yI/AAAAAAAAAMo/TtU3tJAGt6Q/newbuildbot.jpg" width="400" /&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
Don't ask my why it glows blue; it is my understanding that this is simply the fashion these days.&lt;br /&gt;
&lt;br /&gt;
With enough cores and gigabytes of memory so that I have trouble counting them all, this machine should serve us well hosting many a build slave. &amp;nbsp;It has already taken over the duties of several older slaves, including those of a couple Windows slaves, care of kvm (the machine itself is running Ubuntu Lucid (10.04) of course). &amp;nbsp;The very nice network it is attached to means that remotely interacting with these is now only minimally unpleasant.&lt;br /&gt;
&lt;br /&gt;
The machine is also translating PyPy (in a respectable 34 minutes) once a week so we can continue to test Twisted against the latest development versions of the PyPy runtime.&lt;br /&gt;
&lt;em&gt;&lt;br /&gt; &lt;/em&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-6580484407184324100?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/mJ_s_PuDfpk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/6580484407184324100/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=6580484407184324100" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/6580484407184324100?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/6580484407184324100?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/mJ_s_PuDfpk/new-buildbot.html" title="New Buildbot!" /><author><name>glyph</name><uri>http://www.blogger.com/profile/07021175796928101086</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_X8hqcsy8KQM/SKTs7BlXY3I/AAAAAAAAACE/733q5QW12Sg/S220/hard-edged-iconograph-blogger.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-mC09G0iZAiQ/TkHX0nuc4yI/AAAAAAAAAMo/TtU3tJAGt6Q/s72-c/newbuildbot.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/08/new-buildbot.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FQXY4cCp7ImA9WhZaGEo.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-4075605397824995584</id><published>2011-07-05T06:16:00.000-07:00</published><updated>2011-07-05T06:33:30.838-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-05T06:33:30.838-07:00</app:edited><title>Volunteers needed for Twisted project jobs</title><content type="html">The &lt;a href="http://twistedmatrix.com/"&gt;Twisted project&lt;/a&gt; is a lot more than just writing code. Volunteers help sustain Twisted by reviewing tickets, writing documentation, answering questions on IRC, the mailing lists, and &lt;a href="http://stackoverflow.com/questions/tagged/twisted"&gt;Stack Overflow&lt;/a&gt;, donating build servers, managing releases, packaging Twisted for distributions, sponsoring development, and more.&lt;br /&gt;&lt;br /&gt;To everyone who contributes to the Twisted project in some way, thank you!&lt;br /&gt;&lt;h2&gt;Twisted project jobs&lt;/h2&gt;A small group of dedicated Twisted developers have been doing maintenance work over the years that we'd like to start distributing across more of the community. These tasks include:&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;maintaining &lt;a href="http://buildbot.twistedmatrix.com/"&gt;Buildbot buildslaves&lt;/a&gt;&lt;/li&gt;&lt;li&gt;maintaining the &lt;a href="http://speed.twistedmatrix.com/"&gt;Twisted Speed Center&lt;/a&gt;&lt;/li&gt;&lt;li&gt;maintaining our &lt;a href="http://twistedmatrix.com/trac/report"&gt;Trac instance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;maintaining &lt;a href="http://twistedmatrix.com/trac/wiki/ProjectJobs#VersionControlMirrors"&gt;version control mirrors&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;We've broken these tasks into bite-sized chunks, and you can find descriptions for them on the &lt;a href="http://twistedmatrix.com/trac/wiki/ProjectJobs"&gt;Project Jobs wiki page&lt;/a&gt;. Take a look, and please claim a task and how long you're up for doing it on the &lt;a href="http://twistedmatrix.com/trac/wiki/TwistedCommunity#MailLists"&gt;mailing list&lt;/a&gt;. If you have questions about any of them, don't hesitate to ask on the mailing list or &lt;a href="http://twistedmatrix.com/trac/wiki/TwistedCommunity#IRC"&gt;IRC&lt;/a&gt;. You'll have lots of help getting set up.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold; "&gt;Twisted Matrix Labs high scores&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Are you competitive? Need a little extra incentive to contribute? I challenge you to get to the top of the monthly &lt;a href="http://twistedmatrix.com/highscores/"&gt;Twisted Matrix Labs high scores list&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://mit.edu/~jesstess/www/twistedmatrix_highscores.png" width="400" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ticket openers, reviewers, and closers all get varying amounts of points. Note that a review banks you 1000 points, the most for a single ticket action, and we have a &lt;a href="http://twistedmatrix.com/trac/report/11"&gt;long review queue&lt;/a&gt;, so brush up on our &lt;a href="http://twistedmatrix.com/trac/wiki/TwistedDevelopment"&gt;patch review guidelines&lt;/a&gt; and dig in.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-4075605397824995584?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/GOJxYClC5oA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/4075605397824995584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=4075605397824995584" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4075605397824995584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4075605397824995584?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/GOJxYClC5oA/volunteers-needed-for-twisted-project.html" title="Volunteers needed for Twisted project jobs" /><author><name>Jessica McKellar</name><uri>http://www.blogger.com/profile/13756992050921673361</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/07/volunteers-needed-for-twisted-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUABRH4zfSp7ImA9WhZVGEQ.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-4558424675755451938</id><published>2011-05-31T16:42:00.000-07:00</published><updated>2011-05-31T20:09:15.085-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-31T20:09:15.085-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="sprint" /><title>May Sprint Report</title><content type="html">Greetings audience. &amp;nbsp;Another month has gone by, and that means another excellent Twisted sprint is behind us. &amp;nbsp;A couple weekends ago&amp;nbsp;Dave, Ying, Itamar, Glyph, Asheesh, and myself gathered at the now traditional sprinting location. &amp;nbsp;Quite a few things were worked on. &amp;nbsp;Amongst the highlights were the following tickets:&lt;br /&gt;
&lt;br /&gt;
#4813 - provide permissions accessor for filepath&lt;br /&gt;
#5053 - Add Gzip support to web client&lt;br /&gt;
#5088 - cfreactor cannot be imported&lt;br /&gt;
#5063 -&amp;nbsp;When TLS transport is in writeBlockedOnRead=True mode, data is buffered in memory but producer APIs are not respected&lt;br /&gt;
#5095 - twisted.protocols.tls should flush all of the bio data, rather than just 2**15 bytes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-4558424675755451938?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/pWizyxc7I7w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/4558424675755451938/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=4558424675755451938" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4558424675755451938?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/4558424675755451938?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/pWizyxc7I7w/march-sprint-report.html" title="May Sprint Report" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/05/march-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MHQH0yeSp7ImA9WhZWFUs.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-6795644285901840596</id><published>2011-05-16T11:10:00.000-07:00</published><updated>2011-05-16T11:10:31.391-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-16T11:10:31.391-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="success-stories" /><category scheme="http://www.blogger.com/atom/ns#" term="mud" /><category scheme="http://www.blogger.com/atom/ns#" term="gaming" /><title>Evennia: Event-Driven Online Gaming with Twisted and Django</title><content type="html">&lt;div&gt;
Do you have a hankering to run your own multi-user text-based game server? If you do, and you love Twisted, &lt;a href="http://www.evennia.com/"&gt;Evennia&lt;/a&gt; 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:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
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!&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Evennia also combines Twisted with &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;, providing a comprehensive real-world case study of melding these two popular systems. &amp;nbsp;As Griatch puts it, Twisted and Django "&lt;i&gt;work beautifully together&lt;/i&gt;".&lt;br /&gt;
&lt;br /&gt;
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 &lt;a href="http://twistedmatrix.com/trac/wiki/SuccessStories#Evennia"&gt;success story&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Have your own success story using Twisted? Let us know! Just send an e-mail to &lt;a href="mailto:success@twistedmatrix.com"&gt;success@twistedmatrix.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-6795644285901840596?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/t6Wyl5SQ7Lk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/6795644285901840596/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=6795644285901840596" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/6795644285901840596?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/6795644285901840596?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/t6Wyl5SQ7Lk/evennia-event-driven-online-gaming-with.html" title="Evennia: Event-Driven Online Gaming with Twisted and Django" /><author><name>Jason J. W. Williams</name><uri>http://www.blogger.com/profile/17842669878335715910</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_gitgjkrJSYA/S61FrOPyfrI/AAAAAAAAANs/KorVim0tg4M/S220/JJWW+Headshot+-+100x100.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/05/evennia-event-driven-online-gaming-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YMQXgyeip7ImA9WhZSGEg.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-7412679518654409405</id><published>2011-04-03T11:18:00.000-07:00</published><updated>2011-04-03T11:26:20.692-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-03T11:26:20.692-07:00</app:edited><title>Twisted 11.0.0 released!</title><content type="html">&lt;style type="text/css"&gt; p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} &lt;/style&gt;   &lt;p class="p1"&gt;    &lt;lvh&gt;    &lt;/lvh&gt;&amp;lt;&lt;lvh&gt;lvh&lt;/lvh&gt;&amp;gt; PAS MAINTENANT CHEF! CHUIS EN TRAIN DE BRANCHER LE REACTEURRRRR&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="p1"&gt;On behalf of Twisted Matrix Laboratories, I am honored to announce the release of Twisted 11.0.0.&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;Highlights include:&lt;/p&gt; &lt;p class="p1"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; a new templating system in Twisted Web, "twisted.web.template", derived from Divmod Nevow.&lt;/li&gt;&lt;li&gt; improved behavior of subprocess spawning on FreeBSD.&lt;/li&gt;&lt;li&gt;the 'twistd mail' plugin now uses the endpoints API, providing a more consistent command line and compatibility with endpoint plugins.&lt;/li&gt;&lt;li&gt;twisted.plugin no longer emits a confusing traceback when it can't write a cache file.&lt;/li&gt;&lt;/ul&gt; &lt;p class="p1"&gt;and numerous other bugfixes and documentation improvements. For more information, see the &lt;a href="http://twistedmatrix.com/trac/browser/tags/releases/twisted-11.0.0/NEWS"&gt;NEWS file&lt;/a&gt;.&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;Download it now from:&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;    &amp;lt;&lt;a href="http://twistedmatrix.com/"&gt;http://twistedmatrix.com/&lt;/a&gt;&amp;gt;&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;or install the 'Twisted' package from PyPI.&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;Many thanks to Glyph Lefkowitz and Jean-Paul Calderone for sanity-checking the pre-releases and release, and to the enthusiastic PyCon 2011 sprinters who annihilated dozens of tickets. Thanks to *everyone* who contributed tickets, patches, documentation, reviews, buildbots, feedback, and assistance to fellow users and developers leading up to this release. It is truly a group effort.&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;    &amp;lt;&lt;a href="http://twistedmatrix.com/highscores/?time=2011-03-01"&gt;http://twistedmatrix.com/highscores/?time=2011-03-01&lt;/a&gt;&amp;gt;&lt;/p&gt; &lt;p class="p2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="p1"&gt;is a testament to how much work was done in March alone.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-7412679518654409405?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/aEjqQ_zZwsg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/7412679518654409405/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=7412679518654409405" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7412679518654409405?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7412679518654409405?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/aEjqQ_zZwsg/twisted-1100-released.html" title="Twisted 11.0.0 released!" /><author><name>Jessica McKellar</name><uri>http://www.blogger.com/profile/13756992050921673361</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/04/twisted-1100-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUERHw-fyp7ImA9WhZSE0s.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-1416717827738106050</id><published>2011-03-28T19:51:00.001-07:00</published><updated>2011-03-28T19:53:25.257-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-28T19:53:25.257-07:00</app:edited><title>March (post PyCon) Twisted Sprint Report</title><content type="html">&lt;p&gt;We held a small but productive and successful Twisted sprint, kindly hosted once again by tenth, and attended by glyph, exarkun, jesstess and lewq.&lt;/p&gt;&lt;p&gt;The aim of the sprint was to do the first pre-release of Twisted 11.0 - and we managed to resolve almost all of the blocking tickets, so a partial success. :-)&lt;/p&gt;&lt;p&gt;One of the two main themes of the work was the twisted.web templating code, which got tidied up and properly documented - there's a new tutorial (&lt;em&gt;temporarily&lt;/em&gt; available at &lt;a href="http://buildbot.twistedmatrix.com/builds/sphinx-html/291-15849/projects/web/howto/twisted-templates.html"&gt;http://buildbot.twistedmatrix.com/builds/sphinx-html/291-15849/projects/web/howto/twisted-templates.html&lt;/a&gt;), which demonstrates this neat little templating engine in action.  The other theme was completing and merging the file descriptor closing branch which exarkun and lewq worked on, bringing FreeBSD just a few test-fixes away from being a fully supported platform - and importantly stopped the FreeBSD builder hanging on testing trunk, which will help catch regressions.&lt;/p&gt;&lt;p&gt;The following tickets got closed:&lt;/p&gt;&lt;p&gt;#4968 - Resource templating documentation has broken link to twisted.web.server.Resource which emphatically does not exist&lt;br /&gt; #4881 - twisted.internet.process._listOpenFDs fails on FreeBSD because fdescfs isn't mounted by default&lt;br /&gt; #4732 - Document @withRequest XML-RPC feature in the XML-RPC howto&lt;/p&gt;&lt;p&gt;And the following tickets got worked on:&lt;/p&gt;&lt;p&gt;#4854 - Replace the implementation of IReactorSSL with one based on twisted.protocols.tls&lt;br /&gt; #3690 - SerialPort never calls connectionLost(reason)&lt;br /&gt; #4969 - Add CONNECT support to HTTP client&lt;br /&gt; #4951 - links in twisted.web docs are broken&lt;/p&gt;&lt;p&gt;That's it until next time, enjoy Twisted 11.0 when it comes out!  We still have the PyCon sprint to report on, watch for that soon.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-1416717827738106050?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/1Bdr1PNAy7k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/1416717827738106050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=1416717827738106050" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1416717827738106050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1416717827738106050?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/1Bdr1PNAy7k/march-post-pycon-twisted-sprint-report.html" title="March (post PyCon) Twisted Sprint Report" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/03/march-post-pycon-twisted-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcCQ3g7fCp7ImA9WhZTGEk.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-5447880706100566846</id><published>2011-03-22T17:25:00.000-07:00</published><updated>2011-03-22T18:01:02.604-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-22T18:01:02.604-07:00</app:edited><title>Twisted 11.0.0pre1 released -- please test</title><content type="html">&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Intrepid Twisted developers and users: from Cambridge, Massachusetts I am pleased to announce the arrival of Twisted 11.0.0 pre-release 1.&lt;br /&gt;&lt;br /&gt;Please &lt;a href="http://twistedmatrix.com/~jesstess/11.0.0pre1/" style="color: #5797b0;" target="_blank"&gt;download the pre-release tarballs&lt;/a&gt; and test away!&lt;br /&gt;&lt;br /&gt;Highlights include:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;ul&gt;
&lt;li&gt;a new templating system in Twisted Web, "twisted.web.template", derived from Divmod Nevow.&lt;/li&gt;
&lt;li&gt;improved behavior of subprocess spawning on FreeBSD.&lt;/li&gt;
&lt;li&gt;the 'twistd mail' plugin now uses the endpoints API, providing a more consistent command line and compatibility with endpoint plugins.&lt;/li&gt;
&lt;li&gt;twisted.plugin no longer emits a confusing traceback when it can't write a cache file.&lt;/li&gt;
&lt;/ul&gt;
For more information, see the &lt;a href="http://twistedmatrix.com/trac/export/31394/branches/releases/release-11.0.0-4980/NEWS"&gt;NEWS&lt;/a&gt; file.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-5447880706100566846?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/w41ZszDwrAk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/5447880706100566846/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=5447880706100566846" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5447880706100566846?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5447880706100566846?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/w41ZszDwrAk/twisted-1100pre1-released-please-test.html" title="Twisted 11.0.0pre1 released -- please test" /><author><name>Jessica McKellar</name><uri>http://www.blogger.com/profile/13756992050921673361</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/03/twisted-1100pre1-released-please-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFRHk7cCp7ImA9WhZTFks.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-3792987462174476099</id><published>2011-03-20T15:48:00.000-07:00</published><updated>2011-03-20T15:48:35.708-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-20T15:48:35.708-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="sprint" /><title>Super Late February Twisted Sprint Report</title><content type="html">Good news everyone,&lt;br /&gt;
&lt;br /&gt;
Last month, Twisted held another very successful sprint.&amp;nbsp; A late write-up is better than no write-up, so here's what went on.&lt;br /&gt;
&lt;br /&gt;
In attendance were Glyph, Tenth, Itamar, Mike Handverger, Luke, and myself (Jean-Paul).&amp;nbsp; Remotely, Jonathan J. and Stephen Thorne helped out.&amp;nbsp; Quite a few tickets were worked on, and various reviews were done as well.&amp;nbsp; Here's a list (bold indicates now closed):&lt;br /&gt;
&lt;br /&gt;
#2036 - trial runs tests from .pyc files even if there is no .py file&lt;br /&gt;
&lt;b&gt;#3834 - TCP client howto missing reactor.run() in one code sample&lt;/b&gt;#3844 - Parse IRC format codes&lt;br /&gt;
&lt;b&gt;#3948 - wxdemo.py does not exit&lt;/b&gt;&lt;br /&gt;
#4008 - Most examples in documentation do not log messages and errors&lt;br /&gt;
#4520 - pb.CopiedFailure.throwExceptionIntoGenerator breaks in Python 2.6.&lt;br /&gt;
&lt;b&gt;#4817 - IPv4Address and UNIXAddress not-equal comparison is broken&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;#4823 - Clock should re-sort pending calls when one of them is reset&lt;/b&gt;&lt;br /&gt;
#4836 - Make _getFunction method public in t.w.xmlrpc.XMLRPC&lt;br /&gt;
&lt;b&gt;#4864 - Improve lore2sphinx buildbot results for `projects/core/howto/logging.xhtml`&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;#4865 - Improve lore2sphinx buildbot results for `projects/core/howto/quotes.xhtml`&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As I'm writing up this report at the March Twisted Sprint, look forward to another one of these real soon now. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-3792987462174476099?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/ojK93H71cD8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/3792987462174476099/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=3792987462174476099" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/3792987462174476099?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/3792987462174476099?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/ojK93H71cD8/super-late-january-twisted-sprint.html" title="Super Late February Twisted Sprint Report" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/03/super-late-january-twisted-sprint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBRnk_fyp7ImA9Wx9WGEU.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-7242894001800263595</id><published>2011-01-24T09:10:00.000-08:00</published><updated>2011-01-24T09:10:57.747-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-24T09:10:57.747-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sponsorship" /><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><title>Unclaimed PayPal donations</title><content type="html">Hello Twisted supporters,&lt;br /&gt;
&lt;br /&gt;
If you recently tried to donate money to the Twisted Software Foundation using PayPal, then you might find that your donation has gone "unclaimed". &amp;nbsp;This is due to an unfortunate mixup in our PayPal address. &amp;nbsp;If you have a donation in this state, you should cancel it; we have no way to claim it.&lt;br /&gt;
&lt;br /&gt;
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. &amp;nbsp;If you'd rather use Google Checkout, the form for donating with that service is also still available in the same place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-7242894001800263595?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/rY9wg5pJuTQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/7242894001800263595/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=7242894001800263595" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7242894001800263595?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7242894001800263595?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/rY9wg5pJuTQ/unclaimed-paypal-donations.html" title="Unclaimed PayPal donations" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/01/unclaimed-paypal-donations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUFSHk8fSp7ImA9Wx9WE0Q.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-1215523659046571192</id><published>2011-01-18T16:13:00.000-08:00</published><updated>2011-01-18T16:33:39.775-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-18T16:33:39.775-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sprint" /><title>January Twisted Sprint Report</title><content type="html">Our highly productive Sunday Somerville sprint was attended by glyph, cyli, tpratt, tenth, itamar, mesozoic and myself (exarkun). &amp;nbsp;Also sprinting remotely were thijs, spiv, and magcius. &amp;nbsp;All told, we closed twelve tickets:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;#3372 deprecate --extra option to trial&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div&gt;#3412 Include link to IMAP Server Tester in Twisted IMAP documentation&lt;/div&gt;&lt;div&gt;#4042 [Documentation] It is too hard to figure out how to do trivial common-case sending email with twisted.mail&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;#4054 Delete all of the out-of-date mumbo jumbo from the "im" howto&lt;/div&gt;&lt;div&gt;#4438 Declare dependencies explicitly when we add them&lt;/div&gt;&lt;div&gt;#4491 Release Twisted 10.0.1&lt;/div&gt;&lt;div&gt;&lt;div&gt;#4547 Remove deprecated twisted.protocols.loopback.loopback&lt;/div&gt;&lt;div&gt;#4712 Missing bits of statinfo accessors in FilePath&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;#4738 ckeygen man page has wrong summary and synopsis&lt;/div&gt;&lt;div&gt;#4740 Use strcred for `twistd mail` authentication options&lt;/div&gt;&lt;div&gt;&lt;div&gt;#4773 The core howto index should link to the endpoints howto&lt;/div&gt;&lt;/div&gt;&lt;div&gt;#4786 twcgi duplicate header&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;More tickets were also worked on and reviewed but not quite yet ready to close:&lt;br /&gt;
&lt;br /&gt;
#4317 twisted.web.http.Request allows you to write to a finished request.&lt;br /&gt;
#3896 Passing a unicode object to request.write corrupts the entire response&lt;br /&gt;
#4796 twistd mail plugin esmtp problem&lt;br /&gt;
#4760 HTTPPageGetter shouldn't make two requests with an afterFoundGet&lt;br /&gt;
#4632 ability to cascade canceling inlineCallbacks's deferred&lt;br /&gt;
#3077 twistd --help plugin list isn't alphabetized&lt;br /&gt;
&lt;br /&gt;
There was also a lively discussion about plans for the future support of Twisted on Windows. &amp;nbsp;If you're interested in Windows networking, keep an eye out for an upcoming announcement on that topic!&lt;br /&gt;
&lt;br /&gt;
Once again we were lucky enough to have tenth host the sprint, so in addition to shelter from the frozen terrorscape scant meters away, sprinters also enjoyed delicious fresh baked bread and other tasty morsels.&lt;br /&gt;
&lt;br /&gt;
If you couldn't make it to this sprint, watch for an announcement of the next one sometime soon. &amp;nbsp;Or join us at PyCon for as many as four days of Twisted hacking!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-1215523659046571192?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/W371ZBMvLLg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/1215523659046571192/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=1215523659046571192" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1215523659046571192?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1215523659046571192?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/W371ZBMvLLg/january-twisted-sprint-report.html" title="January Twisted Sprint Report" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2011/01/january-twisted-sprint-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEBQn07eyp7ImA9Wx9SGUg.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-1881829991243482231</id><published>2010-12-09T21:02:00.000-08:00</published><updated>2010-12-09T21:07:33.303-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T21:07:33.303-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="xmpp" /><category scheme="http://www.blogger.com/atom/ns#" term="hipchat" /><category scheme="http://www.blogger.com/atom/ns#" term="success-stories" /><category scheme="http://www.blogger.com/atom/ns#" term="im" /><title>Making chat hipper with Twisted!</title><content type="html">&lt;p&gt;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:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
Bottom line: we built and launched a successful business on Twisted &amp;amp; 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?&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;– Garret Heaton, Co-founder,  HipChat&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
To learn more about how HipChat uses Twisted check out the &lt;a href="http://twistedmatrix.com/trac/wiki/SuccessStories#HipChat"&gt;success story&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-1881829991243482231?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/JnRIFt5ASO8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/1881829991243482231/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=1881829991243482231" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1881829991243482231?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/1881829991243482231?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/JnRIFt5ASO8/making-chat-hipper-with-twisted.html" title="Making chat hipper with Twisted!" /><author><name>Jason J. W. Williams</name><uri>http://www.blogger.com/profile/17842669878335715910</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_gitgjkrJSYA/S61FrOPyfrI/AAAAAAAAANs/KorVim0tg4M/S220/JJWW+Headshot+-+100x100.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/12/making-chat-hipper-with-twisted.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAAQ3g-eyp7ImA9Wx9SEEQ.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-5351564115937958352</id><published>2010-11-29T22:32:00.000-08:00</published><updated>2010-11-29T22:32:22.653-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-29T22:32:22.653-08:00</app:edited><title>Twisted 10.2.0 Released!</title><content type="html">Twisted 10.2.0, the third Twisted release of 2010, has emerged from the mysterious depths of Twisted Matrix Labs, as so many releases before it. Survivors of the release process - what few there were of them - have been heard to claim that this version is "awesome", "even more robust", "fun-sized" and "oven fresh".&lt;br /&gt;
&lt;br /&gt;
Crossing several things that shouldn't ought to be, including the streams and the rubicon, I have assumed the triple responsibilities of feature author, project leader, &lt;i&gt;and&lt;/i&gt; release manager for 10.2: with this dark and terrible power - a power which no man ought to wield alone - I have wrought a release which contains many exciting new features, including:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tm.tl/4695"&gt;A plug-in API for adding new types of endpoint descriptions.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/1833"&gt;A new, simpler, substantially more robust CoreFoundation reactor.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/411"&gt;Improvements to the implementation of Deferred which should both improve performance&amp;nbsp;and fix certain runtime errors with long callback chains.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/1702"&gt;Deferred.setTimeout is (finally) gone.&lt;/a&gt; &amp;nbsp;To quote the author of this change:&amp;nbsp;"A new era of peace has started."&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tm.tl/4378"&gt;NetstringReceiver is substantially faster.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
And, of course, nearly one hundred smaller bug fixes, documentation updates, and general improvements. See &lt;a href="http://twistedmatrix.com/trac/export/30364/tags/releases/twisted-10.2.0/NEWS"&gt;the NEWS file included in the release for more details&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Look upon our Twisted, ye mighty, and make your network applications event-driven: get it now, from:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;&lt;a href="http://twistedmatrix.com/"&gt;http://twistedmatrix.com/&lt;/a&gt;&amp;gt;&lt;br /&gt;
... or simply install the 'Twisted' package from PyPI.&lt;br /&gt;
&lt;br /&gt;
Many thanks to Christopher Armstrong, for his work on release-automation tools that made this possible; to Jonathan Lange, for thoroughly documenting the process and thereby making my ascent to the throne of release manager possible, and to Jean-Paul Calderone for his tireless maintenance of our build and test infrastructure as well as his help with the release.&lt;br /&gt;
&lt;br /&gt;
Most of all, thanks to everyone who contributed a patch, reported a bug or reviewed a ticket for 10.2. &amp;nbsp;Not including those already thanked, there are 41 of you, so it would be a bit tedious to go through everyone, but you know who you are and we absolutely couldn't do it without you! &amp;nbsp;Thanks a ton!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-5351564115937958352?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/hyEpNzAWaio" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/5351564115937958352/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=5351564115937958352" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5351564115937958352?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5351564115937958352?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/hyEpNzAWaio/twisted-1020-released.html" title="Twisted 10.2.0 Released!" /><author><name>glyph</name><uri>http://www.blogger.com/profile/07021175796928101086</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_X8hqcsy8KQM/SKTs7BlXY3I/AAAAAAAAACE/733q5QW12Sg/S220/hard-edged-iconograph-blogger.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/11/twisted-1020-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcCQX0_cCp7ImA9Wx5SEk4.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-7273316726520823174</id><published>2010-08-07T20:11:00.000-07:00</published><updated>2010-08-07T20:11:00.348-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-07T20:11:00.348-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sponsorship" /><category scheme="http://www.blogger.com/atom/ns#" term="fluiddb" /><category scheme="http://www.blogger.com/atom/ns#" term="twisted" /><category scheme="http://www.blogger.com/atom/ns#" term="fluidinfo" /><category scheme="http://www.blogger.com/atom/ns#" term="txamqp" /><title>Fluidinfo sponsors Twisted!</title><content type="html">&lt;a href="http://fluidinfo.com/"&gt;Fluidinfo&lt;/a&gt; is Twisted's latest sponsor! &amp;nbsp;We asked if they could share some of the joys of sponsorship with us, and they had this to say about it:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
At Fluidinfo, we're heavy users of Twisted. All of our infrastructure depends on it. &lt;a href="http://fluidinfo.com/fluiddb/"&gt;FluidDB&lt;/a&gt;, our social database, is entirely built on Twisted, and we've released several core parts of it as open source:  &lt;a href="https://launchpad.net/txamqp"&gt;txAMQP&lt;/a&gt;,  &lt;a href="https://launchpad.net/txrdq"&gt;txRDQ&lt;/a&gt; and  &lt;a href="http://twistedmatrix.com/pipermail/twisted-python/2008-September/018442.html"&gt;txThrift&lt;/a&gt;. Not only that, but we have contributed to Twisted both with code and (albeit small) personal donations.&lt;/blockquote&gt;
&lt;blockquote&gt;
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.&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;– Esteve Fernandez&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; CTO, Fluidinfo Inc.&amp;nbsp;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-7273316726520823174?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/tRbMmuRiVJg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/7273316726520823174/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=7273316726520823174" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7273316726520823174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/7273316726520823174?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/tRbMmuRiVJg/fluidinfo-sponsors-twisted.html" title="Fluidinfo sponsors Twisted!" /><author><name>Jason J. W. Williams</name><uri>http://www.blogger.com/profile/17842669878335715910</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_gitgjkrJSYA/S61FrOPyfrI/AAAAAAAAANs/KorVim0tg4M/S220/JJWW+Headshot+-+100x100.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/08/fluidinfo-sponsors-twisted.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcARHw8fyp7ImA9WxFbGUs.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-5408848478313864761</id><published>2010-07-12T12:17:00.003-07:00</published><updated>2010-07-12T12:47:25.277-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-12T12:47:25.277-07:00</app:edited><title>Sponsored Development, July 2010</title><content type="html">Hello readers,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's that time once again.  I've just spent a very productive two weeks dedicated to Twisted developments, thanks to the support of the Twisted sponsors and the Software Freedom Conservancy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There were quite a few tickets to review when I got started this time.  Here's the list (italicised tickets are now resolved):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;#411 - Returning a Deferred from the callback of another Deferred too many times results a RecursionError&lt;/div&gt;&lt;div&gt;&lt;i&gt;#1384 - Document the meaning of trial's terminal output stanza&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#1702 - Kill Defer.setTimeout&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#2485 - 2to3 cross-compilation tools&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#2661 - Deprecate IFinishableConsumer so it can be deleted&lt;/div&gt;&lt;div&gt;&lt;i&gt;#2680 - abdapi ConnectionPool doesn't allow for synchronous close&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#3546 - Add custom time zone support to twisted.log.FileLogObserver&lt;/div&gt;&lt;div&gt;#3586 - I want to install twisted without a c compiler&lt;/div&gt;&lt;div&gt;#3802 - win32 SerialPort requires a reactor that provides "addEvent" method, but doesn't have a good error message if it gets a different one&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4038 - DeprecationWarning: the MimeWriter module is deprecated; use the email package instead&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4045 - Twisted's Failure fake '_Frame' object lacks f_locals&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4138 - A fresh Twisted checkout should support "setup.py sdist"&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4299 - Remove deprecated twisted.web.trp&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4328 - Deprecate twisted.python.text.docstringLStrip&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4378 - Error handling in NetstringReceiver broken&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4419 - IRCClient.noticed() default is prone to causing loops&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4477 - UNIX ports fail to log their path when stopped&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4511 - trial(1) man page says "I don't know why this is in trial." for --disablegc&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4519 - Delay parsing of request body until Request.args is accessed&lt;/div&gt;&lt;div&gt;#4520 - pb.CopiedFailure.throwExceptionIntoGenerator breaks in Python 2.6.&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4522 - Speed up `reactor.spawnProcess()` by only closing open file descriptors&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4527 - Change either documentation or code of t.i.test.reactormixins.ReactorBuilder.requiredInterface&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4531 - Static analysis of module attributes in twisted.python.modules&lt;/div&gt;&lt;div&gt;#4536 - Credentials materials are compared unsafely throughout Twisted&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4540 - t.n.hosts.searchFileFor does not close the file&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4555 - Replace loop-like uses of map() with a loop&lt;/div&gt;&lt;div&gt;#4566 - Improve lore2sphinx buildbot results for `projects/conch`&lt;/div&gt;&lt;div&gt;#4567 - Improve lore2sphinx buildbot results for `projects/core/development`&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Additionally, I had lots of time to spend worked on other tickets:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;#526 - [PATCH] make t.w.microdom respect case sensitivity&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#989 - Default log observer chokes on unicode messages&lt;/div&gt;&lt;div&gt;#1784 - disttrial --hosts=kunai,takkun,muon twisted&lt;/div&gt;&lt;div&gt;#2179 - Parameterize the root directory of the FTP server for non-anonymous logins&lt;/div&gt;&lt;div&gt;#3169 - Add FilePath.descendant(segmentsToChild) to replace fp.child(a).child(b).child(c)&lt;/div&gt;&lt;div&gt;#3242 - use python 2.5 'spwd' module instead of z3p secret 'shadow' module when available&lt;/div&gt;&lt;div&gt;&lt;i&gt;#3595 - the interaction of the fireOnOneErrback and consumeErrors parameters to DeferredList is not well documented&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#3690 - SerialPort never calls connectionLost(reason)&lt;/div&gt;&lt;div&gt;#4300 - Write some unit tests for Deferreds&lt;/div&gt;&lt;div&gt;#4473 - strports.endpoint&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4487 - report multiple tests with the same results at the same time&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4492 - deprecatedModuleAttribute emits warning twice when deprecated module is imported&lt;/div&gt;&lt;div&gt;#4494 - FTPRealm home directory code hardcodes '/home'&lt;/div&gt;&lt;div&gt;#4500 - Use Sphinx for Twisted Documentation&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4501 - trial's error reporting (especially --tbformat=emacs) does not like unicode exceptions&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4503 - domish gets confused by spaces in xmlns names&lt;/div&gt;&lt;div&gt;#4504 - Document reactor.listenMulticast's listenMultiple keyword argument&lt;/div&gt;&lt;div&gt;#4513 - twisted.names server sends incorrect authority section&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4517 - documentation for blockingCallFromThread doesn't exactly say the given callable can return a Deferred&lt;/i&gt;&lt;/div&gt;&lt;div&gt;#4528 - t.news.database should use t.m.smtp.sendmail and the email package&lt;/div&gt;&lt;div&gt;#4534 - Update twisted.application.service.IProcess to use Attributes&lt;/div&gt;&lt;div&gt;#4535 - zippath.child('..') does not raise InsecurePath&lt;/div&gt;&lt;div&gt;#4536 - Credentials materials are compared unsafely throughout Twisted&lt;/div&gt;&lt;div&gt;#4539 - fileno() gets called on a ReadDescriptor after removing it from the reactor&lt;/div&gt;&lt;div&gt;#4542 - `LineReceiver` API documentation should indicate when delimiter is stripped etc&lt;/div&gt;&lt;div&gt;&lt;i&gt;#4556 - KQueue reactor misspelled in reactorbuilder&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;You can find more details about these tickets in the Twisted issue tracker. To look up a ticket, visit http://twistedmatrix.com/trac/ticket/ticketnumber. For example, &lt;a href="http://twistedmatrix.com/trac/ticket/4487"&gt;http://twistedmatrix.com/trac/ticket/4487&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Many of these which are still open are now up for review and should be closed over the next few weeks as other developers have a chance to take a look and provide feedback.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A careful reading of this list reveals a few tickets related to our attempts to convert Twisted's documentation from Lore to Sphinx, an undertaking you already know about if you follow the Twisted mailing list.  Kevin Horn has spearheaded this project and made great progress towards the goal.  Even though the conversion isn't complete yet, there's already &lt;a href="http://buildbot.twistedmatrix.com/builds/sphinx-html-15620/"&gt;some really great looking results&lt;/a&gt;.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-5408848478313864761?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/RE6zqy6UVCY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/5408848478313864761/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=5408848478313864761" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5408848478313864761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/5408848478313864761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/RE6zqy6UVCY/sponsored-development-july-2010_12.html" title="Sponsored Development, July 2010" /><author><name>Jean-Paul Calderone</name><uri>http://www.blogger.com/profile/15144405957500773467</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/07/sponsored-development-july-2010_12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04CRXkyeSp7ImA9WxFbE04.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-8163627821172391535</id><published>2010-07-04T08:42:00.000-07:00</published><updated>2010-07-05T06:19:24.791-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-05T06:19:24.791-07:00</app:edited><title>Twisted 10.1.0 released</title><content type="html">Twisted 10.1.0 is finally out. It's a month late, but it's finally out there and free from the shackles of British rule.&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Deferreds now support cancellation&lt;/li&gt;
&lt;li&gt;A new "endpoint" interface which can abstractly describe stream transport&amp;nbsp;endpoints such as TCP and SSL&lt;/li&gt;
&lt;li&gt;inotify support for Linux, which allows monitoring of file system events.&lt;/li&gt;
&lt;li&gt;AMP supports transferring timestamps&lt;/li&gt;
&lt;/ul&gt;Note also that this is the &lt;i&gt;last&lt;/i&gt;&amp;nbsp;release in which we will support Windows for Python 2.4.&lt;br /&gt;
&lt;br /&gt;
For more information, see the &lt;a href="http://twistedmatrix.com/trac/export/29337/branches/releases/release-10.1.0-4509/NEWS"&gt;NEWS&lt;/a&gt; file.&lt;br /&gt;
&lt;br /&gt;
It's stable, backwards compatible, well tested and in every way an&amp;nbsp;improvement. Download it the &lt;a href="http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.tar.bz2"&gt;tarball&lt;/a&gt;, the &lt;a href="http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.winxp32-py2.5.msi"&gt;Windows installer for Python 2.5&lt;/a&gt; or the &lt;a href="http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.winxp32-py2.6.msi"&gt;Windows installer for Python 2.6&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; We now have executable Windows installers for &lt;a href="http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.winxp32-py2.5.exe"&gt;Python 2.5&lt;/a&gt; and &lt;a href="http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.winxp32-py2.6.exe"&gt;Python 2.6&lt;/a&gt;&amp;nbsp;to complement the MSIs.&lt;br /&gt;
&lt;br /&gt;
Many thanks to Glyph Lefkowitz, who helped prepare the release, and the PyCon&amp;nbsp;2010 sprinters, who did so much of the work for this release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-8163627821172391535?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/OpeyO26bm40" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/8163627821172391535/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=8163627821172391535" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/8163627821172391535?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/8163627821172391535?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/OpeyO26bm40/twisted-1010-released.html" title="Twisted 10.1.0 released" /><author><name>jml</name><uri>http://www.blogger.com/profile/11400080716012026985</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://1.bp.blogspot.com/-M_jE0GQZ9H0/TiFSUOGRb8I/AAAAAAAAAEI/w7DhhWkNUZs/s220/Texas-2011-01.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/07/twisted-1010-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EBRHYyeSp7ImA9WxFVGUg.&quot;"><id>tag:blogger.com,1999:blog-1267458971896358542.post-2363738719788926634</id><published>2010-06-19T05:47:00.000-07:00</published><updated>2010-06-19T05:47:35.891-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-19T05:47:35.891-07:00</app:edited><title>Twisted 10.1.0pre1 released – please test</title><content type="html">From the dank and grey depths of a London summer, a thin, reedy voice wanders&amp;nbsp;across the waves of the Internet, saying that it's jolly well pleased to&amp;nbsp;announce the first 10.1.0 pre-release.&lt;br /&gt;
&lt;br /&gt;
We would very much appreciate it if you could &lt;a href="http://people.canonical.com/~jml/Twisted/10.1.0pre1/"&gt;download the tarballs&lt;/a&gt;, test them on your systems, and &lt;a href="http://twistedmatrix.com/trac/newticket"&gt;file tickets&lt;/a&gt;&amp;nbsp;as appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Deferreds now support cancellation&lt;/li&gt;
&lt;li&gt;A new "endpoint" interface which can abstractly describe stream transport&amp;nbsp;endpoints such as TCP and SSL&lt;/li&gt;
&lt;li&gt;inotify support for Linux, which allows monitoring of file system events.&lt;/li&gt;
&lt;li&gt;AMP supports transferring timestamps&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
For more information, see the &lt;a href="http://twistedmatrix.com/trac/export/29337/branches/releases/release-10.1.0-4509/NEWS"&gt;NEWS&lt;/a&gt; file.&lt;br /&gt;
&lt;br /&gt;
If there is only positive feedback from the pre-release, we aim to do the final release some time later this month.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1267458971896358542-2363738719788926634?l=labs.twistedmatrix.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/eoTZsPOsaVU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://labs.twistedmatrix.com/feeds/2363738719788926634/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1267458971896358542&amp;postID=2363738719788926634" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/2363738719788926634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1267458971896358542/posts/default/2363738719788926634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/eoTZsPOsaVU/twisted-1010pre1-released-please-test.html" title="Twisted 10.1.0pre1 released – please test" /><author><name>jml</name><uri>http://www.blogger.com/profile/11400080716012026985</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://1.bp.blogspot.com/-M_jE0GQZ9H0/TiFSUOGRb8I/AAAAAAAAAEI/w7DhhWkNUZs/s220/Texas-2011-01.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://labs.twistedmatrix.com/2010/06/twisted-1010pre1-released-please-test.html</feedburner:origLink></entry></feed>

