Haml=>不错的选择

Sat May 03 17:13:00 UTC 2008

使用过Yaml之后,就不再习惯XML,即便有Textmate优秀的补齐功能,我也觉得写起来不甚其烦,毕竟拿来给机器阅读的东东,却用手工来写,总有种左支右拙、捉襟见肘的困顿之感。

而且有了builder这么神奇的工具,生成一个XML真是件让人舒心的事啊。不用再tag来tag去,而且要时时记得关闭每个tag了。我就曾经试着将生成一个WXS文件(WIX工具的源文件)的VBScript脚本用ruby重写一次,那个爽啊,真的是写完了好久都一直处在兴奋之中,代码简单明快,不用与那烦人的DOM接口打交道,将整个事情还原为一种享受、、、

言归正传,不再闲扯:P 不过在rails中,当你使用erb这种默认的模板语言时,痛苦又一次袭来,书写模板又一次成为了一件让人厌倦的事,不过好在早就有人困惑于此吧,于是有了Haml 当然haml自然也不是什么新东东,早就有人介绍过了,不过最近发现了一个rspec-haml-scaffold-generator 与一个Haml的textmate下的bundle ,试用之下觉得不错,推荐大家用用,当然早就用过就不再多说了:( 呵呵,不过总而言之真的是很爽很简单! 只是除了它所说的速度要比原生的erb要慢上30%左右,不过就我的感觉而言,还是不错的,没有太明显的感觉

Tags:

遗失=>遗忘=>整理=>分类

Mon Apr 28 13:53:00 UTC 2008

很不幸,发现自己的一块硬盘分区坏了,用了无数种工具搞不定,差点准备手工修复着试试,不过更不幸的是,自己只是觉得里面好象有重要的东西,但是却怎么都想不起来了是什么东东,晕。最终放下心结,格了,修复了一下,继续用吧、、、

其实人就是这么古怪,拥有的时候,有些熟视无睹,但是失去时,却总有点心存不甘,但是真的能找回,也只觉得不过如此:( 呵呵,好象我又开始感怀人生了_ 遗忘有时也不失为一味人生的良药啊

不过为了亡羊补牢,就利用周未的时间整理了一下硬盘,乖乖,一整吓一跳,结果发现自己的硬盘上的文件真得很乱,两块硬盘,240(160+80)G,被我分了9个区,linux下的两个区不算,自己都搞不清楚哪些文件应该放在哪儿:( 而且发现自己的兴趣也太过广泛,而且收集成狂,自己可能从来不用的软件如Maya,SoftImage都给当了下来,自然还有好多,常常更新的软件,自己却在机器中保留了多个不同时代的恐龙版本。更多的是,那种也就当下来用过一次之后再也没有兴趣的软件也东躲西藏在自己硬盘中。更要命的是电子书真是汗牛充栋,我常常是对着某个关键字进行狂疯搜索,然后将emule中能搜到的都当下来,已经有10张DVD的备份,却其实自己根本没有真的看过其中的几本。

本着凡是想不起来用处与出处软件删之,凡是觉得以后会去读读的电子书备之的原则,稍稍整理了一下,整个硬盘都清静了,一下多出了70G硬盘空间,其中还不算那个坏掉的分区。按照人可能记忆的极限为7的原则,将分区用PM减少为了七个,其实应该是四个就足矣,不过合并分区太耗时,这个慢慢再来做吧,我可真的不习惯对着电脑无所事事

在遍览硬盘的过程中,似乎稍有小悟,如果仅仅只是去收集,却从不整理,这些到手的东西,依然不是你的,只有自己筛选整理、去伪存真,去粗取精,取其精华,去其糟粕的东东,才是算是你的。靠自己中了老马的流毒太深

现在已经将自己的文件开始分门别类,好好整理了一番,发现使用cygwin与ruby做这种事真是合适之极,不懂perl的说。

不过话说回来,其实现在真的是信息太多,而且几乎所有的消耗硬盘的来源都是下载,个人照片算是一部分而已,自己的代码也是更小的部分。NET IS DOWN嘛! 如果平时能在每次下载之时,不是为了一时痛快而且随手乱放,整理与搜索的时间会节约很多的。也的确是细节使人不同啊。

胡言乱语了半天,发现自己的文字功夫几乎废了,唉,辞不达意啊,将就着看吧

Tags:

Some Git Videos

Tue Apr 22 16:32:00 UTC 2008

从ROR博客Why Git won’t mean Rails snubs Windows 的注释中看到了几个有趣的视频链接,看了一下强烈推荐,尤其是第一个:

Tech Talk: Linus Torvalds on git

Git with Rails and Capistrano


Git with Rails Tutorial from Scott Chacon on Vimeo.

Randal Schwartz on Git 可惜不能内嵌,链接如下: http://www.youtube.com/watch?v=8dhZ9BXQgc4#

Tags:

NT域内网中的gems更新

Tue Apr 15 22:00:00 UTC 2008

如果你如我一样,不是在一家以纯Mac或Linux/Unix环境下的公司上班,而且很不幸通过在基于NT域之上的代理上网的话,你就可能遇到gem更新的问题

虽然你总可以通过浏览器下载所有的gem然后一个一个的手动安装,但不管怎样,这都是一个很没有效率的事,不是吗?

当然,你自然是可以找到RubyGems上的FAQ中的提示 通过一个基于python的称之为APServer的工具再建一个Basic authentication代理,然后基于它搞定这一切。

可惜的是,你可能会遇到如我一般的问题,http://apserver.sf.net 不能打开,你现在只能看到一堆无用的错误提示,晕死:(

不过幸好我经过一番不懈的努力(本来想寻找其它的解决方案),居然发现了另一个url是指向同一个工程的:http://ntlmaps.sourceforge.net/ 两者只是名字不同而已:)

不过更有趣的事自然是在后头,有人更进一步的通过APServer与Tor及SocksCap32组建了一个完整的上网环境,使得在办公室里使用emule都成为了可能,呵呵,有兴趣的可以看一下这里

不过一般我是不会在办公室里使用emule的,毕竟这种lowID是比较慢的,不过知道有这种可能也是不错的

Tags:

最近ruby二三事

Mon Apr 14 14:11:00 UTC 2008

最近这两周,ruby社区接连有几件大事发生:

当仁不让最火爆的自然是GitHub 的正式上线,DHH称之为一个”killer application”.

此外,就因为是这两天众望所归的mod_rails 的realse. 虽然robbin对它在VPS上的前景不太看好 ,但是在dreamhost之类的共享主机上倒是前途远大,而且apache老矣的诊断我还觉得有点为时过早。

与这两件相比JRuby1.1与HotRuby 及RubyJS之类的新闻都不那么让人激动了。

总得来说,ruby现在越来越开始走向工业化的前端了,rails与git的结合让我看到一个新的开源社区的前景。mod_rails则开始着手于,一开始让人诟病的rails的部署不如PHP简单明了的问题。而且现在的ruby也越来越VM化了。

PS:今天有点头痛,词不达意,先下,再写

Tags:

升级到mephisto 0.8

Mon Apr 07 16:34:00 UTC 2008

昨天有空,将我的mephisto升级到了0.8

虽然官网上并没有发布mephisto 0.8不过很多人已经在blog 中提到了它,通过git是可以获得它的

命令如下:

git clone git://activereload.net/mephisto.git mephisto

话说这个git 可是系出名门,由Linus Torvalds在不满于现有的源代码版本系统后亲手打造,一开始是用于linux kernel,现在rails、rubinius及mephisto也是使用它作为版本管理工具。

不过git一开始就没有一个专门for windows的版本,要使用也只能在cygwin中使用,不过现在在google code上有一个项目msysgit 可以作为另一种选择,不用安装cygwin也可以使用git。

说实话,我倒是的确没有太发现mephisto 0.8到0.7.3的感观上有多大区别,仅仅只是支持rails 2.0.2 和一些gems有所变化。

不过升级一下的一个好处是可以支持一个比较新的sitemap插件

Tags:

美国式的幽默

Mon Mar 31 16:19:00 UTC 2008

今天看到SpringSource Announces Acquisition by Microsoft 本来还很郁闷,想Microsoft疯了,买一个Java Framework公司做什么,还居然出与mysql一样的价。不是说Spring不值钱,只是看来卖给谁与拿来怎样用。

不过看到下面的注释才明白,应该就是一个典型的April Fool Joke. 不过上次gmail的2G的惊喜倒是一次很成功的营销活动。真是真真假假才别有趣味。

另:怀念哥哥一下,离开我们已经5年了,时间真是TMD的快啊,比长脚还快

Tags:

事情开始变得有趣

Thu Mar 27 16:00:00 UTC 2008

本以为公司的windows与office总是买了的,没有想到今天收到邮件,让用XP的报名统计一下(预装的系统是win2000),让大家开始安装ThunderBird与openoffice,并且会在周末将exchange换成linux。

事情开始有趣起来,看来外资公司的想法就是比较独特,没有管时自然是随便用,但是有人管时,也懒得走政府路线,咱能用免费的就用免费的,不能用的咱就买,一劳永逸,嘿嘿。

这也是我写上篇blog时所说的对于MS来说最可怕的事,MS的产品不再是不可取代,哪怕不可取代也开始慢慢的边缘化了起来。不上网不行,但是没有windows是没有什么问题的,毕竟我在家用ubuntu也没有什么太多的不习惯;)

现实有时比较想象的要有趣得多,看来生活中真的不缺少幽默,这是趋势,也是时代的车轮,我想MS也开始感到了被碾轧的痛苦了吧

Tags:

盗版、微软=>WEB

Mon Mar 24 16:39:00 UTC 2008

今天公司来了一堆人,说是文化局与公安局的一个专办来查盗版的,虽然在执法过程中,这堆牛人体现出良好的粗暴执法的素质,但是能采集的证据也是采集到了。虽说公司是一家外资独资的,而且大家都是圈子里的人,应该产权意识很强的,可是到了中国还是变了点味,毕竟高昂的Photoshop与3DMax类的软件的费用比windows与office高到老鼻子去了,能省就省吧,而且在中国就得入乡随俗,而且中国人自有中国人自己的办法的:)

不过我要说的不是这个,自己也是软件人,为了行业的健康发展,正版我总是支持的嘛!只是今天在还有检查到我之前,我已经很安心的删除了VS2005与一个临时拿来玩一下的3DMAX到一边凉快去了。然后你再再看看我的电脑,你再翻来翻去,都是找不到盗版的踪迹的。

毕竟需要专用的东东都已经买过了,windows与office要买的人都早已买过了。Code Warrior之类自然是买过的,其它游戏平台的SDK,一般要不是免费,要不就是不经授权,你找都找不到的:P

VS用express也就行了,而且它本来也不贵,而且不算必需,反而是gcc的工具链是必须的,不过用cygwin就能得到了。

除了那些有着明显行业背景的软件,你发现你真的与MS无关了,我认识的泡泡同学用MAC很久了,早就成了一个用MS无关的人,而且我在家用着ubuntu,除了字体让我不爽(美化过的)之外,只有不能上银行网让我心烦了,其它都很好。

如果我以后用rails谋生的话,可能只有TextMate可以让我有用盗版的冲动,当然我是不会为了这39欧而且使用盗版的了:) 毕竟120$左右的Dreamhost我也是续了费的(懒得动,虽然开始觉得site5不错)

如果用java谋生,好象真的就免了所有的盗版之说,毕竟BEA之类的东东,不用在家用的。

除了工作之外,我每天最多的时间都在与浏览器打交道,无论是googling、bloging、tudouing,总是在WEB来WEB去,与OS与Application真的无关了。哪怕有点私事,用openoffice也是可以搞定的。

我想这种变化也是MS最担心的了,要不它不会急着要将yahoo收入旗下了,不过我总觉得MS骨子里没有WEB的基因,它的live就是一个太显眼不过的证明、、、

嘿嘿,I am bloging!

Tags:

Ruby 及 K-combinator

Mon Mar 24 15:33:00 UTC 2008

闲读mephisto的代码,发现其中N多地方用到returning,看着很怪,难道又多出了一个关键字?

grep一下,自然不是,这个是源自active_support\core_ext\object\misc.rb:

Class Object
  def returning(value)
    yield(value)
    value
  end
end

粗看之下,极其简单无甚好说,但是为什么会这样用?又是一个idiom?

google之,却发现绝不简单,正如它的注释所说这是一个“ A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.”

这里 发现了我心不孤,也有人大大感吧了一番了Brockman的天才想法。

本人词拙,还是半译半抄Jamis的解释吧:

Basically, the K combinator is a function of two arguments, that merely returns the first argument. The second argument is useful only for the side-effects it has on the first argument. The implementation of this in Ruby is beautifully succinct:

