为何用癞蛤蟆做我的MSN备用头像

自2004年9月研究生入学以来,我有一年多的时间都未曾把实验室当成我的工作地点之一,极少光顾那里。直到今年二月份导师花钱买了台新电脑给我用后,我才偶尔光顾实验室。后来又直到四月底,我才逐渐开始养成每个工作日去实验室工作的习惯。

最近几个月,美东地区白天的时候(国内晚上的时候),MSN上的朋友可以看到我的MSN头像往往不是我一直常用的“佛”字,而是一只癞蛤蟆。之所以如此,原因之一是我在用MSN头像来隐性地告诉MSN上的朋友们我当前所在的位置:头像是佛字的时候,表示我正在使用自己的笔记本电脑,很可能我在家;而头像是癞蛤蟆的时候,表示我正在使用的是实验室的电脑,那么我极可能正在实验室工作。

那为什么选择癞蛤蟆做候选头像呢?这里面有一个小典故。我曾提到Brian Tracy(你可以认为他是北美一位有名的成功学推广专家)出版过一份音频教程,叫做“21 Ways To Double Your Productivity”(21招提高效率)。其中他提到的一点是:在你每天早上开始工作的时候,把当前最重要的、最难的事情列出来,然后首先去解决它,而不要去管别的事情。这件最重要的、最难的事情对你的事业很重要,但你对它很可能感到畏惧、厌恶、推挡、拖拉,这会对你的事业、对你的心情、对你的信心造成不良影响。因此,你应该要做的是:把这件最重要的、最难的事情当成一个丑陋的癞蛤蟆,而你当天需要做的第一件事情就是:(强迫自己)吃掉这个丑陋的癞蛤蟆!当你吃掉了这个对你事业、生活很重要的癞蛤蟆后,你会明显感到自己心态的好转。

Brian Tracy在给一家公司员工做演讲的时候,讲到了这个故事。这家公司的领导人对这个故事非常感兴趣,在接下来的某个节日中,该公司给每位员工的办公桌上安放了一个小癞蛤蟆玩具,以此来激励员工。结果,在接下来的几年中,该公司的营业额成倍增长。

我在实验室(工作)的时候,使用癞蛤蟆做头像,目的之一也就是暗示性地告诉自己:我当前正在做的事情也许比较难,但我要把它完成,因为它对我很重要!

类别:

谈毕业 (4)

我毕业论文所讨论的两个问题,相同点是:都是对四边形网格连通性进行压缩和解压缩;不同点是:算法不同。所使用的两个算法都有前人曾在三角形网格上成功试验过(源代码未公开),但未有明确、具体的在四边形网格上实现的案例(和论述)。

前一篇网志曾顺带提了一下我毕业论文将要解决的第二个主要问题的内容,也就是用Gotsman算法具体实现对三角形网格连通性的压缩/解压缩,并扩展到对四边形网格连通性的压缩/解压缩。

自上上个星期五领此命令以来,到今天已经10天了,期间虽然有一些杂事干扰,但终于顺利、圆满地编写完成了“用Gotsman算法对三角形网格连通性压缩/解压缩”的代码。相较于上次9天时间完成第一个问题“用Spirale Reversi算法压缩/解压缩四方形网格连通性”的代码来说,这次虽然多花了一天时间,但应该来讲,这次写得也很不错。因为:

1. 上次9天内完成的代码并没有实现对高亏格的处理(额外花了3天时间处理高亏格),这次实现了。

2. 上次写代码的时候没有杂事干扰,全心写程序;这次写代码期间有GA工作,还额外完成了一项编码程序的编写。

3. 上次体力储备好,而这次写代码之前已经连续不休息地奋战了将近一个月,身心俱惫。

相对而言,上次写代码的过程也有出色的地方:上次设计、编写了一些很重要的基础数据类、应用类,包括几何对象描述、文件格式转换、文件处理等方面的类。

上周是长周末(今天是市政日,Civic Day,所以连续放假三天),于是这三天,每天早上8点不到就起床,半夜累了就睡觉,基本上每天除了吃饭、睡觉、散步就是写程序了。每天半夜躺下的时候都还在想着程序的实现方法,只是已经没有力气爬起来继续测试、编写了(而且也不想疲劳作战),也终于有点理解别人所说的“呕血之作”的感受了(当然,我还没到那个境界和地步)。总之,其间在思考、编程方面消耗的力气比较大,尤其是今天下午,已经没有力气继续写四边形的压缩/解压缩程序了,就躺在地毯上休息。

这一整套程序都是用Java编写的。不管过程如何,就结果而言,这套程序我写得相当得意,也拿得出手,虽然Java不是我最拿手的。

下面是最近几天解决第二个问题过程中的一些进展。
  • 2006-08-02 晚上 最简单模型“四面体”(tetrahedron)压缩成功。

  • 2006-08-03 23:02:36 阅读Gotsman论文,使用Touma的程序测试数据,阅读相关文档,最终确认其编码(encoding scheme)实现机制。

  • 2006-08-05 01:05:36 最简单模型“四面体”(tetrahedron)解压缩成功。

  • 2006-08-06 11:19:13 首次处理模型icosahedron(压缩/解压缩)成功。

  • 2006-08-06 13:01:29 对有42个顶点、80个三角形的模型处理(压缩/解压缩)成功。这标志着我的具体实现思路是成熟的,具体实现思路至此定型。

  • 2006-08-07 00:02:37 高亏格模型(类似救生圈的模型)首次压缩成功。

  • 2006-08-07 13:10:07 高亏格模型(类似救生圈的模型)首次解压缩成功,而且是非常成功。

目前全部编程工作,还剩下2个主要方面。一个是“用Gotsman算法实现对四边形网格的压缩/解压缩”,二是“用Huffman算法对压缩后的数据再次编码压缩”。相对而言,前一项最为关键,而后一项则只是一个消耗时间的工作而已。

预计本周内至少可以完成前一项编程任务。当我完成前一项的代码的时候,我就可以长叹一口气,宣告我离毕业已经很近了。

标签:

类别:

谈毕业 (3)

上次我曾提到,导师原先指定的我的毕业论文中将讨论并解决的两个问题中,第一个问题的“程序开发……可以认为都已解决”。至于第二个问题,导师原先指定的是“四方形网格连通性编码压缩问题”。具体讲来,就是构造一个更好的编码体系(encoding sheme),能够将网格连通性压缩的压缩程度在第一个问题的基础上再提高一下,也就是压缩再压缩。

前两、三周,在大体解决了第一个问题后,我就开始全力着手准备解决第二个问题,并且不断在和导师的交流中向他暗示“我正在解决第二个问题”。但奇怪的是导师却从不跟我提解决第二个问题的事情,而是不断地和我继续讨论第一个问题,并时不时提到另外一个和我论文无关的Gotsman算法网格压缩问题。

对于导师用题外话打搅我毕业进度的“骚扰”,我虽听在耳里,但手中却继续抓紧解决第二个问题。和第一个问题截然不同的是,第二个问题几乎没什么编程的工作量,主要专注于如何构造一个N元方程组、设定该方程组的边界条件、解方程组。这其中,(我认为)最难的是如何设定该方程组的边界条件。另外,这个问题的解决需要一定的数学理论和数学技巧。

由于导师根本不和我讨论第二个问题,因此在解决第二个问题的过程中我碰到的问题和疑难都只能自己慢慢思忖。好在我在逐渐地接近最终结果,尤其是上周四。原先我一直奇怪,为什么我按照前人论文构造的方程组得到的结果值是离散的,直到上周四晚上在地毯上躺下睡觉的时候,我才忽然醒悟过来:我以前一直主观地把所构造的方程组理解成“多元1次方程组”,但实际上,这是一个“多元高次方程组”,因此解方程组的时候自然会离散地渐进几个不同的结果值。在醒悟了这一点后,我感到非常兴奋,感觉有相当的把握在上周末、甚至上周五就能把第二个问题大体解决掉!

出乎意外的是,上周五中午,导师造访实验室,又跟我讨论起第一个问题来。这次,他想要我做的是一个本不属于我论文份内的事情:编程实现用指定编码体系(encoding scheme)压缩编码的问题。接下来,他提到,我不要再继续研究第二个问题了,因为那个问题的理论基础(最近)发现有点问题,不大可靠,引起不少质疑!

此言一出,我顿时想到了几点:第一,导师迟迟不跟我讨论第二个问题,是因为这个问题目前是条死路,但我已经浪费了好些时间在解决它;第二,既然既定的第二个问题没法继续研究了,我必须找到新的问题才行,否则达不到导师的要求,无法顺利毕业。于是我问导师有没有新的问题我去研究,他说没有。于是我就想到他最近常常跟我提到的那个“和我论文无关的Gotsman算法网格压缩问题”。于是我说,那我就实现这个Gotsman算法网格压缩问题、同时实现刚才你提到的“用指定编码体系(encoding scheme)压缩编码”的问题,这样的话,够格毕业了吧?导师一听,颇为满意。

接下来,我们又讨论了我毕业的一些事情。导师最期望的是我最好再多读一个学期;退而求其次的话,他可以补偿我部分钱,然后我再读半个学期。而我则始终委婉而坚定地表示我将尽快解决和毕业论文相关的一切问题,尽早毕业。在这种情况下,导师最后首次提到将考虑为我组建答辩委员会。

在得到导师关于我毕业计划的初步认可后,上周五我快马加鞭,当天晚上便解决了那个“用指定编码体系(encoding scheme)压缩编码”问题的大部分工作。本周一和导师就相关细节沟通了之后,在周一下午便完成了该编程工作。但我当时并没有发email告诉导师这个消息,免得他认为我做事太快、随后可能会给我其它乱七八糟的工作去做。今天早上导师阅读了我写的“用指定编码体系(encoding scheme)压缩编码”问题的源代码、听取了我的解释后,感到非常满意,第二次主动跟我提到组建答辩委员会的事情。

下午导师临走的时候,告诉我他已经在具体组建答辩委员会,并且已经联系好一名系外专家。

所以,后面一阵还有很多很多的事情要做:写程序、测试数据、做演示用幻灯片、写论文、杂事等等。初步打算这个星期解决掉最最关键的问题:用Gotsman算法进行三角网格压缩并拓展到可对四边形网格压缩的程序。这个问题不解决,别的一切免谈。

导师有几个特点。第一,导师头脑里面有很多想法,会经常叫你做这做那,但很多事情你不做也没事。你要确定哪些事情是需要做的,哪些是不要做的,尽量只做需要做的事情。第二,导师是习惯信口开河的,答应你的事情,事后他很可能就忘了,或者改变主意了。第三,导师是不能被催的。你想叫导师做什么,最好旁敲侧击,不能把他逼急了。

标签:

类别:

恨之入骨:干掉我的hotmail邮箱

hotmail是老牌的免费email服务提供商,我断断续续用它也用了7年多了,要提我对它的看法,只有一个,就是越来越讨厌它。

hotmail的三宗罪

当然,hotmail的罪恶(远)不止三宗,这里只提其中我最讨厌的三宗罪。

1. 对邮件客户端软件的支持很差。几乎只有Outlook系列的软件才能收发hotmail的邮件。对于(软件)企业来讲,这种做法是一种商业思路;但对用户来讲,这是一种混蛋的设计思路。除了强盗,大概也只有流氓会做这类的事情了。另外,hotmail邮件客户端软件采取的做法是和邮件服务器同步的方式管理邮件;对我而言,这简直是超级鸡肋的功能。

2. 没有email转发功能。也就是说,如果你上了贼船用了hotmail的话、然后再想要换用别的email,还是比较费事的。举个类似的例子就是:当你搬家后,寄到你原住址的信件你是无法及时收到的,因为没人帮你转信,你每次需要自己回老家去讨。

3. 浏览器兼容性差。Hotmail对IE以外浏览器的支持之差,人神共愤。

为什么下决心干掉我的hotmail邮箱

当我特别恼火MSN上的hotmail邮件提醒功能、而又不愿浪费电脑资源使用MSN插件去屏蔽它的时候,我选择把hotmail中的“垃圾邮件过滤器”选项设到最高档“专用”(exclusive),以过滤掉绝大部分hotmail收到的邮件。但即便这样,由于hotmail账号也是我的MSN账号,时不时可能还会有朋友或者他人发email到我的hotmail里,因此我还是要时不时地进hotmail一下、浏览被我过滤掉的那些“垃圾email”。这种浪费精力的行为很让我不爽。

……

种种原因加起来,导致最后我只有采取下策:用邮件撑死hotmail的方式来终结我的hotmail邮箱。记忆中hotmail的容量是250M,那么我发30来个8M大小的邮件给自己的话,差不多就可以把自己的hotmail账号撑死了。不过后来发现,不知什么时候,我的hotmail居然升级到2G容量了。

这没关系,大不了多发些垃圾邮件给自己就是了。

干掉我的hotmail邮箱

要想用邮件撑死hotmail,用hotmail自己给自己发邮件的方式最有效果(这样的话你通过hotmail每发一封邮件给自己,会在收件箱和发件箱各有一份邮件;而且服务器本地自收自发,速度当然不同凡响)。但可恼的是在我的IE下,hotmail的页面时不时出现错误,于是我只好选择用gmail去轰炸hotmail了。gmail收发邮件速度超快,非常适合干这种“体力活”,尤其在你同时打开多个窗口、使用gmail键盘快捷键操作的时候。

总之,通过gmail给hotmail发送了M封含8M附件的大邮件、再发送N封超小型邮件后,我的hotmail终于撑得再也容不下任何邮件了。

今天,终于可以挺起腰杆对让我恨之入骨的hotmail说声再见!

标签:

类别:

今日琐事:GA工作纪录

今天创造了自己GA工作时间纪录:一天8个小时。

早上08:30到10:30:答疑时间。来问问题的学生不多,很多时候我都在给程序写文档。
中午11:30到14:20:期中考试监考时间。
下午14:30到17:30:两节试验课,答疑兼评分。

我之所以特地把答疑时间选在一大早,倒不是因为那个时间来问问题的学生少,而是想叫自己必须习惯早起。

吃饭怎么解决?中午监考中途去了趟KFC(今天是Toonie Tuesday)。

昨天下午给程序写文档,写到晚上8:00过觉得很累,于是回家吃点晚饭不久就睡了,但耗了好些时间才睡着。

今天也是,要早睡,明天继续早起。

类别:

谈毕业 (2)

最近一个星期依然很忙,白天很多时间基本上都在实验室。

毕业论文涉及到的两个问题中的第一个问题(四方形网络连通性压缩问题),以前导师手下有两个学生做过。学生J使用S方法,没有做出结果,但积累了些宝贵经验;过了2年导师的另外一个学生A使用Z方法,做出了结果,而且处理效果有明显进步。

又1年多后,导师就要我使用学生J曾经研究过的S方法把那个问题解决掉。上周提到我在这个问题上已经取得了突破性进展。不过导师的要求还是蛮多的(这比较让我郁闷),他要求我的程序能达到学生A的某些功能(具体来讲就是能处理高内亏格(genus)的多面体)。

于是,最近三天(从周五到今天,也就是周日),我全身心地研究如何实现这个功能,差不多达到了废寝忘食的地步(此处使用了略有夸张的修辞手法),终于成功地在今天傍晚实现了这个功能,解决了这个问题。

实现这个功能过程中的一些重要时刻:
  • 2006-07-21 晚上 优化结果、优化输出、优化流程。将输出文件数从4个减少为2个。从学生J的输出风格转向学生A的输出风格。(相对来讲,这些属于边角料的活)

  • 2006-07-22 21:10:23 首次成功处理一高内亏格(genus)的多面体模型 (重大进展)。

  • 2006-07-23 18:07:10 历时一天,成功修复一重要bug,程序开发主要问题到此可以认为都已解决。

问题所面向的对象是三维多面体,涉及的是多面体表面的处理过程。这些都只能凭空想象了,而且还要尽量能把细节想象出来。总之,相信我的想象力比之以往应该是略有进步了。

附三张最近三天画的图。

图一是研究该功能之初根据学生A的论文画的草图,用来理解实现相关功能的思路。

在实现该功能的编程过程中,使用了一个多面体模型作为典型样例。图二就是这个样例的草图,用来跟踪、分析、调试相关程序的时候用。这个图对昨天的首次成功处理有很大帮助。

在处理复杂样例时,由于有一个重要bug一直无法解决,也很难分析出来,于是,今天傍晚,根据从多面体压缩程序得到的数据绘制了一张多面体样例图(图三),用以分析。这张图很管用,画完这张图后很快我就意识到bug所在、并解决了这个bug。当然,画这张图比较花时间。

图一图二图三

解决问题的过程就像在走迷宫。有时候,你离结果已经非常近了,但偏偏有堵墙挡在你面前,让你看不清方向。

标签:

类别:

[播客] 谈(网络)日程提醒

本文播客音频文件:播放。时长13分30秒,文件大小约8M。

简要介绍:

* 本文所面向的对象

本文基本上只适合那些经常使用网络的人们,尤其是城市里的办公室一族。

* 日程提醒工具

2005年3月,我曾编写“软件评测 - 日程提醒”一文。

我使用日程提醒软件的历程:Outlook -> 日程安排、提醒软件 -> WebCalendar -> Gmail + FireFox + Gmail Notifier + Google Calendar

* 当前使用组合的各自优点

FireFox:明显强于IE。使用Maxthon(傲游)等浏览器?……

Gmail: 超多优点:速度超快、运行超稳定、编码识别能力超佳、反垃圾邮件能力超强……

FireFox的插件Gmail Manager与插件Gmail Notifier具有非常相似的功能,但Gmail Manager和另外一个插件All-In-One Sidebar插件有冲突,因此不推荐使用。

Google Calendar: 非常强大。目前还没有注意到有数据导出功能,相信未来会有。

* 如何使用这套组合?

安装FireFox浏览器,申请Gmail账号,安装FireFox的Gmail Notifier插件,申请开通你的Google Calendar功能。在Google Calendar中添加事件,选择提醒时间。到时候,你使用的浏览器会提醒你Gmail中有新的email到来,告诉你你事先预定将要做什么……

* 微软和Google的产品比较

Outlook - Outlook日程表和提醒器 - Outlook联系人管理 (越做我越失望、越讨厌)

Gmail - Google Calendar - Google联系人管理(尚未出现) (越做我越期待)

我非常期待Google联系人管理方面的产品。(目前我暂时勉强用eGroupWare管理联系人信息,但随时准备放弃这个web软件。)

* 群件 (Groupware)软件

eGroupWare。

Google(网络)群件软件系统?Gmail + Google Calendar + Google GDrive + Google Groups……

信息统一化是我非常关心的一个话题,相信Google未来会在这方面有一定作为。

标签:

类别:

十条做个人网站、充实个人网站的理由

  1. 最初“是因为自己喜欢网站技术,做个玩玩”。

  2. 我感谢互联网,矢志尽量为互联网创造原创性的、非垃圾的资料

  3. 在一个有监督的环境中,不容易犯错。Google也曾说过,“不做恶” (Don’t be evil)。“不做恶”不是一件容易的事情,用网络的方式监督自己不失为一种好方法。

  4. 让同学、朋友、同事、亲戚等等很容易知道我过去一段时间在干嘛、现在在干嘛、未来可能干嘛。

  5. 未来的她更容易了解我,免得我需要废很多口舌跟她交代自己的过去、现在和未来。

  6. 让未来的小辈们更了解我,免得我需要废很多口舌跟他们解释我的过去、我们的现在和他们的未来。

  7. 哪天我不在了,还有一些人还能看得到、还能记得我

  8. 我喜欢记录自己的历史。

  9. 我喜欢Google。幻灭曾提到,“……现在全世界大概只有10%的信息可以被搜索到……Google可能需要300年的时间才能完成最终目标,令全世界所有的信息都变成可在线搜索……”我个人打算比Google至少提前250年实现这个最终目标:至少让我自己的个人信息可在线搜索。

  10. ……

[补充说明1] 本文草稿于2006-06-29 14:02。

标签:

类别:

谈毕业 (1)

好一阵没写感想了,因为最近忙于写毕业论文的一些东西,没时间顾及别的。

我的毕业论文讨论的是计算几何学中几何压缩方面的两个问题。前一个是四方形网络连通性压缩问题,后一个是四方形网格网点数据压缩问题1

