烧饼的技术乱讲
In: Algorithm
23 三 2010一直以来我对数的排列这类算法问题都感到很头痛,曾经囫囵吞枣看过一些算法,可是浅尝辄止,没有实际操作所以每次都忘记。上周三算法分析与设计课的内容是递归,老师正好提到了排列数这一问题,于是就有机会稍微进行一些研究。
一个排列(permutation)就是对一组对象或者数值按照某种特定的方式进行排列组织(ar-rangement),为了方便起见我们以一个数集{1, 2, 3}为例,它的全排列共有3!=6种,即{1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2}, {3, 2, 1},上述列举排列的顺序又称为按字典序列举排列,具体将在下文进行叙述。
在Wikipedia中,字典序的解释是这样的:
In mathematics, the lexicographic or lexicographical order, (also known as dictionary order, alphabetic order or lexicographic(al) product), is a natural order structure of the Cartesian product of two ordered sets.
如果你拥有一个字典,那么里面所有的字符串都是按照字典序来进行排序的,假设有两个字符串:
a1, a2, …, an
以及
b1, b2, …, bn
若存在一个m>0,使得对于所有的i<m有ai=bi,并且am<bm(i>m时ai与bi的关系不用考虑),那么称ap, 1≤p≤n的字典序小于bq, 1≤q≤n。由这个定义可以很容易的发现这样一个事实,当同样长度的一串数值、字符串需要按照字典序排列时,进行比较的位数i总是从n递减至1,例如:1234<1243, 1234<1342, 1243<1342,所以这三个串的顺序是:1234<1243
<1342,比较的位数依次是第3位和第2位;而从高位降低一位进行比较的条件则是对于此时的i,有ai+1≥ai+2≥…≥ai+n,例如当i=2时,12345<12354<12534<12543,此时a3≥a4≥a5,于是接下来将把2替换成字典中下一个数字3来进行排列,这个特点将在本文的最后一个方法中得到应用。
下面就让我们来看一个具体问题,给定一串数字:{a1, a2, …, an},它们两两之间并不重复,要求输出由这些数字组成的全排列。乍看之下似乎可以用穷举法解决,由于n个数字的全排列个数是n!,故而穷举法的时间复杂度为O(n)。那么利用什么数据结构来穷举呢,由于全排列我们需要考虑每一位的各种情况,确定了一位的数字以后就继续试验下一位……也就是说当确定一种可能性之后就会沿着这条路径一直往下,直到确定最后一位数字,这个行为和深度优先搜索算法比较相似,因此我们可以用树来表示穷举的全过程,下图以求{1,2,3}的全排列为例如此方法进行说明:
图一 利用递归生成{1,2,3}的全排列
从上图我们可以看到,每一个排列就是从根结点到叶子结点的一次遍历,其伪代码如下:
上述方法很直观,可是存在着一个问题,那就是它无法判断出某些数是否重复,它只是很单纯的穷举着所有可能出现的排列,例如1,2,2,4这四个数实际排列数为:4!/2!=12种,而上述算法仍然会得出24个结果,它无法区分1,2,2,4和1,2,2,4是一个重复的排列,应该只列举一次。可是递归的方法又非常直观非常方便啊,应该怎么办呢?其实只要在原方法上做一点小改动,人为的多设置一个集合,该集合包含了原集合中所有不重复的数字,从而树同一级的分支用该集合中的数字做为标签进行搜索,这样能够避免同一级出现重复计算的情况,下面以1,2,2为例说明上述方法的错误以本方法的改进:
改进后的伪代码:
从代码中可以看出改进方法只是用一个不包含有重复元素的集合来代替原集合,并用新的集体进行迭代,转化成树形结构如下图所示:
听老师上课的时候说这是一道微软来我们学校面试的考题,其实高爷爷在TAOCP第四卷分册2用了整个分册的内容讨论了如何生成全n元组(n-tuples)和全排列的问题,书中所述的第一个按字典序生成全排列的方法即可以在不必考虑给出的数集中是否有重复数字的情况下完美的生成全排列:
Algorithm L是一个很经典的算法,它简单、灵活,对于给定的输入a1, a2, …, an(要求该输入必须是排好序的,即a1 ≤ a2≤ … ≤ an)可以生成该集合的全排列,按字典序输出,并且可以很好的处理给定的输入中有重复数字的情况。注意到这个算法对于输入的要求必须是有序的,而前面两个算法无论输入的顺序是递增、递减、乱序都可以很好的工作。
这个算法还有一个特点就是它的输出将排列按照字典序输出,那么在设计算法的时候肯定会需要用到字典序的一些特点,让我们来回顾一下上文所述——字典序的比较是从最高位开始逐渐递减至最低位,每次递减的时机是从该位开始至最高位,所有的数字呈从大到小的顺序排列,明白了这个特点就能够很轻松的理解L算法。
让我们先来看一下L算法的思路:
L算法基本上按照思路,共分成4步
L1. [输出] 输出排列a1…an;
L2. [找到j] 令j←n-1,如果aj≥aj+1则将j自减1,直到aj<aj+1。这步的作用就是找到使从j位至最高位所有的数字呈从大到小的顺序排列的这个j,该位就是下一步需要改变(增加)的值。
L3. [更改aj] 令l←n,如果aj≥al则将l自减1,直到出现aj<al,(updated 此时交换aj←→al)
。这步的作用就是找到从第j位至最高位中,大于aj的最小数值,该数值就是下一个字典序中aj的值。
L4. [反转aj...an] 令k←j+1,l←n,如果k<l,交换ak←→al,自增k,自减l,再重复此交换直到k≥l。这步的作用是使由a1…aj开头的排列恢复到字典序的最小位置。
这种文字的步骤似乎比较难以理解,下面一个例子对算法的步骤加以说明:
(1) 整个算法的核心就是找到需要改变的j值,例如13287651,注意到最后四位已经按照从大到小的顺序排列,也就是说13287651是处于132xxxxx这个排列在字典中的最大值,那么下一个排列就要通过修改第3位的2获得。——这是L2.步骤解决的问题
(2) 那么这个2要替换成什么数值才行呢,在132之后一共有五个数字,1,5,6,7,8,让我们来比较它们的大小:13187652<13287651<13587621<13687521<13782651<13827651,可以看到,在字典中紧跟着13287651的排列是13587621,也就是将要替换的2与后面所有数值中大于2的最小数字进行代换。——这是L3.步骤解决的问题
(3) 在替换了2之后,排列变为了13587621,注意到在寻找j的时候我们已经保证了最后五位是按从大到小的顺序排列的,又由于替换的数字是大于aj所有数字当中最小的,所以在替换之后我们仍可以得到一个有序的数列,这个数列是135xxxxx这个形式的所有排列中最大的,于是我们要对它进行反转,这样得到的数列顺序为从小到大,同时也是所有排列中最小的。——这是L4.步骤解决的问题。
之前看到有关求全排列的问题时我也常常看到介绍的就是这个通用算法,可惜当时一直没有认真去琢磨其中每步的作用,所以一直对这个问题敬而远之,在高爷爷的书中还有介绍更多更详细的算法,出于敬畏我有时间了再研读它吧。
1. Permutation (wikipedia):
http://en.wikipedia.org/wiki/Permutation
2. Lexicographical order (wikipeida):
http://en.wikipedia.org/wiki/Lexicographic_ordering
3. Donald Knuth. The Art of Computer Programming, Volume 4: Generating All Tuples and Permutations, Fascicle 2, first printing. Addison-Wesley, 2005. ISBN 0-201-85393-0.
In: C/C++
5 三 2010假期里面在家里忙尹老师的激光项目,阅读文件格式文档的时候看到关于字节序(Byte Order)的要求:
For values which span more than a single byte, the multiple byte ordering followed is that of the Big Endian / Motorola standard. The most significant byte will occur first, the least significant byte last
想起以前在汇编语言和数字逻辑的时候也有接触到一些这个概念,已经有点模糊了,搞不清楚哪个是低位在前哪个是高位在前。后来在Wiki和Google的帮助下也算摸清楚了一些Endianness的概念。
在计算机中,字节序(Endianness)是数据中单独的可取地址的亚型(words,bytes和bits)在外部存储器中存储的顺序。通常在提到四字(ddword)、双字(dword)和字(word)的时候需要考虑其实际的字节顺序,为了简便起见它的英文也常常表示为Byte Order。
Endianness这个词源自1726年Jonathan Swift的名著:Gulliver’s Travels(格列佛游记),在书中有一个故事,大意是指Lilliput(小人国)的领导下了一道指令,规定其人民在剥水煮蛋时必须从little-end(小的那一端)开始。这个规定惹恼了一群觉得应该要从big-end(大的那一刻)开始剥的人。事情发展到后来,竟然演变成一场纷战。支持小的那端的人被称为little-endian,反之则被称为big-endian(在英语中后缀“-ian”表示“xx人”的意思)。1980年Danny Cohen在他的论文“On Holy Wars and a Plea for Peace”中第一次使用了Big-和Little-这两个术语,最终它们成为了计算机通过网络与其他计算机连接时所要考虑的极其重要的一个问题。
那么为什么要引入字节序呢。我们都知道,计算机存储中最小的单位是位(bit),而8bit构成一个字节(byte)。在一个32位的CPU中,字长为32bit,也就是4byte,数据要想存放在内存中供CPU读取和写入,就需要拥有一定的存放顺序。这样不同的CPU可接受的字节序有可能不同,那么在设计硬件和软件时数据的存放问题也需要分开考虑。
数据都有所谓的“有效位(Significant Bit)”,顾名思义它表示了“数据存放有效的位置”,而字节序的分类就是依赖于有效位来进行划分的。在一个字节当中,数据的有效位的顺序已经得到了大多数硬件生产商的共识,那就是最高有效位优先(Most Significant Bit First),例如我们用8位二进制数来表示十进制数123为01111011,其第一位的0就是最高有效位,而最后一位的1就是最低有效位,在一个字节当中,几乎当前所有的硬件都采用了这种直观的字节序。
然而情况在离开了单字节时就有所不同了。不同的硬件产商对于数据占据多个字节时拥有怎样的字节序有着不同的理解,具体说来分为以下三类:
一些知名的使用Little-Endian的处理器体系结构包括了:x86、6502、Z80、VAX以及PDP-11,使用Big-Endian的处理器通常是Motorola的处理器,例如:6800、68000、PowerPC(即Macintosh在迁移到x86之前所采用的处理器)以及System/370。这也是为什么在文章开头提到的文档中使用Big Endian / Motorola standard这样的词汇的原因。
更进一步的,像ARM、PowerPC、Alpha、SPARC V9、MIPS、PA-RISC和IA64等体系结构可以支持可切换的字节序这样的特性,这个特性可以提高效率或者简化网络设备和软件的逻辑。这种可切换的字节序被称为Bi-Endian,用于硬件上意指计算机或者传递数据时可以使用两种不同字节序中任意一种的能力。
文字不够直观,下面以数值0×0A0B0C0Dh为例说明Big-Endian和Little-Endian在内存布局上的不同:
| increasing addresses → | |||||
| 0Ah | 0Bh | 0Ch | 0Dh | ||
在这个例子中,最高有效字节(MSB)为0Ah,储存在最低地址的内存中;次高有效位为0Bh,储存在接下来的内存中,依此类推。这种字节序与从左向右的顺序读取十六进制数值非常类似。
以16位元素大小查看:
| increasing addresses → | |||||
| 0A0Bh | 0C0Dh | ||||
最高有效元素现在保存的是0A0Bh,接下来的元素保存0C0Dh.
| increasing addresses → | |||||
| 0Dh | 0Ch | 0Bh | 0Ah | ||
在这个例子中,最低有效字节(LSB)的值为0Dh,储存在最低地址的内存,其他字节依照字节有效性的递增依次存放。
用16位元素大小表示
| increasing addresses → | |||||
| 0C0Dh | 0A0Bh | ||||
最低有效16位单元储存的是值0C0Dh,紧接着储存值0A0Bh。
如前所述,不同硬件的体系结构接受不同字节序的数据表示,因此当同一个文件在不同的机器中进行读取和写入的时候,其所支持的字节序就显得尤为关键。设想在x86计算机中将(123888)10写入二进制文件中,由于x86支持Little-Endian,所以该数在文件中保存为(00003F1E)16。当在PowerPC计算机中读取该整数时,由于它支持的是Big-Endian,故读取的结果将是(16158)10,大相径庭。
同样的情况也会出现在网络传输当中,当你从支持一种字节序的机器发送数据到支持相反字节序的机器时,将会得到非预期的结果。这种错误在网络传输当中尤为突出,因为你无法决定发送你所需文件机器所支持的字节序,因为这些机器可能分散在世界各地,不是人为所能控制的。
为了更明确的说明上述问题,考虑下列代码:
这是一段很简单的C语言代码,作用就是向一个data结构体赋值并且将它写入文件当中,从结果Listing 2和Listing 3当中我们就可以看到支持不同字节序的机器在处理数据时候存在的不同。
Listing 2. hexdump –C output on big-endian machines
00000000 66 6f 6f 00 12 34 56 78 62 61 72 00 |foo..4Vxbar.| 0000000c |
Listing 3. hexdump -C output on little-endian machines
00000000 66 6f 6f 00 78 56 34 12 62 61 72 00 |foo.xV4.bar.| 0000000c |
注意力好的同学一眼就能发现,在写整数的时候,数据保存的顺序依赖于不同的机器,而字符串却不受此影响,这是为什么呢?这就牵涉到字节序是如何如代码进行影响的了。
字节序并不会影响数据存储的所有方面,例如对一个整数进行bitwise或者bitshift的操作,你是不需要去注意对应的字节序的。因为多字节的顺序是由计算机来维护的,对于程序员来说,一个整数的最低有效位仍然是最低有效位,最高有效位亦然,并不会由于它在计算机底层存储模式的改变而影响到有效位的含义。
同样的,字节序不会影响到C风格字符串在计算机底层的存储顺序,这是为什么呢?考虑到一个C风格字符串的实质是一个包含着许多char的数组,每一个char在现代计算机中几乎都是表示计算机中的一个字节。因此,当读写C风格字符串时,其最小的元素单位是一个字节;而且数组在内存单元中地址的排列顺序是递增的,例如定义char str[5];这么一条语句,假设&str[0]的地址为1000,则&str[1]的地址为1001,依次类推。所以不论从直观含义或者底层技术来看,字符串的存储都是相对字节序独立的,这个特性将应用在接下来的许多小技巧中。
那么字节序除了影响到多字节数据在内存中的存放顺序以外,在写代码的时候还有什么需要注意的呢?当对一个数据进行类型转换的时候,需要记住特定的字节序很可能影响到类型转换的结果。假设我们有Listing 4所列的这么一段代码
2 short x;
3
4 x = *(short *) endian;
那么最后得到x的结果是多少呢?是不是简单的就是endian数组的第一个元素1呢?答案是错,x的数值需要根据运行时的环境来决定。让我们回忆一下C语言的指针指向多大的内存以及怎么去解释所指的这块内存是由指针所指向的类型来确定的,在上述代码中,将endian数组的首元素指针强制转换成short *的指针,那么编译器在解释它的时候将不再把它指向的内存空间视为1 byte,而是short的长度——2 byte;更重要的是当我们对这个指针解引用的时候将会得到的值会是什么。再回到上面所提到的字符串或者字符数组在计算机中就是依照数组顺序存放的,那么这个时候endian数组占用了两个字节,其内存数据为:0100。当该指针强制转换为指向short的指针并解引用时,计算机将一次读取两个字节,这个时候字节序就发挥它的影响了。在支持Little-Endian的机器中x的值将是1(读取为0001),而在支持Big-Endian的机器中x的值就是256(读取为0100)。因此在对指针进行类型转换并解引用,特别是在单字节到多字节数据的转换时,要特别注意字节序是否会使得预期结果出现偏差。
单字节指针到多字节指针的转换其实并不完全像Listing 4所举例子那样恼人,它还有其他的用途,例如我们可以使用这个特性在运行时判断当前计算机所支持的字节序,这样可以使得程序员在编写代码的时候更加灵活,也使得代码更加强健(robust)。基本的思路就是先定义一个int变量1,这个变量在不同的计算机中将有两种不同的存储顺序:01000000(Little)以及00000001(Big),然后我们将指向这个变量的指针强制转换为指向字符的指针,再解引用根据它的值是0还是1就可以得出当前机器支持的字节序的,代码很简单:
2
3 if (*(char*)&i == 0)
4 // Big Endian
5 else
6 // Little Endian
利用char*的这种特性还可以方便的反转数据顺序以适应不同的机器,怎么编写这样的代码不如让你来思考一下?
1. Endianness. http://en.wikipedia.org/wiki/Endianness
2. 关于Endianness翻译的讨论。 http://shu1tong2wen2.wikia.com/wiki/Endianness
3. Writing Endian-independent Code in C. http://www.ibm.com/developerworks/aix/library/au-endianc/index.html?ca=drs
今天自己写了一篇东西,感觉神清气爽,深刻体会到了写文章的好处。在写文字讲述一个问题的过程中,我会注意到如何完整并且清晰的讲清楚一个问题(虽然今天这个文章可能并不完整也并不非常清晰,不过总归是好的一个开始),而扩展到以后,在描述技术问题的时候,为了有理有据的说明一个方案,我会强迫自己去寻找证据论以支持我的论点,这无形中增加了知识的积累;同时,一篇好的文章要有好的组织结构,以及有条理的论述,这能提高我对问题的描述能力(现在我感觉自己极其欠缺,经常表意不清),也能提高我说话做事的逻辑性:总的来说,是大有裨益的。
其实小的时候,我阅读过很多书籍,可是为什么我的写作水平总是停留在记叙文文字空洞,议论文说服力欠缺呢,我觉得有以下几点
学习的路还有很长啊,以前太不认真了。不少东西其实很早就接触到了,只是不以为然,不将其付诸于实践,还好亡羊补牢,犹未晚也。抱着学习的眼光去阅读,抱着实践的态度去写作。
In: 未分类
13 一 2010今天下午1时20分,百度首席产品设计师孙云丰在自己的博客中撰文关于谷歌退出中国,直指Google退出中国的姿态证明自己是市侩分子,对此感到恶心。他的博客全文如下:google宣称要退出中国,所证明的,恰恰不是市面上的那些g粉所宣称的那样,google是个人权斗士,而刚好反了过来,正好证明google是个市侩分子。google 的首席法律顾问的调调让我感到恶心。因经济利益退出,就直白白的说好了,把自己涂脂抹粉一番,还煞有介事的提到google被中国人攻击,中国异议分子的 Gmail信箱被攻击,把这些事情作为退出中国的铺垫,这种论调是侮辱中国普通老百姓的智商,但还真有可能迎合那帮目空一切,但从未到过中国、对中国没有 丝毫了解,却又喜欢对中国说三道四的西方人的假想。
只提一个假设,如果谷歌占据了中国80%的搜索市场份额,google的高管,还会这么高调的宣称要do no evil,从中国退出吗?
整个事情给我的唯一感受,就是恶心。
————–
以上是作为一个曾经的忠实google用户而说的,和百度无关。市面上沾沾自喜于了解一点google的产品技术细节将google奉为道德楷模而自封G粉的兄弟,请勿跟帖瞎喷,你们根本不懂什么叫搜索引擎,什么叫自由人权。
In: Application
18 十 2009等了好久,终于等到了VS支持1.24,不用忍受浩方1级房里面的众多搞笑队友,虽然VS里面也挺搞的……因为我用的是英文系统加中文游戏,众所周知需要修改Game.dll以使得魔兽支持在英文系统下运行。VS还在测试版2.7.3的时候,支持1.24的原理是将VS安装目录下的\Config\里面的魔兽文件拷到魔兽的目录下以实现自动升级的,所以只要把这个目录下的Game.dll做相应的修改就可以了。到了2.7.4的时候就不是这样了,我还没有弄清楚里面的原理,每次它都会生成新的Game.dll,不知道是从哪里Hook过来的,所以以前的方法行不通了。可是如果运行的就是1.24的话,Vista会因为DEP保护不让魔兽运行的,这可怎么办呢。其实很简单,只要用1.20的war3.exe替换掉1.24的war3.exe就可以了。这样就可以把20、21、22、23都删掉了,在VS、HF、AA、GG上尽情的享受24带来的目前来说相对纯净的环境了。
In: Twitter
23 八 2009下面每个条目第一行是消息传递者的账号,要访问他的Twitter页面,请按如下模式:
http://dabr.co.uk/user/<账号>
或
自行翻墙使用地址:http://www.twitter.com/<帐号>
【IT】
jurgenappelo
Shared… We Are Just Google’s Social Test Subjects http://bit.ly/43XpB
rtmeme
RT @ianua RT @daxa: 今日凌晨发现的好东西,再推一遍!专访 Twitter 介面设计师 Vitor Lourenco http://bit.ly/kBUDL
jurgenappelo
Shared… Traditional Programming Language Job Trends http://bit.ly/Vjska
guao
谷奥( http://google.org.cn ) : 即时博客成为现实, Blogger 也加入 PubSubHubbub 协议支持 http://bit.ly/Ijac3
Microsoft Video: Use Surface to turn your coffee table into a universal remote http://bit.ly/gqYqg from mi-lab.org & @wired #MSSurface ^SL
timoreilly
a better twitter list of software developers http://bit.ly/3Q5E0 (via @robdiana) I think I will put together my own, though.
【学习】
jurgenappelo
Shared… All Programming is Web Programming http://bit.ly/NnPUS
coldmontis
写的不错,值得关注,"Chrome源码剖析 【序】 && 【一】",http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html
infoq
Categorizing Tests http://bit.ly/39rnFb
turingbook
Dojo他爸Alex Russell的Web开发箴言:http://bit.ly/D9fyV 好东西啊,转推吧
【贴士】
sfufoet
GR分享: #常识 我们应该知道的急救小常识 http://www.u148.net/article/11000.html
scottisafool
Broken theme in Windows Live Writer? You can fix it! http://is.gd/2kGYz (via @brandonturner)
scottisafool
RT (Fantastic starter guide for WLW) @clickonf5: Windows Live Writer – Complete Guide http://bit.ly/Phs2A
jurgenappelo
Shared… 7 Bad Signs not to Work for a Software Company or Startup http://bit.ly/kvpzm
guxiaoqiang
http://bit.ly/4Gywxr – 55个最常被问到的面试问题 #HRTips
sfufoet
GR分享: #Google FireFox 脚本:用 Google 在任何网站做站内搜索 http://bit.ly/cFFXM
【咨讯】
shanselman
RT @davidlmorris: Psych suggests man sleeps on the side nearest the most threatening opening. Door OR large window.
turingbook
在读:股民和基民的悲哀 http://bit.ly/WxWTk
【语录】
wangpei
RT @xinhaiguang: “混不好,我就不回来了”,电视台天天放这样的广告,传播这样的价值观,这个社会,越来越势利,越来越功利,越来越无视人性了~~当然它的生活也会越来越残忍。
codinghorror
"That ratio seems about right. For every 100 or so emails I look at, I respond to about one." http://is.gd/2ufjb
【笑话】
duanzi
指数依山尽, 资金入海流。因无千里目, 输掉一层楼。@duanzi #段子
duanzi
90后女友要段叔细说情事。段叔不无自豪的说,“It is LONG Long story~”,女友怒:长话短说。“it is a HARD hard time~”,女友眼睛发出幽幽的光:那,您一定憋得很急吧?@duanzi #段子
duanzi
Via @CCTV: 夫妇俩一起去参观油画展,当他们面对一幅仅以几片树叶遮挡的裸体女像时,丈夫立刻目瞪口呆,过了半晌仍不想走开。妻子低吼道:“喂!你是想站到秋天,等树叶落下来才甘心吗?”丈夫:"其实,我只是想向她致茎。" @duanzi #段子
duanzi Via @hjb_dl_cn: 一男一女打电话,男:我们的关系还有救吗?女:电话上的一个键。男欣喜万分:是重拨吗?女:不,是“免提”!@duanzi #段子
In: Twitter
16 八 2009下面每个条目第一行是消息传递者的账号,要访问他的Twitter页面,请按如下模式:
http://dabr.co.uk/user/<账号>
或
自行翻墙使用地址:http://www.twitter.com/<帐号>
【IT】
turingbook
NB的80后(86年)本科生,Windows开源克隆ReactOS核心开发人员、Windows Internals新版加入的作者Alex Ionescu http://www.alex-ionescu.com/
jeffz_cn
RT @scottgu: Very cool! Silverlight Web-Based Windows OS http://www.windows4all.com
jurgenappelo
RT @danschawbel: BREAKING NEWS: Facebook acquires FriendFeed WOW! http://bit.ly/AIEYG
Fenng
惊天的消息啊, Doug Cutting 离开雅虎,去 Cloudera 了! 这家伙是 Lucene、Nutch、Hadoop 的掌舵者啊。雅虎剩下下的为数不多的牛人之一。
turingbook
RT @g9yuayon: 重量级八卦书籍Coders At Work的书评:http://bit.ly/xvJxJ 非常诱人。||这书图灵拿下啦
【学习】
Fenng
推荐 @xmpp 的PPT《分布式Key Value Store漫谈》http://bit.ly/1MDEAV
JackPark
李开复在青岛科技大学的演讲,关于云计算,浏览器,陈冠希 http://ff.im/6qDUc
lk_517
Real men program in C http://bit.ly/h9h2s
silwile
Bob Dylan: "我觉得自己没有义务去与时代同步。我一共就活这么些年,如果我非要和现在的时代同步,那我还得准备好追赶即将到来的90年代。天哪,谁有空与时代同步? http://www.douban.com/group/topic/7506458/
xushiwei
第一篇正式介绍CERL的文章:CERL SDL 语法及类型系统 – http://blog.csdn.net/xushiweizh/archive/2009/08/14/4444942.aspx
coldmontis
"背完这444句,你的口语绝对不成问题",http://bit.ly/WPcHE
yegle
[推荐阅读] SSH tunnel tips http://bit.ly/4Anch4
【贴士】
shanselman
blogged: Vista Users – Uninstall Visual Studio 2010 Beta 1 before upgrading to Windows 7: Disclaimer: I .. http://bit.ly/49dMa7
shanselman
blogged: Top 10 Tips Working Developers Should Know about Windows 7: I’ve been tweeting about Windows 7 .. http://bit.ly/sIulX
riku
#ttips 10个归档你的tweets的方法 (10 Ways to Archive Your Tweets ) http://bit.ly/KPt6U
shanselman
Every #win7 keyboard shortcut in one place http://bit.ly/Oayln
wangpei
#baibanbao 写了一篇简单体验 #iphone3gs 的博文,《欢迎来到iPhone 3gs的世界》。 http://tinyurl.com/qkp9hs
shanselman
Doing a video call with the a PM for "Windows 7 Virtual XP Mode" http://bit.ly/1S2jTJ
guao
谷奥( http://google.org.cn ) : Google Reader再次进化,加入快速分享,订阅朋友的feed等功能 http://bit.ly/HZ7kA
sfufoet
GR分享: Google 评价 blog 的指标 http://bit.ly/Qw0m7
lk_517
How to stop Windows Update nagging you to restart after an update http://bit.ly/13VETO
sfufoet
#Google 使用 Google Reader 保存并搜索你朋友的 Tweets http://bit.ly/Kl2uF
【咨讯】
wangpei
#baibanbao 【无剧透观感】走进UP的世界吧,在这里,怒放着一个人的一生。http://tinyurl.com/mv74wt
sfufoet
RT @scavin: > @vvchn: > @oldyumi * > @heicailiao: 香港商业电台:新华社在午夜前报导,新疆有客机被骑劫,及后澄清指,阿富汗一间航空公司首航飞往乌鲁木齐的客机,接获炸弹威胁,民航局禁止客机降落,客机其后折返降落阿富汗机场。 //
wangpei
史上最牛实习生,摩根士坦利银行实习生马修写了一份报告《小屁孩是怎样消费媒体的》,导致洛阳纸贵。报告英文全文在此 http://tinyurl.com/mk65au
wangpei
换个链接,马修报告《小屁孩如何消费媒体》,英国卫报转载的全文 http://tinyurl.com/lwlrrh
scavin
RT @WordCampChina: WordCamp China 2009 将于8月22日在清华科技园阳光厅举行!报名系统明天启动,敬请留意! #wcc09 #wordcamp #wordcampchina
guxiaoqiang
http://bit.ly/3hIM3Y – 据报道,广西一男子为向亲友们说明“信春哥,原地复活”的说法确实为真,竟不顾亲友们的阻拦,从自家3楼一跃而下。最后因颅骨破裂身亡。(via @coollias) #jiong
DashHuang
韩寒:“一个国家,能让这么多艺人转变国籍,这个国家一定是有他的责任的。在我们谈个人责任和义务的时候,我们也要谈国家责任和义务。这代人要记住的是,国家利益不是高于一切的” http://bit.ly/azwcA
JackPark
Nap Cafe » 生活咖啡馆|Create the flavours of life! » Blog Archive » 怎样做杯好喝的奶茶? http://ff.im/6xbXw
coldmontis
按照这个视频学会了叠衬衫、袜子和内裤的视频,效率很高。http://www.mf08.com/y/v/v8/200808/116219.html
【语录】
ifanr
"You know a design is good when you want to lick it." – Steve Jobs
codinghorror
rt @dozba "Crawling web content is like touring a museum of failure."
wangpei
#jiaoxun 骑自行车一定要戴头盔,原因很简单,头盔150一个,脑CT,210一次。
wangpei
#jiaoxun 不要拒绝帮助一个善良无害而走投无路的人,因为你接待了他,就等于接待了天使。
wangpei
#jiaoxun 请人干活之前,先谈好价钱;被人请去干活,先开口谈钱。因为你的默认值跟他的默认值,相差可能很大。
wangpei
#jiaoxun 患难是友谊唯一的试金石,你在难中,那些弃你如敝履的人,你也放弃他;那些曾给你送过一包烟、一双鞋的,要刻骨铭记。
wangpei
#jiaoxun 不要自告奋勇给别人修电脑,交给专业的人去做,哪怕花点钱。
wangpei
#jiaoxun 跟你的另一半有了矛盾、闹了别扭,一定不要告诉自己的父母,父母只会袒护自己的子女,这样事态会扩大,贻害会无穷。
wangpei
#jiaoxun 离开家的前一晚,母亲让你带什么,你就都带上,千万不要嫌重,千万不要让她伤心。
【笑话】
rtmeme
RT @chooyes: 三个男人同睡。第二天早上,睡两边的人起床后,各自发现内裤上有白色液体~。怕被笑话,不敢说,继续装睡。直到中间那个人醒来后大叫,我昨晚梦到自己在滑雪啊,好爽。。。
yegle
[推荐阅读] 糗事#155214 – 说一个朋友遇见的糗事,前几天和几个朋友男男女女在KTV唱歌,… http://bit.ly/19uLyi
rtmeme
RT @yku: 半夜十二点,一裸男在街上拦住一辆出租车。女司机对着裸男打量来打量去。裸男骂道:你TMD没见过裸男啊?女司机回:我TMD看你从哪掏钱。
duanzi
Via @lmsdl521: 老板开会时,裤子拉链爆开一个小口,女秘书娇笑提醒:“老板,我看见了北京区号!不过只有一点”老板回神后急忙说:“晚上带你看北京全貌,北京那叫大!” @duanzi #段子
rtmeme
RT @Ratoo RT @lengxiaohua: 知道我们为何有缘吗?早在一千年前我们就认识了,是个秋天,你随我在风里跑,在我身上留下了牙印,这事成了千古佳话。那时,我叫吕洞宾。
wangpei
新版高考作文雷人语录~一年一雷,人神共赏,人鬼同泣~(2009版) http://tinyurl.com/lu44au
In: Twitter
9 八 2009下面每个条目第一行是消息传递者的账号,要访问他的Twitter页面,请按如下模式:
http://dabr.co.uk/user/<账号>
或
自行翻墙使用地址:http://www.twitter.com/<帐号>
【IT】
shanselman
WOW. Looks like @migueldeicaza and friends working on a Public Domain C# version of SQLite (now "SQLSharp") http://bit.ly/VMy9z
infoqchina
Fred George老爷子大会的演讲主题确定,很酷 “那是鸟,还是飞机?不,那是超人!” 和“成功敏捷背后的隐秘设想” – http://bit.ly/11Dj5J
#agilechina2009
infoq
A Preview of Version 2 of ASP.NET MVC http://bit.ly/dzVJH
slashdot
20 Years of MS Word and Why It Should Die a Swift Death http://bit.ly/3TET0X
ifanr
KKK@ifanr: IO,设计,盈利模式,OS和软件,关于苹果平板的全面预言。这似乎是在描述我理想中的平板 http://bit.ly/8yenv @newkhonsou
slashdot
Microsoft Acknowledges Linux Threat To Windows http://bit.ly/QDp5p
slashdot
Windows 7 RTM Reviewed & Benchmarked http://bit.ly/gscXi
infoq
Google Chose Jetty for App Engine http://bit.ly/312GNB
dreamwords
RT @robinlu: web要从pull年代进入push年代了么? http://code.google.com/p/pubsubhubbub/
shanselman
Reminder: Uninstall .NET 4/VS2010b1 before upgrading to Win7. Devs please RT.
【学习】
infoqchina
新的Scala Actor类型系统——谁说竞争安全与性能不可兼得 http://bit.ly/2VptyL
shanselman
Fantastic Blog if you’re into Self-Improvement Techinques http://bit.ly/4hMOLM
turingbook
RT @rlazy: 《重构 HTML》上市了:http://www.china-pub.com/195744 //重构系列新书,Elliotte Harold力著,饭否陈同学的译作 #今日推书
codinghorror
r @jzy The Jack Principles (You Don’t Know Jack) http://www.codinghorror.com/blog/archives/000085.html
shanselman
What Productivity Persona are you? http://bit.ly/sQM7z
coldmontis
PSP3000破解原理——缓冲区溢出漏洞随谈 , http://blog.csdn.net/watergear/archive/2009/05/04/4148445.aspx
slashdot
Bjarne Stroustrup On Concepts, C++0x http://bit.ly/9qbN9
coldmontis
嵌入式就要这么玩,“超牛!用WIFI控制的摇控汽车”, http://itbbs.pconline.com.cn/network/9292882.html
【贴士】
codinghorror
crud, this Win7 concurrent sessions hack totally doesn’t work for me, at all. http://is.gd/1ZnNA
riku
#ttips 10 个免费提供批量 Follow 和 Unfollow 服务的网站 http://bit.ly/v2adx
jason5ng32
新文章,将Google Reader的阅读面积最大化 http://www.kenengba.com/post/1492.html
turingbook
总结一下大家的图片共享网站推荐:好看簿、http://www.yupoo.com/ 、bababian、photobucket、http://www.footbig.com 、网易或者百度相册
shanselman
blogged: Step-By-Step: How To "Upgrade" from Windows XP to Windows 7: You’ve likely heard that you can’t.. http://bit.ly/271wBG
rtmeme
RT @scavin: Youtube 播放速度流畅,目前的 http://www.itshidden.com/ 是我用的最好的 VPN,希望能坚持
Ifanr
关于Twitter API的强调和答疑,Twip开发者@yegle 给我们清楚地解释这些机制,很值得一看。 http://bit.ly/yJffj Pls Follow @yegle
【咨讯】
sfufoet
GRsharing: 日本街头为什么摇小旗的多(组图) http://laoxuetu.blog.sohu.com/128544340.html
Fenng
这个《淘宝的一天》看的我眼泪都出来了,产品做不好,对得起这些用户麽? http://blog.alipay.com/1167.html
News163
You are unable to follow more people at this time. Learn more here – http://help.twitter.com/forums/10713/entries/14959
guxiaoqiang
http://bit.ly/ZrOX5 – 调查报告显示,截至7月25日全国应届生签约率约为49.5%,远低于教育部门统计的68%的就业签约率,本科生期待月薪已跌至1725元 #HRNews
wyws
廉政广告遭网友恶搞 戏称“中国最牛科幻片” http://bbs.news.163.com/bbs/wsyz/147630848.html
coldmontis
NDS的模拟器已经相当完善,对CPU有一定要求,但对显卡要求不高。《NDS中文游戏集》 http://www.verycd.com/topics/2747310/
rtmeme
RT @News163: 德国发明入水即溶比基尼 获称"最缺德发明"(图) http://bit.ly/VBZ9i 那些被前女友抛弃的男人可以向前女友赠送这种比基尼泳装进行报复。网易跟帖显示,网民最关心的问题是,如何在中国买到这款比基尼。
wyws
美国市长受贿2万5千美元举国震惊 中国网民也被震惊 http://bbs.news.163.com/bbs/wsyz/147701563.html
sfufoet
GRsharing: 扩增现实 数字生活新方式 http://www.evolife.cn/?p=31087%22#
News163
深度报道:集体户口为何结婚难 http://bit.ly/FQVXN 大学生“集体户口”落户方式的奇特之处是,它和民政部门的规定、计生政策相互作用后,只要集体户口者没有在这个城市拥有房产或直系亲属,他就结不了婚。
rtmeme
[四川地震] RT @wenyunchao: 我不相信有人能把这五百条短信看完而不泪流满面。http://is.gd/24doq
slashdot
Ten Things We Still Don’t Understand About Humans http://bit.ly/kOKoC
【语录】
Fenng
A developer evangelist is a spokesperson, mediator and translator between a company and its technical staff.
guxiaoqiang
校内网要关门? #RT: @xinhaiguang: 据说以后不再会有大学类聚合性网站,现有的将大力整治或者关闭,百度大学吧是一个,影响更大的是校内网,千橡最近可能会宣布转型。
Fenng
很多人可能关心招人的薪水,其实到了一定层级之后,薪水可能不那么重要了( NK 和 N+1K 会让你愉悦的程度有多大?),更为重要的是你的技术能带来的价值,你的技术对业界的影响,这些做好之后自然有你的收益。 #JobsDigg
coldmontis
”用宝珠打扮自己,不如用知识充实自己“
jeffz_cn
总结一下:用Kindle DX看chm,最方便的做法是直接打印成pdf,缺点就是所有的链接、跳转统统失效,阅读时不可同时查字典,样式机械。视觉效果最好的做法就是解开chm,然后写程序格式化html页面并生成索引等等,视复杂程度耗时0.5到2小时不等(类似任务用来面试似乎很合适)。
xiaolai
背后说人坏话的人很好玩:他们坚信1)对方会把他们的看法全盘接受为事实;2)对方绝对不会向第三者转述;3)对方一定会对自己的境遇感同身受,对自己的敌人同仇敌忾……与此同时,他们全然不知自己所讲述的一切能够揭示得最清楚的其实只有他们自己的本质而已……
codinghorror
if you are a software developer and you don’t *enjoy* buying software, then it’s time to take a long, hard look at your career path
codinghorror
wife: subclass of girlfriend. Unlimited access to your private members, hogs all resources, spawns child processes that you can’t kill
【笑话】
rtmeme
RT @secretaryzhang: 天涯论坛网友给人民日报编辑的回帖:“我只有一个建议,能不能用柔软一点的纸张来印刷”
duanzi
RT @icecloud: 路上搬家师傅问我是干啥的,学啥的,来北京多久,balabla都是常规问题,我就跟他聊啊。聊着聊着,他突然说:“其实我是写程序的,在中关村一个软件公司上班,周末出来帮别人搬家” @duanzi #段子 #冷
rtmeme
RT @bluekevin: 话说当年盖茨觉得Microsoft.com太长不好记,想去把ms.com买回来,心说老子不差钱,要多少给你多少就是了,安排鲍尔默去做了,半天鲍尔默回来了,盖茨问咋样啊?鲍尔默说“别提了对方比咱还不差钱”,ms.com在Morgan Stanley手里
rtmeme
RT @doubleaf 领导叫司机把贿金送回家,并叮嘱勿让他妈知道.司机将钱塞内裤,到领导家问夫人:你婆婆在家吗?夫人说不在.司机:那好!边说边解裤带.夫人:你别乱来!司机:我给你钱.夫人:给钱也不行.司机:领导叫我来的.夫人略犹豫后边脱衣服边说:王八蛋,这事也安排别人干
In: Twitter
2 八 2009一直以来看Google Reader都有把好文章加星的习惯,而Twitter本身也有对自己喜欢的tweet添加favour的这样一个选项。可是我舍不得抛弃blu而它又没有这个功能,于是我就在看的时候把自己喜欢的给记录下来,每周分享一次,希望能够坚持下来。
下面每个条目第一行(去掉@)是消息传递者的账号,要访问他的Twitter页面,请按如下模式:
http://dabr.co.uk/user/<账号>
或
自行翻墙使用地址:http://www.twitter.com/<帐号>
【IT】
@jason5ng32
推荐阅读:淘宝网的电子商务生态和丛林法则 http://bit.ly/EiNn8
@guxiaoqiang
http://bit.ly/qk9Pm – 移动互联网入口浏览器之争格局初现 #Mobile
@slashdot
Microsoft Uses Human Computing Game To Tune Bing http://bit.ly/WWtsM
@slashdot
Western Digital Announces 1TB Mobile HD http://bit.ly/JA6ZA
@guao
谷奥( http://google.org.cn ) : Google Apps 的状态可以通过 RSS 订阅了 http://bit.ly/haPAW
@ifanr
Symian基金会UI技术经理Scott Weiss发布博客收集用户对Symbian UI的建议。寻求这种 UI头脑风暴或是进行一种众包,更象是一个具有象征意义的符号,我们从中看到Nokia创新意识或是创新方式的一种积极改变。http://www.ifanr.com/3542
@lidaobing
Google Docs 终于可以将 PDF 公开发布出来了! http://ff.im/-5OawN
@codinghorror
enjoy programming and math puzzles? Check out Bill’s blog (he’s a lizard) http://www.billthelizard.com/
@codinghorror
I didn’t realize piracy was such a problem on the iPhone. Lame. http://is.gd/1RPq3
@riku
Twitter又出问题了,如果你是7天之内新加入的用户,那有可能会出现follow丢失现象,twitter正在解决此问题,请勿急! 请翻墙查看官方通告 http://bit.ly/REoQk
@shanselman
Bing! to replace Yahoo Search – RT @TallyDigitalBiz: CNN http://bit.ly/n7qhv
@Jimsang
雅虎微软宣布达成网络搜索及广告交易 Microsoft-Yahoo Search Deal: The Official Press Release http://bit.ly/v3tKF
@shanselman
"30 Most Influential People In Programming": http://bit.ly/MTUPn
@slashdot
Windows 7 vs. Windows XP On a Netbook http://bit.ly/mRhmx
@infoq
Interview on Wolfram|Alpha, a Computational Knowledge Engine http://bit.ly/2Rx2GK
@Microsoft
http://twitpic.com/c5sbt – Steve Ballmer @ Financial Analyst Meeting, on demand webcast now avail http://bit.ly/YVI9g
@jeffz_cn
RT @laogao: 观点: C#眼下是比Java更好的一门语言 – 一个有着10年Java经验的人如是说 http://bit.ly/LG73g // 当我们一直关心作者有多少年XX经验,是不是有XX之父的称号,而不是根据文章内容来判断,其实这是一件挺悲哀的事情。
【学习】
@jurgenappelo
Bookmarked… Can Managers Lead Agile Teams? http://bit.ly/FAMB8
@guao
谷奥( http://google.org.cn ) : 来自加拿大安大略隐私专员的教程:轻松加密你的Gmail http://bit.ly/7QjgP
@turingbook
一个会讲10种语言的人教你如何学语言:http://bit.ly/Fwe4W 这句话很经典:只有在你不想学的时候,学习才是困难的。
@jurgenappelo
Bookmarked… Ten top issues in adopting enterprise social computing http://bit.ly/rbIFP #scrm
@lixiaolai
在英语角里,大多数人所说的并不是正确的英文,而更可能是“原创英文”。一方面听到的都是不正确的句子,另外一方面自己又坚决不学语法,不是找死是什么?有人孤独求败,英语角里可好,是集体自杀——结果大伙还以为是联欢…… http://tinyurl.com/nkbtv3
@lixiaolai
学语法其实就跟骑自行车差不多 http://bit.ly/KZ5mw
@codinghorror
here’s how awesome Win7 is. I have UAC on and I don’t even care, because it *totally works now*. http://is.gd/1VQKM
@coldmontis
一个浙江富商总结出的23条经典的经商+做人法则, http://hi.baidu.com/0411dlsh/blog/item/891e1e46134bd9006a63e550.html
@pongba
[Reading] 成年人的思想还能进步么?_天涯博客_天涯社区: 传阅 http://bit.ly/wYz8Y
@programthink
Blogger博客更新: 书评:你的灯亮着吗?——找到问题的真正所在 http://bit.ly/d4OWT
@appinn
Reading: "Ubuntu Pocket Guide and Reference" 免费的 Ubuntu 电子书 ( http://bit.ly/cEipe ) //
【贴士】
@riku
#ttips Twitter使用小技巧汇总(收集ing…) http://tr.my/11c
@riku
#ttips 恢复被删除(冻结) #Twitter 帐户的方法:使用你在Twitter上的注册邮箱发送email到 restore@twitter.com ,或进入http://htxt.it/LTFk 填写你的帐户ID
@scavin
CopyTransManager – 管理 iPod/iPhone 的音频视频 | 小众软件 > 媒体工具 http://bit.ly/AGemI
@sfufoet
GRShare: 招商银行一卡通取 PayPal 上的美元 | 网赚家 http://military.shybot.org/node/64
@guao
谷奥( http://google.org.cn ) : 将Gmail变成你的终极GTD(Get things done)工具 http://bit.ly/F2wAW
@riku
#ttips 很多人问如何备份tweets? 我的做法是用 http://www.feedmyinbox.com 订阅自已的twitter更新到 Gmail中,加通过过滤器添加标签归类,方便又急时。
@riku
#ttips Tips: 6种备份Twitter消息存档的工具 ,有几个是可以备份follow数据的,原来我以前有介绍过的说。 http://bit.ly/bXKsS
@riku
RT @kentzhu: http://bit.ly/joDXJ 在天才程序员 @29n 的推荐下找到这个W.P的twitter插件,无须做任何修改即可展示你的twitter在W.P侧边栏。具体效果见 http://ikent.me // 不错正在试用 #ttips
【咨讯】
@slashdot
Are Women Getting More Beautiful? http://bit.ly/OihU9
@shanselman
Want to work for Microsoft as a Developer? Mention me.
http://bit.ly/x34w9
@hecaitou
一种让无数中国男性公民扼腕叹息的新闻:http://bit.ly/SKhxH
@AllanAn
中国互联网的无聊式跃进:遭遇“贾君鹏” http://bit.ly/5wnuP
@turingbook
细节决定成败!用户体验是由一个个瞬间组成的。怎样通过界面设计让用户心动? #今日推书 《瞬间之美》 Designing the Moment中文版 http://www.china-pub.com/195652
@wumao
新华网指示:群体性事件中少用“不明真相” http://htxt.it/B9Bx
@wenyunchao
偏差2天,太牛了!瑞士苏黎世联邦理工学院Didier Sornette称,上海综指将在7月17日和27日之间崩溃。http://is.gd/1Skzi
@baiyi
昨天偶然看到一个民工的账本,我哭了!!!http://bit.ly/enFkh
@shanselman
RT @lyzadanger: Does everyone else already know about this site?! It’s amazing: http://www.artificialowl.net/
@JackPark
ChinaJoy的show girl每天能赚多少钱?请看这里http://bit.ly/17wm1Y
@jason5ng32
http://twitpic.com/bwrku – 这个广告不错。
【语录】
@Fenng
郭大侠语录:一个好的管理者,管理就是服务。
@whitecrow
当你遇到一个闹到很迟钝,自己又很拧的人。唯一的办法就是:能自己做掉的事情就别交代给他做。免得总是费尽给他解释为什么,然后再让他很迟钝的去完成工作,沟通的成本高于做事的成本而且完成的质量还差。
@dawaiwai
人家怀才像怀孕,久了能看出来,我怀才像宫外孕,B超都检查不出来。。。。
@darrenlee3
twitter是收集个人信息的,从这点上讲就根本不安全。凡是server-client模型的网络应用,获得服务器端控制权就获得一切。这点远不及点对点模型。twitter之所以被称为新兴媒体是因为用的人太多,而不是技术多新颖,功能多强大…
@xmpp
技术架构对小团队有非常大的影响。比如一项目最先决定用mysql, 于是分工下去,有的测压力,有的写主从分离逻辑,有的研究mysql调优,有的设计分库。一天突然发现也可以不用mysql, 用k/v存储更简单,性能可扩展性更好。重构后原先技术投入大部分都废了
@JackPark
Opportunity is a shy girl, who just smiles to those who can make her smile.
@shanselman
RT @browniepoints: You’ll Like this it’s WINS (Windows IIS .NET SQL) – @latringo: what is the acronym for the .NET equivalent of LAMP stack?
【笑话】
@ddsb78
昨天一个聚会上有人给我介绍了一位新朋友,说是炒中石油炒成了百万富翁。靠!厉害!佩服!佩服!于是我坐在他边上,悄悄地请他传授秘诀。…他一脸木然地对我说:“其实也没啥秘诀…我原来是亿万富翁。” #Joke
@duanzi
省长和厅长同乘一电梯,省长放了个闷屁,臭不可闻周围人怒。省长训厅长说:你就不能憋出电梯放?厅长委屈直言说不是我放的,众窃笑。不久厅长被撤了,在大会上省长说:屁大点的事都担不起的干部要你何用!
@duanzi
“今天,我裸身躺在床上,被蒙上了眼罩。我告诉我的男友他把我怎样都行。30分钟以后,我下了床,发现他在电脑室打魔兽。他队友需要他。”From 蟹爪 @duanzi #段子 #冷
@guxiaoqiang
http://twitpic.com/c4664 – 很黄不暴力的折纸艺术 #Man #Orz
@guxiaoqiang
一个女孩,到了天堂门口,守门员问:你是处女吗? 她说:这当然! 但是守门员检查她的处女膜时,却现了7个轻微的小洞。 於是守门员问她叫名字。 她答:我叫"白雪公主" (via @lisposter) #joke
@rtmeme
RT @Brig6: 法与律的区别|| 浙大法律系期末考试:“试列举说明法律一词中‘法’与‘律’有何不同?” 某女学生答:“当然不同,如果我告诉我妈妈我的男朋友是‘律师’,她会很高兴;如果我说男朋友是‘法师’,她一定会把打死我!”
@rtmeme
RT @julianch: 乾隆皇帝对身旁的小李子说:[你用一句话来形容朕。]
小李子:
[渣!]
然后小李子就被砍了…//冷……
I'm now a graduate student of Computer Applied Technology in Tongji University. I like Computer Graphics, Web 2.0, Magic, Music and am partially a geek. This blog is about C++, algorithm, cg, comments and other things I may get in touch with in the near future. Hope everyone enjoy this little site. Contact me: 4everlove.xu AT gmail.com
读《Introduction to Theory of Computation》
In: Comment
25 一 2010这学期让我最怨念痛苦的课就是《计算理论》了,本来我读研的初衷就是在TL里面浸淫了许久感觉到自己做为SE的学生在CS这门学科里面基础知识十分的匮乏,读了研就有一些时间补充基础,提高能力。而看到选课单的时候发现有“计算理论”这门课,我不是特别了解这个课程,只是大概知道与自动机有关。接触自动机是在大三的编译原理课上,觉得编译器是一个很神秘很powerful的“机器”,而且计算理论一听这名字就与计算机的基础似乎有着或多或少的联系,所以还是很期待的。可是……上了课之后真是觉得大失所望,一名口齿特别不清的老师,第二次课我坐在第一排,听着他讲了1个半小时,仍然有些不知所云,而且虽然他的PPT做的还是不错的,具体而不过于详细,可是他的讲课方式让人昏昏欲睡,从此我就失去了听他上课的兴趣。而考试需要复习的资料何其多,让我更加厌烦,都有种考好试就把这本借来为了复习的教材还掉的冲动。可是在复习的时候,还是感受到了这本书的价值的,而且后面的P与NP又是我在学习算法的时候很想了解一下的东西,于是就打算在回家前把它阅读完。下面来说说这本书
本书名为Introduction to Theory of Computation,顾名思义应该是一本普及入计算理论门的书籍,作者Michael Sipser,乃著名的麻省理工大学应用数学系计算理论小组的教授。全书分为三部分,涵盖了计算理论的三个方面——自动机,可计算性,复杂性,深入浅出,语言明快轻松,确实是了解计算理论的一本好教材。对于每一个引理、定理、推论,作者均会事先以非正式的语言描述证明的思路,然后再以正式的数学语言对其进行证明,这样可以更好的帮助读者了解证明的思路而不是一开始就给出证明方法令读者丈二和尚摸不着头脑。本书共11章:
因为考试,所以我特别认真的阅读了0~3章,然后自己阅读了4、5、7章,第6章看的有点晕头晕脑且该章相对于全书来说比较独立,跳过不会影响到其他知识的阅读,所以我选择了跳过,而后面四章与算法的设计和分析较为相关,本来我是计划阅读全部4章,后来因为放假了心有点散了,又想在回家前把书还掉,于是就没有继续阅读了。
这本书的优点前面已经说过了,缺点就是有些概念已经比较过时,比如下推自动机和图灵机的定义,就与孙另外推荐的一本参考书:Introduction to Automata Theory, Languages, and Computation (3rd Edition) 和wiki上面的定义有些差别,但是不妨碍这本书成为一本经典的计算理论入门书。