Sunday, July 29, 2007

Service Controller

Since releasing a version of Weather Message that runs as a service, several customers have asked what happened to the user interface. Well when an application runs as a service, most of the time you lose the user interface because the application is running in the background. Most software packages provide another application that can be used to monitor the background service.

I have spent the last week studying interprocess communications. I have decided to use named pipes since they appear to be quite efficient. Named pipes are basically memory files that can be shared across process boundaries. I need a way for a 'controller' application to talk to the server and get the screen updates. Named pipes should do this well.

The 2.0 framework does not have built-in support for named pipes, so it was necessary to write all of the code to communciate with named pipes. Support for named pipes will be in the Microsoft 3.5 Framework. That Framework however will not work on Windows 2000 computers. The 3.0 Framework does support a mechanism that I could have used, it also does not support Windows 2000.

I completed the routines today and the tests look good. I should be able to create the WxController application sometime this week. It will be a small application. The big change will be updating Weather Message Server so that it will send data to the connected controller application.

One good point is that named pipes can be used across a network. So it will be possible to run WxController on a remote computer to monitor the server. I will say that this is only recommended on fast networks. If the primary goal was to monitor remotely, then using tcp/ip sockets would be a better approach.

Monday, July 23, 2007

Fire Zones

I have taken the time to add fire zones to the County_Z.dat file. These zones are used for fire weather products. After adding the zones, I have mixed emotions about including it in the regular distribution.

There are some duplicate county names that may confuse users that do not know the difference between the forecast and fire zones. I added "FZ" before the names so that I could tell the difference.

I will include County_FZ_Z.dat with my normal distribution. If someone wants the fire zones, they can simply replace the stock County_Z.dat with County_FZ_Z.dat.

Note: Fire Zones are generally used in the Northwestern states.

Sunday, July 22, 2007

Weather Message Server - Service Support

Weather Message Server now has an option to run as a Windows Service. There have been a number of requests for this ability.

The current version of Weather Message requires you to login before Weather Message will be started. The ability to run as a Windows Service alleviates the need to login. As soon as the computer boots, Weather Message will be started.

I still have a number of tests to run, but my initial tests have been successful. There are some additional enhancements that need to be made. Basically an interface needs to be written that will communicate with the Weather Message Server service.

Saturday, July 21, 2007

SSL Support for SMTP Instructions

I have posted a document on the Miscellaneous downloads page that describes the steps necessary to setup Weather Message for a secure smtp connection. The example I used is for gmail.

Here is the direct link Secure SMTP Setup

Changes in file access routines

I have changed the file access routines, that read or write products, to use file streams. File streams are more efficient than the commands that were previously used. Changing the file access routines was the last thing pending from the original software conversion from 2 to 3.

While changing these routines, I discovered that WxByte and WxIngest were creating the tracking file twice when the first block of a product was received. I eliminited one of those. That will reduce the number of writes to the harddrive.

I also made changes in Weather Message server that will reduce the number of times that it accesses a new product. It was checking the size of the file, then reading the file. This has now been incorporated into one file access.

Although the programs seem to run efficiently like they are now, these changes will make them more efficient and ready for the faster data stream.

Friday, July 13, 2007

SSL Support with 3rd Party Application

Several users have expressed a desire to have SSL/TLS support for SMTP in Weather Message. The cost of this upgrade from my tcp/ip vendor has been too costly for the small number of users needing this capability.

After alot of research, I discovered a free application that will create a secure tunnel to the smtp server. Stunnel is a universal SSL wrapper. I have tested it tonight with my ISP and it works fine. I also tested it with gmail with success. I will publish setup information on the WxMesg group about this application.

You will find information on Stunnel at http://www.stunnel.org/

Sunday, July 08, 2007

Polygons on WxMap

I am experimenting with placing polygons on WxMap. One of the problems is dealing with the color of the polygon?

This picture is not very clear, but the polygon is green. In WxMap is it clear and distinct.

Weather Message Version 3.2 Beta 1 Released

I am in the process of uploading Weather Message Version 3.2 beta 1 to the website.

If you will be using the new polygon alarm, I would recommend that you set it up as a second alarm and leave your original alarm. It should be tested before replacing your original alarm.

If you will be using the new zone and marine layers, you will need to download the new layers. See the release notes.

Saturday, July 07, 2007

County and Marine Zones added to WxMap

WxMap now supports the County Zone and Marine Zone layers. This has been a feature requested for some time.

County zones, in some cases, are different from the County Fips area. The Fips area represents the actual county outline. The Zones area may be for part of a county or extend into multiple counties.

The Marine zones cover the coastal waters and the Great Lakes.

Friday, July 06, 2007

Polygon Alarms Completed

I have completed the changes to enable polygon alarms. You can now enter a latitude, longitude and radius for each alarm. The software will require the incoming message to have LAT...LON information.

If the message has this information, the software will determine if your latitude and longitude are inside the polygon. If not, it will then get the distance your latitude and longitude are from the nearest edge of the polygon. If it is within the radius you specified, the alarm will trip.

This feature will require careful testing. It will also require users to have a good understanding of polygon warnings. This capability requires that the incoming messages be properly coded.

Polygon Alarms - What is my latitude / longitude

As I have moved forward with polygon alarms, I needed a method to get the latitude / longitude for an address. As it turns out there are several public sources for this information. They however do not allow integration with an application without paying a monthly cost.

Due to those restrictions, I created a public webpage that will allow users to get their latitude and longitude. I selected Google Maps for the provider. The webpage can be accessed from the Weather Message home page or directly at http://www.wxmesg.com/geomap/wxgeomap.htm

I will try to put a link in the setup program to take users to this webpage.

Thursday, July 05, 2007

Map Layers

I am in the process of integrating the NWS Zone and Marine layers into WxMap. My initial tests have been promissing. They do require some additional memory due to the size of the layers. I should be working on the internal processing logic over the next couple of days. I hope there will be a beta by the weekend.

I have updated the Weather Message .Net download page with the latest map files. The install includes two new options: Map Base - County Zones and Map Base - Marine. These will have to be installed before any of the new zone changes will work. If you install all of the layers, you will install approximately 54 megabytes of map data.

Wednesday, July 04, 2007

Polygon Status

I have completed the code necessary to determine if a point is inside a polygon. Also the code necessary to determine the distance in miles of a point in relation to a polygon.

This paves the way to start changes that will allow for an alarm based on a latitude / longitude. This was some involved code.