Why Richard Stallman always vote against Microsoft

引子:Stallman warns of Mono ‘risk’

Richard Stallman是个在IT界是个响当当的名人,不夸张的说,他的出现是对UNIX文化的一个巨大的贡献。他最大的影响是在自由软件运动方面,创立了Free Software FoundationGNU,同时也是个黑客、一个理想主义者,且在我看来,他还有些偏执狂。

相信很多了解Richard Stallman(以下简称rms)的人,包括我,都会以仰角45度的方式来看待他。他是个不折不扣的牛人,比如他编写了emacs、gcc、gdb、GNU make这些经典的开发工具,每一款都可谓是个重量级的作品。相信Bill Gates也对他尊敬有加。

天才行事往往异于常人,rms不爱运动,着装朴素,一个典型的geek。工作上很难和同事相处,不管是从技术上,还是人际关系,他总是和别人格格不入(援引维基百科词条)。

他创立了copyleft这个概念,它抵制一切版权相关的东西,他认为自由软件才是软件业发展的最终方向,诸如微软这样的厂商是对软件发展的阻碍,限制了用户的自由。

关于什么是自由软件,Google一下,不难找到它的定义,你也可以听rms本人的亲口定义:http://www.youtube.com/watch?v=uJi2rkHiNqg。一个不恰当的比喻,他有点像在推行软件业中的共产主义,愿景是如此的美好,可未必真的人人原意这样。

非自由软件的典型代表就是微软,也是rms的抨击对象,他反对微软的DRM(DefectiveByDesign.org),反对微软的Word规范(Campaign for OpenDocument),反对Vista,还有如前面提到的,他反对开源社区将.NET移植到Linux上,等等。

对于rms描绘的美好蓝图,没有人会说他有什么不好,问题是软件业也是360行中的一行,你不能奢望它能在短时间内达到‘自由’的境界,就像我们不能要求图书出版业也‘自由’一样,这个比较还是不恰当,但我想你懂我的意思。我也赞成自由软件,但是我不赞成过度的要求,对于那些闭源软件、专有协议等有违copyleft概念的东西,我们的不需如此的横眉冷对,完全可以共创一个和谐社会。企业有权利保留自己的私有代码、专有格式,赚钱是它们最根本的出发点,它们不是研究所,不是慈善机构。让每个企业都如Richard般的伟大,实在有些强人所难。

第一行提到的Mono,本来是一些热心人士(Novell)好心将.NET移植到Linux平台,rms却发布文章批评Debian不该这么做。即使Novell不这么做,总会有人去做。

有句话如是说:一切可能出现的东西,它一定会出现。

总结:美国人不懂什么叫“和谐社会”,所以有了Richard Stallman。

His Music Will Live Forever

Michael Jackson’s albums:

find out more: http://myplay.com/video-player/michael-jackson

MediaWiki插件介绍

实在受够了MediaWiki的表格编辑功能,简直就是【本词条由绿霸过滤】。遂上官网去下了FCKeditor(official)版本,顺便看看别的插件如何,着实挑话了眼,太多了。相信很多人也如此认为,所以有了此文,介绍一下我认为比较有用的几个插件:

FCKeditor
如下图:
image

有了它,你再也不需要手工敲打那些繁琐的表格Tag了,还有其他的一些WYSIWYG功能,一图胜千言,我不说了。

GnuplotBasic
它基于gnuplot,一个强大的科学绘图软件,有机会我也详细介绍下。GnuplotBasic可以用来创建很复杂的、用于科研的图形。比如带有函数的图、折线图、直方图、二维的、三维的等。

Image:GnuplotBasic-Sample-01.pngImage:GnuplotBasic-Sample-03.pngImage:GnuplotBasic-Sample-04.png

参考上图,更多信息请去:http://www.gnuplog.info

Renameuser
为什么要Rename,因为缺省情况下MediaWiki是不允许删除账号,有违参照完整性,如果有人在你Wiki里注册了不和谐的名字,该怎么办?不能删,改之。

Include
这个插件有些危险性,如果你的Wiki在外网,请不要使用它,如果在一个安全的网络内,你确信没有人捣乱,它还是值得推荐的,可以将外部的一个URL嵌入一个Wiki页面,通常我们用它来嵌入一个动态的页面。

没了,待我慢慢研究,慢慢更新

FreeMind
它可以将一个FreeMind的源文件直接显示在Wiki页面上,以flash的方式,可以放大、缩小、拖动、折叠等。之前,我在FreeMind里面导出成图片,再上传,太费事了,还是这个方便。

暂时就这么多,待我慢慢研究,慢慢更新。

注:
有些插件可能会导致MediaWiki的Special:Version页面无法正常显示,原因是其中的某些插件中包含特殊字符,比如:

// Extension credits that will show up on Special:Version
$wgExtensionCredits['parserhook'][] = array(
    ‘name’ => ‘GnuplotBasic’,
    ‘author’ => ‘Gérard de Smaele’,
    ‘version’ => ‘0.9.4′,
    ‘description’ => ‘Adds the tag <code>&lt;gnuplot&gt;</code> to use Gnuplot’,
    ‘url’ => ‘http://www.mediawiki.org/wiki/Extension:GnuplotBasic’,
);

上面作者名字中含有非ASCII字符,会让Version页面一片空白,只要把上面的字符用英文替换即可。

Tor+Brower

关键词:Tor、浏览器、翻墙、Internet Censorship、GFW 、封网、洋葱路由。(Search Engine Bot请看这里,如果你是人类,请忽略本行:)

为什么我要介绍Tor,其实你完全可以在网络上搜索到Tor的信息,下面我插播下我的博客准则:

  1. Rule No1: 通常我不会在自己的博客中介绍一些时效性强的东西,诸如流行软件等,因为它们不保值,随着时光流逝,就逐渐失去它的价值
  2. Rule No2: 我不太喜欢介绍很容易找到的东西,比如什么是Linux,在信息过载的时代,你常会发现同样的主题在很多网站都有,同质化现象很严重。我们要的不是人云亦云,而是独特的观点,虽然很多时候很难做到,但是我们需要去努力
  3. Rule No3: 我会介绍一些经典的东西,当然何谓经典,这个完全由我说了算,因为这里是我的地盘。这条其实是对Rule No1的补充,但请区别对待于Rule No2,这里的经典是指鲜有人知的经典,比如LaTex。
  4. Rule No4: 这里的文章多数代表我的价值观,我手写我心,为什么?如果你是一位喜欢中式古典风格的人,家里装修成波西米亚风格(本词条由Nick又名骑牛居士携夫人Tracy女士友情赞助),你肯定会心中很别扭。
  5. Rule No5: 这里通常不会对某个 Org. 做正面报道,因为我和他们有个约定,正面的由CCTV报道,我负责其他的(别说我们是对立的哦,我们是一个Team,只是分工不同),并且我相信从多角度看问题会锻炼人的思维
  6. Rule No6: 对于这些规则,我拥有最终解释权

广告插播结束。Tor其实符合规则2、部分符合规则3。只是对于Tor这个软件,这个搜索关键词,它有别于他者,因为众所周知的原因,你可能搜索不到,而我又认为它比较重要,这个就是我在这里介绍的原因。

书归正传。Tor是什么:Tor 是自由软件和一个开放网络,帮助你抵御是一种威胁到个人的自由与隐私、商业活动与业务关系的保密和国家的安全的网络的监视行为。Tor 最早是由美国海军研究实验室发起的第三代洋葱路由项目。更多详情请参考:http://www.torproject.com

有了Tor你可以干什么?。。。请神游到低俗内容的同学回来,有了它,我们可以访问任何网站,只是速度稍微有些慢,所以我推荐它作为你的辅助浏览工具,这里不太推荐你去访问一些会让你‘心神不宁’的网站,万一你有个同学也叫高也就不好了。

我这里不想说的太复杂,因为自己会用Tor的人,大多不需要看这篇文章,而看这篇文章的人通常害怕或者讨厌复杂。基于这点,我的推荐如下:

  1. 请你搜索Portable Tor Browser或者Tor便携版,你通常会搜到一个FireFox浏览器和Tor的包,这个叫便携版,解压后,你不需做任何设置就可以上网了,而且你可以把它拷贝到U盘中,随意的带走。我这里就不放链接了,通常过一点时间链接就变死链接了,这个违反Rule No1。

我说完了,不是很复杂吧。

Google stopped?

Google全线崩溃,记录下这个特殊时刻,犹如本站的域名一样,Google在中国停下了它的脚步。希望这次是个事故,很快会恢复。

10th Anniversary for MSN

祝贺MSN10周岁到了,十年相知恒有信,MSN十周年庆典活动:http://10.msn.com.cn/

image   image

如左图,我的MSN账号注册于2000年12月13日10时19分19秒,当时我在哪里?网吧?学校机房?还是系办公室?6年后,我把账号迁移到自己的域名,如右图。

