Carter Andrew: Conservation Metrics: Week Two

Posted in: Pinhead Intern Blogs, Carter Andrew
Tags:

Monday:

When the morning came I was eager to get back to work. Whenever I take a hiatus from a project it lets me asses problems from different angles. I had a number of experiments I wanted to do in order to find the missing link: reading the 16 and 32-bit numbers in the .wav files. This task had daunted me from the beginning of the project because the functions I was using to read them were set up to read binary files(ones and zeroes). These numbers were written in a format that I did not fully understand and so writing my own code to transform the numbers would slow down the progress of my project significantly. Luckily for me, around 10:00 I found a way to universally read 32-bit ints(numbers) This was by far the biggest breakthrough on the project so far. Up until now, I had no way of actually locating the parts of the file I needed. Now, not only could I fund the length of the “junk” and “data” parts of the file that proceeded the metadata I could now use these number readouts to identify the type and length of the metadata I was looking for. I still had to figure out how to read 16-bit numbers instead of 32 but I suspected it would take a limited amount of time before I figured out how to extrapolate on my 32-bit reader. Throughout the rest of the day, I set up a 16-bit reader and set up a function that would print out all of the information that was needed to extract as well as other vital information to my function. After doing this I arranged a meeting with the team to discuss how we wanted to organize and output the data gathered. We decided on creating a spreadsheet style format with each row being a file. Along with this, I needed to make the program read all of the files inside of a folder. By 4:30 I had created a function that read all of the files in a folder. However, I had yet to implement the writing for the spreadsheet though and spent the rest of my workday working on it. After work, I went surfing with the Tersheys at one of the local spots.

Tuesday:

Once again, I woke up excited to get working on my project. I knew that soon I would be finished with the project and was ready to see the results of my work in action. By midday, I had devised a way to write my data into a .csv file format. I accomplished this was by using a 2d array to organize the data I gathered and then exporting them to the file. However, the program would fail if I tried to read more than 4 files. It took me about 30 minutes to recognize that using the function sizeof(int) to make the int a constant would return 4 regardless of the actual size. After this, I had to rewrite the entire function to send out the files in packets of 800 files. This slowed the function down because it had to open the file multiple times to put the data in, but it was quintessential for the functionality of the program. This also created a failsafe against overload on the array. The arrays have a limited maximum size and if it went over that size the entire program would crash. This program worked extremely well on my computer despite the apparent two minutes the program took to run 6000 files. However, when used over the local network to access conservations server(Where all of the files were actually stored) the program would stop running after a random but a constant number of files read. I ran out of time and did not find a solution to my problem today but hoped to figure it out tomorrow.

Wednesday:

One of the issues that I had with my program was the speed at which the program read files. However, I discovered that the program was not actually taking as long to run as I thought. The problem was that the code never existed at the end a so gave the appearance of taking more time than it really was. I found a way to fix this problem in the morning and turned the previous two minutes of time for 6,000 files into 20 seconds. However, this speed depends entirely on the read/write speeds of a computer and is not bottlenecked by the processor meaning the speed is highly speculative. I had not been able to figure out what was causing the error reading on the server and because of my computers bandwidth, the experimentation was painfully slow. I did not have any progress in this field today and decided that I would work on it tomorrow. For the rest of the day, I tried to make the program more compatible with other computers without installing extra compilers. This was an issue because we planned to post the code online as an open source program for anybody in the world to use. I was honored to have a program I built put online. However, the program does not run unless visual studio or another c++ IDE is installed on the computer running the program making it less convenient to use. I did not solve this issue and am not sure if I will be capable of doing so. After work, I went skateboarding with Russel, one of the Terheys children. While we were there I took a couple of photos, one of which you can see in this post.

Thursday:

In the morning I figured out my issue with the server reading. The server sent down files out of order and some other text files in the folders were getting read and not accounted for. After discovering this I fixed the program and had another meeting about the compatibility of the program. Next week if I do not find a way to use the program without the app download we will simply have everyone get the software to run in the background because I am the only person in the facility that has successfully made software that works for this task. The final day of my work week was also the last day for Paige, one of my fellow employees. She had been working at the company for 3 years and was now leaving. We had a goodbye party in the afternoon and then sorted all of the documents on her computer before she left. With the plan for next week in mind, I feel like I made really good progress this week and am proud of my work.

View on the way to work

The photo was taken at Santa Cruz local skatepark: Mike Fox

There are no comments published yet.

Leave a Comment

Change this in Theme Options
Change this in Theme Options
X