State Abbreviations Graph

In a recent chat that I participated in, we were discussing US two-letter state abbreviations that were one letter off of each other (e.g., NY and NJ).

After that discussion, I was curious about whether it would be possible to step from any state abbreviation to any other by changing one letter at a time, using only valid states along the way. My first step was to determine if there were any state abbreviations which didn’t share a first or last letter with any other states, so I wrote a simple Ruby script to test that.

Matching StatesSo every state had at least one other state it could go to. Texas (TX) had the fewest, with only Tennessee (TN); Massachusetts (MA) had the most, as quite a few state codes start with M or end with A.

Now I needed to find out if all the states would connect to each other, or if there would be several distinct “neighborhoods” of states. I decided to do this visually by creating a graph, using the output of my script to draw the connections:

State One Letter Changes
Graph with US state abbreviations as the vertices, green lines connecting state abbreviations with the same first letter, and blue lines connecting state abbreviations with the same second letter

Based on this graph, it is possible for any state abbreviation to change to any other state abbreviation!

I was also curious about the number of steps needed to go between any pair of state abbreviations, so I wrote a path distance algorithm based on Dijkstra’s algorithm (but with each path having equal weight) to find the shortest number of hops between any pair:

State to StateBased on the results, the highest number of hops is 6 – so every state abbreviation can be changed into any other state abbreviation in at most six steps!


A Primer on Car Rentals

[This article is slightly modified from a post I made on the Starmen.Net Forum.]

I travel a lot for work and leisure, and I have rented over 150 cars, so I’ve got some experience on the customer side of car rentals. I’ll try to help you out with what I’ve learned.

Continue reading

Terminal Silhouettes: AKL



AKL’s international terminal (on the left) was deceptively complex to draw. Though it was mostly straight lines, which are easier than curves, the majority of lines were not right angles or parallel. This effectively prevented me from rotating the drawing and using the rectangle tool, which added a lot of extra time.

Likewise, only one of the parts that appears curved is actually curved; the rest are a bunch of straight walls at slight angles to each other. This meant I couldn’t even use the ellipse or curve tools, and instead had to draw half a dozen or so guides each time just to get the angles consistent.

All in all, then, the international side took me quite a while to draw for what’s a relatively small terminal. At least the domestic terminal (right) was pretty quick to draw.

Terminal Silhouettes: MEL



Since these terminal silhouettes are drawn to scale, I generally prefer compact airports to airports with widespread terminals, as the latter tend to add too much white space and distract from the intricacies of the terminals. So after drawing two Australian airports whose international terminals were on the other side of the airport from their domestic terminals, it was nice to be able to draw a single large structure for Melbourne.

This was also a relatively easy terminal to draw, as the vast majority of the walls were at right or 45° angles, and there weren’t many curves.

Terminal Silhouettes: Updated CVG and ICT

Inevitably, with as many terminal silhouettes as I have in my library, some of the airports I’ve drawn will undergo construction.

Since I first drew CVG (Cincinnati), they tore down their old Concourse C, so I’ve created a new drawing with Concourse C removed:



Likewise, while I was drawing ICT (Wichita), their old terminal was in the process of demolition. I’d initially indicated this by showing the old terminal as faded, but I’ve now gone ahead and completely removed it: