So, over the last few days, my internship has become a hodgepodge of a few different things: programming (which is an entire process that I will go into in a minute), research, and other employees basically saying (in a much more professional tone) “Look at this cool thing!! Here I’ll email it to you so you can mess with it.” Other than that, there was a meeting with Greg, the data analysis guy, and the continual discussion on the reports Avirtek is required to write every month.
Programming. Ah, programming. It is the most frustrating thing you will ever do but will also be one of the most rewarding. How is it frustrating, you ask? There are a number of answers to that. The simplest one is that programming is basically a continuous (while) loop of writing code, debugging, writing more code, and debugging all over again. To understand what debugging is, you’ll have to understand what an error message is. When you write code, you then have to run it. Running the code is having the computer read it and subsequently do what you’ve told it to do in said code. Error messages on the other hand are the computer yelling at you for IT not understanding what YOU said. It does so in big red letters:
Those pinkish red messages at the bottom? Those are error messages. Most of the time when you write code, you write it and rewrite it until a few dozen rewrites (and Google searches) later the computer actually understands what you want it to do and those error messages go away. That moment, when your code works and you have all the power of a computer at your disposal, makes you feel like minor deity. On the other hand, it also feels like finishing a TV show. You begin to wonder what to do with your life and look for the next program to write to occupy your time. In my case, this consisted of asking Chintan every day or two what else I should add to the file parser.
In my previous post I mentioned I was writing a program to process a file, and I had succeeded. Turns out, I had succeeded at completing the most basic version of processing, or “parsing” the file. Not only did I have to make the computer tell me what the attributes of a single file were, I had to do that for an entire folder of files and do it from the command line. After that, I had to run statistics on each individual file. I have been developing this file parser since day one. A couple hundred error messages, Google searches, and questions for Chintan later, I can run it from the command line, parse entire directories, and run statistics on the files. There’s always more to do though, and when Chintan figures out how to enter the statistics into the database for his file type, he’ll help me figure out how to do it with mine.