关于 一月, 2008 的文章

全面直观的Unix发展历史流程图

unix_time

No Comments

曾经的文采:《今生赋》

一生如一梦,一日有一梦,此生如一梦,梦到头方醒,偏是明日方醒悟来世,多悲切!人生既如此,何来不珍惜?
若奈何,少年不识愁滋味,独行孤处怨天佑,今日一梦明日续,但求此生度无虚。
至晨二起至,暖于烘被,视全起而卧于内,不起;待孤身至台,急起,门不出,而蔽于门阴之后,待门开关后现身,整六物,摆七品,随人快去,回寝室而久坐,厌于言而完毕,未离。得缺于座,至声朗,不言,过一节,二节,三、四节;旋笔于手,桌上空无一物,唯小人无聊之画,口中有词,手中有笔,尽舞之,铃震方斗毕。
至午时,冲于堂以饱终日,论拍与网台,至铃而爬楼,亦缺与座;过一节、二节、三节;照例虚度;
至晚时,亦饱其身而乏于神,东起西诳,铃震而爬楼,亦狼狈于缺座。寻畅谈之友,不得;复问其作业,厌答。于是照常例而废一节,二节,三节,至寝而卧,不梳不洗,令人厌;
复至晨,讨作,不得,于是厌声而大骂,不理,记于册,扣常分于内,内虚之,颜无色变。
尚且如此,也不乏颓废之时,至良心而天谴,无语。心痛不堪言,至双痕而贴于颊,疾书于笔头,末时,亦抛其至地,趴桌面而泣,未来之出于学室,盲步于校内,不肯进食;观他人之欢而生忌厌之情,非至铃后许久不得入室,入室后乃雄心俱生,但亦同而摆作文于面,疾书于此,虽无泪,即是无志之言,尚知此言千百遍,无一篇得以实行?!
望其室外,空发感悟,自以为孤芳香万里而不得志,再生傲气与内,乃重重而遭损,翻书也无力,动笔更无语,只留得置之而后续,信之必为极品!于是连数日皆由此缚,不得真身,终亦是虚度春时,忘却大痛而复恶循上述,悲矣!
无奈乎!此时何须此番愁,更从何处谈天佑?今日之梦今日了,切莫无为此生少!
痛言虚度此日,一言一行皆下下之品,何以平亲人之希冀?!
痛言而疼于喉,刺于心,胀于脑,废于肢,前非今改,何谓成人,无言矣,无言此生矣!

No Comments

曾经的文采:《冬夏缘》

“惜冬夏不相连,叹春秋不相牵”
一年既分为四季,春夏秋冬,如此叹息,便显得多余。
四季有着它们自己的交替变更顺序,由此冬夏便不可相连,春秋亦无法相牵。
一次偶然,冬却了解到了和自己相差很大的夏。夏所拥有的那些优点深深的印在了冬的心灵深处。
冬完全的沉浸在对夏的幻想与思念之中,那些冬自身所拥有的美丽的冰雪竟被抛弃。
冬甚至偏激的认为自己受够了那样的寒冷,受够了那样无垠的雪白。
想着夏的绿色,想着夏的流水,想着夏的清凉,想着夏的洒脱,想着所有夏所拥有的优点。
渐渐的,冬越来越迷失自己,整天陷入到不可能有结果的思念当中。
痛苦来到了,接踵而至的来,冬痛苦于自己不可能遇到夏,不可能与心仪的夏相见。
冬在自我的世界中,模拟了很多很多次与夏相见时的瞬间。
也只有在这样的瞬间,冬才会感到温馨,然而温馨之余,看着眼前的的一切逐渐的模糊,从碧绿回复到依旧雪白的世界,冬感到深深的痛,深深的无法抑制的心痛。
无语的寂静,茫然的发呆,在心里,冬自己的一切不停的迷失,忘却了自己本来该是怎样的模样。
冬从来没有如此的孤寂过,独自的岁月并不孤单,孤单的是因为思恋。
思念折磨着冬,没有结果,更惨的是迷失了自己,有时候,冬也想回到以前的生活,真的难以忍受。
可是,以前的自己又是什么样子?不禁苦笑。
自己的一切竟然都成为了自己所厌恶的,试问如何能回到过去的生活呢?
冬开始努力找回自己,虽然思念的痛苦从来没有停止,但又怎能这样如同行尸走肉般的生活?
试着开始找回自己的一切吧,爱回自己的一切,爱这冰与雪的世界,绿色的夏季是自己永远不可能相遇的,因为我们本就是截然不同的,生而无缘的。
冬最终找回了自己,不管途中经历了多少痛苦,多少次放弃,多少次的反复。
那美丽的夏不过是自己描绘出来的一副完美的仙境,一个自缚的绝美的陷阱。
这一场轮回,这一场刻苦铭心。
冬也不后悔,亦不再可怜,虽然会有伤心,但不会心痛。
因为,冬想想这一切,其实也是一段不错的经历,毕竟,要找一段让你伤心欲绝的缘份也不容易。

No Comments

全国各地公用DNS服务器IP列表

全国各地公用DNS服务器IP列表
名词解释DNS:
域名服务器(Domain Name Server),在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

(1) 电信DNS服务器IP:
北京:202.96.199.133 | 202.96.0.133 | 202.106.0.20 | 202.106.148.1 | 202.97.16.195
上海:202.96.199.132 | 202.96.199.133 | 202.96.209.5 | 202.96.209.133
天津:202.99.96.68 | 10.10.64.68
广东:202.96.128.143 | 202.96.128.68 | 202.96.128.110
深圳:202.96.134.133 | 202.96.154.8 | 202.96.154.15
河南:202.102.227.68 | 202.102.245.12 | 202.102.224.68
广西:202.96.128.68 | 202.103.224.68 | 202.103.225.68
福建:218.85.157.99 | 202.101.115.55
厦门:202.101.103.55 | 202.101.103.54
湖南:202.103.0.68 | 202.103.96.68 | 202.103.96.112
江苏:202.102.15.162 | 202.102.29.3 | 202.102.3.141 | 202.102.24.35
陕西:202.100.13.11 | 202.100.4.16
西安:202.100.4.15 | 202.100.0.68
湖北:202.103.0.68 | 202.103.0.117 | 202.103.24.68
山东:202.102.154.3 | 202.102.152.3 | 202.102.128.68 | 202.102.134.68
浙江:202.96.102.3 | 202.96.96.68 | 202.96.104.18
辽宁:202.98.0.68 | 202.96.75.68 | 202.96.75.64 | 202.96.69.38 | 202.96.86.18 | 202.96.86.24
安徽:202.102.192.68 | 202.102.199.68 | 10.89.64.5
重庆:61.128.128.68 | 10.150.0.1
黑龙江:202.97.229.133 | 202.97.224.68
河北:202.99.160.68 | 10.17.128.90
保定:202.99.160.68 | 202.99.166.4
吉林:202.98.5.68 | 202.98.14.18 | 202.98.14.19
江西:202.101.224.68 | 10.117.32.40 | 202.109.129.2 | 202.101.240.36
山西:202.99.192.68 | 202.99.198.6
新疆:61.128.99.133 | 61.128.99.134
贵州:202.98.192.68 | 10.157.2.15
云南:202.98.96.68 | 202.98.160.68
四川:202.98.96.68 | 61.139.2.69
重庆:61.128.128.68 | 61.128.192.4
成都:202.98.96.68 | 202.98.96.69
内蒙古:202.99.224.68 | 10.29.0.2
青海:202.100.128.68 | 10.184.0.1
海南:202.100.192.68 | 202.100.199.8
宁夏:202.100.0.68 | 202.100.96.68
甘肃:202.100.72.13 | 10.179.64.1
香港:205.252.144.228 | 208.151.69.65
澳门:202.175.3.8 | 202.175.3.3

(2) 网通DNS服务器IP:
香港:ns1.netvigator.com 205.252.144.228
澳门:vassun2.macau.ctm.net 202.175.3.8
深圳:ns.shenzhen.gd.cn 202.96.134.133
202.96.154.8
202.96.154.15
北京:ns.bta.net.cn 202.96.0.133
ns.spt.net.cn 202.96.199.133
ns.cn.net 202.97.16.195
202.106.0.20
202.106.148.1
202.106.196.115
广东:ns.guangzhou.gd.cn 202.96.128.143
dns.guangzhou.gd.cn 202.96.128.68
上海:ns.sta.net.cn 202.96.199.132
202.96.199.133
202.96.209.5
202.96.209.133
浙江:dns.zj.cninfo.net 202.96.102.3
202.96.96.68
202.96.104.18
陕西:ns.snnic.com 202.100.13.11
西安:202.100.4.15
202.100.0.68
天津:ns.tpt.net.cn 202.99.96.68
辽宁:ns.dcb.ln.cn 202.96.75.68
202.96.75.64
202.96.64.68
202.96.69.38
202.96.86.18
202.96.86.24
江苏:pub.jsinfo.net 202.102.29.3
202.102.13.141
202.102.24.35
安徽:
202.102.192.68
202.102.199.68
四川:ns.sc.cninfo.net 61.139.2.69
重庆:61.128.128.68
61.128.192.4
成都:202.98.96.68
202.98.96.69
河北:ns.hesjptt.net.cn 202.99.160.68
保定:202.99.160.68
202.99.166.4
山西:ns.sxyzptt.net.cn 202.99.198.6
吉林:ns.jlccptt.net.cn 202.98.5.68
山东:202.102.152.3
202.102.128.68
福建:dns.fz.fj.cn 202.101.98.55
湖南:202.103.100.206
广西:10.138.128.40
202.103.224.68
202.103.225.68
江西:202.109.129.2
云南:ns.ynkmptt.net.cn 202.98.160.68
河南:202.102.227.68
202.102.224.68
202.102.245.12
新疆:61.128.97.73
乌鲁木齐:61.128.97.73
61.128.97.74
武汉:202.103.24.68
202.103.0.117
厦门:202.101.103.55
202.101.103.54
山东:202.102.134.68
长沙:202.103.96.68
202.103.96.112

(3) 铁通DNS服务器IP:
铁通网路用户多使用的两个DNS:211.98.4.1和210.52.207.2
香港:ns1.netvigator.com 205.252.144.228
澳门:vassun2.macau.ctm.net 202.175.3.8
深圳:ns.shenzhen.gd.cn 202.96.134.133
202.96.154.8 /202.96.154.15
北京:ns.bta.net.cn 202.96.0.133
ns.spt.net.cn 202.96.199.133
ns.cn.net 202.97.16.195
202.106.0.20/202.106.148.1
广东:ns.guangzhou.gd.cn 202.96.128.143
dns.guangzhou.gd.cn 202.96.128.68
上海:ns.sta.net.cn 202.96.199.132/202.96.199.133 /202.96.199.133
浙江:dns.zj.cninfo.net 202.96.102.3/202.96.96.68/202.96.104.18
陕西:ns.snnic.com 202.100.13.11
天津:ns.tpt.net.cn 202.99.96.68
辽宁:ns.dcb.ln.cn 202.96.75.68 ;202.96.64.68;202.96.91.58
江苏:pub.jsinfo.net 202.102.29.3
四川:ns.sc.cninfo.net 61.139.2.69
河北:ns.hesjptt.net.cn 202.99.160.68
山西:ns.sxyzptt.net.cn 202.99.198.6
吉林:ns.jlccptt.net.cn 202.98.0.68
山东:202.102.152.3/202.102.128.68
福建:dns.fz.fj.cn 202.101.98.55
湖南:202.103.100.206
广西:10.138.128.40
江西:202.109.129.2/202.101.224.68/202.101.240.36
云南:ns.ynkmptt.net.cn 202.98.160.68
重庆:61.128.128.68
河南:202.102.227.68/202.102.224.68/202.102.245.12
新疆:61.128.97.73/61.128.97.74
保定:202.99.160.68 /202.99.166.4
武汉:202.103.24.68 /202.103.0.117
西安:202.100.4.15 /202.100.0.68
成都:202.98.96.68 /202.98.96.69
重庆:61.128.192.4
乌鲁木齐:61.128.97.73
厦门:202.101.103.55

(4) 教育网DNS服务器IP:
202.38.64.1 中国科技大
166.111.8.28 dns-a.tsinghua.edu.cn清华DNS1
166.111.8.29 dns-b.tsinghua.edu.cn清华DNS2
166.111.8.30 dns.tsinghua.edu.cn 清华DNS
202.114.0.242 server20.hust.edu.cn 华工DNS
202.112.0.35 dns.hust.edu.cn 华工DNS2
202.112.20.131 dns.whnet.edu.cn 华中地区网络中心DNS
202.117.0.20 dec3000.xjtu.edu.cn 西交DNS1
202.117.0.21 ns2.xjtu.edu.cn 西交DNS2
202.112.26.34上交
202.203.128.33 cernet云南中心主dns
202.115.64.33 and 202.115.64.34 西南交大
202.201.48.1 and 202.201.48.2 西北师范大学
202.116.160.33 华南农业
202.114.240.6 武汉科技大学
202.112.0.33 and 202.112.0.34 cernet 华北网