简单的说, K组合子是一个有两个参数的函数,它仅仅是直接返回第一个参数。而第二个参数唯一个作用就是对第一个参数增加点付作用(修改)。由此可见,它的Ruby实现是如何的简洁了。(几乎无一字可减,很强很简洁)

当然如果你对ruby的语法不是太熟,可能还是不能体会出其中的真意,所以Jamis又解释道:

It takes a value (the first argument), yields it to the associated block (the implicit second argument), and then returns the value. The block is used to operate on the first argument, and thus (by its side-effects) provides the actual work of this method.

returning函数,将value(第一个参数)应用(yield)到与之关联的block上(block其实就是隐含的第二个参数),然后返回value. 其中block只是用来对第一个参数进行操作,通过这种(付作用/修改)也就完成了方法真正的工作。

噢,如果你还与我一样依然对这个K combinator怀有好奇心的话,可以继续google之,才发现这个K也是很不简单的滴,它来源于那让人费解的SKI combinator中的第二个。

SKI的伟大之处,在于证明了所有的函数都是可以被分解为S与K的。读到这里你否有一点灵光一闪?我靠,这不是与所有的计算都能还原这一个加法器这一原理般似曾相识?还有那让人头痛了很久了ackman函数、、、

唉,伟大的数学家啊,唉,牛B的ruby与Brockman

