This post originated from an RSS feed registered with Python Buzz
by Abe Fettig.
Original Post: The Twistification of Hep
Feed Title: Abe Fettig's Weblog
Feed URL: http://www.fettig.net/xml/rss2.xml?flav=rss
Feed Description: Abe Fettig writes software. This is his weblog.
I know it's been a few weeks. Sorry for the silence, here folks. I'm still
around. The main reason for the lack of posts is that my local copy of
my blogging tool of choice
has been broken, as I've been aggressively refactoring some of the core
classes in the messaging library, as well as making some important changes
in Hep (more on that later). Also, I've been incredibly busy. But finally
today I have the combination of time and motivation to write a weblog entry
the manual way - by ssh'ing in to my server and typing it in vi.
Back on the 7th Thomas Weholt posted a question to the Twisted list. He was
trying to write a web server, using Hep's code as a starting point. This had
the consequence of bringing attention to the fact that, while Hep was using
Twisted, it was not using Twisted the Right Way (you can read the complete
thread on the Twisted mailing list here).
Twisted is a pretty big framework,
and up until this month I wasn't ready to jump in with both feet. I picked
bits and pieces of the libraries, mostly the protocol implementations, and used
the mainloop to run Hep, but I avoided relying on Twisted features if I didn't
have to. Now, though, I've reached a level of confidence with Twisted where
I'm ready to do things the Twisted Way throughout Hep, and hopefully make Hep
into a good example for Twisted newbies to learn from. I've started this
process already, and I'm not regretting it. Twisted is really nice, and the
developers are very smart guys. There is a learning curve, but so far I've
found that the time invested in reading the docs and asking for help on
the mailing list and IRC is well worth it.
In the coming days I'm going to start writing some "What I've learned about
Twisted" posts, explaining the various Twisted features I've started using
in Hep. So stay tuned for that.