2009年4月30日星期四

中国最好的一些源码下载站点排名

中国最好的一些源码下载站点排名

 1.中国站长网下载 http://www.chinaz.com/download/
为什么没有选择K6 理由很简单 做为比K6年轻的源码下载站点 靠自己的特色 越做越大
并且提供建站相关的一切东西更新速度也很快! 估计很快就可以超过K6了


2.KK66下载中心 http://down.kk66.com
瘦死的骆驼比马大,是全国最多的建站源码基地,但垃圾很多,现在K6的极端商业化已经使他逐渐的失去他自身的魅力


3.ASP300 http://www.asp300.com
选择他,其实主要是他在国内做的很早,又是比较早进行收费的代码下载站点,姑且不论他收费的对错,但网络告别免费是迟早的,这一点,他做的很先进,他提供的代码也是一些商业全站很不错的东西,虽然有人说他拿其他站点免费的当自己的,但是就现在各个下载站提供他们的代码都要加上一句"ASP300会员代码"就可以看出他们做的还不错,


4,信心网络工作室 http://www.xxsky.com/
做的也挺早,库存代码也多,现在不过好象有些迷失自己了,逐渐的被网友所遗忘


5谁与争锋的下载栏目 http://www.china-code.net/
东西比较多 商业的也多 现在免费了 不错 支持


6,ASP酷 http://www.aspcool.com
还是老代码下载基地,没有什么说的 排名主要靠他的资格在那里 ,代码更新慢,程序的相关资料还比较多


7,源码之家 http://www.mycodes.net
也是比较早的源码下载站点,好象今年是改版过的,提供的代码现在也很不错了,里面还有很多商业的东西哟,现在库存少! 更新速度还可以


8,中国源码中心 http://www.cncode.com
老牌的,名字挺大的,沉寂了很长一段时间后重新改版,提供的东西不怎么样,全是其他站有的,说明比较齐全,更新比较快


9,ASPDOWN http://www.aspdown.com
靠提供商业的东西火了一段时间,然后开始不成熟的收费,使网站慢慢的往下走.现在好象又提出了什么免费的ASPDOWN又回来了,其实又是一种变相的收费,咳 ,ASPDOWN前途为卜!


10,华迅鲲翔 http://www.ftpshow.com
后起之秀,靠做论坛起家做然后做下载的,商业的东西很多,但是介绍少,现在库存很少,但是快赶上CNCODE了,代码全部是本地提供下载速度很快! 值得期待
 

2009年4月29日星期三

OSI Model

 
7-Application
6-Presentation
5-Session
4-Transport
3-Network
2-Data Link
1-Physical


The Application Layer

This layer is very closer to user than other layers.in this layer the user interface protocols like FTP,Telnet,SMTP and so on is working.in another word this layer take data from sender system interface and give it to receiver system interface in other side. the Aplication layer interfaces is Winsock And NetBios(microsoft base network only). the applicatio layer protocols often include the session and presentation layer functions.


The Presentation Layer

This layer purpose is to translate the different syntax of systems to the actual syntax of the user system. when the communicating system establish a connection at presentation layer, they exchange message containing information about the syntaxes they have in common, and together they choose the syntax they will use during the session. the sender system send the data in its own syntax and the presentation layer of the sender system translate it to the communication syntax that are chosen before and the receiver system presentation layer receive the data and translate it to its own system syntax and gives it to upper layer(application). another functions of this layer is Compression & Decompression, Encryption & Decryption.


The Session Layer

The session layer allows users on different machines to establish sessions between them One of the services of the session layer is to manage dialoguue control. Sessions can allow traffic to go in both directions at the same time, or in only one direction at a time. If traffic can only go one way at a time, the session layer can help keep track of whose turn it is. Another session service is synchronization. Consider the problems that might occur when trying to do a two-hour file transfer between two machines on a network with a 1 hour mean time between crashes. After each transfer was aborted, the whole transfer would have to start over again, and would probably fail again with the next network crash. To eliminate this problem, the session layer provides a way to insert checkpoints into the data stream, so that after a crash, only the data after the last checkpoint has to be repeated. the session layer provide 22 services but i described some important of that. there are no separate session layer protocols as there are at the lower layer. Session layer functions are instead integrated into other protocols that also included presentation and application layer functions.


The Transport Layer

The transport layer protocols provide services that compliment those provided by network layer.the difference between the protocols provided at the transport layer within a particular protocol suite(like TCP/IP, IPX/SPX) is that some are connection oriented and some are connectionless. A connection-oriented protocol is one in which the two communicating system exchange message to establish a connection before they transmit any application data. This ensure that the systems are both active and ready to exchange message. TCP; for example, is a connection-oriented protocol wen you use a web browser to to connect to an internet server, the browser and the server first perform what is known as three-way handshake to establish the connection. Only then dose the browser transmit the address of the desired web page to the server. when the data transmission is completed, the systems perform a similar handshake to break down connection. Connection-Oriented Protocols also provide additional services such as packet acknowledgment, data segmentation, flow control, and end-to-end error detection and correction.
Packet Acknowledgment:when a packet from a system sent to another system , the sender wait of the a acknowledgment packet from recipient that are says to sender system the packet are truly transmitted or the packet are damaged. if the packet damaged the sender system must to send the damaged packet again.
Data Segmentation:in the digital technology the main data is split to very smaller pieces that are called packet to transmit in any way.
Flow Control:this is the generation by a receiving of message that instruct the sending system to speed up or slow down its rate of transmission.
The Network Layer
the network layer protocol responsible to end-to-end communications, whereas data-link layer protocols function only on the local lan. the main function of the network layer is Routing. Routing is the process of directing a datagram from its source, through an internetwork, and to its ultimate destination using the most efficient path possible. The network layer determines how messages are routed within the network. It provides transport entities independence from routing and relay considerations, including the case where subnetworks (relay-only) nodes are used. All relay functions are operated within or below this layer. the other function of the network layer is to add a header that are contain the source and destination ip address. another function of network layer is fragmentation. for example, Token Ring frames can be as large as 4500 bytes, but Ethernet frames are limited to 1500 bytes. when a large datagram that originated on a Toke Ring network is routed to an Ethernet network, the network layer protocols must split it into pieces no larger than 1500 bytes each. This process is called fragmentation.


The Data Link Layer

The protocol at the data-link layer is the conduit between the computer's networking hardware and its networking software. Network layer protocols pass their outgoing data down to the data-link layer protocol, which packages it for transmission over the network. When the other systems on the network receive the transmitted data, their data-link layer protocols process it and pass it up to the network layer. When it comes to designing and building a LAN, the data-link layer protocol you choose is the single most important factor in determining what hardware you buy and how you install it. To implement a data-link layer protocol, you need the following hardware and software: -Network interface adapters (When an adapter is a discrete card plugged into a bus slot, it is referred to as a network interface card or NIC.) -Network adapter drivers -Network cables (or other media) and ancillary connecting hardware -Network hubs (in some cases) Network interface adapters and hubs are both designed for specific data-link layer protocols, and are not interchangeable with products for other protocols. Some network cables are protocol-specific, while others can be used with various protocols. By far the most popular data-link layer LAN protocol in use today (and throughout the history of the LAN) is Ethernet. Token Ring is a distant second, followed by other protocols such as the Fiber Distributed Data Interface (FDDI). Data-link layer protocol specifications typically include the following three basic elements: -A format for the frame (that is, the header and footer applied to the network layer data before transmission) -A mechanism for controlling access to the network medium One or more physical layer specifications for use with the protocol These three components are discussed in the following sections. Media Access Control The computers on a LAN usually share a common half-duplex network medium, which means that it is possible for two computers to transmit data at the same time. When this happens, a packet collision is said to occur, and the data in both packets is lost. One of the main functions of the data-link layer protocol on this type of network is to provide a mechanism that regulates access to the network medium. This mechanism, called a media access control (MAC) mechanism, provides each computer with an equal opportunity to transmit its data while minimizing the occurrence of packet collisions. The MAC mechanism is one of the primary defining characteristics of a data-link layer protocol. Ethernet uses a MAC mechanism called Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Several other protocols, including Token Ring, use a scheme called token passing.


The Physical Layer

The physical layer, at the bottom of the OSI model, is, as the name implies, the layer that defines the nature of the network's hardware elements, such as what medium the network uses, how the network is installed, and the nature of the signals used to transmit binary data over the network. The physical layer also defines what kind of network interface adapter must be installed in each computer and what kind of hubs (if any) to use. Physical layer options include various types of copper or fiber optic cable, as well as many different wireless solutions. In the case of a LAN, the physical layer specifications are directly related to the data-link layer protocol used by the network. When you select a data-link layer protocol, you must use one of the physical layer specifications supported by that protocol. For example, Ethernet is a data-link layer protocol that supports several different physical layer options. You can use one of two types of coaxial cable with Ethernet, any one of several types of twisted pair cable, or fiber optic cable. The specifications for each of these options include a great deal of detailed information about the physical layer requirements, such as the exact type of cable and connectors to use, how long the cables can be, how many hubs you can have, and many other factors. These specific conditions are required for the protocol to function properly. A cable segment that is too long, for example, can prevent an Ethernet system from detecting packet collisions. When the system can't detect errors, it can't correct them, and data is lost. While some aspects of the physical layer are defined in the data-link layer protocol standard, others are defined in separate specifications. One of the most commonly used physical layer specifications is the "Commercial Building Telecommunications Cabling Standard," published jointly by the American National Standards Institute (ANSI), the Electronics Industry Association (EIA), and the Telecommunications Industry Association (TIA) as EIA/TIA 568A. This document includes detailed specifications for installing cables for data networks in a commercial environment, including the required distances from sources of electromagnetic interference and other general cabling policies. Nowadays, in most cases, large network cabling jobs are outsourced to specialized contractors, and any such contractor you hire for a LAN cabling job should be intimately familiar with EIA/TIA 568A and other such documents, including your city's building codes. The other communications element found at the physical layer is the particular type of signaling that is used to transmit data over the network medium. For copper-based cables, these signals are electrical charges. For fiber optic cables, the signals are pulses of light. Other types of network media can use radio frequencies, infrared pulses, and other types of signals. In addition to the physical nature of the signals, the physical layer dictates the signaling scheme that the computers use. The signaling scheme is the pattern of electrical charges or light pulses used to encode the binary data generated by the upper layers. Ethernet systems use a signaling scheme called Manchester encoding, and Token Ring systems use a scheme called Differential Manchester.

The OSI Reference Model Protocols

Application Layer
SMB, NCP, FTP,TFTP, NFS. SNMP,Telnet, SMTP

Presentation Layer
NCP, Telnet, FTP,TFTP, NFS, SNMP,SMTP

Session Layer
Telnet, FTP, TFTP,NFS, SNMP, SMTP

Transport Layer
SPX, TCP, UDP,NetBEUI

Network Layer
IPX, IP, ICMP, RIP,OSPF, EGP, IGMP,NetBEUI, DLC,DECNet

Data Link Layer
HDLC, ARP, RARP,NDIS, ODI, LLC, SAP, PPP, SLIP

Physical Layer
CSMA/CD & TokenPassing
 

[转载]程序员的十层楼:大家都来测测你的技术层级

[转载]程序员的十层楼:大家都来测测你的技术层级

第1层  菜鸟

第1层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操作,了解计算机专业的一些基础知识,掌握一门基本的编程语言如C/C++,或者Java,或者JavaScript,...,均可入门迈进这层。

在这层上,中国有着绝对的优势,除了从计算机专业毕业的众多人数外,还有大量的通信、自动化、数学等相关专业的人士进入这一行,此外还有众多的其他专业转行的人士,人数绝对比西方多出甚多。并且还有一个优势就是我们这层人员的平均智商比西方肯定高。

没有多少人愿意一辈子做菜鸟,因为做"菜鸟"的滋味实在是不咋的,整天被老大们吆喝着去装装机器,搭建一下测试环境,或者对照着别人写好的测试用例做一些黑盒测试,好一点的可以被安排去写一点测试代码。当然如果运气"好"的话,碰到了国内的一些作坊式的公司,也有机会去写一些正式的代码。

所以,菜鸟们总是在努力学习,希望爬更高的一层楼去。

 

第2层 大虾

从第1层爬到第2层相对容易一些,以C/C++程序员为例,只要熟练掌握C/C++编程语言,掌握C标准库和常用的各种数据结构算法,掌握STL的基本实现和使用方法,掌握多线程编程基础知识,掌握一种开发环境,再对各种操作系统的API都去使用一下,搞网络编程的当然对socket编程要好好掌握一下,然后再学习一些面向对象的设计知识和设计模式等,学习一些测试、软件工程和质量控制的基本知识,大部分人经过2~3年的努力,都可以爬到第2层,晋升为"大虾"。

中国的"大虾"数量和"菜鸟"数量估计不会少多少,所以这层上仍然远领先于西方。

大虾们通常还是有些自知之明,知道自己只能实现一些简单的功能,做不了大的东西,有时候还会遇到一些疑难问题给卡住,所以他们对那些大牛级的人物通常是非常崇拜的,国外的如Robert C. Martin、Linus Torvalds,国内的如求伯君、王志东等通常是他们崇拜的对象。其中的有些人希望有一天也能达到这些大牛级人物的水平,所以他们继续往楼上爬去。

 

