Google

Blog Archive

Recent Comments

11/30/07

LifeHack2, the new meaning of LifeHack

The original meaning of LifeHack, conceived by Danny O'Brien in 2004 was for geeks, referring to productivity tricks to cut through information overload and generally to organize.
With the passage of time, LifeHack has received a wider meaning, relevant to geeks and non-geeks alike.

Witness the contents of LifeHack.org, LifeHacker.com and 43 Folders, some of the most popular LifeHacking websites.
It is no longer just about web scraping, email spam, to-do-lists, project management, or scripting, but the topics now expanded into creativity, happiness, procrastination, writing and presentation skills, negotiation, investing, relaxation, mindfulness, exercise, sleep, eating habits and many more things we (ordinary people, not geeks) encounter every day.

Can we define this new field, which we propose to call LifeHack2, more precisely?
(Note: LifeHack2 is so called in analogy with MRP - MRP II, or Web - Web2.0.)

Danny O'Brien coined the term Life Hack originally after interviewing super-productive IT figures to know their effective habits, sort of "The habits of highly productive IT people" in analogy to Covey's "The seven habits of highly effective people".
He discovered they have common habits such as handling their to-do lists, automate email, handling spam, scripting, web scraping, make backups, and other little tricks to boost productivity and cope with information overload.
They seem to dislike and distrust complex systems and complex applications, and prefer text files, simple scripting such as offered by Python or Perl.

Surprisingly, the IT people do not always rely on the most advanced technology, instead they often use manual systems like index cards, CRC cards (Ward Cunningham introduced CRC cards for object-oriented design), and paper based to-do lists. Using the simplest possible tool is another form of Occam's razor, or KISS (Keep It Simple, Stupid). Simple systems are always more robust and transparent.

Danny O'Brien acknowledged that sooner or later the above approach of the geeks will be applied to live in general. "The other side of it is - and this is something I talked about quite a lot - is that the hacks that work for geeks end up being useful for a lot of other people who aren't in that subculture at all." This is what we call LifeHack2.

Another development was when David Allen published the book "Getting Things Done: The Art of Stress-Free Productivity" in 2001. The abbreviation GTD (getting things done) is now everywhere. GTD can be seen as a glorified to-do-list, it includes calendars, workflow, 6 levels of focus and planning. One of the ideas of GTD is to externalize our to-do-list electronically or on paper, instead of keeping them in our heads, thus freeing the brain to do other things (less stress). Another idea is the subdivision into manageable small tasks reminiscent of extreme programming.

If you like to get a feel of GTD, it is best to just do it, for example by a paper method PocketMod or using a Tiddlywiki type of software called MonkeyGTD which needs only a browser with JavaScript.

So GTD is one of the most important LifeHacks. It is given a prominent place in LifeHack.org and 43Folders.com.
When I studied GTD, it occurred to me that GTD is an essential tool, but it tied up to general LifeHacking. For example, you can't follow GTD, if you have no energy, both in the sense of physical energy and "life energy". Avoiding energy sinkholes is an example of a related LifeHack. Relaxation in another. Mindfulness and clear comprehension are other related topics to GTD. Planning is not conceivable without clear comprehension.
Thus I came to realize that all the Buddhist notion of developing mental Faculties are related closely to GTD, and conversely, GTD help us developing the Five Faculties.

It becomes clear that the original LifeHack has slowly transform into LifeHack2.
This is illustrated by the popular articles in LifeHack.org: teaching kids charity, using compliments in communication, how to quit bad habits, how to boost creativity, how to set appointment with yourself, How to improve writing, how to restart the exercise habit, etc.

We will now try to describe what is and what is not LifeHack2.
LifeHack2 is about practical day to day matters, it is not about high brow philosophies or religions dealing with metaphysical and supernatural entities.
It is about building mental muscles, which must be practiced continuously at all times. It is developing good habits and eliminating bad habits and mind viruses.
It is not about domain-specific problems, such as hacking automobiles. However general attitudes in motorcycle maintenance, as in "Zen and the art of motorcycle maintenance" can be considered as LifeHack2.
O'Reilly has a series of Hacks books, e.g. Excel Hacks, Google Hacks, Perl Hacks, Blackberry Hacks, FireFox Hacks. All of these are not LifeHack2, because they are domain specific.


Links:



11/23/07

Google easily cracks MD5 passwords

The author of "Google can crack passwords" warned: Don't post this online!

Passwords using MD5 hash (see Wikipedia article on MD5) can be broken using the Google search engine. Wordpress for example uses MD5.

The article said: "A CLEVER bloke into security research at the University of Cambridge computer lab wrote in his blog last Friday that he's discovered Google works as a password MD5 hash cracker."

To try it, go to Miraclesalad, input "The quick brown fox jumps over the lazy dog" to get a MD5 hash, which is 9e107d9d372bb6826bd81d3542a419d6.

Now go to Google and enter 9e107d9d372bb6826bd81d3542a419d6, and you retrieve the original phrase back.

Actually, MD5 hash reversal programs, also called hash cracker, have been in existence for a long time. Still the use of Google is very convenient.

Now the security people should move quickly to prevent harm from the discovery.
It cannot prevented just by not publishing the method. Once it is online, it will spread.

11/14/07

Thanissaro Bhikkhu: No-self or Not-self?

The meaning of Anatta (No-self) is very difficult to grasp, for Buddhists and non-Buddhists alike. Very often it is misinterpreted as No-soul or non-ego.