Tags:

回首=>开始

Thu Mar 20 19:01:00 UTC 2008

开年上班的第一天,辞了工作,休息了三天,去新公司报到!

仔细想想这几年,因为自己的懒散,从中获得的并不多,除了完成自己的工作,自己并没有太多的进步。

离行业很远,离自己喜欢的JAVA也很远,技术长进不大,英语嘛早就忘光了。朋友认识了几个,情感还算有些进步。一直呆在公司两年多,只是为了一个自己知道,但是却不能说的理由,唉!

重新找工作时写简历,居然自己觉得无甚可写,泛泛的说自己熟悉设计模式与面向对象之类的话很无趣,但想想自己也就只有这点特长,一无可以说一下的产品与项目,二无参加开源社区与论坛的贡献,三无译作与文章。想来与自己当初刚毕业来北京时的雄心壮志相差太远。

虽然因为简历写得还算过得去,有几家猎头找到了我,但是因为可怜的英语,与最想去的ThoughtWorks是没有去成,连MS与IBM也没有机会,Google嘛就更不用提了。现在这家公司是做游戏的,其实也还有趣,算是一个继续练习英语的地方好了。

不过经过这就跳槽,也从中发现了自己的不足,好好的回想了一下自己的过去,现在是一个好好的开始的时候了。认真的给自己一个定位,一个明确有职业目标是重新开始的重中之重。

所幸的是,也非一无所得:遇到了一个值得自己喜欢的女人,有了一份让我期待的感情;遭遇了一门有趣的语言,有了一段让我惊喜的乐趣。

晚了,先睡,明天又将是一段新的开始。

Tags:

公司搬迁!病态政治?

Tue Mar 13 15:46:00 UTC 2007

公司要搬迁了,3000多号人要一下了再向北搬八公里,到一个鸟不生蛋的地方:(

我在脑海中冒出的第一个想法,就是《人件》中对于“特别病例分析:公司搬迁”的论述。这又让我联想到一年前的一天,当我与同事们听我们的主设对我们讲他制定的设计模板时的情景,可爱的泡泡同事脱口而出的《最后期限》中的那句,这不是文案吗?哈哈,真是怀念泡泡啊。可能人的第一反应就是最真实的想法,虽然不一定要什么逻辑,但是却往往是最正确的想法。

也许吧,可能是我居心不良,总感觉这是一个毁掉一个公司的不二法门!噢,不用想,在第一阵新鲜过后,在应对了搬迁之后的混乱与兴奋之后,当所有的事都开始慢慢走上正轨,接踵而来的肯定是又一轮人员流动的高潮吧。也许也许,希望不要被我说中。

TOM在《人件》中好象从来都不忌惮用最坏的用心来猜测管理者的想法:“对于没有安全感的经理而言,没有比将公司搬迁到遥远的地方更能满足自我追逐名利的行为方式了。这是最典型的不择手段,给员工的生活注入如此之多的痛苦使经理的感觉简直像上帝一样。”,“有时只是赤祼裸的权力运用而已。”

当然TOM也提到在20世纪50’s与60’s搬迁是可能的,但今天却是件愚蠢的事。呵呵,TOM是对的,也许我们现在真的所处的业界古老于美国的50-60’S吧。这样搬迁当然是可能的,也说不定是明确的选择。毕竟员工的痛苦算得了什么,那可是一片肥沃的土地,可以带来更多的管理层面的利润、、、很可能搬家的那一天,就是股票疯长的一天。

当然也许是我危言耸听,其实搬迁可能造成的人员流动之类,对于公司从来都不是一个问题,甚至从来都不是一个值得关注的问题。搬迁的后果是可能会毁掉一个胶冻的团队,但是如果根本没有什么胶冻起的团队,那这又算得了什么嘛!毕竟我们现在只是因为工作而活在一堆人之间,team? No,group而已!而且微软不是也搬过一次家吗?而且现在在Remond不是也好好的成为了软件世界的伟大的一极吗?

好吧,好吧,希望一切都是我的小人之心而已,反正我也会在看完热闹之后,开心的溜掉。拭目以待吧,说不定那儿又是一个Remond的开端,并不是每个公司都会倒霉得象1966年的AT&T一样的。

Tags: