php 运算符优先级:算术运算与字符连接运算同级

$sql="delete from `log_view` where `dz_uid`={$dz_uid} and `time`>".$today_unixtime-86400;

$sql="delete from `log_view` where `dz_uid`={$dz_uid} and `time`>".($today_unixtime-86400);

这两个语句的结果是完全不一样的。

手册时说:"左联表示表达式从左向右求值,右联相反",差点杯具了~~

------------php手册里的原话------------------------

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

表格 15-1. 运算符优先级

结合方向 运算符 附加信息
非结合 new new
[ array()
非结合 ++ -- 递增/递减运算符
非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型
* / % 算数运算符
+ - . 算数运算符和字符串运算符
<< >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

左联表示表达式从左向右求值,右联相反。

乱七八糟(一次聊天记录) 删除 需要时改成其它文章

很久以前的一篇草稿,发掉算了,不改了 2024/03/11


whoami 说:
域名目前都要通过国外主机转向,只要是国外主机的就可以。
someone 说:
哦,难道是要经过思科?检查信息是否合法然后才能上线?呵呵
whoami 说:
机房有规定,(当然其实还是朝廷的规定),服务器上开设的域名必须经过备案,否则发到后将直接关闭
所以只能把这些域名开设在国外主机上,通过国外主机跳转到我们做的专题站点上
备案可能几个月都搞不定,非常麻烦
someone 说:
哦,~~传说“朝廷”花了好多银子买相关的系统,原来是这么操作的。
呵呵,了解了好多~~谢啦~
whoami 说:
这是还不是那个传说中的G--,这一切是一大帮人,在人工检查审核的
someone 说:
呵呵,复杂。。
whoami 说:
传说中的gxx是在网络的国际接口上安装的一套设置+软件
someone 说:
哦~

百度爬虫蜘蛛ip地址表

百度蛛蛛有很多假冒user-agent的,可靠的蜘蛛ip有反向解析地址,例如

40.221.206.111.in-addr.arpa name = baiduspider-111-206-221-40.crawl.baidu.com.

分析某站点的日志,得到以下几个可靠的地址段,及抓取次数、地址数、示例ip等

subnet cral_times ip_count example
123.125.71.0 1106531 76 123.125.71.36
220.181.108.0 1101992 75 220.181.108.121
180.76.15.0 412563 60 180.76.15.145
111.206.221.0 15614 80 111.206.221.40

 

假冒蜘蛛(至少严重嫌疑)示例:113.97.50.220, 123.125.67.152, 113.99.114.197, 58.218.213.134, 114.95.226.126, 123.125.143.11, 117.177.97.16, 39.108.233.0, 27.148.157.107, 122.10.64.19, 103.29.23.132

fedora linux apache/php下安装配置xdebug

核心内容:

在fedora13下从源码编译安装xdebug; 如果仅仅需要在linux/fedora13,14下安装xdebug,请参看本文,直接下载二进制文件并安装使用 fedora linux下php调试利器xdebug 2.1.0下载/fedora13,14测试通过

环境:fedora13 apache2.2 php5.3.1

首先从xdebug官方网站下载得xdebug最新稳定版的源码,解压缩,查看其中的README文档。

文档里说得很清楚,需要有phpize与php-config,apache与php都是通过fedora yum安装的,通过whereis 命令查找,及在php目录里都没有找到这样的两个文件,于是yum provides */phpize

[root@fsc xdebug-2.1.0]# yum provides */phpize
已加载插件:presto, refresh-packagekit
php-devel-5.3.1-3.fc13.i686 : Files needed for building PHP extensions
Repo        : fedora
匹配来自于:
Filename    : /usr/bin/phpize

php-devel-5.3.3-1.fc13.i686 : Files needed for building PHP extensions
Repo        : updates
匹配来自于:
Filename    : /usr/bin/phpize

phpize就在包php-devel-5.3.1-3.fc13.i686里(同样方式查询yum provides */php-config,也在php-devel包里),yum安装php-devel就可以了,如下

yum install php-devel

参考xdebug的README,进入解压缩后的xdebug目录里,执行phpize,看到几行信息输出;

下一步,

./configure --enable-xdebug

运行正常,next ,就是最常见的make

make

花费时间长一点,好几分钟,让它自己编译,干点别的。完成后看make输出的最后一行说什么donot forget run 'make test'(本文是根据回忆写的,可能有不准确之处),运行一下,好像有警告信息,不管它,官方文档里没有这一步,可能只是为了检查运行完全正确,忽略它。

下一步复制xdebug.so到php扩展目录。先要查看php的扩展模块在哪个目录里,我使用一个简单的php程序<?php phpinfo();?>查看配置信息,

得知是/usr/lib/php/modules目录,

[root@fsc xdebug-2.1.0]# cp modules/xdebug.so /usr/lib/php/modules/

建一个文件/etc/php.d/xdebug.ini内容如下

zend_extension=/usr/lib/php/modules/xdebug.so
[Xdebug]
xdebug.profiler_enable=on
/etc/php.d/xdebug.ini

(这部分也完全可以放到php.ini文件里,放到php.d目录里,是为了配置文件相互独立,管理方便)

安装完毕,优雅重启apache

[root@fsc xdebug-2.1.0]# /etc/init.d/httpd graceful

再运行phpinfo,其中有如下部分

xdebug加载运行正常。

php错误消息显示默认是以text文本形式显示的,xdebug显示调试信息时,信息量一般都比较大,最好打开php的html_errors,这样可以显示更友好的调试信息。可以在/etc/php.d/xdebug.ini里面加入下面一行

html_errors=on

当然也可以加入到php.ini文件里。

[附] xdebug 2.1.0 源码里的README文档摘选

--------------------README 文档节选-----------------------------------------------------------------

XDEBUG

------

You need to compile Xdebug separately from the rest of PHP.  Note, however,
that you need access to the scripts "phpize" and "php-config".  If your
system does not have "phpize" and "php-config", you will need to compile
and install PHP from a source tarball first, as these script are
by-products of the PHP compilation and installation processes. It is
important that the source version matches the installed version as there
are slight, but important, differences between PHP versions.

Once you have access to "phpize" and "php-config", do the following:

1. Unpack the tarball: tar -xzf xdebug-2.1.x.tgz.  Note that you do
not need to unpack the tarball inside the PHP source code tree.
Xdebug is compiled separately, all by itself, as stated above.

2. cd xdebug-2.1.x

3. Run phpize: phpize
(or /path/to/phpize if phpize is not in your path).

4. ./configure --enable-xdebug (or: ../configure --enable-xdebug
--with-php-config=/path/to/php-config if php-config is not in your
path)

5. Run: make

6. cp modules/xdebug.so /to/wherever/you/want/it

7. add the following line to php.ini:
zend_extension="/wherever/you/put/it/xdebug.so"

8. Restart your webserver.

9. Write a PHP page that calls "phpinfo();" Load it in a browser and
look for the info on the xdebug module.  If you see it, you have been
successful!

--------------------END of README 文档节选-----------------------------------------------------------------

[转]linux高手之路:这些人有机会成为Linux高手

1,对英语有亲切感。学起来一点都不费劲。看英文的文章就像看中文的文章一样的人。但是不要说你过了英语几级。我见过一些自称过了英语4级6级的人,他们 的英语并不出色。永远不要埋怨”为什么Linux对中文支持不好?为什么Linux软件没有中文的?“因为中国人在开发这方面做出的贡献太少。本地化不要 指望外国人为我们做贡献。

几乎所有中国的Linux发行版都是骗钱的,毫无开源精神,毫无创新精神,毫无付出精神。你能指望这三无能做出什么好东西来?当然,中国人还是做出了如 stardict、lumaqq这样优秀的开源软件。但是这属于个人行为。另外,stardict、LumaQQ都有中文的!

2,会使用Google搜索引擎。百度只适合老百姓搜家常用,但是对于学术文章,还是Google的搜索有权威性。熟练使用Google才可以找到一些你需要的Linux文章。

3,对QQ没有依赖性。QQ上的菜鸟菜得不是一星半点,他们是那些仅仅听说过Linux就有勇气格式化硬盘的人;QQ上的Linux高手也高不到什么地方 去,他们会的顶多也就是把Linux准确地装到自己的硬盘里能正常使用而已。真正的高手全在IRC上。在QQ上学Linux就是胡闹!哪个Linux玩家 会用一个整天修改登录协议的通讯工具?

4,懂得智慧的提问。不要抓到一个高手,就直接去问人家:“为什么我的Linux不能这样,不能那样?"你错了,不是你的Linux不能这样,不能那样,是你不能把你的Linux整成那样而已。永远不要去埋怨计算机程序,从某种意义上说,它比某些人的大脑要精密很多。

想提问也要先把Linux的一些概念搞清楚。很多人张口就Linux 9.0,请你们注意,只有Suse Linux有9.0,Mandriva Linux有9.0, Red Hat Linux有9.0 ,但是Linux kernel 只有 2.x.y,没有9.0。请学习基础知识再说话,以免露怯。

5,学会自学。绝大多数菜鸟问题,互联网上 已经满是答案。你根本不需要浪费高手的生命去给你解释那些你可能一无所知,但是人家已经解释了1000遍的问题。谁都有烦的时候,你本来水平就次,还怨别 人不教?Linux,任何人都是自学成才的,任何人在学习的道路上都是曲折漫长的,你想走捷径也不要去拖别人的后腿——上学还得交学费吧?哪个高手一天免费在QQ上伺候菜鸟?还随叫随到?你去问问教委,9年义务教育有这样的服务么?

6,不埋怨操作系统不好。如果你想用Linux,但是又觉得它这样不好,那样不好,请你干脆回去用Windows。尤其在请教高手问题的时候,不要带着对Linux嘲讽的字眼。那能说明什么问题?那只能说明:一是你自己Linux技术不到位,二是你人品不到位。

Linux作为一个操作系统有自己的特征,Windows作为一个操作系统也有自己的特征。不要用Windows的眼光去比较两个操作系统。如果你用那样 的标准去看问题,只能说明你根本不懂计算机——你也别再说你是大学计算机系毕业的,不然那些自学成才的高手会笑得鼻血喷到美国去。

[转]Linux高手:学习Linux的九条忠告

以下是网友王垠写的关于学习Linux的忠告。但只要稍加替换,它完全可以用来解决FF与IE,五笔与拼音,QQ与MSN,IBM与HP,甚至是SONY与任天堂粉丝之间的种种争端。

1. 不要当“传教士”

很多人在讨论区不断的引起 "Linux vs. Windows" 之类的讨论,甚至争的面红耳赤,这是没有必要的。 这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了 “Linux 比 Windows 好” 这个说法。但是 Windows 的支持者并不会喜欢上 Linux,他们只是稍微退缩一下,然后找一些新的证据来跟你辩论。 世界上的人们都在利用Linux 研究最前沿的科学,我们还在这里讨论 “要不要用Linux” 这种无聊的问题,什么时候才能赶上时代前进的步伐? 什么叫做“Windows 支持者”,什么叫做“Linux 支持者”?我们为什么要支持某一个而反对另外一个?你不需要为 Linux “护法”,不需要成为“Linux 支持者”或者“GNU传教士”,GNU/Linux 已经用事实向世界证明了它们的威力,已经被大多数人接受。你只需要安安静静享受 GNU/Linux 给你的乐趣和自由。 你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。

工具不是人,不应该对工具有感情。这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome, FVWM 和 KDE;Mutt 和 Pine …… 一定要冷静的对自己说:“我不站在它们任何一边,因为它们不是人。” 各人的需要不同,生活的环境不同。对你来说好的东西,对别人来说不一定好,我们需要尊重别人的选择。如果你当面说别人正在用的程序不好,没有人会乐意接受 你的意见。我从来没有建议过我爸爸不用 Windows + WPS,而用 Linux + LaTeX 来处理他的英语试卷。因为 WPS 是我爸爸的选择,他能用 WPS 编辑出很好的试题去测试他的学生,那就足够了。

我曾经帮我爸爸做了一个 perl 程序,能够自动从一种我自己设计的 markup 语言转化成 LaTeX 格式的英语试卷。可以自动对试题编号,乱序排版选择题的选项,自动生成答案表,生成老师用的显示答案的版本,自动对短文改错题进行优化分段,自动拼写检 查,图形化的配置方式…… 我爸爸高兴的用了一段时间,可是后来他想用 WPS 里的一种标题样式,而我不在家,无法为他修改程序。所以他又换回了 WPS。这就像有人送爱因斯坦一罐剃须泡沫一样,刚开始几天,发现他神采飞扬,不断夸这个东西真舒服。过了几天,发现爱因斯坦又开始用白水剃胡子了,因为 剃须泡沫用完了,他懒得自己去买那个东西。这只是习惯问题。

2. 不要强迫自己

喜欢电脑的人总是有某些心理强迫倾向。有的人说:“键盘比鼠标快。我不要用鼠标。这样才有高效率。” 所以他在编辑器里无论什么时候总是用 20w, 10j 这样的命令到达目的点。他甚至觉得图形界面是多余的,干脆 Xwindow 都不装。 全部用键盘看起来的确比让手离开键盘去拿鼠标,再回来“快” 多了,但是快的击键频率不等于工作的高效率,对你的健康更没有什么好处。这只能把你变成打键盘的机器。 当你正在检查你的文章或者程序,思维正在随着字符的含义流动,突然 20w, 10j 这样的东西出现在你的脑子里,是不是会打断思路?不?那说明你当时思考的问题比较简单,这些干扰还不会起到副作用。

其实很多人用电脑的时候,思想都受到某种教条的束缚,上面这个只是众多教条中的一种。某些人制造了很多这种教条,用他的工作方式来要求别人,嘲笑方式 跟他不一样的人。比如有的人嘲笑其它人写 C 程序不按 8 字符缩进,嘲笑别人在 vi 里用方向键,嘲笑别人不知道 PVM 是什么,嘲笑其它人用 JAVA, C# 这种由 GC 回收内存语言…… 你不用管各种各样的教条,电脑只是你的奴隶,你想怎么用就怎么用。没有人能够约束你,没有人可以嘲笑你的工作方式。电脑明天就不再是这个样子,所以今天你 不用完全了解它。你没有必要知道别人创造的一切,因为你需要留点时间自己创造些东西。Just have fun! 当你下次修改文章的时候,不妨试试悠闲的用鼠标在你眼睛看到的地方轻轻点一下。

3. 不要“玩 Linux”

很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更 新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。 其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”, 更不是因为你硬盘太大了,你想多占点空间。 如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。

4. 不用挑剔发行版本

很多人刚开始用 Linux 的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是 Redhat,明天又换成了 debian, 一会儿又是 gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux,然后比较哪一个好。 其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。

我以前一直用的 Redhat,当我有一天在我的一台新机器上安装 debian 时,我发现使用 Redhat 的经验完全没有浪费。我用了一个下午就配置好了 debian,使它服服贴贴的听我的话,就跟没有换发行一样。 Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一个版本都是不错的。很多人认为自己攒一个 LFS 是高水平黑客的象征,但是不是每个人都有精力去了解所有细节。 如果你是用于个人的日常事物和科研,可以试试 debian。它是我见过的最方便的一个发行。

5. 不要盲目升级

不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的 Redhat 本来配置的很舒服了,可是一旦 Redhat 发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我 的 rxvt 升级到 2.7.8 就跟 miniChinput 冲突了,升级到 Redhat 8.0,发现 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模块在 I810 上有新的 bug,会导致 Mozilla 突然退出。 如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。有句话说得好:"If it's not broken, don't fix it." 如果你的程序能够完成你需要做的事情,你何必升级呢?

6. 不要配置你不需要的东西

如果你只想做一个像我这样的普通用户,主要目的是用 Linux 来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经 常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的! 我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好 ssh, ftp 已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为 Linux 缺省已经很安全了。我没有磁带机,就不用管 tar 的那些稀奇古怪的参数了,czf, xzf, ztf 已经可以满足我所有的需要。sed, awk, ... 我也只会几种常用的命令行。

7. 不要习惯的使用 root 帐号。

在需要的时候才 su! 这是很多刚接触 UNIX 类操作系统的人常见的现象,他们不喜欢在管理系统的时候才 su, 而是一直用 root 帐号干所有事情,配置系统,安装程序,浏览网页,玩游戏,编程 …… 结果有一天,他不小心在某个系统目录使用了 rm * ... 后果不堪设想……

8. 不要用商业的眼光来看 Linux。

Linux 不是商业软件,所以不要用要求 Solaris, Windows 那样的眼光来看 Linux. 自由软件的作者们从来不拉拢用户,他们对用户不负有任何责任。实际上在自由软件的世界里,“开发者”和“用户” 并没有明确的界限,大家是朋友。 自由软件很可能只是满足作者和他的朋友的需要,甚至是为了好玩而创造的。自由软件不是完美的,自由软件承认自己有缺点,它不会自吹自擂,蒙蔽“用户”的耳 目。这种对作者责任的解脱激发了作者的创造力,他们不用过分考虑“向上兼容”,他们往往比背上重重包袱的商业软件结构更合理,技术更先进。 所以当你用某个自由软件遇到困难的时候,不应该埋怨软件的作者,因为他们对你并没有义务。

你不应该把自己当成一个挑剔的顾客,而要把自己作为这个软件的顾问和一个和蔼的建议者,这样你才能理解作者写这个程序时的快乐,在遇到问题时向作者反 映,帮助他完善这个软件,成为一个快乐的参与者。就像你的哥哥送你一个他用旧了的自行车,你应该珍惜这份友情,而不要在车坏了,或者骑车摔了一交的时候大 骂你的哥哥。如果你真的不能使用这种合作的心态,那么最好不要使用这个软件。 这是一种先进的文化,它包含了互相合作,科学创新的精神。理解这一点不是很容易,很多人往往是因为不能理解这种文化而离开自由软件。这对于作者来说并没有 什么损失。

9. 干你的正事去

很多人跟我说,你的网页浪费我好多时间来配置这配置那,一会儿是 FVWM,一会儿是 Mutt …… 嗯……那些东西都是我有空的时候一点一点积累的,如果你想一次性搞定所有那些东西,恐怕得花你几个星期甚至几个月的时间!并不是一定要搞定所有这些东西你 才能正常工作的。除非你真的非得利用某个程序,或者你闲着没事,否则你可以不管这些东西。

10. 上面几条仅供参考 以上只是个人意见,不一定适合所有人。取舍由你了!

[转]趣话字符集与字符编码

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。

再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。

开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。

他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上 00x10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母。他们看到这样很好,于是就把这些0x20以下的字节状态称为"控制码"。

他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字 了。大家看到这样,都感觉很好,于是大家都把这个方案叫做 ANSI 的"Ascii"编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用同样的ASCII方案来保存英文文字。

后来,就像建造巴比伦塔一样,世界各地的都开始使用计算机,但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算 机保存他们的文字,他们决定采用127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到 了最后一个状态255。从128到255这一页的字符集被称"扩展字符集"。从此之后,贪婪的人类再没有新的状态可以用了,美帝国主义可能没有想到还有第 三世界国家的人们也希望可以用到计算机吧!

等中国人们得到计算机时,已经没有可以利用的字节状态来表示汉字,况且有6000多个常用汉字需要保存呢。但是这难不倒智慧的中国人民,我们不客 气地把那些127号之后的奇异符号们直接取消掉, 规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊的 字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符了。

中国人民看到这样很不错,于是就把这种汉字方案叫做 "GB2312"。GB2312 是对 ASCII 的中文扩展。

但是中国的汉字太多了,我们很快就就发现有许多人的人名没有办法在这里打出来,特别是某些很会麻烦别人的国家领导人。于是我们不得不继续把 GB2312 没有用到的码位找出来老实不客气地用上。

后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不 是扩展字符集里的内容。结果扩展之后的编码方案被称为 GBK 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。

后来少数民族也要用电脑了,于是我们再扩展,又加了几千个新的少数民族的字,GBK 扩成了 GB18030。从此之后,中华民族的文化就可以在计算机时代中传承了。

中国的程序员们看到这一系列汉字编码的标准是好的,于是通称他们叫做 "DBCS"(Double Byte Charecter Set 双字节字符集)。在DBCS系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处 理,必须要注意字串里的每一个字节的值,如果这个值是大于127的,那么就认为一个双字节字符集里的字符出现了。那时候凡是受过加持,会编程的计算机僧侣 们都要每天念下面这个咒语数百遍:

"一个汉字算两个英文字符!一个汉字算两个英文字符......"

因为当时各个国家都像中国这样搞出一套自己的编码标准,结果互相之间谁也不懂谁的编码,谁也不支持别人的编码,连大陆和台湾这样只相隔了150海 里,使用着同一种语言的兄弟地区,也分别采用了不同的 DBCS 编码方案。当时的中国人想让电脑显示汉字,就必须装上一个"汉字系统",专门用来处理汉字的显示、输入的问题,但是那个台湾的愚昧封建人士写的算命程序就 必须加装另一套支持 BIG5 编码的什么"倚天汉字系统"才可以用,装错了字符系统,显示就会乱了套!这怎么办?而且世界民族之林中还有那些一时用不上电脑的穷苦人民,他们的文字又怎 么办?

真是计算机的巴比伦塔命题啊!

正在这时,大天使加百列及时出现了:一个叫 ISO (国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号 的编码!他们打算叫它"Universal Multiple-Octet Coded Character Set",简称 UCS, 俗称 "UNICODE"。

UNICODE 开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符,对于ascii里的那些"半角"字符,UNICODE 包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于"半角"英文符号只需要用到低8位,所以其高 8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间。

这时候,从旧社会里走过来的程序员开始发现一个奇怪的现象:他们的strlen函数靠不住了,一个汉字不再是相当于两个字符了,而是一个!是的, 从 UNICODE 开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的"一个字符"!同时,也都是统一的"两个字节",请注意"字符"和"字节"两个术语的不 同,"字节"是一个8位的物理存贮单元,而"字符"则是一个文化相关的符号。在UNICODE 中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。

从前多种字符集存在时,那些做多语言软件的公司遇上过很大麻烦,他们为了在不同的国家销售同一套软件,就不得不在区域化软件时也加持那个双字节字 符集咒语,不仅要处处小心不要搞错,还要把软件中的文字在不同的字符集中转来转去。UNICODE 对于他们来说是一个很好的一揽子解决方案,于是从 Windows NT 开始,MS 趁机把它们的操作系统改了一遍,把所有的核心代码都改成了用 UNICODE 方式工作的版本,从这时开始,WINDOWS 系统终于无需要加装各种本土语言系统,就可以显示全世界上所有文化的字符了。

但是,UNICODE 在制订时没有考虑与任何一种现有的编码方案保持兼容,这使得 GBK 与UNICODE 在汉字的内码编排上完全是不一样的,没有一种简单的算术方法可以把文本内容从UNICODE编码和另一种编码进行转换,这种转换必须通过查表来进行。

如前所述,UNICODE 是用两个字节来表示为一个字符,他总共可以组合出65535不同的字符,这大概已经可以覆盖世界上所有文化的符号。如果还不够也没有关系,ISO已经准备 了UCS-4方案,说简单了就是四个字节来表示一个字符,这样我们就可以组合出21亿个不同的字符出来(最高位有其他用途),这大概可以用到银河联邦成立 那一天吧!

UNICODE 来到时,一起到来的还有计算机网络的兴起,UNICODE 如何在网络上传输也是一个必须考虑的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现了,顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE到 UTF时并不是直接的对应,而是要过一些算法和规则来转换。

受到过网络编程加持的计算机僧侣们都知道,在网络里传递信息时有一个很重要的问题,就是对于数据高低位的解读方式,一些计算机是采用低位先发送的 方法,例如我们PC机采用的 INTEL 架构,而另一些是采用高位先发送的方式,在网络中交换数据时,为了核对双方对于高低位的认识是否是一致的,采用了一种很简便的方法,就是在文本流的开始时 向对方发送一个标志符。如果之后的文本是高位在位,那就发送"FEFF",反之,则发送"FFFE"。不信你可以用二进制方式打开一个UTF-X格式的文 件,看看开头两个字节是不是这两个字节?

讲到这里,我们再顺便说说一个很著名的奇怪现象:当你在 windows 的记事本里新建一个文件,输入"联通"两个字之后,保存,关闭,然后再次打开,你会发现这两个字已经消失了,代之的是几个乱码!呵呵,有人说这就是联通之所以拼不过移动的原因。

其实这是因为GB2312编码与UTF8编码产生了编码冲撞的原因。

从网上引来一段从UNICODE到UTF8的转换规则:

Unicode

UTF-8
0000 - 007F

0xxxxxxx

0080 - 07FF

110xxxxx 10xxxxxx

0800 - FFFF

1110xxxx 10xxxxxx 10xxxxxx

例如"汉"字的Unicode编码是6C49。6C49在0800-FFFF之间,所以要用3字节模板:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 1100 0100 1001,将这个比特流按三字节模板的分段方法分为0110 110001 001001,依次代替模板中的x,得到:1110-0110 10-110001 10-001001,即E6 B1 89,这就是其UTF8的编码。

而当你新建一个文本文件时,记事本的编码默认是ANSI, 如果你在ANSI的编码输入汉字,那么他实际就是GB系列的编码方式,在这种编码下,"联通"的内码是:

c1 1100 0001

aa 1010 1010

cd 1100 1101

a8 1010 1000

注意到了吗?第一二个字节、第三四个字节的起始部分的都是"110"和"10",正好与UTF8规则里的两字节模板是一致的,于是再次打开记事本 时,记事本就误认为这是一个UTF8编码的文件,让我们把第一个字节的110和第二个字节的10去掉,我们就得到了"00001 101010",再把各位对齐,补上前导的0,就得到了"0000 0000 0110 1010",不好意思,这是UNICODE的006A,也就是小写的字母"j",而之后的两字节用UTF8解码之后是0368,这个字符什么也不是。这就 是只有"联通"两个字的文件没有办法在记事本里正常显示的原因。

而如果你在"联通"之后多输入几个字,其他的字的编码不见得又恰好是110和10开始的字节,这样再次打开时,记事本就不会坚持这是一个utf8编码的文件,而会用ANSI的方式解读之,这时乱码又不出现了。
from 说说字符集和编码

扯淡的国产操作系统!

两大国产操作系统联手抗微软:争夺“桌面”
http://3g.163.com/ntes/10/1217/00/6O2M6KBC000915BD_1_1.html
扯淡!只是一个linux发行版,还大言不惭的说国产操作系统,恐怕又是个汉芯,红旗4 linux的配置文件里都有大量redhat的文字,这个大概好不到哪里

使用 Wordmobi 发布

寻找失落的传统 《黑客:计算机革命的英雄》

前言:从7月4日晚上10点 开始,“博客中国”网站遭遇强大攻击而瘫痪,持续140多个小时,近乎疯狂,完全超越了黑客的游戏规则。据263的人士说,这是263有史以来遭遇的最持 久、最强大的攻击。而攻击完全是指向一个毫无防备能力的个人博客网站。许多人告诉我,这次攻击与“博客中国”呼唤的互联网“反黄”运动有关。我没有多少惊 讶,惊讶的是自己多年来为之鼓与呼的互联网的颜色。在我心目中,黑客依然是一个值得尊重的字眼。在中国,这些与“黄”同流合污的“黑”势力,我不认为他们 是真正的黑客,但是他们的确在迅速改变着中国互联网的颜色。这几天除了配合公安部门调查,我更多的在读一本书,英文版的书《黑客》,反复思考黑客的传统, 也许已经失落,但是,我依然身怀敬意。写作此文,希望更多的人能够了解真正的黑客,他们的传统,他们的传奇。我希望热爱IT的每一个人,都能够看到这本 书。那些真的敬仰黑客,甚至想成为黑客的人们,更不能不读这本书!因为它封存了美好的历史,同时也映照着我们的现在和未来。正义与邪恶,美好和丑陋,高尚 和卑劣,在黑客这个词语下,是如此泾渭分明!
黑客,我将永远把你潜心钻研
“生 活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。”这是莎士比亚信手写下的诗句。的确,一本真正的好书,如同一道亮丽的阳光,为我们 照彻一片黑暗的土地,为人们的知识插上新的翅膀。1984年,列维出手的《黑客:计算机革命的英雄》一书,就有如此神奇的效应。他追溯黑客传统和历史,讲 述黑客们人生和故事,归纳黑客创造的技术奇迹,总结黑客领域的哲学和伦理。总之,一本书就这样为大众打开了一个隐秘的世界,彻底、生动而详尽。阅读此书, 就是经历一场技术领域的人文畅游。本书还具有赢得黑客界友谊的惊人能力,使得未来无数黑客方面的书籍都得对它致礼。
“诗 歌,我将终生对你流连忘返;散文,我将永远把你潜心钻研”(兰道的自白),而列维则从此将计算机黑客领域的探寻作为自己的终生追求。作为《新闻周刊》首席 科技作家,这位以写作为自己生命的勤勉耕耘者,至今安分地担当一个新闻媒体的记者。不但保持高产的写作状态,一篇篇报道总能达到前人没有企及的深度,一本 本著作总能开启技术领域最隐秘和迷人的一面。无论是《独角兽的秘密》、《疯狂的大师》,还是最新的《隐私的终结:数字时代的密码大战》,每一本都扎扎实 实。因为数十年的勤奋,列维也被业界誉为“数字时代最顶尖的史学家”之一。可以毫不夸张地说,列维为那些被金钱、功利和泡沫反复玷污、污染和亵渎的IT记 者们,撑足了面子,确立了名誉,也设立了走向卓越的标准。
当 然,写于20年前的《黑客》一书,依然是一座列维本人以及后来人,无法超越的高峰。这本成书于80年代初期,当时正是PC崛起,计算机解放浪潮的启始时 刻。当然,不可否认,随着计算机不断社会化,黑客的组成和社会内涵已经发生巨大变化,但是,不管“黑客”这个概念被人类何等曲解、玷污和堕落,列维的《黑 客》一书已经为黑客确立了真正的历史传统和严谨祖训,它们不可动摇地树立着,为无数的黑客带来了积极的影响。也如明镜,映照人类的现在和未来。
黑客本来就是计算机革命的主角和英雄
的 确,黑客曾是一种荣耀,一种美好的传统。它代表着60—70年代反权威却奉公守法的计算机英雄。这群电气工程师和计算机革新者,才华横溢,行为孤僻,也有 个性缺陷。他们沉湎于技术和计算机,视工作为一种艺术。他们不仅仅是计算机革命的重要参与者,而根本就是计算机革命的主角和英雄(这两个词英文就是同一个 词:Heros)。这就是《黑客》一书确立的价值观。
我们不要 说教,而只需要深入历史,进入故事,直面这些人物。列维将我们带回了那段令人怀念的美好岁月。他深入采访和探究,第一次全面叙述了50年代后期至80年代 中期的黑客史,尤其详述了黑客发祥地——麻省理工学院(MIT)的“原型火车俱乐部”(Model Railroad Club)成员的活动情况。他们早期秘密穿梭于笨拙的穿孔大型机,并从Xerox PARC偷取大量技术,开启了计算机革命的历程,促成了PC的诞生,使计算机真正走向大众。这群人中有Richard Greenblatt、Bill Gasper、Captain Crunch、Steve Woz甚至Bill Gates。他们自由不羁,反抗既有体制,却严格遵循黑客道德准则:自由使用,信息免费,打破权威,推动分权。他们认为计算机既可创造艺术与美,也能使生 活更美好。
全书分三部分:第一部分名为“真正的黑客”(True Hacker),探究黑客源头和传统,介绍MIT人工智能实验室的黑客情况。
第 二部分名为“硬件黑客”(Hardware Hacker),讲述硅谷发明PC的黑客。列维很好地捕捉住了70年代PC革命的精神所在。不是MIT所在的波士顿,而是硅谷成为这场革命的中心,设计第 一台便携式电脑“奥斯本1号”的李·费尔森斯坦(Lee Felsenstein),MITS创始人,第一台商业化PC——Altair 8800——的缔造者爱德华·罗伯茨(Edward Roberts),“人民计算机公司”(People’s Computer Company)创始人Bob Albrecht,以及电脑爱好者汇聚的家酿电脑俱乐部“Home-Brew Computer Club)。当然,最能吸引读者的,还是苹果电脑的创造者沃兹和乔布斯(Steve Wozniak,Steve Jobs),后来,他们是黑客中大发其财的人物。
第三部分名为 “游戏黑客”(Game Hacker),讲述了80年代初期的第三代游戏黑客。主要就是软件公司开始崛起,包括受沃兹影响而成长起来的一代年轻黑客John Harris、Richard Garriott和Jay Sullivan等,他们创办了Sierra On-Line、Broderbund等软件公司。那时候,大家编写软件的兴趣主要来自游戏,而不是将计算机作为生产力工具。软件如同即兴的爵士乐一样, 开始招来一夜间暴富的机会。有了巨大的钱眼,美国公司的商业文化开始大举入侵了。盖茨等“反黑客”的价值观和行为,大举掠夺黑客们创造的成果,以精明商人 的手段将这些创新兑换为“美元”。利润最大化的价值观开始颠覆黑客领土。
本 书堪称一部“黑客列传”。最后以“最后一位真正的黑客”收尾,重点介绍了理查德·斯托尔曼(Richard Stallman)的故事。斯托尔曼作为MIT人工智能实验室的精神领袖,启动了自由软件运动,成就了今日Linux的辉煌。在本书完成近20之后的今 天,这位“最后的黑客”频繁地展转在业界和社会的主流讲坛上,继续挑战商业时代的误区和偏颇。现在看来,列维把这顶高帽戴到斯托尔曼的头上,还真是“神来 之笔”,因为除了斯托尔曼,这个世界上没有人(包括那些著名的黑客们)不对世俗和金钱高举双手,缴械投降。
中文版(国内未出版)
英文版
书名
《黑客:计算机革命的英雄》
Hackers: Heroes of the Computer Revolution
作者
史蒂文·列维
Steven Levy
作者国家
美国
Anchor/Doubleday公司,Penguin USA再版平装本
出版时间
1984年第一版,2001年1月2日再版
推荐级别
价格
$15.00
页码
455
作者其他著作
《隐私的终结:数字时代的密码大战》(Crypto: How the Code Rebels Beat the Government Saving Privacy in the Digital Age)(2001年1月1日)
《疯狂的大师》(Insanely Great: The Life and Times of Macintosh, the Computer That Changed Everything)(2000年6月)
《独角兽的秘密》(The Unicorn’s Secret: Murder in the Age of Aquarius)(199年3月)
《Artificial Life: A Report from the Frontier Where Computers Meet Biology》(1993年8月)
作者简介
《新闻周刊》首席科技作家,《连线》杂志的特约撰稿人。被誉为“数字时代最顶尖的史学家”之一。
作者联系
steven@echonyc.com;http://mosaic.echonyc.com/~steven/
根正苗红,黑客传统的“高品质”
计 算机技术越来越先进,越来越强大,这样义无反顾的快速节奏足以让人们丢弃历史,遗忘过去。但是,对于置身IT业的人来说,却无法跟随机器和技术一起“升级 换代”,提升思维的“主频”,胸怀的“容量”,和人格的“友好界面”。黑客就是如此,面对传统和历史,后来人大概只有无限惭愧的份了。
“黑 客”一词来源于英语动词hack,愿意为“劈,砍”,也就意味着“辟出,开辟”。关于“Hack”和“Hacker”的含义,《新黑客网上字典》列举了9 种不同的解释。但该字典也收录了一个MIT黑客菲尔(Phil Agre)的文章。菲尔告诉读者,不要被这些看似很有弹性的解释给蒙了,“Hack”其实只有一个意思,就是用精细高明的手段去挑战传统想法。
虽 然“黑客”定义非常模糊,但是大多数黑客都认同,“hack”这个字源起于50年代初期MIT学生的流行用语。1990年,MIT博物馆发行的刊物中 说,50年代MIT学生所说的“hack”就是指非恶意并且又有创意的行为。50年代之后,“hack”这个字有了更尖锐、更叛逆的意思。
60 年代,MIT校园里第一个自称计算机黑客的人就是50年代末期“原型火车俱乐部”的学生,他属于社内一个严谨的派系——信号动力 (Signal&Power,S&P),他们支持铁道社的电路设计与组件系统,这个系统复杂程度不下于校园的电话系统。对他们而言,少用 一个继电器来操作这条铁轨,意味着多了一个继电器可以用在别的地方。很快地,他们骄傲地宣称,改善铁轨的重点设计和组件,做这件事的人就是“黑客” (hackers)。50年代末期,S&P的成员将玩赏创新的重心转移到TX-0计算机的控制室里,而且重点从硬件转向软件,从硬件的组合加工, 转变为编程和软件的修改。并且逐渐强调集体创新的精神和共享的软件权利,形成了现代意义的黑客含义。
1969 年,互联网的前身ARPANET出现。以ARPANET为网络,以DEC-PDP系列小型机分时系统为硬件基础,以Unix的出现为软件基础,整个黑客文 化开始迅速繁荣。形成了以MIT的人工智能实验室为中心,蔓延到斯坦福大学人工智能实验室(SAIL)与稍后的卡内基梅隆大学(CMU)。三个都是大型的 计算机研究中心及人工智能的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对黑客文化都有极高的贡献。由于,根正苗红,保证了黑客传统的“高品 质”。
“罪恶的对立面不是德行,而是信念。”《黑客》一书最大的影响,就是第一次总结了“黑客伦理”,并将其推向大众。这种伦理原则强调“共享、开放、分散、为操纵机器不惜任何代价”。与PC文化与互联网文化的精神内核一脉相承。
(1)进入(访问)计算机应该是不受限制的和绝对的
(2)总是服从于手指的命令;
(3)一切信息都应该是免费的;
(4)怀疑权威,促进分权;
(5)应该以作为黑客的高超技术水平来评价黑客;
(6)任何一个人都能在计算机上创造艺术和美;
(7)计算机能够使生活变得更美好。
IT业行驶在单向度的商业化铁轨上
计 算机革命浪潮开始了,商人来了,政客来了,罪犯也来了,更多的普通人来了。计算机产业的不断发生彻底的改变。是的,在MIT人工智能实验室中孕育出来的 “纯种”黑客,已经永远成为历史,随着IT应用的不断社会化,黑客的规模、特性和行为也越来越社会化。黑客究竟是天才?是牛仔?是艺术家?是罪犯?是恶作 剧者?也许,更准确的是黑客已经成为上述各类人物的混合体。
黑 客的社会化势不可挡,纯正的传统永远留给了历史。今天,网络不再是黑客们单纯的技术自由空间,而已经是人类经济行为、社会活动、生活交往、政治谋划的新舞 台。自由与责任、崇高与卑微、伦理与放纵、报复与惩罚、公司利益与消费者利益、个人权利与社区价值等等,新时代的黑客正是这些矛盾的体现。网络再虚拟,也 永远是人类真实世界的忠实镜像。在IT业中回归传统,套用克尔凯郭尔的话,“其不可思议的程度,犹如皇帝招一个农夫为婿一样。”
因 此,黑客文化的传统是一面最好的镜子,让我们看到自身的不完美之外,更让我们看到这个现实世界的不完美。因此,仅仅把黑客当作社会文明的毒瘤来切除,仅仅 用“电子恐怖主义”的口号来碾碎,是不可能真正解决问题。要告别互联网的野蛮时代,首先要结束人类社会自身的野蛮作为。
IT 业越来越成为单向度的商业列车。在这趟从不停息的列车上,我们无法在现实中考量自己,总容易沉浸在当下技术进步的欣快和骄傲之中。衰落的文化寄存到最后的 归宿——书籍之中。阅读书籍,可以为我们增添历史的纵深感。可惜,虽然IT业在中国如火如荼,黑客也成为社会时尚一般,可是像《黑客》这样影响几代人的优 秀著作,却依然在中国看不到中译本的影子。

我希望热爱IT的每一个人,都能够看到这本书。那些真的敬仰黑客,甚至想成为黑客的人们,更不能不读这本书!因为它封存了美好的历史,同时也映照着我们的现在和未来。

from http://tech.ccidnet.com/art/3089/20060816/825605_1.html

黑客的价值观(中英对照)

黑客,可能在大家的眼里是那些入侵别人计算机搞破坏的人,其实并不是那样的。如果你这样认为了,只能说明你对计算机文化并不了解,真正的黑客是一种 自由的象征,他们挑战权威,追求自由,并和很多非人类的行为作斗争。如果你想了解黑客文化,你一定要去看看我写的《Unix传奇,上篇下篇》。你会对正宗的计算机文化以及黑客文化有所了解的。而那些只懂得入侵别人计算机搞破坏活动的“黑客”只能称为是街头的小混混,他们根本就不配称黑客。

下面有四篇关于“Hacker’s Code”文章,我觉得相当的不错,可以让你明白什么是黑客的行为规范,道德准则,以及黑客的历史使命,希望能对你有启发。但是翻译水平有限,所以我请Mailper同学帮忙翻译了一下,但还是觉得原文更为传神,尤其是原文中的押韵,双意以及朗朗上口,所以,下面提供了中英文对照。如果有翻译得不好的还请大家指正。

The Hacker’s Code

http://muq.org/~cynbe/hackers-code.html

“A hacker of the Old Code.”

  • Hackers come and go, but a great hack is forever.
    黑客们来来往往,但是只有黑客的壮举是永存的
  • Public goods belong to the public.*
    公众的东西是属于大众的
  • Software hoarding is evil.
    Software does the greatest good given to the greatest number.
    圈养软件是邪恶的,最好的软件是有最多人使用的
  • Don’t be evil.
    不作恶
  • Sourceless software sucks.
    不公开源码的软件是令人厌恶的
  • People have rights.
    Organizations live on sufferance.
    每个人都是有权利的,而组织是建立在互相的容忍上的
  • Governments are organizations.
    政府也是组织
  • If it is wrong when citizens do it,
    it is wrong when governments do it.
    对与错的标准,对于公民和政府是同样适用的。(不能“只许州官放火不许百姓点灯”)
  • Information wants to be free.
    Information deserves to be free.
    信息需要自由(免费),信息也应该是是自由(免费)的
  • Being legal doesn’t make it right.Being illegal doesn’t make it wrong.
    合法的不一定是正确的,不合法不一定就是错误的
  • Subverting tyranny is the highest duty.
    推翻专制是黑客的最高天职
  • Trust your technolust!
    相信你的“技术贪欲”

* Definition: A good is public if the marginal production cost is lower than the marginal billing cost.
定义
一个好的公众事物仅当其边际产值小于其边际广告值。(关于 marginal production是一个经济学术语,我不是很懂,大家可以参考这篇文章

The Hacker’s Code of Ethics

http://courses.cs.vt.edu/cs3604/lib/WorldCodes/Hackers.Code.html

Levy (1984) suggests that there is a “code of ethics” for hacking which, though not pasted on the walls, is in the air:

列维认为黑客有一种准则,这种准则不是墙上贴着的,而是像空气一样无处不在的。

  • Access to Computers - and anything which might teach you something about the way the world works – should be unlimited and total. Always yield to the Hands-On Imperative!
    计算机的使用(就像任何教会你去了解这个世界的东西一样)应该是无限和无所不包的。真理来自实际动手操作。
  • All information should be free.
    所有的信息都应该是自由的(免费和不加限制的)
  • Mistrust Authority – Promote Decentralization.
    不要相信权威,推崇分权和群众的智慧
  • Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.
    英雄(黑客)不问出处,更不会去计较世俗的标准:学历,年龄,种族和职位高低。
  • You can create art and beauty on a computer.
    黑客可以在计算机上创造艺术和美。
  • Computers can change your life for the better.
    计算机可以提升你的生命。

Reference:

Levy, Steven. 1984. Hackers: Heroes of the Computer Revolution, Anchor Press/Doubleday, Garden City, NY, 458 pp.

史蒂芬.列维 1984  黑客:计算机革命的英豪们, Achor Press… 第458页

DRAFT The Hacker’s Code DRAFT

http://www.petascale.org/code/code.html

Preamble: We, the people of the electronic universe, in order to establish a society of knowledge and skills, do hereby proclaim the following.

导言:我们,数字领域的主宰者,为了建一个知识和技术的社区,我们发出下面的声明。

Hackers are diverse, from all cultures and backgrounds. Every hacker is unique, yet we all share some characteristics. While not every hacker follows this Code, many believe it is a fair description of our shared traditions, goals and values.

黑客是各式各样的,无论是从文化还是背景。每个黑客都是唯一的,然后,我们是有一些相同的特质的。也许并不是所有的黑客都会跟从下面的准则,但大多数黑客都相信这是一个公正的惯例,目标和价值观。

  • Hackers share and are willing to teach their knowledge
    黑客共享并愿意传播他们的知识。
  • Hackers are skilled. Many are self-taught, or learn by interacting with other hackers.
    黑客都是老手。他们中很多人要么是自学,要么是与别的黑客相互共世而成长的。
  • Hackers seek knowledge. This knowledge may come from unauthorized or unusual sources, and is often hidden.
    黑客查找知识。那些知识可能是多一些未授权或是不寻常的通常都是被隐藏起来的地方来的。
  • Hackers are tinkerers. They like to understand how things work, and want to make their own improvements or modifications.
    黑客都是些好管闲事的人。他们总是喜欢对事物刨根问底,而且总是要为改善那些事情加上自己的想法。
  • Hackers often disagree with authority, including parents, employers, social customs and laws. They often seek to circumvent authority they disagree with.
    黑客通常都在挑战权威,包括家长,同事,用户以及法律。他们总是挑战那些他们并不认可以权威。
  • Hackers disagree with each other. Different hackers have different values, and come from all backgrounds. This means that what one hacker is opposed to might be embraced by another.
    黑客也是互不信任的。不同的黑客有不同的价值取向,而且也有相同的背景。也就是说,某个黑客被反对了,但也会被别的黑客所拥护。
  • Hackers are persistent, and are willing to devote hours, days and years to pursuing their individual passions.
    黑客是永不放弃的。他们愿意全身心地把他们的热情投入到每一个小时,每一天,每一年中。
  • This Code is not to prescribe how hackers act. Instead, it is to help us to recognize our own diversity and identify.
    准则并不是说明黑客是什么样的,而说让我们明白我们的不同性和一致性。
  • Every hacker must make his or her own decisions about what is right or wrong, and some might do things they believe are illegal, amoral or anti-social to achieve higher goals.
    每一个黑客必需自己为对和错作决定,有一些事可能是不合法,不道德的,甚至反社会的,但却可以让他们攀上自己价值观的高峰。
  • Hackers’ motivations are their own, and there is no reason for all hackers to agree.
    黑客的动机是他们自己的,而且无需任何理由获得其它的同意。
  • Hackers have a shared identify, however, and many shared interests.
    黑客一般会有共同的认识,然而,许多黑客却是拥有共同的利益。
  • By reading this Code, hackers can recognize themselves and each other, and understand better the group they are a part of. This will be beneficial to all hackers.
    了解了这些准则,黑客们能够赏识自己或相互赏识,并相当明白他们是这个团体的一部分。这会让所有的黑客受益。

The Conscience of a Hacker

http://www.phrack.org/issues.html?issue=7&id=3&mode=html

##=========================================

\/\The Conscience of a Hacker/\/

by

+++The Mentor+++

笔名:导师

Written on January 8, 1986

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Another one got caught today, it’s all over the papers.  “Teenager Arrested in Computer Crime Scandal”, “Hacker Arrested after Bank Tampering”… Damn kids.  They’re all alike.

今天有一个被捕的消息受到媒体热议。“某少年由于计算机犯罪被捕”,“入侵银行的黑客被捕”…一帮臭小子,他们都一样。

But did you, in your three-piece psychology and 1950′s technobrain, ever take a look behind the eyes of the hacker?  Did you ever wonder what made him tick, what forces shaped him, what may have molded him?

但是你们是帮老朽只知道老套的心理学和50年代的技术。你们有没有想想黑客究竟在想什么?你们有没有想想他们为什么这么做,什么造就了他们,什么塑造了这帮黑客?

I am a hacker, enter my world…

我是名黑客,请走进我的世界…

Mine is a world that begins with school… I’m smarter than most of the other kids, this crap they teach us bores me…

我的世界是从学校开始的…我是学校里最聪明的孩子,学校教我的垃圾让我厌倦。

Damn underachiever.  They’re all alike.

都他妈的水货,这帮子成绩不好的都一样烂。

I’m in junior high or high school.  I’ve listened to teachers explain for the fifteenth time how to reduce a fraction.  I understand it.  “No, Ms. Smith, I didn’t show my work.  I did it in my head…”

我初中高中时候就是如此了。白痴老师一个分式化简要解释15次。这些我全懂。所以我说”不用了,XX老师,我不用写这些步骤,我可以心算…”

Damn kid.  Probably copied it.  They’re all alike.

一帮傻同学,估计都只知道抄写老师的板书,一棒子二百五。

I made a discovery today.  I found a computer.  Wait a second, this is cool.  It does what I want it to.  If it makes a mistake, it’s because I screwed it up.  Not because it doesn’t like me…

今天我发现新大陆了。我遇到了一台计算机。真是太酷了,计算机完全按照我的指令执行。如果计算机犯了错,是因为我没搞对。而不是因为它不喜欢我…

Or feels threatened by me…

也不是觉得我成绩太好到威胁它了,也不是因为我是个自是聪明自以为是,而且不对我教条主义

Or thinks I’m a smart ass…

Or doesn’t like teaching and shouldn’t be here…

Damn kid.  All he does is play games.  They’re all alike.

而我的一帮傻逼同学,都他妈只知道玩。

And then it happened… a door opened to a world… rushing through the phone line like heroin through an addict’s veins, an electronic pulse is sent out, a refuge from the day-to-day incompetencies is sought… a board is found.

突然,与计算机相处为我打开了一扇通往另一个世界的门。一股电脉冲从电话线传送出去,就好像海洛因冲过毒瘾者的血脉,我可以逃离那帮子傻逼,一个新大陆!

“This is it… this is where I belong…”

是的!计算机是我的归属。

I know everyone here… even if I’ve never met them, never talked to them, may never hear from them again… I know you all…

在这个世界里,我认识这里的每一个人…虽然我并没有跟他们见面,没跟他们交谈,也许以后也不会再提到他们的消息。但是他们对我是那么的熟悉。

Damn kid.  Tying up the phone line again.  They’re all alike…

一棒子傻逼,大概他们又把我的电话线打结了。

You bet your ass we’re all alike… we’ve been spoon-fed baby food at school when we hungered for steak… the bits of meat that you did let slip through were pre-chewed and tasteless.  We’ve been dominated by sadists, or ignored by the apathetic.  The few that had something to teach found us willing pupils, but those few are like drops of water in the desert.

是的,我们黑客都差不多…我们智力高度成熟,我们想啃牛排的时候只有被喂婴儿食物。好不容易有点肉吃,也是被嚼烂了的。我们被虐待狂欺负,被冷漠者漠视。偶尔有好人理解我们其实是最好学的学生,但是这种人少得跟沙漠中的水滴一样。

This is our world now… the world of the electron and the switch, the beauty of the baud.  We make use of a service already existing without paying for what could be dirt-cheap if it wasn’t run by profiteering gluttons, and you call us criminals.  We explore… and you call us criminals.  We seek after knowledge… and you call us criminals.  We exist without skin color, without nationality, without religious bias… and you call us criminals.

You build atomic bombs, you wage wars, you murder, cheat, and lie to us and try to make us believe it’s for our own good, yet we’re the criminals.

我们这些黑客长大了…这个世界充满着电子,开关,和美丽的波特(信号传输单位)。我们并不是在犯罪,我们只是在免费使用服务,这些服务要不是因为那 些敛财狂本可以是非常廉价的。我们在探索…可你们说我们是在犯罪。我们是在寻求知识…可你们说我们是在犯罪。我们黑客无处不在,不分肤色,没有国界,没有 宗教偏见…可你们说我们是在犯罪。你们这些伪君子制造了原子弹,发动战争,某战争,不忠,并且对我们说谎;你们居然说你们的行径是为我们好,而我们黑客是 犯罪分子。

Yes, I am a criminal.  My crime is that of curiosity.  My crime is that of judging people by what they say and think, not what they look like. My crime is that of outsmarting you, something that you will never forgive me for.

好吧,我是犯罪分子。我所犯的最是好奇心。我的罪过是基于一个人的言行评判一个人,而不是他的长相。我的罪过是我比你聪明,而你大概永远不会原谅我比你聪明。

I am a hacker, and this is my manifesto.  You may stop this individual, but you can’t stop us all… after all, we’re all alike.

我是一名黑客,以上是我的宣言。你可以制止一个个体,但是你阻止不了我们全部…因为,我们黑客都一样。

+++The Mentor+++

署名:导师

(全文完)

from http://coolshell.cn/articles/2439.html