<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>The LIS4910 Story</title>
	<atom:link href="http://www.andrewbertino.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.andrewbertino.com/blog</link>
	<description>A blog describing the process of an information technology project.</description>
	<pubDate>Sat, 13 Dec 2008 01:06:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Chapter 11 - The Grand Finale</title>
		<link>http://www.andrewbertino.com/blog/?p=18</link>
		<comments>http://www.andrewbertino.com/blog/?p=18#comments</comments>
		<pubDate>Mon, 14 Apr 2008 02:12:31 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As mentioned last week, this week will be the final post. Since I have completed the project, I have really nothing more to add to my previous posts. I do have my presentation this Thursday with Pam to go over the entire project. My plan is to first go over what my initial plans were [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned last week, this week will be the final post. Since I have completed the project, I have really nothing more to add to my previous posts. I do have my presentation this Thursday with Pam to go over the entire project. My plan is to first go over what my initial plans were and what I thought about the project before I began. I will then go over what I did with the folder scheme and the map that pinpointed the devices. I will demonstrate the folder scheme on the computer, showing off the before and then the after. I will then go through an entire downloading session. I will gather all of the data from the devices and put it on the HOBO Shuttle. From there, I will show how to go through the entire downloading procedures and how to get the data into the spreadsheets. I will then demonstrate how to get the out of range results sheet using the macros I created. Finally, I will wrap up by discussing what needs to be looked at in the future and what possible things could be improved. I feel confident about my plan for the presentation and I think it will go very well. With that said, to wrap up this blog, I am going to discuss my experiences with this project. This will include what I learned, what could I have done differently, etc.</p>
<p>I have to say that I am somewhat surprised with how well everything went with this project. For the most part, the project unfolded exactly how I expected it to. When I expected to get something done, I was able to do it and move on. There were some rough parts here and there where I had to wait to download the data, or I had to stop for a day to do other work, but pretty much everything went as planned. The new folder scheme came together just as I had planned. The revival of the two none working devices was actually easier than I expected. I was expecting to have to do some research or price up new ones, but Pam found two more working devices elsewhere and I just put those into commission instead. The downloading procedures came together quite nicely. One of Pam&#8217;s staff members assured me that my documentation was very easy to follow. She was able to properly download the data using them, so I had to make very little changes to the documentation.</p>
<p>Now, the out of range macro was a little more up and down. At first, I feared that it was going to take longer than I originally thought. However, as I began working with it, I found out that it was going take me about as long as I had expected. In fact, I was able to make it better than I anticipated.  I never expected to make it as automated as I did. However, the more automation brought about other issues to worry about, so I had to spend some extra time making sure that I wasn&#8217;t sacrificing ease of use in order to get full automation. Particular parts were just too tricky to automate, so in the end, I had to give up a bit of automation to make it more stable. In the end, I feel that the out of range procedures ended up being very balanced. Most of it was automated, but to make it stable, some basic user involvement was needed. Overall, everything with this project went as planned. However, I need understand that not every project will be like this and that there will be future projects where things will not go as smoothly. When planning for any future projects, I must still take into account unforeseen complications, even though I ran into very few issues with this project.</p>
<p>Even though the project did pretty much go as planned, I still ran into some challenges. My biggest challenge was just managing everything on my plate. With two jobs, other classes and the project, I can easily say stress was high. However, having dealt with this much on my plate for two years now, I have somewhat gotten used to it. So as usual, I buckled down and did what needed to be done. However, it is and will always be a challenge. With all this going on, I had to make sure I still set time away to do this project and complete my tasks for the week. This was sometimes frustrating as I would want to get a part of the project done real quick, but would have to put it aside because I had more pressing issues to attend to. I also ran into that the other way as well and it was just as frustrating. I would be free of other school work and such and would be ready to start working on the project only to have to wait for something else. I overcame both these frustrations but just moving on ahead. When I was waiting to be able to download the data, I worked ahead and began working on the out of range algorithm or started the documentation. When I was busy with other work, I just sacrificed other things to fit in some time for the project, making sure to continually move ahead and keep on schedule.</p>
<p>Throughout the project I realized that I was using many of the skills that I had learned from the classes I have taken. The technical communication skills I learned in my classes were crucial here. Also, assignments that dealt with understanding your users were also helpful. There is not a specific class that helped me out since almost every class dealt heavily with communication and users. However, there is no doubt the skills I gained from these courses aided me in this project. When I began writing the documentation I had to make sure it focused exactly on my audience. I had to make the documentation easy enough to follow for someone with minimal technical knowledge. I assumed that the user going through the procedure had the basic understanding of Windows, navigating folders and using Excel, but I still made sure to note more advanced features or make sure I detailed more complicated steps. I used screen shots to help the user along. The documentation was made better thanks to the skills I had picked up through many of my courses.</p>
<p>I can easily say that this project helped me mostly with time management and planning ahead. With having so much going on around me, I had to quickly learn how to plan and estimate time properly so that I had enough time to get everything completed. I also learned how to communicate with a manager in a more professional environment. Sure I had done projects at school before and I do some projects at work, but this was different as it was truly a full length project. The projects I had done before this one were smaller projects and were done usually in a day or a week. With this project, I had to work with Pam for over three months, keeping her up-to-date, asking her questions, getting feedback, making sure I was on track, and more. Throughout all of this, I learned more then just time management and communication skills. I also learned some new technical skills.</p>
<p>Even though I use Excel at work all the time, I still managed to learn a few things about some macros. I learned that opening up files using macros is tricky and leads to potential folder and file location problems. I also learned how to better code if then and else statements that are more than one level deep. I also learned a lot about the HOBO devices. Coming in, I did not have the first clue about HVAC monitoring systems.  I had no knowledge of the devices before, so I had to read up on the devices and I had to learn how to use the software. I learned this mostly from just looking through some web documentation and by just trial and error, trying things here and there seeing what worked and didn&#8217;t work. This project taught me a lot about these devices, how they work and how they collect data. I learned how to change the device&#8217;s settings and how to use the software and tools to download and store the data. Now I may never run into the HOBO devices again, but should I ever need to implement an HVAC monitoring system, I will have some useful knowledge gained from my experiences with the HOBO devices to help guide me along.</p>
<p>Other than the communication skills, and the understanding of my audience, the many projects I completed for all of the courses definitely prepared me for this larger project. At no point did I get overwhelmed. I had managed several smaller projects before for several other classes. So when I had to gotten to this project, I felt like I had done most of this before. I knew where to start and how to attack it. I can easily say that all of the projects I had to complete for my courses most certainly prepared me for this project and will prove helpful with the projects I will face in the future.</p>
<p>Finally, for this project, I had to learn how to install this blog. I learned how to install WordPress on a server so I could get this blog up and running. It may seem like something trivial, but it was something I had never done before. By following the online installation guide, I was able to install it and set it up. Once again, through reading documentation and through trial and error, I learned how to setup WordPress. In the future, should I ever need blogging software, I know where to turn and the skills I gained from installing WordPress for this project will be helpful.</p>
<p>As mentioned, this project taught me a lot about managing time in regards to long-term projects. For the most part, I felt my time estimation was quite good actually. There were some small miscalculations here and there, and that was mostly due to having to wait to download the data, something I did not originally anticipate. I do think that near the end it got a little more stressful and the crunch time was more than I expected, but that was due to other school work. If I do need to work on one thing, I would say I have to do a better job looking at the larger picture. This is really hard to do since there is always so much going on. I mean I set the final date of March 28th based on how long I felt that project was going to take me. I did not look at my other classes to see what was due that week. So when the week of the 28th came around I was swamped with school work from my other classes and I still had to complete the project. So I think I need to be more cautious next time and prepare projects with everything considered, not just how long it will take to complete all the parts. For the most part though, the project took about as long as I expected it to. I think this was because I set a good plan early on and followed through. I also had pretty good luck with the project as nothing major happened that delayed my work. In the end, I feel really good about my work on estimating the time and planning out the project.</p>
<p>In the end there was a lot to take away from this project. I took away how to write project plans and how to manage tasks with so many other things going on around me. I also took away how to communicate with management during long term projects. What I have learned here will help me out when it comes time for me to do my first real long-term project. I will definitely make sure to plan with everything in mind, leaving nothing out. I will need to look at all schedules to see what else could be due then, or what else could conflict with that completion date. I need to continue to work on my time management skills, making sure to plan everything and include backup plans and more. I am confident that the soft and technical skills I have learned in this project have certainly helped prepare me for a career in the ever changing and the ever demanding IT field.</p>
<p>Well that is it. Those are my reflections on the project. In the end, I am very pleased with my work on the project and I hope my efforts will help the library avoid any future mold problems. I would like to thank everyone for reading my blog for the past few months. Many of my posts were detailed and long, so thanks to everyone who read them all. I really appreciate it. For one last time, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=18</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 10 - Macros &#038; Documentation</title>
		<link>http://www.andrewbertino.com/blog/?p=17</link>
		<comments>http://www.andrewbertino.com/blog/?p=17#comments</comments>
		<pubDate>Sun, 06 Apr 2008 21:04:07 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As mentioned last week, this week would be very quiet. I was very busy all week completing an interactive resume for one of my courses, which consumed all of my time. The IR can be found at http://www.andrewbertino.com. I also spent most of last week recording a How-To-Video to include on that IR. You can [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned last week, this week would be very quiet. I was very busy all week completing an interactive resume for one of my courses, which consumed all of my time. The IR can be found at <a href="http://www.andrewbertino.com">http://www.andrewbertino.com</a>. I also spent most of last week recording a How-To-Video to include on that IR. You can <a href="http://www.andrewbertino.com/how-to-video/">view the How-To-Video here</a>. With both those going on, and with the fact that project is pretty much complete, this week was a quiet week. Well a quiet week for the project anyway. The last two weeks have probably been the busiest two weeks I have ever had. However, this week I am still going to share with you some of the macros, the final project plan and all of the final documentation. Next week, I will have one final post that goes over what I have learned from this entire experience.</p>
<h3>Final Project Plan</h3>
<p>First let me share with you the final project plan. I cleaned and tightened it up a bit and then turned it in, thus completing the assignment for the course. I added a few new things as well, including some cost values for repairing the mold damage.  Putting this information in there shows the importance of the project. It also shows that if the project is not complete, these costs could come back. To give you some context, the last time the library had problems with mold, it cost them roughly<span style="color: #ff0000;"> $65,000 </span>to simply replace the carpet with rubber flooring. This does not even include other damage to walls and books. I also included a &#8220;wow&#8221; number that Pam calculated for me.  Pam did some research, and based on the average prices of IT and technology related books, the estimated replacement cost of the Goldstein materials is approximately <span style="color: #ff0000;">$3,435,126.89</span>. Granted not all of the material would be damaged of course, but this figure shows that mold is a major problem and that this data and this project is important. So, without further ado, here is the final project plan.</p>
<p><a href="/documents/hobo_projectPlan.pdf">Download the final HOBO Project Plan</a></p>
<h3>Final Documentation</h3>
<p>Next, I am going to share the final documentation. On top of the documentation for the downloading procedures, I created documentation for pulling the out of range data and for changing the description and the interval of a single device in BoxCar.  I also touched up and changed a few parts of the downloading procedures documentation as well as the HOBO device locations. Below are the final versions of all documentation.</p>
<p><a href="/documents/hobo_downloadingProcedures.pdf">Downloading Procedures</a></p>
<p><a href="/documents/hobo_createOutOfRange.pdf">Creating the Out of Range Results</a></p>
<p><a href="/documents/hobo_changeDeviceSettings.pdf">Changing a HOBO Device’s Settings</a></p>
<p><a href="/documents/hobo_deviceLocations.pdf">HOBO Device Locations</a></p>
<h3>The Macros</h3>
<p>Finally, I am going to talk about the final macros a bit. First, <a href="/documents/hobo_master.xls">click here to download the master spreadsheet</a>. Now, if you are using Excel 2007, go the View tab and then all the way on the right there will be Macros. Click the macro icon and this will bring up the macro list. If you are using Excel 2003 or earlier, click Tools, go to Macro and then select Macros.  Once you have the macro list open, you will see all of the macros I created for the master spreadsheet. To view the visual basic code for any these macros, highlight any macro and then click Edit. This will load the visual basic editor where you can review the macro&#8217;s code. With that said, here is a description of each macro.</p>
<p><strong>ClearMaster </strong>-<strong> </strong>This macro simply clears the entire HOBO_Master spreadsheet so that it can be copied over to next month&#8217;s created folder and used again next month.<strong><br />
</strong></p>
<p><strong>Copy-To-Results </strong>- This macro takes all of the out of range data points for each sheet and puts them all into one final worksheet called Results. From there, the user can copy just that worksheet out and save it as the results spreadsheet for that month.</p>
<p><strong>MasterRun </strong>- This is the simplest macro, but also the most powerful. All this does is run all of the other macros in order. So once the user copies and pastes in the data, they can run this macro and it will sort the data, run the out of range macro and copy the data to the results worksheet, all in one click.</p>
<p><strong>OutOfRange</strong> - This macro is the main algorithm.  This is the only macro that I had to hand code. The rest were simply recorded using the Macro record feature. This macro goes through each data point (for which ever worksheet it&#8217;s on) looking to see if the temperature is above 73. If it is, it then checks to see if the RH is above 55% as well. If it is, it copies out that record and pastes it into another section. If the temperature is not above 73, it looks to see if the RH is above 55%. If it is, it copies that out. If it is not, then the point is a good point and it skips to the next one. This macro only runs on one sheet at a time.</p>
<p><strong>Pull_ALL_OutOfRange</strong> - Since the OutOfRange macro can only work on the worksheet the user is currently on, this macro goes to each sheet and runs the OutOfRange macro automatically. Basically this macro is running the OutOfRange macro six times, one for each device worksheet.</p>
<p><strong>SortData</strong> - This macro quickly sorts all of the data in each sheet. Once the user pastes the data from each of the individual device sheets into the master spreadsheet and runs the MasterRun macro, this is the first macro that it runs. It sorts the data by temperature and then relative humidity.</p>
<p>Well that is it for this week. I have shown you the final project plan, the final documentation, and I have described the macros. As mentioned, next week will be the last post. In this post, I will discuss what I have learned from this project and the entire process. Until next week, thanks for reading.</p>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=17</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 9 - The Documents</title>
		<link>http://www.andrewbertino.com/blog/?p=16</link>
		<comments>http://www.andrewbertino.com/blog/?p=16#comments</comments>
		<pubDate>Sun, 30 Mar 2008 20:53:42 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This was the final week before my set end date of March 28. As such, I had a few loose ends to wrap up, mostly with the documentation. The main thing I had to deal with this week was the pull data macro. This is the macro that opens each device&#8217;s spreadsheet and automatically copies [...]]]></description>
			<content:encoded><![CDATA[<p>This was the final week before my set end date of March 28. As such, I had a few loose ends to wrap up, mostly with the documentation. The main thing I had to deal with this week was the pull data macro. This is the macro that opens each device&#8217;s spreadsheet and automatically copies and pastes the data into the master spreadsheet. After reviewing this problem in more detail, I found that the best way to handle it was to just have the user do that part. I was hoping to avoid having the user do this part since the user could incorrectly copy and paste the data into the wrong worksheet in the master spreadsheet. This would lead to major problems as you would then think a certain device registered certain points when in reality it was another device instead. Even with that though, I found that it was the best way to go, especially when this week, I ran into another problem with the pull data macro.</p>
<p>This week a staff member of Pam&#8217;s ran through the data downloading procedures and she informed me of the results. I was glad when she told me the documentation was easy to follow and that she was able to download the data. However, she did tell me something interesting. One of the devices registered no data points for some reason. So, she was only able to create five of the six spreadsheets. This is a problem for the pull data macro. The macro was recorded to open all six files in order. If one file does not exist, the whole macro cannot run at all. Also, if the name of one of the saved files from the data download was incorrect and did not match what is in the macro, the macro would again not run at all. So, the first thing I wanted to do was see what happened when a device did not have any data. I wanted to see why it was not possible to at least create an empty sixth spreadsheet so that the macro could still run.</p>
<p>To do this, I needed to redo the downloading procedures myself to see what happened. The HOBO shuttle keeps the data until a new set of data from a HOBO device is loaded off onto it. The shuttle will keep the previous months data until a new month is run. This is good in case something happens to the spreadsheets on the computer. All you would need to do to get the spreadsheets back would be to redo the procedures by simply plugging in the shuttle. Since the data was still on the HOBO shuttle, I was able to redo the procedures myself so that I could see what happened when the procedure came to the device that had no data points. After pulling the data off the shuttle as normal, I skipped straight ahead to the device that had no data (it was device L6 in Pam&#8217;s office). I tried to export the empty device&#8217;s data to a spreadsheet, but to no avail. BoxCar Pro informed me that it would not create the spreadsheet since the device had no data. So for every device that does not have data, the only way to get the file for the macro run would be to create it yourself. This was something I did not want the user to have to do as it would increase the probability of incorrectly naming the file, thus making the macro far more confusing for the user. Needless to say, this was pretty much the last straw with the pull data macro.</p>
<p>Although I wanted full automation, the pull data macro just created too many problems. If the files were incorrectly named or were not there, the macro would not run. If a device had no data, you would have to create the spreadsheet yourself. Also, if for some reason you needed to move all of the data to a new directory, you would have to recreate the macro. Due to all of this, I decided it would be better to have the user just copy the data out themselves and paste it into the master spreadsheet. From there the user could still run the rest of the master macro and most of the procedures would still be automated. With that decided, I had to start creating the documentation for this procedure. I also now had to edit the downloading procedures to let the user know what happens when a device does not have any data.</p>
<p>Before I could begin writing up the procedures, I still had to figure out why the sixth device did not collect any data points. First, I plugged the device directly into the computer and read it out using BoxCar. BoxCar picked up the device so it was indeed still functioning. While doing this, I noticed that BoxCar does not allow for apostrophes in the device name. Because of this, it was saving the spreadsheet file as Pam_s office instead of Pam&#8217;s. I went ahead and changed the name of the device to just Pams Office. While doing this, I remembered that I still needed to write the documentation on how to change the name of a device. So I started over, this time making sure to write down the necessary steps involved with changing the name of a device. Once completed, I wrote up the documentation on how to change both the name of the device and the interval (how often the device collects data points). With that documentation in place, the user could now change the interval and the name of the device should the need arise.</p>
<p>After completing that documentation, I still had to figure out what was wrong and why there was no data.  I was stumped. The device seemed to be working. I set the delay time on the device and put it back to its location. The delay time is merely a date and time you want the device to start collecting data points. I set the delay time for five minutes after I was finished. This would cause the device to hold off on collecting data points until that delay time hit. After putting the device back to its location, I still had no idea what the problem was so I decided to move on.</p>
<p>It was only until just now that I realized what may have happened. Pam had mentioned to me that her staff member told her that the shuttle at one point became full. At the time it did not hit me. I just assumed it was full because of the last months run. I thought I was just going to have to write a procedure to clear the shuttle each time. But then I realized that the shuttle is supposed to clear itself after a new HOBO device is loaded onto it. This means that once her staff member transferred the first device over, the shuttle should have been cleared and room should have been made for the new devices. This makes sense as when I ran it myself in February there were no remnants of January&#8217;s data.</p>
<p>I began by first looking at how to clear the shuttle. I found out that there was no manual way of clearing it. The only way to clear it is to transfer new data from a HOBO device to the shuttle. So I was still not sure what to do with this problem. Just now though, I think I realized what may have happened, and I do emphasize &#8220;may.&#8221; I have not talked to Pam or her staff member to confirm this. Her staff member may have transferred data from only five of the devices. If she went in order, Pam&#8217;s office would be the last device. When she got to the sixth device, the HOBO shuttle said it was full. From there she may have followed the procedures with just five of the devices. However, I am not sure what happened to the sixth device&#8217;s data. When I went into that device alone, there was no data. If the shuttle was full, I would hope it would just leave the data on the device. However, the shuttle did still recognize the sixth device as it had the devices name and even made the .dtf file for it when her staff member ran the procedure. So it did pick it up at some point, it just had no data points. Perhaps she tried to transfer the sixth and final device and the Shuttle was full, but not full enough to register that the sixth device was being transferred. Since maybe it was full, the device simply just lost its data. I hope this is not the case and that the shuttle does have some kind of a failsafe for this.</p>
<p>I will need to investigate this further.  I need to talk to the staff member and see what she did and what really happened with the full shuttle. I never expected the shuttle to be a problem. However, this was the first time we ran six full devices. So, I am going to have to take a look at this when they run the data set in April. I could have them run one now, but that won&#8217;t include a full month&#8217;s data set and as such may not fill up the shuttle.</p>
<p>Now, back to writing up the final documentation. I began writing up the procedure for creating the final results spreadsheet. I wrote up the documentation that made the user open all of the device&#8217;s spreadsheets. I made sure to note that there should be six files, but if a device had no data, there would be no spreadsheet. If a spreadsheet was missing, the user would just skip copying over anything to the corresponding sheet in the master spreadsheet. I then showed them how to copy and paste the data into the master spreadsheet. I was sure to make this part very descriptive and detailed so that there would be less chance for error. From there, the documentation told the user to just run the master macro. Once that is run, all they have to do is copy out the final results sheet to a new spreadsheet and then save that into the current month&#8217;s folder. For example, I went ahead and created the Mar08-results spreadsheet for the month. Every month, the user will run this procedure after the data download and they will create this new results spreadsheet. This spreadsheet shows each device and its out-of-range points all on one sheet. From there the user would then have to run the clear master macro which would clear the master spreadsheet of all data. With the master spreadsheet cleared, the user can copy and paste it into next month&#8217;s data folder when the user runs the procedure the following month.</p>
<p>I touched up and finished all documentation and saved them to the network drive in a documentation folder. I am confident in all the documentation I wrote up and I hope the new documentation for the results spreadsheet and how to change a device&#8217;s name are easy to follow. With the documents completed, I emailed them to Pam to let her know that I had completed all documentation.</p>
<p>As promised, I delivered all documentation and a working out-of-range algorithm by March 28. I do have to say that the out-of-range algorithm was not as easy as expected. I ran into a few more problems along the way then originally anticipated. I will not go into detail about what I learned from this project at this time as that is a specific assignment that is due two weeks from now. This assignment will be a final post that goes over what I learned from this project.</p>
<p>Even though I have completed the objectives of this project, I am still going to make sure that all is well when they run the data next month. I want to see what happens with the shuttle and what happens with the sixth device. Also, on April 17<sup>th</sup>, I have a presentation to give to Pam and the course instructor Melissa Raulston where I will go over what was accomplished in the project among other things. After this presentation, Pam will review my performance and will fill out the sponsor evaluation form. This form is where Pam will have the opportunity to grade me on such things as professionalism, and how well she felt I met the objectives I set forth in the project plan. Once she submits the form, the project will be officially complete.</p>
<p>With that said, next week&#8217;s post should be really quiet. Next week, I will showcase the final project plan, which is due tomorrow for the class. I will also showcase some of the macros I created to show you how the master macro actually works. The master macro itself is nothing major as all it does is run a series of other macros. So I will be focusing more on the other macros. Until then, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=16</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 8 - The Master Macro</title>
		<link>http://www.andrewbertino.com/blog/?p=15</link>
		<comments>http://www.andrewbertino.com/blog/?p=15#comments</comments>
		<pubDate>Fri, 21 Mar 2008 17:01:44 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I bring good tidings. Upon my return from Spring Break, as promised, I have completed the algorithm. I have also developed a macro that honestly exceeds even my original expectations. As I mentioned in my last post, I solved the problem with the out of range algorithm (see the 3/10 Update in the last post). [...]]]></description>
			<content:encoded><![CDATA[<p>I bring good tidings. Upon my return from Spring Break, as promised, I have completed the algorithm. I have also developed a macro that honestly exceeds even my original expectations. As I mentioned in my last post, I solved the problem with the out of range algorithm (see the 3/10 Update in the last post). From there, I had to begin testing some data, making sure to test the algorithm for every possible scenario. First, I needed to test the algorithm to see if it correctly pulled out the data points that had just temperatures above 70 degrees Fahrenheit. I then needed to make sure that it pulled out the data points that had just relative humidity above 55%. Finally, I needed to ensure that it pulled out the data points that had both high temperature and high relative humidity.</p>
<p>I began testing with some of the data from February. As mentioned in the 3/10 update, at first, I didn&#8217;t feel like the algorithm was working properly as there were no points with high RH. However, after further review, I noticed that it was correct because there were actually no data points with high RH (in the data I was testing anyway). So to test the algorithm properly, I had to make up a few data points. I created data points that had just high RH and then a few that had both high RH and high temperature. After adding those points in, I ran the out of range macro and took a look at the results. From what I could see, the algorithm seemed to be working perfectly. It pulled out the ones with just high temperatures. It also pulled out the data points I created, ensuring me that the algorithm was functioning as anticipated. I was excited to see the algorithm working as intended. Next, I tested it with all of the data points from each of the devices to see what the results were. As before, it pulled out the correct out of range points for each device. With each data set tested, I was confident in the algorithm and I was ready to move on.</p>
<p>With the out of range algorithm in place and looking good, I had to start working on a procedure that would get the data from the device spreadsheets into the master spreadsheet. As mentioned in my last post, I determined that it was unnecessary for the user to have to input anything. All they need to do is copy the data from each device&#8217;s spreadsheet and paste it into the separate sheets in the master spreadsheet. From there, I can make the macro run for each sheet, thus avoiding the user from having to enter anything in. As such, errors should be at a minimum and the data points should stay connected to their respective devices.</p>
<p>With that in mind, I had to figure out the best way to approach this. The first thing I did was copy all of the data from each device and paste it into the individual worksheets in the master spreadsheet. I then recorded a macro that automatically clears the data. My plan is to use this master spreadsheet either in the individual monthly folders, or as one main spreadsheet in the root directory. As such, I created a small, quick macro that cleans all of the data out of the six worksheets, allowing it to be used again next time. With the clear data macro up and running, I had to get the data back in the master spreadsheet. This time however, I wanted to see if there was a way that I could create a macro that would automatically open the files and copy the data in. I had never attempted this in any macro I had created before, so I was not sure if it was a possibility. After I ran some quick tests, I realized that it was definitely possible. This was the moment where I began to realize that I may very well be able to record a single macro that would automate the entire process. Needless to say, I was stoked. I originally assumed I was going to have to make a few macros and have a few steps in between. However, after seeing you could have the macro open and take out the data, I determined the user may very well just be able to run a single macro. In excitement, I continued on.</p>
<p>I completed the macro that opened up each individual device spreadsheet. I had the macro open up each spreadsheet and copy the data to the corresponding worksheet in the master spreadsheet. After recording the macro, I opened it in the visual basic editor to see what it looked like. This is where I noticed a potential problem that I feared when recording it. To open each spreadsheet, it had to set the directory to where each file was. In the macro, it opened the directory for February 2008 so it could open the files. So every time this macro would run, it would automatically open the February 2008 folder, regardless if you wanted it to or not. This is an issue as when you go to run the macro for March, April and so on, it would automatically open February&#8217;s folder.</p>
<p>At this time I am still working on the best way to fix this. Worse case, I will have to make the user go into the macro and change the folder path to the monthly folder they are working with. However, that could be rather complex and it is something I would prefer to avoid since a single mistype could stop the macro from functioning properly. So I will need to find a way to have the macro realize that the master spreadsheet is in the same folder with the rest of the device spreadsheets. This way all the user has to do is put the master spreadsheet in the monthly folder they just created and it can just open up the files regardless of which month. However, this pretty much eliminates the single master spreadsheet idea. There would need to be a master spreadsheet put into each new month.</p>
<p><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} -->I also determined another possible problem. If the files are not named exactly as they are in the macro, or are not in the folder, it will not run correctly. So if the name of device has to change later on, or the user changes the name of the device spreadsheet by accident, the macro will simply stop and cannot be run to completion. This is just one of the problems that can occur when trying to create complete automation. To get complete automation, I have to be aware that automation comes with the higher potential for problems. However, I feel complete automation is the best way to go. In the end, I am still trying to figure out how to correct this macro. There are a few more things I think I can test to see if they can help solve this problem.</p>
<p>With that said, I decided to move on and start wrapping up the whole process. Once the macro opened up all of the files and copied the data in, I recorded a macro that sorts each worksheet&#8217;s data by temperature and then RH, both descending. Then I recorded another macro that runs the out of range algorithm for each sheet. This took out all of the out of range points for each sheet. Then I recorded yet another macro that sorts the out of range points by date and time. From there, I needed to make one more macro that would copy out the out of range points from the individual sheets and then paste them into one big sheet. The macro I created extracts the out of range points and neatly puts them all into one sheet so that it is easier to track trends. Finally, I recorded the macro that clears the compiled out of range data worksheet so that the master spreadsheet would be completely cleared and ready to be used next month.</p>
<p>With those completed, I had several macros that needed to be run in order to complete the entire procedure. I ran through the whole procedure, running each macro in the proper order to make sure they worked correctly. I did notice a few errors, nothing with the macros themselves, but an overall concern with all macros that involve copying data. When the user runs the macros, certain cells must be selected for it to run correctly. For example, most of the macros I created need to have cell A3 of the first sheet selected in order for them to copy correctly. If it is on another cell, it may copy the wrong information or it may just copy blank cells, thus making it run incorrectly. In an effort to avoid this problem, I went through each macro I created to see which ones needed that cell selected. I wrote down which macros needed it to be in cell A3 so that I could make sure to note that in the documentation. This will allow the user to know which cells need to be selected before they run the macro. With that done, it was time to make the master macro.</p>
<p>When starting this whole thing, I was not expecting to get complete automation. I was hoping it was possible, but I expected to run into problems at some point. However, it appears that this dream is coming true (disregarding the problem with the opening folders macro). With all the macros ready to go, I simply just recorded one more macro that ran all of the macros together in order. All the user has to do is literally open up the master spreadsheet (they may have to copy it into the new month folder first depending on what I do with the open folder macro situation) and just run the master macro. From there it will open the files, copy each device&#8217;s data into the spreadsheet, sort the data by temperature and RH, pull out the out of range points for each device, sort those out of range points by date and time and then paste them all into one sheet. From there, all the user would have to do would be to copy out that final results worksheet with all of the out of range points into another spreadsheet so that the results could be kept for each month. Once the user pulls out the results and saves them into the new month folder, they can then run the macro to clear the data in the master spreadsheet so that it can be used next month. If all goes well, the results are saved in a separate spreadsheet so that they can be viewed whenever. So months later, you could see what the data was like in February and compare it to the data in say December.</p>
<p>I took the results I collected for February and showed them to Pam so that she could review them. After getting the results I did notice something that needed to be changed. The final results worksheet with the out of range points was very large. It had roughly 500 out of range points for each device. There were simply too many points to make the data effective. This stemmed from the fact that we set the temperature limit to 70. There were a lot of data points in which the temperature was higher than 70. Before I could ask Pam, she noticed the same thing and she said we needed to up the limit for the temperature. The results only had one data point where RH was higher than 55%, so the RH limit was perfect and did not need to be changed. But there were way too many points above 70 degrees. So Pam decided that we should increase the limit to 73. This was a very easy fix. All I had to do was go into the out of range algorithm I made and change the greater than 70 to greater than 73. I reran the master macro, copied out the new out of range results and voila, we had far better results. There were a few out of range points for each device now, far easier to read and track trends. With this new limit, Pam should be able properly monitor the results to see where there could be some potential problems.</p>
<p>Pam was very excited to finally see these results. She commented to me that this was a realization of a three year dream. I was very glad that she was so excited about the data. It made me feel very good to know that I had completed what I had set out to do. I created a procedure that took the HOBO data and made it useful. This was the main objective of this project and I have completed it. So from now on, Pam can run these procedures and start collecting out of range worksheets, allowing her to track trends. In fact, if needed, she can even take some of the older data and run them through the master spreadsheet to see what some of the older data looked like. To do that however, I would have to include a section in the documentation for this as most of the old data only had four worksheets instead of six.</p>
<p>For the most part, the procedure is complete. I have taken the data pulled from the HOBO devices, extracted the out of range points and gotten them all into one, printable sheet. All that remains is for me to fix the folder opening problem, touch up the procedures, and document as much as possible. I need to make sure to document the new master macro procedures and I also need to document how to change the name of the devices not only in Box Car Pro, but in the master spreadsheet just in case the devices need to be renamed. I also need to document a procedure so Pam can run the master spreadsheet with the older data which only have four devices. This way she can now at least make use of all of data that has she been collecting for the last three years.</p>
<p>In the end this week was a very good week for the project. The project is pretty much completed. As mentioned, I do have a few things I need to touch up, but I should be completed in time to meet my deadline date of March 28, next Friday. I am glad to see that the project has gone so well. I am also glad to see that Pam is so excited about all of the procedures and the out of range results worksheets.  So far the project has gone very smoothly and most everything has gone according to plan. I am just as excited as Pam is at getting the procedures in place. With them in place, her staff will be able to help her monitor the library. I hope my efforts will help keep the mold out of the library for good.</p>
<p>With that said, this story is not yet at an end. Next week I will discuss the macro folder situation, showcase some of the final documentation, and I will discuss what the few remaining posts will entail. Until then, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=15</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 7 - Else Without If</title>
		<link>http://www.andrewbertino.com/blog/?p=14</link>
		<comments>http://www.andrewbertino.com/blog/?p=14#comments</comments>
		<pubDate>Mon, 10 Mar 2008 02:44:33 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This week was another busy week for coursework. It was the week before Spring Break so I had several large projects to complete before the break. As such, I did not get as much completed on the out of range algorithm as I hoped. I did start a bit of it however, only to run [...]]]></description>
			<content:encoded><![CDATA[<p>This week was another busy week for coursework. It was the week before Spring Break so I had several large projects to complete before the break. As such, I did not get as much completed on the out of range algorithm as I hoped. I did start a bit of it however, only to run into a few problems with visual basic code in the macro.</p>
<p>Through my work on the algorithm so far, I did realize that solution 2, which I mentioned last week, can be altered to work better. Last week I said that one of the problems with solution 2 was that it required the user to copy each sheet for each device and paste all of the data into one sheet. If the user pastes all of the data into one sheet, they would have to put a device identifier on  all of the points so that you could differentiate which points belong to which device. If the user were to enter that number incorrectly, or forget to add it entirely, the data would lose its pairing with the device and then you could not tell what device gave you what data.</p>
<p>Well, while working on the algorithm this week, I determined that there is no need to combine all of the worksheets into one worksheet (as described in solution 2). I determined that I could create a macro that repeats the algorithm for each sheet automatically. This would allow the data to stay in separate sheets. With the data in separate sheets, you could tell what outlying points were collected for that particular device simply by looking at what worksheet you were on. By doing this, the user would not have to enter in any information. All they would need to do would be to run the macro and it would pull out the out of range points for each sheet.</p>
<p>I actually proposed the separate sheet idea in solution 1. However, solution 1 had problems with duplicates, which was the main reason why I went with solution 2. The funny thing is that I actually solved the duplicates problem in solution 2 by adding conditionals. The conditionals made the algorithm check both conditions at once rather than having it go back twice as it did in solution 1 (going back twice caused the duplicates). Looking back at it, solution 1 is actually closer to the right answer than solution 2. The conditionals idea from solution 2 makes solution 1 perfect, a fact that I am not entirely sure how I missed when writing solution 2. So, in the end, the best solution was combining the best parts of both solutions. Now that solution 2 has been altered, it should work perfectly. Now all I have to do is just get the macro working.</p>
<p>Now that I had realized the best possible solution, I had to start figuring out the algorithm. I went ahead and tried to get something created quickly, just to see if I can get it to pull out a few records before I made it run a whole sheet. I made up a quick visual basic macro that checked the conditionals I brought up last week. I had it first look to see if the temperature was great than 70. If it was, then I had it check to see if that same data point had a relative humidity greater than 55%. If it did, it copied both of those out. If the temperature was not greater than 70, I then had it check to see if the RH was above 55%. If it was, it copied out just the RH. If neither was high, it would move on to the next record.</p>
<p>I felt pretty good about it, so I went ahead and tried to run it. It did not run. It instead gave me an Else Without If error. This is where I am now. I am pretty sure it just has something to do with the way I setup the If Then statements. I am still not entirely familiar with the way basic does them, so I am sure one is either in the wrong place or I missed one. I wanted to look more at it this week, but due to all the projects, I was unable to. However, with Spring Break coming up next week, I should have sometime to fix the algorithm and at least get it to work on one sheet. From there I can get it to work on all of the sheets. Even though it is Spring Break, I don&#8217;t really have time for a break. I really still need to work on this algorithm. I set an end date of March 28th and that date is rapidly approaching. I will continue to work on the algorithm while on break in effort to have at least a good part of it ready to  show Pam when I come back. Anyway, for now, here is what I have for the algorithm so far.</p>
<div class="codesnip-container" >
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">For</span> i = <span class="nu0">1</span> <span class="kw1">To</span> <span class="nu0">1585</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">If</span> Cells<span class="br0">&#40;</span>i, <span class="nu0">2</span><span class="br0">&#41;</span> &gt; <span class="nu0">70</span> <span class="kw1">Then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">If</span> Cells<span class="br0">&#40;</span>i, <span class="nu0">3</span><span class="br0">&#41;</span> &gt; <span class="nu0">55</span> <span class="kw1">Then</span></div>
</li>
<li class="li1">
<div class="de1">Cells<span class="br0">&#40;</span>i, <span class="nu0">6</span><span class="br0">&#41;</span> = Cells<span class="br0">&#40;</span>i, <span class="nu0">2</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">Cells<span class="br0">&#40;</span>i, <span class="nu0">7</span><span class="br0">&#41;</span> = Cells<span class="br0">&#40;</span>i, <span class="nu0">3</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">Else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Cells<span class="br0">&#40;</span>i, <span class="nu0">6</span><span class="br0">&#41;</span> = Cells<span class="br0">&#40;</span>i, <span class="nu0">2</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">Else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">If</span> Cells<span class="br0">&#40;</span>i, <span class="nu0">3</span><span class="br0">&#41;</span> &gt; <span class="nu0">55</span> <span class="kw1">Then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Cells<span class="br0">&#40;</span>i, <span class="nu0">7</span><span class="br0">&#41;</span> = Cells<span class="br0">&#40;</span>i, <span class="nu0">3</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">Next</span> i</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">End</span> <span class="kw1">Sub</span> </div>
</li>
</ol>
</div>
</div>
<p><strong>3/10 Update</strong> -<em> </em>DUH! As I was working with a macro at work today, it dawned on me. I had one of those ah-ha moments. I was about to run a macro that I use at least 3 times a day at work when I noticed something in the visual basic code. END IF! I completely and utterly neglected to include End If statements to close off the Ifs. As such, I kept getting the Else Without If because I was not ending the previous If. So I went ahead and corrected that and the macro works. With it working now, I went ahead and ran it. At first, I thought it was not working right. It appeared that it was just pulling out the temperatures and skipping the relative humidity. I assumed it was something I messed up in the If Thens. However, as I was running through the code, line-by-line, I realized that there is no reason for it to pull out any RHs. Before even creating the macro, I had sorted the data by temperature and then RH, both descending. When I looked at the RH column during my run through, I realized that none of the data points had a RH higher than 55% (highest was 48.5), therefore it did not pull any out. So the macro does appear to be working. Now I have to try out some more test data. This data has to include every possible option to see if the macro properly pulls out just the ones with a temperature above 70, just the points with RH above 55%, and those data points who have both high temperature and high RH. <strong>END OF 3/10 Update</strong></p>
<p>I mentioned last week that in the class we were finishing up our project plans. This week, I combined all of the sections I have been working on into one rough draft document. As mentioned last week, the project plan includes sections for a work break down schedule, an executive summary, assumptions and constraints, cost estimates, and alternative and proposed solutions. Once I combined all of the pieces together, I realized that I had a very large, detailed project plan. It was a lot larger than I expected it to be. However, breaking it down as we did was a great idea. This made it seem like it was shorter and easier to manage, thus I never felt overwhelmed at any point with the project plan. Since I had all the parts already done, putting it together was the easy part. I feel pretty confident in my project plan and I feel it describes and outlines this project very well. As promised, I give you the rough draft. <a href="/documents/hobo_projectPlanRough.pdf">Click here to download the full project plan rough draft</a>.</p>
<p>Well that is all I have this week. Although it was a quiet week in terms of the project, I feel I have made decent progress. I have started my work on the algorithm and I comfortable with the direction I am going in. I completed the project plan and I am confident in that. There will be no blog post next week due to Spring Break, but I assure you that I will be working on this project during my break. By my next post, I should have a solid, working algorithm. Until then, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=14</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 6 - Here&#8217;s the Plan</title>
		<link>http://www.andrewbertino.com/blog/?p=13</link>
		<comments>http://www.andrewbertino.com/blog/?p=13#comments</comments>
		<pubDate>Mon, 03 Mar 2008 02:33:57 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This week, I focused my efforts on the algorithm for extracting the out of range data points. However, I have yet to find a good method or finalize the steps in the process. It is proving a bit harder than I originally anticipated. I will think I have it all figured out, and then all [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">This week, I focused my efforts on the algorithm for extracting the out of range data points. However, I have yet to find a good method or finalize the steps in the process. It is proving a bit harder than I originally anticipated. I will think I have it all figured out, and then all of sudden I realize there is a problem with my idea. I am used to this however. Every time I have had to create new procedures for my job, I have found this to be the case. I will start on a method, have it all worked out in my head, only to find out later that it does not work or I have to rework it. In the end though, I usually find a solid procedure that gets the job done. So based on my prior experiences, I am confident that I will develop a good algorithm that I will soon be able to document. The need for urgency is starting to draw nearer however. My due date for all the work is March 28th and I can easily say March came far quicker than expected. But I have given myself enough time it seems. I have one month to determine an algorithm, document those procedures, and then run all of the procedures in full to make sure all of them work as intended.</p>
<p class="MsoNormal">With the sense of urgency kicking in, I felt I needed to wrap up some of the loose ends that I had at this point. So, I went ahead and sent Pam the documentation I developed last week so that she could review them. She was out of the office all week at a conference, so we have not had a chance to review them in full. Her preliminary responses sounded positive, so it would seem there will only need to be a few minor tweaks. After I make those tweaks, I will touch up the documentation and I will put an electronic copy on the server and I will also print a copy as well.</p>
<p class="MsoNormal">So this week was indeed quiet, with me mostly working on the algorithm. As such, this week, I am going to discuss a little bit about the project plan that I am writing. For the class, as assignment on top of the project, we have to a write a project plan that discusses the intricate details of our project. This week, I will discuss the alternative solutions and the proposed solution section of the project plan since it details some of my ideas and plans for the algorithm. In this section I proposed two alternative solutions for this algorithm. These solutions have been guiding my work on the algorithm. I will give details on both solutions so that you can get a feel for where I am going with my work on the algorithm. First, I must explain what will happen to the data in the six spreadsheets that are created from the documentation I developed last week. After completing the downloading procedures there will be a spreadsheet for each device, with each one having three columns, one for date and time, temperature, and relative humidity. Both solutions suggest combining the six spreadsheets into one master spreadsheet. This should make the work easier since it would put all of the data into one file. With that said, below are the details of each solution.</p>
<p class="MsoNormal"><strong>Solution 1 </strong></p>
<p class="MsoNormal">This solution begins by moving the six spreadsheets into a master spreadsheet. There will be one file with six worksheets, one for each device. You will start out by running a macro that sorts the data in each sheet by temperature. It will sort the column using descending order. This will show you the highest temperatures recorded for each device. Then the macro will go through each record to see if the temperature is above 70. If a record is above 70, it will copy out the date, time, and temperature and it will paste them to another location. Next, it will sort by relative humidity and then copy out the ones that are above 55%. Once that is completed, it will create two sections in that device&#8217;s sheet, one for temperature and one for relative humidity. Once you run the macro, everything is set up, requiring little effort from the user. From there, you now have the time and day that a particular device registered a high temperature or a high relative humidity.</p>
<p class="MsoNormal">Now this does come with a risk. Since it checks for temperature and relative humidity separately, there is a risk of duplicates. If the data point has a high temperature and a high relative humidity it will be pulled out twice. The risk of duplicates could be frequent to almost non-existent. It all depends on the data that is collected. There could be some data sets that have more duplicates than others and there may be some that have none at all. If there are duplicates, a way to get rid of them would be to combine the temperature and relative humidity columns and do a filter, or use <a href="http://blogs.techrepublic.com.com/msoffice/?p=441">Excel 2007’s new duplicate record function</a>. So although this solution runs the risk of duplicates, it does fix the problem. It takes the data for each device and pulls out the out of range points and sets them aside. From here you can take out that data for any device and view its highest temperatures or its highest relative humidity.</p>
<p class="MsoNormal">Overall, this solution would get the job done, and relatively quickly. This solution is probably the most self automated. You would literally just have to put the device spreadsheets into the master spreadsheet and then just run the macro. However, in order to complete this quickly, you sacrifice some data integrity. Although this one does separate the out of range data points, duplicate records are not a good thing to have. So, I took my ideas from this solution and tried to revamp them a bit. I do this frequently when creating new procedures. As mentioned earlier, I do a lot of procedures for my job and this how it commonly goes. I will come up with an idea only to find an issue with it. Then I will build a way around that until I get to the finished product. However, I do know that if for some reason I cannot find a way around this problem with the duplicate records, I at least have a solution to fall back on that will correctly pull out the data points.</p>
<p class="MsoNormal"><strong>Solution 2</strong></p>
<p class="MsoNormal">Like in solution one, you will combine all of the spreadsheets into one master spreadsheet. This time however, you will combine all of the data into just one sheet. So there would be one file with one sheet. When you copy the data into this one sheet, you have to mark which device the data comes from. For example, if you copy over data from device 1, you need to place L1 next to each record for that device. Then you would do the same for subsequent devices. This connects the records to its corresponding device. Then you would run another macro.</p>
<p class="MsoNormal">This macro will sort this one sheet by temperature and then by relative humidity. This macro will eliminate duplicates. It will first check to see if the data has a temperature above 70, if it does, it will then check to see if it has a relative humidity greater than 55%. If it has both of those, it will copy it out and put it into a new sheet, making sure that it copies out the device number. If its temperature is higher than 70 but the relative humidity is not 55%, it will still copy out to that sheet. If its temperature is not higher than 70 but its relative humidity is above 55%, it will also copy out. This will remove duplicate records. In solution one it checked to see if the temperature was above 70. If it was, it copied it out. Then later it did another check on those same records to see if its relative humidity was above 55%. If it was, it copied it out again. This led to the duplicates. This one will check both conditions at once. If it has both, it will be copied out only once. If it has one or the other, it will still be copied out, but it will never go back to that record again since it was coded to already check for the other condition. Once completed, all of the out of range data will be in one sheet, mapped by the device ID written in by the user prior to running the macro (all without duplicate records).</p>
<p class="MsoNormal">Solution 2 is the one I choose as my proposed solution. Like solution 1, it does get the job done. However, it will take longer to run since it has to go through many conditionals to pull out the out of range data points. This solution also depends heavily on the user placing the proper ID next to each record. If you don&#8217;t, you lose the connection between the points and the device. So there is an inherent risk with that. Although it may take more work and would take longer to run, solution 2 is far more accurate and it will give you a better picture of what is occurring. The macro will take a little while to create and will involve some low level visual basic programming, but I have worked with simple conditionals before, so I feel confident that I should get this solution to work.</p>
<p class="MsoNormal">That is pretty much it for the alternative and proposed solution section of the project plan that I have been writing. The project plan also includes sections for a work break down schedule, an executive summary, and assumptions and constraints. Next week, I am going to combine all of the pieces of the project plan into one document. This document will be a rough draft of the final project plan and it will be reviewed by the instructor. Next week, I will post this document so that you get a chance to see the whole project plan. For now though, you can <a href="/documents/hobo_projectPlanSolutions.pdf">click here to view the full alternative solutions and proposed solution section</a>.</p>
<p class="MsoNormal">That wraps up this week. I covered a lot about the algorithm for extracting the out of range points. By going over the alternative solutions I have laid out my plans for the algorithm. Hopefully by next week I will have it completed and I can discuss my results in further detail. Until then, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=13</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 5 - Downloading Data&#8230; 100% Completed</title>
		<link>http://www.andrewbertino.com/blog/?p=12</link>
		<comments>http://www.andrewbertino.com/blog/?p=12#comments</comments>
		<pubDate>Mon, 25 Feb 2008 01:04:59 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">
http://www.andrewbertino.com/blog/index.php/2008/02/09/chapter-3-l-marks-the-spot/</guid>
		<description><![CDATA[There was no more waiting this week. I was able to download the data. I have had to put off this part of the project for the last two weeks, so I was excited to finally get this going.  Before starting the downloading process, the first thing I had to do was to make sure [...]]]></description>
			<content:encoded><![CDATA[<p>There was no more waiting this week. I was able to download the data. I have had to put off this part of the project for the last two weeks, so I was excited to finally get this going.  Before starting the downloading process, the first thing I had to do was to make sure that I wrote down every step. This included even the smallest of details, such as checks boxes or OK messages. So I got some paper ready and was on my way. Below is the downloading procedure in detail. I will go over how I transferred the data from the HOBO devices to the computer, and then I will detail how I got that data into the Excel spreadsheets. I will describe most of the steps involved with downloading the data, but I will not be as detailed as the actual documentation.</p>
<p>The first thing I needed to do was to get the <a href="http://www.microdaq.com/occ/accessories/shuttle.php">HOBO Shuttle</a>. The HOBO Shuttle is a device that allows you to store data from multiple HOBO devices, all in one location. From there, you can just download all of the data by just connecting the HOBO Shuttle to the computer. Once I had the shuttle, I went to the devices and I plugged each device into the shuttle and downloaded all of the data. When you plug a device into the shuttle, the shuttle will flash orange when the data is offloading and then will flash green once it is completed. Now with the all of data from each device on the shuttle, I moved over to the computer with the <a href="http://www.microdaq.com/occ/software/boxcarpro.php">BoxCar Pro</a> software. Before I could plug the HOBO shuttle in and offload the data to the computer, I had to create a new folder for this month&#8217;s data. This was my first opportunity to use the new folder scheme I created a month ago. On the library&#8217;s network drive, I went into the 2008 folder inside the HOBO data folder and I created a new folder for this month. I made sure to name the folder in accordance with the naming scheme I put in place (02 - February 2008). Once the folder was created, I was able to move on.</p>
<p>After creating the folder, I connected the HOBO shuttle to the computer and opened up BoxCar Pro. From there, I ran several BoxCar Pro menu functions, such as Logger - Launch, which launches the shuttle and prepares it for offloading the data to the computer. Next, I selected Logger - Readout, which began reading the data off the HOBO shuttle. BoxCar Pro is capable of autosaving the offloaded data. As such, every time you try to download data, a prompt will appear asking you to either say yes or no to it autosaving. You can also have it not display the reminder again. I clicked yes as this allows the data to automatically be saved to the root HOBO data folder. From there, the files can be moved into the corresponding new month folder. The file it saves is BoxCar Pro&#8217;s file format, .dtf. These .dtf files can be opened at anytime, allowing you to see the data that was downloaded from the devices. From there, you can export it into a text file, an Excel spreadsheet, or just view it in the BoxCar software.</p>
<p>As I was downloading the data off the shuttle, I realized that I still had four devices that needed new descriptions. If you recall from <a href="/blog/?p=10">Chapter 3</a>, when I created the map for the library, I wanted to rename some devices so that they could match the name on the map. However, back then, I was unable to do so because the only way to change a device&#8217;s description is to download the data. Now that the devices were empty and the data was on the shuttle, I was able to rename these devices without hindering the newly downloaded data. To change those device&#8217;s descriptions, I had to plug the devices in one-by-one. I changed those four devices so that they all followed a similar naming scheme. With the device names in place, I had to go back and tweak the map a little bit so that it matched the new names. I wrote the new names on labels and put them on their respective devices. I then set them all to start recording data at the same time and then I returned all the devices to their locations.</p>
<p>With the device names taken care of, I moved on and completed the process of pulling the data off the HOBO shuttle. When doing this, I found something interesting. The data still remains on the shuttle even after you download it. The shuttle seems to keep a backup of the monthly data. This data stays on the shuttle until new data is downloaded the following month. This is a smart failsafe. This way if something were to happen to the files, you could still just download them again from the shuttle. Next month, when I offload the data from the devices to the shuttle, the previous month&#8217;s data will be replaced.</p>
<p>Now the data was downloaded, and auto saved in the .dtf files, it was time to export it to the Excel spreadsheets. While doing this part, I was following along with the procedures written by the last group that attempted this project. They had the user export the file to a text file first and then import that text file into Excel. I have absolutely no idea why they decided to do this. BoxCar Pro allows you to export the data directly to an Excel spreadsheet, thus there should be no need to use a text file. I choose to veer away from their instructions and I decided to export the data directly to Excel spreadsheets, just to see if I could notice any difference. From what I can see, the only thing that was different was that when it exports it to an Excel spreadsheet, it adds in the devices name and some other information into a column. All that you would need to do would be to delete the column and you would have the necessary data. This is much easier than what the last group required the user to do. They had the user export the data to a text file, go into Excel, use the import feature, follow a few steps and then save it as an Excel spreadsheet. With my procedures, you export the data to a spreadsheet, delete a column, name the spreadsheet, click save, and you are done.</p>
<p>With that figured out, I had all the data saved into six spreadsheets, one for each device. These files were saved into the new month folder, 02 - February 2008. From there, I had to go back and move those .dtf files that were auto saved to the main directory. I copied the .dtf files and moved them over to the February folder. With those moved over, there were six spreadsheets and six .dtf files. This completed the downloading procedures. I unhooked the HOBO shuttle and returned it to its location. Finally, after two weeks, the data download was complete.</p>
<p>I am confident that new downloading procedures I created are more efficient, quicker and will be easier to follow than what was in place before. My procedures will also save some space and reduce clutter as they do not require the user to save .txt files as well as .xls files. After I completed the procedures, I began putting the instructions I wrote down into an electronic format. I took eight screen shots during my run through the process. These screen shots will help point out the more complicated steps, thus making it a bit easier on the user. With the procedures documented and in an electronic format, I was completed with this part of the project. The next thing I need to do is have Pam review the documentation to make sure it is sufficient. Once reviewed, I will make any necessary modifications and I will come up with a final draft that will be saved in electronic format and will be printed out. You can <a href="/documents/hobo_downloadingProcedures.pdf">view the completed documentation by clicking here</a>.</p>
<p>In the end, this was a great week. I completed a large chuck of the project and I feel proud of the work I have completed. The documentation for the downloading procedures is detailed, but is still easy to follow. With the documentation in place, I am confident that next week I will be able to move on to other parts of the project. At this point, all that remains is for me to create an algorithm that will take out the out of range points. Then I have to document those steps as well. So next week will mostly be a brainstorming post. I will discuss some of the ideas I have so far in regards to the algorithm. Hopefully I will have a good algorithm ready by the end of next week so that the following week, I can take real data and complete the procedure that will successfully pull out the out of range points and prepare them in a printable format. With that said, until next week, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=12</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 4 - Patience is a Virtue</title>
		<link>http://www.andrewbertino.com/blog/?p=11</link>
		<comments>http://www.andrewbertino.com/blog/?p=11#comments</comments>
		<pubDate>Sun, 17 Feb 2008 21:37:47 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Since beginning this project, I have been able to hit the ground running. Everything up to this point has pretty much gone according to plan. Well, that was until this week. My original plan for this week was to get the data downloading procedures completed and documented. However, I had assignments due this week in [...]]]></description>
			<content:encoded><![CDATA[<p>Since beginning this project, I have been able to hit the ground running. Everything up to this point has pretty much gone according to plan. Well, that was until this week. My original plan for this week was to get the data downloading procedures completed and documented. However, I had assignments due this week in my other classes that were more pressing. These assignments forced me to push my plans back until next week. On top of that, it has not been a full month since previously downloading the data, another issue that delayed my plans. If I wait until next week, it will have been a month since previously downloading the data. As such, much to my chagrin, I decided to hold off on downloading the data for yet another week.</p>
<p>Since I could not complete the downloading procedures this week, I was pretty flustered. I really wanted to complete them this week and move on to something else. However, as they say, patience is a virtue. It just so happens to be that patience is not entirely my best virtue.  This is something I am going to have to learn how to handle. There will be many times in the future where other factors will either delay or alter plans for a project. I will have to learn that I cannot complete everything all at once and that projects such as these are dedicated, long-term tasks. I feel this will come with more experience. I simply have not had enough projects under my belt to realize the pitfalls, trials, and tribulations that come with all projects. I have come to learn that there is more to this project than just trying to learn the IT skills. In fact, the IT skills are the least important thing in my mind. The lessons I am learning about project management will be invaluable to me. This includes the skills I am gaining in writing project plans. On top of the project, we have an assignment in the class that requires us to write up an official project plan. So, by the end of this project, I will have not only  learned how to work with IT projects, I will have also learned how to write up project plans, a skill that will definitely assist me in any future project.</p>
<p>With that said, the entire week was not a wash. I did have some free time, so I began taking a look at some of the possible options I could use to separate the out of range data points. There are many options to choose from and I as began looking at them, I became slightly overwhelmed. I realized that this could take me a bit longer than I anticipated. There are a lot of possible ways to take the two columns (relative humidity and temperature) and pull out the out of range data points (RH greater than 55 and temperature above 70). As I looked at them, I realized that I am not entirely sure what the best approach is to this problem. However, I am confident that I have the ability to come up with a working procedure.</p>
<p>First, I realized that the downloading procedures that I will create next week will affect how I start the procedure for the out of range data points. When creating the downloading procedures, I have to get the data into a format that will allow me to create the procedure for extracting the out of range data points. Thankfully, I had already come up with a few ideas when I downloaded the data for the first time last month. Last time, I followed the downloading procedures that the previous group had come up with. After completing those downloading procedures you end up with four Excel spreadsheets, one for each HOBO device (this was before I added two more devices). I realized at that time that it was going to be far easier to handle all of the data if those four spreadsheets were combined into one. If you left the data from the devices in four separate spreadsheets, you would have to run the same procedures four times, which, needless to say, is quite inefficient.</p>
<p>So I went ahead and came up with a rough idea of how to get all of the data into one spreadsheet. First, you still need to follow the same downloading procedures that will create the individual spreadsheets for each device. From there, you would copy all of the data from each of the individual spreadsheets and you would paste it into a master spreadsheet. Then you would run the data procedures that would separate the out of range data points for all of the devices at one time, rather than having to run it for each device separately. Once you were done with the data in the master spreadsheet, you could run a macro in Excel that would clear the data, making the master spreadsheet ready for the next month.</p>
<p>I feel I have a pretty good strategy for getting all of the data together into one file. Once the data is in one file, I have to figure out what to do with it. As mentioned, there are several ways to tackle this. You could sort all of the data by temperature first and then just take out the ones that are above 70. Then you could do the same for relative humidity. This would get you the outlying points, but that does not let you really track or compare any data. This would only get you the number of out of range points. So, I began looking at some other ideas. However, I was unable to really come up with any concrete. My plan is to separate the out of range points based on the date and time they were recorded and then map those points to the corresponding device. This would allow you to see which device, on a certain date and time, registered an out of range point. However, I have not been able to determine the best approach for extracting the out of range points. Some of my ideas include using pivot tables, filters, or macros. However I choose to do this, I am confident that I can find a procedure that will pull out the needed data and get it organized into one printable sheet.</p>
<p>Even though this week was quiet and I did not get the chance to work very much on the project, I still had an opportunity to learn. I learned that you must sometimes be patient and that you have to work around problems. There will most certainly be unforeseen factors that will delay my future projects. I must learn to find ways to advance the project while remaining patient for the problem to become resolved. So although it was a somewhat frustrating week, there is no doubt that it was a great learning experience. Next week, I will describe the  process of downloading the data from the devices and I will describe the new documentation I will be writing. Until next week, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=11</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 3 - L Marks the Spot</title>
		<link>http://www.andrewbertino.com/blog/?p=10</link>
		<comments>http://www.andrewbertino.com/blog/?p=10#comments</comments>
		<pubDate>Sun, 10 Feb 2008 02:41:26 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This week was relatively light. With the folder scheme in place, and with the two new devices running, it was time to move on to other activities. As I mentioned last week, the next task I wanted to accomplish was to create a map that pinpointed the locations for each device. The map Pam had [...]]]></description>
			<content:encoded><![CDATA[<p>This week was relatively light. With the folder scheme in place, and with the two new devices running, it was time to move on to other activities. As I mentioned last week, the next task I wanted to accomplish was to create a map that pinpointed the locations for each device. The map Pam had already created, the one I alluded to last week, served as a good starting point. I opened up the map, printed out a copy, and was ready to jot down the locations of the devices. However, as I began going through the library, I noticed that the map was very rudimentary. It was missing shelves, tables, and it neglected entire sections of the library. On top of that, the map was also missing sections where some of the devices were located. I needed to have these sections on the map so that I could properly mark all of the device locations. The original map was intended to be simple, but due to my detailed nature, I felt the need to correct it.</p>
<p>In my effort to create a more complete map, I went around the library and began jotting down corrections on the printed map. I first added a section for the offices which were not on the original map. I needed these offices because they are where two of the devices are located. I also added in one of the computer catalog rolling carts to the map as one of the devices is located on the cart. From there, I decided I would add the missing shelves and the missing tables. I also corrected the front desk and I added in a few other missing rooms to complete the map. After completing my edits to the printed copy, I had to go and edit the map on the computer to include these changes. The original map I printed was part of a Word document, so I had to copy out the inserted picture and edit that. Using Photoshop, I added in the offices, the catalog cart, and the other missing parts to complete the electronic copy. You can <a href="/documents/library_map.jpg">click here to see the version of the map</a> that does not yet have the device locations.</p>
<p>Now that the map was more accurate, I was ready to place the device locations on the map. However, before I could do that, I wanted to make sure the names of the devices matched what I was going to place on the map. Last week, I explained that each device has a description, or name, that is based on its location in the library. Each name is coded into the device using the BoxCar software. So before I put the locations on the map, I wanted to make sure all the descriptions were accurate and that they actually matched the location of the device. I hooked up the devices to the computer and opened them all up in BoxCar. I found that four of the devices had names that needed to be altered so that they would properly match their locations. For example, one of the devices was named Bound Periodicals. This device is actually located on the shelf for Current Periodicals. Now this may seem like a minor detail, but when you download the data, it saves the data file based on the device&#8217;s name. In this case, it would save it as Bound Periodicals.dtf (<a href="http://filext.com/file-extension/DTF">.dtf</a> is BoxCar&#8217;s file extension). With the name the way it was, you would have been in a situation where the device was saying one thing and the map was saying something else. Although this would probably not hinder the procedures that much, there is need for this unnecessary confusion.</p>
<p>With that aside, I was prepared to go ahead and change the names on the necessary devices. Before I could do that though, I discovered that I could not edit the names at this time. The only way to change the name of a device is to offload its data. Since it had not been a full month since previously downloading the data, I could not rename the devices at this time. Speaking of downloading the data, I know mentioned in my last post that I might do that this week, but I decided against it. It was not as close to a month as I originally thought. As such, I have to wait until next week to download the data and rewrite the procedures. So next week, when I download the data and rewrite the procedures, I will make sure to change the names on the devices. I was hoping I could change the names this week so that the devices and the map matched immediately, but, as in most projects, sometimes things do not always go your way.</p>
<p>As much as I wanted to change the descriptions, I knew it was not an option. So I went ahead and plotted the device locations on the map and labeled them with the names that I intend to put on the devices next week when I download the data. On the map, I marked the location of each device, placing a marker labeled L1 through L6 at the device&#8217;s location. As I alluded to before, L1 simply represents the number of the device. With the locations correctly mapped, I created a legend. In this legend, I labeled the description and the unique ID number of each device. Last week, I discovered that each device has its own unique ID number. These ID numbers are separate from the L1 numbers the library gives each device. So, I went ahead and wrote down the ID number as well, this way if the labels that are on the devices were to fall off, they could still be identified using the legend on the map. With the legend now in place, anyone with access to the map would know that device L2 was located in the Professional section. So even if the person who is downloading the data has no idea where any of the devices are in the library, they should still be able to find them using the map.</p>
<p>With the legend added and the locations marked off, the map was complete. I saved the image that I edited in Photoshop and I replaced the old image in the Word document with the new, corrected image. I saved two versions of the map. I saved one version that just had the corrections. I then saved another version which included the corrections as well as the legend and the locations of each device. With two separate versions, the library would have a copy of the map without device locations, allowing them to use or edit a clear map as they saw fit. With that said, you can <a href="/documents/hobo_locations.jpg">click here to view the final map</a> with the HOBO device locations.</p>
<p>That wraps up this week. It was a relatively quiet week and I was hoping to have accomplished more. However, I realized that sometimes certain parts of the project are just out of your control and that you must go with the flow. Late next week, I hope to download the data, rewrite the procedures, and change the necessary device descriptions. Until then, I may begin looking at some of the test data that I have so that I can begin my work on determining the best way to make the data useful. Until next week, thank you for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=10</wfw:commentRss>
		</item>
		<item>
		<title>Chapter 2 - Folder Reconstructive Surgery</title>
		<link>http://www.andrewbertino.com/blog/?p=8</link>
		<comments>http://www.andrewbertino.com/blog/?p=8#comments</comments>
		<pubDate>Sun, 03 Feb 2008 19:30:07 +0000</pubDate>
		<dc:creator>Andrew Bertino</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This week, I hit the ground running. I was excited to finally get the project going and I was eager to begin my work. As I mentioned in my last post, I decided to begin the project by first reconstructing the folder organization. First, let me breakdown the previous folder scheme. In the old scheme, [...]]]></description>
			<content:encoded><![CDATA[<p>This week, I hit the ground running. I was excited to finally get the project going and I was eager to begin my work. As I mentioned in my last post, I decided to begin the project by first reconstructing the folder organization. First, let me breakdown the previous folder scheme. In the old scheme, every time a user would download the data from the HOBO devices, they would store the files into a folder named after the month and year. For example, if I were to download new data today using the old scheme, I would save the files into a folder called Feb 08 hobo data inside the HOBO Data main folder.  The library has been downloading data for roughly 3 years now and this has led to a lot of folders. With the current system, trying to find Oct 06 data would take some time as you would have to track it down among 30 other folders. This scheme seemed very unorganized and somewhat haphazard to me. Although it does not really hinder the user from using the newest data, it would be very hard to pinpoint and find older data should it be required. Here is a <a href="/documents/old-scheme.gif">screenshot of the old scheme</a> to give you an idea of how it was organized. Now that I have discussed the old scheme, I can talk about the new folder scheme I developed this week.</p>
<p>When thinking about what to do for a new folder scheme, there was really only one idea that came to mind. The new scheme had to first organize the data by year. The library has collected data from 2005 to 2008. So in the main folder, I had to create four folders, one for each year of collected data. Next, inside those folders, I created twelve folders for each month of the year (I only created two folders for 2008). I first started by creating folders named after each month. For example, in 2005, I created folders called January, February, March, etc. As I finished creating the month folders for the 2005 folder, I realized that this was not going to work very well because Windows would automatically sort the folders alphabetically.</p>
<p>To test my theory, I went back to the main directory and then I went back into the 2005 folder. Upon doing so, I found that my assumption was correct. Windows had sorted them alphabetically, just as I anticipated. This meant that April was the first folder at the top. Having the months sorted alphabetically is completely different than the sequential order that we are used to seeing. Since March is the third month of the year, I naturally found myself looking for it at the top of the list, where alphabetically, it is actually in the middle. Although this problem is trivial, I did not see the point to causing any unnecessary confusion. So to correct this problem, I added the number of the month to each folder. So instead of January, I named it 1 - January and so on. So now every time you go into the folder, the months are in the order that we are more accustomed to seeing.</p>
<p>With the month folders now in their normal order, I decided I would make another change. I was concerned that when downloading the data, you may not be able to see which year you were working with. Without being able to see the year, someone could have trouble trying to figure out which January they were in. Granted, this is easily fixed by just going back one directory, but I felt that it would be better to just to complete each folder name and maximize its accessibility. So, I decided to add the year to the end of each month folder. For example, the names now looked like 1 - January 2006, 2 - February 2006, and so on. With those additions, I was finally satisfied with the naming system for the month folders. To get a better idea of the final naming scheme, here is a <a href="/documents/new-scheme.gif">screenshot of the new folder scheme</a>.</p>
<p>With the folders created, and the naming scheme in place, I was ready to move the old data into the new folders. The first thing I made sure to do was to backup the data in the older folder scheme. I created a backup folder and then I moved all of the old folders to the backup folder, leaving them exactly as they were. This way, should the need arise, the older data can be accessed using the older scheme. From there, I then began moving the data from the old folders to the new folders, making sure to compare the new folder with the old folder to make sure they matched. So for example, I copied Jan 06 hobo data into 2006/1 - January 2006/. After copying over all of the data, I was pretty satisfied with my new folder scheme. I feel that this new scheme is far more organized and will make the data more accessible and easy to find.</p>
<p>That was not all I did this week. I also began my work on trying to fix the two non working HOBO devices. I met with Pam this week to discuss the folder scheme. I also asked her what was wrong with the two non working devices. She informed me that she had replaced the batteries on the two devices, but doing so did not fix the problem. Every time she tried to connect a single HOBO device to the <a href="http://www.onsetcomp.com/products/communications/h09-003-08">HOBO Shuttle</a> (a device that allows you to collect all the data from multiple HOBOs into one place)  it would give her a communication failure error. So I began looking into this problem. First, I tried connecting a HOBO device to the shuttle myself. The results were identical as I also received the same error. I then went and tried to connect the HOBO device directly to the serial port on the computer. I used the BoxCar software to see if it could pick anything up. This did not work either as the software could not even detect the device. So I began researching some solutions. However, while doing this, Pam decided that I should forgo my research. She told me to just replace the two non working HOBO devices with two working devices that she received from the College&#8217;s <a href="http://ci.fsu.edu/user_services/default.htm">iTec</a> services.</p>
<p>With these two new devices, the library was back to six total devices. First, before these new devices could be used, I had to clear the existing data off of them. The only way to do this is to download the data off the device. Once you offload the data from a HOBO device, whether it is to a computer or to the HOBO Shuttle, the device is cleared and is ready for new data. So to clear these two devices, I hooked each one up to the computer and downloaded their data. I saved this data to the backup folder just in case anyone ever needed it. Once the data was off the devices, I also needed to change some of their configuration options. First, I had to make sure that they were recording temperature and relative humidity data every 30 minutes. Each HOBO device can record data points at a variety of intervals. The lowest option is every five seconds, but you could also record points once a day, or once a week even. Pam had set the other four devices to record data every 30 minutes, so I set the two new devices to the same interval. Next, I had to also reset the device&#8217;s description (this is device&#8217;s name in essence) so that it indicated where in the library the device was located. For example, I renamed one of the descriptions to L5 (E) - Circulation. This description explains where the device is located in the library. L5 represents the number of the device. This is the 5th HOBO device. The E represents the east side of the library. Finally, the Circulation part signifies that the device is located in the Circulation section of the library.</p>
<p>When renaming the descriptions for these devices I came up with an idea. Since these devices are spread throughout the library, someone who did not know where they were would have no idea where to look. Most of the devices are mounted underneath shelves and can be hard to find. My idea was to create a map of the library that would pinpoint the locations of the devices.  This map would help anyone find the devices, regardless of who was asked to download the data. Thankfully, Pam already has a map of the library so all I need to do is just draw the locations of the HOBO devices on the map.</p>
<p>Now that I have the new folder scheme in place, and I have six devices working, I think I am ready for the next part of the project. I am excited about what I have done so far and I feel have made good progress. I feel confident that what I have done is the first step towards helping the library develop a sound systematic approach to downloading the data. Next week, I will first draw the devices on the library map. Then I will work on recreating the downloading procedures. To do this, I will go through the procedures myself, documenting every step, including all messages, boxes, clicks, and every possible option so that the procedures can be as easy and accurate as possible. This documentation should give anyone, regardless of computer knowledge, the ability to download the data. So, until next time, thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrewbertino.com/blog/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
	</channel>
</rss>
