不要优化

一到周末就下雨,不过不下雨,我还是挺喜欢宅的,一起宅更过瘾。
伴着雨声看书真是一种享受,不过当看到这两个准则时,一下子短路了。

优化的第一准则:不要优化。
优化的第二准则(仅限于专家):还是不要优化。 —— Michael A. Jackson

脑子在掐架了。最通常的想法都是要程序跑得快是需要优化一下。不过有些真实经历告诉我,只有很少经过严格试验的优化手段是有效的,其它很多都是自作聪明。书中接下去这句很有感觉: 继续阅读“不要优化”

产能过剩的启发

看到这期节目财经郎眼-20100510.聚焦产能过剩,觉得讲得挺好,他主要的建议是相当赞:要藏富于民。
二零壹零 五一劳动节的烟火
我不是想探究这个经济话题,只是这个现象所折射出的问题,让我想起一些很切身的问题,套用一下名词就是软件生产中的产能过剩。虽然我参与的项目数量并不算多,但烂项目真是一个接一个,而烂得很相似的一点就是这种产能过剩,或者说是浪费(过去我是用过度设计来做概括,始终觉得不够妥当)。 继续阅读“产能过剩的启发”

No.13 千层云

千层云

想像一下,被那么多层的棉被盖住会是什么情况呢?鸭梨很大吧?

放心吧,这个场面持续不了多久,我原想多拍几张,可是真是风玩得正爽,大概跟波儿在大海上狂奔一样的欢快吧~

在云上奔跑是什么样子的呢~
千层云

PS: 2010/05/08 金鸡湖上空的云
PT: 波儿 — 悬崖上的金鱼姬,可能各地翻译不停

Maven-jetty-plugin 中多 webapp 资源目录的配置问题

开发中经常用到 maven jetty:run,特别是它支持 多个 webapp 资源目录 的特性,在开发环境中相当有用。比如,src/main/webapp 是 prod 的资源,而有些开发或者测试时用到的资源可以安心的放在 src/test/webapp。可以 参考这里 详细了解怎么使用。

但是,迁移了环境之后,发现它总是报错:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to configure plugin parameters for: org.mortbay.jetty:maven-jetty-plugin:6.1.22

    (found static expression: 'src/main/webapp,src/test/webapp' which may act as a default value).

Cause: Cannot assign configuration entry 'resources' to 'class [Lorg.mortbay.resource.Resource;' from 'src/main/webapp,src/test/webapp', which is of type class java.lang.String

但是奇怪就在于,在 eclipse 的 maven 插件里面报错,但在命令行执行却没有问题。基于懒人原则,只要有路可走,不深究这个问题。可是当我再一次迁移至 linux 环境下时,命令行报错了。无路可逃的我只好 向 google 求救

经过一番扫描,发现有先行者了,评论将矛头指向 JAVA 的版本以及操作系统,还有提供了一个可以尝试的修改:

<baseResource implementation="org.mortbay.resource.ResourceCollection">
    <resourcesAsCSV>src/main/webapp,src/test/webapp</resourcesAsCSV>
</baseResource>

试之,可行。这是传说中的 maven overloading bug。文中还提到了和 contextPath 的设置有关,敬请留意。
很多小蚜虫

为什么 script 叫脚本

我只知道脚本是从 script 翻译过来的。不过 为什么Script叫脚本 一文从中文含义的角度来讲述那段故事,还挺有趣。
门雕 - 大戏 - 2010/01/02 网师园

我最纳闷的是 script 的翻译 分别有好几种:脚本,剧本,手稿,手迹,为什么不用和手有关的手稿,手迹(绝大多数人写 script 是用手的吧 :-),而采用脚本呢?

我读书少,不晓得如何去探索个中玄机。权当这个与 Java 语言定名一样的随意而至。不过,从中文角度去了解一下为何与脚有关,也颇具玩味。再对比一下现代对于脚的印象,我估计大多数人的第一反应是和“臭”联系在一起,而与“美”联系在一起的是腿。脚所代表的是一种移动和站立的功能,对于人来说这是一种基本设施,有了众多双脚良好的支持,才可以编写出优美的脚本。所以,我觉得人们去洗脚也可以是一种感恩,而不仅仅是为了洗去肮脏与疲劳。

Jscombiner 0.4

另一片天空
乱贴图:1月2日 网师园

分析新的需求,确实需要增强 jscombiner 了。之前写了一半,时间不够,大家急着看效果。今天把另外一半补上。再修补一下,可以升级到 0.4-SNAPSHOT 了。工具,好用是最实在的。

这次主要是增强了 classpath 的概念。原先使用时不需要设置根类路径,根据文件中的 @class 声明来反向定义根类路径。相应地,入口调整为 buildHierarchy(String className)。外表看来变动很小,而且实现着一样的效果,但是里面整个寻址方式都变了。

代码本身没什么值得深究的。不过结构变了。几番修改,有些共通点:

  1. 重要的功能需要规划
  2. 实现的进度是看需求的
  3. 不到最后不得不修改结构,不会乱动
  4. 测试用例需要有一定的抽象
  5. 重构很重要
  6. 结构发生变化,重写比重构快

梦后游离综合症

昨夜噩梦缠身,三毒涌现,八卦了一下解梦的,凶兆。

睡不好,精神奇差。游尸荡漾。
叶尖
往日的画面飘在云端,欢声笑语即使是耳机里的声浪都无法覆盖,仿佛就在身边……

早晨的太阳洒落在脸上,一根根细毛都清晰可见,呼吸着同样的空气,却凝望着各自的车窗。没有话题,也是可以的。

越远的回忆越感觉温暖,如果可以回到过去,我希望以倒带的形式来播放。

新体系确立

上一年差不多这个时候写了一篇《势》。现在看那个时候,就是很压抑,很纠结,心里放不开,毕竟已经等了一段时间,但仍然心存希望,尝试去解答。不知道下一年再看这个会不会暗暗发笑,笑自己幼稚呢?估计会,因为现在看来已经很难理解,就那点破事,还用得着憋上几个月。

今年,心态就完全不一样,虽然还没达致无欲则刚的境界,不过至少学会了更多地观察,陈述事实本身,少加评论,不纠缠在一个地方。因为世界比我所见所想还要大得多,我能做的就是要放宽尺度,但又不是无限延伸。今时今日的我还存在着极限。

花重压枝

这一周几乎都在思考关于更加适合现在项目的体系结构。要做的东西和以往的应用其实是很大的不一样,在UI结构,交互性等等方面的细节要求都很不一样。灵活性扩展性更是考验着所有人。但是我不希望进入到这个体系的人依然受到所有这些方面的影响,可以专注于相对独立的特性或者功能。
继续阅读“新体系确立”

玉树地震哀悼日

今天是青海玉树地震灾难哀悼日。
苏州一直下着雨。
连花也在落泪……
连花也在落泪

不敢想象下去,每次地震,那组触目惊心的数字,都会让人感到无比羞愧。
有什么办法可以让我国的人民免遭这样惨痛的灾难呢,救灾再出色也敌不过一次有效的预报,一面坚韧不倒的墙。

人民,是立国之本。

乱,感觉很乱。文化逐步表像化,口号化。
浮夸,很浮夸。看看钱都用在了什么地方了。
形式,面子不容侵犯。道德,法律,有人认为可以是个人理解。

怎么办?没办法?不行!没决心和没办法是两回事。

PS:水平有限,图弄成灰度的就看不出来是花,见谅……