先日に参加したRailsイベントfishというものを紹介してもらった。zshbashのようにUnixで使うコマンドシェルですが、fishのフルネーム(Friendly Interactive SHell)からもわかるように、使いやすさと対話的な利用を目的としている。以下の特徴があるらしい:

  • 基本的に色付けをする
    • シンタクスハイライト
    • コマンドやオプションのスペルチェック
  • htmlヘルプ (help打ったらブラウザが起動する)
  • 説付きTAB補完
  • サブシェルがない
  • ミニマルかつシンプルな文法

Mac OS Xでインストールするには:

   1  % sudo port install fish

Mac OS Xでfishchshしたければ、/etc/shellsfishを追加しなければならない。

   1  # List of acceptable shells for chpass(1).
   2  # Ftpd will not allow users to connect who are not using
   3  # one of these shells.
   4  
   5  /bin/bash
   6  /bin/csh
   7  /bin/ksh
   8  /bin/sh
   9  /bin/tcsh
  10  /bin/zsh
  11  /opt/local/bin/fish

使ってみるとこんな感じ:

  • 書きかけのコマンドが赤色 fish01.jpg
  • 存在しているコマンドが緑色 fish02.jpg
  • helpw3mが起動する fish03.jpg
  • funcedでビルトインの実装をみる(インデント、シンタクスハイライトあり) fish04.jpg
  • manもスマートに補完されている fish05.jpg

今までは正直zshbashのほとんどの機能を使っていませんし、しばらくはfishchshしてメインシェルとして使ってみることにする。

posted by Face lchin on Tue 25 Nov 2008 at 19:38

I made a SIMBL plugin for Terminal.app which enable us to copy on selection. Here is the plugin named TerminalCopyOnSelect.

TerminalCopyOnSelect.bundle.zip

INSTALLATION

  1. At first, you should install SIMBL.
  2. Download the zipped plugin file I mentioned above and expand it.
  3. Copy the extracted file "TerminalCopyOnSelect.bundle" to the plugin directory which is located at ~/Library/Application Support/SIMBL/Plugins/
  4. Terminate all processes of Terminal.app and restart it.

You're done! Now you can get copied selected text from the terminal when you released mouse button on it.

You are also able to disable this feature by turning off the following menu "Copy On Select".

ss01

Finally, I opened the source of this plugin on the GitHub under the MIT license.

Enjoy!

posted by Png takiuchi on Tue 25 Nov 2008 at 19:11 with 8 comments

MacOSXのTerminal.appで、選択をした時に、 自動的に選択した文字列をコピーするSIMBLプラグイン TerminalCopyOnSelect を作ってみました。

TerminalCopyOnSelect.bundle.zip

インストール方法

  1. まずはSIMBL をインストールします
  2. 上述のTerminalCopyOnSelect.bundle.zipファイルをダウンロードして展開します
  3. 展開されたTerminalCopyOnSelect.bundleを、 ~/Library/Application Support/SIMBL/Plugins/の下にコピーします。 ディレクトリが無い場合は作成してください。
  4. Terminal.appのプロセスを終了し、Terminal.appをもう一度起動します

これでOKです。 一時的にこの機能をオフにする場合は、 以下のようにメニューから「Copy On Select」をオフにしてください。

ss01

オンに戻せば再び有効化されます。

追記

ソースコードをGitHubで公開しました。

MITライセンスという事でお願いします。

posted by Png genki on Tue 25 Nov 2008 at 17:56 with 4 comments

http://wiki.fdiary.net/rails/?RailsMeetingTokyoによるとIRCがあるらしい。入ってみた。

Rails勉強会のIRCを作りました。 freenode.netの#rails-tokyoチャネルへお越しください。文字コードはUTF-8です。

CHOCOAで入ってみたら文字化けた。CHOCOAはUTF8対応していないらしいorz

LimeChatをインストールしたら大丈夫でした。

posted by Face ysakaki on Tue 25 Nov 2008 at 16:06

gem install rspec←エラーになる場合gemファイルを個別にダウンロードしてローカルインストールする。

gemファイルのダウンロード

  • http://rubyforge.org/frs/?group_id=797&release_id=27505 から「rspec-1.1.10.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=84&release_id=975 から「diff-lcs-1.1.2.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=505&release_id=2361 から「syntax-1.0.0.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=1513&release_id=27516 から「hoe-1.8.2.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=1024&release_id=27440 から「rubyforge-1.0.1.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=1024&release_id=27440 から「rake-0.8.3.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=1766&release_id=20259 から「win32console-1.1.0-i386-mswin32.gem」をダウンロード
  • http://rubyforge.org/frs/?group_id=1750&release_id=16551 から「rcov-0.8.1.2.0-mswin32.gem」をダウンロード

インストール

  • gem install rspec --local
  • gem install rspec-rails-1.1.10.gem --local
  • gem install win32console --local
  • gem install rcov-0.8.1.2.0-mswin32.gem --local

プロジェクトにrspec関連ファイルを生成

C:\workspace\product>ruby script/generate rspec
create lib/tasks/rspec.rake
create script/autospec
create script/spec
create script/spec_server
create spec
create spec/rcov.opts
create spec/spec.opts
create spec/spec_helper.rb
create stories
create stories/all.rb
create stories/helper.rb

posted by Face ysakaki on Tue 25 Nov 2008 at 14:04

NetBeans6以上ではRSpecの実行をサポートしていますが2byte文字の出力が文字化けする問題があります。

これを直すにはNetBeansインストールフォルダのC:\Program Files\NetBeans 6.5\etc\netbeans.confを開き、netbeans_default_optionsのオプションに-J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8を加えて再起動します。

netbeans_default_options="-J-client -J-Xverify:none -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8"

やったー!

rspec.GIF

参考:http://yakumo-yoh.seesaa.net/article/105420870.html

posted by Face ysakaki on Tue 25 Nov 2008 at 13:01

Merbのsliceは、独立したMerbのサブシステムを再利用する仕組みです。 はじめ、Railsのcomponentのようなものだと思っていたのですが、 どちらかというとEnginesのような機能を持っているようです。

Merbのsliceは、Gemで管理されているので、sliceを利用する場合は、 sliceのGemをインストールします。 例えば、 merb-auth-activation-slice を利用したい場合、 今の所Gemが配布されていないので、githubからソースを持ってきて、 以下のようにインストールします。

   1  % git clone git://github.com/ck/merb-auth-slice-activation.git 
   2  % cd merb-auth-slice-activation
   3  % sudo rake install

そうすると、以下のようにGemがbuildされてインストールされます。

   1  % gem list merb-auth-slice-activation
   2  
   3  *** LOCAL GEMS ***
   4  
   5  merb-auth-slice-activation (1.0)

この状態で、config/dependencies.rbファイルに依存関係を登録します。

config/dependencies.rb

   1  dependency "merb-auth-slice-activation"

続いて、sliceをアプリケーションにインストールするRake タスクを実行します。

   1  % rake slices:merb_auth_slice_activation:install

Sliceに関連するRubyコードがMERB_ROOT/slices以下に、 Assetsファイルが、 public/slices/merb-auth-slice-activation以下に展開されます。

あとは、config/router.rbやconfig/init.rb、config/environments/*.rb などの中で、適宜slice関連の設定を行います。

posted by Png genki on Tue 25 Nov 2008 at 04:19

シドニーに帰省するついでに、11月19日に地元のRuby on Railsイベントに参加してきた。参加したというか、LTでRubyKaigi 2009の宣伝してきた。オリジナルな発表ではなく、角谷さんRubyConf 2008のLTスライドを無断に手を加えて再利用した。すみません!ありがとう!

Why You Should Attend RubyKaigi 2009

Slideshare: Why You Should Attend RubyKaigi 2009

他のLTは日本にイベントに鈍れず、クオリティがけっこう高かった。

  • RailsCamp 4のイベントレポートとふりかえり
  • いくつかのライブラリの紹介とデモ:
    • iUi:RailsによるiPhone開発ライブラリ -Prawn: PDF生成ライブラリ
  • デモをいくつ
  • ネタトークをいくつ
    • paml: Passenger+haml
    • C64風プレゼンでView/Controllerのrefactoringを紹介
  • 最後のおまけトークはDr Nictabtabというbashでいろんなコマンドのtab補完拡張を自動生成するプロジェクトだった。

バーで開催したから、ビールを片手に発表した。あ、たのしかった。

posted by Face lchin on Thu 20 Nov 2008 at 01:34