Jul 2 2009

右脑模式有没有作用?


Jul 1 2009

升级Wordpress 2.8

Wordpress前进的大势已不可逆转,近来升级动作非常频繁,我也只能跟随之了,否则落伍太久的话,插件样式会慢慢跟不上的,这次一下从2.3跨过.4.5.6.7,直接奔到2.8,绝对的大跃进,感觉记录之:

升级过程

完全按照官方的文档来的,没有什么特别需要说明的地方:

  • 备份数据库和原版本的所有文件,这是以备万一用的。
  • 禁用老版本的所有插件。
  • 用新版本替换老版本,包括根目录以及wp-admin和wp-includes目录,为防止服务器垃圾文件,可以先删除服务器上的wp-admin和wp-includes目录,我就是这么干的。
  • 根目录下的wp-config.php需要特别处理一下,从wp-config-sample.php中拷贝一些设置过来。
  • wp-content目录主要是插件和样式,则需要小心处理,一个一个决定是否要保留吧。
  • 完了之后,再登录到后台就提示升级了,确认之后就一切OK了。

后台

  • 比老版本组织的更好了,尤其是Dashboard,而且也增加了很多功能,更加方便非程序员博客了,比如可以很方便的在后台安装插件。
  • 后台的运行速度比以前也稍快
  • 编辑器终于支持Chrome了

前台

  • 很多原有的插件的功能现在已经集成到主程序了,比如线索化的留言,不过要在后台设置一下。
  • 支持Avatar头像了。

插件和样式

  • 一些插件还不能兼容到2.8,不过我用的几个都还好。
  • 越来越多的样式需要2.7+的Wordpress了,这也是我升级的一个大的动力,好在安全升级了。

说了一堆都是优点,其实最大的一个缺点就是升级太繁琐(我小心翼翼,心惊胆战,担心我的数据毁于一旦),看看上面那些步骤,不知道是不是每个博主都能小心应付过来。这才有了诸如什么one-click-update之类的插件。


Jun 29 2009

SVN的Peg Revision和Operative Revision

Peg Revision : SVN里的一个有趣的概念。 (Peg:钉; 栓; 销; 桩; 轴柱; 支柱,和SVN的版本什么关系?)

一般情况下,我们指定SVN下的一个元素的一个版本,只需要使用path和版本号就可以了,但是某些特殊的情况下path加版本号是不能定位一个特定的版本的,因为有可能某个path会出现删除之后又被创建起来的情况,也就是说这个path可能对应多个不同的对象,这种情况下,仅仅指定一个版本号svn是不能定位的,必须再加上额外的信息。

SVN于是定义了Peg Revision来解决这个问题,这个Peg Revision表示在这个版本下定位那个元素,这一定是唯一的,这在SVN的命令行是通过加在path名后的@来指定的,而svn命令行的-r 指定的版本,则称为Operative Revision。这样下面的命令:
svn info build.xml@10 -r 50

就表示要在仓库的10版本中找到build.xml,并显示这个对象的50版本信息,而一般情况下如果用 svn info build.xml -r 50 ,则一当前库上的build.xml为对象,显示它的50版本信息,实际上也等价于:
svn info build.xml@BASE -r 50

通常,这两条命令产生相同的结果,不会有歧义,但如果build.xml在51版本删除了,又重新建立了这个同名文件,则这两条命令就产生不同的结果了,前一条命令会引用到比较早的build.xml,而后一条则是比较新的,但在50版本,这个新的build.xml还没有建立,所以会显示对象找不到。
详细的解释,也可以参考红宝书中的解释: http://svnbook.red-bean.com/en/1.1/ch07s03.html


Jun 22 2009

五人制足球

无论是看还是玩,足球都是我最喜欢的运动,只是近年玩的渐少了,颇为遗憾的是,现在大学校园里玩足球的也不如玩篮球的多了。正式的五人制的足球很少看,有机会看了(感谢某人的夫人的单位的赠票),觉得也还不错。

大致规则

  • 五人制足球赛比赛场地小,大概是正规的十一人制足球的球场的四分之一。
  • 每方参赛人数为5人,包括守门员。比赛时随时可以在换人区内随时无限次地换人,但要保证先下后上,换下的队员可以再次换上。换人也无需暂停死球,这让场上球员可以向走马灯一样换来换去。
  • 比赛每半场20分钟,中间休息10分钟,但死球后不走时间,类似篮球,而且每半场还可以各叫一次暂停。
  • 不允许铲球和合理冲撞,没有越位,界外球用脚发,球门球用手发。

看球感觉

  • 节奏相当的快 ,即使比赛只剩1分钟时,仍然可以发起数次甚至更多的有威胁进攻。
  • 大脚、速度、身体几乎没有用武之地了,需要球员有很细腻的技术和球感,这点明显对亚洲人有利。
  • 头球?一场比赛大概能看到个三四次吧,多半还是因为传大了,实在够不着了。
  • 场地不是草皮,有点象塑胶的场地很怕汗水,所以比赛时不得不常常用拖把伺候着。
  • 有一些在11人制中根本看不到的战术,比如我看到的一个战术,是荷兰队在落后时,一旦本方控球,守门员就跑下去,换一个进攻队员上来,多一个人要好进攻的多(相当于5打4),不过也是相当冒风险的,一旦对方拿球,只见那个后上的进攻队员飞速跑下场地再换守门员上,有时也来不及。 ^_^

上照片

拍的不好,连球门都看不到,而且还有一面不喜欢的国旗,这是中国VS伊朗的赛前热身时间。


Jun 13 2009

有趣的概率

假设你的朋友有24人,那么他们当中存在两人同一天过生日的概率有多大? 我的直觉给出了相当离谱的答案,在我计算之后,我明白了,原来当年我们班上(大约30多人),那一对因为同一天生日,我们觉得很有缘,于是尽力撮合,后来也真的结为夫妻的他和她,从概率的角度,也不算那么稀奇了,我估计他们当年可能没有费这功夫去计算这个概率。

概率,确实很有趣,有一些概率的问题一直让我印象深刻,比如:假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇。其中一扇后面有一辆车,其余两扇后面则是羊。你选择了一扇门,假设是1号门(没有打开),然后知道门后面有什么的主持人开启了另一扇后面有羊的门,假设是3号门。然后他问你:“你想选择2号门吗?” 你应该换吗? 那假如主持人并不知道哪扇门后面有车,只是碰巧开了3号门是羊,那么你又该不该换呢?

玩扑克的时候经常遇到该自己出牌时,不知道怎么出,比如三张和拖拉机,谁更保险?如果是一个数学家,也许会用概率的方法计算一下,我觉得算起来太麻烦了,我曾经想用程序模拟的方法计算各种牌型的概率,后来不了了之。。哈哈


Jun 6 2009

像艺术家一样思考

记得一个天才的音乐神童是这样回答别人问他如何作出复杂而动听的乐曲的问题,他说:“我没有创作,它们就在我脑子里,我只是记录下它们”。这让很多人包括我觉得,艺术是需要天赋的,是一些不可言传的东西决定了你能否学会音乐,绘画,我们大部分人也称之为艺术细胞。

《 像艺术家一样思考》试图训练我们这些凡夫俗子获得这些关于绘画的艺术细胞,而且是在五天之内,听起来多么不可思议,我曾经学过素描,在三个月之内,我取得一些进步,但我只知道不停的去画,想像着有朝一日可以量变引发质变,或者说突然开窍,来一个顿悟,但至今我认为我差的很远,我一直觉得那些艺术家看事物的方法是和我们普通人不一样的,他们可以迅速,精确的捕捉视觉中的一切细节,让人觉得难以置信,可我不知道怎么才能做到。

这本书试图解决这个问题,它是一本5天教你学会绘画的书(当然是在你主动配合的情况下),书的大部分内容是在讲述如何观察,这是非常难讲的东西,也是很多书甚至是老师们匆匆略过的地方,同时为这些内容提供了很多有趣和针对性的练习,光从这点,这本书就显出其价值了,它把观察技能分成五点,每点对初学绘画的人都是很难的(我很有感触,呵呵)

  • 对边线的感知
  • 对空间的感知
  • 对相互关系的感知
  • 对光线和阴影的感知
  • 对整体的感知

除了这些,这本书通篇还介绍了另一个有趣的观点,人的绘画技能主要由右脑控制,右脑掌握感知、综合、直觉,而人的左脑掌管的词汇、推理、分析能力会在绘画时阻碍右脑的工作,这也是艺术家和普通人在绘画时的不同之处,艺术家们自觉或不自觉的在绘画时切换到右脑模式,而我们普通人很难做到,证明这个观点的一个例子是,很多5、6岁的小朋友可以作出几近完美的构图,而成年人反而不易做到。这就是由于孩童时期左脑还不够发达所致,呵呵,这倒是让我觉得很新鲜也比较有说服力的一个例子,推而广之,如果很多艺术门类都需要依赖右脑的工作的话,那么从小开始学习会更容易掌握就比较容易理解了,因为左脑的阻碍会小的多。

想学绘画的初学者,很值得看下这本书,至于这本书封面上提到的什么培训创造力,我倒真的没怎么看出来。另:这本书的翻译一般,有一些明显的错误,不过还好大部分可以很容易的看出,也不怎么影响理解。


May 28 2009

你的眼睛分得清吗?

如果你想知道自己眼睛的颜色分辨率,可以来做做这个颜色分辨的测试, 我是从1416教室看到这个测试的,顺便谢过,因为要贴我自己的测试结果(下图),只好这里再介绍一次:

