Copyright 1995-2016 by Kevin G. Barkes All rights reserved. This article may be duplicated or redistributed provided no alterations of any kind are made to this file. This edition of DCL Dialogue is sponsored by Networking Dynamics, developers and marketers of productivity software for OpenVMS systems. Contact our website www.networkingdynamics.com to download free demos of our software and see how you will save time, money and raise productivity! Be sure to mention DCL Dialogue! DCL DIALOGUE A Matter of Ethics Originally published April, 1995 By Kevin G. Barkes Assuming for the purpose of this column that the term "business ethics" is not an oxymoron, I thought I should alert those of you in VMSland to an interesting phone call I received the other day. It came from an outfit that sells lots of VMS software. They wanted to tell me of a "unique program" that would "help not only my clients" but me as well. Here's the deal: I recommend their product to my clients and supply them with my client's name, contact and phone number. If my client buys the product, the company sends me a check for 10 percent of the purchase price of the software. This could end up being a not insubstantial figure, especially if the target systems are large installations. According to the caller's logic, it's a "win-win-win" situation; the client gets the software I recommend; the company gets a new buyer for their program; and I get a nice little check at the end of the month. What's wrong with this picture? "Don't you think it's improper, offering consultants what amounts to a kickback for sales leads?" I asked. The person responded, in a tone of high dudgeon, that I had totally misinterpreted the offer. It was the company's way of rewarding me for my support of their product through past customer referrals, and it in no way should be considered otherwise. I was going to recommend their software anyway, right? What's the harm in picking up a few extra bucks? Well, excuse me for being cynical, but if an outfit gives me a percentage of their sales when my client buys something based on my referral, I think it makes me a salesman for their product. The problem is my clients don't know that. They think they're paying me big bucks for an unbiased opinion. Maybe I would recommend the product in question anyway, but how do you think my clients would feel if they discovered I profited from a purchase based on my so-called "impartial" decision? Since I have a kid in college, a relatively new mortgage, and an installment agreement with the IRS for paying back taxes, I'm not going to mention the name of the company to save them the bother of trying to sue me for money I don't have. But caveat emptor: If your company uses outside consultants, make certain that you have a clause in your contracts that requires the consultant to reveal any relationships he or she may have with vendors, especially any arrangements where the consultant profits from the sale of products he or she recommends. I frequently get calls from customers asking about stuff I mention in this column. During the conversation, I always make it clear what relationship I have with the firms. DiskMizer and ScriptServer are two products I recommend that I've purchased for my own use. I received a free license for Channel Island Software's DCL to Fortran precompiler based on participating in their beta program and offering product enhancement suggestions. Ergonomic Solutions, the people who do RamPage, keep sending me license renewals even though I never paid for a license and, frankly, don't use the product regularly because of a lack of com ports on my VAXstation. In any event, if you're paying for independent consultants, make certain they are truly independent. They should be making their money providing you with technical advice, not by surreptitiously hawking software. ****** PARADOX - Several readers ask if I get into trouble for publishing code that mimics commercial applications. Surprisingly, the answer is that many software developers are thrilled when I do so. Take the various examples of code to dial and send messages to alphanumeric pagers from DCL and Kermit. It's not unusual for readers to install these applications at their site and suddenly discover their users love them. The down side is they begin demanding enhancements and support. What began as a simple piece of code turns out to be a nightmare or, even worse, a career. Craig Lombardi of Ergonomic Solutions, makers of the aforementioned RamPage alphanumeric paging software, is a case in point. Everytime I run Kermit or DCL paging code, they start getting calls. "People like the idea of getting pages from their systems. They try out sample code, and the users start wanting more utility. We end up bailing people out." The next release of RamPage includes all sorts of hooks into various VMS utility packages and just about every programming interface known to VMSdom. Once I get the terminal server connected to my VAXstation, I'll pony up the licensing fee, convert my evaluation license into a real one, and install it permanently. ****************** Randy B. Kaltenbach of the Mathematics, Physics, and Computing Dept. of the Southern Alberta Institute of Technology (SAIT) in Calgary, Alberta, Canada submits this month's piece of useful reader code, RETAGE.COM. The purpose of this command procedure is to calculate the approximate number of calendar days until the user's retirement date. You supply the target retirement age and your birthdate, and the procedure does the rest. The example here includes my birthday and my desired retirement age, something I may have to rethink based on the income-limiting position I took earlier in this column. Randy's code has a lot of other less wistful uses as well. This is one of those procedures which can be cannibalized and used for a number of other purposes. ******************* Favorite Internet tagline of the month: "Unix on AXP? Why run a two-bit operating system on a 64-bit machine?" ******************* Kevin G. Barkes is an independent consultant who comments, "Programming is like sex. One mistake, a lifetime of support." Kevin lurks on comp.os.vms and can be reached at kgbarkes@gmail.com. PROGRAM 1: $! Calculate approximate number of calendar days $! left until retirement $retage = 41 ! Insert your retirement age here $bd = "11-sep-1954" ! Insert your birthdate here $! $! Retirement year, month, day: $ry = f$integer(f$cvtime(bd,,"year")) + retage $rm = f$integer(f$cvtime(bd,,"month")) $rd = f$integer(f$cvtime(bd,,"day")) $! $! Current year, month, day: $cy = f$integer(f$cvtime("",,"year")) $cm = f$integer(f$cvtime("",,"month")) $cd = f$integer(f$cvtime("",,"day")) $! $days = f$string((ry-cy)*1461/4 + (rm-cm)*304375/10000 + rd-cd) $write sys$output "About " + days + " days to retirement!"