KinoppyがiPad(3rd)のRetina Displayに対応がとても嬉しい・・・Amazonに負けないために

KinoppyがついにiPad(3rd)のRetina Displayに対応した!個人的にRetina Display対応の中で一番嬉しい。
試しに呼んでみたけどめちゃめちゃ読みやすい。

国内の電子書籍ではKinoppyに一番期待している。理由は
・どの端末でも読める(Mac版だけ制作中・もちろんKindleでは読めないけど)
・再ダウンロードが簡単にできる
・バックが大手書店だから安心
というもの。

本当はアメリカの一部出版社(O’ReillyやThe Pragmatic Bookshelf、Apress)のようにDRMフリーでPDFとePubとmobi(Kinlde用)で提供してもらえるのが一番ありがたいけど、まぁ現状ではそれは夢のような話。
※ ちなみにフッターに購入時のメールアドレスが入っているものもある。

読める端末を限定されてしまうのなら、やっぱり対応端末の種類は多い方がいいし、販売元がなくなるなんていうリスクはとりたくない。

ついでにいくつもの販売元から電子書籍を買うと、買った本によって読めるアプリが違うなどということになり、非常に面倒なことになる。

というわけで現在はまずDRMフリーを探してなければ(小説などはほぼ無い)できるだけKinoppyで購入して、Kinoppyにもなくてどうしても欲しいときだけ他で購入している。あるいはもう紙を買っちゃって裁断してスキャンか。

ただ、Amazonが入ってきたら迷っちゃうな。そうなったら後は価格と品揃えの勝負になると思う。そういう意味でKinoppyは無理してでもできるだけ多くの書籍を電子対応して、ほぼ全ての書籍が電子書籍として購入できる、という状態にできる限り早く持って行き、Amazonが大量の本を抱えて参入してくる前に、少しでも「ヘビー読者層」に、もう他に移るの面倒だな、と思わせるくらい買ってもらうのがいいと思う。

そのためにも、ぜひ期間限定で全商品50%OFFをときどきやってください!(と、ようはこれがいいたかったのです。)

※ ちなみに佐々木俊尚さんのように紙は普通に出版社からだし、電子版は自分でDRMフリーで売っちゃうというのはありだと思う。というか大歓迎。

※ あとはAmazonのように簡単にきれいに各本へのアフィリエイトリンクをはれる仕組みも必要だと思う。

nginx + PHP(FastCGI)で特定のホストだけphpの設定を変更する

Apacheだと.htaccessやhttpd.confで設定していたホストごとのphpの設定。nginx と FastCGIではnginx.confの中で設定を行う。
※ もちろんnginx.conf本体でなくとも、そこからインクルードするファイルで行ってもOK。

server ブロックの中のphpの設定をしているブロックで下記のようにPHP_VALUEを指定する。

server {
  ...
  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME /path/to/web/$fastcgi_script_name;
    fastcgi_param PHP_VALUE "include_path=/path/to/include_path
                           display_errors=on";
  }
  ...
}

上の例のように複数(include_pathとdisplay_errors)設定したい場合は ; で区切っても改行で区切っても動いた。

OS Xで bundle install したときに openssl.bundle Symbol not found: _SSL_SESSION_free のエラー

OS X (Lion)へのrvmでのrubyインストール時にopenssl_missing.cでconflictingがでて失敗する問題の解消 でちょっと無理矢理rubyをインストールしたのだけど、Ruby on Railsでbundle installをした際に影響がでてきた。下記のようなエラーがでた。

Fetching gem metadata from https://rubygems.org/.Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Please include the full output of the command, your Gemfile and Gemfile.lock. Thanks!
/Users/.../.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/.../.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.3.0/openssl.bundle, 9): Symbol not found: _SSL_SESSION_free (LoadError)
 Referenced from: /Users/.../.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.3.0/openssl.bundle
 Expected in: flat namespace
 in /Users/.../.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.3.0/openssl.bundle - /Users/.../.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.3.0/openssl.bundle

よくみるとruby/1.9.1と入ってる。やっぱり何か前にいれたものが余計なことをしていそうだ。もしや、と思いportでインストールしたものを確認すると

port installed
The following ports are currently installed:
 bzip2 @1.0.5_2 (active)
 ...
 openssl @0.9.8k_0 (active) 
 ...

とopensslが入っていた。前にインストールしたOpenVPNが影響しているのかとずっと思っていたけど、そうじゃなかったようだ。というわけで

port uninstall openssl

としてみると他にpython25とwgetがこれに依存していたのであわせて削除。必要になったらまた何らかの方法でインストールしよう。

次にrubyをインストールしなおし、

rvm reinstall 1.9.3

bundle installをしたところうまくいった。このエラーで検索しても全然ヒットしなかったのでよっぽど特殊な状況だったのだろう。でも解決してよかった。