Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid


by larsen (Parson)
on Apr 05, 2001 at 16:47 UTC ( #70067=perlmeditation: print w/replies, xml ) Need Help??

Another Monastery tale, not supposed to be directly related to computer programming :)...

One of those sunny days, an apprentice went to Zen master, who was sitting near a stream. The apprentice said:

- Look at me, Master. I've learnt a lot since my first day in the Monastery. I wrote a lot of lines, and read those of my fellow monks. But I can't see a spark of true beauty in my work

Then, the Apprentice pointed another monk, who was sleeping under a tree, with an open book over his face, and said:
- Look at him. He doesn't know discipline, but some of his works are like perls: examples of purity, clarity and perfection.

The Master said:
- Artisans do what they want, artists do what they can.

And the Apprentice gained enlightenment.

Replies are listed 'Best First'.
Re (tilly) 1: Discipline
by tilly (Archbishop) on Apr 05, 2001 at 18:28 UTC
    What was the book?

    There is a good chance that it was a reference aimed at beginners that was being reviewed - yet again - to clarify his understanding.

    A very good strategy for mastering topics like programming and math that build on themselves is to constantly, whenever you see something that you do not fully understand, go back and find out what is going on. In the process of reviewing from a position of more wisdom you get opportunity to clear up initial misunderstandings and to condense your internal model of the problem to something cleaner.

    As The path to mastery indicates, this is a point I learned from math. As a math student I looked incredibly lazy. I came to class, but didn't take notes. I didn't study before tests. But I aced the subject!

    What was my secret?

    Well first of all I read each day's material in the text before I went to class. I came to class prepared, I knew what I had not understood in the text. I listened closely, not taking notes so that I could give full attention to the lecture. When the professor came to something that I did not understand (particularly if it was on my mental list of things to check on and they didn't clear it up), I asked. Not surprisingly, it turned out that if I did not understand after having read the book and seeing the lecture, the other students generally didn't understand either. So my questions were useful for everyone.

    And then when I read, every time I felt the slightest hesitation about something, I double checked. I went back to where the point was first explained and reviewed there and then.

    When the end of the course came there was no need to study, I generally knew the subject cold and so made sure that I had sleep instead.

    So I came to class without paper, took no notes, and did not study for the tests. I was missing the external signs of discipline. But was I truly undisciplined?

    This only works in some subjects. But it works well in math, and seems to in programming...

      One thing that you left out was that you probably did most if not all of the homework problems. I think with programming I can read the material, but until I can actually play around w/ it, it doesn't stick in memory.

      The main problem I have w/ mastering perl is that I will occasionally go a month or two where I do nothing but perl, and then will go a month or two where I don't do any scripting (I am a *NIX SA). I find that after that month away, I have forgotten the stupid little things, like the syntax of a for loop. Geez, it's embarassing having to look things like that up.

      As for math, it made no sense, until I learned it thru geophysics... go figger.


      The eternal apprentice

Re: Discipline
by rchiav (Deacon) on Apr 05, 2001 at 19:03 UTC
    Something to add that runs in line with what Tilly wrote:

    If you break anything down to it's smallest pieces, it's relativly simple. It's a technique that we have to use whenever we're looking at a large piece of code that we didn't write.. or even something that we wrote a long time ago. You break it down; figure out what each little piece does. I truely belive that a good portion of people can learn just about anything if they break the subject matter down.

    There's two things that generally run counter to this though..

    Lack of Desire..

    Your desire to learn the meterial is less than your willingness to forgo the time needed.

    Lack of Patients..

    You're not patient enough to break down the problem. You want the enlightment now.

    I work in a capacity that's less than well respected by many technology sub-cultures. I provide administration for NT/2000 domains/servers/resources. What I've deduced is that though a lot of the bad reputation comes from the fact that the products are produced by "The Evil Empire", the other half comes from the people that actually work in this capacity.

    Like them or not, Microsoft has succeeded at making products that less than gifted people can (somewhat) support. The mentality that runs rampant among a good portion of my peers is, "Just tell me how to fix it." and "Oh, that's to complicated."

    The unfortunate part of the "admininstration made easy" aspect of Windows products is the fact that it's lowered the admission bar not only for ability, but also for desire. The desire for most is a better paying job; "Hey, I can make more money working with computers!" But there's no passion for technology. Are most of them smart enough to really learn what's going on? Probably. Do they have the desire? No. So they view everything as "too complicated" and "for those techo-geeks", when in fact they could more than likely learn the subject matter quite well.

    Anyway.. that probably dragged on too long, but the point is that "it's too complicated" or "I'll never be able to learn that" is rarely a true assement. It's usually the case that there's no desire and/or a lack of patients.


Re: Discipline
by dws (Chancellor) on Apr 06, 2001 at 02:49 UTC
    Apprenticeships involve ritual. Ritual is a discipline used to focus the student's attention. Many come to believe that the surface rituals of discipline are essential to the art. (Think "cargo cult".)

    A monk who has achieved mastery of his art -- an Artisan -- can distinguish between the essential disciplines of their art and the rituals the art is wrapped in.

    And besides, who is to say that the sleeping monk wasn't dreaming of doing one-handed pushups while being wacked on the head with by his Zen master?

Re: Discipline
by mothra (Hermit) on Apr 05, 2001 at 23:50 UTC
    My discipline comes in the form of reading, and then rereading the material (assuming that you're gaining your knowledge from books, of course :) until I'm quite sure that I understand well what I've just covered.

    This worked well for me as a chessplayer (formerly a top-ranked junior) and seems to now as a programmer (I graduated college with a 4.45 GPA :). In chess, I would often work much harder than those around me. I usually didn't go out much the week before a tournament (or two weeks sometimes), spent about 2 hours a day studying and playing games. I once spent 6 months reading a single chess book ("How to Reassess Your Chess", by Silman), but it was an excellent learning experience. I ended up quitting playing competitively though when I realized that the committment it would take to get where I wanted far exceeded my desire to get there, kinda like rchiav says.

    I do the same for programming, but tend not to read books twice through as often anymore. I did spend about 1.5 months on reading Learning Perl though, carefully going through almost all the exercises, and here again, patience and desire paid off: I picked up a lot from it.

    Now, in my day job, which pays me to write Powerbuilder (eeeek), I still keep the same work ethic/discipline. My supervisor and I are pretty much the only programmers in the place that actually *gasp* read programming books outside of work. Scary to think that some of the programmers (okay, one I think) I work with don't even KNOW what FTP stands for, and think that XML is a file transfer protocol.

    Perhaps they should be disciplined. =]

    (If any of my coworkers happen to read this, I'm kidding :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://70067]
Approved by root
[marto]: Eily, there's actually a lot of good discussion on the topic in the HN link choroba posted
[marto]: sorry for the late response, busy busy :/
[Corion]: I think you need to load Readline in the debugger, but I don't know how
[Corion]: Yay, invitation for a team-building workshop, with a team of 100 people :-/
[Eily]: marto after an additional read I started to see the light actually. And choroba's link was helpful as well :)
[Corion]: I'll send my colleague who doesn't yet know the people there, and I'll do production duty instead.

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (15)
As of 2017-07-26 15:03 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (396 votes). Check out past polls.