| @技術/プログラミング
本当は tech.portalshit.net に書くべきネタなのかもしんないけど jekyll 動かすのだるいのでここに書きます。

Node.jsをMacにインストールしてたんだけど(何にも使ってなくてただインストールしてただけ)、NodeがVersion 0.5くらいになってからインストールに失敗するようになった。gcc関連のエラーが出てるっぽい。なんかXcode 4.2が悪いとかネットを検索すると出てくるので、削除してosx-gcc-installer入れたりしたけど結局変わらずだった。Xcodeのバージョンを落として4.1にしてみたりもしたけど効果がなかった。

OS入れ直すしかないかなー、めんどくさいなーと思っていたところ、 `brew doctor` したときの画面を見てたら、「homebrewで入れたopensslとreadlineにシンボリックリンクがはってあってPATHが通ってるから消しとけや」みたいな警告が出た。readlineやopensslはRubyを自分でインストールするときに必要なので入れてた。まさか関係あるとは思っていなかったので `brew doctor` したときに出るこの辺の警告は無視してたんだけど、警告に従って `brew unlink readline; brew unlike openssl` してみたらすんなりNode.jsがインストールできた。

というわけでして、homebrewで入れたreadlineとかopensslを /usr/local 以下にシンボリックリンクするとインストールに失敗するソフトもあるようですので、皆様におかれましてはご注意下さい。

| @雑談

最近オライリーの英語の技術書の電子書籍を何冊か買った。oreilly.com は Daily Deal といって、日替わりで技術書を半額で売っていて、プリント版だと定価$28程度の本(おそらく日本語に翻訳されると3000円程度の売値になる)が、円高のおかげもあり600円くらいで買える。

僕は英語はそこそこ読める方だとは思うけど(TOIECは8割くらいとれます)、英語の本はなかなか読む気にならなくて、これまで一冊も読み終わったことがない。というかどの洋書も数ページで放り出してしまう。

しかしこのような自分でも、英語の技術書なら結構読めることがわかった。理由はおそらく、

  1. コードが載っているので英文の意味がとりにくくてもコードを読めばなんとかなる
  2. 技術書はチュートリアル方式のものが多いので、書いてある英語の内容自体は平易(政治経済や哲学について語ってない)

の2点ではないだろうか。

とはいえ技術系の本でも達人プログラマーのような観念的な本は英語では読みにくいのではないかと推測する。だから何でも英語版を買えばいいというものではないと思う。

まとめると、英語版が出てから日本語版が出るまでにすごく時間のかかる本や、英語版にはあるのに日本語版にはない小さなフレームワークの技術書などは、日本語版の登場を指をくわえて待つよりも、思い切って英語版を買ってしまった方が良いと思った。何より値段が安いし。

それにつけてもiPadの欲しさよ

| @技術/プログラミング

2011年はてなインターンであらせられるuasiさんのはてなブログに解決方法が書いてありました。

MacVimが悪いんじゃなくてtmuxに原因があったみたい。tmuxごしにVimを起動すると、MacVimでなくて普通のVimでもコピペができなくなる不具合があったようです。しかしChrisJohnsen/tmux-MacOSX-pasteboard - GitHubをインストールすることで解決します。tmuxだけでなくGNU Screen + Vimの組み合わせでも同様の問題が解決するそうです。お困りの方はお試し下さい。

| @技術/プログラミング

Railsで建物名みたいなカラムに building ってのを当ててたら

ActionView::Template::Error (no block given (yield)):

みたいなエラーが出るんですけど、Railsで building って予約語なんですかね。

なんか Rails Wiki のReserved Words You Can’t Use は真っ白だし、古い方のWikiの予約語一覧 にも building は入ってないし。

とりあえず複数形にして対応したけど気持ち悪い。

追記

どうやらMongoidに起因するエラーのようです。

| @技術/プログラミング

MacVimでコピペできなくて(MacVim内のヤンクじゃなくて、他のアプリケーションでコピーしたもののペースト)困ってたんだけど(MacVimでコピペできないんですけど… | tech.portalshit.net)、できるようになりました。原因は mvim っていう、コマンドラインからMacVimを起動するためのシェルスクリプトだった。MacVim kaoriyaのWikiで紹介されてるやつ。

こいつ経由でMacVimを起動したときはどうも他のアプリケーションからのコピペがうまくいかないみたい。

同じくMacVim Kaoriya Wikiで紹介されている、MacVimを起動するコマンドをaliasで化したものを .zshrc に書いたところうまくコピペが機能した。

alias gvim='env LANG=ja_JP.UTF-8 open -a /Applications/MacVim.app "$@"'

同じ問題でお困りの方はお試しあれ。

追記

なんか違うっぽい。alias経由で呼び出してもダメなときはダメだもん。いったい何なんすかね。

| @Mac/iPhone

転職したお祝いに、ワイフにMacBook Airを買ってもらった。シャレオツ気取りでUS配列キーボードをビックカメラで注文した。なんでビックカメラで注文したかというとYahoo! BB光開通キャンペーンでもらった二万円分のビックカメラ商品券があったからだ。CTOは基本的にApple Storeのみで可能だが、ビックカメラ店舗内のApple ShopだとCTOを受け付けているという情報をネットで入手していた。

購入時には「CTO注文の場合キャンセルはできません、二週間程度お時間をいただきます、JISモデルならすぐお持ち帰りいただけますが本当によろしいですか?」と三回くらい聞かれたけど「いいです」と言ってUS配列モデルを注文した。そしたらもうそろそろ一ヶ月になるのにまだ届かない。

やはり俺のようなダサ坊がUS配列のMacになんて手を出すべきではなかったのだ。おとなしくJIS配列キーボードモデルを購入していれば、今頃Airを携えてドトール天神新天町店などで無限インターネットしたりできていたのに。ちょっとシャレオツを気取ってUS配列を注文したばかりにこんなことになった。

そもそもUS配列を使っていいのは原則的に値引きなしのApple StoreでMacを買える金持ちだけなのだ。これまで一度たりとも定価でMacを買ったことがない俺のような賤民がUS配列に手を出すべきではなかったのだ。商品券を使って意地でも値引きされた金額でMacBook Airを買おうとしたがためにこのような事態に至ったのだ。

さらに悲しいことに、5000円値引きするからと同時加入したイーモバイルのGP02についても、GMOくまポン経由で買うとsshも使えるアドバンスドプランを月額2990円で契約できたらしい。俺は月々3880円で契約してしまった。どうせ3880円払うならソフトバンクのULTRA WiFiとかにしておけばよかったと激しく後悔している。ULTRA WiFiはイーモバとソフトバンクのハイブリッドモデルなので、両方の回線を自動的に切り替えて通信できる。イーモバは田舎では全然電波の感度がよくない。ソフトバンクも悪いけど、イーモバイルよりかはましだ。

きっとApple StoreでUS配列のMacBook Airを買うようなリッチメンは情報収集も万全で、月額利用料3880円でGP02を契約した俺を尻目に、GMOくまポンを使って入手した月額利用料2990円のGP02とUS配列のMacBook Airを駆使して美女とのデートで利用する遊園地やレストランやバーやラブホテルを検索したりしているのだ。あるいはネット証券でデイトレーディングを行い、さらに富を増幅させているかもしれない。俺との差は開いていくばかりだ。

| @技術/プログラミング

RVM、便利に使わせてもらっていたけど、Rubyの新しいのがリリースされるたびにいろいろアレだったので rbenv を使ってみることにした。移行、しんどいかなと思ってたけど非常に簡単で大変よかった。

RVMのキモさ

RVMの悪いところはググればいろいろ出てくるけど、OSの cd やRubyの gem コマンドをシェルスクリプトで置き換えるとか、行儀が悪いところが問題らしい。個人的に気にくわなかったのがRVMがどんどんでかくなっていって、Rubyのビルドに必要なパッケージまで管理できるようになったところとか(.rvm以下に新しくシステムができるみたいな感じがキモかった)、パッケージインストール用のコマンドがhelpドキュメントでは rvm package install なのに rvm pkg install にいつの間にか変わっていて訳がわからないところとか、よくわからないシェルスクリプトがログイン時に実行されるところとか、 rvmsudo っていうコマンドのキモさとかいろいろ。

rbenv

rbenvはRubyのバージョンを切り替えるためのツールなのでインストールはやってくれないけど、ruby-buildというツールを別に入れることで、 rbenv install 1.9.2-p290 とかでRubyのインストールもこなしてくれるようになる。

あまりRVMを使いこなしてたとはいえなかった自分にとってはrbenvくらいでちょうどいいような感じがする。gemsetとか使わんし。そんくらいだったBundler使うし。

インストールは以下のページが参考になります。

なおrbenvはRubyインストール時のconfigureオプションの指定方法が特殊です。直接は指定できないようなので以下のようにします。(homebrewでインストールしたreadlineとiconvのパスを指定する例)

$CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-iconv-dir=/usr/local" rbenv install 1.9.2-p290

デフォルトのオプションなしのRubyだとearthquake.gemが動かなかったりjekyllが使えなかったりするので僕は↑のオプションを追加しました。よろしかったらお試し下さい。