leechael.orgHome

关于 Leaf

此文已经是第二次的撰写——因为无法理解的死机事件,原来的文字全部丢失。对于一个写字的人来说,会是一个很打击的事情:或许就因此,破坏了初稿那种一气呵成的流畅,只能收拾着思绪的碎片,尽可能回忆起不久以前自己写下的文字。

首次读《大教堂和市集》已经是将近三年以前。我不知道这篇文章影响了多少的人,这刻的我肯定与三年前的我截然不同。这一次重读是出于一个偶然,或者可以加上一些很巧合的色彩:Project Leaf 的开发出于几乎停顿的状态。我希望我接下来的文字可以完整表达我的想法,以及给予那些对 Leaf 存在好奇心的朋友一些解释,为什么我这般的拖沓。

Leaf 是使用 Footbig Notes API 储存数据的 Blog 程序。简单来说,Leaf 的初衷之一,是可以让使用者不用顾虑数据服务器的问题,不需要对 MySQL Server 担忧,只需要一个运行着 PHP 的服务器,就能正常使用。

当初和 Livid 说的,大致所需的开发周期,是一个星期;而拖沓至今的已经近两个月,在公开范围内是零的进度,就连我自己也感到羞愧。在我对着 VIM 敲下文字的前一刻,我还没有任何激情,让我继续对 Project Leaf 进行代码的编写。

这里简单提及 Project Leaf 的两次重构:第一版的代码是在 PHP5 + Apache2(With Rewrite Module) 下进行开发,不超过十个人曾对这个版本的 Leaf 进行测试。但这一版本的 Leaf 没有足够的通用性,较为复杂的安装过程,在和 Sai 以及 daqing 交谈过后,第二个版本的开发开始了。我大幅度地修改代码,目标是,只需要安装了 PHP4+ 的服务器,就能正常运行 Leaf。然而问题再次出现了:对效率的追求,我对在第一版中使用的数据架构产生了怀疑。我希望储存在服务器上的每一个 bit 数据,都是优雅的。我尝试着建立一个新的数据架构,没有 XML 的繁琐,独特,人可阅读——而这一切只让事情变得更为复杂。我把第二版 Leaf 的代码疯狂地删掉,然后开始第三版的开发,然而,我的激情似乎已经完全耗尽,拖沓的我将 Leaf 的开发置于停顿状态。

我有在想我拖沓的原因。此前一次和 daqing 的谈话中,他认为原因之一,是我不使用 Framework。而我则不是这般认为,我们对于 Framework 使用与否上的分歧,让当时的谈话充满了火药的味道。我认为有必要提及我对待 Framework 的态度,我可以借此理清我的思绪:Framework 对于我,只是一个比 Library 有更丰富成熟的代码集,我不会基于任何 Framework 进行开发,我只会把 Framework 当作一个臃肿的 Library,我只是取其中我认为可靠高效的部分使用,而这一部分,随时可以被其他 Library,或者我自己的代码所替换。

真正的原因,是我在重复制造轮子,这也是我不愿意承认的原因。现有的 Blog 程序太多了,发展成熟的也不少,而我则狂妄地认为,以我 110 的智商,能比那些天才们创造出更好的东西——完全是错误的想法,这跟小孩那只是希望更炫的心态没有任何区别。此外也存在另一个问题:我并没有在使用这个程序。或者说,因为这个程序只是充满了我不切合实际的想法,也没有与我自己所需要的实际相结合,这没有一个可以让它继续存活的理由。

过往我作出了太多不成熟的决定,这一次的思考,我希望有更成熟的结果:删除 Leaf 现有的所有代码,然后找一个成熟的开源方案,在此基础上,重新开展 Leaf 的开发。我不知道这算不算是一个草率的决定,我还在思考这一切。而我希望这一篇说明,能给我自己一个心理上的安慰。

Back from Guangzhou

现在 20 岁,剩下不足六个月,也就 21 岁了。在 23 岁来临前的夏天开始工作。那么在 30 岁以前、或者说,31 岁以前,大约八年的时间。这八年能够小有积蓄是最理想的情况,然后到那些莫名其妙地喜欢的地方去看看—— IslayMount Athos。相机自然是不能少的了,Laptop 太大了,EeePC 就很适合。这样一个人的出游,“旅行”一次或许有些不妥,或者说,“流浪”更为适合。

甚至我在想,这个夏天就去流浪半个月甚至更久。昨晚独自一人在广州的大街上漫无目的地走着,耳边听的是王若琳和椎名林檎,居然感到莫名其妙的轻快。

在书店中行走的感觉很奇妙。大致的个人偏见还是有的:对于那些畅销书和现代小说,完完全全是抗拒状态。这两天我两次光顾位于广州购书中心的三联书店:第一天买下了村上君的《雨天炎天》,然后在哲学类的书架前踌躇了半天;由于当天还在广州,拿着太多的东西实在很不方便。然而第二天就不是这样了:很明确地知道几个小时后即将离开,然后《About Face: Reviving the Rules of Typography》、《菊花与刀》就让我乖乖从口袋中掏出了钞票。不过依然没有从哲学类的书架中带走任何一本书;本是打算把《君主论》以及《爱弥儿》也一并带走,但本以为能在购书中心同一层中找到另一个更便宜的版本——结果是找不到,但也没有回三联书店中把这两本书也买下了。

广州购书中心的四楼是贩卖计算机类图书的地方,几乎每一次我都会到那里逛一逛;凑巧的是,每一次我的到去,国外引进的图书的位置都会改变一次。

对于购买计算类的图书,我选购的标准是,一百分最高分数先给打一个折扣:引进影印版是 0.8,翻译版本是 0.7,国内的 0.5。你可以认为这是个人的偏见;不过我认为,这些书本质上都有骗钱的嫌疑,包括我最为狂热的 O'Reilly 出版社。倒是对那些更为本质的东西更为感兴趣,技术只是一种手段,PHP 也罢,Python 也罢,RoR 也罢,都是为了实现大致一般的目的而被不同的开发者使用着。

Starbucks 属于那种,比那些只会用速溶咖啡冲泡然后抬高价钱卖的店铺更能让我接受,但喜爱程度不及那些用新鲜烘烤的咖啡豆现磨的特色小店。一个多月不喝咖啡,瘾头来了,连续享用两杯。

不过咖啡馆属于那种很神奇的地方,就例如在到广州以前,我正烦恼一个问题,而在咖啡进肚子以后,作出了自己认为是较为合适的决定。Project Leaf——或许有些朋友已经得知,这是一个基于大脚 Notes API 做的 PHP Weblog System——现在属于那种基本能用的状态,在到广州以前,我正在修改使用诸如 ${0} 这类的临时变量名称而报错的问题。实际上,我对这个程序的代码极其的不满意。不知道是不是我太苛刻了。我很想寻求一个 PHP Developer,能接手这个东西的主力开发工作——我会从旁协助。并不是放弃对 Notes API 应用的开发,我既不想放弃这个烂摊子,也想实现一个在现时更为吸引我的想法:同样是使用 Notes API 开发的 Weblog System,但使用的是 JavaScript,以及少量 PHP,而且把对服务器的要求尽可能地降低——Project Leaf PHP Version 要求是,Apache 2+ with Rewrite、PHP 5+ with CURL/Multibyte String/SQLite。然后哪位朋友有意接受这个主力开发工作,请联系我——我会在一定范围内协助。需要声明的是,这个程序的初衷是基于 GPLv2 发布。有兴趣的朋友麻可以通过 Email 与我联系: yanleech # gmail.com。