This post originated from an RSS feed registered with Python Buzz
by Titus Brown.
Original Post: 16 Nov 2004
Feed Title: Advogato diary for titus
Feed URL: http://advogato.org/person/titus/rss.xml
Feed Description: Advogato diary for titus
QOTDE: "The only mistake you can make is to believe you cannot make mistakes." (via Carlos Gershenson)
Web software non-release & good books on software development
I'm waiting eagerly for our server admin to update Cartwheel to my latest
version. We have two "working branches" on the SourceForge CVS
repository, one for the Beowulf cluster configuration and one for the
Web server configuration; to update, I simply merge the development
branch into each of these branches and tell Ian (our server admin) to
run 'cvs update' and restart. This time is a bit more complicated,
because Python,
psycopg, and Quixote all have new versions; I've added
some new analysis programs (LAGAN and
blastz); and I'm now
using BioPython to parse
NCBI BLAST output. BioPython, in particular, is a pain -- it's a big
heap o' code, and it doesn't interact well with Quixote. O well,
c'est la vie.
This update is pretty substantive: I added a bunch of new
functionality to round out what was already there, then wrote it up in
an article we're submitting to BioTechniques. (Let me know
if you want a pre-acceptance copy.) I've been told that BioTechniques
isn't the highest quality or highest impact journal, but I get the
impression that it reaches a fairly wide audience of biologists.
And that's my goal: to reach the users, not to publish a scientific
article (got some of those on the way!). This paper is paper
#2 of 4 dissertation papers, too, and it's nice to get it off my back.
It's also the first paper where I'm corresponding author, which is
pretty cool; for the non-academics out there, that signals that it's
my project, not my advisor's.
I don't know when, if ever, I'll get around to an actual "release" of
Cartwheel. There's no point as long as the one server that we run
keeps up with demand; I don't
think it's near to conking out, but I could be wrong. I've never
stress-tested it, because it's not that kind of Web site... Maybe
someday other people will start installing it and then I'll want to
canonicalize the installation a bit more ;).
The kind of release we're doing now -- "here's the functionality, go
play" -- is certainly the right thing for its current users, who are
mostly GUI-using biologists. Anyone who wants to take a deeper look
can do so via SourceForge; there's some moderately useful Web services
APIs in there, for example.
...good books on software development
Rather than being critical of yahoo academic software development, I
thought I'd be friendly today. Here's my list of good background books for software design.
It's a very short list: Lakos's C++ book, Design Patterns, and Patterns
of Software (+ some other links at the bottom). Fowler's Refactoring
definitely belongs on there as well.
I regard these as "must-reads" if you're going to seriously
think about writing even a moderately sized software project; if you read
them and think "that was a waste of time..." you're either very experienced
or you should do us a favor and not write any more software. In my not-so-humble opinion.
(Hmm, that wasn't very friendly. I've got to work on those anger issues, it seems.)
Please send me a private e-mail if
you have additional suggestions; I'm always interested in good new books.
--titus
Today's diary entry dedicated to salmoni,
who could use a little love... Stick with it, you'll find something!