The following might help us understand Anatta, it is a full reproduction of an article by Thanissaro Bhikkhu.

Copyright © 1996 Thanissaro Bhikkhu
Access to Insight edition © 1996
For free distribution. This work may be republished, reformatted, reprinted, and redistributed in any medium. It is the author's wish, however, that any such republication and redistribution be made available to the public on a free and unrestricted basis and that translations and other derivative works be clearly marked as such.

One of the first stumbling blocks that Westerners often encounter when they learn about Buddhism is the teaching on anatta, often translated as no-self. This teaching is a stumbling block for two reasons. First, the idea of there being no self doesn't fit well with other Buddhist teachings, such as the doctrine of kamma and rebirth: If there's no self, what experiences the results of kamma and takes rebirth? Second, it doesn't fit well with our own Judeo-Christian background, which assumes the existence of an eternal soul or self as a basic presupposition: If there's no self, what's the purpose of a spiritual life? Many books try to answer these questions, but if you look at the Pali canon — the earliest extant record of the Buddha's teachings — you won't find them addressed at all. In fact, the one place where the Buddha was asked point-blank whether or not there was a self, he refused to answer. When later asked why, he said that to hold either that there is a self or that there is no self is to fall into extreme forms of wrong view that make the path of Buddhist practice impossible. Thus the question should be put aside. To understand what his silence on this question says about the meaning of anatta, we first have to look at his teachings on how questions should be asked and answered, and how to interpret his answers.

The Buddha divided all questions into four classes: those that deserve a categorical (straight yes or no) answer; those that deserve an analytical answer, defining and qualifying the terms of the question; those that deserve a counter-question, putting the ball back in the questioner's court; and those that deserve to be put aside. The last class of question consists of those that don't lead to the end of suffering and stress. The first duty of a teacher, when asked a question, is to figure out which class the question belongs to, and then to respond in the appropriate way. You don't, for example, say yes or no to a question that should be put aside. If you are the person asking the question and you get an answer, you should then determine how far the answer should be interpreted. The Buddha said that there are two types of people who misrepresent him: those who draw inferences from statements that shouldn't have inferences drawn from them, and those who don't draw inferences from those that should.

These are the basic ground rules for interpreting the Buddha's teachings, but if we look at the way most writers treat the anatta doctrine, we find these ground rules ignored. Some writers try to qualify the no-self interpretation by saying that the Buddha denied the existence of an eternal self or a separate self, but this is to give an analytical answer to a question that the Buddha showed should be put aside. Others try to draw inferences from the few statements in the discourse that seem to imply that there is no self, but it seems safe to assume that if one forces those statements to give an answer to a question that should be put aside, one is drawing inferences where they shouldn't be drawn.

So, instead of answering "no" to the question of whether or not there is a self — interconnected or separate, eternal or not — the Buddha felt that the question was misguided to begin with. Why? No matter how you define the line between "self" and "other," the notion of self involves an element of self-identification and clinging, and thus suffering and stress. This holds as much for an interconnected self, which recognizes no "other," as it does for a separate self. If one identifies with all of nature, one is pained by every felled tree. It also holds for an entirely "other" universe, in which the sense of alienation and futility would become so debilitating as to make the quest for happiness — one's own or that of others — impossible. For these reasons, the Buddha advised paying no attention to such questions as "Do I exist?" or "Don't I exist?" for however you answer them, they lead to suffering and stress.

To avoid the suffering implicit in questions of "self" and "other," he offered an alternative way of dividing up experience: the four Noble Truths of stress, its cause, its cessation, and the path to its cessation. Rather than viewing these truths as pertaining to self or other, he said, one should recognize them simply for what they are, in and of themselves, as they are directly experienced, and then perform the duty appropriate to each. Stress should be comprehended, its cause abandoned, its cessation realized, and the path to its cessation developed. These duties form the context in which the anatta doctrine is best understood. If you develop the path of virtue, concentration, and discernment to a state of calm well-being and use that calm state to look at experience in terms of the Noble Truths, the questions that occur to the mind are not "Is there a self? What is my self?" but rather "Am I suffering stress because I'm holding onto this particular phenomenon? Is it really me, myself, or mine? If it's stressful but not really me or mine, why hold on?" These last questions merit straightforward answers, as they then help you to comprehend stress and to chip away at the attachment and clinging — the residual sense of self-identification — that cause it, until ultimately all traces of self-identification are gone and all that's left is limitless freedom.

In this sense, the anatta teaching is not a doctrine of no-self, but a not-self strategy for shedding suffering by letting go of its cause, leading to the highest, undying happiness. At that point, questions of self, no-self, and not-self fall aside. Once there's the experience of such total freedom, where would there be any concern about what's experiencing it, or whether or not it's a self?


Related:

11/4/07

Ruby has overtaken JavaScript, and Lua is now above Cobol

The November issue of Tiobe popularity index for programming languages showed that the language Ruby has also overtaken JavaScript in popularity. At the same time Lua is now above COBOL.
Ruby is now 9th, and Lua 16th most popular languages.

It remains to be seen, how long would it take for Ruby to overtake C#.

From the user perspective, since Ruby, JavaScript and Lua are all scripting languages, it would be a dream come true if we can have just one scripting language to learn, with the elegance of Ruby, the efficiency of Lua and the obiquity of JavaScript.

Earlier: Most Popular Programming Languages as of August 20...