第3层 牛人

由于"大虾"们经常被一些疑难问题给卡住,所以有了"大虾"们只好继续学习,他们需要将原来所学的知识进一步熟练掌握,比如以熟练掌握C++编程语言为例,除了学一些基础性的C++书籍如《C++ Primer》,《Effective C++》,《Think in C++》,《Exception C++》等之外,更重要的是需要了解C++编译器的原理和实现机制,了解操作系统中的内部机制如内存管理、进程和线程的管理机制,了解处理器的基础知识和代码优化的方法,此外还需要更深入地学习更多的数据结构与算法,掌握更深入的测试和调试知识以及质量管理和控制方法,对各种设计方法有更好的理解等。

学习上面说的这些知识不是一挥而就的,不看个三五十本书并掌握它是做不到的。以数据结构算法来说,至少要看个5~10本这方面的著作;以软件设计来说,光懂结构化设计、面向对象设计和一些设计模式是不够的,还要了解软件架构设计、交互设计、面向方面的设计、面向使用的设计、面向数据结构算法的设计、情感化设计等,否则是很难进到这个楼层的。

当然除了上面说的知识外,大虾们还需要去学习各种经验和技巧。当然这点难不倒他们,现在出版的书籍众多,网络上的技术文章更是不胜数,然后再去各种专业论坛里泡一泡,把这些书籍和文章中的各种经验、技能、技巧掌握下来,再去学习一些知名的开源项目如Apache或Linux操作系统的源代码实现等。此时对付一般的疑难问题通常都不在话下,菜鸟和大虾们会觉得你很"牛",你也就爬到了第3层,晋升为"牛人"了。

看了上面所讲的要求,可能有些大虾要晕过去了,成为牛人要学这么多东西啊!要求是不是太高了?其实要求一点也不高,这么点东西都掌握不了的话,怎么能让别人觉得你"牛"呢?

