Vice to virtue and back again
by tilly (Archbishop) on Dec 10, 2000 at 23:50 UTC
|
Consider for a second self-interest. Is it a virtue or a
vice? It can be either. In the form of greed it is a vice.
But enlightened self-interest is a virtue.
Larry's points is that traits which are traditionally vices
like laziness, impatience, and hubris, are really virtues
when you look at them with the view of enlightened
self-interest. Doing things right is not just done for an
abstract reason, it is done for the reason that you expect
to reap the benefits of it again and again.
A true experiment to ponder. At one point a group of
researchers took a group of kids and collected a bunch of
data on them at 6. Then when the kids were all grown up
they did a follow-up study. One of the questions that the
follow-up study asked was what characteristics at 6 affected
the eventual income level.
The single biggest factor did not turn out to be the result
of a question on an IQ test, family income, or any of a
number of factors you might expect. Instead it turned out
to be a demonstrated capacity for delayed
self-gratification.
Their test was simple. What they did is put the kid in a
room with a piece of candy. Then told the kid, "The candy
is yours if you want it. But if it is still here when we
come back, we will give you another as well." Then left for
20 minutes. The kids with the control to leave the candy
wound up making more. It is as simple as that.
Well read Larry's descriptions of his virtues again looking
for the following. In every single description of why
each trait can be a virtue the trait is combined with a
capacity for delayed self-gratification. Without that
ability to recognize and apply enlightened self-interest
the trait remains a disgusting vice. With that capacity
you wind up (like the kids) always winding up ahead.
Now read your argument. Whose arguments pre-suppose an
ability to delay your gratification, and whose do not?
None of your arguments have caught the spirit of what
Larry Wall said. Every one of your roommate's arguments
did.
I call that a slam-dunk.
And for a related note, whenever you disagree with someone
then learn something useful from their explanation, that
is a win for you. Learning opportunities only count as
losses in my book if you refuse to admit that you had
something to learn. Sure it isn't easy to say, "You are
right, I was wrong." But being willing to do that and take
it to heart will wind up with your being right more often
in the end. And so again we see the difference between
hubris without enlightened self-interest and with. Without
you hold to a ridiculous position which you know you have
lost. With you learn to deserve that pride and ultimately
earn more respect because of it! | [reply] |
|
I wish I could vote more than once for this post. This is a very well-written, thoughtful, and beneficial (to everyone) post.
If anyone is interested in the experiment tilly is talking about, there is a link here : http://www.library.unisa.edu.au/newslet/soc12-99.htm It might not be exactly the same thing, but a very interesting case study none the less. Apologies for not writing anything about Perl, but I wanted to write something about this fantastic post.
Azatoth a.k.a Captain Whiplash
Get YOUR PerlMonks Stagename here!
| [reply] |
Re: (Wombat's conceptions of) The three virtues of Perl are CONFLICTING!
by Petruchio (Vicar) on Dec 11, 2000 at 00:11 UTC
|
Here I am, planning on complimenting you on being a
clever monk and making
an outstanding post,
and I find that you use Pico. Talk about cognitive
dissonance!
I'm afraid your friend is right, and that you are
practicing False Laziness. By refusing to do the
required work up front, you are damning yourself to more
work overall. If you learn Emacs, you'll be more truly
Lazy, for you'll save yourself work overall. If you learn
Vi, you'll be even Lazier, because Vi requires fewer
keystrokes for a given task. (Quoth Petruchio, the
grinning troll)
Your Impatience, too, is False Impatience. True
Impatience is the anger you feel when your computer
tries to make you do its work for it. Pico is one of
your computer's devious tools, with which it makes you
its willing slave. I know; I used to be a Pico user...
though from ignorance, not willfulness.
Unfortunately, you've really painted yourself into a
corner, now. The Honest thing to do would be to admit
defeat... but Honesty isn't one of the virtues of a
programmer, and it can be terribly annoying. Your
alternatives are limited... you may:
- *sigh* Learn Emacs
- Learn Vim, and insist that that's different than
learning Vi
- Make some bet which you can honorably lose, and
switch to Vi to fill your end of the bargain. I suggest
betting that your roommate can't do something really
unpleasant.
- cp vim pico or ln vim pico
Another win on technicality, because you're running a
program called pico. Having to type an extra two letters
(as vi is often a link to vim or another clone) to
invoke your editor, though, remains a serious compromise.
- Move out
There are probably some other good options. Be creative,
but realistic; your objective is not to continue
flogging yourself with Pico, but to save face. In any
case, take solace in knowing that Vi isn't actually hard
to learn at all, and you can extend it to do cool things
using Perl.
Now say 20 Hail Larrys, write a script of contrition
(using a real editor), and next time you come back it'd
better just be fornication or something. | [reply] [d/l] [select] |
Re: The three virtues of Perl are CONFLICTING!
by quidity (Pilgrim) on Dec 10, 2000 at 23:11 UTC
|
Laziness
A programmer does not want to type anything more than is absolutely required (where the value of required depends on your circumstances). This means they like reusable components, like modules, subroutines or even a quick way to write a loop over the elements of an array.
Impatience
A programmer wants to do things now, quickly and doesn't want to spend ages implementing a solution to a problem. This is closely related to laziness.
Hubris
Pride in a job well done. A programmer does not want to produce shoddy tools, he want his programs to Do the Right Thing and be bug free. This might seem to conflict with the other two, but it doesn't, not when you think about it.
Once you've finished your program (ie. once it can send email), you can stop writing it. A program isn't finished until all the bugs are squashed (hubris) and you want this to happen as quickly as possible (impatience) through the minimum of work (laziness). See?.
| [reply] |
(redmist) Re: The three virtues of Perl are CONFLICTING!
by redmist (Deacon) on Dec 11, 2000 at 00:38 UTC
|
See, the thing is that sometimes, a Monk is too Impatient to be Lazy. You want to get something done, but it requires alot of work. At this point, the road diverges:
- Impatience outwieghs Laziness (this is the Right Answer)
- You fall prey to False Laziness (this is the Wrong Answer)
False Laziness is a demon that every young Grasshopper should avoid like an unchained tiger!
redmist
Silicon Cowboy | [reply] |
Re: The three virtues of Perl are CONFLICTING!
by turnstep (Parson) on Dec 10, 2000 at 22:57 UTC
|
No, no, no, no, no. You've got the whole argument wrong.
It's not vi vs. pico it's
vi vs. emacs!!!
Not that I will even dare to start a debate here in
the monastery on which *cough*emacs*cough* one is
"better." :)
| [reply] |
|
Ehr...I prefer graphical editors like Notepad+ in KDE or Ultra-Edit 32 (the best IMHO) in M$ Windows.
Very simple, very basic, but it gets the job done. I prefer to edit files on a unix machine running Samba from a windows machine with Ultra-Edit. UE is great, initiutive interface, many features which are easy to kick when you don't need them.
Vi is too hard, awkward to use and Emacs is overkill.
If you disagree to the point of feeling an urge to strangle me, you can disregard this information :).
"Let's not include text here.."
| [reply] |
(jeffa) Re: The three virtues of Perl are CONFLICTING!
by jeffa (Bishop) on Dec 11, 2000 at 02:09 UTC
|
Remember, there are two kinds of people in the world of
computer science:
Them emacs folk are
aliens
- don't alert them to this fact.
They know too much as it is. They'll claim that Free Source
cannot be written without a GNU editor.
But enough about that - as for the original virtues, best
to only apply them to Perl. Mixed metaphors can result in
laboratory explosions - ever think about applying Hubris
to COBOL???
Jeff (vi till the day I die . . . )
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
F--F--F--F--F--F--F--F--
(the triplet paradiddle)
| [reply] |
|
vi till the day I die... I get it! As soon as you become a transient, higher-order being (via death), you'll use emacs. Excellent. Many folks like me have already caught on to this and are using emacs before they die. :-D
AgentM Systems nor Nasca Enterprises nor
Bone::Easy nor Macperl is responsible for the
comments made by
AgentM. Remember, you can build any logical system with NOR.
| [reply] |
|
<sigh> I'm an emacs sort of person myself. I do not, however, claim that open source cannot be written with anything but a GNU editor, however, I find it the best editor for my "style of stuff", whatever that may be. I hope to die and continue to use emacs; I currently use it for all but the tiniest of jobs, for which I use pico -- never vi(m).
| [reply] |
|
| [reply] |
Re: The three virtues of Perl are CONFLICTING!
by chromatic (Archbishop) on Dec 11, 2000 at 09:50 UTC
|
| [reply] |
Re: The three virtues of Perl are CONFLICTING!
by Anonymous Monk on Dec 11, 2000 at 02:04 UTC
|
If you were LAZY you would want to learn vi so as to save yourself
time and trouble over the long haul. If you were IMPATIENT, you
would want to learn vi as soon as possible so as to start reaping
the benefits sooner rather than later. Finally, with HUBRIS you would
not want just to learn vi but instead not be satisfied with less than
complete mastery of vi.
Admitting that vi (or some other programmer's editor) is superior to
pico for your tasks, but then not making the effort to learn it is
neither Laziness, Impatience, nor Hubris.
| [reply] |
Re: The three virtues of Perl are CONFLICTING!
by extremely (Priest) on Dec 11, 2000 at 03:06 UTC
|
Here is a Pico story for ya. Years ago, on an SGI IRIX machine, the version of Pico on there had a nasty habit of
truncating lines. I had a script that ran
off of a data file we selected special out of a DB. The select was done at a particular time and then the DB moved on. The last field was a number and each line was about 255
characters wide. With the return on the end, the line was
1 chracter too long so it chopped one digit off the end of
every integer and put the return back on. OUCH! That is a
high price to pay for quickly fixing the spelling of someone's name
It also took the else {} chunk off of a giant long line once but I
pretty much blame that on the author not the editor. =)
--
$you = new YOU;
honk() if $you->love(perl) | [reply] |
Perl is cohesively cool.
by frankus (Priest) on Dec 11, 2000 at 22:58 UTC
|
I see no disparity: - Perl advocates Hubris, Laziness and Impatience.
- There is more than one way of doing it.
Ergo: there's many ways to be lazy, impatient or hubristic.
--
Brother Frankus. | [reply] |
(brainpan) Re: The three virtues of Perl are CONFLICTING!
by brainpan (Monk) on Dec 13, 2000 at 14:09 UTC
|
I'd malign you, but I'm just now resolving to move from pico to vi myself. Thus far the best resource I've found to help me through this process is the vi quick reference card, (thanks to jepri for recommending this).
This site might also prove useful (thanks to crazyinsomniac for this link).
More links to helpful reference material coming $soon = localtime + undef.
And no, I don't own 27 pairs of sweatpants. | [reply] [d/l] |
Re: The three virtues of Perl are CONFLICTING!
by yakko (Friar) on Mar 10, 2001 at 09:44 UTC
|
I started with pico. Coming from the MS-DOG world back then, I found it to be as easy as (new) edit. Then, having come from a WordStar-ish background before, I found joe to be the editor of choice.
This is where my paradigm began to suffer a major shift.
One of the first Unix systems I administered was a crufty HP9000/750 running HP-UX 9.03. There was NO joe, and NO pico... only vi. "Laziness" checks out of that hotel, and "Impatience" checks in. I try compiling joe, to no avail. I ended up learning vi instead.
As time marched on, I was finding myself typing :wq in joe, and missing all the neat tricks I could do to get places fast. "Laziness" checks back in as I make vi my default editor for EVERYTHING, not just on that one system, but for my Linux boxen at home.
This turned out to be a big win, as I now was able to take on most any Unix system and actually edit stuff without trouble, thus reinstating "Laziness" and "Impatience" to their rightful positions on the totem pole. "Hubris" then came naturally.
(Though I'm not above using ({word,note}pad on) win*, I have put vim on there, as well, as the ":wq!" problem manifests itself even in Word... even at the command line... even in PowerPoint and Outhouse!)
--
Me spell chucker work grate. Need grandma chicken. | [reply] [d/l] |
On The Subject Of Holy Wars...
by BlueLines (Hermit) on Dec 12, 2000 at 00:49 UTC
|
The editor battle is already over at our work (Xemacs is the champion), but we're treading on new holy war ground. Some here use bash, and some use tcsh. This causes many nightmares for shell script writers, as some refuse to install the shell which they don't run. Or they may (in the case of my boss) have a binary named "bash" and "/bin/sh" which are both just copies of tcsh. Ughhh...
BlueLines
Disclaimer: This post may contain inaccurate information, be habit forming, cause atomic warfare between peaceful countries, speed up male pattern baldness, interfere with your cable reception, exile you from certain third world countries, ruin your marriage, and generally spoil your day. No batteries included, no strings attached, your mileage may vary. | [reply] [d/l] [select] |
|
Hmmmm... I'm a firm believer that bash is the one true
shell. However, I usually install tcsh on all the boxes
I setup, just for those people who prefer tcsh, and so that
any shell scripts written in tcsh still work. As with most
things I take the approach of each to his own.
I think it's just plain idiotic to have /bin/sh point to
/bin/tcsh (it's probably worse than not having bash installed
at all) - it will break scripts bad, real bad!
I have come across some system scripts written in ksh.
That was kinda nasty, not exactly a standard shell, I had
to install it on 30 odd machines once they had been
deployed. Just as well I had
written an automatic software distribution system!
(Yes, I rewrote the wheel...)
| [reply] |