28 Apr 2008 shlomif   » (Master)

Unattainable Goals that are Still Worth Pursuing

One thought that occurred to me lately was the fact that there are some goals in life that can never be fully attained, but are nevertheless worth pursuing and getting nearer and nearer to them. Like an asymptotic function in mathematics if you may.

One example that I thought for it is the case of objectivity. Human beings are subjective by nature and so can never be completely objective. However, it doesn't mean that we shouldn't try to be as objective as possible, or completely give up on being objective. (And by being objective I don't mean having a neutral Point-of-View). Other people can disagree with me that objectivity is a virtue but it's besides the point.

Now a co-worker of mine is a Hasidic Jew, and when I told him that I'm an Objectivist, he said that one cannot be completely Objective. He then gave the fact that the Bible says that God brought the great drought because "Yetzer Lev ha'adam Ra' Mine'urav" (= the desire of the Human's heart is bad from his youth.), and later on decided not to do it again for a similar reason. He brought that as an indication that the Bible indicated that a man is not Objective by nature.

I thought about it for a moment and understood that the same can be said about honesty (or "righteousness" in a more religious language). We can never be completely honest and never lie or do the right thing everytime. But that doesn't mean we shouldn't constantly try to be as honest as possible, or worse succumb to complete dishonesty.

(I was told Immanuel Kant said something along the lines that if one wished, for example, to be sincere, he must not lie even if threatened by death. However, this is silly, because ethical and moral ideals are supposed to help you lead a happier life (as identified by Aristotle in the first book of "Nicomachean Ethics"), not to terminate them prematurely under someone who employs force or threat of force against you, when you otherwise did not do anything wrong.)

After I told it to my co-worker in an MSN Messenger conversation he agreed with me that I was right on both the honesty aspect and, in accordance with the principle, also the Objectivity one.

This concept can be applied to many other values or capabilities we desire. For example, one can always improve as a programmer, which is evident by the fact that most good programmers who take a look at their old code are unhappy with it. But it doesn't mean we shouldn't try to always improve as programmers.

Likewise, if a particular computing technology is large (e.g: Perl, Java, PHP, .NET) and also has possibly spanned a large number of halo technologies (e.g: CPAN, Apache Jakarta, etc.), then mastering the core language would be hard, and time consuming. In the Perl world we constantly say that "no one knows all of Perl, not even Larry Wall". But it doesn't mean you shouldn't do your best to master as much as you can out of it, or need to.

One example that I'm especially sensitive about is politics in a software project (possibly an open-source one ). Obviously, there can never be zero politics, but the project leaders and members should always try to reduce its amount, because not keeping it at bay is a recipe for disaster. I constantly hear about important features that are not implemented or even bugs that are left unfixed in open-source projects due to political reasons.

I can give Subversion and to a lesser extent the perl5-core development tools as good examples of projects with very little politics and a value-maximising attitude.

One can think of many other examples.

My point is that while it is true that we are humans and can never be perfect, we should always aim for perfection in some aspects. And given enough willingness and by learning from our mistakes, we can remain close to perfection in those respects all the time.

Syndicated 2008-04-28 07:46:54 from shlomif

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!