Posted in November 2009

Windows下Rails的Console的彩色显示

很早前就发现Mac OS X下Rails控制台的日志信息可以彩色的显示,比如sql语句可以高亮,感觉很方便,这里说下如何在Windows下得到同样效果。

1)安装Cygwin,使用setup.exe来安装Ruby,Rails安装则照旧。

因为彩色字符是称为ANSI escape sequences的东西,windows下还不支持,所以使用Cygwin。setup.exe安装的Ruby是i386-cygwin版本的,跟我们采用一般的win32版本是不同的,ruby -v 显示为:ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin],windows下则为 ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]。 最后的日志的显示和CMD下面的是一样的:没有上色。有些方法采用了让mswin32的ruby运行在unix终端下,比如rxvt,或者cygwin-x下(一个叫PuTTYcyg的东西更简便,神奇… Console 很强,但是没这个功能…),这样是可以彩色显示出来,但是个人实验发现console下日志显示会滞后,不会实时显示,感觉有buffer的存在(自己有开始吹毛求疵了…),看来unix终端和mswin32版本的ruby之间的兼容性不大好。

cygwin-rails

2) 安装sqlite3 driver

最难搞的地方… 最后发现可行的为:a) 用Cygwin install “gcc”, “make”, “libsqlite3-devel”, “sqlite3″;   b)gem install sqlite3-ruby, 这时会编译成本地sqlite3_api.so,没错,这里不是 sqlite3.dll,可见Cygwin下so文件是可以使用的。如果出现编译错误,可能要下载sqlite3源文件,然后再:$ gem install sqlite3-ruby-1.2.5.gem — –with-opt-include=/cygdrive/d/dev/sqlite-3.6.20/

参考的RailsOnWindowsCygwinWithSQLite3这篇文章前后矛盾,可见Cygwin的水还是很深的…  搞了这么多,发现Windows上面开发还是蹩脚,可是有啥办法呢,使用习惯了,改成别的还真难。

cygwin-rails2

12.20 add: 上面控制台中SQL显示是白色的,可以在Console 2中把白色映射成其他明显的颜色,但是在PuTTY中这招就不行,不解。个人是更prefer后者的,感觉功能更强大,颜色的定制可以看这里Custom PuTTY Color Themes,很喜欢里面dersert的主题,更多关于Putty的调整可以看这篇Improving Putty settings on Windows

Tagged

完全不同的生活

有时候站在张江地铁站,看着站台上熙熙攘攘的赶着下班的人,我都有点感想:其他人看到过这种壮观的景象吗?这么多人忽而像云一样的聚集在这个偏僻的开发区,忽而像云一样的散去,回到各自的家里。有人理解我们的生活吗?那些从来没来过二号线终点站的人是否觉得这种忙碌卑微而可笑呢?

有一次,我到成都出差,在繁华的春熙路附近,看到很多下班人骑着自行车等待绿灯,然后哗的一下蹬起车,像鲤鱼过江一样,场面混乱,路人基本不能走动。在外人的眼里这是如何的壮观呢?我很想了解这些人的生活,我想大多是很勤俭持家的,生活很快意的,没有很多小资情调的。

我很羡慕外国人,能到处游玩,能看到跟他们国家绝然不同的东西,他看到路边的“牛皮癣”也要拍张照片,我想他不一定很厌恶它,只是觉得好奇。

Chrome OS的字体

我是按照这里的方法BT下载了VirtualBox的镜像,很方便。把玩了会,没啥特别的感觉,virtualbox下运行的慢的很,也没有遇到说3秒钟进系统的奇迹…

字体,我只感觉Chrome OS下的字体显然较一般的Linux字体有改进,很明显。

chrome-font

显然用的是Droid的字体,跟Anroid下面一样的字体,Google一个字体用了两个位置,便宜啊。还有这个页面是scale放大过的,可以看到图片放大后还是很平滑的,比较而言,Firefox for Linux就必须很烂了。还有Chrome OS下面的freetype不知是否比linux下有调优,因为freetype的作者已经被google招到麾下了。

ubuntu-font

本来这些都是些细微的调整问题,包括字体,包括图片的缩放,Google只是做了个收集整理的过程。

事在人为啊。

GAE的尴尬(GAE’s Dilemma)

最近准备在GAE上练个小程序,因为对Java熟悉,开始时用了几个Servlet + JSP,慢慢觉得很蹩脚:为什么不用framework呢?既然Java上的开源框架这么多。后来查了下,感觉很麻烦,大多数都要修改后才能放到GAE,这里有个支持列表。于是想要用Rails,不是有JRuby么,不过也要修改,特别是数据访问的一部分,毕竟GAE没有关系数据库,还有很多其他限制。郁闷。那用Django吧,GAE对其支持还是很全面的,可惜对Python不熟,django更不熟,折腾了半天还是没搞好templete…

《程序员修炼之道》说,“每年至少学习一种新语言。”很难做到啊!

对于大多数只懂少数几门语言的人来说,GAE就有这个缺点:语言支持有限。为方便管理,限制太多。提供一个平台或者容器固然好,如同JVM、eclipse和firefox,但是必须提供足够的灵活性和扩展性,不然容器就成紧箍咒,时时悬在开发者头上。当然这可能是GAE处在发展早期,慢慢可能会更成熟。

GAE这种Cloud computing优点在于价格合理,伸缩性更好。但这都是对发布和管理而言,对于开发者来说就没有那么友好了。比如一般的web hosting,基本上就如同操作自己的计算机,或者使用虚拟化技术,对于开发者来说就更灵活了,只有这样,采用虚拟计算后,能够向下兼容,原来的资产才能顺利保留下来。