需要提一下的是,进入多核时代后,从第2层爬到第3层增加了一道多核编程的门槛。当然要迈过这道门槛并不难,已经有很多前辈高人迈进了这道门槛,只要循着他们的足迹前进就可以了。想迈进这道门槛者不妨去学习一下TBB开源项目的源代码(链接:http://www.threadingbuildingblocks.org/),然后上Intel的博客(http: //softwareblogs-zho.intel.com/)和多核论坛(http://forum.csdn.net/Intel /IntelMulti-core/)去看看相关文章,再买上几本相关的书籍学习一下。

在国内,一旦成为"牛人",通常可以到许多知名的公司里去,运气好者可以挂上一个架构师的头衔,甚至挂上一个"首席架构师"或者"首席xx学家"的头衔也不足为奇。有不少爬到这层的人就以为到了楼顶了,可以眼睛往天上看了,开始目空一切起来,以为自己什么都可以做了,什么都懂了,经常在网络上乱砸板砖是这个群体的最好写照。由此也看出,国内的牛人数量仍然众多,远多于西方的牛人数量,在这层上仍然是领先的。

也有不少谦虚的"牛人",知道自己现在还不到半桶水阶段。他们深知爬楼的游戏就像猴子上树一样,往下看是笑脸,往上看是屁股。为了多看笑脸,少看屁股,他们并没有在此停步不前,而是继续寻找到更上一层的楼梯,以便继续往上爬。

 

第4层 大牛

从第3层爬到第4层可不像上面说过的那几层一样容易,要成为大牛的话,你必须要能做牛人们做不了的事情,解决牛人们解决不了问题。比如牛人们通常都不懂写操作系统,不会写编译器,不懂得TCP/IP协议的底层实现,如果你有能力将其中的任何一个实现得象模象样的话,那么你就从牛人升级为"大牛"了。

当然,由于各个专业领域的差别,这里举操作系统、编译器、TCP/IP协议只是作为例子,并不代表成为"大牛"一定需要掌握这些知识,以时下热门的多核编程来说,如果你能比牛人们更深入地掌握其中的各种思想原理,能更加自如的运用,并有能力去实现一个象开源项目TBB库一样的东西,也可以成为"大牛",又或者你能写出一个类似Apache一样的服务器,或者写出一个数据库,都可以成为"大牛"。

要成为"大牛"并不是一件简单的事情,需要付出比牛人们多得多的努力,一般来说,至少要看过200~400本左右的专业书籍并好好掌握它,除此之外,还得经常关注网络和期刊杂志上的各种最新信息。

当" 牛人"晋升为"大牛",让"牛人们"发现有比他们更牛的人时,对"牛人"们的心灵的震撼是可想而知的。由于牛人们的数量庞大,并且牛人对大虾和菜鸟阶层有言传身教的影响,所以大牛们通常能获得非常高的社会知名度,几乎可以用"引无数菜鸟、大虾、牛人竞折腰"来形容,看看前面提过的Linus Torvalds等大牛,应该知道此言不虚。

虽然成为"大牛"的条件看起来似乎很高似的,但是这层楼并不是很难爬的一层,只要通过一定的努力,素质不是很差,还是有许多"牛人"可以爬到这一层的。由此可知,"大牛"这个楼层的人数其实并不像想像的那么少,例如比尔・盖茨之类的人好像也是属于这一层的。

由于"大牛"这层的人数不少,所以也很难统计除到底是中国的"大牛"数量多还是西方的大牛数量多?我估计应该是个旗鼓相当的数量,或者中国的"大牛"们会更多一些。

看到这里,可能会有很多人会以为我在这里说瞎话,Linus Torvalds写出了著名的Linux操作系统,我国并没有人写出过类似的东西啊,我国的"大牛"怎么能和西方的比呢? 不知大家注意到没有,Linus Torvalds只是写出了一个"象模象样"的操作系统雏形,Linux后来真正发展成闻名全球的开源操作系统期间,完全是因为许多支持开源的商业公司如 IBM等,派出了许多比Linus Torvalds更高楼层的幕后英雄在里面把它开发出来的。

可能有些菜鸟认为Linus Torvalds是程序员中的上帝,不妨说个小故事:

Linus,Richard Stallman和Don Knuth(高德纳)一同参加一个会议。

Linus 说:"上帝说我创造了世界上最优秀的操作系统。"

Richard Stallman自然不甘示弱地说:"上帝说我创造了世界上最好用的编译器。"

Don Knuth一脸疑惑的说:"等等,等等,我什么时候说过这些话?"

由此可以看出,Linus Torvalds的技术水平并不像想像中那么高,只是"牛人"和"大虾"觉得"大牛"比他们更牛吧了。在我国,有一些当时还处于"大虾"层的人物,也能写出介绍如何写操作系统的书,并且书写得非常出色,而且写出了一个有那么一点点象模象样的操作系统来。我想中国的"大牛"们是不会比西方差的,之所以没有人写出类似的商业产品来,完全是社会环境的原因,并不是技术能力达不到的原因。

"大牛"们之所以成为大牛,主要的原因是因为把"牛人"给盖了下去,并不是他们自己觉得如何牛。也许有很多菜鸟、大虾甚至牛人觉得"大牛"这层已经到顶了,但大多数"大牛"估计应该是有自知之明的,他们知道自己现在还没有爬到半山腰,也就勉强能算个半桶水的水平,其中有些爬到这层没有累趴下,仍然能量充沛,并且又有志者,还是会继续往更上一层楼爬的。

看到这里,也许有些菜鸟、大虾、牛人想不明白了,还有比"大牛"们更高的楼层,那会是什么样的楼层?下面就来看看第5层楼的奥妙。

 

第5层 专家

 

当大牛们真正动手做一个操作系统或者类似的其他软件时,他们就会发现自己的基本功仍然有很多的不足。以内存管理为例,如果直接抄袭Linux或者其他开源操作系统的内存管理算法,会被人看不起的,如果自动动手实现一个内存管理算法,他会发现现在有关内存管理方法的算法数量众多,自己并没有全部学过和实践过,不知道到底该用那种内存管理算法。

看到这里,可能有些人已经明白第5层楼的奥妙了,那就是需要做基础研究,当然在计算机里,最重要的就是"计算"二字,程序员要做基础研究,主要的内容就是研究非数值"计算"。

非数值计算可是一个非常庞大的领域,不仅时下热门的"多核计算"与"云计算"属于非数值计算范畴,就是软件需求、设计、测试、调试、评估、质量控制、软件工程等本质上也属于非数值计算的范畴,甚至芯片硬件设计也同样牵涉到非数值计算。如果你还没有真正领悟"计算"二字的含义,那么你就没有机会进到这层楼来。

可能有人仍然没有明白为什么比尔・盖茨被划在了大牛层,没有进到这层来。虽然比尔・盖茨大学未毕业,学历不够,但是家有藏书2万余册,进入软件这个行业比绝大部分人都早,撇开他的商业才能不谈,即使只看他的技术水平,也可以算得上是学富五车,顶上几个普通的计算机软件博士之和是没有问题的,比起 Linus Torvalds之类的"大牛"们应该技高一筹才对,怎么还进不了这层楼呢?

非常遗憾的是,从Windows操作系统的实现来看,其对计算的理解是很肤浅的,如果把Google对计算方面的理解比做大学生,比尔・盖茨只能算做一个初中生,所以比尔・盖茨永远只能做个大牛人,成不了"专家"。

看到这里,也许国内的大牛们要高兴起来了,原来比尔・盖茨也只和我等在同一个层次,只要再升一层就可以超越比尔・盖茨了。不过爬到这层可没有从"牛人"升为"大牛"那么简单,人家比尔・盖茨都家有2万多册书,让你看个500~1000本以上的专业书籍并掌握好它应该要求不高吧。当然,这并不是主要的条件,更重要的是,需要到专业的学术站点去学习了,到ACM,IEEE,Elsevier,SpringerLink,SIAM等地方去下载论文应该成为你的定期功课,使用Google搜索引擎中的学术搜索更是应该成为你的日常必修课。此外,你还得经常关注是否有与你研究相关的开源项目冒出来,例如当听到有 TBB这样针对多核的开源项目时,你应该第一时间到Google里输入"TBB"搜索一下,将其源代码下载下来好好研究一番,这样也许你的一只脚已经快迈进了这层楼的门槛。

当你象我上面说的那样去做了以后,随着时间的推移,总会有某天,你发现,在很多小的领域里,你已经学不到什么新东西了,所有最新出来的研究成果你几乎都知道。此时你会发现你比在做"牛人"和"大牛"时的水平不知高出了多少,但是你一点也"牛"不起来,因为你学的知识和思想都是别人提出来的,你自己并没有多少自己的知识和思想分享给别人,所以你还得继续往楼上爬才行。

我不知道国内的"专家"到底有多少,不过有一点可以肯定的是,如果把那些专门蒙大家的"砖家"也算上的话,我们的砖家比西方的要多得多。

 

第6层 学者

当"专家"们想继续往上一层楼爬时,他们几乎一眼就可以看到楼梯的入口,不过令他们吃惊的是,楼梯入口处竖了一道高高的门槛,上面写着"创新"二字。不幸的是,大多数人在爬到第5层楼时已经体能消耗过度,无力翻过这道门槛。

有少数体能充足者,可以轻易翻越这道门槛,但是并不意味着体力消耗过度者就无法翻越,因为你只是暂时还没有掌握恢复体能的方法而已,当掌握了恢复体能的方法,将体能恢复后,你就可以轻易地翻越这道门槛了。

怎么才能将体能恢复呢?我们的老祖宗"孔子"早就教导过我们"温故而知新",在英文里,研究的单词是"research",其前缀"re" 和"search"分别是什么意思不用我解释吧。或许有些人觉得"温故而知新"和"research"有些抽象,不好理解,我再给打个简单的比方,比如你在爬一座高山,爬了半天,中途体力不支,怎么恢复体力呢?自然是休息一下,重新进食一些食物,体力很快就可以得到恢复。

由此可知,对体能消耗过度者,休息+重新进食通常是恢复体能的最佳选择。可惜的是,国内的老板们并不懂得这点,他们的公司里不仅连正常国家规定的休息时间都不给足,有些公司甚至有员工"过劳死"出现。所以国内能翻越"创新"这道门槛的人是"少之又少",和西方比起来估计是数量级的差别。

再说说重新进食的问题,这个重新进食是有讲究的,需要进食一些基础性易消化的简单食物,不能进食山珍海味级的复杂食物,否则很难快速吸收。以查找为例,并不是去天天盯着那些复杂的查找结构和算法进行研究,你需要做的是将二分查找、哈希查找、普通二叉树查找等基础性的知识好好地复习几遍。

以哈希查找为例,首先你需要去将各种冲突解决方法如链式结构、二次哈希等编写一遍,再试试不同种类的哈希函数,然后还需要试试在硬盘中如何实现哈希查找,并考虑数据从硬盘读到内存后,如何组织硬盘中的数据才能快速地在内存中构建出哈希表来,...,这样你可能需要将一个哈希表写上十几个不同的版本,并比较各个版本的性能、功能方面的区别和适用范围。

总之,对任何一种简单的东西,你需要考虑各种各样的需求,以需求来驱动研究。最后你将各种最基础性的查找结构和算法都了然于胸后,或许某天你再看其他更复杂的查找算法,或者你在散步时,脑袋里灵光一现,突然间就发现了更好的方法,也就从专家晋升为"学者"了。

学者所做的事情,通常都是在前人的基础上,进行一些小的优化和改进,例如别人发明了链式基数排序的方法,你第1个发现使用一定的方法,可以用数组替代链表进行基数排序,性能还能得到进一步提高。

由于学者需要的只是一些小的优化改进,因此中国还是有一定数量的学者。不过和国外的数量比起来,估计少了一个数量级而已。

也许有人会觉得现在中国许多公司申请专利的数量达到甚至超过西方发达国家了,我们的学者数量应该不会比他们少多少。因此,有必要把专利和这里说的创新的区别解释一下。

所谓专利者,只要是以前没有的,新的东西,都可以申请专利;甚至是以前有的东西,你把他用到了一个新的领域的产品里去,也可以申请专利。比如你在房子里造一个水泥柱子,只要以前没有人就这件事申请专利,那么你就可以申请专利,并且下次你把水泥柱子挪一个位置,又可以申请一个新的专利;或者你在一个柜子上打上几个孔,下次又把孔的位置改一改,...,均可申请专利。

这层楼里所说的创新,是指学术层面的创新,是基础研究方面的创新,和专利的概念是完全不同的,难度也是完全不同的。你即使申请了一万个象那种打孔一类的专利,加起来也够不到这层楼里的一个创新。

当你爬到第6层楼时,你也许会有一种突破极限的快感,因为你终于把那道高高的写着"创新"二字的门槛给翻过去了,实现了"0"的突破。这时,你也许有一种" 独上高楼,欲望尽天涯路"的感觉,但是很快你会发现看到的都是比较近的路,远处的路根本看不清楚。如果你还有足够的体力的话,你会想爬到更高一层的楼层去。

 

第7层 大师

从第6层楼爬到第7层楼,并没有多少捷径可走,主要看你有没有足够的能量。你如果能象Hoare一样设计出一个快速排序的算法;或者象Eugene W. Myers一样设计出了一个用编辑图的最短路径模型来解决diff问题的算法;或者象M.J.D. Powell一样提出了一个能够处理非线性规划问题的SQP方法;或者你发现基于比较的排序算法,它的复杂度下界为O(NLogN);或者你发现用栈可以将递归的算法变成非递归的;或者你设计出一个红黑树或者AVL树之类的查找结构;或者你设计出一个象C++或Java一样的语言;或者你发明了 UML;...,你就爬到了第7层,晋升为"大师"了。

上面举的这些例子中,其中有些人站的楼层比这层高,这里只是为了形象说明而举例他们的某个成就。从上面列出的一些大师的贡献可以看出,成为大师必须要有较大的贡献。首先解决问题必须是比较重要的,其次你要比前辈们在某方面有一个较大的提高,或者你解决的是一个全新的以前没有解决过的问题;最重要的是,主要的思路和方法必须是你自己提供的,不再是在别人的思路基础上进行的优化和改进。

看了上面这些要求,如果能量不够的话,你也许会觉得有些困难,所以不是每个人都能成为"大师"的。中国软件业里能称得上是"大师"的人,用屈指可数来形容,估计是绰绰有余。值得一提得是,国外的"大师"就象我们的"大牛"一样满天飞的多。

我把我猜测本国有可能进到这层楼的大师列一下,以起个抛砖引玉的作用。汉王的"手写识别"技术由于是完全保密的,不知道它里面用了什么思想,原创思想占的比重有多少,因此不知道该把它划到这层楼还是更高一层楼去。原山东大学王小云教授破解DES和MD5算法时,用到的方法不知道是不是完全原创的,如果是的话也可进到这层楼来。

陈景润虽然没有彻底解决哥德巴赫猜想,但他在解决问题时所用的方法是创新的,因此也可以进到这层楼来。当然,如果能彻底解决哥德巴赫猜想,那么可以算到更高的楼层去。

求伯君和王志东等大牛们,他们在做WPS和表格处理之类的软件时,不知是否有较大的原创算法在里面,如果有的话就算我错把他们划到了大牛层。由于所学有限,不知道国内还有那些人能够得上"大师"的级别,或许有少量做研究的教授、院士们,可以达到这个级别,有知道的不妨回个帖子晾一晾。

鉴于"大师"这个称号的光环效应,相信有不少人梦想着成为"大师"。或许你看了前面举的一些大师的例子,你会觉得要成为大师非常困难。不妨说一下,现在有一条通往"大师"之路的捷径打开了,那就是多核计算领域,有大量的处女地等待大家去挖掘。

以前在单核时代开发的各种算法,现在都需要改写成并行的。数据结构与算法、图像处理、数值计算、操作系统、编译器、测试调试等各个领域,都存在大量的机会,可以让你进到这层楼来,甚至有可能让你进到更高一层楼去。

 

第8层 科学家

科学家向来都是一个神圣的称号,因此我把他放在了"大师"之上。要成为科学家,你的贡献必须超越大师,不妨随便举一些例子。

如果你象Dijkstra一样设计了ALGOL语言,提出了程序设计的三种基本结构:顺序、选择、循环,那么你可以爬到第8层楼来。顺便说一下,即使抛开这个成果,Dijkstra凭他的PV操作和信号量概念的提出,同样可以进到这层楼。

如果你象Don Knuth一样,是数据结构与算法这门学科的重要奠基者,你也可以进到这层楼来。当然,数据结构和算法这门学科不是某个人开创的,是许多大师和科学家集体开创的。

如果你象巴科斯一样发明了Fortran语言,并提出了巴科斯范式,对高级程序语言的发展起了重要作用,你也可以进到这层楼来。

或者你象Ken Thompson、Dennis Ritchie一样发明了Unix操作系统和功能强大、高效、灵活、表达力强的C语言,对操作系统理论和高级编程语言均作出重大贡献,那么你也可以进到这层楼来。

或者你有Frederick P. Brooks一样机会,可以去领导开发IBM的大型计算机System/360和OS/360操作系统,并在失败后反思总结,写出《人月神话》,对软件工程作出里程碑式的贡献,你也可以进到这层来。

或者你提出了面向对象设计的基本思想,或者你设计了互联网的TCP/IP协议,或者你象Steven A.Cook一样奠定NP完全性的理论基础,或者你象Frances Allen一样专注于并行计算来实现编译技术,在编译优化理论和技术取得基础性的成就,…,均可进入这层。

当然,如果你发明了C++语言或者Java语言,你进不到这层来,因为你用到的主要思想都是这层楼中的科学家提出的,你自己并没有没有多少原创思想在里面。

看了上面列出的科学家的成就,你会发现,要成为"科学家",通常要开创一门分支学科,或者是这个分支学科的奠基者,或者在某个分支学科里作出里程碑式的重大贡献。如果做不到这些的话,那么你能象Andrew C. Yao(姚期智)一样在对计算理论的多个方向如伪随机数生成,密码学与通信复杂度等各个方向上作出重要贡献,成为集大成者,也可以进入这层楼。

成为"科学家"后,如果你有幸象Dijkstra一样,出现在一个非常重视科学的国度。当你去世时,你家乡满城的人都会自动地去为你送葬。不过如果不幸生错地方的话,能不挨"板砖"估计就算万幸了。

从上面随便举的一些例子中,你可能能猜到,西方科学家的数量是非常多的,于是你会想中国应该也有少量的科学家吧?我可以很负责任地告诉你一个不幸的结果,中国本土产生的科学家的数量为0。目前在国内,软件领域的唯一的科学家就是上面提过的姚期智,还是国外请回来的,并不是本土产生的。

可能你不同意我说的本土科学家数量为0的结论,因为你经常看到有许多公司里都有所谓"首席XX科学家"的头衔。我想说的是,这些所谓的"首席XX科学家"都是远远够不到这层楼的级别的,有些人的水平估计也就是一个"牛人"或"大牛"的级别,好一点的最多也就一个"学者"的级别。尤其是那些被称作"首席经X学家"的,基本上可以把称号改为"首席坑大家"。

虽然我国没有人能爬到这层楼上来,但是西方国家仍然有许多人爬到了比这层更高的楼上。如果要问我们比西方落后多少?那么可以简单地回答为:"落后了三层楼"。下面就来看看我们做梦都没有到过的更高一层楼的秘密。

 

第9层 大科学家

进入这层楼的门槛通常需要一些运气,比如某天有个苹果砸到你头上时,你碰巧发现了万有引力,那么你可以进到这层楼来。当然,万有引力几百年前就被人发现了,如果你现在到处嚷嚷着说你发现了万有引力,恐怕马上会有人打110,然后警察会把你送到不正常人类的聚集地去。因此,这里举万有引力的例子,只是说你要有类似的成就才能进到这层楼来。

牛顿发现万有引力定律开创了经典物理运动力学这门学科,如果你也能开创一门大的学科,那么你就从科学家晋升为"大科学家"。比如爱因斯坦创建了相对论,从一个小职员变成了大科学家。当然大科学家可远不止这两人,数学界里比物理学界更是多得多,如欧几里得创建了平面几何,笛卡尔开创解析几何,还有欧拉、高斯、莱布尼茨等数不清的人物,跟计算相关的大科学家则有图灵等人。

从上面列出的一些大科学家可以发现,他们的成就不仅是开创了一个大的学科,更重要的是他们的成就上升到了"公理"的层面。发现公理通常是需要一点运气的,如果你的运气不够好的话,另外还有一个笨办法也可以进到这层楼来,那就是成为集大成者。例如冯・诺伊曼,对数学的所有分支都非常了解,许多领域都有较大的贡献,即使撇开他对计算机的开创贡献,成为大科学家照样绰绰有余。

当然,程序员们最关心的是自己有没有机会变成大科学家。既然计算机这门大学科的开创性成果早就被冯・诺伊曼、图灵等人摘走了,那么程序员们是不是没有机会变成大科学家了呢?我们的古人说得好:"江山代有才人出,各领风骚数百年",现在在计算机这门学科下面诞生了许多非常重要的大的分支,所以你还是有足够的机会进到这层楼的。

如果你能够彻底解决自然语言理解(机器翻译)这门学科中的核心问题,或者你在人工智能或者机器视觉(图像识别)方面有突破性的发现,那么你同样可以轻易地晋升为"大科学家"。这样当某天你老了去世时,或许那天国人已经觉醒,你也能享受到如Dijkstra一样的待遇,有满城甚至全国的人去为你送葬。

现在还剩下另外一个大家感兴趣的问题没有讨论,那就是这层中已经出现了牛顿、爱因斯坦、高斯等我们平常人都认为是顶级的科学家,是不是这层已经是楼顶了呢?相信还记得本文标题的人应该知道现在仅仅是第9层,还有第10层没有到达呢。可能不少人现在要感到困惑了,难道还有人站在比牛顿、爱因斯坦、高斯等人更高的楼层上?

这个世界上确实存在可以用一只手的手指数得清的那么几个人,他们爬到了第10层楼上。因此,第10层楼不是虚构的,而是确实存在的。如果对此有疑惑或者认为我在胡诌一番的话,那么不妨继续往下看下去,窥一下第10层楼的秘密。

 

第10层 大哲

    看了这层楼的名字"大哲",可能不少人已经猜到了这层楼的秘密,那就是你的成果必须要上升到哲学的高度,你才有机会能进到这层来。

    当然,上升到哲学高度只是一个必要条件,牛顿的万有引力似乎也上升到了哲学的高度,因为不知道引力到底是怎么来的,但是牛顿没有被划到这一层,因为进到这层还有另外的条件,那就是你的成果必须引起了哲学上的深度思考,并能让人们的世界观向前跨进一大步。窃以为牛顿、爱因斯坦等人的成就还达不到让人们世界观向前跨进一大步的程度。

    所以,这层楼中的人的成就对我们普通人认识世界非常重要,你可以不学相对论,但是你不可以不对这层楼的人所作出的成就不了解,否则你的世界观就是极其不完整的,会犯许多认识上的错误。不幸的是,中国的科普知识普及还不够到位,知道这层楼成就的人好像并不多,程序员中恐怕更少。下面就来看看这些用一只手的手指数得清的大哲们,到底有什么成就,能比万有引力定律和相对论还重要。

 

    1、希尔伯特 (1862~1943)

    第 1位进到此楼层是一位名叫"希尔伯特"的大数学家,如果你学过《泛函分析》,那么你在学习希尔伯特空间时可能已经对这位大数学家有所了解;如果你不是学数学出身的,又对数学史不感兴趣的话,恐怕你从来没有听说过这个名字。不过如果我问一下,知不知道二次世界大战前世界数学中心在那里,你肯定会有兴趣想知道。

    不妨说一下,二战前整个世界的数学中心就在德国的哥廷根,而我们这位大数学家希尔伯特便是它的统帅和灵魂人物。即使在二战期间,希特勒和丘吉尔也有协定,德国不轰炸牛津和剑桥,作为回报,英国不轰炸海德堡和哥廷根。

    整个二十世纪上半期的超一流数学家,几乎都出自其门下。这里不妨举几个我们熟悉的人物,例如冯・诺伊曼就曾受到他和他的学生施密特和外尔的思想影响,还到哥廷根大学任过希尔伯特的助手,钱学森的老师冯・卡门是在哥廷根取得博士学位的。顺便提一下,这位大数学家发现当时物理学上出了很多大的成果如相对论和量子力学,但是这些物理学家的数学功力明显不足,因此有一段时间带领他的学生们研究过物理学,并独立发现了广义相对论,只是不好意思和物理学家争功劳,将广义相对论的功劳全部让给了爱因斯坦。

    广义相对论相对于这位大数学家在数学上的贡献,其实是算不了什么的,只是由此可看出这位大数学家品格的高尚之处。如果再去看看牛顿之流的人物的品行,整天和莱布尼茨、虎克等人争功劳,利用自己的优势地位打压他人,甚至闹得上法庭,和这位希尔伯特先生比起来,简直就是个小丑。

    说到这里,你可能对这位大数学家"希尔伯特"有了一些初步映象,感觉到了他的重要性,不过他在数学上的主要成就可不是几句话说得清楚的。首先,他是一位集大成者,精通当时数学所有分支领域,在数学的各个领域都有较大的贡献,当然这些成就只能让他成为一个大科学家,不能带他进入这层楼。事实上这位"希尔伯特" 解决的任何一个数学问题都够不到这层楼的高度,那么他怎么混到这层楼来了呢?

    话得从1900年说起,当时还很年轻的希尔伯特在当时的世界数学大会上做了一个报告,高屋建瓯地提出了著名的23个未解决的数学问题,然后整个二十世纪上半期,全世界的数学家们都在这23个问题的指导下展开研究,直到现在仍然有许多数学家受这23个问题的指导在进行研究。例如我们熟知的哥德巴赫猜想,就属于其中第8个问题素数分布的一个子问题。

    如果用"高瞻远瞩"来形容这位大数学家的话,那么这个世界上恐怕没有第二个人再配得上"高瞻远瞩"这四个字,不论是欧拉、高斯、牛顿、爱因斯坦还是被誉为最有才华的数学家伽罗华,概不例外。

    虽然那23个问题是归纳总结出来的,并不全是原创,但是其中有不少问题是可以上升到哲学的高度,引起深度思考的。可能大多数人都会觉得希尔伯特是进不到这层楼的,我们知道提出问题的人和解决问题的人是一样伟大的,何况他提出的问题是如此之多,基于这点,个人觉得应该让希尔伯特跨进这层楼的门槛里。

    看完这位希尔伯特的成就,你可能会觉得对你的世界观并没有产生任何影响。确实如此,他提出的问题不是用来影响你的,而是用来影响其他大科学家和大哲的,下面再来说说另一位对他提出的23个问题中的第2个问题有杰出贡献的大哲,你就会感觉到大哲们的成果的威力了。

 

    2、哥德尔 (1906~1978)

    这位大哲的名字叫"哥德尔 (G?del) ",你可能从来也没有听说过这个名字,即使你读了一个数学系的博士学位,如果你的研究方向不和这位大哲对口的话,你也不一定了解这位大哲的成就,更不知道他的成果对我们这个世界有何意义。

    简单地说,这位大哲20多岁时就证明了两个定理,一个叫做"哥德尔完全性定理",另一个更重要的叫做"哥德尔不完全性定理"。你也许会觉得奇怪,第9层楼的成就就已经上升到了公理的高度,这种证明定理的事情不是学者和大师们做的事情吗?怎么能比第9层楼的成就还高呢?下面就来简单说一下这两个定理的含义,你就会明白这属于系统级的定理,绝不是普通的定理和公理所能比拟的。

    "哥德尔完全性定理"证明了逻辑学的几条公理是完备的,即任何一个由这些公理所产生出的问题,在这个公理系统内可以判定它是真的还是假的,这个结论表明了我们人类所拥有的逻辑思维能力是完备的。这条定理并不能将其带入这层楼来,带其进入这层楼的是另一条定理。

    " 哥德尔不完全性定理"是在1930年证明的,它证明了现有数学的几条公理(ZF公理系统)是不完备的,即由这些公理产生出的问题,无法由这几条公理判断它是真的还是假的。例如希尔伯特23个问题中的第1个问题,也就是著名的康托尔连续统假设,哥德尔在1938年证明了现有公理系统中不能证明它是"假"的,科恩(Cohen,或许也可以称得上是"半"个大哲)在1963年证明了现有公理系统不能证明它是"真"的。最有趣的是,即使你将某个不可判定的问题,作为一条新的公理加入进去,所组成的新的公理系统仍然是不完备的,即你无法构造一个有限条公理的系统,让这个公理系统是完备的。

    也许你仍然无法理解上面这段话的含义,不妨先说一下它对我们现实世界的影响。你可能知道1936年出现的图灵机是现代计算机的理论模型,如果没有哥德尔不完全性定理的思想,图灵机什么时候能出来是很难说的,所以这位哥德尔可以算作计算机理论的奠基者的奠基者。计算机对我们这个世界产生的影响比原子弹大了多少,我想不用我说大家也都清楚。当然,对现实世界的影响只能把哥德尔同图灵等人一样划到大科学家那一层去,能进入这层乃是另有原因。

    可能你看过《未来战士》、《黑客帝国》、《I,Robot》之类的科幻电影,于是你产生制造一个和人一样或者比人更高一级的智能机器人的想法,这就引入了一个达到哲学高度的问题,"人到底能不能制造出具有和人一样的思维能力的机器来?"。

    我只能告诉你,"你的愿望是良好的,但现实是残酷的"。如果你仔细思考一下不完全性定理的含义,并结合现代计算机所具有的能力分析一下,你会发现这个问题的答案暂时是否定的。如果你想造出和人一样思维能力的机器,那么你需要去好好学习这位大哲及其后续研究者的成果,并在他们的基础上有新的突破才行。

    为了说明这位大哲所研究领域的重要性,这里顺便再讨论一个我们日常争议不休的问题,那就是孔夫子的"人之初、性本善"以及西方认为"人之初、性本恶"的观点孰优孰劣的问题。可能有许多人发现西方社会现在领先我们,于是就认为"性本恶"是对的,"性本善"是错的,中国应该抛弃以前的旧思想,改用西方的思想。当然也有一些老学究们,认为中国的人文思想是领先于西方的,自然而然地认为"性本善"是对的,"性本恶"是错的。

    如果你学过大哲用过的公理化的分析方法,你就知道一套系统的多条公理间只要不会推导出矛盾的地方,即可以自圆其说,那么它可以看作是对的。这样你可以很轻易地给这个问题下一个结论,即"性本善"和"性本恶"是对等的,不存在孰优孰劣的问题,更不存在谁对谁错的问题。只要你不同时将"性本善"和"性本恶"放入一个系统内,那么是不会有问题的,甚至你也可以认为"人之初、既无善、亦无恶",或者认为"人之初、部分善、部分恶",都是可以自圆其说的,所以我们的老祖宗提出的思想并没有问题,之所以落后乃是其他原因造成的。这个问题其实在高斯所处的时代就有了结论,那时有人提出了非欧几何,即平行线公理问题,有人认为过一点可以作多条平行线,还有人认为平行线在无穷远点是相交的,和欧氏几何关于过一点只能作一条平行线的公理都是矛盾的,但是他们各自的系统内推导出的结论都是正确的。

    上面说的只是对哥德尔不完全性定理的一些粗浅解析,实际上如果深入思考一下它的含义的话,你会发现它对物理学等许多学科有重大影响,包含的道理实在是深刻,远非一般的思想所能比拟,有兴趣者不妨"google"或"百度"一下"哥德尔"。或许只有我们的老祖宗"老子"提出的哲学思想,深度可以有得一比。

    哥德尔不完全性定理也给那些认为科学是严谨的人当头一棒,原来连数学这样的纯理论学科都是不严谨的,其他学科就更不用说了。

    至此,已经说完数学上的大哲,下面不妨再看看物理学上的大哲,物理学上好像只出过一位叫"海森堡"的大哲(注:由于本人对物理学不甚了解,不知道"霍金"够不够得上大哲的称号)。

 

    3、海森堡 (1901~1976)

    海森堡这个名字相信没有几个人不知道的,大部分人在学习物理时都学过他的"测不准关系",也就是因为这个"测不准关系",海森堡爬到了第十层楼。

    如果你看过《时间简史》和《霍金讲演录-黑洞、婴儿宇宙及其他》,你也许已经了解测不准关系的威力,所以这里不想做过多的讨论,只谈一些和本土产生的哲学思想相关的东西。

    首先看看争论了几千年,并且现在仍然有人在争论不休的"宿命论"问题。霍金认为,只要这个宇宙有一个初始状态,粒子的运动是按照一定物理定律进行的(比如相对论、量子力学属于这些物理定律的一部分),那么所有的粒子运动轨迹将是确定的,然后只要你承认唯物论,即精神是由物质决定的,那么宿命论就是"对"的。当然由于测不准关系的存在,对人而言,又是无法准确预测的,因此也可以将其看作是"不对"的。简单的说,可以认为宿命论是"对"的是绝对的,宿命论是"不对"的是相对的。

    可能上面这段话你现在仍然难以理解,或许你又觉得你的命运并不是上天注定的,而是可以通过自己的努力可以改变的。我要告诉你的是,你在想什么也是事先已注定的,包括你在预测本身也是事先注定的,因为大脑思考问题最终是基本粒子运动的结果,而这些粒子的运动必然要遵循物理定律进行,所以你会不会努力,想不想努力,包括你在想你该不该努力这件事本身也是事先注定的。顺便说一下,你现在正在看这篇文章,可能正在想这个宿命论问题值得怀疑,或者觉得写得不够好,准备砸个板砖上来;或者你在想这篇问题写得有点意思,准备看完后转给朋友看一看;又或者你看到这里,觉得很累了,准备休息一下;…;这些都是上天事先就注定的。从你自身的相对角度看,因为你事先不知道后来会发生什么,也可以认为不是事先注定的,可能这句话有些不好理解,不妨好好理解前面说过的公理化思想。

    如果你没看过《霍金讲演录-黑洞、婴儿宇宙及其他》,你可能会觉得很惊讶,宿命论历来不都被认为是唯心论吗,怎么由唯物论推导出了宿命论呢?现实就是这样和你开了一个大的玩笑,不过这个玩笑也是事先注定的。如果你再仔细用公理化的方法思考一下唯物论和唯心论的矛盾性,就像前面分析性善论和性恶论一样,你会发现唯物论、唯心论不一定就是冲突的,矛盾的双方是可以统一的,只要你不要同时将唯物和唯心放进同一个系统中就行。

    当然也有聪明者仍然会怀疑宿命论问题的正确性,因为这里有一个前提条件,即宇宙要有一个初始状态。宇宙有没有初始状态,我们并不知道啊,虽然有大爆炸学说,但那也只是假说而已,并没有得到确证,有些人就认为宇宙是一直都存在的。这样看来似乎你又有合理的理由在怀疑宿命论了,不过我仍然要告诉你,你现在在怀疑宿命论仍然是事先注定的,不相信的话就来看看下面的分析。

    虽然宇宙的初始状态值得怀疑,但是这个宇宙至少已经存在了一段时间,这点我想是毋庸置疑的。我们可以在我们已知的宇宙存在的这段时间内,任意取一个时间点 t0,那么在这个时间点t0上,所有的粒子都有一个运动状态。在时间点t0之后的时间里,由于粒子运动是按照物理定律进行的,因此粒子运动轨迹由时间点 t0的状态决定。说白一点,如果取100年前的一个时间点作为t0,那么现在的所有粒子运动状态100年前就已经确定了,如果取10000年前一个时间点作为t0,那么最近10000年内所有粒子运动的轨迹在10000年前就确定了,当然,你可以取更早的时间,比如100亿年前的时间点。

    总之,现在你会发现宇宙有没有初始状态并不会影响宿命论的正确性,所以这个世界的一切都是注定的。只不过由于粒子间相互影响过于复杂,我们无法知道这些粒子的运动轨迹而已。当然,如果将测不准关系用上的话,那么就是这个运动轨迹对人来说是无法准确预测的,所以不妨开个玩笑:"算命先生经常算得不准大概是测不准关系的缘故吧"。

    如果你再深入思考一下测不准关系,你会发现这是一个测量系统的问题。由于宿命论的存在,这个世界本身实际上是确定的,是"准"的,之所以测不准乃是我们人类所具有的测量能力依赖于基本粒子造成的。所以我在前面说宿命论是"不对"的是相对的,它是相对于我们人类的测量能力而言的。根岑(Gentzen,曾任希尔伯特的助手)在一个更强的系统内证明了ZF系统内的问题都是可判定的,从一个侧面说明这个世界本身是确定的。(注:它和哥德尔不完全性定理并不矛盾,由于数学上的复杂性,这里就不详细解释了)

    不妨再想想我们老祖宗提出的"是庄周梦见了蝴蝶?还是蝴蝶梦见了庄周?","风动?幡动?还是心动?"之类的问题,当然以前你都认为这是纯粹的唯心主义,甚至认为是封建糟粕,但是如果结合测不准关系的内涵,再结合前面所说的公理化分析方法进行分析,估计你现在不敢轻易地下结论。

    也许到现在你仍然无法理解为什么把大哲们划在了大科学家的上一层,你可能仍然觉得万有引力、相对论等成果是最伟大的。下面就来谈谈为什么大哲比大科学家高一层。

    如果把人类在现有能力情况下,将来所能够拥有的知识总集看成是一个集合A,人类现在已有的知识总集看成是集合B,显然,集合B只是集合A的一个子集,并且是很小的一个子集。牛顿力学、相对论这些理论只能算作集合B里的一个子集,相对于集合A,只能算作是沧海一粟。换句话说,在人类现有能力可做的事情集合中,牛顿力学和相对论等理论给出了详细的办法让你可以做其中的一些事情,当然剩下的更多的事情是牛顿力学和相对论所无法解决的。

    哥德尔不完全性定理和测不准关系的意义在于,它指出集合A的范围,即将人类现有能力发挥到极限的情况下,那些事情是你能做到的,那些是你不能做到的。当然,它并没有给出具体的方法让你去做你能做到的事情,它只是告诉我们我们人类现在发现的能力所能达到的极限。或许将来发现人类有其他新的未发现的能力,那么这个极限就被打破了。比如将来能发现不依赖于基本粒子的其他测量方法,并且测量过程中不会改变其他粒子的状态,那么测不准关系就被打破了。

    看到这里,估计你已经发现了一些秘密,科学兜了一大圈,最终还是回到了哲学,也就是我们所认为的玄学上。同时你也会发现,我们老祖宗提出的所谓玄学,原来和现代科学是相通的,并非象某些人想像的那样全是糟粕。如果有人认为西方现代暂时领先我们,进而就认为西方古代就已经超越我们,我们老祖宗就已经落后西方,他们的思想都是糟粕的话,那么我认为他可能犯了崇洋媚外的毛病。我不得不化用一句周杰伦在春晚上的歌词送给他:"你不妨抓一副我们祖传的中医良方,治一治你那崇洋媚外的内伤"。顺便告诉他一下,中医用的阴阳五行理论,它的前提假设就是宿命论。

    上面说的这几位大哲的成果,可能对你的世界观会有很大的影响,于是你可能会羡慕起这些大哲们的成果来。如果你有大志的话,你会希望有朝一日你也能变成大哲,但是你发现上面的大哲是研究数学和物理学的,而你是学计算机的程序员,那么是不是没有机会变成大哲呢?

    如果你能将NP难题给彻底解决掉,意味着计算机内的计算的奥秘基本被揭开,或许你可以进到这层楼来;或者你能发现另外一套计算机可以理解的数学公理系统,并且这个公理系统是完备的,那么计算机取代人类进行思维的一个必要条件就满足了,计算机将具有真正意义上的"逻辑思维和推理能力",你可以轻松地进到这层楼来。如果你发现了新的方法可以打破测不准关系,同样你也可以轻松地进到这层楼来。

    如果你能彻底揭开人类抽象思维的奥妙,并让计算机懂得了如何创建抽象,具备抽象思维能力,那么也就具备了"设计能力",可以取代人类进行各种设计了,你也可以轻松地进到这层楼来。顺便说一下,如果你对软件设计有真正深刻理解的话,就会明白这不是在写科幻小说。对此感兴趣者,不妨好好地研究一下程序切片方面的技术,会让你对软件设计和测试等方面的理解有质的提高,或许有一天你能打开这扇大门。

    当然,计算机要完全取代人还有其他必要条件,后面还会提及。

 

    值得一提的是,虽然第10层楼是本文中所写的最高层,但是大哲们并没有觉得他们到了顶层,他们通常都还会努力寻找通往更高一层的楼梯。如果你也有成为天下第一的想法,那么你或许会想要做什么事情才能超越大哲们的成就,当然,这都得依赖于找到更高一层楼的楼梯。

    个人认为,再往上一层楼的楼梯是通往天堂的道路,也就是说第11层楼的名字叫"天堂",是"上帝"住的地方,而不是人住的地方。如果将来某天有人能爬到天堂的话,那么他已经不是人了,而是由人变成了"上帝"。

你也许会怀疑这个世界到底有没有"天堂","上帝"是否根本就不存在,我也很有同感。因此有必要再写上一段文字,讨论一下"上帝"的问题。如果你想了解天堂的奥妙,有没有办法让你变成"上帝",不妨看看继续往下看看第11层楼的玄妙。注意我这里用的是"玄妙"二字,因为上帝在大部分人眼里估计都是"玄之又玄 "的东西。

 

Symbian操作系统及操作平台界面详解

Symbian操作系统及操作平台界面详解
提起Symbian必须提到Psion(宝意昂)公司和它的EPOC操作系统,Symbian正是由它们发展而来。为了保持智能移动终端的领先地位和市场地位,1998年6月,Psion联合诺基亚、爱立信、摩托罗拉等组建了Symbian公司。后来三星、西门子、松下等公司也相继加入。
Symbian旗下又分三种产品,并且为该产品赋予了极有诗意的命名,即Pearl(珍珠)、Quartz(石英)和Crystal(水晶)。分别用于智能手机、笔式输入通讯器和键盘输入通讯器。每种系列都采用Symbian核心平台80%的代码。不同系列之间的区别主要在于用户接口(例如:笔式或键盘式输入)和屏幕大小。我们见得最多的就是Pearl产品,即智能电话。比如我们所熟悉的诺基亚7650、6600和7610以及索爱P800、P900和P910等。
操作系统部分
1999年3月,Symbian正式了Symbian OS v5.0操作系统,但基本与最初的EPOC没有多大差别,所以基本没有机型采用该版本系统。之后又推出了Symbian OS v5.1,代表产品爱立信R380,但是该手机并不是采用的开放式系统,无法安装应用程序。而后Symbian OS v6.0则在v5.0的操作系统的基础上增加了GPRS、WAP1.2浏览器及蓝牙技术的支持,用户可以运行第三方基于C++和J2ME开发的程序。而Symbian OS v6.1相比则主要增加了USB功能。Symbian OS v6.0的主要特点是: 支持语音通话和数据通信 ,支持Bluetooth和WAP ,配备安全性功能(SSL,HTTPS,WTLS) ,采用16bit Unicode,支持多语言显示 ,采用“PersonalJava 3.0”和“JavaPhone 1.0” 。该系统下代表手机诺基亚9210,使用的是Symbian OS v6.0系统。
Symbian OS v7.0则支持多模式手机和3G手机,可以让制造商们面向全世界推出可以运行于所有网络之上的Symbian OS手机,而且可以不对代码进行重大改动的情况下就可以重新使用许多目前已有的软件应用。v7.0包含一些新的通讯、消息、联网和应用开发技术,并对一些与安全和认证相关的功能进行了改进。Symbian OS v7.0的其他功能包括:支持灵活的用户界面,例如Nokia的Series 60;支持几种音频/图像格式和许多面向游戏开发人员的API;全力的加密和认证管理,基于安全通讯协议(包括HTTPS、WTLS和SSL)及认证的应用安装;和Over-the-air(OTA)SyncML同步支持。之后又推出了Symbian OS v7.0s,集成了更多API应用。
2004年2月,Symbian在授权LG等公司的时候,也发布了最新的Symbian OS v8.0版本。该版本改善了实时系统性能,提高了原有操作系统的兼容能力。此外,Symbian OS v8.0的软件工具改进了远程接入控制系统功能,运用调节装置消除手机用户使用增值服务时会受到的干扰。这个系统包含了绝对现代化的多媒体和Java设备,支持多种标准,其中包括JSR118, CLDC1.1 (JSR139),MobileMedia (JSR135),3D图像数据(JSR184), JTWI 1.0 c(JSR185)。最后,新版OS还支持SDIO。之后又发布了Symbian OS v8.1版,基本上它是优化过的Symbian OS v8.0版,并提供了8.1a和8.1b两个版本,各自代表搭载EKA1和EKA2核心。搭载EKA2版本的8.1b支援单晶片手机,但不包含额外的安全层,因此受到重视即时处理的日本手机制造商的欢迎。



接下来按理该发布Symbian OS v9.0,但是这个版本并没有正式发布,而在2004年就被停止开发。2005年初我们看到发布的版直接就是Symbian OS v9.1操作系统。该版本改善了应用程式及其内容保护,使用了新型ARM处理器,软体开发人员必须要改变安全性设定码才能正确使用。之后于今年年初,发布了Symbian OS V9.2版。



2006年7月,Symbian OS v9.3版正式发布,该版本改善了手机性能,减少了开机时间以及应用程序的启动时间,改善了在多数应用程序中的内容管理机制以确保在中端手机上也能获得较佳的工作质量。降低了软件开发环境,提供了更好的软件工具开发包,向下兼容至v9.1,方便手机厂商以及第三方软件商移植软件。该版本特色:提升了对本地WIFI网络技术支持;USB 2.0 On-The-Go技术(“便携式USB”或者“移动USB”),提供和设备间更快的连接速度;提供了Firmware Over-The-Air(能够通过无线网络更新自己的软件)功能;支持HSDPA支持;引入了针对UMA service的IPSEC安全服务;改善了3GPP R5的支持;支持Push-To-Talk;支持Java JSR 248等。


在Symbian OS操作系统下,相继出了以诺基亚为首的基于Symbian OS不同操作系统下的多种操作平台界面,比如S60、S80、S90等等;以及出了以索爱为首基于Symbian OS系统下的UIQ系列操作平台界面等等。

操作系统上的平台界面
诺基亚S40/S60/S80/S90 
S40比较特殊,它是诺基亚自行研制的手机操作平台界面。其处理器效率不高,内存偏低,该系列机型主要是面向中低端客户。S40尽管支持Kjava开发,但由于底层并没有采用Symbian OS操作系统,所以两者毫不相干。S40相继推出了S40 3个操作界面,它们的差别是在屏幕分辨率和Java限制上。
S40 第一版屏幕分辨率最初为128×128像素,如诺基亚7120、6610、3100等;随后逐渐发展到支持九宫格菜单,屏幕分辨率也达到了128×160像素分辨率,屏幕基本配置从4096色提升到了65536色,如7200。但S40第一版所有机型的Java仅支持MIDP 1.0、CLDC 1.0的Java应用,对Java程序有64KB的限制。
至于S40第一版机型支持的浏览器版本大都为WAP 1.1,少数机型达到了WAP 1.2.1或WAP 2.0。其它方面,S40第一版的机型大都仅具备midi音乐的播放,只有3300、7600等例外机型支持MP3播放,除了支持MMC卡扩展的3300之外,其余的S40第一版机型均不支持外接存储卡。第一版的S40手机以6610、6100、3100、7200等机型为代表。
S40第二版最大的特征是普遍将屏幕配置提升至65536色水平,直板机型依然维持在128×128像素,而折叠机型则为128×160像素,而在S40第二版高端机型中分辨率更是达到了208×208像素、屏幕配置达26万色。该版新增对主题模式的良好支持,扩展名为*.nth的主题元素可以一次性更改墙纸、屏保、铃声、配色等设置。与此同时,所有的S40第二版机型都支持JAVA MIDP2.0、CLDC1.1版本,新提供JAVA蓝牙接口规范(JSR-82),无线信息接口规范(JSR-120)以及移动媒体接口规范(JSR-135)。虽然不少S40第二版手机对Java程序有着不能超过128KB的限制,但是6230i却突破这一点,最大支持512KB的Java程序。第二版的S40机型的WAP浏览器统一升级至2.0版本,增加了经由无线场景TCP/IP(wTCP/IP)的对XHTML行动描述和WML浏览的支持,娱乐功能和网络应用得以强化。S40第二版具有代表性的手机如6230/6230i、8800等。
S40第三版提供增强型的用户界面并支持丰富的多媒体应用程序,着重针对游戏和娱乐应用进一步强化,增加了3D图像引擎,对JAVA提供更完善的支持。屏幕分辨率最高可达240×320像素。代表机型如6270、6280和6265等等。
S60又分三个版本,Series60 1.0、Series60 2nd Edition和Series60 3rd Edition。

Series60 1.0版本即S60V1于2001年11月13日正式发布,该版本是基于Symbian OS v6.1操作系统版本的。代表机型有诺基亚3650、7650和N-Gage、N-Gage QD、西门子SX1以及早期NTT DoCoMo定制的FOMA D701i、D702i、SH702iD等等。


Series60 2nd Edition版即S60V2,又分多个版本。初期是基于Symbian OS v7.0开发,采用该版本典型手机就是诺基亚6600。随着多组附加的API集不断增加,先后出现了3个Feature Pack补丁包版本,逐渐将基于底层的Symbian OS操作系统扩散到了Symbian OS v8.0a和v8.1a。代表机型如下:
诺基亚 
3230/6260/6670/7610 Symbian OS 7.0s Series60 2nd Edition, Feature Park 1
6630/6680/6681/6682 Symbian OS 8.0a Series60 2nd Edition, Feature Pack 2
N70/N72/N90 Symbian OS 8.1a Series60 2nd Edition, Feature Pack 3
松下X700/X800 Symbian OS 7.0s Series60 2nd Edition, Feature Park 1
三星D720/D730 Symbian OS 7.0s Series60 2nd Edition, Feature Park 1


Series60 3rd Edition版即S60v3,也就是我们常说的S60第三版,目前炒得最热。该版本于2005年2月14日发布,是基于Symbian OS v9.1操作系统版本的。该版本提供了由Symbian Signed认证和一种更高效的二进制格式来加强行业领先的安全性。目前该版本又于2006年6月发布了针对它的第一个补丁包Feature Pack 1,估计将可应用在Symbian OS v9.2和v9.3操作系统上,并向下兼容Symbian OS v9.1。S60第三版代表机型如下:3250/N73/N71/N80/N91/N92/N93以及E50/E60/E61/E70等,目前这些机子都是基于Symbian OS v9.1操作系统的。
S80操作平台界面是基于Symbian OS v7.0s操作系统开发的,目前该平台代表手机诺基亚9300/9500。
诺基亚9300/9500 Symbian OS v7.0s Series 80 Developer Platform 2.0
S90操作平台界面也是基于Symbian OS v7.0s操作系统开发的,目前仅有一款代表机型,它就是诺基亚7710。
UIQ操作平台界面
UIQ科技成立于1999年,是Symbian公司的全资子公司,2000年9月发布了UIQ 1.0,这个版本基于Symbian OS v6.0进行开发,支持Java 1.0。在2001年4月则发布了UIQ 1.1,基于Symbian OS 6.1进行开发,其特点支持GSM、HSCSD和GPRS三频,支持WAP 1.2.1和兼容蓝牙V1.0b。该系统下并不代表机型。


2002年三月,UIQ科技发布了基于Symbian OS v7.0操作系统的UIQ 2.0,最先应用在P800、P802等索爱手机上。其主要用于对等(Peer-To-Peer)消息收发,支持彩信。其他的重要应用和服务包括:日程安排应用、Internet浏览、记事本、录音、计算器、开始菜单、状态栏、控制面板、添加/删除程序、手写识别、虚拟键盘、Word文件和图片文件阅读器、以及帮助程序。
UIQ 2.0的关键特点包括:无缝消息(例如:彩信、EMS、SMS、通过GSM网络收发E-mail和传真、GPRS、EDGE、HSCSD、CDMA、 CDMA2000等)、集成了联系人应用(让用户在联系人应用中点击一下即可打电话或创建彩信和SMS;方便地访问Web或者WAP页面;通过彩信、 SMS、E-mail、传真、红外或者蓝牙传送vCard)、日程安排应用(让用户可以登录和浏览日程安排;通过彩信、SMS、E-mail、传真、红外传输或者蓝牙收发vCalendar)。此外,UIQ 2.0还提供大量的互联网服务(支持HTML4.01、HTTP1.1、基于SSL 3.0和TLS 1.0的HTTPS、CSS 1和CSS 2、XML 1.0和XHTML 1.0、Java script 1.3、128位加密和Java 1.0程序),以及通过红外线、蓝牙和串口与普通台式机应用和SyncML服务器同步。代表产品索爱P802c、摩托罗拉A925和A920。
在2003年2月,UIQ 2.0的升级版本UIQ 2.1发布了,提供了更为完整的用户主题界面和SIM卡管理,支持Java MIDP 2.0了,SyncML服务也进行了升级,代表产品有索爱P910c、摩托罗拉A1000/M1000、BenQ P30、诺基亚6708、Arima U300/U308等。
2005年2月,UIQ科技又发布了最新的UIQ 3.0,UIQ 3.0基于Symbian OS v9.1进行开发,新的Symbian UIQ 3.0系统拥有更多的功能和更华丽的界面。代表产品索爱W950、M600、P990等。




由于Symbian产品线及产品相对较多,所以本文整理了这篇文章,希望大家在详细看完后,对Symbian智能手机的分类做到清楚、明白,不会再把操作系统和操作平台界面搞混淆。


[Computer] ����:MS OneNote和EverNote比�

我原先一直都用MS OneNote 2007�做��,最近��一�新的��叫做EverNote,�人��。初步�用的�果,感�上和OneNote各有�劣。OneNote 的好�是和 Office家族整合(例如Outlook),同�提供�音、�音辨�、��同步等功能,不�老��OneNote 2007的新功能大部分我用不到。最高�的就是2007�於支援表格。

EverNote 2.2 �於解�了中文�入、中文搜�的��。此外我很欣�它的Free tagging、拖曳tagging的功能。不�,在文字�入的部分功能比�弱,不支援表格功能,���法手�排序(只能依日期排序),�整�片大小也很麻�。�然有即�搜�(因�做了索引),但是��有��搜���,需要搜��法才能做到。

OneNote 2007
��:
  • 可以自由移�文字、�片的位置
  • ����可以手�排序
  • 文字格式的功能��(大小、�色、字型、醒目提示...)
  • 支援表格
  • ����功能
  • 可以�音、�影
  • 可以搜�所有��
  • 支援IE�取(但�路上有Firefox的插件)
  • 支援Microsoft Desktop Search
  • 中文介面

EverNoet 2.2
��:
  • 自由��、拖曳��
  • 同一�����,可以多重分�
  • 自�����字,可以自�加上��
  • 可依照建立日期��所有����
  • ��辨�、手�文字辨�
  • 支援多���器的�取(IE、Firefox、Opera)
  • �有多�模版,例如To-do list、Contact list等
  • 支援Google Desktop Search
  • �格�便宜

由上面的比�不���,一方的��正好是另一方的缺�。也因此,我�EverNote列入常用��,用它��集�路�料,配合 Aardvark使用,以後剪�、整理��就很方便了(我�得比ScrapbookZotero好用得多)。至於在��上做��,我���用OneNote。
 

Introducing Papers...

Introducing Papers...
Do you have dozens of PDF files from your favorite scientific articles scattered on your harddrive? Do you also try to desperately organize them by renaming and archiving them in folders? But like the piles of printed articles on your desk, you can't keep up with all the new papers you download, and despite all your efforts it has become impossible to find that one article.

Finally that all belongs to the past. We've been there, trust us, we know. That's why we wrote Papers, our latest application exclusively for the Mac. Papers will revolutionize the way you deal with scientific papers. Search for articles using the built in search engines, retrieve and archive PDFs, and read and study them all from within Papers, your personal library of Science. |
Download Papers for Mac >>

Screenshot

Go mobile
You can now take along your personal library of science wherever you go with Papers for iPhone and iPod touch*. Redesigned from scratch to be a perfect and beautiful fit to the iPhone and iPod touch, it allows you to browse through the hundreds of articles in your library with the flick of a finger, lookup the papers written by a certain author or published in that well-known journal, organize your library in collections and add your rating or flag great works. Papers for iPhone and iPod touch comes with a stunning PDF viewer built-in, and of course allows you to add your thoughts and notes to the articles you read, all at the spot, wherever you happen to be. And of course it automatically synchronizes wirelessly with Papers on your Mac. Your personal library of Science, in your pocket. | Papers for iPhone >>
*) Papers for iPhone and iPod touch is sold separately.
Papers' Features
Papers for Mac bundles all the great technologies that come with Mac OS X to give you a completely new workflow for reading scientific articles. You seek, download, archive, and organize all your articles within a single application. But that is just the start, using spotlight you instantly find the paper you are looking for. Read it fullscreen, add your notes, send a copy to a colleague... These are just a few of the many features that once used to, you will never want to give up again...
Search, Download, and Archive Papers
PubMedPapers contains everything you need to get your favorite articles in your personal library. Importing PDFs that you already downloaded before is easy, you match them using your favorite online article repository like PubMed, Google Scholar, Web of Science, etc. and all the metadata is automatically added. You might as well skip this altogether and start from scratch, the completely integrated search engines is the number one thing you are really going to like. Three clicks is all you need to find a paper and add it to your library. And finally we allow you to leverage the full power of your favorite search engine using predefined search terms. Looking for all reviews within your favourite topic, with full text open access? You got it!

ArchivingOnce you have found those articles and have added them to your library, you can directly go to the journal's homepage to download the PDF file and archive it on your mac. All from within Papers, no Safari required, we built it straight into Papers. And while you are downloading your PDF, we make sure it is correctly named and it is stored neatly organized on your harddrive.
Browse and Organize Papers
OrganizeOf course you can further organize your library by creating folders to group related articles, or - even more conveniently - by creating smart folders that are always kept up-to-date while you add new Papers to your library. Thanks to the power of Spotlight, you will locate that specific paper in no-time.

JournalsWhile many other programs exclusively focus on articles, we believe that Journals and Authors are equally important. That's why you can view all the journals and authors in your library with one click. This brings even more ways to navigate your library or search for articles. You can add specific details to an author or journal, like the email address of a colleague or the password to a journal. The final version of Papers will come with the info for most popular journals preloaded.
Read your Papers
ReadEven though PDFs are nice, until now most people would still print their articles simply because they read more convenient from paper than from a computer screen. Of course you can still print an article from within Papers, but we think we can finally make you forget real paper in many occasions. With a single click you can read a paper full-screen without any distraction. Use the mouse or keyboard to quickly navigate or zoom and you will start to see the benefits from reading a paper on-screen for the first time.
Inspect, Study, Compare and Share
InspectThe real strength of having your personal, digital library of Science shows when you start to inspect Papers more thoroughly, when you want to compare papers, or when you wish to quickly look things up. This is where Papers really shines. Since we built Preview straight into Papers you will never have to switch between programs anymore to read a PDF. Combine this with the ability of tabbed-browsing (made famous by web browsers like Safari and Firefox), and you quickly discover new powerful and dynamic workflows. Want to work with a paper? Find it using Pubmed. open its website in a new tab, fetch the pdf, search the PDF using spotlight, inspect the figures in detail, copy a figure or a piece of text, switch to another tab to have a look at a figure from another paper. Switch back to compare. You get the idea. Once you have worked with Papers, you ask yourself why it wasn't there before...
On June 12th 2007 Papers 1.0 won the Apple Design Award for 'Best Mac OS X Scientific Computing Solution' at the WWDC 2007 in San Francisco. |
 

在线研究:Zotero进入云时代

 

在线研究:Zotero进入云时代

zotero_logo_feb09.pngZotero,一款流行的开源研究文献管理工具,发布其最新版本1.5b1(这个工具就是作为一个firefox的插件来使用,无独立版本),它现在可以让用户在不同计算机间同步数据,另外一些小的改进将你收集参考文献变得更为简单。

Zotero同时宣布它的插件带有一个网络组件,与同步特性紧密相关,可以自动的把你的数据备份到Zotero.org。

新特性:同步,备份,社交网络

Zotero是去年学生用户群体里最为耀眼的一款应用,主要特性是创建和管理参考书目。刚出来时它只是个简单的工具,现在它的特性已经可以和商业化的文献管理工具EndNote 或 RefWorks.想媲美了。

 

zotero_online.pngZotero紧密依靠Firefox3可在几大主流免费或付费数据库和网络报刊,为你的文章和论文迅速保存文件,简便创建书目。

 

同步特性如同他们宣传的那么棒,当你在不同计算机间工作,可使你保持文献的同步。如果你进入Web 分布式创作和版本控制的服务器,Zotero同样可以保持你的附件的自动同步。

 

需要Firefox3

不管何时 Zotero可以识别出支持的站点,如Google Books, 亚马逊, YouTube, 纽约时报, or JSTOR(一个在线期刊数据库),它将在你的Firefox地址栏添加一个标识,可以让你简单的点击以下就把本页加入参考书目。Zotero将为你自动的提取其中的参考书目信息甚至可以你的保存的文档里创建全文。

zotero_sync.png

社交网络

Zotero.org 现在已经包含了一些社交网络的特征。比如,你可以搜索以名字,邮箱,搜索别的用户。加为好友或黑名单。当然这些特性还刚刚推出,至今只有很少一部分用户在使用,但这最终将为学术研究者们带来实惠。他们可以和同事共享他们的参考文献。将来,Zotero还计划扩展它类似Twitter的性能可以跟踪你的朋友的研究动态。

与word和openoffice整合。

Zotero同样和微软的Office和openoffice整合(1.5bq版本尚未完全兼容这些插件),它支持1,100不同的模板,当然也提供自己创建模板的功能。你可以从Firefox中拖拉参考文献放到其他文档。

 

总评

Zotero已经是管理大量文献最好的工具之一。这次更新将使得它比同样的商品化软件更好。新的同步特性让你在不同计算机间工作而不用保存和更新你的数据库,这比RefWorks (实质上也是个在线工具)走了个先手。

 

小贴士:新的特性对我们很有用,但是 Zotero提醒在升级到1.5b1前,备份你的数据库。

Online Research: Zotero Moves Into the Cloud

zotero_logo_feb09.pngZotero, the popular open-source research and bibliography tool, just announced the latest version of its Firefox plugin (1.5b1), which now allows users to synchronize their databases between different machines, as well as a number of smaller updates that will make it even easier to create and curate bibliographies with Zotero.

Zotero also announced a new online component to its plugin, which, in conjunction with the new synchronization features, automatically creates an online backup of your database on Zotero.org.

New Features: Synchronization, Backups, and Social Networking

Zotero, which we highlighted as one of the top application for students last year, features an extensive set of tools for creating and managing bibliographies. While it started out as a very basic tool, its feature set is now up to par with that of other commercial bibliography tools like EndNote or RefWorks.

zotero_online.pngZotero integrates tightly with Firefox 3 and allows you to quickly save articles and easily create bibliographies for your papers and articles from most of the major free and for-pay research databases and online newspapers.

The synchronization feature works exactly as advertised and allows you to keep your bibliographies in sync, even if you work on different machines. If you have access to a WebDAV enabled server, Zotero can also sync your attachments automatically.

Needs Firefox 3

Whenever Zotero recognizes that you are surfing a supported site like Google Books, Amazon, YouTube, the New York Times, or JSTOR, it will simply add an icon to your Firefox address bar that allows you to save the bibliographic entry for that page or article with one click. Zotero will automatically extract the bibliographical information for you and it can even create a full-text archive of your saved documents.

zotero_sync.png

Social Networking

Zotero.org now also includes a number of social networking features. You can, for example, search for other users by name, email, affiliation, or discipline. While this feature is still very new, and hence only has a few users so far, this could turn out to be a real boon for academic researchers (and others) who could use this to share their bibliographic databases with colleagues. In the future, Zotero plans to extend this with a Twitter-like stream of your friends' research activity.

 

ListPro

 
ThinkingRock
经典GTD工具
***
 
 
listPro
***

自从我2001年开始使用listPro 2开始,我就对它便捷的功能着了迷。现在它出乎我意料之外出了4.0,我使用之后,对它增加的功能感到非常方便。现在将自己阅读帮助文件、并结合使用情况写出这篇文章,希望各位朋友能和我分享。

新的程序,图标漂亮了(附图右边)许多。在首次使用listPro 3的文件时候,会自动进行转换。让大家没有麻烦的感觉。
功能的强大后面叙述。

可谓秀外慧中。
 
有关软件的下载、列表资源、XX等在以下的帖子中都有。请大家不要盲目跟贴要软件或XX。以免浪费论坛资源。

相关链接:

1、PPC因我而存在――ListPro使用全攻略,集中了若干经典的使用范例:
http://www.hi-pda.com/forum/viewthread.php?tid=137562&fpage=1
2、ListPro资料汇总,已经收集了100多了,有字典、各地衣食住行、百科知识等:
http://www.hi-pda.com/forum/view ... ge=6&highlight=
3、ListPro 4有关程序:
http://www.hi-pda.com/forum/viewthread.php?tid=157228&fpage=4

4、乾大侠已经进行了汉化,正式版本已经公布,试用效果良好:
http://www.hi-pda.com/forum/viewthread.php?tid=168813&fpage=1
 
 
ListPro 5.0.0.2016 绿色汉化特别版
 
 
 

最近比较烦躁,干事情都不能专心,不知不觉一个周过去了,回头一看,什么事情都没有做,时间全部都浪费了。感觉自己可能需要加强对时间的管理。想起自己常看的blog上都在推荐GTD(Getting Things Done),所以花几天的时间了解了一下。就自己目前的理解,将自己的需要作的事情收集,整理,分类,然后在合适的时间和地点执行,然后再回顾总结。如此循环,养成良好的习惯。GTD只是一个总则,用户可以根据这些总则寻找到合适自己的事件安排方法。


以下是我收集的一些非常好的GTD的资料:


最主要的:
时间管理 (Getting Things Done)[by gasolin]介绍,
http://www.hi-pda.com/forum/viewthread.php?tid=144287&highlight=&page=1
(很经典的一篇,gasolin整理的,我觉得算是GTD中文的开山之作,只要是PDA,网上的提到GTD,都会提到这篇文章的)


Getting Things Done书籍下载:(PDF, txt版本的)
http://www.hi-pda.com/forum/viewthread.php?tid=168098&highlight=&page=1


GTD ― PDA继续存在的意义,
http://digi.pchome.net/cool/2005/2/12/6_12144.php
(非常详细,符合国情,入门最好,一共四篇,版主都合并在这里了。)


新手?现在就和我开始Getting things done。。。
http://www.tompda.com/bbs/display.asp?luntan=1&forumid=1692463
(非常详细,符合国情,入门最好,一共四篇,都有链接,其中第四篇除了介绍外,还有一些原则性的总结)


以下是一些辅助性的资料:
我的关于GTD应用的Outline(欢迎大家拍砖)
http://www.tompda.com/bbs/display.asp?forumID=1928517&luntan=1&CurPageNo=1
(后面的帖子讨论的很深入,非常值得看)


进阶 Getting Things Done (又是gasolin所作)
http://www.tompda.com/bbs/display.asp?forumID=1612334&luntan=1&CurPageNo=1


关于GTD的软件:
实行GTD,最简单的只需要一张纸,一支笔就可以了,而我这个技术至上论者还是想找到合适的软件。
在 Palm上有很多,毕竟他是PDA的鼻祖了,还有PPC上的,这些都可以在pda相关的网站上找到。因为目前还没有PDA,而除了移动外,我都在使用笔记本,所以目前对我来说,需要运行在PC上的GTD的软件,经过几轮的挑选、试用,最后选定了ListPro,它被誉为"PPC离开了LISTPRO就没了意义"。


找到一些listpro使用的文章:
ListPro使用方法在帖子:
http://www.hi-pda.com/forum/viewthread.php?tid=137562
(其中第三贴:状态显示/隐藏功能就可以用来管理待做/已做事宜)

 

Online GTD 评估

经过一系列对比、查阅、试用,我初步的选择:

PC: Toodledo(英文)和 mangbar(中文)

Mobile: 还可以考虑使用Vitalist

下面开始尝试使用。

 

http://www.kuangfeng.cn/blog/?p=1661

GTD是英文Getting Things Done的缩写, 你可以去GTD Life了解一下什么是GTD或者下载《Getting Things Done》中文版研读一下,弥缝写的博客版GTD也许可以让你了解GTD的作用。国外有人搜集了107个GTD软件,看得我头晕,Outlook也可以做GTD不过我不太喜欢,最后还是决定使用在线服务来得方便些。

这里整理了一些国外的在线GTD服务网站:

Rememberthemilk

ToDoist

iPrioritize

blabla list

Simple GTD

Task Toy

Thinking Rock

Vitalist

Nozbe

其中综合分最高的当属Rememberthemilk,而其他的在线GTD服务也都各有特色,有的输出功能很强,有的界面较友好,有的支持拖曳和AJAX用户体验较好,有的支持开放API,时间不够,这里就不做详细介绍,大家可以亲自去体验体验。但是很遗憾国内却鲜少有GTD的专业网站,而像忙吧Mytodo虽然也有GTD的功能,但相对国外站点来讲还不够专业和强大。

现在很多软件都变成了服务,在线化了,比如记帐软件,任务管理软件也不例外。 其实现在做的不错的在线GTD服务有不少,其中比较典型的是toodledo与RTM

 

个人评估:

有Inbox,有Area,有Action,无Action类别,无Project,无优先级
Google Calendar、Gmail、Twitter连通
在线版,移动版
免费
**
 
适合Agenda + To Do List
 
无Inbox,无Area,有Action(Task和Sub-Task),无Action类别,有Project和Sub-Project,3优先级
Google Calendar、Gmail、Twitter连通
在线版,移动版
免费
**
 
适合Agenda + 增强的To Do List
 
 Todoist 是一个 To-do List 服务。相对于一些专业化的同类服务,比如 Zoho Planer ,以及目前虹在使用的 Gubb 等等,Todoist 相对来说,更为简单实用,速度也快,可以设定项目(分类目录),以及项目内的任务表,还可以简单的标上时限。整个服务基于 AJAX 技术,没有应用 tags,个人使用的话,需求完全可以了。
 

iPrioritize 则是另一款的类似服务,载入速度很理想,界面很简捷干净,操作也很简单,功能全部到位。支持 RSS、电子邮件多种同步方式,支持多级分享。上个月他们还把其功能整合到了 Outlook 上面,非常不错。

 
简单的一个list和内容
*
 
简单,有Project和Action,有分类,但和GTD各个状态交叉,没有Review和查询,Action可以拖动
免费
*.
 
简单,有Project和Action,有分类,有Area
免费
*.
 
收费
***
 
有Inbox,有Area(Context),有Action,有Action类别,有Project,有Waiting,有Someday,有Reference,3优先级
Google Calendar、Gmail、Twitter连通
在线版,移动版
有免费版,但只有5个Context和5个Project,还有收费版提供存储、email、安全、无条目限制等
***
 
适合规范化的GTD,但无限制的需要付费
 
有Inbox,有Area(Context),有Action,有Action类别,有Project,有Waiting,有Someday,有Reference,3优先级
Google Calendar、Gmail、Twitter连通
在线版,移动版
收费
***
 
适合规范化的GTD
 
 
toodledo
见下面文章
免费,有收费版
****
适合规范化的GTD
 
Zoho Planner
To do list, iCal,reminder
免费
*.
 
Gubb
To do list
免费
*.
To-Do List 服务已经有不少了,个人计划安排、工作进程,配合日历的行事历,都是很不错的应用。Gubb 也是其中一个新发布的 To-Do List 服务,相较于其他的同类服务,Gubb 更注重 List 范畴的功能延伸,不仅仅局限于一般的商务、工作、生活计划等等,比如要去超市了,总会有一个购物清单,ok,在 Gubb 上做好 List,参照着去买就是了。加上 Gubb 支持用户直接把 List 内容发送到电子邮箱或者通过无线网络来手机接受,大大方便了用户在生活里的实际应用,即便不在电脑旁也能快速浏览 List。

mygubb.jpg

用户界面部分也很有特色,采用了类似于个人第三方首页的样子,每一个单独开设的 List 都是一个页面组件,可以自由拖曳,每一个 List 中的事项元素也可以自由拖曳,布局方面则支持 1 - 4 列布局,还可以标示不同的颜色,完全让用户自行选择。
 

Todoist: 简单实用的 To-do List - 15 February 2007

HiTask: 又一款全面的商务助手 - 31 March 2007

MyTodo.cn: 国产 To-do List 服务 - 06 May 2007

do.Oh: 多用途的简洁 To-do List - 04 July 2007

7tasks: 简易 To-Do List - 15 March 2008

Zirr.us: 当 Tagclouds 遇上 To-do List - 10 January 2007

Gubb: 应用广泛的 To-do List - 28 January 2007

忙吧:团体空间的首页新增了一种类型 - 20 June 2007

 

 

虽然GTD (Getting Things Done)被和菜头毫不留情的猛批,被斥为机器人的管理系统。但那毕竟是和大叔的一家之言,不可否认,GTD的确是一套非常优秀的时间管理系统。

下面是MakeUseOf整理的5个在线GTD网站,希望能对你的工作生活有所帮助。

  1. Remember The Milk

    Remember the milk task

  2. Simple GTD

    Simple GTD context

  3. Task Toy

    Tasktoy tasks

  4. Thinking Rock

    Thnking rock contexts

  5. Vitalist

    Vitalist menu

GTD roundup

 

 

http://www.mifengtd.cn/articles/%E5%87%A0%E4%B8%AA%E4%B8%AD%E6%96%87gtd%E5%9C%A8%E7%BA%BF%E7%BD%91%E7%AB%99.html

  • GTD在线工具网站:

