Holiday weekends, especially the ones that bracket the summer months

Holiday weekends, especially the ones that bracket the summer months, tend to be stress tests for the tech media. With the proliferation of smart phones,
Theme switcher Cover Style Blog Style

红高粱新车作业

January 15th, 2009 by 碳

Golf新车作业

地区:杭州
车价:9.8w
车型:1.6mt 2v 舒适版 红色
购买时间:2008.12.29
购置税:9200
车牌:杭州自选号(没什么好的号了,随意挑了个)

简介:红高粱是从别人手里掉下来的,这车之前被人定了,不过按揭没做下来,就被我拿下。之前一直心仪白色的,无奈杭城最后一辆(非奥运版),没的挑,喜欢车,就不在乎颜色了,现在看红高粱,越看越喜欢了:)杭州也没有北区高友提的8.9/9.5 那么好的价,这个价自己也基本满意了,原本打算时尚型的,现在拿了舒适的就更好了。郁闷的是,今天09.1.15看到消息,1月20日开始,购置税降5%, 这有点郁闷的,毕竟才两周就缩水4600了。15天跑了560km, 共加油60L,油耗10.7左右,市区应该12左右,跑过200公里二级公里。

这几天的增配:
1. 原厂发动机护板
2. 3M全车膜
3. 亚麻座套
4. 4s店送的bora副厂脚垫,不好用,要滑的。
4. 其它小配件,防滑垫、头枕、后备箱垫…

注解:红高粱,红色高尔夫一辆的简称。

升级Ubuntu 8.10

November 14th, 2008 by 碳

Ubuntu最近更新到8.10了,服务器还在跑7.10, 趁项目刚告一段落,来翻新下系统和rails部署环境。

升级之路并不是很顺利,期间遇到很多阻挠浪费时间的问题,不过最后都解决了,服务器定型为:

  • Ubuntu8.10 server
  • Apache 2.2.9
  • SVN 1.5.1
  • PHP 5.2.6
  • Python 2.5.2
  • mod_python 3.3.1
  • Phusion_Passenger 2.0.3
  • ruby 1.8.6 p287
  • rails 2.1.2
  • rubygems 1.3.1
  • mysql 5.0.67

记录下升级大自过程,碰到的问题和解决方法。

11月11日下午开始升级,ubuntu 8.10 intrepid源是用lupa的,机房在杭州的, 但速度不怎么样,刚开始有400KB,后来就要40~50KB的速度了,好在中间没有发生中断丢包的事情。
服务器升级顺利完成,重新启动,ssh能登入,开心!可以zikii停了,其他php+apache的站依然跑起来了,果然mod更省心阿,也是为什么通过这次升级,把mongrel换成mod_rails(passenger)。

检查下基本情况,发现ruby在ubuntu8.10下被更新到1.8.7 p72了,前几天刚给新装的leopard也配上ruby1.8.7了,可费了很大的劲的。
ruby没有问题,接下去检查rubygems,发现找不着了,于是手动编译安装了rubygems1.3.1,重启后zikii也跑起来了,/etc/init.d/下面的mongrel_cluster脚本能把网站启动起来,开心~ 这么简单搞定拉。 然后开始看passenger(即mod_rails)文档,一边安装起来,gem 安装方式最简单了,gem install passenger,但是恶梦开始了……

用gem来安装, 不管是安装passenger还是别的如RedCloth都报如下错误:

sudo gem install RedCloth
Building native extensions.  This could take a while…
ERROR:  Error installing RedCloth:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install RedCloth
creating Makefile

make
cc -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/1.8/x86_64-linux -I.   -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -O2   -c redcloth_scan.c
cc -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/1.8/x86_64-linux -I.   -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -O2   -c redcloth_inline.c
cc -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/1.8/x86_64-linux -I.   -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -O2   -c redcloth_attributes.c
cc -shared -o redcloth_scan.so redcloth_scan.o redcloth_inline.o redcloth_attributes.o -L. -L/usr/lib -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic    -lruby1.8  -lpthread -ldl -lcrypt -lm   -lc
/usr/bin/ld: cannot find -lruby1.8
collect2: ld returned 1 exit status
make: *** [redcloth_scan.so] Error 1

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/RedCloth-4.1.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/RedCloth-4.1.0/ext/redcloth_scan/gem_make.out

后来倒偶然发现, gem install rails 安装rails可以完成.

