72. 天才与酒鬼,自私与无畏

IT科技2016-12-09 11:10:51 1w
声音简介

2000年4月14日,在美国的威斯康星州,冬天的寒冷仍然笼罩着这个中北部的大地,在万物仍未复苏季节里,一个生命在这一天被发现永远的离开了人世。他躺在一家廉价的汽车旅馆的地板上,手里紧紧握着一个烈性酒的酒瓶,房间里稀稀拉拉的散落着几个已经喝干的酒瓶...


很快,这个酒店的工作人员打电话报警,警察赶到现场,很快确认了这个人的身份和死因,他死于过量饮酒引起的急性脾出血,在此之前的十几年中,这个37岁的中年男子,因为饮酒已经多次入狱,他也多次尝试禁酒,但总是无功而返,最终,他的身体被酒精彻底摧毁,穷困潦倒的离开了这个世界。当时,北国依旧寒冷,身边没有亲人,他走的时候,不知道是否对这个世界有一丝牵挂。那一天是2000年4月14日,时至今日,几乎没有人记得他是谁,即使他留下的遗产肯定帮助了我们所有人。


菲尔•卡兹

在你的电脑上打开一个zip文件,然后用UltraEdit这样可以支持二进制的文本编辑器打开这个zip文件,你就可以看到这个天才的名字的缩写,PK,他的名字叫菲尔卡兹,他用这种方式,留在了我们的电脑里,留在了每一个zip压缩包里,只是,没有人知道他的存在。我猜可能会有一些同学不想动手查看二进制的zip文件,所以,我随便打开了一个zip,截了个图,放在我的微信公众号里,大家可以看到,zip文件格式的前两个字母就是PK。


前两个字母是PK

菲尔卡兹,1962年出生,因为他并不是传统意义上的名人,并且在37岁的时候就孤独的离开了人世,因此,他年轻时候的事迹并不为人所知。其实这符合一般规律,像我们这种默默无闻的人,根本没人在乎你小时候干了啥,在哪里读书,没人知道的。只有等出名以后,再开始重新创作一下,大部分的自传都是这么搞的,根本没什么实话,很多人都是创作自己小时候的故事。但是本文的主角,菲尔卡兹同学,他37岁去世,正如《再别康桥》那首诗里所写的:悄悄的我走了,正如我悄悄的来;我挥一挥衣袖,不带走一片云彩。他前半生的事迹并不为人所知,所以,我也不能胡编乱造,因为他这样的技术人员,我非常的佩服,即使他穷困潦倒,客死他乡,我也很佩服。正因为佩服,我觉得任何的神话他,都是对他在天之灵的不尊重。虽然把他小时候说的很聪明灵利,比如两岁背唐诗,三岁写文章,五岁抄党章会让他的一生显得很精彩,但是,这是不对的。所以,我并不知道他小时候怎么样,只能从他大学时候开始写。


他大学实在威斯康星大学读的,专业是计算机工程科学,然后大学他做了啥也不清楚,反正他毕业了。毕业以后,就去了一家叫洛克威尔自动化的公司,这家公司至今仍然比较厉害,他当时所从事的工作是写软件来控制起重机的机械手臂的,一个很普通的程序员。和我们这些人一样,他也喜欢上网。但是那时候上网和现在上网,还是有巨大的不同。


在当年,也就是1988年左右,上网的时候需要通过调制解调器,将电话里的模拟信号转换成数字信号来上网,速度非常慢,价格非常贵。那时候也没有现在这种一个首页就有5M的门户网站,那时候都是上BBS,类似于现在的百度贴吧吧,但是,我确信,当年的BBS是不会卖假药的!那个时候,就是登录到BBS上,然后看文章。信息以文字为主。但是,当年的网络速度非常慢,导致传送文本文件,速度也是慢的不行。因此,都必须使用压缩软件,将文件压缩以后,再互相传输,这样可以节省用户的时间。当时在美国,最流行的压缩软件叫ARC,但是,这个软件是收费的,菲尔卡兹同学觉得,这玩意也收费,受不了,他就业余时间搞了一个软件,名字叫PKARC,免费的,这个软和商业版的ARC软件完全兼容。在收钱和免费之间,广大的人民群众毫不犹豫的选择了免费软件,搞得ARC这个公司很郁闷,直接起诉了菲尔卡兹,然后,菲尔卡兹输掉了官司,法院判决菲尔卡兹今后不允许再开发PKARC这个软件,也不允许再传播这个软件。当然了,这激怒了菲尔卡兹这头雄狮。包括官司在内的这些威胁,只能吓唬一些普通人,比如说我这样的人,找几个戴金链子,纹身的大汉,上门一下,可能就可以解决问题了。实在不行,再找一些比黑社会更黑的人来解决问题,比如去派出所,实在不行,放大招,去法院起诉,这三板斧下来,99.999%的人也就服气了。但是,问题是,这个菲尔卡兹是一头狮子,这个就难办了,法院判决下来以后,他被彻底激怒了。这一怒不要紧,他喝了一瓶酒冷静了一下,花了两周时间,开发了一个软件,最后把那家公司干死了,我查了一下,有个信息说那家公司有300人左右,然后他一个人,几瓶酒,外加两周时间,那家赢了官司的ARC公司就稀里糊涂的死了。这个等会儿我们再说,先来说说压缩的问题。


