Sunday, January 28, 2007

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

- Tim Peters, The Zen of Python

Friday, January 26, 2007

An allegory

An allegory to a famous programming language. Can anyone guess which?

Camels are docile when properly trained and handled but, especially in the rutting season, are liable to fits of rage. They spit when annoyed and can bite and kick dangerously.

- Encyclopedia Britannica

Sunday, December 17, 2006

"Proof by analogy is fraud".

Many people know this quote but do not know to whom it is attributed to. I googled around and was pleasantly surprised to find out that it was first mentioned in one of my all time favorite book on programming: "The C++ programming language" by Bjarne Stroustrup.
"How do you find spinners in South Africa? Do you send secret agents into the hinterlands?"

- Harsha Bhogle, while commenting on the first test at Johannesburg.

Wednesday, December 13, 2006

Daphne - I don't see what's so hard about telling Roz you were wrong.

Frasier - You don't understand. It's not the same as Dad being wrong, or your being wrong. I have a degree from Harvard. Whenever I'm wrong, the world makes a little less sense.

From the Frasier episode "Roz in the Doghouse".

Tuesday, December 05, 2006

"You only live twice. Once when you are born. And once when you look death in the face."

- James Bond to Tiger Tanaka

Friday, October 20, 2006

Donald Knuth offers monetary awards to people who find and report a bug in his TeX typesetting system. The award per bug started at $2.56 and doubled every year until it was frozen at its current value of $327.68. This has not made Knuth poor, however, as there have been very few bugs claimed. In addition, a person will usually frame a check proving he found a bug in TeX instead of cashing it.

Monday, October 09, 2006

Paul Erdos

The latin phrase "Non numerantur, sed ponderantur" mentioned in the previous post was (first?) quoted by Paul Erdos, author of 1475 published articles on mathematics (mass unknown) all considered "substantial" contributions. He was an immensely prolific and famously eccentric mathematician who, with hundreds of collaborators, worked on problems in combinatorics, graph theory, number theory, classical analysis, approximation theory, set theory and probability theory.

Some more quotes by him.
  • A mathematician is a device for turning coffee into theorems.
  • This one's from the Book!
(Said with regard to a particularly beautiful or elegant proof, refering a "book" in which God wrote the proofs for all theorems.)
  • "Problems worthy of attack prove their worth by fighting back."
  • Television is something the Russians invented to destroy American education.
How many publications do you need to get into MIT?
Non numerantur, sed ponderantur (They are not counted, they are weighed).

- Excerpts from a forum on Edulix, a popular website for wannabe grad students.

Sunday, October 08, 2006

Jim Hacker: "So, is this [conversation] highly confidential?"
Major Saunders: "Well it is rather, yes."
Jim Hacker: "Shall I turn on the radio?"
Major Saunders: "Why? Is there something good on?"

- From the episode "The Whisky Priest"

Friday, September 29, 2006

"Strategy requires thought; tactics requires observation."

- Max Euwe
World Chess Champion (1935 - 1937)

Wednesday, September 27, 2006

Good Morrrninnnggggg Mumbai

शहर की इस दौङ मे दौङ के करना क्या है?

जब यही जीना है दोस्तो तो फिर मरना क्या है?


पहली बरिश मे ट्रैन लेट होने की फ़िक्र है

भूल गये भीग्ते हुए टहलना क्या है?


सीरिअल्स् के किरदारो का सारा हाल है मालूम

पर मा का हाल पुछ्ने की फ़ुर्सत कहा है?


अब रेत पे नन्गे पाव टहल्ते क्यू नही?

108 है चैनल फिर दिल बहल्ते क्यू नही?



इन्टरनेट से दुनिया के तो टच् मे है,

लेकिन पङोस मे कौन रहता है जान्ते तक नही.



मोबाइल, ळैन्डलाईन सब की भरमार है,

ळेकिन जिगरी दोस्त तक पहुचे ऐसी तार कहा है?



कब डुबते हुए सुरज को देखा था, याद् है?

कब जाना था शाम का गुज़रना क्या है?



