近日琐事
这台HP买来到现在也才1年半,但由于使用频繁,键盘上的两个凸起已经给我磨得差不多了,以至于最近已经很难靠凸起定位了,因此最近一阵用电脑常感觉不舒服。
凸起没了,事情虽小,但很恼人,就跟盲人用人民币的时候,发现人民币上没了盲文一样。HP的东西实在无法恭维。
2.
前两天跟导师小有摩擦。当然,从我的角度来看,肯定是导师有些事情处理得过分了。没办法,在人屋檐下,不得不低头。我誓言以后不去考虑读个什么博士之类的了,就连这种修论文的硕士也不考虑再读一个了。
不喜欢这些不合道理的剥削行为。
3.
最近事情很多很多,尤其是最近几天更是比较累,于是常想起来一句话,叫强弩之末。昨天夜里和今天早上写程序的时候,就有点跟梦游一样,大体思路都是明确的,但具体写的时候就只能凭感觉一行一行地敲下去了,没法分析得很透彻。好在程序框架以前都搭好了,因此写起来也大差不差,没太费力气。
于是有点盼望着,盼望着,盼望着……盼望着毕业后先好好歇歇。
众看官就不必提醒我注意休息、劳逸结合了,我还是挺注意的。
类别:
谈毕业 (6)——尝试新软件
LaTeX
这是一款文字排版工具,文字排版效果明显优于Microsoft Word。
学习使用这个工具颇耗费精力,因此不建议一般文字用户学习使用。
我很欣赏这个工具,也很高兴有机会学习使用这么好的工具,打算明年用它写书(写本自娱自乐的书是我明年的年度计划之一)。
WinEdt
这是一个编辑软件,是专门用来编写LaTeX文件用的,功能非常强大。我很喜欢这个软件。
这个软件的功能可以讲也是颇为复杂的。从中国人的角度来看,这些软件之所以复杂,有一点在于老外和中国人的思维方式等等是有差异的。
JDK 5.0
我毕业论文的全套程序都是用Java写的。由于新的JDK 5.0和老的JDK 1.4.2(及其以下版本)之间的兼容性比较差,因此本来我准备用JDK 1.4.2开发程序的。不过后来发现,使用JDK 5.0的动态参数功能(variable arity methods,这是JDK 5.0以上独有的功能)可以使我的程序更简洁、易懂,因此我就改用JDK 5.0了。
使用的过程中没感觉JDK 5.0和以往版本的Java相比有什么很特殊的地方。
SmartDraw/EDGE Diagrammer/Code Visual to Flowchart
这些都是画流程图的软件。SmartDraw和EDGE Diagrammer是我从网上搜集并测试过的,感觉不错。Code Visual to Flowchart是上次去加州的时候碰巧在某公司的员工电脑上看到的,当时顺手试用了一下,感觉还可以。
我本来准备用专业的流程图软件来画程序流程等图片的,后来改变主意了。从编写毕业论文、制作幻灯片的角度来讲,这三款软件虽好,但都没必要使用。一般来讲,功能超强的Microsoft PowerPoint足够应付流程图这种小事的;再不济的话,我们至少还有Microsoft Visio可以使用。
IPE
IPE是一款不错的、免费的动态演示效果制作软件,在制作动态演示用幻灯片上有独特之处。其设计思路明显有别于Microsoft PowerPoint,并且文件格式兼容LaTeX、PDF。
之所以测试这款软件是因为导师曾听过这款软件的大名,于是授命我去了解、测试它,并曾有意要我们在毕业答辩时使用该软件制作动态演示幻灯片。不过我后来具体评测后,认为该软件虽有特色和新意,但从功能和制作幻灯片的速度上来讲还是明显不能和Microsoft PowerPoint相比的,因此向导师陈述己见,将继续采用PowerPoint制作幻灯片。
JavaView/3D Object Converter/ParaView/PolyTrans
这些都是些3D图形演示、文件转换软件。JavaView是导师以前学生使用的,我基本上不用。后面三个软件都是我自己后来从网上发掘出来的,很符合我的需要。不过,PolyTrans虽好,但我却用不上,因此对它的研究也就很不深入了。
Maple
Maple是一款功能超强的数学分析软件,比较复杂。原先我毕业论文中的一部分内容(即所谓的“第二个问题”)是数学理论分析,因此需要使用Maple做相关数据分析。只是后来该部分内容中止了,也就没有继续使用Maple了。这个软件未来我将鲜有机会再次使用。
类别:
我订阅的RSS列表 (1)
- 目前我使用bloglines作为我的在线RSS阅读工具。
- 我一般很懒得收录RSS,因为觉得没必要。像徐静蕾的blog,写得挺有意思,因此我时不时去她的blog看看,但并没有为此而收录她的RSS种子,因为她的blog还没有到每篇文字我都应该去看看的地步。去看她的blog只是作为闲暇时候的调剂而已。
- 洪晃的blog是相当不错的,不过最近更新得比较少了。
- 我是非常不情愿收录技术类的blog的。我踢球的时候常有一句话,叫做“踢快乐足球”,也就是要享受足球的意思;我也偶尔会对朋友说对未来的打算很简单,就是“享受生活”;对于技术,我的看法也很简单,就是研究技术的时候要“享受技术”。大部分技术类blog都不怎么享受技术,因此我就很懒得收藏了。
- 收录我自己个人网站的相关RSS种子是因为据此我可以及时知道访客在我个人网站的留言、评论信息,而不必每次跑到自己的个人网站上去瞅瞅。
[修正1] 以“神采飞扬”为名的RSS的拥有者署名有误。2006-08-22 17:02:34
[修正2] 以“Michael”为名的RSS的拥有者署名有误。2006-08-26 11:10:22
类别:
恨之入骨:干掉我装的Office 2007
装了之后,打开Microsoft Word,顿时小吃了一惊:用户界面大变样!微软这可真是壮士断腕的大手笔,居然不怕客户流失,敢于挑战用户习惯,在用户界面上做如此重大的改变。说实在的,连我这种使用电脑软件的老鸟都不大适应新Office的界面使用,何况广大的普通用户呢。这可能为Office 2007产品的不成功埋下伏笔之一。
微软自Windows XP之后,很久都没什么大众化产品能让用户激动一下了(就连Windows XP出来之后都曾被骂了一声臊),随后是下一代Windows操作系统Vista的发布日期不断跳票。就Office这套办公软件而言,以前的Office XP (2002)实在是一个很过渡性质的产品,很快就被Office 2003替代了。虽然Office 2003是一套不错的产品,但3年下来,的确也该被新一代产品替代了。
就这两点而言,Office 2007其实应该是相当让人期待的一个软件产品。这也是为啥在得知Office 2007 beta 2可供下载试用后我马上下载尝鲜的主要原因。
下面就说说我这两个月试用Office 2007中不愉快的体验。
首先谈谈Outlook 2007。我曾在一篇播客中说过我用Outlook作为自己的邮件客户端管理软件已经有5年多了,也一直期待Outlook能够不断地越做越好。结果这个Outlook 2007软件的两个混帐设置活生生地就把我这个Outlook忠实用户推到了微软最大的竞争对手Google/Gmail那里。
首先,安装了Outlook 2007后,每次打开Outlook都要提醒我安装微软的本地搜索工具,以实现某些搜索功能。更可恶的是:我还没法消除掉这个霸王提醒功能。这搞得我真想骂微软:人家Google的本地搜索做得比你成熟多了,我凭什么要装你微软的本地搜索工具?再说了,我连Google的本地搜索工具平时都不用,干嘛反而要用你微软的?
单是这样,我也能忍受了。但Outlook 2007却有另外一个地方我却超不能忍受:自从从Outlook 2003升级到Outlook 2007后,我就不能通过Outlook发邮件了!而Outlook Express却能正常使用。在百般调试无奈后,最后,我终于决定彻底放弃Outlook,改用Gmail做我的邮件客户端软件了。这也是引起我后来写网志《[播客] 谈(网络)日程提醒》的原因之一。
再谈谈PowerPoint 2007。单单Outlook 2007不好用的话,我不用Outlook就是了,还是可以继续使用Office 2007中别的软件的。众所周知,PowerPoint的幻灯片制作功能超强。前几天,我经过权衡以后,也决定用PowerPoint做我毕业论文的相关幻灯片(就我幻灯片所将讨论的内容而言,我还有另外一个可选择的软件,就是IPE)。
于是,上周日(13日),我就开始研究如何使用PowerPoint 2007制作一些比较复杂的演示效果。结果发现,在画图的时候,curve(曲线)工具、scribble(随手画)工具所画出的效果都跟freeform(自由多边形图案)工具是一样的,而这是不可理解、不可想象的。为此,我特地在网上网罗了一批PowerPoint的资料,研究良久,还是搞不明白。终于,在本周一下午的时候,我决定删掉Office 2007。重新安装了Office 2003后,就发现上面提到的curve、scribble、freeform工具都能按书上所说的正常工作了。这不由得不引起我的愤慨:这么明显的bug为啥微软都没检查出来?
总之,虽然以后我很可能会再次用Office 2007,但短期内咱是不会再用它了。另外,所有的批评都不能掩盖Office是一个伟大的产品系列的事实。
最后说点题外话。Office 2007匹配微软.NET产品的风格,文件名后缀都开始加了个x。我只是希望微软别越做越栽、别把office做得太x了。另外,我现在用Gmail感觉超爽。
类别:
Serendipity插件使用 (1)——内容重写 (Content Rewriter)
外挂名称 (Plugin-Title):
该插件在你网志的插件列表中的可识别名称。此处可为任意可识别标题,种族歧视内容除外。
改写字符 (Rewrite string):
将要重写的内容的模版。这里需要使用特殊标记“{from}”和“{to}”。前者({from})对应于下面“改写名称/新改写名称 (Title #/New Title)”文本区域中的内容,后者({to})对应于下面“改写字/新改写字 (Description #/New Description)”文本区域中的对应内容。
改写符号 (Rewrite char):
假设你的网志中出现一个单词“serendipity*”,你希望对“serendipity”这个单词重写,而希望其后面“*”所含的内容被自动去处掉,那么把“*”所对应的字符填在此处(“*”指代的可能是多个字符)。
改写名称/新改写名称 (Title #/New Title):
要被改写的内容。
改写字/新改写字 (Description #/New Description):
改写后的内容。
文章主内容:
对文章主内容中出现的上述关键字进行重写、替换。如果你不懂这是什么意思,选“是”。
文章副内容:
对文章副内容中出现的上述关键字进行重写、替换。如果你不懂这是什么意思,选“是”。
回复:
对文章回复中出现的上述关键字进行重写、替换。如果你不懂这是什么意思,选“是”。
HTML 信息:
对文本块(一般指侧栏插件产生的文本块)中出现的上述关键字进行重写、替换。如果你不懂这是什么意思,选“是”。
举例一
我们打算给文字网志中所有的关键字“deminy”添加一个HTML链接到http://www.deminy.net这个网站。HTML中,链接一般是这么表示的:<a href="http://www.deminy.net">deminy</a>。如果在网志正文中,我们只写了deminy这个关键字,而没有加上相应的HTML链接,那么我们可以通过这个“内容重写”插件重写相关的关键字以添加链接。方法如下:
改写字符 (Rewrite string):<a href="{to}">{from}</a>
改写名称/新改写名称 (Title #/New Title):deminy
改写字/新改写字 (Description #/New Description):http://www.deminy.net
举例二
我们打算给文字网志中所有的关键字“RSS”添加一个全称说明“Rich Site Summary,网站内容聚合”。XHTML中,标签acronym是可以用来标记、解释缩写词的。那么,我们可以通过这个“内容重写”插件重写相关的关键字以添加对缩写词的全称说明。也就是:
原文:RSS;现在:RSS。
方法如下:
改写字符 (Rewrite string):<acronym title="{to}">{from}</acronym>
改写名称/新改写名称 (Title #/New Title):RSS
改写字/新改写字 (Description #/New Description):Rich Site Summary,网站内容聚合
举例三
我们打算给文字网志中所有的关键字“emails”添加一个全称说明“电子邮件”,同时要在网页上去除掉最后一个多余的“s”字符。也就是:
原文:emails;现在:email。
方法如下:
改写字符 (Rewrite string):<acronym title="{to}">{from}</acronym>
改写符号 (Rewrite char):s
改写名称/新改写名称 (Title #/New Title):emails
改写字/新改写字 (Description #/New Description):电子邮件
特别提醒
1. 在当前版本的serendipity(v1.1之前)中,该插件可能仅对文本中最后一行之前出现的关键字产生效果。
2. 该插件可重复安装。
3. 用户可考虑使用另外一个类似的插件:Tooltips(提醒工具)。
[补充说明1] 如欲浏览更多关于Serendipity的使用、维护信息,请参考《网志程序Serendipity中文维护个人文集》一文。2007-07-15 14:23:19
类别:
PHP创始人所欣赏的7套PHP产品
Rasmus Lerdorf是PHP语言的创始人。在2000年以前,他有相当部分的时间都在加拿大多伦多地区学习、工作。上周五他应邀参与了该节目。在节目中,他提到了他所欣赏的7套与PHP相关的产品。作为PHP语言的创始人,他对PHP产品的讨论自然应该受到重视:
- Moodle: 一套面向教育界的课程管理系统。我没研究过,只是在昨天提到Packt出版社今年出版了一本关于Moodle使用方面的书籍。
- Sahana(萨哈拉):一套灾难管理系统。这是一项曾获人道主义奖项、并获得过SourceForge“本月之星”(Project of the Month,此处意译)称号、相当受关注的产品,但我没关注过。
- Gallery:一套照片库系统。本站使用了这套系统作为本站的照片库程序。我目前对这套产品唯一明显不满的地方在于:它的某些功能过于强大了,另外,语言编码支持方面仍有潜在的bug。
- Serendipity:一套网志系统。本站使用了这套系统作为本站的网志程序。我目前对这套产品的使用手感是:非常满意。
- Drupal:一套内容管理系统。我没仔细研究过。Apress出版社去年底出版过一本书《Building Online Communities With Drupal phpBB and WordPress》(使用Drupal、phpBB和WordPress搭建在线社区),Packt出版社今年4月份也出了一本关于Drupal的书,由此可见,这套内容管理系统还是有明显可取之处的,虽然不一定尽善尽美。
- Fudforum:一套论坛系统。我没研究过。我一直对phpBB 3的开发进度感到失望,好在前天phpBB 3.0 Beta 2已经发布了,离phpBB 3正式发布的日期终于不远了(只是不知道其中文汉化部分是否已经有人做了)。
- APC:一个关于缓存的PHP扩展。我没研究过。memcache是另外一个关于缓存的PHP扩展。
[补充说明1] 本文信息源从阅读昨天Garvin写的网志“Rasmus Lerdorf loves Serendipity”得到。
类别:
一件小事:车胎被扎
去年8月中旬去加拿大首都渥太华看望高中师弟后返回温莎的途中,我曾在多伦多的一同学家里住了一晚。由于同学家所在的公寓楼没有可以自由停车的地方,因此我就把车停在了附近的一个收费停车场。
第二天一早,从停车场取车后我就准备回温莎了,只是中途去了一下Lawrence Square Mall(一个商场)接一个顺路搭车的南亚女孩。接到那个女孩后,我就驱车奔向365号入口要上401高速公路了。
在365号入口进入401高速前的弧形车道中,后面一辆车突然从右侧追上来和我平行驾驶,里面开车的年轻老外用手指着我们的右侧车门位置,不断地比划着。由于大家都在进入高速,车速很快,因此车窗都是关闭的,也就无法听到那个年轻老外到底在说什么。由于高速并排行驶很危险,因此那个老外比划完了之后就超车到我们前面去了,但我和同车的女孩都知道我们的车肯定出了问题。
在确认我们实在无法从车内得知问题所在后,我就在401高速的下一个出口处下了高速,在附近一条小路上停了下来。下车观察后,终于发现问题所在:一个车胎彻底没气、是瘪着的。
估计这车胎是昨天晚上在停车场被人扎了的,只是早上临走的时候我根本没意识到要检查一下车况。我在车胎瘪着的情况下已经开了大约60公里(大部分是在高速上),所以这胎肯定已经报废了,必须换个新胎才行。好在问了附近的人之后知道近处就有一家Canadian Tire(加拿大一家尽人皆知的汽车配件、五金百货连锁店),于是开车去了那里,换了一个新胎继续上路。
这里就不得不要感谢那位年轻老外了。如果没有他善意的提醒,我可能就这样一直开下去把车开回温莎了。在随后长达350公里的高速上这样开车,是极其危险的一件事情,这位老外的善举使得我和搭车的女孩避免了一场可能存在的危险。联想到今天下午在MyCUST网站上看到一位师兄提到深圳撞车党在公路上故意撞车勒索钱财的帖子,对比之下,自然也就有些感慨。
此后还有一个小插曲。我在Canadian Tire换胎的时候,把信用卡交给了工作人员,并且按照他的要求登记了自己的住址和电话号码(一般购物都不需要这些信息的,不知为啥换个胎却要登记这些),随后等他们把新的车胎安装完毕后我就走了。结果过了两天,忽然接到Canadian Tire打来的电话,原来那天工作人员拿了我的信用卡后却没有刷卡,也就是其实我没付费就换胎走人了。当然,事后的处理很简单:我授权他们从信用卡上划账就行了。
类别:
浅谈曼波 (Mambo)
6月中旬的时候,我在网上浏览书籍,翻到两本Packt出版社12005年出版的关于曼波的书,一本是《Mastering Mambo》,另外一本是《Building Websites with Mambo》(这两本书都可以在Amazon找到)。翻了翻这两本书后,又去网上浏览了一下曼波的相关资料。
令我新奇的是,在曼波的历史上,其版权问题始终让人模糊不清。于是,我颇花了一些时间去研究曼波的历史(1,2,3),总算大体搞清楚了其历史和版权方面的脉络。大致来讲:
- 2000年,澳大利亚的Miro公司开发了曼波。
- 2001年,Miro公司于四月份发布了基于GNU GPL开源协议的曼波 (MOS),同时开发商业版的曼波。
- 2003年中期,由于曼波的版权被滥用,Miro公司撤出开源版本曼波的技术维护,原项目负责人Robert重新接管开源版本曼波的开发管理。同时,Miro公司继续开发商业版的曼波。
- ……
- 据我观察,目前Miro公司已经停止了商业版曼波的开发,但提供对开源版曼波提供技术服务的业务。
我并没有专门去测试曼波,也许以后可能会试试。另外,有2个(可能)比较好的关于曼波的中文网站:Manbo.cn和Mambo中国。
[注1] Packt是一家最近几个月才引起我注意的出版社。它于2004年4月出版第一本书,其出书的特点之一是:专注于出版针对具体软件具体使用方法的书籍,例如上面提到的关于曼波的两本书。单就今年而言,这家出版社就出版了关于网站论坛程序vBulletin、虚拟主机管理软件cPanel、网络层安全软件Openswan、课程管理系统Moodle、内容管理系统Joomla、虚拟专用网软件OpenVPN等关于软件使用方面的书籍。
O'Reilly出版社的特色之一是其封面多采用各种动物的图案(非真实照片),而Packt出版社的特色之一是,其封面大多采用各种值得一赏的写实照片,尤其以动植物照片居多。
[补充说明1] 本文部分内容最初草稿于2006-06-17 12:11:35左右。
类别:
谈毕业 (5)
经过最近几天的奋战,今天下午,我终于成功地完成了这最为关键的一步:完成了“用Gotsman算法实现对四边形网格的压缩/解压缩”编程。这意味着,自7月3日开始毕业论文的编程以来,历时41天,我终于把阻碍我毕业的最大障碍(毕业论文所研究对象的结果)解决了。我剩下的要做的事情主要是优化程序、编写文档、编写幻灯片、编写毕业论文、答辩等边角料性质的琐事。
周二凌晨,我给导师发email,告诉他我已经成功完成了“用Gotsman算法具体实现对三角形网格连通性的压缩/解压缩”的程序编写,并顺便提到该安排我毕业论文的提案汇报(proposal)了。周三早上,导师来到实验室,观看我编写的“用Gotsman算法具体实现对三角形网格连通性的压缩/解压缩”实验效果,感到很满意,但并没有提到提案汇报(proposal)的事情。他只是顺便告诉我,我之前做的“用指定编码体系(encoding scheme)压缩编码”的程序运行效果非常好,其压缩后的文件无法再用通用文件压缩软件(例如winzip/gzip等)进一步有效压缩,因为再压缩只能导致压缩文件尺寸反而变大。
周四深夜,我给导师发email,告诉他我已经成功完成“用Gotsman算法具体实现对四边形网格连通性的压缩”的程序编写(事后发现需进一步改进)。周五早上,导师来到实验室,观看我编写的“用Gotsman算法具体实现对四边形网格连通性的压缩”实验效果,并让我安排在本月底进行提案汇报(proposal)。经过和答辩委员会其他老师联系后,预计会在2006年8月29日下午1:30到3:00做提案汇报(proposal),并在9月下旬答辩,结束学业。另外,经过导师认可,我毕业论文的标题可能是:《A Comparative Study of Quad Mesh Compression for Touma/Gotsman and Spirale Reversi Schemes》(用Touma/Gotsman编码和Spirale Reversi编码对四方体压缩的比较研究)。
下面是最近几天关于“用Gotsman算法实现对四边形网格的压缩/解压缩”编程工作的进展:
- 2006-08-10 12:56:56 六面四方体首次压缩成功。
- 2006-08-10 19:28:06 62顶点/60面四方体首次压缩成功。
- 2006-08-10 22:22:08 高亏格(torus)四方体首次压缩成功。
- 2006-08-11 20:45:17 六面四方体首次解压缩成功。
- 2006-08-11 23:31:32 62顶点/60面四方体首次解压缩成功。
- 2006-08-12 14:53:12 高亏格(torus)四方体首次解压缩成功。
- 2006-08-12 15:07:22 确认完成压缩/解压缩程序(仍需局部小规模完善),并在5个四方体模型上测试成功,包括2HandsTorus。至此可以认为我毕业论文关键内容都已解决。
后面的日子中,我将正常作息、正常生活、正常工作、正常处世。
类别:
几张关于实验室的照片
Samidh已于六月份毕业,因此目前导师手下只有Augustus和我了。我以前一直对印度人存有偏见(即便现在,我依然对好些印度人存在偏见)。但不可否认,任何种族都有友好的人们。自我前几个月进入实验室后,Augustus和我的关系就比较好。而且,也正是因为他的友好,我对印度人的印象开始有些明显改变。
今天下午,Augustus带了相机过来,在实验室照了几张照片,以便以后作为纪念。我从中拿了3张放上来。
- 我正在我的笔记本上编写、调试程序。桌上的一堆纸大部分是我编程时候写的草稿,另外还有一篇算法方面的论文在里面。
- 这件T恤是去年夏天买的,我比较喜欢。我喜欢加拿大这个国家,因此我也喜欢穿这件印有Canada字样的T恤。上次去加州的时候,我就穿着这件T恤在美国照了几张照片。
桌子上的鼠标垫(中国戏剧脸谱)是去年一位室友送我的。其实在光电鼠标时代,大部分时候我喜欢用白纸做鼠标垫。
我经常每天早上会烧一暖瓶的咖啡,然后带到实验室,边工作边喝咖啡。隔壁桌子上的那个暖瓶就是我用来装咖啡的。这个暖瓶是三年前我刚来加拿大不久后买的,挺好用,只是后来暖瓶附带的杯子找不到了。
昨天晚上1:00才睡,但睡得不踏实,今天早上7:00刚过就醒了,8:00不到就来到了实验室开始工作,连早饭都不想吃,也没有烧咖啡。后来工作到早上10:00左右的时候,去学校的CAW服务中心买了杯咖啡和早点,但没吃完,于是剩下了一个松饼在桌子上。
暖瓶旁边的台式机就是那台我诟病不已的AMD 64位双核电脑。这台电脑基本上24小时都在运行,但我很少用它。我在实验室的时候,都用笔记本工作,而用那台AMD 64位电脑只用来做些挂MSN Messenger、放mp3歌曲、浏览网页之类的琐事。
台式机上面放了一堆和我毕业论文相关的论文,最上面的两个黑皮本是导师以前两个学生(Jing和Archana)的毕业论文。我的毕业论文有一部分内容是延续他们以前的工作,因此我需要阅读、研究他们的毕业论文。 - 我前面的就是印度同学Augustus。这张照片是Augustus自拍的。Augustus会四种语言,其中三种是印度国内的语言。