[omaha] Group Project idea

Jeff Hinrichs - DM&T jeffh at dundeemt.com
Wed Aug 15 06:20:06 CEST 2007


The list has been kind of quiet lately so I thought that I would liven
things up a bit.

The dynamic languages users group has been doing a hypothetical car
wash problem and that gave me the idea to start a group project where
we could explore python in a less hypothetical way.

I almost didn't do this but I read John Udell's blog entry
"transmission of tacit knowledge",
http://blog.jonudell.net/2007/08/13/transmission-of-tacit-knowledge-teaching-what-we-dont-know-that-we-know/
and that spurred me on.  I think all of us have some of the Tacit
Knowledge that others in the group could benefit from and this kind of
exercise is a good way of sharing it.

I was coming up dry thinking about what to use for a project and then
for some strange reason I thought Biorhythms
(http://en.wikipedia.org/wiki/Biorhythm)  It's a bit less boring that
a car wash and gives us a chance to play with pylab/matplotlib which
is a nice graphing package.

Project Highlights:
 * working with lists
 * calculating sine waves against sets of data
 * date manipulation and arithmetic
 * command line processing
 * pylab/matplotlib - http://matplotlib.sourceforge.net/
 * dataset analysis
 * code that actually does something non-boring

While I don't think any one is going to use the pyorhythm code at
work, the different aspects of it are very applicable to every day
usage of python on the job.

I've got a project on google code started, http://code.google.com/p/pyorhythms/
It's very rudimentary but should be enough to get everyone started.
The only 3rd party module is pylab and that is not too difficult to
get installed.


The exercise would go like this:

We, as a group, suggest features, enhancements and vote on the next
one to work on.  Everyone playing would work on the code and then
present their diff to the group.  We would talk about interesting
implementations and vote on the diff to commit.  Then rinse, lather
and repeat.  We could even log group decisions and interesting code on
the wiki section of the project.

A list of possible features/enhancements:
 * automatically assign different point markers for each person
 * generate a list of high/low days for an individual or group for the
date range
 * allow the user to specify a different date range (currently hard coded to 33)
 * forecast out the best /worst day (Max and Min) for a date range
 * option to save graphic to a file or output to stdout for use on a website
 * different types of charts - or enhance the current one
 * give it the PEP8 treatment with pylint/pychecker/et al
..etc..


So is anyone up for a little fun and learning?

-Jeff


More information about the Omaha mailing list