Thursday November 01, 2001
Taking refuge in the Perl Buddha, Dharma and Sangha
I remember when I became a buddhist I was told that the most important thing one can do and the best way to live a good life was to take refuge in the buddha, the dharma and the sangha.
I have recently began to see how this parallel works with the perl community.
Buddha himself was not a god and will not ever be. Buddha was a simple monk who achieved what every man can achieve, enlightenment. When entering a shrine room it is part of the Mahayana tradition to prostrate before the buddha as a symbol of respect. One does not prostrate to buddha as an external deity, one prostrates to what buddha represents: the ability to become enlightened. What you could be. Take refuge in the fact that you can become enlightened. Respect your inner buddha.
Many of us think of Larry Wall as the ubergeek, and published reports would have us believe that he doesn't particularly care for this designation as the god king of perl. Larry also loves the commonly perceived enemy, Microsoft.
"Your friend is your enemy and your enemy is your friend".
Thankfully that quote has not expired yet. It's a ridiculous notion that Microsoft is the devil. Microsoft only wants happiness as we do. There are many in the Microsoft camp whose actions do not match this but then again I'm sure that Microsoft could point out to us members of our own Perl ranks who think that Microsoft can only do wrong. Larry wants this to work on Microsoft and serves as an excellent role model. Larry is like buddha in that respect. Compassion and understanding for ones perceived enemies is important. Microsoft seems to be a favorite but as one extraordinarily wise member of our ranks pointed out at YAPC2001, there are things to learn from other communities particularly Python. This bring us to our next point..
Taking refuge in the dharma. Taking refuge in the dharma means that there is a wealth of information in the teachings of our community that you should call upon should you need an answer. We have ALL been here. One particularly nice piece of work is the Perl Cookbook. Should you need help traversing a hash or reading a file backwards by line or paragraph, it's there. In buddhism, trails of spiritualism have been blazed by the masters before and like those trails, so paths to other problems have been figured out for you by perl mongers that have such a knowledge of code that to call them perl monks would be understating it. People such as Damian Conway, Ziggy, Nat Torkington, Randall Schwartz, and Lincoln Stein have all achieved perl lama status for the knowledge they demonstrate in their writings. Taking refuge in the dharma should begin with you amassing as many of these books as you can. Firstly because they are perl dharma teachings that will serve you well and secondly because it's your duty to support your community. If you think to yourself "I wish I could help the community as these guys have helped me" then support these same folks by buying their books and stocking your book shelf. Go to half.com and get them if you have to. If nothing else you can give the illusion that you are really smart while you are working towards perl enlightenment.
For our discussion dharma in our community represents many things. CPAN is probably the best example. I recently had a need for sending an ICQ message recently from a script. Luckily for me Jeremy Muhlich had the same problem and not only solved it, but was thoughtful enough to make a module so that others could have an easier time of it. Mr. Muhlich didn't have to be this nice. Now consider that there are thousands of modules there now and that there are at least hundreds of developers that were equally thoughtful as Mr. Muhlich. Hundreds of developers and they all thought enough to put it out there to make YOUR life easier. Can you think of any other group of people that would do this? Oh sure there are those groups that can pay lip service to this idea but to see it in practice is something different.
Then there's the sangha, or Perl Mongers.
Once a month, pay the visit and you will find that there is much to learn. Being an active participant is an also an exercise in ego reduction. Here's an experiment that not only will help you be a better programmer but a better person: bring your code to a Perl Mongers meeting, and let your fellow mongers ridicule you in front of your peers. It NEVER happens that way at these meetings. When you put away that programmer's pride and ask questions, something funny happens: people will give you answers. It's amazing really. The sangha will support you. If you can't make a PM meeting, then start reading and participating in comp.lang.misc.perl or perlmonks.org. Many times you will find that sangha members will give you an answer in just a couple of hours.
Taking refuge in the buddha, dharma and sangha: it's not just for buddhists anymore.