It’s more than Dr Evil ever dared ask, but GRR Airport has no such qualms…

Over the weekend I noticed twitter was buzzing, and in particular I noticed a conversation between @testertested and @jamesmarcusbach in which they were discussing an ever increasing total for car parking. Intrigued, I asked for more info and ended up joining in with testing the boundaries of a car parking calculator for Gerald R Ford International Airport. Go try it for yourself – see what the highest value car parking charge you can get is. As a starter, I’ll tell you that the record is in the quadrillions of dollars (that’s a one with 15 zeroes on the end).

 I started off gently, getting the charges for 1/1/2000 to 1/1/2030, then going through each of the available types of parking to see which was the most expensive. My first assumption to be challenged was that valet parking would be the most expensive when it turned out that as costs increased, short-term parking was far more expensive and indeed continued to be so until the end.

I then ramped up the end date to 31/12/9999 and watched the figures climb, but they were still nowhere near the numbers I’d seen on twitter, so I carried on.

 My next thought was to set the start date to BC, or rather to enter in a negative value, so I reversed my ‘to’ value and entered in 1/1/-9999 and sure enough this worked, but I was still a way away from the numbers I’d seen achieved by others, so I persevered. This time, I tried adding more 9s to the year, and here was when I ran into my first validation error. Although the field did not restrict how many characters I could add, at a certain point the calculator said that my end date was before my start date. Now that I’d finally exceeded the limit I could fine-tune my numbers to find out what it was. I got to a stage with a certain number of 9s in the year field, and had a charge for that period BC to that period AD. I set the times to 00:00 to 23:59 and looked at my ‘score’ of over $1.8 quadrillion, and was reasonably happy. I tweeted the result – soon after I got the reply:

 “That is about a third of the record”

 A third??! That spurred me on. I quickly realised that I was being too kind to the application and not testing it as I normally would. If the application allowed negative values for the year, then why not the month and the day? Entering -31st of the -12th month improved my score further, and similarly I was able to add negatives in the time field. It then occurred to me that I was sticking to traditional day and month values needlessly, the application obviously wasn’t doing much validation as it was allowing negatives.

 I applied my ‘year’ value to my day and month, and this worked. I tried increasing it, but as with the year this caused a validation error. I then applied the same numbers to my time field, again with positive results and an increasing score. I was now getting closer, but still not close enough. It was then that I realised my second incorrect assumption. I’d assumed that the limitation on the day, month, year etc. was in the number of characters; however I found that I was able to increase the absolute number by one, successfully.

I continued increasing and realised that I could keep all of the 9s that I had, and then add a 7 at the front. Once I replaced all my numbers with this seemingly limiting value, then my score was much higher, at $4.985 quadrillion. The record is $5.124 quadrillion, so I was within 4%.

 At this point I’d used up my half hour, which was the limit that most people seemed to be using, so I stopped, reasonably content. Over the next couple of days I had a few more thoughts about it, and again realised that my biggest mistake was in being too kind to the application and playing by rules that it wasn’t necessarily following, e.g.

  • I was putting in a day, month and year – I hadn’t tried with more or less than three values.
  • I was putting in a time – the time may have had too many characters, but there was still a ‘:’ in the middle
  • I had restricted myself to numbers – which I wouldn’t have done if I was trying to break the app rather than achieving a high score, however it turned out that the letter ‘e’ is present in the parameters for the best score.

 Thanks to @jamesmarcusbach and @testertested for the inspiration and link, and for those of you that want to see the high score, here’s the link: