互联网目睹之怪现状

不知道从何时开始,国内互联网开始被流氓统治了。先列举一些流氓的形式:

  1. 彻头彻尾的:百度是最好的例子,据说它是靠发垃圾邮件起家的,到如今它的新产品百度搜霸仍然被人责骂,甚至上了CCTV。
  2. 弃恶从善的:奇虎、暴风影音。奇虎甚至还做出了360安全卫士来对付曾经的兄弟们,不知道是出于什么动机。
  3. 半路出家的:DoNews、雅虎中国。都是被流氓(分别是千橡和阿里巴巴)给收买了。

流氓是这个世界不可缺少的一部分。假如没有流氓,警察就没饭吃了。所以不要奇怪互联网上有流氓存在。

不过最近发生两件事,绝对是值得回味的”怪现状“。

  • 婊子立起牌坊:看看这条旧闻:“雅虎助手:我不是恶意软件”。好家伙,北京市公证处,够权威。可是雅虎助手做了些什么广大群众心里都是有数的,最骇人听闻的是后来的版本安装时会自动删除360安全卫士(你也可以认为这里面有狗咬狗的成分,不过用户没有允许它去咬)。它一说不是恶意软件,中国人民都笑了,世界上还有恶意软件么?再看看网友录下的CCTV视频:http://www.youtube.com/watch?v=nyFZTKDDQCM
  • 痞子当了局长:CNNIC成为反恶意软件协调工作组政策与标准组组长单位,这是真的。我也受过CNNIC中文上网软件的害,卸载时告诉重启后会卸载完全,实际上重启后又安装完全了。真是滑天下之大稽。

荒唐,可笑,悲哀。

在WordPress里使用LaTeX输出公式

mimeTeX处理LaTeX的数学公式,并直接输出一个gif格式的图片。可以在这里看它的教程,并且也有输入框,让你写几个公式看看效果。我的前面两篇日志中也都包含有mimeTeX输出的公式。

用LaTeX写公式实在太爽了,mimeTeX终于让我们可以在写Blog时也可以方便地插入公式,而不用自己运行一堆命令生成图片再上传。

Dahnielson专门为WordPress写了一个插件,使用一个公共的mimeTeX服务器,从而避免了在cgi-bin中安装(有的服务器还不支持这个)。它从服务器上取得图片,放在Blog目录中的wp-content/cache目录下。只要在写文章的时候把TeX公式用<tex></tex>标记括起来,页面在浏览器打开时就会将代码自动替换为图片,非常方便。

BloggingPro提到了Yujian写的类似插件,不过仍然需要安装mimeTeX在cgi-bin中。其它的方案如LaTeXRender,对服务器的需求更多,就不提了。

Lottery问题的递归方程

继续考虑Lottery问题的第三类(有序、可重复),一个同学根据下边的图列出了一个递归方程如下:

