Many of you know the adage; but learning it anew can still be fun.
I had to trim leading and trailing whitespace in Perl. So:
# strip any leading or trailing whitespace
$string =~ s/^\s+//;
$string =~ s/\s+$//;
Then I made the mistake I often make, and started thinking. Two lines for that? Please. That can be done in one line, especially in Perl. So I found this:
$string =~ s/^\s*(\S*(?:\s+\S+)*)\s*$/$1/;
Yuck! Oh well, at least it probably runs faster.
Or better yet, Marcus, just stop thinking altogether. This one-liner idea would have made the routine both slower and less readable for the next person (notice I forgot the #comment the second time).
Bruce Schneier has a recent post about a new research paper that seems to throw a little bit of cold water on the obvious superiority of passphrases over passwords. Schneier has a pointer to the paper and a less-formal blog summary. The bottom line seems to be: users can choose poor “easily guessed” passphrases, and left to their own devices, they probably will. As usual with Schneier’s blog, many of the comments to the post are insightful and worth reading.
It seems that it might also be much more difficult to check the “quality” of a passphrase than a password. You’d like to be able to say things like: “Maybe you shouldn’t use Psalm 23:1 (King James Version) as a passphrase.”
Here’s a cute joke my stepfather sent me; I’m not sure where to credit it, so if you know, please comment. It’s an anecdote, reminding us how great engineering looks so effortless that others suspect the engineer of being lazy. Or maybe it’s reminding us how to extort our former employer. But no need to quibble.
There was an engineer who had an exceptional gift for fixing all things mechanical. After serving his company loyally for over 30 years, he happily retired.
Several years later the company contacted him regarding a seemingly impossible problem they were having with one of their multimillion dollar machines.
They had tried everything and everyone else to get the machine to work but to no avail. In desperation, they called on the retired engineer who had solved so many of their problems in the past.
The engineer reluctantly took the challenge. He spent a day studying the huge machine. At the end of the day, he marked a small “x” in chalk on a particular component of the machine and stated, “This is where your problem is.”
The part was replaced and the machine worked perfectly again.
The company received a bill for $50,000 from the engineer for his service.
They demanded an itemized accounting of his charges.
The engineer responded briefly:
“One chalk mark $1. Knowing where to put it $49,999″