I started up my internship at Cleanwater Services again for the spring term. Cleanwater Services deals with maintaining the quality of the local water supply, which includes finding pipe breaks and sending crews out to fix them. They also do a significant amount of software development which is where I am involved.
After the fall term ended and before I went on my trip to Japan I started work at Cleanwater Services. Under the guidance of my managers I was assigned to update and improve a piece of software. The software in question was a program to record still frames from webcameras that were watching a construction site for some new water treatment equipment. The old program was unweildy and when one aspect of the picture taking process failed, the entire program failed, sending email every minute.
My task was to split the program into three discrete modules: An image capturer, a compiler and and archive cleaner. The image capture module is meant to grab images from the webcams and save them in an archival location. Snapshots are saved for different time periods. The compiler takes the existing still images in the archive and converts them into a movie (avi format) using mencoder, an open source video encoding program. The archive cleaner will clean out old still images from the archive, typically images that have already been compiled into a movie. I’ve put it through most of the stages of testing. It will be deployed to a testing server first to see how the programs run in the field. After that they will be transferred to an actual production server for use within the organization.
The program itself was written in C# using Visual Studio.NET 2005.
I found that programming in a corporate environment was quite different than programming for academic goals. Most notably, I was encouraged to ask for advice from higher-ups, rather than working entirely alone. When I started working on the program I was given some project specs which were quite similar in detail to the specs that I was required to write for my senior project modules.