Wednesday, April 23, 2008

Synthesis Studios Twisted Interview

This is a re-blog, in case some of you aren't subscribed to -- we've got a new episode of the Twisted Show up, and it was a excellent interview with Synthesis Studios. Go check it out!

Tuesday, April 15, 2008

TSF Founding Sponsor Round

Earlier today, I posted to the Twisted mail list and to our Labs blog about the deadline for the Founding Sponsors (individuals and companies/organizations) for the Twisted Software Foundation, so I thought now would be a good time to give a quick status report :-)

Things are going well. We're still working with 4 major donors (some of whom are surprising!), with an additional 3 outliers who may or may not donate. We're hoping to have all that confirmed and settled within the next two weeks. For the full list of current sponsors, please see the Founding Sponsors page.

So what does all this mean? It means that Twisted has a continually-increasing chance of meeting your needs and exceeding your expectations :-)

Sponsors will have access to a private email list that is managed by the TSF, and this will be the primary forum where desired features and issues to be addressed will be discussed. The donations help us address resource issues and the collective voice of the sponsors will help provide a focus on important topics.

Not only do the current sponsors have their logos+links on the front page, but Founding Sponsors also get this on a dedicated page on the Twisted site in perpetuity. We've got some amazing Google Juice (search), so this works out well for all. We've also been approached by sponsors who are using it as a means of recruiting Python and Twisted talent in their shops. There are all sorts of creative ways that this can be of benefit :-)

If you haven't stopped by the TSF pages, give them a look and see if it's something you or your organization could be interested in.

Update: Thanks to feedback from Grig Gheorghiu, we now have two domains that direct to the TSF page:
Be aware that the DNS for those may still be propagating when you click on them :-)

Wednesday, April 09, 2008

Twisted on Nexenta/OpenSolaris

A few hours ago, I had the chance to install Nexenta/OpenSolaris in Parallels. The install was pretty straight-forward and quick. Gnome isn't on the .iso, but this was easily addressed with a/etc/apt/sources.list update, and an apt-get (a ~450MB dependency download and install). With Gnome was up and running, I was amazed at its responsiveness: Gnome on Nexenta seems to be much snappier than Ubuntu 7.10. This is the first time I've seen something I could use instead of Ubuntu, and that's saying a lot.

Next up was getting the Twisted and Divmod code installed. This required the following additional package installs:
sudo apt-get install python2.4-zopeinterface
sudo apt-get install python2.4-profiler
sudo apt-get install python2.4-pyopenssl
sudo apt-get install python2.4-crypto
With that done, I ran trial twisted, and watched the tests zip by. The end result? Only 1 failure and 2 errors; that's a pretty significant improvement over Twisted in Solaris 10. The failure was actually a little bit weird: the test can't find /dev/tty, however the device does exist (and I can open it from the python prompt). The two errors came from the UDP "multi listen" test, and were are result of the test timing out.

If I can get those two tests sorted out, I'll start testing the Divmod code. If all goes well, this could very well end up being my new development platform.

Tuesday, April 08, 2008

The Problem with and Solution to Google's App Engine

I know everyone is all aglow with the new web development offering from Google, but let me do the unpopular thing and put some things into perspective: there are limitations.

In fact, the limitations that exist will prevent me from using App Engine with all of my projects, save one (that one being a very simple web site). First, the limitations that prevent me from using App Engine (from one of their FAQs):
  • Sockets are disabled with Google App Engine
  • The system does not allow you to invoke subprocesses, as a result some os module methods are disabled
  • Threading is not available
This means that I can't write a deferred wrapper for their data layer, I can't use Twisted for such things as XML-RPC or AMP-based communications, and I can't use an async templating system (like Nevow). I'm stuck with CGI and blocking code. And for all but the simplest projects, that's a big "No Thank You" from me.

This doesn't mean that I won't use it -- I will. I have one project that this will be perfect for... but it's for someone else, not me.

However, these limitations are actually good news :-) Here's the silver lining:

As Glyph as alluded to in his recent blog post (and in our tweets), we've recently completed a massive week-long BizDev Divmod sprint in Boston. One of the results of this is based on community feedback we've had over the last year, and which culminated at PyCon 2008 in Chicago with multiple requests for particular services from The Twisted Company. That result is a set of tools, features, and management options folks will be able to use with our software (app server, smart object db, network services, etc.). People really want to start using our stuff in cloud/grid computing environments. They need support for multiple and diverse network services, inter-store communications, massive deployments, etc. Two months before PyCon, we started working on tickets to support this, and we're making excellent progress toward providing the requested features.

We're still unclear as to which parts of this will be open source, as that will be driven by a combination of business and community demand. Regardless, Google's lack of support for this stuff has (for now) left the field wide open for us. And that, folks, is a big "Thank You Google!" :-)