Twisted & Monads
On Thursday I spoke at fp-syd about Twisted and monads. All I have is the slides. If you'd like, I can write up the paper.
Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer
On Thursday I spoke at fp-syd about Twisted and monads. All I have is the slides. If you'd like, I can write up the paper.
Launchpad has been open sourced. That includes Soyuz and Codehosting.
I spoke at EuroPython 2009 in Birmingham about the unittest module in the Python standard library.
I've recently started contributing a little to GTG, a GTD-inspired todo list application that's hosted on Launchpad.
$ bzr branch lp:pydoctorThis failed, saying it couldn't find zope.interfaces. I know I have zope.interfaces on my system:
$ cd GTG
$ ../pydoctor/bin/pydoctor --add-package GTG --make-html
$ sagi python-zopeinterfaceBut, ah, this is karmic, and pydoctor is insisting on running with Python 2.4, which is completely broken on karmic. I tweaked the bin/pydoctor file to use the default Python and then ran the command again.
...
python-zopeinterface is already the newest version.
$ ~/src/pydoctor/trunk/bin/pydoctor --add-package GTG --make-htmlSuccess, I think. There's a lot of output, so it's hard to tell. Trying again with a quiet option:
$ ~/src/pydoctor/trunk/bin/pydoctor --add-package GTG --make-html -qHmm. The WARNING sucks, but I can work around that by specifying the project name on the command line. The deprecation warnings also suck, but I'm not quite sure what to do about them. For now, I'll invoke python with '-W ignore::DeprecationWarning'.
WARNING: guessing GTG for project name
/home/jml/src/Divmod/trunk/Nevow/formless/annotate.py:730: DeprecationWarning: object.__new__() takes no parameters
rv = cls = InterfaceClass.__new__(cls, name, bases, dct)
/home/jml/src/Divmod/trunk/Nevow/nevow/testutil.py:7: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
from popen2 import Popen3
/home/jml/src/Divmod/trunk/Nevow/nevow/guard.py:15: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
these 6 objects' docstrings are not proper epytext:
GTG.core.tagstore.Tag.__init__
GTG.core.tagstore.Tag.set_attribute
GTG.core.tagstore.Tag.get_all_attributes
GTG.core.requester.Requester.new_task
GTG.core.requester.Requester.get_tasks_list
GTG.core.requester.Requester.get_active_tasks_list
python -W ignore::DeprecationWarning ~/src/pydoctor/trunk/bin/pydoctor \What I really want is a pyflakes-style checker for my docstrings that I can hook up to flymake. That way, I can be warned about my poorly-formed docs as I'm writing them. Looking at the pydoctor help, it doesn't look like such a thing exists. The command above is close, but it writes too much output to disk and takes far too long to run.
--add-package GTG --make-html --project-name=GTG \
-q -q \
--verbose-about=epydoc2stan2 \
--verbose-about=epydoc2stan2
python -W ignore::DeprecationWarning ~/src/pydoctor/trunk/bin/pydoctor \This leaves only two formatting errors, both valid. It takes a full second longer to generate the docs, which sucks. Still, we've got doc generation, and we've got valid errors.
--add-package GTG --make-html --project-name=GTG \
--docformat=restructuredtext -q -q \
--verbose-about=epydoc2stan2 --verbose-about=epydoc2stan2
At EuroPython this year, I talked about unittest and how it's misunderstood little module with it's own problems, and that despite its rough exterior it really is a Good Thing.
setUpClass / tearDownClass and Zope's layers. They are terrible and you should never use them.I've published a new GPG key: 2048R/2A727997
You're a core contributor to a Free Software project. Maybe you get paid to do it, maybe you don't. You get a patch from the outside: someone whose name you don't recognize has contributed a patch.
One of the hallway conversations I've had a few times so far at EuroPython goes like this: