hSATAC

>> ('cat' + 'ash').reverse #=> "hsatac"

Firefox4 X WebM X Apache

今天在弄一些 WebM 的東西,同樣的頁面和影像檔在 chrome 都很正常,但是碰到 firefox 4 就會爛掉,可是 firefox 4 明明就支援 WebM 了啊

 

後來做了幾個實驗,直接用 file:/// 開檔案,居然就正常了! 但放到伺服器上,又出了問題。

survey 了一下,果然是 apache 處理 WebM 時 mimetype 沒有正確送出。

只要修改 /etc/apache2/mime.types 把 WebM 加進去就可以了

video/webm webm
至於 chrome 為什麼會正常,只能猜測 chrome 有特別針對這個問題做優化吧…

有沒有 chrome 偷偷對 WebM mimetype 做優化都不告訴別人的八卦?

整合 Redmine 和 Git

其實就是[專案設定] > [版本控管] 裡面填 git repo path 而已
不過一直報找不到專案,看了一下 error log 原來是找不到 git 執行檔
解法很簡單,原本 httpd.conf 設定的 ruby 要再包一層去 export path
例如原本你設定的是

PassengerRuby /usr/local/Cellar/ruby-enterprise-edition/2011.03/bin/ruby

就開一個 /usr/local/bin/ruby_with_env 的可執行檔
裡面把 export $PATH

#!/bin/bash
export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/local/git/bin/:$PATH"
/usr/local/Cellar/ruby-enterprise-edition/2011.03/bin/ruby $*

再把 httpd.conf 的裡面設定的 ruby 改成

PassengerRuby /usr/local/bin/ruby_with_env

大功告成!

How to Enable Php Gmp on Mac OS X Without Macports

If you are using macports, you can easily install the package of “php-gmp”.

But if you are a user of homebrew like me, you may need these tips.

First, you have to install gmp via homebrew, but it will give you gmp 5.0.1, which doesn’t work with PHP 5.3

So you have to modify your Formula, go to /usr/local/Library/Formula/gmp.rb and modify:

url 'ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2'
sha1 '6340edc7ceb95f9015a758c7c0d196eb0f441d49'
to
url 'ftp://ftp.gmplib.org/pub/gmp-4.3.2/gmp-4.3.2.tar.bz2'
sha1 'c011e8feaf1bb89158bd55eaabd7ef8fdd101a2c'

Now, you can run

brew install gmp
to install gmp.

Next step, download the php source code from php.net, we will need to build a php_gmp.so module from it.

Extract the source code and go to phpsource/ext/gmp/

run

phpize
./configure
MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' make -j6;sudo make install

And you will get your gmp.so in phpsource/ext/gmp/module/

Copy that to your /usr/lib/php/extensions/no-debug-non-zts-20090626/

And load it in your /private/etc/php.ini

It’s done!

用 Passenger(mod_rails) 部屬 Sinatra

最近寫了一些小 app / web service ,因為用不到 rails 那樣的大架構和功能,於是嘗試了 sinatra。
寫起來挺快得,感覺跟之前玩 node.js 的感覺有點像。
部屬方面也很容易
在你的專案目錄下新建一個 config.ru 檔案,以及 public 和 tmp 資料夾
config.ru 檔案內容為

require 'project'

root_dir = File.dirname(__FILE__)

set :environment, ENV[‘RACK_ENV’].to_sym
set :root, root_dir
set :app_file, File.join(root_dir, ‘project.rb’)
disable :run

run Sinatra::Application

把 project 替換成你的專案名稱
apache vhost的設法和 rails 的一樣即可


  ServerName project.hsatac.net
  DocumentRoot "/project/public"
  RackEnv production
  
    Order allow,deny
    Allow from all
  

Mac OSX Server 10.6 安裝 Mysql2 Gem

想當初因為 mac osx server 已經內建 mysql ,所以就沒有完全照 xdite 大神和 ihower 大神的環境安裝 best practice 走
下場就是真的踩到很多地雷,真的是不聽老人言,吃虧在眼前。 mysql2 這個雷真的踩的很痛,然後 rvm 真的是好東西,別省這點時間。

言歸正傳,當你安裝 mysql2 gem 時碰到這個錯誤訊息:

EBuilding native extensions.  This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for rb_thread_blocking_region()… no
checking for mysql.h… no
checking for mysql/mysql.h… no
—–
mysql.h is missing. please check your installation of mysql and try again.
—–

請下:

env ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

這樣應該就可以正常編譯了。(不過因為我為了解這個雷自己亂改過很多東西,所以我也不太確定,歡迎留言討論。)

Freenode伺服器名稱

Freenode是著名的irc伺服器,每台機器的命名都是用著名的科幻小說家來當作名稱。
當登入的時候會顯示作家的簡介,整理如下:

roddenberry.freenode.net RODDENBERRY, GENE (1921-1991). Born in Texas, USA,
Roddenberry worked as a pilot for the US Army and later
as a commercial pilot. He then went on to create the
Star Trek television series, among others.