Monday, December 31, 2007

女儿经

女儿经

女儿经,仔细听,早早起,出闺门,烧茶汤,敬双亲,勤梳洗,爱干净,
学针线,莫懒身,父母骂,莫作声,哥嫂前,请教训,火烛事,要小心,
穿衣裳,旧如新,做茶饭,要洁净,凡笑语,莫高声,人传话,不要听,
出嫁后,公姑敬,丈夫穷,莫生瞋,夫子贵,莫骄矜,出仕日,劝清政,
抚百姓,劝宽仁,我家富,莫欺贫,借对象,就奉承,应他急,感我情,
积阴德,贻子孙,夫妇和,家道成,妯娌们,要孝顺,邻居人,不可轻,
亲戚来,把茶烹,尊长至,要亲敬,粗细茶,要鲜明,公婆言,莫记恨,
丈夫说,莫使性,整肴馔,求丰盛,着酱醋,要调匀,用器物,洗洁净,
都说好,贤慧人,夫君话,就顺应,不是处,也要禁,事公姑,如捧盈,
修己身,如履冰,些小事,莫出门,坐起时,要端正,举止时,切莫轻,
冲撞我,只在心,分尊我,固当敬,分卑我,也莫陵,守淡薄,安本份,
他家富,莫眼热,行嫉妒,损了心,勤治家,过光阴,不伶俐,被人论,
若行路,姊在前,妹在后,若饮酒,姆居左,妯居右,公婆在,侧边从,
慢开口,勿胡言,齐捧杯,勿先尝,即能饮,莫尽量,沉醉后,恐颠狂,
一失礼,便被谈,肴面物,先奉上,骨投地,礼所严,动匙箸,忌声响,
出席时,随尊长,客进门,缓缓行,急趋走,恐跌倾,遇生人,就转身,
洗钟盏,轻轻顿,坛和罐,紧紧封,公姑病,当殷勤,丈夫病,要温存,
爷娘病,时时问,姑儿小,莫见尽,叔儿幼,莫理论,里有言,莫外说,
外有言,莫内传,勤纺织,缝衣裳,烹五味,勿先尝,造酒浆,我当然,
无是非,是贤良,姆婶事,决莫言,若闻知,两参商,伯叔话,休要管,
勿唧唧,道短长,孩童闹,规己子,是与非,甚勿理,略不逊,讼自起,
公差到,悔则迟,里长到,不可瞋,留饮酒,是人情,早完粮,得安宁,
些小利,莫见尽,论彼此,俗了人,学大方,人自称,晒东西,也莫轻,
秽污衣,寻避静,恐人见,起非论,他骂我,我不听,不回言,人自评,
升斗上,要公平,买对象,莫亏人,夫君怒,说比论,好言劝,解愁闷,
夫骂人,莫齐逞,或不是,陪小心,纵怀憾,看你情,祸自消,福自生,
有儿女,不可轻,抚育大,继宗承,或耕耘,教勤谨,或读书,莫鄙吝,
倘是女,严闺门,训礼义,教孝语,能针凿,方成人,衣服破,缝几针,
鞋袜破,被人论,是不是,自己寻,为人母,所当慎,奴婢们,也是人,
饮食类,一般平,不是处,且宽忍,十分刻,异心生,若太宽,便不逊,
最难养,是小人,再叮咛,更警心,妯娌多,都一心,本等话,莫生瞋,
同茶饭,莫吵分,一闹嚷,四邻听,任会说,非为能,吵家的,个个论,
公姑闹,不安宁,各自居,也要命,命不遇,只是贫,那时节,才理论,
这等事,当自忖,管家娘,更须听,赶捉牲,莫纷纷,动宰割,忌刀声,
亲锅厨,休铮铮,最不孝,斩先脉,夫无嗣,劝娶妾,继宗祀,最为切,
遵三从,行四德,习礼义,难尽说,看古人,多贤德,宜以之,为法则。

Monday, December 24, 2007

Merry Chritmas! 字符图片

圣诞字符图片

╦══╦╔═╮═╩═╮═╦═·║══╬═╮╔·╔╩╮╔· 

╠══╣║☆║╰═╝║║║··║··║·║╰═║★║╰═ 

╠══╣║·║╰═╝╝║║║║║··║·║╔·╠═╣╔· 

╩══╬╰═╝╔═╮║║╠╯╰╬══╬═╩╰═╰═╝╰═ 

═══╦══╯║·║║║║··║·╔╝╮·═══╬═══ 

·══╬══·║·║║╩╩═·║·║·║··║·║·║·






         . ◢█◣ 

         ◢███◣ 

        ◢█████◣ 

       {﹏﹏﹏﹏﹏﹏﹏}

       | ●   ● |   (_(_(

      (╰———U———╯)  \   /


(│ ̄███◣╰╮╮(^)╭╭╯◢███ ̄|(\

(│ ████◣╰╮╮ ╭╭╯◢████ |( ▏

(│▁█████◣╰╮〕╭╯◢█████▁|(/

     ◢████╰-╯████◣ /◇◆◇\

    ◢█████████████◣ ════\

   /——————┌┬┐——————\◆◇◆◇◆\

   \——————└┴┘——————/═════ ▏

    ███████████████ ◇◆◇◆◇◆ ▏

    ███████████████══════ ▏

     █████   █████◆◇◆◇◆◇◆/

     █████   █████\_____/

    ◢█████   █████◣






     ∵▲∵ 

    ∵◢▓◣∵ 

   ∴◢▓▓▓◣∴ 

  ∵◎◢▓○▓◣◎∵ 

  ∴◢▓▓▓▓▓◣∴ 

 ∵○◢▓▓◎▓▓◣○∵ 

 ∴◢圣▓诞▓快▓乐◣∴ 

∵◎◢▓▓▓○▓▓▓◣◎∵ 

∴◢▓▓▓▓▓▓▓▓▓◣∴ 


○∵∵∵∵∵▓∵∵∵∵∵◎ 

     ▲▓  

The Beatles -- Let It Be



Title: The Beatles - Let it Be lyrics

Artist: The Beatles

When I find myself in times of trouble, mother Mary comes to me,
speaking words of wisdom, let it be.
And in my hour of darkness she is standing right in front of me,
speaking words of wisdom, let it be.

Let it be, let it be, let it be, let it be.
Whisper words of wisdom, let it be.

And when the broken hearted people living in the world agree,
there will be an answer, let it be.
For though they may be parted there is still a chance that they will see,
there will be an answer. let it be.

Let it be, let it be, .....

And when the night is cloudy, there is still a light, that shines on me,
shine until tomorrow, let it be.
I wake up to the sound of music, mother Mary comes to me,
speaking words of wisdom, let it be.

Let it be, let it be, .....

Sunday, December 23, 2007

Why Learning Assembly Language Is Still a Good Idea

by Randall Hyde, author of Write Great Code (No Starch)
05/06/2004

The world is full of case studies outlining software engineering disasters. Almost every programmer has had to work on a project involving "less than stellar" source code that was difficult to read and maintain. On rare occasion, some programmers get the opportunity to work on a well-designed system, an awe-inspiring piece of craftsmanship that usually produces the exclamation, "This is truly great code!"

Clearly, professional software engineers should strive to achieve this level of greatness in all their code. But the real question is, "What makes code great?" Simply "meeting specifications" is not how one writes great code. True, in today's software environment, some might actually believe that simply meeting the specifications sets an application apart, as many development projects fail to meet their basic design goals.

However, in other areas greatness is rarely defined by doing the expected and succeeding; greatness is defined by going above and beyond what is expected. Software engineers should expect no less from great software--it should go above and beyond the standard conventions for software development.

Efficiency Is the Key

Because greatness is a multifaceted attribute, a short article such as this one cannot begin to describe all the possible components of a great piece of software. Instead, this article will describe one component of writing great code that has been neglected in recent years as computer systems have increased in capacity and power: efficiency.

Anyone who has been around the computer industry for a decade or more is well aware of this phenomenon: machines are getting exponentially more powerful per unit cost, yet users do not perceive this improvement in the applications that they purchase. For example, while word processors are clearly faster today than they were 21 years ago, they aren't 16,384 times faster as Moore's Law [1] would suggest. Part of the problem, of course, is that some of the additional processing power has been employed to support new features (such as a bitmapped display), but a large part of the reason software users aren't seeing an increase in speed is because many of today's programmers don't take the time to write efficient software, or they simply don't know how to write fast software.

Outrageous software development schedules that don't give programmers enough time to develop efficient code is certainly a problem, but many of today's programmers have grown up with fast CPUs, whose speed has made up for poor coding habits and, as such, many of these programmers have never had to learn how to write fast code.

Unfortunately, when software performance is less than optimal, these programmers generally don't know how to correct the problems with their software. They'll often spout things like "The 90-10 rule," or "I'll just use a profiler to correct the performance problems," but the truth is they don't really know how to improve the performance of their underperforming applications. It's all well and good to say, "I'll just find a better algorithm!" However, finding and deploying that algorithm, if one actually exists, is another matter.

Most of the time you can achieve very good performance boosts by simply improving the implementation of an existing algorithm. A computer scientist may argue that a constant improvement in performance isn't as good as, say, going from an algorithm with O(n^2) performance to one with O(n lg n) performance, but the truth is that most of the time a constant factor of two or three times improvement, applied throughout a piece of software, can make the difference between a practical application and one that is simply too slow to comfortably use. And it is exactly this type of optimization with which most modern programmers have little experience.

Unfortunately, writing efficient software is a skill, one that must be practiced to learn and one that must be practiced to maintain. Programmers who never practice this skill will never be able to apply it the day they discover that their software is running too slow. Even if a programmer has mastered the skill of writing efficient software, the programmer must practice them on a regular basis. So, there are two reasons why some programmers don't write efficient (and great) software today: they never learned how to write efficient code in the first place, or they've allowed their programming skills to atrophy to the point that they no longer write efficient code as a matter of course.

Practice Your Skills

For programmers who have simply allowed their skills to falter from lack of use, the solution is obvious--practice writing efficient code, even when the project doesn't absolutely require it. This doesn't mean, of course, that a practicing engineer should sacrifice project schedules, readable and maintainable code, or other important software attributes for the sake of efficiency.

What it does mean is that the software engineer should keep efficiency in mind while designing and implementing the software. The programmer should make a conscious decision to choose a less efficient implementation over a more efficient implementation based on economic or engineering concerns, rather than simply utilizing the first implementation that comes to mind. Just as often as not, this simple consideration of different (and possibly more efficient) implementations is all that is necessary to produce great code. After all, sometimes the more efficient implementation is no more difficult to create than an inefficient one. All an experienced engineer may need are multiple options from which to choose.

Unfortunately, unrealistic software development schedules have led many professional engineers to shortcut the careful consideration of software development and implementation. The end result is that many professional programmers have gotten out of the habit of writing great code. Fortunately, this process is easy to reverse by practicing good software development methodologies, such as considering multiple algorithms and their implementations, as often as possible.

Learn Assembly Language

What about the programmer who has never learned to write efficient code in the first place? How does one learn how to efficiently implement an application? Unfortunately, colleges and universities today largely take the attitude that if you choose a good algorithm, you don't have to worry about the implementation of that algorithm. Far too many students come out of their data structures and algorithms courses with the attitude that if you can only achieve a constant (that is, O(1)) performance improvement, you've really achieved nothing at all, and that attempts at improvement are a waste of time.

Advances in computer architecture have exacerbated this problem--for example, you might hear a programmer say, "If this program needs to be a little faster, just wait a year or so and CPUs will be twice as fast; there's no need to worry about it." And this attitude, probably more than any other, is why software performance doesn't keep pace with CPU performance.

With every new application, the programmer writes the software slower than it ought to run, on whatever current CPU they're using, believing that future CPU performance boosts will solve their problems. Of course, by the time the CPUs are fast enough to execute their software, the programmer has "enhanced" the software, and is now depending on yet another future version of the CPU. The cycle repeats almost endlessly, with CPU performance never really catching up with the demands of the software, until finally, the software's life comes to an end and the programmer begins the cycle anew with a different application.

The truth is, it is possible to write software that executes efficiently on contemporary processors. Programmers were doing great things with software back in the days when their applications were running on eight-bit 5MHz 8088 PCs; the same techniques they used to squeeze every last bit of performance out of those low-end CPUs provides the key to high-performance applications today. So, how did they achieve reasonable performance on such low-end processors? The answer is not a secret--they understood how the underlying hardware operated and they wrote their code accordingly. That same knowledge, of the underlying hardware, is the key to writing efficient software today.

Often, you'll hear old-time programmers make the comment that truly efficient software is written in assembly language. However, the reason such software is efficient isn't because the implementation language imparts some magical efficiency properties to that software -- it's perfectly possible to write inefficient software in assembly language. No, the real reason assembly language programs tend to be more efficient than programs written in other languages is because assembly language forces the programmer to consider how the underlying hardware operates with each machine instruction they write. And this is the key to learning how to write efficient code -- keeping one's eye on the low-level capabilities of the machine.

Those same old-time programmers who claim that truly efficient software is written in assembly language also offer another common piece of advice -- if you want to learn how to write great high-level language code, learn how to program in assembly language.

This is very good advice. After all, high-level compilers translate their high-level source statements into low-level machine code. So if you know assembly language for your particular machine, you'll be able to correlate high-level language constructs with the machine language sequences that a compiler generates. And with this understanding, you'll be able to choose better high-level language statements based on your understanding of how compilers translate those statements into machine code.

All too often, high-level language programmers pick certain high-level language sequences without any knowledge of the execution costs of those statements. Learning assembly language forces the programmer to learn the costs associated with various high-level constructs. So even if the programmer never actually writes applications in assembly language, the knowledge makes the programmer aware of the problems with certain inefficient sequences so they can avoid them in their high-level code.

Learning assembly language, like learning any new programming language, requires considerable effort. The problem is that assembly language itself is deceptively simple. You can learn the 20 or 30 machine instructions found in common assembly applications in just a few days. You can even learn how to put those machine instructions together to solve problems the same way you'd solve those same problems in a high-level language in just a few short weeks.

Unfortunately, this isn't the kind of knowledge that a high-level language programmer will find useful when attempting to write efficient high-level code. To reap the benefits of knowing assembly language, a programmer has to learn to think in assembly language. Then, such a programmer can write very efficient high-level language code while thinking in assembly and writing high-level language statements. Though code written in this manner is truly great, there is one slight problem with this approach -- it takes considerable effort to achieve this level. That's one of the reasons such code is great -- because so few practitioners are capable of producing it.

Assembly Isn't Dead

Assembly language, of course, developed a very bad reputation throughout the 1990s. Advances in compiler technology, improved CPU performance, and the "software crisis" all conspired to suggest that assembly language was a "dead" language that was no longer needed. As assembly language was a bit more difficult to learn than traditional high-level programming languages, students (and instructors!) gladly embraced this brave new high-level world, abandoning difficult-to-learn assembly in favor of higher and higher level languages.

The only problem with the demise of assembly language is that as its popularity waned, so did the percentage of programmers who understood the low-level ramifications of the code they were writing. Those programmers who were claiming that assembly language was dead already knew how to think in assembly language and how to apply that low-level thinking to their high-level code; in effect, enjoying the benefits of assembly language while writing high-level language code. However, as new programmers worked their way into the system, without the benefits of having written several applications in assembly, the efficiency of software applications began to decline.

Though it would be foolish to start claiming that programmers should begin writing commercial applications in assembly language, it is clear today that the demise of assembly language's popularity has had a big impact on the efficiency of modern software. To reverse this trend, one of two things must happen: programmers must once again begin studying assembly language, or they must somehow pick up this low-level programming knowledge some other way.

Learning assembly language still remains the best way to learn the basic organization of the underlying machine. Those programmers who take the effort to master assembly language become some of the very best high-level language programmers around. Their ability to choose appropriate high-level constructs to produce efficient code, their ability to read disassembled high-level language code and detect heinous bugs in a system, and their understanding of how the whole system operates elevates them to near legendary status among their peers. These are the programmers everyone goes to when they have questions how to implement something. These are the engineers who garner the respect of everyone around them. They are the ones other programmers want to emulate. These are the programmers who write great code.

If knowing assembly language helps make programmers great, a obvious question is "Why don't more programmers learn assembly language?" Part of the problem is prejudice: many college and university instructors that teach assembly programming begin their course with a statement like, "No one really needs to know this stuff, and you'll never use it, but it is required by this program so we've got to struggle through the next several weeks studying this material." After four years of this type of attitude from their instructors, it's no surprise that students really want nothing whatsoever at all to do with assembly language programming.

Still, once it becomes obvious to a coder that the truly great programmers are the ones who've mastered assembly language programming, you might ask why more programmers don't pick up this valuable knowledge. The only problem is that, traditionally, most programmers have found it difficult to master assembly language. Assembly is radically different than most high-level languages, so learning assembly language is almost as much work as learning programming from scratch.

To someone attempting to learn assembly, it often seems as though none of their past programming experience is of any help. All too often, an engineer learning assembly becomes frustrated with the fact that they know how to achieve a goal in a high-level language but they cannot figure out how to achieve the same thing in assembly. For many programmers, switching from "thinking in a high-level language" to "thinking in an assembly language" becomes an insurmountable problem.

O'Reilly Open Source Convention.

As an instructor teaching assembly language for over a decade at the University of California, I was quite aware of the problems students have making the transition from the high- level programming paradigm to the low-level programming paradigm.

In the early 1990s, Microsoft provided a solution with the introduction of the Microsoft Macro Assembler (MASM) v6.0 -- the inclusion of high-level control structures in an assembly language translator. While these new statements are definitely not true assembly language, they do provide a nice transition path from traditional, imperative, high-level programming languages to assembly. A programmer can continue to use statements like IF, WHILE, and FOR while learning other aspects of assembly language programs. This lets the programmer learn assembly language programming in graduated steps rather than having to make the plunge all at once.

Master Low-Level Statements

Of course, a programmer cannot truly call themselves an assembly language programmer until they've mastered the equivalent low-level statements. Nevertheless, these high-level control structures provide an excellent bridge between high-level languages and assembly language, allowing the student to leverage their existing high-level programming knowledge to learn assembly language. Alas, there are few, if any, appropriate textbooks that teach assembly language programming using this high-level to low-level approach using the high-level control structures that MASM provides.

Another problem with the high-level to low-level transition is that most high-level languages provide large libraries of routines to handle mundane tasks such as input/output, numeric conversions, and string operations. A big problem that beginning assembly programmers face is that they typically need the ability to input and output numeric quantities or do numeric-to-string conversions (and vice versa) in order to write and test very simple programs. Unfortunately, most assembly language development systems leave it up to the programmer to provide this functionality for their applications. This presents a Catch-22 situation: it is difficult to learn assembly language without these functions, but you can't really write such functions until you learn assembly language.

These roadblocks effectively prevent all but the most determined programmers from mastering assembly language. As such, throughout the 1990s and early 2000s the use of assembly language continued to wane. Seeing the decline in software efficiency and quality that seemed to track the decline of the use of assembly language, I set out on a crusade in the mid-1990s to encourage programmers to learn assembly language programming.

The first milestone I achieved was the release in the mid-1990s of the electronic edition of The Art of Assembly Language. This book, along with the use of the accompanying UCR Standard Library for 80x86 Language Programmers, reduced the effort needed to learn assembly language programming. Tens of thousands of programmers have learned assembly language programming using this textbook and the complementary set of library routines.

The only problem with the electronic edition of The Art of Assembly Language and the UCR Standard Library for 80x86 Assembly Language Programmers is that they were almost obsolete as soon as they appeared on the Internet because they taught the reader how to create 16-bit DOS applications (their release almost corresponded with the release of Windows 95, which was one of the last nails in the 16-bit programming coffin).

Still on the crusade, I started to work on a brand-new, high-level assembler (HLA, the High-Level Assembler), a new version of The Art of Assembly Language, and a new, 32-bit, HLA-based set of library routines. This effort culminated with the release of the published edition of The Art of Assembly (AoA) in 2003. To date, thousands and thousands of programmers have enthusiastically embraced this new way of learning assembly language using AoA, HLA, and the HLA Standard Library.

Though The Art of Assembly Language and HLA are increasing the ranks of assembly language programmers every day, the solution they provide is for the next generation of programmers.

What about current programmers who've missed the opportunity to learn assembly language while in school and master the concepts of machine organization before the realities of project schedules rob them of the time needed to develop the necessary expertise to write great code? The question is, "Can machine organization be effectively taught to professional programmers without simultaneously teaching assembly language?"

While it is fairly clear that learning assembly language is the best advice I can give anyone who is interested in writing great, efficient code, I am also convinced that someone can study the subject of machine organization sans assembly and still learn how to write better code. Perhaps their code won't be quite as good as the programmer who has mastered assembly language, but it will be better than the software they've written devoid of this knowledge.

Most importantly, while it is difficult to sell the idea of learning assembly language to the current generation of programmers (two decades of anti-assembly propaganda have assured this), most programmers realize that if they just "learned a little more about how the underlying hardware works" they would be able to write better code. So what is needed is a set of materials that teach data representation, memory organization, elements of computer architecture, how input/output operates, and the correspondence between high-level programming language statements.

That is, teach them all the things that they'd have to learn when learning assembly language, with the single exception of mastering the assembly language programming paradigm. Recently, I've begun to focus on this group, working on books like Write Great Code, Volume One: Understanding the Machine, a book on machine organization that doesn't specifically teach assembly language programming. While someone studying machine organization might not write code as great as someone who takes the time to master assembly language, my hope is that those who would never consider learning assembly language might be willing to pick up a book like Write Great Code and learn to write better code, if not totally great code.

Conclusion

To write great code requires one to write efficient code. Writing efficient code requires good algorithm choices and a good implementation of those algorithms. The best implementations are going to be written by those who've mastered assembly language or fully understand the low-level implementation of the high-level language statements they're choosing. This doesn't mean that we'll return to the days when major commercial applications were written entirely in assembly language. However, to reverse the trend of software running slower and slower even though CPUs are running faster and faster is going to require programmers to begin considering the low-level implications of the code that they write.

So, even if you never intend to write a single line of assembly language code again, learning assembly language, and learning to think in assembly language, is one of the best things you can do to learn how to write better assembly code.

[1] Moore's Law states that semiconductor technology doubles in capacity or performance at a given price point about every 18 months.

Randall Hyde is the author of the recently released "Write Great Code" and "The Art of Assembly Language" (both from No Starch Press), one of the most highly recommended resources on assembly.

吕蒙正《劝世文》

天有不测风云,人有旦夕祸福。
蜈蚣百足,行不及蛇; 雄鸡扇翼,飞不过鸦。
马有千里之程,无骑不能自往;人有冲天之志,非运不能腾达。
文章盖世,孔子厄困于陈邦; 武略超群,太公垂钓于渭水。
颜渊命短,实非凶恶之徒; 盗跖年长,不是善良之辈。
尧舜明圣,却生不肖之儿; 瞽叟愚顽,反生大孝之子。
张良原是布衣,萧何曾为县吏; 韩信未遇之时,无一日之餐,
及至遇行,腰悬三齐玉印。 楚霸英雄,败于乌江自刎;
汉王柔弱,竟有万里江山。 晏子身短五尺,使楚拜齐名相;
诸葛力无缚鸡,出作蜀汉军师。 李广有射虎之威,到老无封;
冯夷有乘龙之才,一生不遇。 满腹文章,白发竟然不中;
才疏学浅,少年及第登科。 深院宫娥,运退反为妓女;
风流妓女,时来配作夫人。 青春美女,却招愚蠢之夫;
俊秀郎君,反配粗丑之妇。 蛟龙未遇,潜水于鱼鳖之间;
君子失时,拱手于小人之下。 天不得时,日月无光;
地不得时,草木不生; 水不得时,波浪不静;
人不得时,限运不通。 人生在世,富贵不能#,贫贱不能移。
有先贫而后富,有老壮而少衰。 衣服虽破,常有礼仪之容;
面带忧愁,每抱怀安之量。 时遭不遇,只宜安贫守份;
心若不欺,必有扬眉之日。 初贫君子,天然骨格生成;
乍富小人,不脱贫寒肌体。 福禄岂能强求,富贵谁人不欲。
吾昔寓居洛阳,朝求僧餐,暮宿破窑。
思衣不可遮其体,思食不可济其饥。
上人憎,下人厌,人道我贱。
非我不能也,此乃,时也,运也,命也。
今居朝堂极品,位列三公。
鞠躬于一人之下,列职于万人之上。
有挞百僚之杖,有斩鄙吝之剑; 出则壮士执鞭,入则佳人俸侍; 思衣而有罗锦千箱,思食而有珍馐百味。
上人宠,下人拥,人道我贵。
非我之能也,此乃,时也,运也,命也。 呜呼!人生在世,
富贵不可尽用,贫贱不可自欺; 听由天地循环,周而复始焉。

Saturday, December 22, 2007

Universities With the Best Free Online Courses

No tuition money? No problem! There are many top universities that offer free courses online. This list ranks some of the best free university courses for people who want to enhance personal knowledge or advance in their current field.

1. Massachusetts Institute of Technology (mit.edu)

If you are looking for a wide range of free courses online, MIT is your best option. There are more than 1,800 free courses offered through the school's OpenCourseWare project. Courses are in audio, video and text format and can be translated into a number of different languages. People from all over the world use OpenCourseWare and 96 percent of visitors say they would recommend the site to someone else.

2. Open University (open.ac.uk)

The Open University is the UK's largest academic institution. The school's OpenLearn website gives everyone free access to undergraduate and graduate level course materials from The Open University. Courses cover a broad range of topics, such as arts and history, business, education, IT and computing, mathematics and statistics, science, health and technology.

3. Carnegie Mellon University (cmu.edu)

Carnegie Mellon University offers a huge collection of free online courses and course materials through a program known as the Open Learning Initiative. OLI courses are set up to allow anyone at the introductory college level to learn about a particular subject without the help of a formal instructor. Course options include, but are not limited to, statistics, biology, chemistry, economics, French and physics.

4. Tufts University (tufts.edu)

Like MIT, Tufts University has OpenCourseWare that is free to everyone. Courses are sorted by school (School of Medicine, School of Arts and Sciences, etc.) and include lecture notes, assignments and other supplementary materials.

5. Stanford (stanford.edu)

Stanford University, one of the world's leading academic institutions, has joined forces with iTunes U to provide access to Stanford courses, lectures, interviews and more. Courses can be downloaded and played on your iPod, PC, or Mac and can also be burned to a CD. If you don't have iTunes, you can download it here for free.

6. University of California, Berkeley (berkeley.edu)

UC Berkley has been offering live and on-demand webcasts of select courses since 2001. There are now hundreds of current and archived UC Berkley courses available as podcasts and webcasts. Courses cover a wide range of subjects, including biology, astronomy, chemistry, computer programming, engineering, psychology, legal studies and philosophy.

7. Utah State University (usu.edu)

Utah State University also provides access to an oleo of free online courses. Study options include everything from Latin and anthropology to physics and theatre arts. The text based courses are comprehensive and can be downloaded as a zip file or viewed directly on the site.

8. Kutztown University of Pennsylvania (kutztownsbdc.org)

Kutztown University's Small Business Development Center offers the largest collection of free business and entrepreneurial courses available on the web. Course topics include accounting, finance, government, business law, marketing and sales. Interactive case studies, comprehensive text, slides, graphics and streaming audio all help to demonstrate the concepts presented in each course.

9. University of Southern Queensland (usq.edu.au)

The University of Southern Queensland in Australia provides free access to a number of different courses through their OpenCourseWare initiative. Courses from each of the five faculties are available and cover a broad range of topics, including communication, technology, science, career planning, teaching and multimedia creation.

10. University of California, Irvine (uci.edu)

UC Irvine recently joined the OCW Consortium to begin providing free university level courses online. Right now, there are only a handful of options to choose from, but the list is growing. Current courses cover topics like capital markets, financial planning, human resources and e-marketing. Course materials typically include syllabi, lecture notes, assignments and exams.

Tuesday, December 18, 2007

Thought on 2008 Public Holiday

盛世假期何其多,
羁旅漂泊奈若何.
良辰好景为谁设,
千种风情何人说.

The 15 Biggest Tech Disappointments of 2007

The 15 Biggest Tech Disappointments of 2007

These much-ballyhooed products, sites, and services, it turned out, left much to be desired.Part 1 of a special five-part series. -->
Dan Tynan
Sunday, December 16, 2007 10:00 PM PST
From on-demand video services that were overly demanding, to underwhelming operating-system updates, 2007 was full of disappointments. We surveyed the landscape and polled some old friends to come up with the 15 products, companies, and industries that left the most sour taste in our mouths. From last to first, here's our list of the year's biggest losers. Read 'em and weep.
#15. Box Unpopuli: Amazon Unbox
Yes, entertainment on demand is the new black. But Amazon's video delivery service left us mostly blue. The interface is cluttered and ugly--lacking both the simplicity and sophistication of the Apple iTunes Store or NetFlix's Watch Instantly. The selection is weird, and searching is cumbersome. For example, you can rent ($3.99) or buy ($14.99) a digital copy of Ocean's 13, but a search for "Ocean's 11" turns up an ancient concert video from the old prog-rock group Yes. You can send Unbox movies to your TiVo, but you have to wait for them to fully download before you can watch them--or 2 to 4 hours for a standard-length movie over a cable modem connection. Not exactly what we'd call 'on demand'.
When Unbox debuted in late 2006, we were willing to cut it some slack. After all, we're talking about Amazon, the guys who put the e in e-commerce. We thought by now they'd have figured out how on-demand video is supposed to work. We were wrong.
#14. Screwed up to the Max: Municipal WiMax
It sounded like a great idea: big cities would offer wide-area wireless Internet access as part of their infrastructure, the same as roads, traffic lights, and sewers. A cheap, fast Net connection anywhere within city limits, 24/7. What's not to love?
Then public and private WiMax ventures started dropping like flies. Sprint and Clearwire called off their plans to build a nationwide WiMax network, after Sprint CEO Gary "bet the company on WiMax" Forsee got canned last October. Earlier this year EarthLink bailed on its offer to foot the bill for a Wi-Fi network in San Francisco. Similar city-funded projects have bought the farm in Chicago; Milwaukee; and Anchorage, Alaska. Even Silicon Valley--arguably the most Net-centric community this side of Mars--has had a hard time getting its WiMax plans off the ground. The big reason? Cost. Unwiring the whole valley would cost an estimated $200 million, or $133K a square mile. SV geeks can always park their cars near the Googleplex in Mountain View, whose wireless network covers 12 square miles. As for the rest of us, well, we can hope and pray that the search titans win the FCC auction for the 700-MHz wireless spectrum next January, and then decide to open their network to the world. Does Google have to do everything?
#13. Web 2 Woe: Social Networks
Memo to Badoo, Bebo, Catster, Dogster, Facebook, Faceparty, Flickr, Flixster, Hi5, Hyves, Imbee, Imeem, MySpace, Mixi, Pizco, Pownce, Takkle, Twitter, Virb, Vox, Xanga, Xing, Zoomr ... and the 3,245,687 other social networks clamoring for our limited attention spans: We got it. Making connections between friends is cool. Sharing photos and videos, even cooler. But it's all so... 2006. Haven't you got anything new to show us?
Here's a safe bet: Two years from now, 90 percent of these networks will be gone and their founders will be back working at Starbucks. I'll have a double mocha frappucino, please.
#12. Just Another Oxymoron: Internet Security
In 2007, the words "Internet security" joined the ever-growing list of self-canceling phrases, alongside "business intelligence," "Congressional ethics," and "Microsoft Works." This year, bot herders proved they could harness enough zombie PCs to take down an entire country's infrastructure for a month. Estonia eventually recovered, but our notion of Net invulnerability hasn't.
According to McAfee's Virtual Criminology Report, some 120 governments are actively engaged in Web espionage and cyber assaults. Meanwhile, private criminals used the Storm worm to created a botnet for hire containing millions of zombies--enough to take down a major network. And while the FBI's Operation Bot Roast nailed a handful of domestic bot herders, that leaves several thousand more to go, most of them living beyond the Feds' reach. Three-quarters of cyber attacks in 2007 originated outside the U.S., according to Symantec's most recent Internet Security Threat Report.
As with global warming, there's plenty of blame to go around--for everybody from developers of insecure software to home users who blithely log on without inoculating their PCs. Let's hope they get more of a clue in 2008.
#11. Singing an Old Familiar Zune: Microsoft Zune
Microsoft got a chance to do things right with its "iPod Killer" in 2007. And Zune 2.0 was certainly an improvement--offering 80GB of storage instead of 30GB, wireless syncing, improved touch controls, and a choice of Nano-like 8GB players in a variety of bright colors (Pepto-Bismol pink, anyone?). But Microsoft failed to lose the Zune's proprietary DRM scheme or remove all its restrictions on wireless music sharing (you can share songs with other nearby Zune users, but they can only listen to them three times before the songs go poof).
We're not the only ones disappointed in the Zune. According to the NPD Group, Microsoft still lags behind Sandisk and Creative Labs in market share for portable media players. And for every Zune Microsoft sells, Apple sells 30 iPods. Remember: You can't kill an iPod if you can't get close to it.
#10. Is Anyone Listening?: Wireless Carriers
Today's cell phone hardware is wildly innovative--and we don't mean just the Apple iPhone. Other companies--LG, Samsung, HTC, and Nokia--have all come out with handsets that are really more like hip pocket computers.
But innovative wireless service providers? Few and far between. Voice call quality still sucks, high-speed data networks are still scarce, and the companies still want too big a chunk of our wallets ($2.50 for a 20-second ring tone--exsqueeze me?). Worse, the inability to easily switch U.S. carriers but keep your phone is grating.
"The wireless industry has been a huge disappointment," says Brad Grimes, a former PC World executive editor, now editor in chief for Hanley Wood's Digital Home. "Innovation in devices has been exciting, but the fact that most of them are tied to certain service providers is absurd. Hopefully recent steps toward opening wireless platforms will gain traction. I'd be surprised if the day doesn't come soon when we can buy any mobile device to work with any carrier, and when we're not locked into contracts and ridiculous early termination charges."
Maybe Verizon's move to open up its network will pay off next year. But for now, all of them disappoint.
#9. Sorry, We Already Gave: Office 2007
Many of us spent a decade learning how to use Microsoft Office. So now that we finally have it all down, Microsoft changes almost everything about the interface in 2007, and not for the better. Instead of simple-if-prosaic toolbars, Office 2007 serves up a jumble of confusing icons known as the 'Ribbon.'
Longtime PC World contributor Robert Luhn, now editor in chief of DrBicuspid.com, says the new version was a stumble backwards. "Scrambled interface, incompatibility with old macros, but hey, I do get in-context spell checking," he says. "Is that worth the $239 upgrade? Me thinks not."
Overall, we liked the added support for XML and online collaboration tools when we reviewed Office 2007 late last year. But Ribbon schmibbon. We'll take the classic menus, please--even if we have to spend $30 for an add-in program to get them back.
#8. Needs To Change Its Spots: Apple "Leopard" OS 10.5
Maybe we just got spoiled by the iPod and iPhone, but the glow came off Steve Job's halo after this feline fleabag debuted. Within days of its release last October, Mac users reported dozens of problems with the new OS, some more serious than others.
Among the many: Wireless connections that slowly petered away, administrative logins that mysteriously disappeared, and a disturbing tendency to nuke data when moving it between two drives if the connection is interrupted.
Worse, a security bug that was fixed in OS 10.4 in March 2006 resurfaced in Leopard, according to Symantec. The Apple Mail vulnerability allows malicious attachments to execute code. German security researchers discovered that Leopard came with its firewall turned off, leaving users vulnerable to attack. Adding insult to injury, some upgraders even reported a Windows-like Blue Screen of Death when upgrading from previous Mac OSs.
In mid-November, Apple released an update to Leopard that fixed some of the bugs, including the firewall glitch. Repairing Apple's reputation, however, may take slightly longer.
#7. Cannot be Completed as Dialed: Voice Over IP
Here's a recipe for disaster: Have the market leader in your industry sued by three of the biggest telecom companies on the planet. Have second-tier players go belly up overnight, leaving thousands of business customers without any phone service. Add in a healthy dose of security vulnerabilities, and bake at 450 degrees until crispy.
Any way you slice it, 2007 was a crappy year for VoIP. Vonage spent most of the year fighting off patent infringement suits from Verizon, Sprint Nextel, and AT&T. (It has tentatively settled with all three, but not before agreeing to fork out payments of $39 million to $120 million apiece.) SunRocket simply disappeared last summer, leaving thousands of customers in the lurch.
Oh and by the way, your VoIP line may be bugged.
In November a UK-based security researcher released SIPtap, a proof-of-concept exploit that allows remote users to tap into and record voice streams across the Net.
Please contact your regional phone monopoly for service, and dial again.
#6. Un-Neutral: The Broadband Industry
Remember those halycon days when you paid $40 to $60 a month for "unlimited" broadband service and it actually was unlimited? Kiss those days goodbye. In 2007 we learned that some of the largest ISPs in the country--Comcast, Cox, Qwest, Cablevision, and Charter among them--throttle or otherwise interfere with BitTorrent traffic on the sly. Comcast denied it at first, then admitted to "traffic shaping" to discourage bandwidth-sucking peer-to-peer users. Now it's being sued by angry customers. Suddenly the whole Net Neutrality argument doesn't seem like such a bad idea.
Meanwhile, all the major telecom providers who blithely handed their bitstreams over to the NSA without a subpoena are now demanding retroactive immunity for the deed. Whose bits are they, anyway?
#5. The Great, The Bad, The Ugly: Apple iPhone
Yes, we know. Sliced bread only wishes it were as great as the iPhone. And aside from minor flaws like a tiny touch keyboard and lack of Flash support, the phone itself is pretty terrific. But AT&T's broadband service? Definitely second-rate. And if you want to switch to a more reliable or faster carrier, you have to take your chances with the hackers.
The $600 price tag--which soon dropped by $200 and then was followed by a $100 quasi-rebate--didn't help. "I think the biggest debacle of 2007 is the iPhone pricing bait and switch," says Peggy Watt, a PC World contributing editor and professor of journalism at Western Washington University. "People do expect tech prices to drop, but not as quickly as the iPhone did. Apple's response was pretty lame, too; a partial credit that couldn't be used for a lot of popular items (such as iTunes)."
Worse, those who did try to open their iPhones to other carriers or third-party applications found themselves owners of $600 iBricks when Apple tweaked the firmware to lock them out.
Memo to Apple: It's time to treat iPhones for what they really are--pocket computers with phone functions built in--and open them up the world. Just a thought.
#4. In a Sorry State: Yahoo
We can't say we really expected much out of Yahoo in 2007. Giving CEO Terry Semel the boot was probably a good thing--especially after his $230 million compensation package came to light. Installing the original Yahoo, Jerry Yang, as head honcho also seems like a smooth move, even if the company seems permanently stuck in the number two position behind Google.
Yet there's one area where Yahoo can lay claim to being number one: creating political prisoners. At least three times over the past five years, information supplied by Yahoo to the Bejiing government has led to the incarceration of Chinese dissidents.
This year, Yahoo executives admitted they'd lied to Congress when they claimed not to know why the Chinese demanded their subscriber data. Yang and general counsel Michael Callahan were forced to deliver a humbling public apology in front of a Congressional committee. Shortly thereafter, the company settled a suit brought by two of the dissidents' families.
Not so smooth.
#3. The Anti-Social Network: Facebook Beacon
We have to give props to Facebook for stealing the social networking spotlight from MySpace this year. But once it got up on stage, Facebook laid an egg. For example, opening up the Facebook platform to third-party developers was inspired. Now, six months later, those viral-to-the-point-of-influenza Facebook apps are mostly just irritating. (For the 27th time: No, I do not want to spam everyone in my network with another movie quiz, thank you. Now go away.)
The introduction of Facebook's Beacon advertising program was more than disappointing--it was disturbing. Suddenly, anything you purchased on Amazon, Overstock, Fandango or three dozen other sites would be broadcast to your Facebook friends. Worse, even when you were logged out, Facebook still gathered the information, though the company says it didn't use the data.
CEO Mark Zuckerberg apologized and offered subscribers easier ways to opt out of Beacon, but the damage was already done, says Richard Laermer, principal at RLM PR in New York and author of Punk Marketing.
"The idea behind Beacon is fascinating, but the fact that it was being done for subscribers by someone else was less than cool," he says. "It's like me fishing in your trash can for your store receipts (you haven't spotted me yet?) and then telling other people what you've bought. Not illegal, but oh so creepy."
How much damage has Beacon done to Facebook's rep? "Their PR value just went down about 40 percent," he adds.
#2. What Is It Good For: The High-Def Format War
February 2007: Sony declares its Blu-ray the winner of the hi-def format wars.
April 2007: Toshiba announces its HD DVD player is the first to sell more than 100,000 units.
July 2007: Blockbuster Video says it will carry only Blu-ray discs in more than 1400 of its retail outlets.
August 2007: Paramount and DreamWorks announce exclusive support for the HD DVD format.
September 2007: God help us, a third HD format has emerged: HD VMD (Versatile Multilayer Disc).
Enough already.
Did we learn nothing from VHS vs. Betamax, CD-R vs. CD-RW, DVD-A vs. SACD, and so on down the line? At least the warring DVD camps worked out a compromise in the mid-90s that allowed everyone to profit from the new movie format (though it took them a while). Not so in HD land, where a take-no-prisoners attitude on both sides has left consumers cold. It will be a snowy day in Video Hell before we'll put our money down on either format.
#1. No Wow, No How: Windows Vista
Five years in the making and this is the best Microsoft could do?
It's not that Vista is awful. The integrated security and parental controls are nice, and the Aero interface is as whizzy as it gets. Searching and wireless networking are much faster and easier than under XP.
It's just that Vista isn't all that good. Many of the innovations the operating system was supposed to bring--like more efficient file and communications systems--got tossed overboard as Microsoft struggled to get the OS out the door, some three years after it was first promised. Despite its hefty hardware requirements, Vista is slower than XP.
When it debuted last January, incompatibilities were rampant--in part because hardware and software makers didn't feel any urgency to revamp their products to work with the new OS. The user account controls that were supposed to make users feel safer just made them feel irritated. And at $399 ($299 upgrade) for Windows Ultimate, we couldn't help feeling more than a little gouged.
No wonder so many users are clinging to XP like shipwrecked sailors to a life raft, while others who made the upgrade are switching back. And when the fastest Vista notebook PC World has ever tested is an Apple MacBook Pro, there's something deeply wrong with the universe.
We have no doubt Vista will come to dominate the PC landscape, if only because it will become increasingly hard to buy a new machine that doesn't have it pre-installed. And that's disappointing in its own right.
PC World contributing editor Dan Tynan used to be disappointed, now he tries to be bemused.

Sunday, December 16, 2007

Top 10 ways to un-bake your brain

Feeling stressed, anxious, overwhelmed or fatigued? Having trouble making decisions, falling and staying asleep and solving problems? A bit low on energy, just all-around baked? Life does that to us sometimes. The good news is…there’s a short list of simple practices that, done regularly, can pretty quickly un-bake your brain…and your body!

How stress bakes your brain and breaks your body.

Stress is good. Huh?! That’s right, I said it. Stress is GOOD…when there’s a reason for it. Stress is good when you need to be on high-alert, when you need a shot of energy, adrenaline and clarity to get you through a brief period of intensity. It created changes in your physiology that allow you seemingly superhuman abilities.

But, when that stress becomes chronic, the exact opposite happens. The changes in your body’s chemical (endocrine) and electrical (nervous) systems caused by stress can be hugely destructive when endured over an extended period of time.

On a fundamental level, it can degrade body tissue, lead to weight gain, increase your risk of heart-disease, diabetes, stroke and various forms of cancer. On a mindset and emotional level, it can increase anxiety and depression, decrease cognitive function, creativity and problem solving ability and destroy your sleep, which then cycles back around to further deteriorate your body and brain. The good news is…

You can un-bake your brain.

While we’d all like to rid ourselves of the daily brain-burn, most of us are not willing to extract ourselves from the professional and lifestyle circumstances that are creating that stress (though, I have to tell you, trading in my Ferragamo’s for barefeet has been pretty friggin sweet for me).

So, for those who choose to endure, rather than extract, here are 10 powerful practices that will help get you back to a calm, focused, relaxed and rejuvenated state of mind and allow you to take back body and health:

1. Mindfulness-based stress reduction™

Developed by acclaimed psyhcologist Jon Kabat-Zinn, more than 20,000 people, from all walks of life have now completed this 8-week mindfulness-based stress reduction training with remarkable results. And, the good news is, now you don’t have to live in Massachussetts to do it. There are many trained affiliates or you can do it at home with Kabat-Zinn’s book and audio CDs (or mp3s) with only 45-minutes a day.

2. Get lost in great music.

This is pretty intuitive, but there is actually significant research that reveals listening to the right music can actually be a powerful de-stressor and help get you back into a better state of mind relatively quickly. And, if you think listening to music drops you into the chill-zone, try learning or playing music. A fascinating study on the impact of playing music on stress reveals that keeping a guitar handy in the corner of your office and cranking out Stevie Ray Vaughn’s Little Wing on your lunch break will help you feel oh so much better!

3. Get Active for 30-minutes a day

Yes, you heard right. “But, how am I going exercise when I already don’t he enough time in the day?” Simple, exercise is the master key to pretty much everything. It’s why I covered it first in this months’ lifestyle evolution series.

A NASA study revealed that people who exercise work at near-100% efficiency during the last two hours of the day, while those who do not work-out become 50%-less productive in the final two-hours. Now, extend that to what’s become a 10, 12 or 14 hour workday and you being to see exercise create a huge savings in time and productivity. It not only creates the time to exercise, but allows you get even more done, too.

Plus, exercise is hugely effective at alleviating stress and, done about 3 to 6 hours before sleep, can allow you to sleep better, too.

4. Take a breath break

The way you breath directly reflects your levels of stress. When we’re in high-alert, stressed states we tend to take faster, shallower breaths. In fact, this can become so exaggerated, it can lead to hyperventilation and even leave us unconscious. When we’re calm and relaxed, though, our breathing tends to be slower, deeper and less labored.

The interesting thing is, we can actually reverse-engineer this response to obliterate momentary-stress. What does that mean? If we consciously alter our breaths to make them deeper and longer, within a few minutes, this practice will actually force your body out of the high-alert, fight-or-flight stress response and make you much calmer. In fact, this works so well, it has become the staple of many corporate stress-management programs.

5. Biofeedback

What the heck is biofeedback? It’s using your tapping into your bodies own signals and manipulating them to create a very specific change in state. Usually, this involves heart-rate, blood pressure, breath-rate, sometimes even galvanic skin-response. There are many approaches, but, generally, you use a simple machine that reads your physiological markers and then you are instructed to either alter your breathing pattern or visualize something specific in order to bring those makers back into the chill-zone. Biofeedback is great for people who like tangible scientific and fairly quick results. Some resources include:

  • StressEraser – This is a very cool, iPod-size, high-tech biofeedback device that trains you to alter your breath to calm down. I’ve been working with a review-copy of one of these devices for about a week now and will have a full-review of it in a few weeks. But, so far, I’m impressed.
  • BioMedical.com - online clearinghouse for biofeedback software and devices, information and audio/video

6. Psychoacoustics

What the? No, it’s not some wacky drug from the 60s, psychoacoustics is the use of certain audio and visual technologies that allow people who have a lot of trouble with meditation or mindfulness to drop into that same zone, without having to focus so hard on getting there. A number of researchers have build goal-specific audio programs and tools around this technology in an effort to allow more people to use these tools. Resources include:

7. Game-out.

Okay, so this isn’t blanket permission to while away hours in front of your TV or computer or hang out with the local skate-rats at the arcade. But…games that, by the very nature of the elements of the game, require intense concentration, also tend to serve a powerful de-stressing function. In fact, they may induce a similar relaxation-response to meditation.

My advice, though, is to see if you can combine your game-playing with your exercise and get the combined benefits of exercise and concentration-training in a single time-efficient slot. Plus, it’ll lead to less, rather than more, couch/sitting-time, which is always a big benefit in a nation of declining health and expanding waistlines.

8. Re-pattern your sleep.

I’ve already spent a lot of time on this in my recent article, Are your sleep habits making you fat, nasty and dumb. There I listed 5 ways to immediately improve your sleep. Sleep is hugely important in mindset and stress reduction. Lack of sleep leads to fatigue and brain-fog which leads to unwillingness to exercise and inefficiency which, in turn leads to longer work-hours and poorer sleep. It’s a vicious cycle, so any mindset-tuning program must also take a serious look at your current sleep habits.

9. Midday power-nap.

A short power-nap, no more than about 30-40 minutes can be incredibly refreshing. The trick is not to go too long, because if you drop too far into the deeper stages of sleep, waking can be jarring and leave you not refreshed, but actually significantly grumpier.

In fact, midday power-napping is gaining some serious traction as a power-performance and mindset rejuvenating tool, leading companies to begin to open power-napping pod centers in major cities. New York has a number of them and it’s getting increasingly more difficult to get an “appointment.”

10. Write things down.

In my recent article on non-finishing, I talked about something called the Zeigarnick Effect, a phenomenon where you remember the details of a task until it is completed and then promptly forget it all. It’s like completing the task wipes your mental slate clean. Similarly, when you write down the unfinished tasks that are swirling around your mind and detail not only their current status, but critical task need for completion, you create a significant amount of mental “space.” This space go a long way toward returning you to a calmer place.

While this list is not all-encompassing, it goes along way toward providing a set of easily-implementable practices, tips and tools to help un-bake your brain, de-stress your life, improve your sleep, relationships and work performance and help return health and fitness to your days.

A few other great life-balancing resources to explore include:

And, for those following along in my lifestyle evolution series, setting up a power-plan for 2008, we’ll integrate many of these into our bigger picture plan.

Please share any other techniques, practices or tools that have helped you in the comments below.

Thursday, December 13, 2007

民国初期“丘八体”诗

不知什么时候,中国开始兴起一种“丘八体”的诗来,这种诗在民国初期盛行一时,其中最出名的三个代表人物是张宗昌、韩复榘和冯玉祥。

下面我们先来欣赏一下韩复榘的大作:

其一 游大明湖

大明湖,明湖大,

大明湖里长荷花。

荷花上面有蛤蟆,

一戳一蹦达。


其二 游趵突泉

趵突泉,泉趵突,

三个眼子一般粗,

骨突股突骨突突......


其三 望千佛山

远望佛山黑鸦鸦,

上面小来下面大。

有朝一日倒过来,

下面小来上面大。

电视剧《大染坊》借陈六子之口也将韩复榘一首诗念诵:

天上玉帝想抽烟,

雷公打闪一火镰;

若是玉帝不抽烟,

干嘛又是一火镰?

最后这首“诗”也有人说是狗肉将军张宗昌所作,二人诗风相近,版权问题不知这二位老兄在阴间争清楚没有。


军阀张宗昌本是一介武夫,粗鄙无文,人称其有三不知:不知手下到底有多少士兵,不知腰里有多少银子,不知房中有多少小老婆。但是这位一问三不知的莽汉因追随胡帅张作霖有功,被封为山东军务督办。那张宗昌觉得自己既然身为孔圣人的父母官,不带点斯文,枉来山东一趟。于是,现场拜师学艺。

番苦练之后,那张宗昌功力大进,不久便出版一本诗集,分送诸友同好。百年中国,诗人成群,但象张宗昌这样仍有诗句流传、仍被人惦记的诗人寥寥无几。以下摘抄几首,可谓奇文共欣赏。

笑刘邦

听说项羽力拔山,吓得刘邦就要窜。

不是俺家小张良,奶奶早已回沛县。

俺也写个大风的歌

大炮开兮轰他娘,威加海内兮回家乡。

数英雄兮张宗昌,安得巨鲸兮吞扶桑。

游蓬莱仙阁

远看泰山黑糊糊,上头细来下头粗。

如把泰山倒过来,下头细来上头粗。

天上闪电

忽见天上一火链,好象玉皇要抽烟。

如果玉皇不抽烟,为何又是一火链。

看这位张大帅写的那“大风歌”似乎还挺有民族气节,想揍小鬼子一下,只不过那时多有意淫者这样胡说八道,只为痛快痛快嘴。后来这位大帅被赶下台后,被人刺杀,也给我们的诗坛留下一味笑谈之资。呵呵……

但冯玉祥将军是我所敬仰的一位伟人,虽然将他在这里与那二位不肖之徒并谈,但在下丝毫没有贬低他老人家之意,网友们不要拍我啊,呵呵……咱们也来欣赏欣赏他老人家的真正的丘八诗!这才是新诗中的佳作!

冯玉祥只读过一年另八个月的私塾,后入行武,碾转坎坷,一生都在探索救国救民的道路。作为一个著名的爱国将领,可称一代伟人。其所作丘八诗不但丝毫没有降低他在人们心中的地位,反而更让人感受到他的人格魅力,反过来又证明他才是一个真正达到大俗大雅的诗人。冯玉祥驻军于湖南常德时的一首《代告示诗》:

嫖娼聚赌鸦片枪,诱人入渊坠万丈。

凡事应该仔细想,怎可缺德去嫖娼!

女人尽皆父母养,与尔姊妹没两样。

好逸恶劳去赌场,弹钱掷骰摇单双。

明抢暗夺黑心肠,落得家破人也亡。

鸦片为害致身残,屡禁不止死灰燃。

中华民族要振兴,毒头一律用刀砍!

为建立良好的社会秩序,冯将军便写出了这样的代告示诗。率部驻徐州时,为改变城市的脏、乱、差,他要求民间成立打野狗队、灭蝇队,督促改造厕所,在取得一定成效后,他又禁止对树木乱砍滥伐:

老冯驻徐州,大树绿油油。

谁砍我的树,我砍谁的头!

抗日之初,国民党副总裁、蒋介石的“二把手”汪精卫,居然卖国求荣,逃往河内发出所谓艳电,公开投敌。听到汪精卫叛逃的消息,时任战区司令长官的冯玉祥猛抓头发,高声呼号:“可耻!可耻!不如驴也!”气极时,握管而吟。时值冬日,而天府之国菜花见黄,便一挥而成三字《菜花黄》为题。接着如泉喷涌,又成一首丘八诗:

时当二九天,蜀道菜花黄。

国家与朋友,尽弃投敌帮。

千年万世后,精卫恶名长。

认贼当作父,甘心称天皇。

倭寇发狂言,欺世惯中伤。

巨奸欣然喜,竟谓好主张。

不要我赔款,中国整个亡。

取消租界地,全属贼东洋。

日满华合作,主人倭寇当。

三国成一家,日寇是父王。

此理至明显,世人皆知详。

谁说汪不知,那又怎么讲?

卖国贼三字,头衔最适当。

此诗何止将汪精卫的汉奸脸嘴,酣畅淋漓地刻划出来,更把东洋人以“大东亚共荣圈”的鬼话揭露得一丝不挂,彻彻底底。冯将军对大是大非划分得一清二楚,毫不含糊,诗风何其贵也。

有前我曾有一本《冯大将军传奇》,收集了冯玉祥将军的轶闻趣事,里面记载了冯将军的不少有关诗作的来历,看了真让人笑掉大牙,可惜这本书后来丢了,至今心痛不已。

据说文革中有赛诗会,不管什么人都要作诗,表明无产阶级、贫下中农不比那些资产阶级、地主老财的文化修养差,有老农被逼无奈,也被迫作诗曰:

大海啊,你为何这么多水;

毛驴啊,你为何四条腿;

谁他娘的逼我作诗啊,

让我急得屎尿拉了一裤腿!

俺以前写小说时,也引入这种“诗”来增加小说的趣味兴,请大家欣赏其中几首:

两个酸丁所作:

一咏碧水:

溪水清清碧如带,

从上到下流不停,

举剑削成两半截,

送给美人缠金莲。

二咏青山:

好大好大一座山,

长满树木和杂草,

待到秋后枯黄时,

一火烧成大土堆。

另一首嘲笑二人诗:

稀奇稀奇真稀奇,

蠢猪笨驴来相抵;

相抵不过比拉屎,

不知哪个得第一?

两个酸丁被邪教拢络,为邪教宝典秘籍而用尽吃奶之力所写大作:

咏宝典:

甲:宝典本是二本书,

乙:翻来翻去没读头,

甲:经我二人动笔头,

乙:立马变成香饽头,

甲:天下流传没尽头,

乙:圣教神功显风流,

甲:引得苍生来入教,

乙:一头一头又一头!

10 Myths About Self-Employment

My article 10 Reasons You Should Never Get a Job has quickly become very popular, so I figured it would be nice to write something about the realities of self-employment as well. Since there are so many myths about self-employment (especially among lifelong employees), a good place to start would be to dispel some of those myths.
I started my first business right after graduating college (I graduated in Dec 1993) and have been continuously self-employed since then. The only time I was ever an employee was during college, when I worked six months as a part-time retail sales associate.
1. Self-employed people have to work really long hours.
Many self-employed people work longer hours than employees. Some enjoy their work so much they want to put in long hours. Some set up their businesses in such a way that their physical presence is necessary for income generation. Either way it’s a choice though because you’re the one who decides how to set things up.
Many self-employed people start businesses where they get paid only while they’re working, such as an attorney who opens a law office and bills his/her clients at a certain hourly rate. When the attorney is at home, s/he generates no income.
But there’s no law of self-employment that says you have to start a business that only generates income while you’re working. If you start a business like this, you’re really just creating a job for yourself. I prefer to think of self-employment in terms of systems building. You build income-generating systems that generate income for you, systems you own and control. It’s like you own the golden goose, and it does the work of laying the golden eggs.
So working long hours is largely a symptom of the type of business you create as well as your personal choice. If you don’t like working long hours, you certainly don’t have to.
2. The only reason to build a business is to sell it.
This is a favorite statement of Michael Gerber, author of The E-Myth Revisited and various other E-Myth books. While you can certainly build a business to sell or to take public, you can also build a business to keep. In fact, it’s perfectly valid to build a business, run it for a while, and then simply kill it.
As a self-employed person, you’re free to build whatever kind of business you want. You’re the boss. If you want to build a business to sell, go for it. If you just want an income source that doesn’t require you to get a job, that’s fine too. There’s no rule that says you have to build a business that’s a monument to human greatness.
Many people enjoy serial entrepreneurship. They start a business, run it for a certain time, and then either sell it or close up shop. Then they repeat the process.
You can also run multiple businesses at the same time. This might sound too complicated, but once you’ve been running a business for a decade or more, it’s not that hard to repeat the process and spawn another one. Such variety can be fun if you don’t overdo it.
3. Self-employment is much riskier than getting a job.
Security is a result of control, and self-employment gives you far more control over your income than you have with a regular job. When you’re self-employed no one can fire you or lay you off. Which is more secure — owning your income stream or leasing it? Ownership obviously.
If you need to make extra cash quickly, that’s very tough to do as an employee. But as an owner who controls all the business assets, you have the ability to rechannel resources to increase income in a pinch. Having control makes a huge difference.
Employees take the biggest risk of all. You learn how risky it is when you unexpectedly hear the words, “we’re letting you go,” while the owners enjoy the spoils of record profits.
4. Self-employment means putting all your eggs in one basket.
Ask yourself this: How many people would have to turn against you to shut off all your income? For employees the answer is usually one. If your boss fires you, your income gets turned off immediately. Whether or not it’s justified is irrelevant — you suffer a total loss of income regardless of the reasons. Now that’s putting all your eggs in one basket.
With self-employment, however, you can more easily diversify your income streams and thereby reduce your risk. You have the control necessary to make this happen. Generating different types of income from thousands of customers is a lot more secure than receiving only one paycheck.
Together Erin and I receive about 10 different types of income, including direct sales, third party sales through distributors, ad revenue, royalties, affiliate income, consulting fees, etc. Even if our single biggest source of income were turned off immediately, we’d still be fine.
5. Being self-employed is stressful.
What’s stressful is not being able to make ends meet, whether you’re an employee or self-employed. But given the same standard of living and income, I think self-employment is less stressful because you enjoy more control. Not having control over your time and your life is stressful. When you have the freedom to say no, you can more easily control your stress.
Self-employment can be very low-stress if you decide to make it so. You can turn your office into a relaxing place to work. You can set your own hours. If you notice the onset of stress, you can take time off to relax. No one can force you to do anything you don’t want to do.
6. The customer is always right.
If you’re self-employed, feel free to fire customers that cause you grief. Some customers just aren’t worth having.
Erin and I have interacted with thousands of customers over the past 11 years, and nearly all of them have been great. But every once in a while, we’ll turn a customer away and refuse to accept any more business from that person. We rarely find it necessary to do so, but it does happen.
I can handle criticism just fine, but what crosses the line for me is when a customer becomes obnoxiously rude, insulting, or threatening. Some people think that if they behave like jerks, any business will bend over backwards to help them. But my customer service motto is: no civility, no service.
If you’re self-employed, there’s no need to do business with people who think it’s their privilege to treat you like dirt. You won’t enjoy having such customers, and you won’t enjoy the types of referrals they send you. Besides, it’s a lot of fun to refer these people to your competitors.
7. Being self-employed is lonely.
Many employees think they enjoy a rich social life when all they do is hang out with their co-workers. That’s fine for starters, but it can get pretty stale after a while. On the contrary I think it’s easier for self-employed people to recognize the need for social activities outside their work. At the very least, this may be motivated by the desire to network and to learn from other business owners.
There’s no need to be isolated and lonely if you’re self-employed as long as you take the time to pursue other social outlets. Personally I love hanging out with other self-employed people. Such people have a certain energy and proactivity that I rarely see in employees.
A regular job provides some built-in socialization, but if you think about it, you’ll see that it’s very limited. An employee can be fired for excessive socializing on the job. But a self-employed person can socialize freely at any time of day.
Self-employment can be wonderful in the early stages of dating, especially if you’re both self-employed. When Erin and I started dating, I would often pop over to her house in the morning and spend half a day with her. This allowed our relationship to progress more quickly, and after three months we moved in together. Sure I didn’t work as hard during that time, but self-employment gave me the freedom to put my social life ahead of my work.
8. Self-employed people have to do everything themselves.
Self-employed people may be responsible for making sure everything gets done, but it’s usually foolish for them to do everything themselves. That would be way too much work.
Erin owns and manages VegFamily Magazine, but she doesn’t do the work of publishing each issue herself. She has a staff of writers who create the content and a managing editor that oversees the details of each issue. Erin designed and created the system, but other people run it for her.
You don’t even have to design your own system if you can leverage someone else’s. I generate advertising income from this site, but the vast majority of ads are served up by Google Adsense. I don’t sell the ads or deal with the advertisers — Google handles all of that. If I had to sell every ad myself, that would be insane… way too much work for me to handle alone.
9. Self-employment is too complicated.
Self-employment can seem complicated because there’s a lot to learn in the beginning, such as accounting, taxes, payroll, legal issues, insurance, etc. It does take a while to learn the basics, but most of it isn’t particularly difficult. Just get yourself a good book on the subject, and you’ll be off to a great start. I recommend picking up a copy of Small Time Operator.
Don’t let the initial learning curve get you down. You only need to learn this info once… and only for your first business. If you start a second business later, you’ll be up and running much more quickly.
If you set things up right, the ongoing maintenance of a business doesn’t have to be a nightmare.
10. You need lots of money to start a new business.
That depends on the business. You can start an online business for very little cash since domain names and web hosting are dirt cheap. We’re talking less than $100 to cover the whole first year.
I used about $20K of my own money to launch my games business in 1994, but I learned my lesson because the money went way too fast. So when I started this personal development business, I decided to do it as cheaply as possible. I spent only $9 (to register StevePavlina.com), and I required that any other expenses would have to come out of revenue. I didn’t make any money the first 4 months, but after 22 months the business is now earning about $9000/month. I’m pleased with this result, but I’m not that far along in my plans yet, so this is by no means the end.
I’m not suggesting that any idiot can kick-off a decent self-employment income for the price of a movie ticket – you did notice this site is called “Personal Development for Smart People,” didn’t you? The point is simply that you don’t need to pour your life savings into your first business. You do, however, need an intelligent way to provide value to people. The nice thing about an online business is that you can create value (like an article) for a fixed time investment, and technology can deliver that value millions of times over without costing you any extra time or money. You invest a little time in the initial value creation, but you get paid for the ongoing value delivery. Technology does most of the work for a cost that’s virtually zero, but you get paid for its results (significantly more than zero).
In contrast to self-employed people, employees don’t normally get paid for their ongoing value delivery. They get paid a flat rate or a one-time commission while their employer reaps the ongoing rewards indefinitely. Employees are very generous to their employers.
Try it for yourself
Hopefully I’ve helped dispel some common myths of self-employment. Such irrational fears aren’t representative of the reality. Of course the only way to really understand self-employment is to experience it yourself.
I’ve met quite a number of self-employed people in my life, but I’ve never heard any of them say that becoming self-employed was a mistake and that they wished they’d gotten a regular job instead, even if the business didn’t do well financially. Self-employment is a powerful vehicle for personal growth, and often the greatest value comes from the skills and self-knowledge you gain along the way. Like many other self-employed people, I’d sooner give up all my businesses than the lessons I learned from building them.
Discuss this post in the Steve Pavlina forum. If you find this site helpful, please leave a donation for Steve so you can enjoy the spirit of giving too.
Related Posts
10 Ways to Optimize Your Normal Days
Creativity for Smart People
10 Reasons You Should Never Get a Job

Wednesday, December 12, 2007

Top 10 reasons why you'd miss working

Here are the top 10 reasons you'd miss work:

10. Cubicles. Dilbert gave cubicles a bad rep. But cubicles are like a daytime slumber party. You can goof around, shoot rubber bands, and listen in on other's conversations.

9. Stress relief. The real world is serious stuff: money, health, kids, fighting with the spouse. It may be counter-intuitive, but work is where you get away from all that stress.

8. Money. Scamming people gets old; real money is hard to come by unless you're working.

7. Co-workers. Where else can you meet and interact with so many people you have things in common with? Work is a veritable cornucopia of friendship possibilities.

6. Free office supplies. Come on, we all do it.

5. Weekends and vacations. If you're not working, weekends and vacations wouldn't be half as much fun.

4. Dysfunctional boss. What else would you and your co-workers have to bitch about over beers if not your abusive, dysfunctional boss?

3. Fluorescent lights. OK, I got nothing here. They suck.

2. Anecdotes. Work provides an endless supply of dysfunctional anecdotes. Sure, you can talk about politics, religion, and kids, but those topics get old fast.

1. No housework. The only get-out-of-housework-free card I know is working. The harder you work and the more money you make, the less housework you have to do.

We love to hate it, but I think work is way underrated. What do you think?

Tuesday, December 11, 2007

Andy lau MV 《Everyone is No.1》for Beijing 2008 Olympic Games


【演唱】:刘德华
【专辑】:
刘德华 - Everyone is No.1
www.51lrc.com ★ 尛維尼制作
歌词吾爱 放飞心情

我的路不是你的路
我的苦不是你的苦
每个人都有潜在的能力
把一切去征服
我的泪不是你的泪
我的痛不是你的痛
一样的天空不同的光荣
有一样的感动
不需要自怨自艾的惶恐
只需要沉着 只要向前冲
告诉自己 天生我才必有用
Everyone is No.1
只要你凡事不问能不能
用一口气交换你一生
要迎接未来不必等
Everyone is No.1
成功的秘诀在你肯不肯
流最热的汗用最真的心
第一名属于每个人

我的手不是你的手
我的口不是你的口
只要一条心 狂风和暴雨
都变成好朋友
不需要自怨自艾的惶恐
只需要沉着 只要向前冲
告诉自己 天生我才必有用
Everyone is No.1
只要你凡事不问能不能
用一口气交换你一生
要迎接未来不必等
Everyone is No.1
成功的秘诀在你肯不肯
流最热的汗用最真的心
第一名属于每个人

不害怕路上有多冷
直到还有一点余温
我也会 努力狂奔

Everyone is No.1
只要你凡事不问能不能
用一口气交换你一生
要迎接未来不必等
Everyone is No.1
成功的秘诀在你肯不肯
流最热的汗用最真的心
第一名属于每个人
~~End~~

Monday, December 10, 2007

SAGE--An Open Source Math Software

By using SAGE you help to support a viable open source alternative to Magma, Maple, Mathematica, and MATLAB. SAGE includes many high-quality open source math packages.
http://sagemath.org/

Saturday, December 8, 2007

Clear Your Mental Space

Think about the last time you felt a negative emotion--like stress, anger, or frustration. What was going through your mind as you were going through that negativity? Was your mind cluttered with thoughts? Or was it paralyzed, unable to think?
The next time you find yourself in the middle of a very stressful time, or you feel angry or frustrated, stop. Yes, that's right, stop. Whatever you're doing, stop and sit for one minute. While you're sitting there, completely immerse yourself in the negative emotion.
Allow that emotion to consume you. Allow yourself one minute to truly feel that emotion. Don't cheat yourself here. Take the entire minute--but only one minute--to do nothing else but feel that emotion.
When the minute is over, ask yourself, "Am I willing to keep holding on this negative emotion as I go through the rest of the day?"
Once you've allowed yourself to be totally immersed in the emotion and really fell it , you will be surprised to find that the emotion clears rather quickly.
If you feel you need to hold on to the emotion for a little longer, that is OK. Allow yourself another minute to feel the emotion.
When you feel you've had enough of the emotion, ask yourself if you're willing to carry that negativity with you for the rest of the day. If not, take a deep breath. As you exhale, release all that negativity with your breath.
This exercise seems simple--almost too simple. But, it is every effective. By allowing that negativity emotion the space to be truly felt, you are dealing with the emotion rather than stuffing it down and trying not to feel it. You are actually taking away the power of the emotion by giving ti the space and attention ti needs. When you immerse yourself in the emotion, and realize that it is only emotion, it loses its control. You can clear your head and proceed with your task.
Try it. Next time you're in the middle of a negative emotion, give yourself the space to feel the emotion and see what happens. Keep a piece of paper with you that says the following:
Stop. Immerse for one minute. Do I want to keep this negativity? Breath deep, exhale, release. Move on!
This will remind you of the steps to the process. Remember; take the time you need to really immerse yourself in the emotion. Then, when you feel you've felt it enough, release it--really let go of it. You will be surprised at how quickly you can move on from a negative situation and get to what you really want to do!

Thursday, December 6, 2007

How to Fold a Paper Rose

The simple art of origami may be regarded as pure personal enjoyment, but some may say there are deeper meanings to the art. Since the paper rose signifies everlasting beauty, it can be given to a significant other to impress them or win them over. The following instructions are for an origami rose designed by Toshikazu Kawasaki.

http://www.wikihow.com/Fold-a-Paper-Rose

More reference: http://www.paperfolding.com/

Atomic Kitten - If You Come To Me lyrics

Title: Atomic Kitten - If You Come To Me lyrics

Artist: Atomic Kitten

Visitors: 4227 visitors have hited If You Come To Me Lyrics since Feb 12, 2007.

Print: Atomic Kitten - If You Come To Me Lyrics print version

So long ago
I didn't have a care about me
I didn't know my right from wrong
But now I know
That you've got your love around me
You know it makes me feel so strong
Baby if you turn around
And prove to me its real
Maybe we can work it out
Cos this is how I feel

Do you know where you go when you give it all away
I'll be there for you, care for you
Love you everyday oh baby
And do you feel the same for me?
Everyday you're away
And I feel a little low
I would cry for you, die for you
Just to let you know oh baby
And if you come to me you know I'll make it right

Through out all my life
I never thought I'd have somebody
Someone to call my own
And now I've found
A little bit of heaven baby
A place to call my own

Baby if you turn around
And prove to me its real
Maybe we can work it out
Cos this is how I feel

Do you know where you go when you give it all away
I'll be there for you, care for you
Love you everyday oh baby
And do you feel the same for me?
Everyday you're away
And I feel a little low
I would cry for you, die for you
Just to let you know oh baby
And if you come to me you know I'll make it right

Hey there dont you know
You gotta slow down before you know
You gonna brake down and turn around
Before you know, you go and break my heart
When will you learn to be
A little helpful when you think of me
A little careful when you're close to me
Coz baby i loved you from the start

Baby if you turn around
And prove to me its real
Maybe we can work it out
Cos this is how I feel

(I love you)

Do you know where you go when you give it all away
I'll be there for you, care for you
Love you everyday oh baby
And do you feel the same for me?
Everyday you're away
And I feel a little low
I would cry for you, die for you
Just to let you know oh baby

Do you know where you go when you give it all away
I'll be there for you, care for you
Love you everyday oh baby
And do you feel the same for me?
Everyday you're away
And I feel a little low
I would cry for you, die for you
Just to let you know oh baby
And if you come to me you know I'll make it right

98 Degrees Because of You Lyrics

it's all it's all it's all

You're my sunshine after the rain
You're the cure against my fear and my pain
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you

your my sunshine

[Verse]
Baby, I really know by now
Since we met that day
You showed me the way
I felt it then you gave me love I can't describe
How much I feel for you
I said, baby, I should have known by now
Should have been right there whenever you gave me love
And if only you were here
I'd tell you
Yes, I'd tell you (oh, yeah)


[Chorus]
You're my sunshine after the rain
You're the cure against my fear and my pain
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you


[Verse]
Honestly, could it be YOU AND ME
Like it was before neither less or more
'Cause when I close my eyes at night
I realize that no one else could ever take your place
I still can feel and it's so UNREAL
When you're touching me, kisses endlessly
It's just a place in the sun where our love's begun
I miss you, yes I miss you, baby, oh yeah


[Chorus]
You're my sunshine after the rain
You're the cure against my fear and my pain
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you


Bridge
If I knew how to tell you what's on my mind(what on my mind)
Make you understand
Then I'd always be there right by your side

[Chorus]
You're my sunshine after the rain(oohh)
You're the cure against my fear and my pain(ohh)
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you

[Chorus]
You're my sunshine after the rain
You're the cure against my fear and my pain
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you

[Chorus]
You're my sunshine after the rain(you're the cure of my pain)
You're the cure against my fear and my pain
'Cause I'm losing my mind when you're not around
It's all (It's all) It's all because of you

A greate doctrine - Reading notes for Les Miserables

"Man has upon him his flesh, which is at once his burden and his temptation. He drags it with him and yields to it. He must watch it, cheek it, repress it, and obey it only at the last extremity. There may be some fault even in this obedience; but the fault thus committed is venial; it is a fall, but a fall on the knees which may terminate in prayer. "


"To be a saint is the exception; to be an upright man is the rule. Err, fall, sin if you will, but be upright. "


"The least possible sin is the law of man. No sin at all is the dream of the angel. All which is terrestrial is subject to sin. Sin is a gravitation."

Monday, December 3, 2007

Cool online app that turns videos into cartoons and create animated avatars and more

beFunky - Awesome online app that lets you turn videos into cartoons, create animated painting out your pictures, create animated avatars and more. Read more: beFunky - Cartoonize Your Photos and Videos (incl. video demo).

Sunday, December 2, 2007

经典的武侠背景音乐

经典的武侠背景音乐
每次听到下面这些音乐,心理有种莫名的触动.那些在游戏中的日日夜夜回想在脑中让你无法自拔.
排名1 断情殇
排名2 偷功
排名3世间始终你最好
排名4 故宫的记忆
排名5 沧海一声笑
排名6 一生有意义
排名7 四张机
排名8 千愁记旧情
排名9 铁血丹心
排名10 桃花开
排名11 肯去承担爱
排名12 江湖笑
排名13 雪千寻
排名14 笑红尘
排名15 问情
排名16 初识太极
排名17 返朴归真
排名18 江湖路
排名19 少年的心
排名20 天知道 地知道 你知道
排名21 追梦人
排名22 罗汉阵
排名23 中华武魂
排名24 刀剑如梦
排名25 两两相忘
排名26 难念的经
排名27 开心做出戏
排名28 一生不醉醒
排名29 沙漠寂寞
排名30 菊花泪
排名31 只记今朝笑
排名32 风月笑平生
排名33 情冷情热
排名34 侠客无撼
排名35 始终会行运
排名36 熊熊圣火
排名37 剑伴谁在
排名38 心随流水远
排名39 随遇而安
排名40 醉春风
排名41浪迹天涯
排名42 天地难容
排名43 热爱终极
排名44 牡丹
排名45 爱上张无忌
排名46 浮生若梦
排名47 风起云涌
排名48 爱江山更爱美人
排名49 纵横江湖
排名50 天仙子
排名51 预言
排名52 神话情话
排名53 红颜红花
排名54 思念
排名55 选郎
排名56 游子恨
排名57 独思
排名58 豪情笑江湖
排名59 逍遥行
排名60 活得潇洒
排名61你爱我像谁
排名62 一辈子一场梦
排名63 难得糊涂
排名64 绝世绝招
排名65 真情真美
排名66 宽恕
排名67 珍惜这一刻
排名68 心语
排名69 雪中情
排名70 爱你痛到不知痛