switching screen->tmux

長年 Gnu screen 愛用者だったのだけど完全に tmux に移行しました。 愛用している iterm2 との相性も良く、好都合な点が幾つかあり移行する価値がありました。 ただ、サーバサイドでの利用は諦めました。問題だったコピペ問題をクリアしている tmux のバージョンが Debian sid から取得出来たのだけど、まだまだ完成度高くなく..。 よって、Mac に tmux をインストールして作業するようになりました。インストール方法はこれ。 予め https://github.com/mxcl/homebrew/wiki/installation に したがって homebrew をインストールする必要あり。 % brew update % brew install tmux インストールしたら .tmux.conf の作成に入る。prefix キーは C-t にしたかった。screen 時代から これを使っていて指がそう動くから。 # prefix key set-option -g prefix C-t またステータスライン周りの設定。色なども自分で選択すると良い。 # view set -g status-interval 5 set -g status-left-length 16 set -g status-right-length 50 # status set -g status-fg white set -g status-bg black set -g status-left-length 30 set -g status-left '#[fg=white,bg=black]#H#[fg=white]:#[fg=white][#S#[fg=white]][#[default]' set -g status-right '#[fg=white,bg=red,bold] [%Y-%m-%d(%a) %H:%M]#[default]' # window-status-current setw -g window-status-current-fg white setw -g window-status-current-bg red setw -g window-status-current-attr bold#,underscore # pane-active-border set -g pane-active-border-fg black set -g pane-active-border-bg blue UTF-8 有効化やキーバインド設定等は… ...

github.com で octopress 構築

pages.github.com は github.com の WEB ホスティングサービスです。これを利用して octopress のブログを 構築する方法をメモしていきます。 まず、github.com に “${好きな名前}.github.com” という名前のレポジトリを github.com 上で作成します。 レポジトリの作成は普通のレポジトリ作成と同じ方法で行えます。しばらくすると “${好きな名前}.github.com のページがビルド出来ました” という内容でメールが送られてきます。 pages.github.com によると、レポジトリページで “GitHub Page” にチェックを入れろと書いてありますが、情報が古いようです。 2012/03/20 現在、この操作の必要はありませんでした。 次に octopress の環境構築。 octopress は、jekyll ベースのブログツールです。markdown 形式で記事を書くのですが、emacs や vim 等 好きなエディタを使って記事を書けるので便利です。最近 “Blogging with Emacs” なんてブログをよく目にしたと 思うのですが、まさにソレですよね。エンジニアにとっては嬉しいブログ環境です。 まずは、rvm の環境構築を。octopress は ruby 1.9.2 以上が必要なので用意するのですが rvm を使うと 手軽に用意出来るので、今回はその方法を記します。 参考 URL は http://octopress.org/docs/setup/rvm/ です。 まずは準備から。私の環境は Ubuntu Server 10.04 LTS なのですが、下記のパッケージが必用になります。 % sudo apt-get install gcc make zlib1g-dev libssl-dev 下記のコマンドを実行すると、rvm がインストールされます。 ...

cocoa な emacs インストール

Carbon な API は排除していくべきと Apple も言っているようですし、自宅も会社も Cocoa な emacs を使うようになりました。 その手順を書いていきます。 ソースとパッチでビルドも出来るのですが、homebrew 使うとメチャ楽なので今回はそれを使います。 homebrew は公式サイトに詳しいことが書いてありますけどインストールがワンラインで済みます。 あと、事前に AppStore で Xcode を入れてください。 % /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" だけです。 そして Cocoa な emacs インストール。 % brew install --cocoa emacs % sudo mv /usr/local/Cellar/emacs/24.1/Emacs.app /Applications/ 以上です..。簡単すぎる。先人たちのおかげですね。 次は時間見つけて anything.el のことを書こうかなぁと思ってます。 参考 URL : http://mxcl.github.com/homebrew/

conky statusbar

上の画像は conky というツールのキャプチャです。 conky は x window で使える linux マシンのステータスを文字・グラフ描画で表現してくれるツールです。 透明にしたりグラフ表示を派手にすることも出来るのだけど、わたしは上図のようにステータスバーとして使ってます。Window Manager に openbox という素っ気ないものを使うようにしてるので、これ自体がファイラーもステータスバーも無いんです。なので conky を利用して ‘時間’, ‘バッテリ残量’, ‘AC アダプタ有無’, ‘ネットワーク使用量’ 等を表示してます。 deviantart に rent0n86 さんという方が投稿した作品があって、それをこちょこちょ自分用にいじって使ってます。 debian gnu/linux な GUI 環境があれば… % sudo apt-get conky-all % cd $HOME % wget https://raw.github.com/chobiwan/dotfiles/master/.conkyrc で、この環境を作れます。 表示する内容は環境に合わせて修正すると楽しいです。幅は minimum_size パラメータで合わせてください。 パラメータ一覧は、公式 Wiki サイト に正しい情報が載っています。 話変わるけど、enlightenment 17 が完成度高くならない理由ってなんなのでしょうかね? 16 を愛用していただけに残念。

