我所恐惧的

我所恐惧的罗素的<西方的智慧>,前几天看到莱布尼兹时代.这位就是与牛顿分别创造了微积
分的那位,他也是位哲学家,历史阴谋主义还认为他创造了类似达芬奇密码里的那
种兄弟会.其实似乎没有.不过,他的思想,比创造兄弟会还令人震撼得多.以前第一次从别的书上读到的时候,也没有多么注意;这次就觉得心有所感,又说不
清楚是什么,就把一段抄在了白板上.大意是: 整个世界的实体间是相互无关的, 事件之前也没有因果关系.你感觉到的因果关系,或者关系,是一种错觉. 打个比喻, 你的手表在走,我的手表
也在走,它们每秒钟都走一秒那么多,完全一致.这并非由于两只手表有任何机械的连接,而是因为它们属于同一个宇宙,受限于同
一种法则;或者说,由于他们是宇宙的一部分,所以表现出了全部宇宙的特征.后面说得就玄了.如果你了解了宇宙的法则--因为你也是宇宙的一部分,当然具
有这样的可能--你就理解了上帝.是不是会成为上帝,我忘了.我以为,我的心有所感就是以上这些.感觉沾沾自喜,想是不是能用这个编个故事唔
的.然后几天以后,我在凌晨刚刚睡下的时候,开始做梦.我很少做噩梦,即使做了噩梦也能在里面解决那些问题,即使解决不了,也能第一时
间醒过来.我知道,它们终归是假的,伤害不了我一分一毫.可是,这个梦里,我大声叫喊,愤怒而恐惧,却无法醒过来.甚至我醒过来的时候,也
没有意识到刚刚那是梦境.梦里, 整个世界是一块酥饼, 看似完整, 表面却满是龟裂, 随时都可以碎裂为很
多块, 彼此毫不相连.小时候,因为吃这类东西掉碴被批过,所以从此不喜欢.此刻,却不仅仅是喜欢与否,而
是盯着手上的东西,颤抖.如果这个世界的每个部分彼此永不相连...如果这个世界上,你做的每一件事都可以不计后果,...我们的未来, 我们, 还有什么希望.我拼命试图修复这个世界, 在梦里, 可笑地一次次把酥饼拼起来, 然后看它变得
更加破碎.碎末掉了一地.我大声号叫. 完全醒过来以后, 也许几天后的此刻, 才意识到, 真正的孤独是每
一个人都在人群之中,却彼此永不相见; 真正的绝望, 还不是没有未来, 而是你现
在所做的, 对未来没有一丝影响.未来一秒的,就是另一个你.而此刻的这一个你, 深情的, 害怕的, 哭泣的, 努力的, 从此消失, 永不再来.我才知道, 对于活在当下, 我不仅是厌恶,而是恐惧.如果我们是没有未来的原子,彼此孤立,还有什么努力和自由意识是有意义的.周遭的一切,转瞬即逝;彼此的关连,尽是虚幻;没有未来,没有义气.------------世界,不会是那样的.我们并非生活在这一刻, 而是生活在未来.只不过,是日,全身过敏. 只不过,12月21日冬至.

生熟关系与城乡差别 zz

生熟关系与城乡差别 zz
[http://www.gaozz.cn/blog/space.php?uid=68&do=blog&id=39725
]
传统的中国是个熟人社会,越在乡村,熟人的味道就越浓厚。熟人越多,一个人的社会活动范围也就越大。可以说,熟人圈实际上就是传统乡民社会的社交圈。在他们眼中,圈子里面的人总是比圈子外边的人来得自然和亲切。
相对而言,城市是一个由陌生人组成的文化空间。这个空间中的陌生人越多,一个人的熟人圈子就会越小。不过,由于一个人的活动空间总是相对稳定,这种相对固化的城市空间就为陌生人转化为熟人提供了温床。因此,城市并非完全的陌生人社会,而是一个生熟夹杂伴生的社会。共同的目的、利益、兴趣、爱好等等,都可以促成陌生社会向熟人社会的转变。只不过,城市空间越大,流动人口越多,陌生人就会越多,而个人的熟人社会却不一定会随着城市空间的扩张而拓展,而是相对稳定。这是由一个人的社会活动状况所决定的。
今天上午,我在自己居住的街区中的中国工商银行支行办理现金支票对公业务的过程中,亲身感受了这种生熟关系的影响。当时,等待办理业务的客户有五六十人,除了部分客户自己是VIP外,大多是一般的客户。取号排队等候办理本是常事,但该支行里有几位职员不时拿自己的银行卡刷卡取号给刚进来的客人,那些人似乎并不是银行职员的亲戚,而更像熟人。但是,银行职员给予他们熟人少排队先办业务的优惠或特权,却造成了先排队却久未轮到办理业务的社会不公。见微知著,城市中的熟人圈子一旦泛滥起来,它所造成的危害比传统乡村社会更大,也更可怕。原因很简单,城市人除了会考虑熟人圈子内的面子和感受之外,面对陌生人时已经不知道害臊了,也更麻木不仁了……

Emacs设置默认字体

Emacs设置默认字体有的时候戴框架眼镜,希望字体大些;
有的时候戴隐形眼镜,希望能同时看到更多东西.
默认字体,是Emacs每次启动时使用的字体.
希望在长久的将来,两种场景仍能有交集.方案2 中英文使用不同字体* 第1步 设置当前字体shift 鼠标左键,选择一个字体(字体,大小,字型).* 第2步 查看字体名M-x describe-fontset RET RET* 第3步 设置默认字体编辑.emacs文件,加入以下内容.
;------------------------------
(create-fontset-from-fontset-spec
"-outline-Consolas-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1,
ascii:-outline-Consolas-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1,
chinese-gbk:-outline-宋体_方正超大字符集-normal-r-normal-normal-16-120-96-96-c-*-gb2312*-*,
chinese-gb2312:-outline-宋体_方正超大字符集-normal-r-normal-normal-16-120-96-96-c-*-gb2312*-*")(set-default-font
"-outline-Consolas-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1")
;------------------------------
详情参见 create-fontset-from-fontset-spec 和
[http://www.gnu.org/software/emacs/manual/html_node/emacs/Defining-Fontsets.html].
方案1 英文字体* 第1步 设置当前字体shift 鼠标左键,选择一个字体(字体,大小,字型).* 第2步 查看字体名M-x describe-font RET RET* 第3步 设置默认字体
编辑.emacs文件,加入以下内容.;------------------------------
(set-default-font
"-outline-Consolas-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1")
;------------------------------其中类似
"-outline-Consolas-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1"的
,就是第2步中看到的字体名.每一行,冒号以前的,是字符集,冒号以后的,是上述字体名.
以上,在 windows mingw32下通过.

Fwd: 神秘常量复出!用0x077CB531计算末尾0的个数

 
 

Sent to you by Young via Google Reader:

 
 

via Matrix67: My Blog on 12/15/10

    大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋。今天,我见到了一段同样诡异的代码。
    下面这个位运算小技巧可以迅速给出一个数的二进制表达中末尾有多少个 0 。比如, 123 456 的二进制表达是 1 11100010 01000000 ,因此这个程序给出的结果就是 6 。 unsigned int v;  // find the number of trailing zeros in 32-bit v
int r;           // result goes here
static const int MultiplyDeBruijnBitPosition[32] =
{
  0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
  31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
};
r = MultiplyDeBruijnBitPosition[((uint32_t)((v & -v) * 0x077CB531U)) >> 27];     熟悉位运算的朋友们可以认出, v & -v 的作用就是取出右起连续的 0 以及首次出现的 1 。当 v = 123 456 时, v & -v 就等于 64 ,即二进制的 1000000 。怪就怪在,这个 0x077CB531 是怎么回事?数组 MultiplyDeBruijnBitPosition 又是什么玩意儿呢?
    这还得从 0x077CB531 本身的一个性质开始说起。把这个常数写成 32 位二进制,可以得到 00000111011111001011010100110001     这个 01 串有一个无比牛 B 的地方:如果把它看作是循环的,它正好包含了全部 32 种可能的 5 位 01 串,既无重复,又无遗漏!其实,这样的 01 串并不稀奇,因为构造这样的 01 串完全等价于寻找一个有向图中的 Euler 回路。如下图,构造一个包含 16 个顶点的图,顶点分别命名为 0000, 0001, 0010, …, 1111 。如果某个点的后 3 位,正好等于另一个点的前 3 位,就画一条从前者出发指向后者的箭头。也就是说,只要两个顶点上的数满足 abcd 和 bcde 的关系( a 、 b 、 c 、 d 、 e 可能代表相同的数字),就从 abcd 出发,连一条到 bcde 的路,这条路就记作 abcde 。注意,有些点之间是可以相互到达的(比如 1010 和 0101 ),有些点甚至有一条到达自己的路(比如 0000 )。        构造一个字符串使其包含所有可能的 5 位 01 子串,其实就相当于沿着箭头在上图中游走的过程。不妨假设字符串以 0000 开头。如果下一个数字是 1 ,那么 00001 这个子串就被包含了,同时最新的 4 位数就变成了 0001 ;但若下一个数字还是 0 ,那么 00000 就被包含了进来,最新的 4 个数仍然是 0000 。从图上看,这无非是一个从 0000 点出发走了哪条路的问题:你是选择了沿 00001 这条路走到了 0001 这个点,还是沿着 00000 这条路走回了 0000 这个点。同理,每添加一个数字,就相当于沿着某条路走到了一个新的点,路上所写的 5 位数就是刚被考虑到的 5 位数。我们的目的便是既无重复又无遗漏地遍历所有的路。显然图中的每个顶点入度和出度都是 2 ,因此这个图一定存在 Euler 回路,我们便能轻易构造出一个满足要求的 01 串了。这样的 01 串就叫做 De Bruijn 序列。     De Bruijn 序列在这里究竟有什么用呢?它的用途其实很简单,就是为 32 种不同的情况提供了一个唯一索引。比方说, 1000000 后面有 6 个 0 ,将 1000000 乘以 0x077CB531 ,就得到    00000111011111001011010100110001
-> 11011111001011010100110001000000     相当于把 De Bruijn 序列左移了 6 位。再把这个数右移 27 位,就相当于提取出了这个数的头 5 位:    11011111001011010100110001000000
->                            11011     由于 De Bruijn 序列的性质,因此当输入数字的末尾 0 个数不同时,最后得到的这个 5 位数也不同。而数组 MultiplyDeBruijnBitPosition 则相当于一个字典的功能。 11011 转回十进制是 27 ,于是我们查一查 MultiplyDeBruijnBitPosition[27] ,程序即返回 6 。
    注意到当输入数字的末尾 0 个数超过 27 个时,程序也是正确的,因为左移时低位正好是用 0 填充的。     这段神一般的代码取自 http://graphics.stanford.edu/~seander/bithacks.html ,欢迎大家前去围观。

 
 

Things you can do from here:

 
 

黑客之路始于手指下

黑客之路始于手指下有个数字电子技术课程的学生来信问,如何学习计算机网络安全.以下是答复,也供
其他同好参考.因为不知道你的技术现状, 所以只能泛泛而谈入门一定需要的基础,没啥针对性.1. 计算机网络建议阅读
- Andrew S. Tanenbaum 计算机网络 清华大学出版社 黑皮
- Douglas E. Comer 计算机网络与因特网
再深的
- W.Richard Stevens TCP/IP详解 第一卷2. UNIX
-UNIX/LINUX命令行的熟练使用
-建议阅读 Advanced Programming in the UNIX Environment4. 编程
-C
-bash
-php/asp...3. 各种攻击手段4. 大量实践, 包括实验和真实的项目以上.朱铁英老师的研究方向是网络安全.

中国成人大学生的儿童式道德教育

中国成人大学生的儿童式道德教育
via 徐贲的BLOG by 徐贲 on 12/11/10中国成人大学生的儿童式道德教育徐 贲据报道,西安一名叫药家鑫的大学生,日前开车撞人后将受伤的被害人连捅8刀致死,"此案件极大地败坏了陕西高校和大学生的声誉,
陕西省委教育工委、省教育厅3日晚下发了《关于以药家鑫事件为反面教材在全省大学生中集中开展法律法规学习和思想道德教育的紧急通知》,要求全省大学生集
中一个月时间开展法律法规学习和思想道德专项教育"。这种以坏人坏事的"反面教材"来进行的"道德教育",就算是收到了最高的效果,对大学生又会有多大的道德认知提高呢?
对道德教育认知,美国心理学家柯尔伯格(L.Kohlberg,1927-1987)曾提出过著名的"道德发展阶段"理论,在美国和国际心理学界、教育界产生了很大的影响。柯尔伯格提出,人的道德认知发展,可分为3个层次,而每个层次又各有2个阶段。这3个层次与一个人的成长年龄有关,但有的成人因道德认知发展滞塞,年龄再大,也还是停留在幼童层次。
第一个层次是"前道德成规期"(Pre-Conventional
Level)。这是一个以"我"为中心的阶段,大约在学前至小学低中年龄的时期。其中有2个阶段:1.
"我"因害怕惩罚或"不想惹麻烦"而服从,2.
因为对"我"有好处而服从。在这个道德认知层次上,人定义对错的观点是依据威权者所说的对错,依据行为结果会带来惩罚或是奖赏。任何一位父母都可以证明这一点。问一个四五岁的孩子,
为什么偷窃是不对的?绝大多数的回应都是"因为爸爸妈妈说这是不对的",或"偷东西会挨打"。有些人终其一生都停留在这个阶段,持续地以听威权者的话、害怕惩罚,以如何避免痛苦后果或取得奖赏来定义是非对错。
以药家鑫恶行为戒的"道德教育"中,对不道德行为的认知是非常功利的,它局限于对"我"的不利后果。报道说,"如果当初药家鑫撞了人,能及时送到医院治疗,按照警方对被害人伤情的勘验,整个花费也就个万把块钱,而他却因为害怕负责动了杀念。从万元治疗费到百万赔偿费"。至于他对别人的伤害,那只不过是附带提上一句而已("也"):"药家鑫迈出了罪恶的一步,葬送了自己的人生,也毁掉了两个原本幸福的家庭"。药家鑫事件所连带造成的"不良后果"考量:"极大地败坏了陕西高校和大学生的声誉",同样也是非常功利的,只不过是把"我"放大了一些而已。
道德认知发展的第二个层次是"道德成规期"(Conventional
Level),大约从小学高年级至青年早期。其中也包括2个阶段:1.做"好孩子";2.服从权威或社会规范。"好好学习,天天向上"是做好孩子,"学习雷锋"也是做好孩子,这也是一种家长式的教育。"学习工农兵",今天学这个英雄,明天学那个模范,不仅是青少年,许多大人也是这么学的。如果你问一个青少年:"为何有些事情是错的,而有些事情是对的?"他们大多会回答:是"学校规定的",或者"某某领导人教导的"。许多人一辈子都停滞在这个"青少年"层次,在并无道德自觉的情况下,成为"一个高尚的人,一个纯粹的人,一个有道德的人,一个脱离了低级趣味的人,一个有益于人民的人。"
这种道德教育虽然层次不高,但却也还能以"好人好事"而不是"坏人坏事"来做榜样。这也是中国童蒙道德教育的基本方式,如"孔融让梨"、"徐湛之出行"、"二十四孝"。尽管只是刻板灌输、盲目顺从、机械模仿,但至少还可以有好样学好样,虽不一定有思想和智慧,但至少不至于堕落和邪恶。如果这个层次可以算作是2.0版本的道德教育,那么,以药家鑫为戒的"道德教育"则尚未达到这个层次,只能算是1.0版本的。
按道理来说,大学生是有文化、有知识的"精英"或"后备精英",在道德认知发展上应当处在高于2.0版本的"青少年"的层次。教育者应该告诉他们,还有一个比2.0更高的3.0版本,并按这个更高的标准来要求和教育他们。然而,令人遗憾的是,"以药家鑫事件为反面教材"的"思想道德专项教育"却是采取了幼儿教育的1.0版本。
3.0版本的道德认知教育,在柯尔伯格那里就是第三个层次的"道德自律期",或"后成规"(Post-Conventional
Level)层次,其中包括2个阶段:1.服从并遵守体现为公正法治的社会契约;2.把某些普世伦理原则看得比任何法律更为优先。这二者都高于任何党派意识形态所规定的"道德要求"。在这个层次上,人们不再以对团体、集团的忠诚,或以它们的局部规范来定义对错,而是以普遍的伦理原则和观点来判断是非。在道德自律期,人们的道德原则诉诸于每个人的理性思考,因为他们总是能在尽可能普遍的范围内,考虑所有人的利害和利益。如果你问一个在后常规期的人,为何某件事是对的或错的,他会试着以这件事是否能促进普遍的正义、人权、或人类福祉来判断。
这是一个在道德认知上成熟的个人和社会应当达到,或者至少应当去努力达到的层次。以此来做为对大学生的道德教育目标,应当是符合他们知识和思考能力水准的恰当要求。常言道:取法乎上,得乎其中,取法乎中,得乎其下,如果从一开始就把大学生道德教育的标准定在1.0的版本上,就算能收到十全十美的效果,那也不过是幼童的水准而已。

使用 esmtp 实现用命令行 发送邮件

使用 esmtp 实现用命令行 发送邮件1. 配置
注意:passwordyoung@ubuntu:~$ cat esmtprc
# Config file for ESMTP sendmail
identity=[email protected]
hostname=smtp.gmail.com:587
username="[email protected]"
password="my password"
starttls=required# The SMTP host and service (port)
#hostname=localdomain:25# The user name
#username=# The password
#password=# Whether to use Starttls
#starttls=disabled# The certificate passphrase
#certificate_passphrase=# The Mail Delivery Agent
#mda=""
young@ubuntu:~$2. 邮件正文
注意 "To:"和 邮件正文最后的两个回车.young@ubuntu:~$ cat mailbody.txt
Subject: test
To: [email protected]
hello, world!
3. 命令行
注意:后台执行young@ubuntu:~$ esmtp -C ./esmtprc -v -X log < mailbody.txt &
[2] 4303
young@ubuntu:~$ Connected to MTA
StartTLS OK (128 bits)
young@ubuntu:~$ From [email protected]: 250 OK y42sm7182444wfd.10
To [email protected]: 250 OK y42sm7182444wfd.10
To [email protected]: 250 OK y42sm7182444wfd.10
Message data: .
Message sent: 250 OK 1292153405 y42sm7182444wfd.10
Disconnected to MTA[2]- Done esmtp -t [email protected] -C
./esmtprc -v -X log < mailbody.txt
young@ubuntu:~$4. 收到的邮件Return-Path: <[email protected]>
Received: from ubuntu ([124.235.241.225])
by mx.google.com with ESMTPS id b11sm7188528wff.9.2010.12.12.03.34.00
(version=TLSv1/SSLv3 cipher=RC4-MD5);
Sun, 12 Dec 2010 03:34:02 -0800 (PST)
Message-ID: <[email protected]>
Date: Sun, 12 Dec 2010 03:34:02 -0800 (PST)
From: [email protected]
Subject: test
To: [email protected]
hello, world!
Date: Sun, 12 Dec 2010 19:34:01 +0800
From: [email protected]
Message-Id: <1292153641.270233.4347@ubuntu>

一次也无法原谅

一次也无法原谅  有图有真相,见我的相册。我破坏了学校的公物,锯了一截铁管。 "有安全隐患,请解决。图书馆后面,田家炳楼与生命广场之间,校友认领的树 木标牌,其中有一个牌子掉了,留下的铁棍有向上的斜茬。地面结冰路滑,一旦有人摔在那里,非常危险。已经电话过保卫处,未见解决。"  这封邮件已经发出半月。说实话,我也不知道这应该由哪个部门负责。  我知道的是,如果有人被扎了。我会内疚。  大哥提到CCTV报道,一个母亲因为儿子从通往湖的阶梯上滑下淹死,四处找"相关"部门加强水库安全,结果都是无关的部门。在这个过程中,她得知,她的儿 子并非第一个。 也许面对这位母亲时,很多人很认为她是偏执吧。  上海的大火,如果有偏执的人存在,死活都要制止施工,如果有偏执的人,在质量不合格的时候一定不签字,也许,就可以挽救那些生命。  但是我们一般会说,"大家都不容易。"会说,"差不多就得了。"  去年冬天,我把邻居放在走廊里的纸箱子扔到了外面。可能,很多人会认为我太XX。  如果,大火之时,纸箱子挡住了你的路呢?  于是,万分之一或百分之一的可能,不断发生。我们本以为那些都是小概率事件。 本以为那些都与我们无关。 你占用了公共资源么?你用大家的绿地种菜了么。你把自行车放在走廊上了么。  我妈说:东西是公家的,就算烂在那里,也不能拿回自己家。     不久,吉林大学一位即将毕业的研究生在南岭校区门口被撞身亡。报纸提到,司机说,灯太亮晃眼,没看到人。  可是,出事的地点,正有一条人行横道。中华人民共和国的交通规则说,"机动车行经人行横道时,应当减速行驶;遇行人正在通过人行横道,应当停车让行。"  小学语文告诉我们,"动车行经人行横道时,应当减速行驶"的意思中并无包括 人行横道上是否有行人这一条件。也就是说,无论人行横道是否有行人,无论司机是否看到行人,都必须减速。  而"遇行人正在通过人行横道,应当停车让行"的意思是,并非司机看到行人才减速,而是看到行人后要停下来。  如此简单的文字,我们说,"可是……"  每一个人都要赶时间,都要爱护自己的车,都要显示自己的力量。只是,我们应该在一定规则之下。     这是一个越来越迅速和发达的时代。  计算机的基本事实告诉我们,当速度越快的时候,各部件遵守时钟就越发必要。 如果我们生活在中世纪,生活在缓慢的古代,当然可以凡事模楞两可,大家和谐。  但是,如果凡事无所谓事非曲直,都要协调,都双方三方四方都有一定的道理, 我们就继续生活在中世纪吧。 有如一个乐队,由许多声部许多乐器组成。如果每个人的节奏都是错的――不是 错得一致,而是各行其是,各有道理――那么,我们休想奏出快速的曲子。甚至慢速的曲子,也只是其中的糊涂虫听不出来,以为和谐优美。  这个时候,我们需要纠正那些错误的节奏,而不是纵容。  有人跟我说过,"为什么要难为AABB呢?"  因为,他说他想要准确快速那种生活的结果。 其实,田园牧歌似的生活也无不可――只是,我们不要在别人取得好成绩的时候 自己难受。   天冷路滑,一截斜削带尖的铁管。也许,我们每个人都没有被串在上面。  但是,如果串在上面的是你呢?如果,是你的兄弟姐妹、女友男友呢?谁应该为此负责。  让我们做认为对的事情,并为之承担后果。如果有关部门找我索赔公物,我至少 能够知道是谁应该对这根尖刺负责。 鲁迅先生说,"一个都不宽恕。"我愿追随,"一次也无法原谅"。与诸君共勉。