[erlang-questions] RE : Erlang now in the railway industry

David Hopwood <>
Tue Sep 12 02:48:38 CEST 2006

Richard A. O'Keefe wrote:
> "BETIS Alexandre" <> wrote:
> 	I pretended Erlang was just a C library dedicated to the 
> 	writing of high availability systems. In fact, this is 
> 	partly true. As Mr Spock would say, "Why lie when you can 
> 	just omit?".
> I'm reminded of a true Prolog story.
> Consultant C was to write a program for organisation O.
> Organisation O demanded that all such programs be written in language L.
> Consultant C was of the opinion that Prolog was the right language
> for the job, but alas, L wasn't Prolog.
> So Consultant C wrote a Prolog interpreter in L, and delivered that as
> "the program", while the "real" program was described as
> "configuration data".

Customer handling is a learnable skill.

Here is one technique that I've found very effective. When the customer
gives you an initial specification, it will have some errors and omissions.
(Safety considerations are often neglected, for example.) It will also
specify some stuff that is not an error, but you think is a bad idea.

Rewrite the spec fixing the errors, omissions, and bad ideas, and hand it
back to the customer. Make sure that this is not presented as a criticism of
what they originally wrote, but as *your understanding of what they wrote*
(and oh, I've "just clarified some details..."). It is very important that
you be able to provide a convincing technical explanation for any of the
changes (customers will differ widely in how much of this explanation they

If you can demonstrate by this that you know what you're doing, most
customers will be sufficiently reassured that they'll back off from
overspecifying the technical stuff, and just leave you to get on with it.

Occasionally you will get a customer that doesn't respond well to this
approach, doesn't listen to reasoned technical argument, and carries on

If this is the case, it is important to find out before accepting the
order, because this is when you have to ask yourself "Do I really want
this contract?" As a consultant, I have only ever lost money or had other
bad experiences on contracts with this type of customer. Seriously
consider refusing the work. (You may consider directing them to another
company, even if it is a competitor. Or for the really bad customers,
*especially* if it is a competitor. <evil grin>)

David Hopwood <>

More information about the erlang-questions mailing list