W

X

Saturday, January 30, 2010

EMWIN Port 2211

At the request of Antonio Querubin, IANA (Internet Assigned Number Authority), assigned port 2211 for the EMWIN (Emergency Managers Information Network) data stream in March of 2008.  The ByteBlaster network presently uses port 1000/tcp for distributing EMWIN data and ByteBlaster server lists. 

I am glad to see a recognized port adopted (Thanks Antonio).  I guess I just let this information get by me.  I will be running some experiments to see what problems users would encounter switching from port 1000 to 2211.  I am sure some users have opened their firewall ports for outbound connections to port 1000.

There is presently one ByteBlaster server running on port 2211.  I may change my server for testing.  Having a couple of servers on port 2211 will make the transistion easier to adopt.

Multicast Address

I knew that EMWIN was assigned the multicast address 224.0.1.143.  I never had access to a multicast network, so I did not do anything with this information.  I am considering adding support for transmitting and receiving data by multicast.

Server Discovery

I was working with a customer that wanted to install the Weather Message Clients on their computers.  One of the setup steps was to enter the tcp/ip address and port of the server.  This resulted in a discussion about tcp/ip and how to determine the servers address.  For technical users this is not an issue.  For those that want to operate software, but not understand how it works internally, this can be a road block.

I am working on some changes that will allow the client applications to automatically discover a weather message server that is on the local network.  This will make installing the clients easier for the end user.

These changes are in the idea stage, but should be relatively easy to implement.

Update:  I have completed the changes for this feature.  It works well on the local network.

Saturday, January 23, 2010

SSL Email Changes - Message Date Problem

 After one user downloaded Beta 3, he noticed that his emails were being flagged as spam.  Apparently the SSL Email component had a problem properly formating the email message date field.  It was putting a colon in the time field when there should have not been one.

I received an update from my TCP/IP vendor that corrects the problem.  I will be releasing a new beta this Sunday to address the problem.  If you are having the problem, just drop me an email and I'll send you the installer.

Monday, January 18, 2010

Optimization Weekend

I spent the weekend running a code analyzer on the Weather Message code base.  It recommended several changes that may help improve the speed of the programs.

I also started changing several of the internal lists to dictionary collections.  The dictionary collection can locate items much faster.  This would be something like getting the description of a product.  The old method was to iterate over the items.  The dictionary method is much faster in most cases. 

Before changing anything, I wrote programs to compare different approaches.  This has taken the better of three full days.  However, I am pleased with the results.

I want to do something with the county names list.  I am still running tests to see which approach is best.

Sunday, January 10, 2010

Weather Message 3.6 Beta 3 Posted

I am in the process of posting Weather Message 3.6 Beta 3.  This release contains updated TCP/IP components to support the new SSL/TLS features for email.  These changes have been tested for a couple of weeks without any reported issues.

This release also contains a few additional features.  See the release notes on the beta site.

Note:  Due to the update to the TCP/IP components, you will have to upgrade WxLocal, WxDataSave and WxRetran if you use them on your computer.

Saturday, January 02, 2010

Weather Message Website Download Problem

Some users are reporting an issue with downloading large installers from the Weather Message website.  Some of the downloads are coming down corrupted.  I have been having problems myself. 

After spending all day today on the problem, I think the problem may be Internet or router related.  I have called a couple of people that have Charter Internet and their downloads are working. 

If you run into a problem, let me know.  I can email you the installer.

Weather Message 3.6 will have all "exe" and "dll" files digitally signed

Starting with Weather Message 3.6 Beta 3, all "exe" and "dll" files will be digitally signed.  Microsoft calls this authenticode signing.  Microsoft highly recommends that all "exe" and "dll" files be signed for Windows Vista, Windows Server 2008 and Windows 7.

This will bring the Weather Message programs into compliance with their recommendation.  I started signing the installers with the 3.5 release.  That did prevent alot of those "unknown publisher" messages.  This is an extra expense, but does bring a level of professionalism to the installation experience and program operation.

No Internet Slow Loading Revisited - Signed Executables

After many hours of research, I went ahead and updated the Weather Message installers so that they automatically disable the revolked certificate check in the Microsoft .Net framework.  What seemed so simple turned into a full day's worth of work.  The 32-bit and 64-bit directories have to be updated as appropriate.

Here is what Microsoft has to say about the change.
The common language runtime (CLR) tries to verify the Authenticode signature at load time to create Publisher evidence for the assembly. However, by default, most applications do not need Publisher evidence. Standard CAS policy does not rely on the PublisherMembershipCondition. You should avoid the unnecessary startup cost associated with verifying the publisher signature unless your application executes on a computer with custom CAS policy, or is intending to satisfy demands for PublisherIdentityPermission in a partial-trust environment. (Demands for identity permissions always succeed in a full-trust environment.)
For services they go one step further with this note.
We recommend that services use the element to improve startup performance. Using this element can also help avoid delays that can cause a time-out and the cancellation of the service startup.
After reading this information published by Microsoft, you would think they would disable this by default.  See this KB article for more information KB936707.

Saturday, December 26, 2009

No Internet access can cause slow program loads

I have been doing alot of reading over the holidays about digitally signing programs for Vista and Windows 7.  I discovered that some Microsoft .Net programs might load slowly on computers that are not connected to the Internet.

This occurs with programs that are digitally signed.  (Microsoft recommends that all programs be digitally signed.)  The .Net Framework attempts to verify the digital signature.  One of the operations it performs is to see if the digital certificate has been revolked.  If the computer cannot access the Internet, a 30 second to 1 minute delay may be encountered.

The Weather Message programs prior to version 3.5 have not been digitally signed.  They however use components that are digitally signed.  Starting with version 3.6 some of the individual programs will be digitally signed.

If you have a computer that does not have Internet access, I recommend that you disable the check for revolked certificates.  This can be done by starting Internet Explorer.  Cllick Tools, then Internet Options.  Click on the Advanced Tab and scroll down to Security.  Uncheck the "Check for publisher's certificate revocation" option.  After saving this change reboot the computer.

Note:  No one has reported this problem.  I just ran across the information today and wanted to post it here as a reminder.

Friday, December 25, 2009

TCP Components Upgrade Completed

I have completed the TCP/IP components upgrade in Weather Message and emPagerPro.  During the upgrade I added support for SSL connections and NTLM authentication in the email subsystem. 

I am still testing the changes, but everything appears to be working properly.  There were quite a number of changes, but it was completed in record time.  It took about 12 hours to make the changes.  I had thought it would take longer.  The changes between IPWorks version 6 and version 8 were not as drastic as I had thought.

I need to update the documentation with the changes. 

Wednesday, December 23, 2009

TCP/IP Components Upgrade

I am in the process of upgrading the TCP/IP Components used in Weather Message.  This upgrade will give me the ability to implement secure (SSL,TLS) connections with email servers.  This will make it easy to use secure email servers like Google.

I am hoping that this upgrade will be relatively easy to implement in the software.  I will be working on it during the Christmas holiday.  This represents a $1500.00 investment in new software and technology.

This will make the email sub-system fully compatibile with all email servers.

Tuesday, December 08, 2009

Visual Studio 2008 - Changing the application manifest template

After discovering that Windows 7 wants a special guid in the application manifest, I wanted to change VS 2008's default manifest so that it included this GUID by default.

Here is the procedure.

Navigate to
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\1033

Copy AppManifestInternal.zip to another directory. 
Extract the two files in AppManifestInternal.zip to a working directory. 
Change app.manifest as desired.

The following is the manifest that I am using.  It does not format properly here in the blog.


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the 
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
If you want to utilize File and Registry Virtualization for backward 
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--Windows 7-->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--Windows Vista-->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
</asmv1:assembly>

After you complete the changes, zip up the changed file (app.manifest) back into AppManifestInternal.zip.  Copy AppManifestInternal.zip back to the original directory.

Now navigate to
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\VisualBasic\1033\AppManifestInternal.zip

In this folder you will find the two files again.  This is in the cache directory.  Copy the app.manifest that you changed to this directory.

This completes the changes.  Now when you add an application manifest to a program using the View UAC Settings button, it will contain the changes for Windows 7.

Windows 7 - Program names that include "setup"

I took some time over the weekend to test the Weather Message installer on a Windows 7 computer that had UAC enabled.  I had already tested everything on a Windows 7 computer, but it did not have UAC enabled.

I discovered something interesting.  If a program name contains the word "setup", the Windows 7 program compatibility assistant thinks the program is an installer.  Weather Message contains the program WxMesgSetup.exe.  It thought it was an installer! 

As per Microsoft, I had already included an application manifest.  This manifest made Vista happy.  With that manifest, Vista did not think WxMesgSetup was an installer.  The program compatibility assistant was changed in Windows 7.  It still thought it was an installer, because it did not write an uninstall registry key.

To my dismay, when I clicked Save in Weather Message Setup, I was greeted with a window that said "This program might not have been installed correctly."  I had a prompt to reinstall the program or indicate that it was installed correctly.  Well the program was installed correctly.

After some research time, I discovered that Windows 7 wants a special GUID placed in the manifest of each program to indicate that the program is fully compatible with Windows 7.

I updated all of the programs with this special GUID.  Now Windows 7 no longer thinks WxMesgSetup.exe is an installer.

Saturday, December 05, 2009

VTEC Action Description

After a couple of requests to change a VTEC action's description, I have moved those descriptions to an external file.  Version 3.6 will allow you to change those descriptions by editing the VTAction.dat file in C:\Program Files\WxMesgNet directory.

Google Voice - formerly Grand Central

Sometime ago I signed up for Grand Central.  That service is now known as Google Voice.  It is quite an interesting application.  When you sign up, you get assigned a telephone number for the city of your choice.  You then associate all of your telephones, cell and land based, with your account.  When someone calls your Google Voice number, their service will ring all of your phones trying to locate you.

It has one feature that I really like - voice mail with transcription.  When someone leaves you a voice mail, Google will transcribe that voice mail into text and email you the message.  You can go on-line and hear the message or just read the text.  (They say that I can use their voice mail instead of my cell phone voice mail.  I have not tried this yet, but it would be great.)

It has a number of nice features.  If I want to call my friend in New Mexico, I go to the website, enter his number and tell it my phone number.  It will call me first and then my friend.  No long distance!

They also have a gadget that you can post on a website or blog that will allow others to call you at no charge.  I have played with that feature with a couple of my Weather Message customers.  I give them a link, they enter their telephone number, Google calls them and then rings my home phone, office phone, business cell and personal cell.  If I don't answer Google routes it to voice mail, then sends me a short message on my cell phone.

Now that is what I call number portability.  I have one number that follows me everywhere.  No more hiding.  You just have to get that number.

I am considering using this capability for telephone support for users.

Oh - I forgot to mention that it is free....

Blog Change - Share It Gadget

I added a new gadget to the right side of the page so that users can share this blog on Twitter or Facebook.

Weather Message Version 3.6 Installer backs up user files

I have made changes in the Version 3.6 Update Installer so that it will backup all of the *.dat files to C:\Program Files\WxMesgNet\Backup, before overwriting these files. 

The Update Installer currently tells the user that it wants to install updated product files.  This is a little misleading.  There are a number of updated files.  For the 3.5 release, this included new FIPS County information and revised Zone County information.

Users will now receive a little more detail letting them know that several files will be updated.  It will not include a list of files.  It will tell users that if they install the revised files, their original files will be backed up in the directory listed above. 

This will allow users to go ahead and install the revised files.  After the install is completed, they could go back and restore the files that they have modified.

These files would not normally be modified by users, but in some situations, I have recommended users change these files to accomplish their requirements.

Monday, November 30, 2009

Weather Message posting to Twitter

Several users have asked about using Weather Message to post to Twitter. The HTTP Post method in Weather Message Paging should work. I tested this today and discovered that the service provider setup window would not allow me to enter a user name on the screen. (Apparently no one has used this capability.)

I corrected the problem in the setup program. I also made additional changes in WxPost.dll so that it would send the user name and password using basic authentication.

I ran some tests this evening and was able to post several short message to my twitter account. I will be releasing this in the first 3.6 beta. I will try to add the setup in the documentation. The service provider screen has to be setup properly for it to work.

Friday, November 27, 2009

Weather Message 3.5 Released

Weather Message 3.5 was released on November 26, 2009. There are a number of changes and enhancements. See the release notes for all of the details.

Wednesday, November 25, 2009

Installer File Versions

I did not realize that the Weather Message installers did not contain any version information. While researching code signing, I discovered that right clicking on the installer did not show the version tab.



Starting with version 3.5, right clicking on the installer will display the version number and other helpful information. Notice that the Digital Signatures tab now appears. This indicates that it has been digitally signed.