radio.21cn.com

当H:\Audio里面的歌被我重复重复又重复地听了N遍以后,我决定尝试去寻找一个网络音乐电台。幸运的是,在Goooogle里面打入“网络电台”出来的结果的第一个就可以用,也就是标题的radio.21cn.com。由于里面有粤语频道,所以我就更加高兴啦,所以我听了一天。那种不知道下一首歌是什么的感觉,原来是让人感到非常愉悦的。

可惜VPN的100k/s的速度听起来还是有点卡。

今天唯一的课因为老师出差而被提前上了,于是全天都很空闲。既然解决了听觉上的问题,便考虑如何解决视觉上的问题了,上午给Java大程序写了结题报告,下午呢,想了很久决定重看《我和一个偷吃禁果的女孩的故事》,很有点颓废的感觉,不过感觉很充实。

说起来,今天是传说中的端午节,不过没有粽子吃……

收录一个Blog

沈涌Blog,内含许多关于顺德的文章
http://blog.sina.com.cn/u/1211259711

从前段时间TC回顺德参与农村调研的成果,到昨天某课上某老师对珠三角“外向经济为主,物流体系发达”的一笔带过和对浙江区域经济的深入剖析,我逐渐开始怀疑我所认识到的那个顺德。隐约知道了沈涌先生写过许多关于顺德的文章,于是今天去拜访他的Blog,试图从他的文字中发现一个其他人眼中的顺德的模样。

拜读了若干篇较新的文章,同时Google了一下相关的内容,还参考了一下TC的一些研究成果,终于有了一点新的认识:制造业在顺德还是一个巨头,而并不是我所认为的那样,第三产业已经占领主导地位。

这里姑且不讨论我是高估了还是低估了顺德的发展。

沈涌先生的文章中还提到了顺德的一些文化上的东西,这也给了我一点新的认识:顺德并不是一个文化沙漠,只不过是没有“砖家”去深入探讨这种文化而已;除了休闲娱乐可以成为文化之外,原来经济也可以成为文化。在忽略掉许多炒作的东西之后,顺德还是有值得认真思考的地方。什么是炒作的东西?其实我也不知道顺德曾经炒作过什么,但是,对非顺德的地区的理解使我曾经相信关于一个地区的所有文章都是炒作的。然而当这种炒作出乎我的意料之外的时候,我就会认为这也许并不是炒作。

无论这些文章(包括沈涌先生)如何说,我都可以从自己的眼中看到一点机会。而我曾经试图仅仅通过自己的眼去认清楚它,可是发现我看到的那一部分恰好不是我所应该看到的部分。所以这个世界上需要有实习这种事情存在。我自然不太可能成为一个先锋,但是至少可以让自己的船在某个大潮中前进,这样的感觉其实也不错。

最后想给沈勇先生一个Trackbacks,希望他能够感知到我的渺小的存在。(sina好像关掉了这个功能,真是遗憾,不过我并不会因此而消失的。)

架构:摒弃MVC

早上的计算机网络上,打开某个记事本,开始考虑陷入困境的日记本大程序的出路。课后回来调整程序架构,成功地实现了除HTML输出之外的所有功能。现记录程序架构,以供自己参考。

三个界面类:
class Controller extends JFrame
class Editor extends JFrame
class Viewer extends JFrame

四个功能类:
class AddDaily extends Editor implements ActionListener, ChangeListener
class EditDaily extends Editor implements ActionListener, ChangeListener
class ViewDaily extends Viewer implements ActionListener, ListSelectionListener
class ControlIt extends Controller implements ActionListener(主控制类)

一个通用最终类:
final class COMMON

一个入口
class Dailybook

在这里有必要介绍一下原有的架构:

三个界面类:
class Controller extends JFrame
class Editor extends JFrame
class Viewer extends JFrame

一个控制类:
class ControlIt

一个入口
class Dailybook

原有的架构的问题在于处理“编辑日记”和“添加日记”的时候,使用了同一个Editor的引用,所以在使用的时候不得不判断是编辑日记还是添加日记,有许多方法都要修改,极之麻烦;同时,所有的控制代码都放在类ControlIt中,使得该类的代码颇为壮观,同时不可避免地产生了无数的内部类,不符合某个美学观点-_-|||。

放弃MVC架构是出于两个考虑:

  1. 事实上不存在类A对类B的实时监听;
  2. 任何两个类之间都不需要共享数据,只有在EditDaily的功能模块中需要传递一个索引值;如果把模式单独作为一个类,那么要解决许多的数据共享问题,在这个程序中并不适合。

新架构的难点在于,当某个功能对象完成任务后,如何通知主控制对象使得主控制对象即使销毁功能对象并返回主控制界面。这个过程类似与对象“自杀”有点类似,于是尝试性地写了一个简单的“自杀”程序:

import javax.swing.JFrame;

class Killer{
void kill(A a){
a.dispose();
System.out.println(”Kill Succeed!”);
}
}

class A extends JFrame{
private Killer killer;
A(Killer k){
this.killer = k;
}
void killSelf(){
killer.kill(this);
}
}

class Entrance{
public static void main(String args[]){
A a = new A(new Killer());
a.killSelf();
}
}

这里模拟Killer是一个生成A的“杀手”对象的类,在创建A的对象的时候,需要同时创建Killer的对象并且传递给A。当调用A的对象的killSelf方法的时候,A会通知自己的杀手把自己杀掉,给“外人”(Entrance)造成了一种“自杀”的“假象”。在这个程序运行正常后,我才开始调整日记本程序的架构,目前已经完成,并且把一些常量抽取到通用类中。

在下午看过师兄们的成果之后,我才发现自己差距甚远……看来要努力往程序里面加一大堆的功能和装饰才好。目前要朝着这个方向努力啊啊……

瞬间写完了哲学论文

嗯,2915字,感觉还是不错的,不过许多地方的字眼没有认真地斟酌,哲学对这一点的要求大概还是比较高的。

说起这篇论文,其实也花掉了不少时间,先是看了很久的《西方哲学史新编》,然后看笛卡尔的《第一哲学沉思集》——没有看完,在完全看不懂的地方停住了,然后论文框架体系的构建也花掉了一个晚上……不过完成度应该算比较高就是了 ,嗯,难得的一篇被我认真对待了的公共课论文啊,纯原创,其它的论文很多都是大段大段Copy & Paste的。

真正写正文的时间也就三个小时左右,万全准备后的效率真地很惊人,真的。

在完成这篇论文后,还有许多的大作业要做,虽然都不是很困难的,但是都是很花时间的。无论如何,这个学期应该是我上大学以来最游刃有余的时期,或者说,我从来没有这么游刃有余过。不过这样子说一下的话,也许马上就会被某个上帝诅咒,然后厄运降临了,那么我还是小声地说一下好了。

顺便说一件事:我们的创赛项目在复赛落选后,组长把项目提交到SRTP中,居然获得了校级通过,但是现在项目的指导老师(和组长同专业的)要求组长把项目组的人都换成本专业的,然后把我们踢出去了。组长向我们道了歉,还承诺不会使用我们研究出来的成果,并且建议我把EC那一块单独划出来下次作为SRTP再提交上去,不过呢……

我是不会怪组长的,她已经仁至义尽了;我自然也怪不起那个指导老师。发生了这样的事情而一点儿也不生气,我也许是宽容,也许是看得多听得多然后习以为常了——正如我对组长说了一句假装是哲学老师告诉我的,其实是我自己临时想出来的话一样:人毕竟还是一只动物。

“多眼看世界”知识竞赛的网上考试系统

系统的基础是以前做的一个实现了随机出题的破烂考试系统。

这次的需求相对以前独特了一些:三类题目,每类随即抽取一定比例。花了一个上午把那边提供的资料整理好(到目前为止,我还是认为这项工作是最具有技术含量的,没有一定的Word中级应用能力,根本就是一项消耗生命的工作),然后想了一下,干脆就把3类题目分放到3个数据表里面,反正把生成随机题号的代码复制两次就好……

下午参加了一个校际管院学生会交流会,回来后磨蹭了一下决定先去吃饭,饭后继续做。

