Last week, I worked on converting Chronos to a service (so no pictures of that...) and that went well. I continue to work on the application version, adding in new features all the time and then moving the completed and tested features into the service.
Currently, the application can respond to tweets with current weather and forecasts, using the zip code to identify location, also, it can communicate with other applications via TCP sockets, or get or post via HTTP request, or run an application. Also, I started making each of these actions into a separate thread, so the timer can run independently from the action calls.
Another new feature for the application was the ability to calculate sun rise, sun set and solar noon by using the longitude and latitude entered by the user. Currently, I don't trap events for sunset, sunrise or noon, but it's a simple addition. Next, I may add moon phases, but not sure if I have use for this feature.
So far, I'm very happy with my timer. For testing I set up a few events. It does a good job of reminding me to water my plants every night, as well as give me a quote of the day, as well as get any "tweets" sent to my home account and parse them and send back relevant data. Also, the twitter interface gives me the ability to create simple databases (CSV - comma delimited files) that I can import into various programs. So, when I fuel up my car, I can text a tweet to my home twitter account and my mileage and fuel is saved into a database for that vehicle. Very handy.
In the future I want to create a HTML/XML parser to deal with timed "gets" from HTTP/RSS/XML locations. So, for example, we can use this program to get a web page, parse out the needed information and send it on to the end user. Ideas for this include weather operations (like any warnings, watches or advisories that come along) or if a new episode of your favorite TV show is coming on tonight. I would like to create a simple, script based program, that can do this without reinventing the wheel every time a web page format is changed. I have an idea, but only time will tell if it works.