Archives For August 2013

Sunday evening:

As I was putting away the tools from working around the lawn, I noticed that Sarah had returned from running errands.  She casually mentioned that on the drive home, her Prius had displayed some warnings and she’d like for me to check it out.  The way she nonchalantly described the issue, I assumed that it was another “take me to the dealer” idiot light and began to investigate.

Upon inspection, this appeared to be more serious than just a benign warning light.  Just about every warning/error light on the dash was illuminated.  Worse yet, I inspected the engine bay before diving into the errors and thought the electric motor was unusually HOT.  We had just driven the car back from Florida the day before without any problems and even after 12 hours on the road, the engine wasn’t as hot as it was now.

Continue Reading…

My VRF Search Tool is proving to be quite useful on the job and I was looking for a way to automate some of the functionality of the tool so that it can be extended for use in other applications.  As it stands now, the index of VRF Names is only updated once a day by the first person to run the tool each day.  Since the tool is being used in a 24/7 environment, engineers working late may be working with old information.

Therefore, I’ve sought to automate the buildIndex() function of the VRF Search Tool and created  Just like the VRF Search Tool, BuildVRFIndex builds a CSV file of the VRF Name, Remote Peer IP and Local Peer IP of each VPN tunnel — but it lacks the functionality to search the index.

Unlike my other Python applications, this is the first time I’ve ventured into the use of a configuration file.  The configuration file will allow the user to pre-set the path and name of the files the application needs to run.  You can also set the username and password that will be used to log in to each of the routers.  NOTE: The password must be base64-encoded.  You can use a website like to translate your password into a base64-encoded string.

Continue Reading…

I’ve updated my VRFSearchTool to version 0.0.10-beta.

Version 0.0.9-alpha was created as a new branch to address issue #1 and issue #2.  A few individuals uses this version for nearly two weeks and did not report any problems with it.  Therefore, I merged the new branch into the master, updated the version and took the application out of pre-release.

I now consider this version to be in Beta and ready for observed use in production environments.

Should you encounter any problems with it, please create an Issue here.

Should no problems be reported, then I’ll make it official and we’ll call it good as version 1.0.0

Semantic Versioning

August 12, 2013 — Leave a comment

As a crusty old Computer Science major, you think I’d remember something from the software engineering days.

Or, maybe not.

A couple weeks ago I decided to update all my applications on GitHub to use Semantic Versioning.

I had a question as to if the madness behind the method I was using to version my software was more madness or method.  Looks like it was mostly madness.  Adhering to the industry standard for versioning, I returned to all my applications on GitHub and re-numbered them to be more in line with what they should actually be.

I wasn’t sure which upset my OCD tendencies more: Acknowledging my error and re-versioning all my applications or leaving it as-is, knowing it was theoretically incorrect.  I obviously chose to re-version everything and I’ll stick with this process moving forward.


Please don’t tell any of my software engineering professors.  Assuming they didn’t retire in the last 12 years…