तो दोस्तो शहर की इस दौड् मे दौड् के करना क्या है

जब यही जीना है तो फिर् मरना क्या

- Jahnvi in Lage Raho Munnabhai

Sunday, September 24, 2006

Life is like riding a bicycle. To keep your balance you must keep moving.

- Albert Einstein

Sunday, September 10, 2006

Success in life is a matter not so much of talent and opportunity as of concentration and perseverance.

—C. W. Wendte

Thursday, September 07, 2006

Knuth's first encounter ...

In 1956, Knuth had his first encounter with a computer, an IBM 650 --- a pre-FORTRAN machine. He stayed up all night reading the manual and taught himself basic programming.

"The manuals we got from IBM would show examples of programs and I knew I could do a heck of a lot better than that. So I thought I might have some talent."

- From the book "Out of their Minds: TheLives and Discoveries of 15 Great Computer Scientists" by Dennis Shasha and Cathy Lazere.

Tuesday, September 05, 2006

Types of geniuses

"There are two kinds of geniuses: the 'ordinary' and the 'magicians'. An ordinary genius is a fellow whom you and I would be just as good as, if we were only many times better. There is no mystery as to how his mind works. Once we understand what they've done, we feel certain that we, too, could have done it. It is different with the magicians. Even after we understand what they have done it is completely dark. Richard Feynman is a magician of the highest calibre."

- Mark Kac

Saturday, September 02, 2006

A 404 to remember

To err is human.
The page sought could not be found
but, is the fault yours?

A 404 error message at the Department of Computer Science website of the University of California, Santa Barbara.

http://www.cs.ucsb.edu/sample

Tuesday, August 29, 2006

The thing of greatest importance to mathematics in Europe was the discovery by Tartaglia that you can solve a cubic equation - which, although it is very little used, must have been psychologically wonderful because it showed a modern man could do something no ancient Greek could do, and therefore helped in the renaissance which was the freeing of man from the intimidation of the ancients ...

Richard Feynman

Friday, August 18, 2006

Knuth on sorting ...

Although dictionaries of the English language define "sorting" as the process of separating or arranging things according to class or kind, computer programmers traditionally use the word in the much more special sense of marshaling things into ascending or descending order. The process should perhaps be called ordering, not sorting; but anyone who tries to call it "ordering" is soon led into confusion because of the many different meanings attached to that word. Consider the following sentence, for example: "Since only two of our tape drives were in working order, I was ordered to order more tape units in short order, in order to order the data several orders of magnitude faster." Mathematical terminology abounds with still more senses of order (the order of a group, the order of a permutation, the order of a branch point, relations of order, etc., etc.). Thus we find that the word "order" can lead to chaos.

Some people have suggested that "sequencing" would be the best name for the process of sorting into order; but this word often seems to lack the right connotation, especially when equal elements are present, and it occasionally conflicts with other terminology . It is quite true that "sorting" is itself an overused word ("I was sort of out of sorts after sorting that sort of data"), but it has become firmly established in computing parlance . Therefore we shall use the word "sorting" chiefly in the strict sense of sorting into order, without further apologies .

- From the book (epic) "Art of Computer Programming - Vol 3"

Tuesday, August 08, 2006

It tolls for thee ...

"No man is an island,
Entire of itself.
Each is a piece of the continent,
A part of the main.
If a clod be washed away by the sea,
Europe is the less.
As well as if a promontory were.
As well as if a manner of thine own
Or of thine friend's were.
Each man's death diminishes me,
For I am involved in mankind.
Therefore, send not to know
For whom the bell tolls,
It tolls for thee."

These famous words were taken from the "Devotions upon Emergent Occasions", by John Donne, circa 1623.

I am not much into classical literature (atleast currently), but this piece stands out. It shows us even in our 'nuclear' world, we are all interconnected. Another man's (or woman's for that matter) loss is my loss. Here a bell tolling signifies a death. So next time do not inquire who died, the bell tolled for you.

What could be a more powerfull expression of brotherhood than this!