因为我这个节目,纯粹是自己自娱自乐,所以呢,我想讲技术就讲技术,现在我要开始讲压缩的技术。从本质上来讲,压缩的目的即使消除冗余。比如说,数据得有冗余才可以压缩,如果没有冗余,根本没办法压缩。比如说,让我们压缩20万位圆周率,这个再聪明的人也没法压缩,因为圆周率没有冗余,用啥算法也白搭,无理数没法压缩。压缩的基本原理就是寻找重复出现的字串,然后用更短的符号来代替。比如说,有2万位数字1,这个很好压缩,因为都重复么,可以用几个字符代替,比如:用字符串2万来表示,然后再加上个1。这样就可以压缩了。再比如,“然而并没有卵用”这7个字,可以用“然并卵”来代替,也算是压缩的一种,解压的过程在我们每个人的脑子里。


那我们再来考虑一个问题,压缩有极限么?有没有可能无限的压缩下去呢?答案是,没有!比如很多人说自己发明了某种特别的牛逼的算法,比现在的好多少倍,这个基本上就是吹牛。比如说,在1992年,美国有一家叫WEB Technology的公司,宣称可以将任何文件压缩为原来的1/16,这个一看就是吹牛,不过这家公司就靠这个技术,忽悠了很多粉丝,还骗了不少投资,最后当然倒闭了,但是从骗投资的角度,这个技术是成功的。如果我们从纯技术的角度来看,这个撒谎一点也不高明,因为他说任何文件,他都可以压缩为原来的1/16,其实我们可以随便拿个文件,让他压缩,然后获得了一个1/16的文件,然后再递归让他压缩... 然后一个好好的文件,就压缩成0了。所以,我实在是搞不懂这个技术竟然能骗那么多钱,看来还真是没有赚钱的眼光啊!


在1948年,贝尔实验室工作的香农发表了经典的论文,论文的题目叫《通信的数学原理》,这个学计算机或者通讯专业的学生肯定都是知道这一篇论文的,这篇论文的核心思想是:任何信息都存在冗余,冗余的大小与信息种每个符号出现的概率有关。然后香农借鉴了热力学的概念,把信息中排除了冗余以后的平均信息量称为信息熵,并且给出了计算信息熵的数学表达式。这篇论文就是信息论的开山之作,也正是这个信息熵奠定了所有压缩算法的基础。因此,可以根据香农老师给出的数学公式,计算出压缩的极限。


讲压缩算法,必须要讲的一个算法叫LZ算法,为啥叫LZ算法呢,因为这个算法是两个犹太人的名字的首字母,一个是L,一个是Z。这个算法非常的简单,如果大家会查字典的话,就一下子明白这个LZ算法的原理了,就是使用字典的页码和行号来代替每一个单词,因此基于LZ算法的这类压缩算法又叫做Dictionary Coders。这两个老哥分别再1977年和1978年发表了两个LZ算法,分别叫LZ77和LZ78算法。这个LZ系列的算法影响非常深远,等会儿我再回过头来说这个算法。因为除了这个算法,还有一个系列的算法也特别厉害。在比较这两个算法之前,先说说那个算法。


其实香农老师在那篇论文里,也提出了一个压缩算法,叫香农编码,但是这个编码技术,也不怎么样,后来麻省理工的一个教授,基于香农编码提出了一个改进的算法,就是我们教科书里说的Shannon-Fano编码,但是,这几个算法都是为了说明问题,顶多算是揭示了变长编码的一些基本的规律,如果碰到加密大量的数据,效率低下的和政府一毛一样。根本就没法将压缩算法真正的实用。因为一个东西一旦要大规模的实用化,就需要兼顾效率。否则的话,根本没人用。比如你压缩的倒是挺好,一个100M的文件压缩2小时,解压2小时,根本没人会用这玩意儿。


在压缩算法上,第一个真正实用的算法叫Huffman编码,这个算法是在1952年提出的。当时Huffman在麻省理工读书,还是个学生。他不想上课,然后老师说,那行,你想上课没啥问题,但是,你得给我展示一下你不想上课的理由吧。我在上大学的时候,也经常不想上课,我给老师展示的理由是我特别能睡觉,只要是早上8点的课,我一视同仁的都不去上课,起不来。但是这个Huffman同学人家觉得老师说的对,然后他就设计了一个算法,来压缩。老师一看,我靠,好了,你不用来上课了,这门课满分。因此,这个不想上课的同学,设计的算法,一直到今天,都是压缩算法里的王牌,影响至今。


在1984年,一个叫特里研究人员,这里的特里不是英格兰后卫那个特里,这个特里不会睡队友的老婆,发表了一篇论文,那篇论文的研究成果就是后来非常著名的LZW算法,如果有人不知道LZW算法的话,肯定看过GIF动画,就是现在咱们发表情包的那个GIF,虽然现在很多GIF已经不是第一版的GIF格式,但是,第一版的GIF动画,使用的算法就是LZW算法。这个算法就是我前面所提到的LZ算法。这个算法就是字典算法。