目前我主要在解决前一个问题。经过从7月3日到7月11日连续9天强行军式的编程,目前已经大体上解决了该问题。

  • 2006-07-03 (周一) 上午 开始编码;

  • 2006-07-08 (周六) 深夜 完成了四方形网格连通性压缩代码 (未经充分测试);

  • 2006-07-11 (周二) 午时 完成了四方形网格连通性解压缩代码 (未经充分测试);

  • 2006-07-11 (周二) 晚上 完成了四方形网格连通性解压缩后的网点匹配代码 (未经充分测试),登顶成功!!

  • 2006-07-14 (周五) 深夜 实现了四方形网格连通性解压缩代码对有边界网格的支持;

  • 2006-07-15 (周六) 晚上 实现了四方形网格连通性解压缩代码对有分支遍历过程的支持;

  • ……


  • 解决问题的过程颇累,就不细述了。

    [注1] 此处有误。应为“四方形网格连通性编码压缩问题”。2006-08-02 17:32:37

    标签:

    类别:

    网站变更记录 v2.1.7

    * 升级网志系统

    2006-06-15 15:55左右,将本站使用的网志系统Serendipity从v1.0 beta 3升级到v1.0。

    * 更新搜索引擎所用的机器人文件

    发现Google上收录了本站不少内容重复的网页,因此在2006-06-22 02:48:51前后重新定义了搜索引擎所用的本站机器人文件“/robots.txt”,大体上对其增加了如下限制:

    Disallow: /bookmark/tag/
    Disallow: /bookmark/rss/
    Disallow: /bookmark/rss92/
    #############################
    Disallow: /blog/authors/
    Disallow: /blog/categories/
    Disallow: /blog/feeds/
    Disallow: /blog/unsubscribe/
    Disallow: /blog/approve/
    Disallow: /blog/delete/
    Disallow: /blog/admin/
    Disallow: /blog/entries/
    Disallow: /blog/plugin/
    Disallow: /blog/search/
    # Disallow: /blog/archives/

    * 解决了本站网志的某些乱码问题

    2006-06-22 17:15:55前后,研究了Serendipity网志系统的代码,解决了本站网志中相关乱码问题

    * 启用Gmail邮箱

    Gmail是一款我非常欣赏、推崇的网络产品。

    2006-06-27 20:07:57前后,启用Gmail作为自己日常用个人邮箱。

    发往我原先使用的damon@deminy.xxx和yin6@uwindsor.xx等邮箱的email都会被转发到我Gmail邮箱中去处理。

    * 更新本站首页导航条

    2006-06-28 15:58:20前后,在本站首页和网志的导航条中,去除了“我的感想”和“更新记录”的链接,增加Skype我等链接。

    这个更改顺应了时代发展的需要。

    * 升级本站所用的GeShi系统

    2006-07-02 13:00:24前后,将本站使用的GeShi程序(高亮源代码的web工具)从v1.0.7.6升级到v1.0.7.11。本站使用GeShi来显示本站相关源代码

    * 开始启用Google Calendar

    2006-07-03 18:58:38前后,启用“Google Calendar”作为我的个人日程安排工具,取代原先使用的日程安排。由于我还在不断发掘Google Calendar的功能中,因此暂时还没有更改本站日程安排相关的链接。

    Google为我(和其他网民)造就了一个(比较)完美的个人日程安排、提醒工具(在把Google Calendar、Gmail和FireFox浏览器结合起来使用的情况下)。

    * 安装LightBox插件1

    2006-07-05 09:33:01前后,阅读了Serendipity官方的一篇新网志,据此在本站安装了LightBox这个插件。

    如果你不知道这个插件的功能是什么,我来告诉你:打开这个网页,点击文字中的图片,你就会看到效果了(在当前页显示图片链接内容,并且在图片下方提供一个“关闭”图片的按钮)。

    * 看到一则笑话

    2006-07-08 13:03:26前后,在新浪网站看到一则新闻:《4名俄罗斯工人在打扫猪圈时被熏死》。在访客评论中,有访客写道,“天哪,看了这新闻真感到后怕,我在一个大学的教务处工作,是专门负责检查男生宿舍楼卫生的。”。

    暴笑。

    [注1] 我觉得LightBox插件用于web上不够友好,尤其是在网速慢、面对汉语用户的情况下。因此去除了该插件。

    [补充说明1] 如欲浏览更多关于Serendipity的使用、维护信息,请参考《网志程序Serendipity中文维护个人文集》一文。2007-07-15 14:23:19

    类别:

    页面