开始对错误googling, 这块错误比较少见, 找不着明确的解决, 看提示应该是编译器找不着ruby, 这样推断应该是ruby安装的问题,比如没有启用 –enable-share. 尝试了几次方法挽救, 无望下就决定先把ruby1.8.6装回来先.

1.8.6的安装相对比较顺利, 因为一些dependencies都已经有了,直接在/usr/local/src/ruby-1.8.6-p287/里执行:

./configure –prefix=/usr/local/ruby-1.8.6  (单独安装一个目录里面, 为以后安装多版本ruby作准备)
make && sudo make install

成功:
/usr/local/ruby-1.8.6/bin/ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [x86_64-linux]

安装好之后同步可执行文件:
sudo ln -s /usr/local/ruby-1.8.6/bin/* /usr/local/bin

rubygems也需要重新安装一下,因为之前是ruby1.8.7相关环境.
/usr/local/ruby-1.8.6/bin/ruby setup.rb

成功后:
gem env

RubyGems Environment:
- RUBYGEMS VERSION: 1.3.1
- RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/local/ruby-1.8.6/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/ruby-1.8.6/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/ruby-1.8.6/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/local/ruby-1.8.6/lib/ruby/gems/1.8
- /home/hebin/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/

接下来安装gems, 现在都能顺利安装了, rails/RedCloth/passenger/mysql …

passenger gem安装完毕后, 执行sudo passenger-install-apache2-module, 又有问题出现了, 不过忘记了把错误代码贴下来, 我接着尝试直接编译安装, 编译成功了.
然后开始配置apache, 这部分就很简单了,把网站配置也同步更新了, reload apache, 满怀期望zikii被加载出来, 最后出来一个passenger的错误页面,里面有些错误提示和backtrace,我光盯backtrace,没有注意那小行错误提示:找不到文件, 然后拼命找解决办法,一遍又一遍的试, rubygems反复重装了几次, passenger也是, 甚至把原来的ruby1.8.7也卸载掉了, 还都是没解决. 休息了会儿,理了理思路, 新建了一个rails 项目来跑一跑, 竟然一切ok, 那说明一切都不是ruby/gems/passenger/apache等环境的问题了,
肯定是zikii app本身的问题, 然后又用./script/server 来跑webrick, 没有任何提示, 安装了mongrel来跑也一切正常, 突然我发现一个之前一直没注意的问题, ./script/server 不能直接被启动,而是用 ruby ./script/server 才行, 恍然大悟原来server 没有被赋执行的权限, 用sudo chmod +x 加上,再跑passenger 发现还是错误,不过错误提示有改变, 通过google在passenger的group里面找到问题线索, config/enviroment.rb 文件属性的关系,我重新从root chown到我的用户, 问题终于解决了, 我长吁一口气.

服务器顺利升级后,跑了跑zikii发现速度快了不少,下一步再上enterprise ruby。 现在apache+passenger的方式就和php一样了,rails app的部署也和php一样省心了,cool~

后面还有很多工作好做,比如capstrino自动部署,monit监测,还有把zikii从svn过渡到git上去,好,next…

上路:东极岛露营

October 20th, 2008 by 碳

行程、费用及攻略

Be Evil or Not Be

July 6th, 2008 by 碳

很多网站的成功不是因为它们的产品做有多出色,却是着着实实捕捉了人性的特点,我列了些:

  • 猎奇
  • 虚荣
  • 游戏
  • 猜疑
  • 迷信
  • 偷窥
  • 胡搞
  • 自我满足
  • 爱受夸奖

and next … We gonna think about and make innovation.

但不可否认的,很多会带来负面影响,虽然这些人性特点天然存在,但通过互联网这个工具,被放大后带来的问题是非常之大的,比如网络游戏戕害了不少少年儿童,那么作为企业家、作为商人,商业价值与社会道德冲突的时候,该如何作出选择?没有答案,只有自己心里的底线 :\

Mac 入门软件篇

June 24th, 2008 by 碳

yichi 同学刚到手一台Macbook pro,到目前rorol团队已经3台mac了,先分享点软件列表给“新人” :)

应用:

1. office,有4种选择

  • iwork 08;
  • Ms office 08 for mac;
  • open office;
  • google doc;

2. 解压缩工具

  • 强大的StuffIt Expander;
  • 灵巧的UNRARX;

3. 拼音输入法

  • FIT(Fun Input Toy )免费开源;
  • QIM (QuickCore Input Method) 收费共享,在用;

4. 刻录软件

  • Toast Titanium,很好很强大;

5. 虚拟机

  • Parallels Desktop,在用;
  • VMware Fusion,没用过;

虚拟机可以跑其它系统,主要会回头用用xp,头疼的是网上银行在虚拟机里还是用不了。只能通过bootcamp跑的xp可以。

6. 小工具

  • Growl,用作非干扰提示;
  • Gmail Notifiers;
  • ExpanDrive,用来映像远程硬盘,蛮实用;
  • Skitch,体验超棒的截图工具,能直接上传到它的网站上,缺点是不能截流动屏,我目前用firefox的ScreenGrab插件帮忙;
  • Time Out,不要被mac给迷住了,注意休息;

7. 卸载工具

  • AppZapper,在用;
  • AppClean;

8. 阅读器

  • chmox,chm阅读器,在用;
  • PDF,目前还是用自带的预览工具;

9. 翻译工具

  • translateIt! ;

开发&设计:

  • CSSEdit,CSS利器,和win下面的topstyle不相伯仲,在用;
  • RapidWeaver,在用,目前还很少用;
  • Adobe CS3,目前只在用Fireworks;
  • Textmate,梦幻编辑器,Rails开发者必备;
  • Mindjet MindManager, 头脑风暴工具;
  • OmniGraffle,原型、流程、交互设计工具;

网络:

1. FTP

  • transmit 在用;
  • yummy ftp 没找着序列号,放弃了;

2. 下载

  • speed download;
  • Transmission(for BT);
  • aMule(驴子);

3. 聊天

  • QQ for mac 1.0;
  • Adium;
  • MSN;
  • Skype;
  • Mac-Fetion,mac下面的飞信客户端,就不是不大稳定,偶尔用用还行;

媒体:

  • VLC Media Player;
  • RealPlayer;
  • MPlayer OSX;

游戏

  • 目前在mac下面还从未玩过游戏,待添加中;

好了,先整理到这里,应该够yichi去忙活一段时间,我自己也是刚08年3月份过渡到os x上来,所以还需要不断积累,总的来说,mac下面的软件已经非常丰富,基本都有win的替代品,而且用户体验上感觉更佳,只是软件的破解会较win平台下难找一些,另外再罗列几个常用的Mac资源站和社区。

升级rails2.1引起的问题

June 22nd, 2008 by 碳

最近在给子曰升级Rail2.1,遇到插件resource_fu 和 will_paginate 的问题,目前已经解决,记录一下以饷后来者。

1. Resource_fu 

报错:

/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/module/aliasing.rb:31:in `alias_method’: undefined method `partial_pieces’ for module `ActionView::Partials’ (NameError)

可见partial_pieces这个方便在rails2.1版本中移除了,去rails2.0.2版本中copy该方法,写进resource_fu 的 default_template_path.rb文件中,问题解决。

module ActionView
  module Partials
    def partial_pieces(partial_path)
      if partial_path.include?(’/')
        return File.dirname(partial_path), File.basename(partial_path)
      else
        return controller.class.controller_path, partial_path
      end
    end
  end
end

子曰在解决resouce_fu后,mongrel已经可以启动,但在跑app的时候又报错:
stack level too deep
从error trace来看问题应该出在will_paginate上面,先用piston升级will_paginate插件,发现问题依旧,猜测它的svn版本可能已经过期了,因为它早前都迁移到github上去了,所以利用gem install安装,并移除插件,问题迎刃而解。
总得来说,这次rails2.1的更新没有给现有代码的升级造成太大麻烦,下一步应该计划向git全面过渡了。
另外,在此感谢ashchan在排错过程提供的帮助。

测试你是左脑型还是右脑型?

May 16th, 2008 by 碳

左右脑测试

上图是一个小小的测试,来测试你到底是左脑占优势还是右脑占优势。这个女孩的旋转是顺时针还是逆时针呢?如果你认为是顺时针方向,那么你是右脑占优势,也就是主导创造力的那一边。如果你认为是逆时针,那么就是左脑占优势,就是主导逻辑的那一边。

从843,300的投票结果来看:

顺时针      42%

都能看到   40%

逆时针      18%

Hello world!

May 8th, 2008 by 碳

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!