Thursday, May 15, 2014

MultiHash Enhancements

I updated MuliHash to version and added a couple of features. I added SHA1, SHA256 and SHA512 hash types, and also made it so you can drag files from a file manager to add them to the hash list.

The only remaining thing I may do is to localize it so it can run in more than one language. Of course if others look it over and let me know their "must have" features, I can add them to the list of pending features. :)

Monday, May 5, 2014

GPSMonitor Updated

I got a phone call from a guy who uses GPSMonitor to document pole locations for installing fiber optic cables. It turns out that he wanted to copy the latitude/longitude information and paste it into his documents rather than having to read and type the numbers.

It was an easy fix to update it so the button on the Average Location screen automatically copies all of the positional information so it can be easily pasted. While I was in there, I tossed in a 1 meter grid so you can see how far the GPS points wander over time when you're actually stationary due to the built-in variance in the signal.

This is a free app, supported just by donations and some web page ads. I was experimenting to identify the differences between my purchased license app PingGraph, and this ad-supported freebie. Both trickle in with a few bucks a month, so I try to keep them up-to-date, especially when people ask for features.

Thursday, April 10, 2014

MultiHash tool created

I've built a new tool to add to the Infix Technologies collection. This one may be a bit obscure to most, but to some of you it may be a real time saver. MultiHash creates MD5 hashes for single files, sets of files, directory trees, or even entire drives.

"So what," you ask? Have you ever downloaded ISO files for something like a Linux distribution and seen a big long string labelled "MD5 Hash" that looks something like this?
This tool can be used to verify that what you downloaded is exactly what they say it is. If you calculate the hash on the ISO after downloading, and your hash is not an exact match for theirs, someone was naughty and modified the ISO without telling you.

Another use for this tool, albeit a fairly limited one, is for verification of duplicate sets of files. As an example, software escrow companies need to be given multiple identical copies of the data to be put into escrow. How do you verify that they are identical? You can do it a couple of different ways.

  1. Build an MD5 hash for each file. This can be interesting if you happen to have 25000 files.
  2. Build an MD5 hash for a zip file containing everything. These can get really big, but it gives you just one hash.
If you went with option 1, the problem is that you have a whole set of hashes to verify as identical. The trick with MultiHash is that it builds a text file which contains a descriptive header, and then includes every hash value and the file name associated with it. The fun part is that it calculates a hash for that file. In effect, it is a grand overall sum hash so you can verify that two large sets of files are identical without having to put them into a monstrous zip file first.

As a side note, this is my first real try at building an app which uses the publishing features in Microsoft's Visual Studio 2013. It seems to have done a good job, but it's a little too bare-bones. I ended up writing some custom tools to change the name of the installer, and to customize the generic install web page to match.

Here's what MultiHash looks like. Noting too special, other than I used MVVM in WPF. That made it easy to make things size dynamically.

Let me know what you think about MultiHash.

Thursday, March 21, 2013

Shout out to EPPlus

I just have a quick shout-out to someone who doesn't know they helped me out with a project. I needed a way to generate an Excel spreadsheet from inside a c# application. My client for the project wanted something more detailed and more usable than a .csv export file, because the single page of data was, to use the database lingo, not normalized. I had data repeated all over the place, and it was hard to read.

After a quick web search, I found EPPlus, which did exactly what I needed. I wanted to both write the spreadsheet to a file, and to build it in memory and attach it to an email which my software sends in the background without opening up an email client. The first I figured would be easy, but the second required writing to a stream, and EPPlus was already set up to allow for both files and in-memory streams. A few hours of data layout on multiple pages, and voila! I have formatting, sorting, column sizing, and as many pages as I need. Alas, I don't know how to build a pivot table worth beans, but EPPlus does that, too, according to the docs.

Excel Screenshot

Their sample code project was really helpful to look up things like formatting and sizing of cells. The whole update to my code got me thinking of how you can do really cool stuff by intersecting multiple areas of expertise. Mix computer based testing with Excel and email, and you can end up with something pretty slick. It's the sort of programmer candy contract coders thrive on.

Wednesday, February 27, 2013

PingGraph Release

My network monitoring tool PingGraph has been updated and released. You can download it here. I implemented a couple of customer requests to enhance the email alert system to be more user friendly.

First, it has a threshold so it won't send an alert until a specified number of consecutive time-outs or over-threshold ping times have occurred.

Second, there is a test button so you can verify that you have your email server settings correct.

As always, you can give it a test run for free with no time limits. Registering it allows for a longer saved data history, and logging data to a file.

Let me know what you think!

Monday, November 7, 2011

GPSMonitor update

My free GPS tool has been updated, and is about ready for release. I discovered that there were some more lurking issues for localization settings which use "," in numbers instead of the "." which standard US English localization uses.

The good news is that I am on Windows 7, so I can set my own localization to match anything I please, and then run my software to see what it does. That's much easier to debug. Two who reported bugs for me to look at were Carlos and Andrew, both due to localization problems.

Anyone interested in testing it over the next couple of days prior to release, drop me an email.

Wednesday, March 23, 2011

New Volume Pricing for PingGraph

I had a customer ask me about volume pricing beyond the discount for 6+ copies of PingGraph, so I have added two additional discount categories. Here's the full list now:

Price Per Unit (US$)
1 copy = $39.00
2 to 5 copies = $24.00
6 to 24 copies = $15.00
25 to 99 copies = $11.00
100 or more copies = $7.00

That puts the maximum discount around 82% off now, if you're distributing PingGraph across a large network and need a bunch of copies.