http://qs321.pair.com?node_id=573546

I have a short and hopefully thought-provoking (if not too overdone) Perl-related story to tell.

This summer I went to the HOPE conference in New York with some friends. One of these friends, Jason, gave a talk there. The night before the talk, we were loitering in a Starbucks. He was desperately preparing for his presentation, mostly by writing slides. Jason mentioned that he needed a quick script to generate MD5 hashes to use as part of a demonstration. Very shortly I wrote him something that ended up as this:

#!/usr/bin/perl use strict; use warnings; use Digest::MD5 qw(md5_hex); unless (@ARGV) { print "perl $0 hashme hashmetoo\n"; exit; } print $_, " = ", md5_hex($_), "\n" for @ARGV; print "\n"; print md5_hex($_), "\n" for @ARGV;
The second round of hash output was so he could conveniently paste into another application.

This is a simple task that was solved very easily, provided the right tools. Anyone with a slight knowledge of Perl and some concept of how to find and use relevant modules could accomplish this very quickly, as I did. Jason used the tool early in his talk, and then moved onto a direct lecture on technical details of his project. After his presentation he was approached by an employee of a certain well-known company that bills itself as the global leader in information security and availability. Among other items brought up, the drone asked for Jason to email him the program used to generate the hashes.

Do you, the Perl Monks community, agree that that is an unnecessary and humbling request? I would think that anyone who needs to ask an independent professional for such a petty tool would be an embarrassment to his company. He has certainly provided enough fodder for my jokes. There really is a lot to consider about the circumstance. Did the large company make a mistake in hiring him, or is he an average bear there? How exactly can he be expected to perform his duties as a security consultant (a title he signs his emails with)? Perhaps he is fluent in some programming languages, such as C (oh, the repetitive example!), and would consider the task of generating his own tool in that too difficult. If so, what does that say about the competitive advantage garnered by using a flexible language with a unified management and code repository?