MSN Messager一直是我比较喜爱IM工具之一,刚毕业那会儿可以说是异常的痴迷于MSN Messenger,几乎每天都关注MSN相关的新闻,和朋友们在网络上分享最新的MSN Tips,为此还制作了一个MSN资源网站:MSN中文资源站,地址为:http://msn.charry.org,和http://msn.googlestop.com,现已停止维护,里面有很多头像都是我亲手用Fireworks做出来的哦,且在每个新版本发布前都在第一时间发布相关报道。

后来还研究了一段时间的MSN Protocol,再后来用了别人的协议包写了一个傻傻的MSN机器人,美其名曰:如花。竟然还上了电视,不过是个小台,有网友将视频(原始版本)发给了我,对于刚毕业没多久的我,这着实是件比较让人兴奋的事情。

对于如花,印象最深刻的是:有个如花的好友失恋了,向如花哭诉心中的苦闷,在某些时候人并非是唯一的倾听者,如花就是一个很好的听众。

毕业后,QQ越来越火,当时感觉QQ的自动隐藏到屏幕外的功能非常有用,就做了一个这样的东西: MSN Buddy(停止维护,不保证还可以使用)。为MSN增加了一些有趣的功能。

再再后来,由于工作的关系和兴趣的转移,就没有过多的关注MSN相关话题。始终没有变的是:MSN Messenger始终是一款令人钦佩的IM工具,尽管你可能喜欢GTalk,喜欢Yahoo Messenger,喜欢QQ。

点击这里查看MSN 10年成长史:http://10.msn.com.cn/history.html

GMail Spam Issue

近日发现GMail中的垃圾邮件越来越多,尤其是今天,一下收到了100封左右,创历史新高,奇怪的是这些邮件都是用我的一个伪造的邮箱发出去的:

image

如上图,第一页已经被垃圾邮件占满了,且大都是别人的自动回复。

绿霸用户体验手记

【坚持每天使用绿霸,持续更新本手记】

工信部好心好意花了41,700,000+RMB给咱们开发了这么一款当下闻名遐迩的‘绿色’软件,我们没有理由不去试试。老毛说过:没有调查就没有发言权。于是乎,本人下载了VirtualBox,虚拟了一个OS。激动的下载了最新版本的绿霸3.17版。

记得某人说过软件即界面,绿霸的UI太普通了,确切的说是太丑了,很难让人想象它价值4000多万,且是一年的费用,来年是多少,未知。

关键字过滤
打开百度,输入:hot girl,IE提示“该页无法显示”,和传说中的“绿霸弹出提示窗口”有些不同。这种叫‘不良关键字’,如果访问的路径中出现不良关键字,网站的URL不会被加入黑名单,下次依旧可以访问,但访问时IE依旧“该页无法显示”。

图片过滤
打开猫扑,去大杂烩:http://dzh.mop.com 找一篇带‘低俗’内容的网页比如这篇,然后IE就被自动关闭,并同时绿霸的提示信息一闪而过:此信息不良,将被过滤掉。这篇文章被过滤的根本原因是其中包含了这张图片。接下来,让人无法理解的是整个域名:http://dzh.mop.com 就被加入了黑名单,就算我想在这个域名所在论坛里学习下三个代表、和谐社会,都为时晚矣。

侵权行为
绿霸使用了一个比较著名的图像库:CxImage,它的官方站点在:http://www.xdp.it/cximage.htm。上面有一行字:

CxImage is open source and licensed under the zlib license. In a nutshell, this means that you can use the code however you wish, as long as you don’t claim it as your own.

CxImage作者的意思是:你可以自由的用,但是你不能声称它(CxImage)是你的。而绿霸的版权(3.17版本)声明中这样写道:

版权声明
本版权声明提到的软件非界面部分的著作权、版权和知识产权属于金惠计算机系统工程有限公司、北京大正语言知识处理科技有限公司所有,并受《中华人民共和国著作权法》、《计算机软件保护条理》、《知识产权保护条例》和相关国际版权条约、法律、法规,以及其它知识产权法律和条约的保护。
本版权声明提到的软件界面部分的著作权、版权和知识产权属于工业和信息化部所有,并受《中华人民共和国著作权法》、《计算机软件保护条理》、《知识产权保护条例》和相关国际版权条约、法律、法规,以及其它知识产权法律和条约的保护。

难怪美国一直指责中国对知识产权保护不力,一个出自政府衙门的软件也是侵权的,我们还有什么底气去让所有的公司和个人都去遵守知识产权呢。

还是侵权
http://www.google.com/hostednews/ap/article/ALeqM5hBwCrEGktm0kHwXlr4uZqdTkVMZQD98PFHU81
http://www.pcmag.com/article2/0,2817,2348705,00.asp
美加州一公司声称绿霸中包含偷来的代码,而且这些代码还在和主人家的服务器通信,丢人丢大了。

安全性
美国密西根大学的绿霸分析报告:http://www.cse.umich.edu/~jhalderm/pub/gd
这里是中文版:http://meirixiaochao.com/2009/06/13/analysis-of-the-green-dam-censorware-system/

更多
请参考维基百科绿霸词条:http://en.wikipedia.org/wiki/Green_Dam_Youth_Escort

To Be Continued

本站依旧运行,不会技术维护

本人没有经历过那段时光,只是依稀记得小时候看见火车被烧的惨不忍睹,电视里到处都是坦克,印象很模糊,其他所知皆来自网络。各种声音我都有幸听到:我党的宣传,网友的帖子,国外媒体的报道,偶尔听别人讨论等。虽然几乎100%都是道听途说,但是我还是比较相信“一小撮人”的言论,理由很简单:只有藏着掖着不让别人知道的人说的话才是可疑的,有待考证的。

儿童节刚过,我们迎来了“中国网站维护节”,大大小小的网站都赶在最近“技术维护”,这些网站的特征是:着重SNS、着重分享、着重草根言论。换言之,这些站点比较难以审核,因为信息流太大,很容易让事实浮出水面。

那些不维护的网站很容易出问题,比如之前YouTube被撞墙,昨天Twitter这只小鸟不幸死于河蟹的爪下,Flickr也第N次晕倒,最倒霉的是微软的新生儿bing.com,刚在中国诞生就夭折了,享年1天。

参与本次“中国网站维护节”的网站有:VeryCD豆瓣饭否词库等等,本站因没有收到邀请函,不会进行技术维护,请朋友们知晓。

有线通在线用户分布简析-苏州

我的宽带服务商是苏州有线通,大约在2009年4月之前,上网速度还是蛮不错的,那个时候YouTube还没有被和谐,90%的情况下不需要缓冲就可以看YouTube的视频。然而4、5月之后有线通的上网速度就骤然下降,投诉到96296,客服态度不错,可就是解决不了实际问题,我不是大客户,无奈 ,只能接受现实,谁叫它便宜呢。

既然访问外部网络慢,等待页面时,我喜欢在有线通的内部网络中闲逛,若干天前逛至有线通的登录站点,无意中发现他们的登录服务器竟然把目录列表功能打开了,而且在web目录下保存了很多测试用的代码:

image

可见当时开发人员是为了图方便(也反映了给有线通开发这个系统的公司SCM没有做好),保存了那么多的以日期为结尾的代码。而这些文件会被Tomcat以文本的方式,直接暴露出它的内容来。比如:

<%
if("POST".equalsIgnoreCase(request.getMethod()) && "logout".equalsIgnoreCase(request.getParameter("flag"))){
	//get the circuit and send snmp command to sms
	String strSessionID = (String)session.getAttribute("sessionid");
	String strCPEMAC = (String)session.getAttribute("CPEMACSession");
    String nasaddress = (String)session.getAttribute("NASAddressSession");
    String nasport = (String)session.getAttribute("NASPortSession");
    String userattr = (String)session.getAttribute("UserAttrSession");
    String cmmac = (String)session.getAttribute("CMMACSession");
    Date startdate = (Date)session.getAttribute("StartDateSession");
    //Date start = DateFormatter.parser(startdate);
    System.out.println("startdate is " + startdate);
    long length = ((new Date()).getTime() - startdate.getTime())/1000;
    String strClientIP = request.getRemoteAddr();
	//SnmpManager.clearCircuit(strSessionID,strCPEMAC,"hotal");
    //用户退出成功,发包给radius
    Properties sysProp = AppManager.getInstance().getProperties();
    String strServer = sysProp.getProperty("BroadMAN.CommandServer.server");
    String strPort = sysProp.getProperty("BroadMAN.CommandServer.port");
    String strCommand = sysProp.getProperty("BroadMAN.CommandServer.command");
    String radserver = sysProp.getProperty("BroadMAN.CommandServer.radiusserver");
    String radport = sysProp.getProperty("BroadMAN.CommandServer.radiusport");
    String strPassword = sysProp.getProperty("BroadMAN.CommandServer.radiuspasswd");
    QuerryInfoClient querryInfoClient = null;
    /*
    用法:radacct radiusserver   secret user     accttype       timelength           nas-ip  nas-port-id  client-ip
                radius主机端口    密码   用户名   Start/Stop      上网时长(Start时为0)                      客户ip
    如:radacct 192.168.2.208:1813 testing123 user38 Stop 555 192.168.2.209 1 192.168.1.250
    */
    strCommand = strCommand +" " +radserver + ":" + radport + " " + strPassword + " " + strLoginName + " Stop " + Long.toString(length) + " " + nasaddress + " " + nasport + " " + strClientIP;
    querryInfoClient = new QuerryInfoClient(strServer,Integer.parseInt(strPort),strCommand);
    //update mysql
    Properties myprop = new Properties();
    myprop.setProperty(UserList.USERNAME,strCPEMAC);
    myprop.setProperty(UserList.USERATTRIB,userattr);
    myprop.setProperty(UserList.CALLEDSTATIONID,cmmac);
    myprop.setProperty(UserList.FRAMEDIPADDRESS,strClientIP);
    myprop.setProperty(UserList.FILTERIDFLAG,"0");
    UserListManager.updateUserList(myprop);
    //发包给sms
    String usertype = AppManager.getInstance().getEnumManager().getEnumValueByName("CustomerAttribute",userattr);
    SnmpManager.clearCircuit(nasaddress,strSessionID,strCPEMAC,usertype);
    session.invalidate();
    System.out.println("kicked customer alredady!!!!!!");
%>

我怀着无比猥琐的心情拜读了所有的代码(其实就若干个JSP文件,涉及到业务的Java代码没有泄露。其中一个JSP中的包含了数据库的用户名和密码,可是它是测试用的),没有发现对我有用的部分(因为我已经是注册用户),所以没有深入研究,但是无疑中发现了一个页面:

image

每次刷新,页面上的值都有所变动,而且在晚上十点钟后这个数字会慢慢的减少,我的第一反应就是这个可能是有线通的在线用户数,于是,就写了小程序,每隔5分钟访问一下这个页面,然后把那个数字抽取出来,存入数据库。我没有连续24小时运行这个程序,而是分了两次:一次是晚上7点到早上7点,另一次是早上7点到晚上7点后。绘图如下:

5-28-2009 10-47-03 PM 
图一:夜间用户分布图

5-28-2009 10-49-20 PM

图二:日间用户分布图

看了图,基本上可以断定它就是有线通的在线用户数目,由于我只是抓了一个白天和一个黑夜的数据,所以图一中有一部分不太“和谐”,大约在5月27号凌晨4点之后,这一点可以当做是无效点忽略不计。

总体来说,在线用户数成规律性的分布:凌晨用户最少,早上9点钟以后,一直到晚上10点这个白天的时间段,用户数一直处于增长的趋势,且晚上7点后增长开始加速,到了晚上10点左右到达顶峰,然后开始快速的下降,凌晨3、4点后进入谷底。

从上面的数据中,我们可以得出下面的一些信息:

1. 要想网速快,请在凌晨上网(废话),且晚上10点大部分人开始下线休息

2. 白天用户数增长比较平稳,晚7点后,很多人晚饭后开始上网

3. 苏州有线通的同时在线人数大概就在1万到1.5万之间

对于上面的1和2,我相信其他网络接入商也是类似,请适当避开上网高峰期,合理安排自己的时间。对于第3点,也许可以借此推算出苏州有线通的用户数:苏州共629万人,市区238万左右(2008年末数据),有线电视共110万用户数(2007年末数据),那么使用有线通网络的用户肯定少于110万。我们假设每天有一半的用户会同时上网(其他人虽然付了费,但是没有在同时上网,比如我晚上统计的时候,他却在白天上网),那么有线通大概也就1-1.5万的两倍=2-3万用户,当然我的那个假设没有任何确凿的科学依据,是我凭空想的,所以最终的结果有待考证,不过这个页面提到苏州共有宽带用户近万户,那个是2007年的新闻,现在是2009年,由此可见,我在上面由图得出的2-3万大概也是近似的。

延伸一下我们的推测:平均每个用户续费要RMB550一年,那么苏州有线通每年可以有:550*20,000 ~ 550*30,000 的收入。

Page 1 of 1512345»...Last »