[Systers-dev] GSOC Systers wishlist project
Anne Gunn
ompeag at wyoming.com
Mon Apr 5 06:36:23 PDT 2010
Sara, Kate-Alice,
Welcome! You've both expressed an interest in the 'wishlist' project.
(You're the only one's I've noticed in my email digests, please let me
know if I've missed anyone else.)
Simone and I are the mentors tentatively assigned to that project. I'm
new to the GSOC mentoring process, so we'll be learning this together.
I think the recommended approach is to ask any questions to an email
thread (and if I got the syntax right, I've started a new one with this
email) so that everyone who is interested can see the questions and
responses. We can also set up specific IRC office hours for wishlist
project questions (but, for me, they would have to be in the next three
days -- I'm out of my office Thurs/Fri this week).
Kate-Alice,
Sorry I've been slow to respond to your initial emails; the project I'm
working on is nearing release and it's a bit hectic in my day job right
now. I do encourage you to apply. I think a knowledge of psychology
and multiple human languages is a GREAT grounding for working in
technology these days. Programming has always been about
communication, after all, and now with usability becoming such a big
issue/barrier to progress, our discipline can use all the knowledge of
human factors we can get.
Sara,
My sister-in-law went to Allegheny! Never been there myself, but she
has very fond memories of the place. Glad to hear you are applying.
Both,
Not sure what I can tell you beyond the basics in the project
description. I've actually only spent a few hours with the codebase
myself (at the GHC09 Code Sprint and over this last weekend). What I
would say is that the implementation language, Python, is very
learnable/accessible and a real pleasure to work in. The db interface
used is pretty straightforward and seems to me an awful lot like the
php/mysql db interfaces I've been working with for the last year or so,
so I think the skills acquired working with it will be transferable to
other work later.
One thing I would hope/encourage us to develop during this project is
some level of unit testing. Python offers a couple of different
approaches to unit testing, depending on how formal and automated you
want to get. Although unit testing is generally talked about in terms
of greenfield (new code) development, I've had very good luck applying
it to existing bodies of code. The interesting thing about fixing bugs
and/or adding features to relatively large bodies of code is that the
change itself is often relatively straightforward but the unintended
side effects can be remarkable and varied. Unit/regression testing
allows you to begin to get some telemetry on whether or not you broke
something else while you fixed the thing you intended. It's an
imperfect art and when you start doing it with a legacy code base, you
are certain to never have enough tests, but 'Don't let the fear that
testing can't catch all bugs stop you from writing the tests that will
catch most bugs.' -- Martin Fowler.
Using unit testing is NOT a requirement for working on this project and
I haven't even had a chance to ask Simone her opinion of it, but it's a
great skill to know when/how to use and I will be encouraging it for at
least some of this work.
PLEASE do ask questions; we want to be useful during the application
process.
ag
-----------------------
Anne Gunn
ompeag @ wyoming.com
307 673 5234
To contribute to this conversation, send mail to <systers-dev+wishlist at systers.org>
More information about the Systers-dev
mailing list