UPDATE: So there I was, hard at work, when I surfed past the Daily Python URL. Right there at the top is 'Python TIme Lapse Photography'. Wow! Then I remembered the state of the code on the web page. I can't upload the new version right now, but take my work for it, the new version is soooo might nicer. Some features include:
So there you have it. If you have any questions drop me a line at daryl [at] insanitech [dot] com
So there we were, sitting around the lunch table at work and I happened to mention since I graduated, I had lost all ability to cook rice. Not for lack of trying. Oh no, I have burned many pounds of rice. Everyone agreed that it was because I stirred it before I boiled it but come on, it's just floating there calling out, "Stir me, you know you want to!". Then we started talking about growing rice and I decided we needed to grow some just to say we could. Long story short, a few weeks later we are germinating rice seeds. To help germinate more seeds, I started the Company Name Rice Germination Contest... with real prizes. Each participant received a cup of dirt with a few rice seeds. Next week is judging then planting in out artificial rice paddy.
Watching rice grow at the Germination Centre (my cube) was and got me thinking about those cool time lapse plant growth videos. So I brought home a cup of rice seeds and hacked together a time lapse photography programme. After playing around with it for a while, I cleaned it up and put a nice (by HW engineering standards) front end on it with PythonCard.

First select the time delay between pictures. You can specify hours, minutes and seconds so you don't have to do any conversion math. You can also specify the number of frames to capture or select 'Never Stop'. If you have a X10 FireCracker, you can configure the FireCracker's serial port and the ID of the device (light). Some lights (anything with a ballast) take a few seconds to turn on. Further, if you go from very dark to very bright, the webcam is probably going to wince and need a few seconds to auto-adjust. This is the warm up time (in seconds only please). If you aren't using the X10 interface, the warm up time is set to zero.
Next, you need to set the output options. The output path is were all of the captured images are going to be dumped. You can also customize the file prefix. The files are saved as [PREFIX]-[FRAME_NUMBER]. If overwrite is not selected, the programme will increment the frame count until it finds a unused file slot. Also, I imagine that an animation would look funny with a blurry time stamp in the corner, so you can turn this off it you want.
Finally, click 'Go' to start taking pictures. The text field in the lower right corner will display cryptic messages indicating what's going on. If you click on 'Stop', the programme will stop (as you might imagine) and the frame counter will be reset. You can also click 'Pause' to temporarily suspend the picture taking without altering the frame counter (not so useful now that there's a overwrite suppression mode).
My first setup was kind of a kludge. First off, the cup of seeds was placed on a computer case in the far back corner of my room and the webcam was taped to the dresser beside it. The light would reflect of the case, blinding the camera and all of the pictures look really bad (even by webcam standards). Secondly, my seeds refused to grow. I have acquired several hundred pictures of dirt before I theorized that water might be the answer (it appears to be). Still I did eventually get some interesting pictures:
I finally got around to fixing my setup. The rice now sits on a red plate to dull the reflection and the camera is secured (taped) to an old 1.5L 7-11 Tera-Gulp cup. I can now water the rice without performing acrobatic contortions and the picture angle is much better. The only drawback is that the light is now more visible in the room. Here's the new setup and preliminary results:

Here are the results:
