2012年4月29日日曜日

Firefox 12にupdateしたらVimperatorのCtrl-HでBackspaceができなくなった

タイトル通りです。Firefox 12にupdateしてからVimperatorで"Ctrl"キーと"h"の同時押しでBackspaceができなくなりました。個人的にこのキーマップは気に入っていたので出来なくなっちゃうのはちょっと困ります。ということで解決法。

環境 : OS X Lion,Firefox 12, Vimperator 3.4

Linux,OS Xなら.vimperatorrcに、Windowsなら_vimperatorrcに以下を記述。

map <C-h> <BS>          //ノーマル、ヴィジュアルモード共に設定
imap <C-h> <BS>         //挿入モードに設定
cmap <C-h> <BS>        //コマンドラインモードに設定

とりあえず上記の設定をvimperatorrcに書き込んで、Vimperatorのコマンドモードでsourceコマンドで読み込むか、Firefoxを再起動して設定を読み込ませるとキーバインドが効くようになりました。

キーマップの設定の仕方等はVimperatorのhelp(標準だとF1キー)で調べる事ができます。

2012年4月3日火曜日

iptablesでREJECTした通信のログを書き出す(Scientific Linux)

利用しているさくらVPSのプランがリニューアルしました。以前はVPS 512を契約していましたが、今回同じ料金でVPS 1Gが利用できるのでそちらに乗り換える事に。

契約してすぐにカスタムインストールでOSをScientific Linuxに変更。後は以前VPSで設定した事を一通り行いました。
 以前設定した時の記事
 http://taka16o.blogspot.jp/2011/03/vps_27.html

以前はiptablesでブロックされた通信のログを出力していなかったので今回は出力するように設定。Scientific Linux 6.2で設定しています。

/etc/sysconfig/iptable に以下を記述

 -A INPUT -j LOG --log-level debug --log-prefix "[iptables] "

/etc/rsyslog.conf に以下を記述

 *kern.debug /var/log/iptables

ログ出力用のファイルを /var/log/ 以下に作成。

 # touch iptables


これでログが出力されるはずと思ったらまったく出力しないのでしばらくあちこち設定を弄りつつ原因探ししていたらなんとログを出力する設定をREJECTする設定の後に記述してしまっていることに気がつきました。
これではログが出力されないので

  -A INPUT -j LOG --log-level debug --log-prefix "[iptables] "
  -A INPUT -j REJECT --reject-with icmp-host-prohibited

上記のようにREJECTの設定の前に書き直すことで解決しました。
初歩的なことでつまって大分時間食ってしまいましたが解決したのでよかった。

2012年3月1日木曜日

OSX Lionへrbenvとrubyをインストール

OSX LionへRubyの開発環境を構築する際にハマった事等のメモ。

OSX Lionに標準でインストールされているRubyとは別のバージョンをインストールしたいので複数バージョンのRubyを管理するためにrbenvをインストール。

導入にあたっては既に記事をまとめてくれている人がいたので参考にしました。

http://d.hatena.ne.jp/itog/20120223/1329995531

http://d.hatena.ne.jp/hidde/20120128/1327758334


すでにHomebrewを導入しているので以下のコマンドでインストール。

 $ brew install rbenv $ brew install ruby-build

bash_profileに以下を記述

  export PATH="SHOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"

readlineもインストール

  $ brew install readline
  $ brew link readline

Rubyをインストール!と思ったら以下のエラーが

  $ rbenv install 1.9.3-p125

 ERROR: This package must be compiled with GCC, and we couldn't find a suitable    `gcc' binary on your system. Please install GCC and try again. As of version 4.2, Xcode is LLVM-only and no longer includes GCC. You can install GCC with these binary packages on Mac OS X: https://github.com/kennethreitz/osx-gcc-installer/downloads

既にXcodeをインストールしてあったのでgccもインストールされているものと思っていたら、llvmgccだと問題があるみたいです。
エラーメッセージに従いURIからOSX用のgccをダウンロードしてインストール後に再度Rubyをインストールしようとするとreadline関連のエラーが出てしまうので、上記のblogを参考に以下のコマンドを実行。

  $ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p125

インストールが完了したら使用するRubyを指定。

  $ rbenv global 1.9.3-p0 $ rbenv rehash

最後にRubyのバージョンを確認。

  $ ruby -v
  ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

第3回Okinawa.rb Meetup@Nahaに参加してきました

タイトルの通りですが、第3回Okinawa.rb Meetup@Naha参加してきました。

会場はギークハウス沖縄です。

 ギークハウス沖縄
  http://geekhouse-oki.fluxflex.com/

 okinawa.rbについてはこちら
  http://www.qwik.jp/okinawarb/

 私はギークハウス沖縄の様子やイベントの雰囲気を感じてみたいと思い初参加してみました。ついでに近くのスーパーで差し入れの飲み物とお菓子も買い込んで持ち込みました。今回は初心者チームは「初めてプログラミング」を読みながらの勉強、上級者チームは「メタプログラミングRuby」を読みながらの勉強となっていましたが、時折初心者チームから上級者チームに解説をお願いする等初心者と上級者も混じり合い終始和やかな雰囲気でした。

 会場の様子を写真に撮ってみたので、目線を入れての公開。皆楽しそうです。



 私は初心者チームに混じりながらとりあえず自分のPCにRubyの開発環境の構築(まだやってませんでした :p )と、場の空気を感じながら自分が吸収出来そうな所は注意して聞き、質問したり、来場している人達とおしゃべりをしたりと楽しい一時を過ごす事ができました。

社会人、学生、外国人の方も来場するなど業種や国籍関係なく集まって楽しめるイベントでした。

今回、ギークハウス沖縄への初めての訪問とOkinawa.rbのイベントへの初参加となりましたが「また行ってみたい!」と思えるイベントでした。会場を提供してくれたギークハウス沖縄、イベントを企画してくれたOkinawa.rbの皆様どうもありがとうございました。また機会があればぜひ参加してみたいですね。

2012年2月21日火曜日

Mac OSX LionでJava開発環境構築時に詰まった事など

Mac OS X LionでJavaの勉強をしていた時に詰まった事などを備忘録として書いておきます。

環境
OS : Mac OS X Lion 10.7.3
shell : bash
Java Version : Java SE 6


トラブル1
 ソースに日本語が含まれているとコンパイルエラーや文字化けの問題が。
解決方法は色々なwebサイトで詳しく解説されているのでここでは解決策だけ記載します。

解決策
    Javaのコマンドにオプションをつけて実行する。

    aliasで対処。.bashrcに以下を記述。

        alias javac='javac -J-Dfile.encoding=UTF-8'
        alias java='java -Dfile.encoding=UTF-8'

トラブル2
 Vimで日本語が含まれるJavaのソースを編集後、編集したソースをVimの外部コマンドでjavacコマンドを呼び出しコンパイルする時先ほど設定した aliasが反映されずコンパイルエラーを起こす。

解決策
        set shell=/bin/bash\ -i

.vimrcに上記の設定を書いて対処しました。

Vim上から外部コマンドを実行する時に.bashrc等に設定したaliasが実行されなかったので上記オプションを追加しました。

参考URI
http://stackoverflow.com/questions/8841116/vim-not-recognizing-aliases-when-in-interactive-mode