gitosis ssh+git サーバ

github.com は便利なのだけどプライベートなレポジトリを作るのにお金払うのはもったいないので自宅サーバに SSH 経由の Git サーバを構築した。その時の手順をメモしておきます。 gitosis という便利なツールがあって、これを使うとあっという間に環境構築できます。私の環境は debian Gnu/Linux Squeeze なのですが apt-get で必要なモノを入れました。gitosis は git で持ってきます。 remote% sudo apt-get update remote% sudo apt-get install git git-core python python-setuptools remote% cd $HOME/usr/src remote% git clone git://eagain.net/gitosis.git remote% cd gitosis remote% sudo python setup.py install SSH でアクセスする先のユーザを作ります。 remote% sudo adduser --shell /bin/sh -gecos --group \ --disable-password --home /home/git git 作業端末で rsa な SSH 公開鍵を生成して ${remote} サーバは転送する。 local% ssh-keygen -t rsa ... インタラクティブに答える local% scp .ssh/id_dsa.pub ${remote}:/tmp/ 転送した鍵を元に ${remote} サーバ上で git レポジトリを初期化する。 ...

Heroku JP Meetup #3

白金台のクックパッドさんで行われた “heroku jp meet up #3” に参加してきました。 東京マラソン参加のため来日されていた Christopher Stolt さんや Ruby コミッタの相澤さんなどの話を聞けました。 Christopher さんからは、基本的な使い方や heroku で動作させたアプリケーションをローカル環境で動作させる foreman、また皆が意外と気にするアプリのログを tail する方法などの説明がありました。PaaS での皆の懸念点が結構解決されたんじゃないかなぁ。 相澤さんからは NY マラソンでの実績など、比較的エンタープライズな使われ方もされ初めていると説明がありました。あと、呼び名なのですが heroku は “へろく” と発音するそうです。確かに about.heroku.com には “Heroku (pronounced her-OH-koo) is a cloud application platform” と書いてあるのだが、“へろく” が正しいそうです。w そのた LT が幾つあって、ちょうど気になっていた Lokka の話があったので、自宅に帰ってから自分の heroku アカウントで lokka を動かしてみました。lokka の公式サイトに手順が書いてあって、そのままなのですが行ったのは、 % gem install heroku bundler % git clone git://github.com/komagata/lokka.git % cd lokka % heroku create % git push heroku master % heroku rake db:setup % heroku open すれば OK。 ...

OpenFlow 勉強会

2012年2月6日、西新宿にある株式会社ニフティさんで行われた “OpenFlow 勉強会” に参加したので簡単なレポメモを書いておきます。 まずは OpenFlow の基本動作。 メッセージの切り出し ハンドシェイク コネクションの維持 スイッチから送られてくるメッセージへの応答 構成は OpenFlow コントローラ, スイッチから成る コントローラは通信制御 スイッチはフロールールをコントローラに問い合わせ通信を受け流し(packet/frame 転送) コントローラは L2 - L4 フィールドを見て制御する そしてコントローラ、スイッチは各社・団体から提供されている。今月も Nicira Networks さんが自社システムの構成を抽象的ではありますが公開され、HP さんも OpenFlow 対応スイッチを12製品ほど発表されました。 コントローラの種別、 Beacon (Java) NOX (Python) Ryu NodeFlow Trema (C/ruby) Nicira Networks Big Switch Networks Midokura NTT Data スイッチの種別、 cisco nexus 3000 IBM BNT rackSwitch G8264 NEC Univerge PF5240/PF5820 Pronto Systems 3240/3290 HP 3500/5400 HP OpenFlow 化 firmware Reference Implementation (Software) Open vSwitch (Software) NEC さんの PF ほにゃららは、GUI なインターフェースと API を持った製品で OpenFlow 1.0.0 仕様に準拠。スイッチ25台までを管理するコントローラ。価格は、コントローラ : 1000万, スイッチ : 250万 だそうです。スイッチ25台はあくまでもソフトリミットらしいです。 ...

USB Stick で Debian Gnu/Linux インストール

MS Windows なツールを使う方法だったり、vmlinuz, initrd をファイラーでコピーしたり、何故かいつもインターネットで調べると USB スティックを利用した debian のインストール方法が’面倒’, ‘不確か’ なので、忘れないようにメモ。 手元に linux 端末用意して、USB スティック挿す。 % wget ftp://ftp.jp.debian.org/pub/Linux/debian-cd/6.0.3/amd64/iso-cd/debian-6.0.3-amd64-netinst.iso % sudo cat debian-6.0.3-amd64-netinst.iso > /dev/sdb # 挿した USB スティックのデバイス名 で終わり。 ただ弱点があって、フルイメージの iso は利用できないでの、今回みたいに netinstall だったり businesscard な iso を利用しかない。 他のディストリビューションもだけど、インストールする環境はネットに繋がっていないと不都合があるって時代だからいいかなぁ。 一方、Ubuntu Server は賢い子なので 公式サイト に行くと USB スティック用の iso がダウンロードできたり iso を焼く環境に合わせて手順まで教えてくれる…。