(5) 各大网站DNS服务器IP:
天府热线DNS:61.139.2.69
长春163:202.98.0.68
     202.98.3.68
263在线:211.100.2.130
     211.100.1.10
中国万网:210.79.232.248
  210.192.103.50   (dns1.hichina.com)
  202.106.169.100  (dns2.hichina.com)
新网:211.99.199.194
   211.99.199.195
263 IDC:211.100.2.130  (NS.263IDC.COM)
211.100.1.10 (NSB.263IDC.COM)

参考资料:
中国DNS信息网查询 http://www.dnsinfo.net.cn/
水木清华论坛 http://www.smth.edu.cn/

No Comments

经典的Stephen Bourne的Bourne-Again Shell双关语

Linux之父Linus对BASH的描述:
我下载了一个叫Borne Shell的外壳程序。它是UNIX的初始外壳程序之一,可以从互联网上免费下载,名字来源于一个难听的双关语。编写该外壳程序的家伙名叫波恩(英文中的“忍受”或“出生”之意――译注),所以这个程序就叫做“Borne Again Shell”(“再次忍受或再次降生外壳程序”――译注),或一般被称为BASH(bash的英文意为“重击”――译注)。

BASH的正确缩写:
BASH = GNU Bourne-Again SHell,BASH 是 GNU 组织开发和推广的一个项目。

BASH的作者和产生:
Bourne shell 的作者是 Steven Bourne,它是 UNIX 最初使用的 Shell 并且在每种 UNIX 上都可以使用。
而BASH 与 Bourne shell 完全向后兼容,是Bourne shell的扩展。

双关语的经典之处:
[1]作者名叫Steven Bourne,“bourne”与“borne”的发音相近,而borne有“出生”和“忍受”的含义。
[2]Bourne-Again字面意思代表了它是“Bourne shell”l的一种扩展,而暗示“borne-again”、“born-again”则有“重生”和“再次忍受”的意思。(我想作者应该更喜欢“重生”)
[3]它的简写“bash”的意思是“重击”,暗示它的出现是一次强有力的重击。

No Comments

推荐一本好书:《乐者为王》-- 自由软件Linux之父李纳斯-托沃兹自述

本书的目录(大家可以概括的看到本书都讲了些什么):
前言:生活的意义
第一章:一个书呆子的诞生
1 大鼻子的孩子
2 外公的计算机
3 芬兰的严冬
4 我的家族
5 中学时代
6 长大成人
7 爱洗桑拿的国家
第二章:一种操作系统的诞生
1 昨天的电脑
2 上大学
3 从UNIX开始
4 第一台386和终端仿真
第三章:编程的美妙
1 开始编程
2 长腿的终端仿真器
3 寻求网上帮助
4 Linux
5 开放源代码
6 Linux有了用户
7 Linux能换来金钱吗?
8 MINIX对Linux
9 最后的冲刺
10 塔芙
第四章:舞会上的国王
1 1.0版本闪亮登场
2 版权之争
3 去硅谷
4 在Transmeta领地上的生活
5 欢迎来到硅谷
6 一夜功成名就
7 财富的到来
8 糟糕的展示会
9 媒体的攻击
10 舞会上的田王
11 还会再干
第五章:知识产权
1 各种观点
2 结束控制
3 未来的娱乐之旅
4 为何开放源代码
5 名声与财富
6 生活的意义
Copyright [美]李纳斯·托沃兹, 大卫·戴蒙

--------------------------------------------------------------------------------
本书的前言(很有意思的一段对话记录,为方便阅读我对每个角色名都加了颜色):
前言:生活的意义
背 景:
这本书开始写于一辆黑色的福特牌汽车上。
这辆车沿着州际五号公路朝南开去,行驶在加利福尼亚中部山谷的某个地方。李纳斯?托沃兹、他的妻子塔芙?托沃兹、他们的两个小女儿帕特里夏和丹妮亚拉,在一个外人的陪同下,旅行351英里去洛杉矶参观那里的动物园和一家宜家家居商店的分店。

大卫:我现在正在思索一个最基本的问题,而且非常重要。你在这部书里想表达什么?
李纳斯:我想解释生命的意义。

塔芙:李纳斯,你没有忘记给车子加油吧?

李纳斯:我对生命的意义有种理论。我们可以在第一章里对人们解释生命的意义何在。这样可以吸引住他们。一旦他们被吸引住,并且付钱买了书,剩下的章节里我们就可以胡扯了。

大卫:哦,是的。这倒像个计划。有人对我说,人类自从诞生起就一直有两个悬而未决的问题。第一个是:“生命的意义何在?”第二个是:“在一天结束时,我攒下的所有零花钱能干些什么?”

李纳斯:我有对第一个问题的回答。

大卫:答案是什么?

李纳斯:这个答案基本上简单而漂亮。它不会给你的生活以任何意义,但可以告诉你将发生什么。有三件事具有生命的意义。它们是你生活当中所有事情的动机,包括你所做的任何事情和一个生命体该做的所有事情。第一是生存,第二是社会秩序,第三是娱乐。生活中所有的事情都是按这个顺序发展的。娱乐之后便一无所的。因此从某种意义上说,这意味着生活的意义就是要达到第三个阶段。你一旦达到了第三个阶段,就算成功了。但首先要越过前两个阶段。

大卫:你需要详细解释一下。

帕特里夏:爸爸,我们能不能停车买个巧克力冰淇淋?我现在想吃冰淇淋。

塔芙:小宝贝,不行。你得等一等,等我们停下来去上厕所时你才可以吃冰淇淋。

李纳斯:我给你举几个例子来说明这一观点。最明显的是性,它开始只是一种延续生命的手段,后来变成了一种社会性的行为,比如你要结婚才能得到性。再后来,它成了一种娱乐。

帕特里夏:这么说我得上厕所了?

大卫:性为什么是娱乐?

李纳斯:好吧,我是在对牛弹琴。我举一个别的例子。

大卫:不必,还是说说性。

李纳斯:它是在另一个层次上的……

大卫(自言自语):哦,参与就是娱乐,而不是在一旁观看。好,我明白了。

李纳斯:……假如你从生物学的角度观察性行为,就是在另一个层次上。性一开始是怎么来的?是生存。最初它不是娱乐,后来两者融合在一起了。好,我们先把性放下。

大卫:别,我想这可以写整整一个章节。

李纳斯:我们还是来谈谈战争吧。很明显,它最初起源于生存,因为在你和水源之间有一个高个子家伙挡道。再后来,你必须和那个家伙为争夺一个妻子而搏斗。之后,就成了一种社会秩序。中世纪之前很长一段时间里战争就是这个样子。

大卫:战争是建立社会秩序的手段。

李纳斯:没错。但它也是把人自己塑造成社会秩序中一部分的手段,而对于社会秩序本身谁也不关心。人人关心的是在那个秩序中自己的位置。无论你是一只按实力划分成等级的鸡还是一个人,都是如此。

大卫:如今战争已成为娱乐?

李纳斯:对。

大卫:也许那些在电视上观看战争节目的人,会觉得战争非常有意思。

李纳斯:电脑游戏。战争游戏。有线电视新闻网。战争的原因也常常很有意思。对战争的看法也是娱乐。对性的需求其原因也常常是娱乐。当然,生存的功能没有泯灭,尤其是当你是一个天主教徒的时候,对不对?但即使你是一个天主教徒,有时你想到性的时候也包含享乐的需要。所以这并非只是纯粹的娱乐。在所有的事物中,一部分动机可能是生存,另一部分可能是社会秩序,剩下的就是娱乐。好,我说说技术。技术最初也是生存。生存的意思并非只是生存而已,而是为了生存得更好。为了从井里打水人类才发明了风车……

大卫:火的发明也是这样。

李纳斯:对。这仍是为了生存,还没有达到社会秩序和娱乐的阶段。

大卫:技术是怎样进入社会秩序阶段的?

李纳斯:其实工业化的目的主要是生存需要,或者为了生存得更好。比如生产汽车,它便意味着制造出更快更漂亮的汽车。然后技术便达到了社会层面的阶段。这时我们有了电话。在某种程度上,也有了电视。早期许多电视节目主要是为了给大众洗脑。电台也是如此,许多国家常常投资电台,为的就是社会秩序的原因。

大卫:建立和维持社会秩序……

李纳斯:没错,然后又超越了那个阶段。今天,电视显然主要是为了娱乐。如今你才可以到处看到手机,手机现在大体上还处于社会的层面,但也正在朝娱乐的阶段发展。

大卫:那么技术的未来将会怎样?我们已经超越了生存阶段,现在正处于社会阶段,是这样吗?

李纳斯:对。过去所有技术都是为了使生活更容易一些。是为了快点达到一个地点,货品更便宜一些,住进更好的房子等等。那么信息技术与过去的技术有何区别呢?人人都建立起联系后又会怎样呢,还有什么可做的?当然人们之间的联系可以建立得很好,但从根本上说与过去没什么区别。因此技术将把我们引向何处?依我看,下一个巨大的步伐就是迈向娱乐。

大卫:你的意思是,一切的一切最终都将演变成娱乐……

李纳斯:这就是为什么Linux在某种程度上如此成功的原因。想一下那三个动机。第一个是生存,拥有计算机的人把这个视为理所当然。坦白地说,假如你有一台电脑,就意味着你已经不会再为基本的生计问题发愁了。第二个是社会秩序,建立社会秩序的动机显然是为了使各种各样的人能够各安其位。

大卫:你在Comdex电脑业会议上说的话非常不错,当时你说Linux的开发是一个全球性团队的体育项目。这一点基本上是由你创立的,伙计。

李纳斯:Linux表明了人们为什么喜欢团队体育项目,尤其是想成为团队中的一员。

大卫:是的,每天坐在电脑前,你大概希望觉得你是一个大团体中的一分子,任何事情中的一分子。

李纳斯:这就是社会层面,和其他团队体育项目一样。想象一下一支足球队里面的人,特别是高中的足球队。Linux的社会层面是非常非常重要的。但Linux也是娱乐,这种娱乐是金钱很难买到的。当你处在生存阶段时,金钱是一个非常强大的动机,因为用金钱换取生存是件容易的事情。换取生存之类的东西是很容易的,但突然之间你进入了娱乐阶段,金钱就……

大卫:金钱就没用了?

李纳斯:不是,并不是没用,因为显然你可以用钱买电影影碟、速度更快的汽车、更豪华的假期。还有许多东西你也可以买,从而改善你的处境。

塔芙:李纳斯,我们该给丹妮亚拉换尿布了。帕特里夏也得去上厕所。我想喝一杯卡普契诺咖啡。我们在这儿能找到一家星巴克(Starbucks)咖啡馆吗?我们现在在哪儿?

大卫(抬起头):根据空中的味道,我想我们已经快到国王城了。

李纳斯:我们所说的都非常宏观,但我们指的不光是人,而且是生活。和熵的定律相似。根据“生活的熵定律”,一切事物都将从生存走向娱乐,但这并不意味着在某个局部地区没有倒退的现象,而且毫无疑问许多地方都有这种情况。有时事物往往会分裂开来。

大卫:但作为一个体系,一切事物都朝着一个方向发展……

李纳斯:一切事物都朝着一个方向发展,但并不是同步的。所以从根本上说,性已经达到了娱乐阶段,战争已经快接近娱乐阶段了,技术也已经达到了这一阶段。新生的事物开始是为了生存,比如太空旅行,它在某个阶段是为了生存,然后成为一种社会秩序,最后达到娱乐的目的。可以用膜拜的角度看一下文明。我是说,文明也是以同样的格局出现的。文明最早是为了生存,比如大家聚在一起就会生存得更好,于是建立起了社会结构。最后,文明的存在是为了纯粹的娱乐,当然也并非完全纯粹,而且这种娱乐也并非有什么不好。古希腊人是以强大的社会秩序而著称的,他们也有不少娱乐。人人都知道那个时代产生了不少一流的哲学家。

大卫:那么这些和生活的意义有什么联系呢?

李纳斯:并非有何联系……只是说……存在着这类问题。

大卫:这其间的小小联系你还得想一想。

帕特里夏:妈妈,瞧那些牛。

李纳斯:所以,要是你知道生活的走向是这样的,那么毫无疑问,你的生活目标就中促成这一走向。而且这种走向并非是一个单一的行程。你做的一切都是许多走向中的一部分。你也可以问自己:“我做些什么才能使社会变得更好?”你知道你是这个社会的一部分。你知道社会正在朝这个方向发展,你也能帮助它朝这个方向走。

塔芙(扬起鼻子):什么味?真难闻。

李纳斯:所以归根结底,我们都是为了开心。我们也可以坐在这里,完全放松,享受着汽车旅行。

大卫:仅仅为了开心?
<结束>

No Comments

DOS下.bat批处理脚本编程学习笔记

DOS下.bat批处理脚本编程学习笔记
 
需要理解的一些概念:
1.什么是脚本?
脚本可以理解为是一种简单的程序(它的语法相对简单,不需要编译,是解释执行的)。
这一点和Linux下的shell是类似的,并且像php,Python这样流行的语言也属于脚本语言。
他们共同的特点是,不需要像C,Java那样需要经过编译成二进制文件后才可以运行,它们需要的,仅仅是一个专属的解释器。
2.什么是批处理?
我们可以理解为“批量处理”,将一些命令保存到一个文件中,然后一条条一次运行。当然,批处理的功能并不局限于此。
3.如何建立批处理程序?
新建一个文本文档,将代码写入后更改其扩展名为bat或cmd(NT中的另一种批处理文件)即可。
4.如何运行批处理程序?
无需编译等操作,直接在Windows下双击或DOS下输入批处理文件名即可运行。
5.批处理都有那些命令?
我们可以这样想,除了批处理专属的命令外,任何可以在DOS下使用的命令批处理都是可以使用的。
 
学习一门语言的最好的方法是:
1.有一本系统的、全面的、实用的、循序渐进的阶段性教程来进行指导;
《批处理阶段教程[英雄出品]》
2.有大量的源代码可供参考,通过对这些代码的分析、修改与借鉴来编写出属于自己的程序;
《70个批处理实用程序源码》
3.有一本相当实用的参考手册,可以在实际的代码编写中快速查阅所有命令的参数和实用方法等。
《DOS命令全集(中英文对照)》
 
还有,大家始终要记得批处理脚本的能力真的很有限,我们只需要用它来方便我们处理一些简单的问题就好了!
例如以下代码便是我根据日常工作需要编写的一个网速检测的脚本:

Windows XP版本:

 
@echo off
@echo 该程序用于对ping的返回结果进行分析判断
@echo 测试发送包大小为默认的32bytes
@echo ......................................
set /p SITE=请自定义测试网站地址(如www.baidu.com):
set /p TIMES=请自定义ping的次数(如10):
set /p MAX=请自定义可接受的最大延迟数,默认单位ms(如200):
set /p TIMEOUTMAX=请自定义可接受的最大掉包次数(小于%TIMES%):
@echo ......................................
 
goto FLUX
 
:FLUX ::定义模块,用于计算出当前电脑ping结果的最小值与掉包次数
ping -n %TIMES% %SITE% >ping.txt
find "Minimum" ping.txt >pingmin.txt
find "Lost" ping.txt >pingtimeout.txt
for /f "skip=2 tokens=3" %%M in (pingmin.txt) do set PING=%%M
echo %PING% >pingminnum.txt
for /f "tokens=1 delims=m" %%I in (pingminnum.txt) do set NUM=%%I
for /f "skip=2 tokens=10" %%J in (pingtimeout.txt) do set TIMEOUT=%%J
echo 最短:%NUM%ms 丢失:%TIMEOUT%/%TIMES%
if %TIMEOUT% GEQ %TIMEOUTMAX% (goto WARNING) 
if %NUM% GEQ %MAX% (goto WARNING) else goto CONTINUE
 
:WARNING
mshta vbscript:msgbox("网络已经差于预设值!请立刻采取相应措施!",64,"警告窗口")(window.close)
goto CONTINUE
 
:CONTINUE
goto FLUX ::从这里开始再次回到FLUX模块进行循环

Windows 7 版本:

@echo off
@echo 该程序用于对ping的返回结果进行分析判断
@echo 测试发送包大小为默认的32bytes
@echo ......................................
set /p SITE=请自定义测试网站地址(如www.baidu.com):
set /p TIMES=请自定义ping的次数(如10):
set /p MAX=请自定义可接受的最大延迟数,默认单位ms(如200):
set /p TIMEOUTMAX=请自定义可接受的最大掉包次数(小于%TIMES%):
@echo ......................................

goto FLUX
 
:FLUX ::定义模块,用于计算出当前电脑ping结果的最小值与掉包次数
ping -n %TIMES% %SITE% >ping.txt
find "最短" ping.txt >pingmin.txt
find "丢失" ping.txt >pingtimeout.txt
for /f "skip=2 tokens=3" %%M in (pingmin.txt) do set PING=%%M
echo %PING% >pingminnum.txt
for /f "tokens=1 delims=m" %%I in (pingminnum.txt) do set NUM=%%I
for /f "skip=2 tokens=8" %%J in (pingtimeout.txt) do set TIMEOUT=%%J
echo 最短:%NUM%ms 丢失:%TIMEOUT%/%TIMES%
if %TIMEOUT% GEQ %TIMEOUTMAX% (goto WARNING) 
if %NUM% GEQ %MAX% (goto WARNING) else goto CONTINUE
 
:WARNING
mshta vbscript:msgbox("网络已经差于预设值!请立刻采取相应措施!",64,"警告窗口")(window.close)
goto CONTINUE
 
:CONTINUE
goto FLUX ::从这里开始再次回到FLUX模块进行循环

No Comments

推荐一本非常不错的BASH中文电子书教程

这是目前最好的BASH教程,内容全面,详尽无比,有很多脚本实例;最重要的是作者一直在更新和修正此文档。
 
作者是LinuxSir.org上的杨春敏、黄毅,他们经过大半年的努力,终于将这本厚厚的英文书籍(原作者用了6年时间写并更新此书)翻译出来了,在此向这两位译者致敬,感谢你们超乎寻常的辛勤劳动。
 
点击这里可直接下载PDF版电子书:http://www.linuxsir.org/main/doc/abs/ABS_Guide_cn.pdf.tar.bz2
欲了解更多,请点击这里:http://www.linuxsir.org/main/?q=node/140

No Comments

Python学习笔记 No.1

Python学习笔记  No.1
Python的相关介绍

--------------------------------------------------------------------------------

什么是Python?
Python(发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。
Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
Python是如何诞生的?
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。
之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。
但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。
同时,他还想实现在 ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。
可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

Python在编程语言中的定位是什么?
虽然 Python 可能被粗略地分类为"脚本语言(scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。
 Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。

Python有哪些特色?
可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。
Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。
不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。

Python目前有哪些局限?
虽然Python是一个非常成功的语言,但是也有必要明白它目前的局限。
1. 运行效率低下
目前为止,Python是所有主流脚本语言中速度比较慢的,这与其脚本引擎的设计思路有关。
如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通过使用C编写关键模块,然后由Python调用的方式加以部分解决。
2. 多线程支持欠佳
Python支持多线程,但是其运行效率也不高。
3. 适应其独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

Python的发展前景如何?
Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。
随着微软将Python纳入.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。
著名的搜索引擎 Google 也大量使用Python。更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的第三个编程语言!可见Python的影响力之巨大。

--------------------------------------------------------------------------------

 
 
Python相关资料

--------------------------------------------------------------------------------

Python的几个著名社区:
1.http://www.python.org/ Python 的官方网站
2.http://python.cn/ Python 中文社区
3.http://www.woodpecker.org.cn/ 啄木鸟 Pythonic 开源社区
4.http://bbs.chinaunix.net/forum-55-1.html ChinaUnix Python版块
 
Python的开发环境:
1.Linux:
几乎所有的Linux和BSD发行版中都默认安装了Python,且vim也默认支持Python的语法高亮与彩色编码,通过在vim中安装官方的Python相关插件可以获得更好的效果。
2.Windows:
推荐Pythonwin,它很小巧也很实用,尤其适合初学者。
Pythonwin集成开发环境包含在由ActiveState出品的ActivePython中,ActivePython是一个二进制build。其中包括用于XML处理的expat模块,以及一系列windows工具。
提供的特性有:彩色编码、源代码折叠、单词完成及自动缩进。调试器支持事后诊断功能、标准的单步调试、断点设计及变量监视。
详情请访问http://aspn.activestate.com/activepython,下载后直接安装即可通过工具进行Python编程,无需单独安装Python。
 
Python的相关书籍:
《简明Python教程》《Python学习笔记》《Python入门》《Python编码规范》《Dive.Into.Python中文版》
  以上这些书籍都可以在啄木鸟Pythonic 开源社区中找到。

No Comments