讲到这里,我已经提到了两种算法,一种是字典式算法,就是LZ算法,一种是Huffman编码算法。现在我们主要使用的算法是字典式算法,比如WinZip,WinRAR,gzip等等,都是字典式算法。


关于算法的事情就先讲到这里,希望大家对LZ系列算法和Huffman算法有所了解,为什么要讲这个呢,因为接下来我要开始讲本文的主人公了,就是菲尔卡兹。菲尔卡兹被ARC公司告上法庭以后,就输掉了官司,因为前文我提到的LZ78和LZW这两个神奇的算法,是有专利的。他能做的选择不多,只能选择性能最差的LZ77算法,这个算法的运行效率非常不好,否则人家也不会重新发明LZ78这个算法了。然后,菲尔卡兹天才般的将LZ77这个算法,和我前面提到的Huffman编码结合起来,创造了一个新的算法,名字就是deflate编码。因为他输掉了官司,他非常气愤,他使用这个他自己发明的新的算法,制作了一个软件,名字叫PKZIP,然后,菲尔卡兹将这个软件和以前他做的软件一样,免费的发放。这个免费的软件不仅仅是免费,无论从压缩比,压缩以及解压速度,都超过了商业软件ARC。结果,几乎所有的人都开始使用菲尔卡兹的软件,ARC这个商业公司,就此消失了。


同时,菲尔卡兹还开放了所有的格式,他讨厌商业公司的做法,因此他的算法和ZIP编码格式都可以被任何人使用,而不用付给他一分钱。凭借这个无私的行为,菲尔卡兹赢得了尊重,当然,仅仅是声誉上的尊重。他尝试让用户能付给他一点钱,但是即使付给他钱,这个付费的软件和免费的软件并没有什么区别。结果可想而知,大家根本不肯付钱给他,所以,即使他做出了如此流行的软件,他个人并没有获得经济上的好处。如果他能从中获得一点钱的话,他也不会住在破旧的汽车旅馆里,喝着劣质的烈性酒,最终,结束了自己的生命。


菲尔卡兹的zip已经无处不在,很长一段时间,winzip的下载量长期排在所有共享软件的第一位,高达2亿次,但是很少有人肯为此付钱。也许有人说,我天天用winrar这个软件啊,是的,在中国,这一点也不奇怪,但是不要拿中国的情况等同于全世界,比如如果在外企的话,发送的压缩格式,还是zip为主,为什么呢?因为winrar在国外一点都不流行。


为什么在中国winrar如此流行呢?其实在盗版盛行的国家,winrar都特别流行,在盗版界,有个东西叫0day,就是正式版的软件发布以后,盗版在24小时之内出现,这就叫0day。发布0day的这个组织呢,和winrar有某种说不清道不明的关系,发布的破解补丁,只使用rar格式来发布。这就导致了一个很吊诡的现象,winrar这个商业软件竟然靠盗版组织来生存,zip这个开放格式的软件,竟然靠商业公司来支持。不管怎么说,zip是压缩格式毫无疑问的主流。在任何操作系统上,不需要安装任何软件,就可以解压zip格式,如果想解压rar格式,一定要先安装一个软件才行。


让我们在回到2004年4月14日,那个寒冷的夜晚,穷困潦倒的菲尔卡兹,喝完最后一瓶酒,慢慢的倒在了地上。他不知道,他写出的软件已经让太多人受益,他只知道,他没有钱住一个好一点的酒店。在他弥留的那个瞬间,我不知道他是否还怀念这个世界,他付出了所有,他将他毕生的才华写出了一个伟大的软件,他却一无所获。自私是人类最根深蒂固的品德,如果世间真有轮回的话,今生他已经无牵无挂了,希望他永远都不会再转世为人了吧,这个人间对他的伤害太大了...就让人间留给卖假药的富豪,和爱占小便宜的群众吧。


如果你觉得有用,欢迎打赏。

用户评论(9)
展示条数:
20条
  • 20条
  • 50条
  • 100条

表情0/300
锋何

锋何

不要纠结有人骂人,骂人的人都是竞争对手,正常人谁会无故骂人,前面的创业的专辑很好听,真实,很有用,停了很可惜

zhao_cg

zhao_cg

长知识了

湖畔镇

湖畔镇

有趣。

卫星_vp

卫星_vp

哥敬你杯,咱在碰一个

呦_fL

呦_fL

已阅

海贼缺_s2

海贼缺_s2

我喜欢这个人!

Corner5016

Corner5016

效率像政府一样😄

淩鷰

淩鷰

好可怜的一生啊!也很可敬!唉……

有缘桥下客

有缘桥下客

开头的音乐是什么呢?

下载手机APP
扫一扫 下载喜马拉雅FM手机APP
选择下载方式
关注微信公众号
扫一扫 关注我
意见反馈
1.您可通过官方App在
‘帮助与反馈’中留言(推荐)
2.拨打客服热线:
400-838-5616