确保了能够正常随机出题之后,看着混乱的table觉得不舒服,于是打开了某个秘密收录的htm和css打开,一顿狂拷,把系统的风格改掉了,并且代码看起来比较整齐了……

在改的过程中,感到出错信息比较吓人,所以改了一下,并且分析了几种可能的违规操作,然后输出相应的信息。

最后加了一个超时检查,先做基于ASP的,然后用js写了一段在状态栏显示Remain Time的代码,正常超时是30分钟,改成1分钟来测试,超时自动交卷,现在有点担心session.timeout=40能否发挥作用,测试中……

然后上传程序并叫团委那边找人测试,嗯,上次的某某知识竞赛毁在我手里了,希望这次能够成功。

其实ASP这种无聊的程序写多了,就会有一些跟ASP关系并不是很大的感悟,例如,作为主办者是不会关心代码运行效率的,只会是否在任何状态下都能够正常运行,而且,他们也不关心代码看起来是否比较整洁和干净;而用户则更多希望不要出错,而且最好能够比较方便地使用。

本来想长篇大论一下的,后来还是决定算了。

实际应用过程中暴露的问题:

session真的不够稳定,看来纯基于数据库的认证才是王道。

哎……

这篇文章的阅读方法是,放到某些文本编辑器中,删除每行第一个字节。
。裕希业木砂姹疚薹ㄊ褂昧耍掳姹究梢裕蠢矗牵疲椎耐υ嚼丛角苛恕?
。蹋桑郑牛茫希突故悄苣焉先ィィ舛问奔涞降资窃趺戳恕

被人狠狠BS了一把

亏我还声称自己数学很厉害,看来还是要好好地把自己藏起来才好:

不可能事件发生的概率为0,反之不然。

似乎没有什么挽回面子的办法。除了忘掉。当然我的强迫症状不会让我轻易忘掉这件事情的。

正在看《第一哲学沉思集》

深深折服啊,每句话都是严格推理,不愧为既是哲学家又是数学家的笛卡尔。

对于我这种长期受到诸如“为什么A=B,因为非B=非A;为什么非B=非A?因为A=B”这种循环论证荼毒的人来说,《第一哲学沉思集》让我的思维到达了一个新的高度:由于没有证据,所以暂时否认一切,然而似乎不能够否认自己在思考,因为自己明明在否认一切,如果否认了自己在思考那么就不存在自己在否认一切这件事了,然后还有一段关于思考与存在的推理,最终得到了“我思故我在”的经典结论……详细的推理过程当然没有我说的这么轻描淡写,不过,也许是我看得哲学书并不多,或者说我太浅薄,无论如何,我都认为这种唯理的思考才是真正的可以让我折服的东西,而那些“从一开始就下定义”的是无法让我折服的。

在看到这些结论之前,我的观点是,既然看到了,并且在一定范围内是合理的,那就姑且相信。这个观点与笛卡尔的想法应该说是没有冲突的,因为思考归思考,现实归现实。

还没有看完,看完再说别的吧。

在团委办公室干了一天活

工作内容做商务英语挑战赛的opening和ending的flash。我发现自己的确不适合做设计,无论是从想法上还是从技术上。

在工作的时候,我已经不去考虑值得或者应分这类问题,对于工作的态度,我似乎终于走上了一条良性的路,而不再是那种满口答应但草率完成的风格了。

现在,我不轻易断送别人最后的希望……这同时是一个弱点,我很容易会成为别人的苦力,不过这样又如何呢……

违心的事情做多了,其实也就不那么违心;也许应该有更好的心态,但我毕竟还是一个喜欢空闲的人。

好像很久没有写Blog了,原因不是忙,而是没什么大的心理事件发生。“逆天”计划的进展应该说是比较顺利的,不过还没有得出什么惊天地泣鬼神的论断——恐怕距离论断出来还有一个相当长的时期。

今天是母亲节吧。虽然不在宿舍,但是也打了电话回家——本来想早上的时候打给妈妈一个惊喜的,但是打电话的时候她既不在药店又不在家,真是让人失望啊……