T(n, m) = \left\{ \begin{array}{ll} T(n - 1, m) + T(n, m - 1) & a \geq 2, b \geq 2\\ 1 & n = 1\\ n & m = 1 \end{array} \right.

T(n, m)设前n个自然数填充m个空,按照要求有T(n, m)种填充方法。图中只给出了n=3, m=3的情况,树的高度为m,从根到每一个叶节点的路径上的标号序列就是一种方法,所以叶节点的个数即为填充方法的个数。用蓝线将图分成两半,则可以发现,左边的子树与T(3, 2)相同,右边子树结构与T(2, 3)相同。可以想象对任意n>=2, m>=2这个式子都成立。

一行行列举T(n, m)的值(按每行m+n的值相等),就可以发现跟杨辉三角很相似。可以证明这个方程的解就是

C_{n+m-1}^m

不过,可不可以在不知道结果的情况下把它解出来呢?

Topcoder上的数学题

前几天上Topcoder,第二个题(Lottery)就让我比较郁闷。

输入是一些彩票的描述,有名字、可选数字、空格数、是否有序、是否唯一这些项目,有多种彩票,以字符串数组类型输入,要求在输出中按照各种彩票的可能个数大小对这些彩票排序。给定可选数字n,空格数m,则问题就是在1, 2, … , n中选择m个来填空,并按照是否有序(非降序,如:1,2,2,3)、是否允许重复的限制来计算可能的答案数。

这其实就不算个算法题。首先就是要分析输入字符串,生成可以操作的问题对象(需要定义类),考察的是对语言运用的熟练程度。然后要根据问题限制求出排列数,考察的是对排列组合的掌握。最后是排序,如果用Java,实现一个Comparable接口,还是写一个实现了Comarator接口的类,随便了,不过前一个更方便。如果用C++,那么就写一个回调函数。这考察的又是语言。

Lottery problem可怜我就在排列组合那里出了问题。现在每次遇到数学问题的时候就没信心,总是觉得学得太差了,好像以前学过的东西都忘了。这个问题,如果不考虑是否有序的话还算简单,很容易想出来,但是考虑到有序,就不知道从何处下手了。

问了一下数学比较牛的xl,他马上给出了答案。

Lottery问题解的个数
是否有序 是否允许重复 答案数
F T n^m
F F P_n^m
T T C_{n+m-1}^m
T F C_n^m

我问的是后两种情况,最后一种给出答案我就明白了,n个数里取出m个,按顺序就只有一种放法了。第三种情况,他说也是猜的,看来数学好,感觉也是对的。后来在Wikipedia上找到了解释,这是个很普通的问题吗?我没想到会很容易在上面找到该问题的解释,呵呵。那里已经给出了非常好的讲解,这里就不再赘述了。挺有意思的,自己凭空想,怎么也想不明白是怎么回事。

修改live注册页面的userscript

cnBeta爆出了一个注册@live.com用户的方法。以前在yahoo想注册一个用户,能想到的全部已经注册,资源枯竭了。所以这次就抢着上去注册了和自己有关的所有用户名。

顺便写了一个GreaseMonkey的userscript,不用每次注册都要在地址栏手动复制一次。

先安装GreaseMonkey,再点击这个链接:addlive.user.js,GreaseMonkey会自动提示安装。

可怜的骡子

Donkey它们与这个现代化、快节奏的城市如此不协调。

它们被主人的鞭子抽打着,躲避城管,或者狂奔着与宝马、红绿灯赛跑。

它们的钉了铁掌的蹄子踩在坚硬光滑的柏油路上。

它们总是招来行人异样的目光。

它们不会说话,甚至不声响。

退学是要本领的

在水木上看到一个讨论,里面提到了前不久退学的王垠,是某个网友出来鄙视他的。有人回贴说,文人相轻,这样只能自降身份,我同意。这位朋友一张口就这家伙连什么什么都不会,一副唯我独尊的模样,显示自己很牛。也许他的确很牛,不过世界上不缺少这样的垃圾。──无关话题了

我想大部分人都认为国内的教育体制太差,可是敢退学的又有几个呢。我也不想在这种地方呆着,可是又不知道出去以后应该怎么办。当初想上研究生,其实是想逃避社会,逃避生活。本来是有机会找到工作,接触生活的。混三年,拿个证书,走人。当然混是对学校方面,对自己还是要负责任。如果我生活宽裕,能交得起40000培养费,我也想退学,表露一下这些无所事事的研究生的心情。

当然是有研究生是在干正事的,不然中国就完了。我也希望我能干些正事,但到底能否,现在还不得而知。那些整天看paper,整天copy代码给老板做廉价劳动力还以在做“科研”在搞863、973自慰的研究生们,醒醒吧,你也老大不小了。

我就是这样一个人,如果不小心有研究生看了这些话,别受影响。

垃圾,垃圾,垃圾,全部都是垃圾。

Novell与Microsoft之合作

最近比较热的一条新闻是Novell与Microsoft的合作。这里转篇学校BBS上的文章,究竟将来会如何,这是不是MS的阴谋,拭目以待吧,呵呵。原文地址

发信人: Galoisx (9800~昆虫博士), 信区: Linux
标  题: 号召大家谨慎使用Novell Linux产品
发信站: 瀚海星云 (2006年11月04日13:33:43 星期六), 站内信件

所有的故事都和Microsoft,一个体积硕大并诡计多端,一个永远是Linux 和自由软件的敌人有关。

2006年11月2日,Novell和Microsoft联合宣布关于两家公司的一个合作, 也就是Windows和Novell Linux的一项合作。声称MIcrosoft将为Novell SUSE Linux和WInodws的互操作性提供a degree of sales support,以及 Microsoft将保证不会因软件专利问题起诉Novell SUSE Linux用户. [详情请看http://arstechnica.com/news.ars/post/20061102-8141.html]

让我们一起回忆,Microsoft的历史,尤其是和Linux相关的历史,自从 Linux和自由软件进入公共视野以来(1998)。微软作了很多事情,说了很多 宣称,但唯独没有一件不是想置Linux(他的来自平民大众的竞争对手)于死地 的。

无数次FUD(Fear, Uncertain, Doubt)旨在用威胁恐吓来吓倒竞争对手, 打击竞争对手用户的信心,是Microsoft一贯的伎俩,但对于Linux,这个 来自大众,来自社区,竞争对手即是用户,用户即是竞争对手的强大对手, Microsoft一次次无功而返,而Linux却在每一次对决后仍然大步前进,而 这又进一步使得Microsoft更加担心,使出更进一步的手段。

Microsft刚开始并不care Linux(1998前),直到当Linux开始变得家喻户晓时, 它没法忽略它时,不得不Care了,就出钱收买一家调查公司做操作系统性能 对比评测,其结果当然是说Linux性能不好(1999),谎言被回击之后。它又 接着说Linux不nice,是cancer,是棵毒瘤(2001, Steve Ballmer),进而发起 另一轮混淆黑白的FUD; 再之后又搜集起子虚乌有的报告,说Linux系统使用价格 比windows昂贵,谎言再次被事实无言的击穿。

历史上,没有一家公司能像Microsoft那样将子虚乌有的东西吹嘘的天花乱坠, 将FUD手段运用得淋漓尽致,能够如此不要脸的欺诈,恐吓竞争对手和用户。

一次次的FUD失败导致下一次更无聊也更无耻,更强奸民意的FUD. 2003年, Microsoft买通了Linux和自由软件社区阵营中的背叛者SCO公司(它曾经贡献过Linux), 它们联合出演了一处滑稽的闹剧,一个出钱,一个出力,想告Linux代码侵权 知识产权。

当一些人们以为,Linux这下也许真出问题的时候,因为这是来自Linux 自己身边的谋杀和暗杀。但最后,真相又公之于众了,原来SCO一直处在财务 低迷困难重重中,Microsoft利用了这个没良心和意志淡薄的叛徒的这种心理, 通过另一家公司给SCO支付大量现金,背后策划攻击Linux、自由软件和所有 Linux用户。

这是一个可耻的闹剧,让我们看清楚了两个可耻的主角: 叛徒SCO和刽子手头目 Microsoft. 也让Linux在代码开发和吸收上进行慎重思考和改革。

那么,我们要问,还有下一个叛徒吗?答案是YES. 因为刽子手还在,刽子手金钱 的魔力还在,就可能有下一个叛徒。

在没有事实面前,我们不会指责谁是叛徒,但我们作为一个普通的Linux和自由软件 受益者,我们有责任监督叛徒,回避叛徒,有责任维护赐给我们泉水的源头,不受 污染,我们要警惕任何伤害行为造成的后果。

我们每一个人都不要妄自菲薄,不要以为一个普通用户的影响是微不足道的,我们要 知道我们的社区恰恰来自于一个一个的普通用户,每个自由软件都从一个人,或者 几个人萌芽,然后通过每一个开发者,每一个用户,整个协作的社区发展壮大。 我们有理由坚信社区的力量是无穷的。

为的是我们能继续使用,继续发展壮大Linux和自由软件。我们要警惕软件专利 的采纳,软件专利是自由软件的敌人,软件专利能够限制自由软件,限制Linux的 传播,使用,发布,限制了软件的自由和思想的自由,也最终限制了人的自由。 而软件专利也许是Microsoft最后可以拿出来和Linux较劲的勾搭。

今天Microsft在推进软件专利上受阻,很大程度上来源于自由软件社区的力量, 我们没有钱,但我们有大量的热爱自由的普通人。而Microsft正在做的可能就是 逐步瓦解自由软件社区,这样子它才有机会继续推进它的独断。只要我们坚持, 并认清事实的真相,软件专利的恶果,软件将永远和思想一样自由。

今天Microsft和Novell,我们的原来的好朋友结盟,听起来像是Microsoft终于开始 从善合作了,提供支持,避免你受专利侵诉,多好啊!

但我们要对这种假惺惺说NO! 他提供支持是因为Linux现在很强大,很多人在用了, 如果是由于他的windows的原因导致这些用户没法继续使用windows,损失的是 他Microsoft自身,不是我们。Microsft是在为自己提供支持,但美其名约是为 Novell Linux提供支持。Linux自身的开放足以支持和包容其他操作系统。

其二,Microsft宣称中说,他不会起诉使用SUSE Linux的用户,但你想想其他 GNU/Linux系统的用户怎么办?Microsft照样可以起诉你,只要他认为你损害他 的利益。整个自由软件社区,整个Linux社区都是一体的,各GNU/Linux系统关系 千丝万缕,伤害一个自由软件项目,就会连锁响应到其他项目,这就是Microsoft 的旨意所在。自由软件体现的是大众的自由,而若要大众去屈服或者适应某个独裁者, 这是违背伦常的。谁今天不顾自己的原则和信条,巴结一个无理无耻的独裁者,谁 就是昨天的叛徒SCO.

Microsft和Novell结盟的真正用意在分离自由软件社区,在此我们先不猜测Novell 的原则。但Microsoft其目的和多年以来的FUD策略目的是一样的,他的终极目标只有 一个,置Linux和自由软件于死地。让所有人,全世界的人都得付钱给Microsft,即使 你或许只是想用电脑存下你亲人,你朋友的照片留作纪念,这个看来很自由的事情, 但你得为此向Microsoft付钱。

Microsoft永远是Linux的敌人,即使你在用windows工作,你需要它,这都是实情。 但只要每个人心里希望存在和windows竞争的对手,避免垄断,喜欢Linux和自由软件的总总优点。你都可以为Linux更好的发展做出贡献。

06/11/04 郑裕峰
=============================================================
|| In daytime, I am a Penguin. ||   zyf11@mail.ustc.edu.cn ||
|| At night, I am a Daemon.    ||   PSO Project.[Storm]    ||
============================================================= 

Update: 又看到一些信息如下,原文在http://womble2.livejournal.com/59403.html

Bruce Perens pointed out some implications of the deal. This is like the Microsoft-SCO dealings in reverse: Microsoft threatens Linux vendors with patent lawsuits and Novell is the first to buy protection. If you think this sounds like conspiracy theory, see what Ballmer has to say. Microsoft presumably hopes to force Linux into a conventional pay-per-seat business model, because it’s a master of that game.

Look at who the press release quotes as acclaiming the deal and remember that these sponsors of Linux and free software are not our friends. They sponsor free software so long as they think it’s good for business. We shouldn’t expect loyalty from public corporations, nor give it to them.

From the same press release, I quote:

Novell will also make running royalty payments based on a percentage of its revenues from open source products.

If you are a copyright holder of software that Novell receives and distributes under GPLv2, please ask them whether they have obtained a patent license covering your work, and if so, how they intend to comply with section 7.