Anthony Peterson

Anthony Peterson works in computer support, network maintenance and application development at Burnette Foods, a medium-sized food processor that makes fruit products such as pie filling and applejuice. I live in Elk Rapids, Michigan, where the main plant and offices of Burnette Foods are located.

The IT staff is fairly small at Burnette Foods, so I have been tasked with individually developing an application to capture quality control data. Previously, I was a student in Computer Science and Applied Math at Metropolitan State College of Denver.

I've used C, C++ and Java in school and my current project is written in C#.NET. I've browsed Wiki Wiki Web back when I was in school and now I'm trying to relearn refactoring and apply it to the increasingly complex code used in Quality Control App. I'm also interested in learning more about patterns and Extreme Programming.

My Current Project: Quality Control App which involves capturing Quality Control data from the canning processes used by Burnette Foods, and replacing an existing computer system and several paper based systems which are currently in place. The primary design structure was conceived by a consultant who works with the company, which was the idea of generalizing the code to work with "templates" which specify the details of each different production process and which QC values must be obtained specifically for that process. The application is web-based, using ASP.NET, which has turned out to pose many challenges to an application that could perhaps be run locally using just Excel.

With that framework in place, I have been iteratively developing the code, in C# mostly, but also using HTML and ASP runat=server code, and also Javascript for a small amount of client-side stuff. I've been practicing my refactoring and learning from the pages here to do that, but this is a solo project with some guidance and testing from others so many of the XP practices haven't come up yet.

As an interesting aside, I was recently thinking about System Metaphor to wrap my head around a tough problem where I needed to check a grid of values, and I had two orthogonal processes involving these values. After following a train of thoughts regarding System metaphors, I started thinking about a parallel set of train tracks on which multiple many-car trains were on. Flitting in and about the trains were inspectors (in my mind they were Soviets checking everyone's papers.) As a result of thinking about this for a while, I realized that if all the train tracks were close together, and inspectors wanted to remove individual cars from a train while leaving the rest of the train alone (as was true in the metaphor and the actual problem), that it would be much easier to inspect one train at a time.

The solution to the whole problem came down to the inspector's procedure for dealing with one train at a time. First, check the papers of the train's engineer (process the potential key field of the data row). Second, check each person on each passenger car of that train, and check the goods of each freight car (check the text of each Data Grid cell of the row that is to be put in the database), and decouple any cars that fail this test (do not include any values that fail the checks in the resultant UPDATE or INSERT)

It took a lot of idle thinking that seemed pointless to find that metaphor, but it seems to fit parts of the problem well enough and give it some coherence, so I will try to keep this metaphor and apply it to other parts of the project.

See original on c2.com