mangba (http://www.mangbar.com/)

功能非常全面的:忙吧的功能对于日常商务使用,实在很方便,不仅有个人的 To-do List 和支持附件的在线笔记本,"团体"功能还包含论坛、Wiki、To-do 等使用功能。

易做网 (http://www.ezzuo.com)

易做网可以算是国内这一领域的先驱,作者受37signals影响,也用ROR构建了这个网站。网站功能完全按照GTD的思想来实现,突出工具性。 可惜现在因为各种原因停止开发了。

mindpin (http://www.mindpin.com)

刚刚上线的思维导图网站,用户可以根据样例和模板来生成自己的思维导图。同时引入了SNS的特性,可以建立"拼友圈"。思维导图是一种新近兴起的GTD工具。倡导使用图来整理自己的思路。据说在国外很流行。之前主要是使用"Mind manager"和 "Free mind"两种客户工具来绘制。mindpin等在线工具的出现,给用户提供了一种新的选择。作为一个刚刚上线的网站,mindpin的成熟度还是让人基本满意的。

翠芳网 (http://www.cuifang.com)

另一个在线思维导图工具网站,也是刚刚上线。需要用户上传现成的思维导图来导入。功能还不完善。

mytodo.cn (http://www.mytodo.cn)

一个刚刚上线的个人todo网站,模仿37signals。是上海的一家公司开发的。界面和功能都很一般,很多界面还是英文的,没有汉化完全。给人很粗糙的感觉。希望他们继续努力。值得一提的是mytodo.cn和douban一样是使用python语言来开发。

 

http://www.web20share.com/2007/03/simplegtdgtd.html

SimpleGTD:实用在线GTD工具 / 2007-03-13

SimpleGTD是一个提供实用简单的在线GTD服务的网站。(如果你还不了解什么是GTD,可以到LifeBang查看什么是GTD),通过GTD可以有效地提高做事的效率。

SimpleGTD界面很简单,你可以很方便的添加项目或者任务,管理事务和Email等,并且操作很简单,可以通过托拽的方式调整里面的项目。如果你也喜欢GTD,你会喜欢这款简单实用的在线工具的。

SimpleGTD上提供的一个Flash使用教程:Flash Demo

链接:http://www.simplegtd.com/

 

http://www.productivelife.cn/2009/03/online-task-management-service-toodledo-introduction.html

在线GTD服务Toodledo-介绍篇

此文是系列文章在线GTD服务Toodledo(共17篇)中的第1篇。

由于觉得GTD在国内逐渐变得火起来,但是Toodledo这么好的工具,介绍的还是比较少,所以我决定写几篇Toodledo的介绍性文章。

之前HOH也介绍了Toodledo的基本用法�(1)(2),大家可以去看看

Feature Comparison

http://www.toodledo.com/info/compare.php

This table compares all the major web-based to-do lists. As you can see, Toodledo does everything they do plus more.


    Ta-da List Todoist Nozbe voo2do Vitalist Milk Toodledo P Toodledo Pro P+ Toodledo Pro Plus
Basic Functionality
Deadlines No Yes Partial Yes Partial Yes Yes Yes Yes
Priority No Yes No Yes Yes Yes Yes Yes Yes
Context No Yes Yes Yes Yes No Yes Yes Yes
Tags No No No No No Yes Yes Yes Yes
Notes Partial No Partial Yes Yes Yes Yes Yes Yes
Time Tracking No No Partial Yes No Partial Yes Yes Yes
Repeating Tasks No Yes Yes No Yes Yes Yes Yes Yes
Search No No No No Yes Yes Yes Yes Yes
History No Yes Yes Yes No Yes Yes Enhanced Enhanced
Public Sharing Yes No No Yes Partial Yes Yes Yes Yes
Goals No No No No No No Yes Enhanced Enhanced
Integration
Email Reminders No Partial No No Yes Yes Yes Enhanced Enhanced
SMS Reminders No Partial No No Yes Yes Yes Enhanced Enhanced
Mobile Phone Support No Yes Yes No Yes Yes Yes Yes Yes
RSS Lists Yes No No No Yes Yes Yes Yes Yes
IM Support No No No No No Yes Yes Yes Yes
Google Gadget No Yes No No Yes Yes Yes Yes Yes
Twitter Support No No No No No Yes Yes Yes Yes
Firefox Extension No No No No No Yes Yes Yes Yes
OpenID No No No No No No Yes Yes Yes
Import/Export
Email export/import No No No Partial Partial Partial Yes Yes Yes
iCal export/import No No No No Partial Partial Yes Yes Yes
XML export/import No No No Yes Partial No Yes Yes Yes
Excel export/import No No No No No No Yes Yes Yes
CSV export/import No No No No No No Yes Yes Yes
PDA export/import No No No No No No Yes Yes Yes
Other Enhancements
Full GTD Support No No No No Yes No Yes Yes Yes
Hotlist No No No No No Yes Yes Yes Yes
Customizable No No Partial No No No Yes Yes Yes
Forums / Message Boards No No Yes No Yes Yes Yes Yes Yes
Referral Program No No Yes No No No Yes Yes Yes
Developers API No Yes No Yes No Yes Yes Yes Yes
Environmentally Friendly No No No No No No Yes Yes Yes
Foldable Booklets No No Yes No No No Yes Enhanced Enhanced
Calendar No No No No No No Yes Yes Yes
Notebook No No No No No No Yes Yes Yes
iPhone App No No Yes No No Partial Yes Yes Yes
Collaboration Partial No Partial No Partial Yes Partial Yes Yes
Encryption No Partial Partial No Partial Yes No Yes Yes
Chains No Yes No No No No No Yes Yes
Subtasks No Yes No No No No No Yes Yes
Statistics No No No No No No No Yes Yes
Auto-Scheduler No No No No No No No Yes Yes
File Uploads No No Yes No Yes No No No Yes
Price   Free Free $83/yr Free $120/yr Free Free $14.95/yr $29.95/yr
    Ta-da List Todoist Nozbe voo2do Vitalist Milk Toodledo P Toodledo Pro P+ Toodledo Pro Plus

Note: Milk is short for "Remember the Milk"

Note 2: We have tried to be as accurate as possible with this chart. We routinely check our competitors and update this chart if necessary. If we are missing something, please let us know.

 

为什么选择Toodledo?

首先,Toodledo是一个非常轻的GTD工具。相对outlook和mind manager这种安装文件几十M,甚至上百M,运行的时候内存好用几十M的"重型"GTD软件,Toodledo的特点是相当的轻,运行在浏览器里面,打开速度也非常地快。通过Chrome浏览器的任务管理器,可以看到toodledo网页的内存大概在8M左右。因为计算部分都在服务器端,在浏览器中只是结果展示与操作界面。

而且,由于本身是基于数据库的,数据本身非常结构化。这样清单生成非常快,而不像有些GTD系统(比如Results Manager+Mind Manager),每次都要从规划系统生成清单,然后执行。

其次,手机访问,随时随地进行GTD。其实本质上,GTD也要求是随时随地的。

移动性(mobility)在PC化之后,变得越来越重要,因为可以进一步解放人们的生产力,让人更好对自己的时间与精力进行安排,完成更多的事情。

正是因为Toodledo非常轻,可以运行在浏览器中,使得其可以很方便地移植到手机上,提供web和wap访问入口。而一般的桌面程序是无法做到这一点的,因为手机的硬件与软件系统与桌面电脑有很大的区别。所以一般的做法就是把数据在桌面电脑与手机之间进行同步,比如outlook与 windows mobile,比如MLO与windows mobile。

但是即使是同步程序,也往往是针对部分手机平台的。因为现在手机系统有很多,symbian,windows mobile,iphone,android,linux等,针对每个手机系统开发软件,对于开发人员而言,一则精力不够,二则成本过高。

而现在唯一通用的平台,只有web,对于现在大多数手机而言,就是wap。

现在很多软件都变成了服务,在线化了,比如记帐软件,任务管理软件也不例外。

其实现在做的不错的在线GTD服务有不少,其中比较典型的是toodledo与RTM(remember the milk)。

但是我觉得toodledo比RTM要好许多。

这里仅举任务添加方式一例,就可以看出toodledo的人性化。在我后续的介绍中,大家也会看到Toodledo的贴心与对细节的雕琢。

在添加任务时,RTM的界面很简陋,主要靠手动输入,连个日期选择器都没有。而Toodledo中,很多都是下拉选择框。做选择题总是比做填空题容易啊。

RTM

Toodledo

第三,非常多的任务输入方式。用过微博客(比如twitter)的人知道,现在可以通过网页、短信、MSN、QQ、Gtalk、Adobe Air、Firefox 插件、widget、sidebar等各种形式进行tweet。因为接入twitter的方式越多,就降低了人们使用twitter的成本,每个人可以用自己最熟悉、最方便的方式来进行twitter,而不是重新学习一种新的、特定的方式。

这对于To do list 也一样

在GTD的流程中(如下图),GTD最开始的一部是把要做的事情记下来,然后才是后续的整理与处理。


很多时候人们不去做,是不知道自己要做什么,或者忘记自己要做什么。其实人和人之间并没有多大本质的区别,更多的是由于点点滴滴的积累所造成的不同。

在一年多之前,虽然我也尝试GTD挺长时间了,但是总是有些不自在。那时刚开始工作,工作也不太累,下班之后挺闲,时间就这样浑浑噩噩过去了。我觉得一个原因是我当时的"输入"有限,因为当时我总是要到晚上,坐在电脑前,等不受其他网页、电影、视频、QQ、MSN等的诱惑,心态又平心静气时,才打开 outlook或者mind manager,看看自己接下来要做什么。而outlook与mind manager都是巨型的软件,内存一般都要70M~80M。这么耗资源的程序,太慢,就不愿意多用,也是导致我使用频率低的一个原因。这里我又要引用王建硕的说法了:

积累的力量惊人,但是不方便的事情就不容易积累。一件事情,如果足够的方便,足够的日常,就像马桶旁边的那本书一样,就容易积累;经过了足够长的时间,就会对人产生影响。书再多,只要不是放在枕边,饭桌边,马桶边,看的几率就会下降。一天两天其实差别不大,但要是积累上几年,变化就出来了。

个人认为收集阶段是GTD的瓶颈之一。

一则是收集的To do的数量。实际上,只有To do list足够长,GTD才会发挥其效用。所以如果真的要用GTD,就要把自己的日常生活纳入这个系统中,而不走"双轨制",用GTD处理一部分,用其他方式处理另外一部分(比如记事本,记性)。

二则是收集的To do的质量。GTD的效果取决你收集了哪些To do。

李笑来说

输出取决于输入

另外一个例子是美国大学,美国名校优秀的一个很重要的原因不是其师资力量,而是其招收的学生本身就是最优秀的。

Toodledo提供了可以想到的几乎所有方式来收集To do,并输出到各种常见的工具中

列举如下:

  1. twitter,刚才提到过twitter的接入方式很多,Toodledo干脆就用twitter做为中介,获取任务列表并添加任务。想用MSN用MSN,想用QQ用QQ,或者其他随便什么。
  2. jott。jott是一个很棒的语音服务(前面几个月开始收费了)。你可以直接打电话给jott,说你要做啥,jott会把你说的转换成文本,发给toodledo,变成一条To do,太NB了。不过中国不适用,因为打电话到美国的长途费。。。
  3. google calendar。在Google Calendar中加入Toodledo之后,可以在日历页面赚哦你看到一个绿色的完成标记,点击这个标记就可以看到这一天需要完成的to do,或者是曾经完成的to do(见下图)。你可以在这个gadget中直接添加任务。当然你也可以将要完成的to do以iCal格式输出,显示在google calendar中,见第10条。
  4. google homepage。也可以将toodledo作为Gadget插入igoogle中,事实上,这个插件现在也可以插入Gmail中了。
  5. netvibles/pageflakes。netvible和pageflake和igoogle一样,都是个性化主页服务,toodledo可以作为插件插入这2个平台中。
  6. Apple Dashboard。将toodledo的gadget放在你的Mac的桌面上
  7. Firefox Addon。这个超级好用。在firefox中Ctrl+ALt+A,调出对话框,由于是本地XUL程序,速度很快。右击可以将选中的链接或者内容作为To do发送到toodledo,体验和Google Notebook插件差不多。左侧sidebar还可以调用简化版的toodledo(和igoogle,Apple Dashboard中的一致)
  8. iPhone/iPod Touch,iphone上面的本地程序,非常优雅、好用。
  9. Rss订阅,可以将你的hotlist或者各个folder的任务作为rss输出,可以用Google reader等阅读器订阅
  10. ical订阅,将事件(包括完成与未完成)输出为google calendar、苹果的ical或者一般的ical格式,通过这些工具订阅之后,就可以在相应的日历上看到你的toodledo任务了
  11. SMS/Email,定期通过email或者短信方式将提醒发送到你手机上。其中短信只在美国有效。可以通过Email添加To do,包括toodledo的所有字段。
  12. 手机。对于wap1.0与2.0的手机,提供三个网址进行访问http://www.toodledo.com/wap.phphttp://www.toodledo.com/wap2.phphttp://www.toodledo.com/html/,可以完成任务、添加任务与修改任务

嵌入在google calendar中的toodledo插件

在igoogle上面的toodledo插件

Toodledo的firefox插件

如果你习惯使用Firefox,这绝对是最方便的To Do 收集工具

iphone上的toodledo程序,迄今为止最好用的Toodledo程序

手机wap2界面



手机html版界面

手机Slim界面



选择设置进入的位置,和Google Reader比较像,可以设置第一页直接跳到某个label


Slim版本的功能很全,可以直接添加Goal等属性


Due Date界面是我最常用的界面

以上这些都是官方应用,由于Toodledo开放了API,有不少第三方开发者都开发了其各自的应用。

TooDo for Android Mobile OS - Made by Edouard Mercier

Outlook Synchronization Tool - Made by Chromatic Dragon

OmniFocus Synchronization - Made by Preston Holmes

Windows Vista Gadget - Made by Chris Motch

Ruby API/Client - Made by Will Sargent

C# .NET library - Made by Doug Reichard

第四,丰富的字段属性。可以选择folder,subtasks,context,goal,start date,due date,due time,repeat,length,timer,priority,tag,status,star,assignor,reassign

我理解的GTD在技术上就是一个To do list,为了更好地完成这个to do list,你每次只能完成一小部分,这就势必要将这个长长的to do list进行切块,切成一个个小单元来完成。并且要附上一个属性,使得在每个小单元里面,任务之间有个先后顺序。

所以类别,截止日期,目标,地点,标签等都是切块的不同方式,只得你在某个特定的时间、特定的地点,能够快速定位到你要做的事情。并根据优先级来确定做事的先后顺序。

Toodledo有一个tag属性,之前我并没有觉得有什么用,但是自从我to do list上面有100多本书的书单之后,我觉得这个属性很实用。因为tag可以不是一个单选的下拉框,你可以给同一本书定义多个tag,比如传记、企业、行业。同样,对于任何一个To do,都可以定义多重属性,间接地使得你可以对To do list进行无限地切分。

随着Toodledo团队的精益求精,Toodledo也越来越受欢迎

这里贴一下2008年3月份以来,Toodledo团队的更新记录,从这里我们可以看出这是一个非常勤奋的团队。所以我们也有理由相信,这个团队会给我们带来更好的GTD体验。Toodledo网站中也集成了一个论坛,开发团队对论坛上的疑问与建议反应速度非常快。我想这种开放的心态也是促使 Toodledo不断进化的重要原因之一吧。



后记:

Toodledo开始是由斯坦福大学一个计算机系毕业的工程师创造的,网站开始于2006年。