我测的结果是15分,分越小越好,图的中间部分是一张色谱图,每种颜色那里有一些小的竖条,竖条越低,说明你对此类颜色分辨率越高,我的结果中,就是绿色、青色和蓝色的部分有些分比较低,你如果感兴趣了,顺着这里点过去,遗憾的是还要注册一下,稍嫌麻烦。

测试的方法很简单,会给你很多比较类似的颜色,你按照顺序用鼠标排一排序就好了,一个小的提示是:如果你觉得分不清,可以调下显示器的亮度和对比度。如果你得了0分(最高分),记住留下你的大名让我膜拜一下。


May 26 2009

测量Ant编译时间

Java世界下,Ant几乎和C++的make一样属于超级常用的工具,可能也和Ant的Java实现有关,通常我总是感觉Ant有些慢腾腾的,有时实在嫌Ant编译太慢,口说无凭,自然想要测一下时间。原始的方法是改动Ant脚本,在里面加入计时的部分,不过显然属于吃力且不讨好的工作,还好,Ant提供了很强大的扩展功能,可以在Ant提供的回调基础上做这些统计工作,于是我找到了两个方便的开源工具:Ant Utility和Ant Contrib,他们均可以作为Ant的扩展来提供时间统计功能。

Ant Utility

这里下载Ant Utility的Jar文件,放在Ant的Lib目录下,然后在执行ant时加入一个参数 -listener net.java.antutility.BuildMetricsListener即可,ant执行结束时就会打印出耗时信息了,下面是一个例子:

BUILD METRICS:
Local Time, Child Time, Invocation Count, Type, Name, Location
10703, 0, 1, TASK, copy, E:\lab\liferay-ext-5.2.2\build-common.xml:191:
2796, 0, 15, TASK, taskdef, E:\lab\liferay-ext-5.2.2\build-common.xml:48:
1172, 0, 15, TASK, taskdef, E:\lab\liferay-ext-5.2.2\build-common.xml:51:
172, 0, 15, TASK, whichresource, E:\lab\liferay-ext-5.2.2\build-common.xml:93:
156, 26125, 1, BUILD, build, n/a:

这是在执行Ant结束时打出的时间统计,每行均为Ant的一个动作,在Ant术语里就是Build、Target或Task,整个输出按照时间顺序倒序输出,这样便于一眼发现编译的瓶颈所在,基本上每行的信息已经很直观了,Child Time是指这个动作的子动作的耗时;Invocation Count是执行次数;后面的Type,name,Location可以很方便知道这个是在做什么动作。

Ant Contrib

用法几乎和Ant Utility一样,但最终的结果,我看来,没有Ant Utility显示的好用,所以,我还是推荐用上面的Ant Utility。


May 19 2009

迷宫

小的时候,这是我很喜欢的游戏之一,总是在各种报纸,书上寻找这类迷宫,每次成功找到解法,我会很开心,但同时也会失望,因为一旦找到了,搜索出口的乐趣就没有了。

现在好了,有一个Java程序员,他把这样的创意实现为一个Java applet(也是为他的儿子而做的),只要点击这里,就可以看到那个动态生成的迷宫了,你可以点击它,就会重新生成一次,并且保证有且只有一个解,生成的迷宫会自动在三种难度间切换(维度越大,难度越高,上图就是难度最大的一种),我猜他的儿子一定很开心,他有个让人骄傲的程序员老爸。。

当然,玩这种迷宫游戏是很费时间和眼睛的,尤其象上面这种超大型的,加之我已经过了那个年龄,所以我并没有真正的去解一下这个迷宫并判断它是否有且只有唯一解,但我想如果有小朋友在阅读到我的blog时,也许会有兴趣去解它。


May 17 2009

苏迪曼杯

这两天的晚上时间都献给央视五了,羽毛球是我少有的几个即喜欢看,又喜欢玩的项目了,还记得在学校时,每到羽毛球和乒乓球的团体赛时,都象是一个节日,还是狂欢的节日,甚至还有次系里还破例给放了假,推迟了一次实验课,让大家一起看比赛,让我很早就体会到了什么是人性化的管理,而且那时的比赛要比现在好看,原因是那时中国队没现在这么一支独秀,有时输了还可以给大家一些摔东西的机会,现在是很难有这个机会了,就算有,也没那个氛围了。

不知道是不是主场起了很大原因,决赛比我想像的简单的多,我还以为高丽人能拿下他们擅长的双打,给中国队带来点麻烦,最好是不大不小的麻烦,不过我的预想没有成为现实,韩国好像还没搞明白怎么回事,就0:3了,看来羽毛球也在加快追赶乒乓球的步伐,不过还是很开心的,真希望奥运会上羽毛球,乒乓球也能像举重、拳击一样分公斤级,那多好。

另:提个有趣的问题,为什么很多队员在上场比赛前会将一把拍子放在自己的球包的上面?答对有奖,奖品还没想好。。。 ;)