Thar be rapscallions among us

It seems odd t’ say that thar be a seedy underbelly t’ Puzzle Pirates, but I be jus’ nay ready t’ believe that so many swabbies be actively roleplayin’. This underbelly I speak o’ be greed.

When ye get on a ship t’ job an’ pillage, th’ expectation, I would think, be that ye would hit th’ high seas until either th’ rum runs ou’ or th’ hold be so full o’ booty that th’ water threatens t’ flood in through th’ port holes. However, ever’ time a ship sets sail wi’ me aboard, after we`ve attacked an’ beaten one vessel some o’ th’ other shipmates begin clammorin’ fer the’r share o’ th’ booty. Now, booty be nay normally split until we return t’ port, so ye end up wi’ half th’ boat demandin’ we return t’ port after one successful swashbuckle.

On the’r part, this be very short sighted. Fer one, if ye feel th’ need t’ leave, ye`ll still get a share o’ th’ loot when ‘t gets split later. Ye dasn’t be havin’ t’ be present. Th’ other, an’ more pertinant issue, be that when yer crew be sixty ruffians, an swabbie split o’ e’en a haul o’ 50,000 pieces o’ eight will only be about 500 pieces, maybe a wee more or perhaps a wee less.

Th’ irritatin’ thin’ be that these swabbies jus’ will nay shut up. Cryin’ like infants they`ll keep demandin’ we port an’ split th’ cash, swashbuckle after swashbuckle, an’ if ye know anythin’ about th’ way th’ puzzles work ye know what that means. If ye dasn’t, well, if ye be talkin’ then ye aren`t workin’. So, get back t’ work, ye barnacles!

Ignoranceproofing

In Business, there are two types of people.

The first type is the kind of person who expects any individual who has a job to be able to do that job. This means that the individual needs to make the effort to understand each job function and why it is done. They also need to have a fundamental comprehension of the equipment they are involved with on a day to day basis.

The second type is the kind of person who expects the tools they use in their job to not allow them to make mistakes, so that even if they do not understand what they are doing, what they need to do is explained for them at every step and wrong choices are incapable of being made.

I’m the first type. And because of that, when I write programs, I write them so that everything that needs to be possible is available. Many people I write these programs for are the second type, and they want my program to analyse data (and read minds) and allow them on any given screen to only be able to do what they are required to do for their job.

For example, I have a screen that allows you to edit the status of a port and to edit the assignments of that port. I coded it completely open (you can edit either at any time) because our database and backend has been shown to have… quirks where data goes missing. The people I am writing it for want the screen to only allow you to set a port’s status to working if an assignment exists, and only to set it to available if no assignment exists. They also want adding or deleting an assignment disabled if the port is in a working status. So, if a bug happens that obliterates an assignment while leaving the port in a working status… my way, you add the assignment back. Their way… you have to set the port to available, then make the assignment, and then set the port back to working. And if for some reason you want to manually delete a port… my way, delete assignment, set port to available. Their way, set the port to available, delete assignment.

Now, the question is, do you see why my way is better?

This screen is not the entire application. And there are hundreds of people using the application. On another screen, there is an equipment assignment page that searches for and offers available ports for assignment. In both cases, they are making the port available for assignment when it is not ready to be (or is not going to be) available.

So, I do it their way… and the next complaint I get is that one person was working on the manual screen above and the port was assigned by the automatic screen after they made it available when it wasn’t really available. Now they want me to code in a delay, store a time stamp and only offer to automatic assignments ports that have been available for at least an hour… *sigh*