I’ve been continuing to test with the Guruplug. The software and computer have been very stable. However, with my weather application running, the load average is at just above 1, with occasional spikes that go higher. This is OK, but doesn’t leave room for everything else I had been running on my old weather server.
For my old weather server, I had written a Java application that would run periodically using cron, and aggregate information from the weather station, the National Weather Service, and a couple of other sources. It would then build a Web site using a template and all of the aggregated information. Finally, the application would upload the Web site to my ISP every few minutes. Based on the load average, the Guruplug probably wouldn’t be able to handle that extra processing. So I chose to offload the data downloads and Web page creation to the server at my ISP.
I created a shell script to download all of the data feeds I needed and ran it as a cron job. I also created a cron job on the Guruplug to upload my weather data to my ISP once a minute. No problem so far. I had planned to run my Web site builder Java application on the server at my ISP. That is, until I learned that my ISP doesn’t really support Java applications. They don’t prohibit them. Just discourage their use. So I looked at using PHP to dynamically build my Web site, which the ISP does support.
That approach will work fine, but requires a significant amount of work on my part to recreate in PHP everything I was previously doing using Java. The two languages have some similarities, but enough differences to make for a fair bit of work. I started out with the basic weather data, as that was the simplest structure to work with. That conversion was fairly straightforward. I then started working on the statistics. That has turned into a lot of work as I have several hundred data fields to parse from the XML statistics file. I also should have formed the XML differently to make it easier to process. Lesson learned for next time I create an XML schema.
After I finish with the statistics, I still need to do the weather forecast, advisories, traffic reports, and a couple of others. I also want to change my pages to have a shared file for the header, navigation bar, and footer. So a lot of work is left to be done before the Web site is ready for prime time.