usable in any place a human can be used

20100212

arbitrary

[caption id="attachment_730" align="alignright" width="199" caption="Fucking arbitrary decision, but a good one!"]Lion riding a horse[/caption]

Rant time, oh it's Friday rant time! You see we are making progress on our project at work up to the point that I will be traveling to beautiful Indiana next week to get some specialized training and toolkits. It's a big deal for our project and we are all very happy, I'm glad to get to be an important part of all this and actually look forward to it. I will be heading out there with two other guys from the company and they will be leaving on Wednesday while I stay until Friday. Here comes the fun part, how to drive around after Wednesday?


Rent a car! I hear you shouting at your computer (don't worry I can't really hear you, you are just very predictable). Well it may shock you to find out that I'm only 24 years old and because of the actuary tables I am not allowed to rent a car. You see you have to be 25 years old to do certain things, like rent a car or hotel room or get a nice break on your car insurance. Less than 25 and you are a hellbent young rogue ready to destroy any car you get your hands on. It doesn't matter that I've spent the last 6 years working hard studying at University to get 2 degrees or designing software for a Fortune 1000 company, no the table says 25 years old and by the hammer of Thor we are going by the table.


Now there is a monkey wrench, one I'm sure we'll get settled and figured, but it's not the first time arbitrary decisions have been made that have negatively impacted me, and it probably won't be the last. On this current project we deal with messages and messages have many pieces parts, in the old system you could have thousands and thousands of different pieces parts. In this new system you are limited to about 1,000 unique parts, it has been a challenge trying to figure out how to get everything to work. Is there some reason for this, NO! its completely arbitrary, they just chose a large number, and in the next iteration of the product that limitation will be lifted.


I remember hearing a story from a fellow developer about how new software was installed that all webforms had to send their data to so that it could be sanitized (despite the fact that it was already being sanitized by our program). This new cog in the machine had a limit of 100 fields per form, now only in the dreams of a fevered madman would you need more than 100 fields. Well it did, it was a complicated form dealing with complicated government requirements and to make it easy for the user it was dynamic and beautiful and everyone loved it. Then they had to completely break it, make it work in chunks and find some clunky workaround so that it would never submit more than 100 fields, the users hated it, the developers hated it, everyone hated it. Some digging went forth and the 100 field limit was completely arbitrary and you know in the code somewhere was something like this.


[java]
FormField fields[100]; //No one will ever need more than 100 fields
[/java]

This arbitrary decision causes a world of hurt. Now we don't want to go down the super configurable, just change this XML file which will regenerate this XML file which will be used to partially populate this .properties file which will be dynamically.... fuck you. Just that if you have limits there better be good fucking reasons, or else remove them.


If you are going to limit me to 140 characters there better be a good reason, oh because of the inherent limits imposed by SMS, fine Twitter I understand perfectly. You can't open two spreadsheet with the same name even if they are different files, what are you doing Excel?!


The next time you are about to code something that will result in a clearly arbitrary error message down the road, you better have a good reason to. There better be some sort of machine limitation or design limitation or something, because its not the limit that pisses people off, its their arbitrary nature.

2 comments:

  1. As coders we only have so much future vision. In our haste to craft something quickly, we often miss differentiating the limitations that are actually required, from what we think is required.

    A great reminder to think carefully on the limitations we embed into our code with faulty assumptions. Y2k ;)

    ReplyDelete
  2. Tim Benninghoff2/15/2010 6:35 AM

    Actually, alot of the big name companies WILL rent to you if you're under 25, but you must be at least 21. When I was in your situation many years ago, I had luck with renting from the company that shares a name with an aircraft carrier and a starship. They just charged me a surcharge.

    I'd call around.

    ReplyDelete