Glide Note

glidenote's blog

homebrewを利用してrubyオプションが有効なvimを導入

LionというかMacに入っているVimはrubyオプションが無効になっているので、 homebrewを利用してrubyオプションが有効なvimを導入。毎回ググっているので自分用メモ。

デフォルトのvimのrubyオプションの状態を確認

1
2
3
4
[akira@MacBookAir] $ uname -a
Darwin MacBookAir.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr  9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
[akira@MacBookAir] $ vim --version | grep ruby
-python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs +smartindent 

-rubyとなっていてrubyオプションが無効になっている。

homebrewを利用して導入

非常に便利なformulaがあったのでそれを利用

homebrew経由で導入したvimのrubyオプションの状態を確認

1
2
3
[akira@MacBookAir] $ /usr/local/bin/vim --version | grep ruby
+reltime -rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime 
Linking: /usr/bin/llvm-gcc   -L. -L/Users/akira/.rbenv/versions/1.9.2-p290/lib  -L/usr/local/lib  -L/usr/local/lib -o vim       -lm  -lncurses -liconv -framework Cocoa        -lruby-static -lobjc -L/Users/akira/.rbenv/versions/1.9.2-p290/lib   

/usr/local/bin/vim+rubyでrubyオプションが有効になったvimが入りました。

参考

Moshのrpm作成を簡略化した

Moshが便利で、かなり活用しているんですが、 開発速度が速く、バージョンアップのたびにRPM作成をしていくのが結構だるいので 多少楽になるように対応。

単にGitHub上にspecとbuild用のスクリプトを配置しているだけですが。

CentOS6とSL6決めうちなのは、私がそれしか使っていないからです。 もしCentOS5用のを作る場合は@n0tsさんのサイトが 参考になります。

参考

kindle4を買って4ヶ月経ったので感想を書いてみる

kindle4を買ったときに使用感などを書こうと思っていたんですが、 買ってからいつの間にか4ヶ月も経ってしまっていたので、今さらながら感想を書いてみる。

私は初代iPad所有で初Kindleという感じです。

kindle4の感想を箇条書き

  • 注文して中4日で届いた。
  • 軽く、小さいので持ち歩きが苦じゃない。初代iPadを利用していたので、その差は歴然。
  • 日本のオライリーPDFはサイズ的に読むのが厳しい。iPadの方が良いと思う。
  • E-inkが読みやすい。
  • 記憶容量が少ない。約1.2GB程度。
  • Amazon.comで購入したら、すぐに自分のKindle内にデータが送られてくるのが便利過ぎる。
  • データサイズが数百MBの自炊PDFを読むことは容量的に基本無理。
  • 日本語の電子書籍が少ないので、必然的に洋書を読むようになる。
  • 搭載されているブラウザは残念な感じ。
  • 物理キーボードが付いていないので、文字入力も残念な感じ。
  • 英辞郎 MOBI/Kindle3/Kindle4を使えば、分からない英単語をすぐに調べられる。
  • The Pragmatic BookshelfとKindle連携が素晴らしい。購入済み書籍が改訂されると自動的にKindleに送られてくる。
  • InstapaperReadabilityなど海外ウェブサービスは連携出来るものが多い。
  • バックライトが無いので当然ながら暗所での利用不可。LED付きカバー必須
  • LED付きカバーを利用するとちょっと重い。LED付きカバー 141g + kindle4 166g
  • mobi形式最高

kindle4の購入直後は、iPad時代に購入したオライリーのPDFと、ブックスキャンで自炊してもらったPDFを読むのに 適しておらず若干後悔をしていたんですが、英語の書籍、技術書読む用と割り切った瞬間から 非常に優れたデバイスであることに気づいて、今では本はKindleで読んでいる時間が一番長いです。

また英語縛りみたいなのを自分に課したことで、日常的に英語の技術書をを読む習慣がついたのと 英語への抵抗が少なくなった事が一番良かった点かなと思っています。 (まだ読み終わった冊数も少なく、読む速度はめちゃくちゃ遅いですが…)

周りに購入を迷っていた人が結構いたので何かの参考になれば幸いです。

モバイルバッテリーを大容量から小容量に切り替えたら生活が快適になった話

最近iPhoneとSony Ericsson mini用に使っているモバイルバッテリーを電池容量の小さいものに 変えたら生活が快適になったので、ちょっと書こうかと思います。

KBC-L54DとKBC-L27Dは同じ日に発売された同世代のモバイルバッテリーなので、 本体サイズ、電池容量、給電ポート数以外の性能は同じです。
ランプで残容量が分かったり、 マイクロUSBで充電が出来るタイプのものです。

大容量KBC-L54Dを利用していて不便に感じていた点

  • サイズが大きい 62(幅)×70(高さ)×22(奥行)mm
  • 重い 142g
  • 片手でiPhoneと一緒に持つと操作しにくい。疲れる
  • 充電しながらズボンのポケットに入れて持ち歩くことが難しいサイズ感
  • 上記理由から充電するときはカバンに入れざるを得ない
  • 給電ポート2個を同時に利用することがほとんど無い
  • 電池容量(5400mAh)が大きいので充電時間が長い

小容量KBC-L27Dに切り替えて良かった点

  • サイズが小さい 寸法:70(幅)×39(高さ)×22(奥行)mm
  • 軽い 78g
  • iPhoneを充電しながらポケットに入れて持ち歩けるサイズ感
  • 片手でiPhoneと一緒に持っても操作問題なし
  • 電池容量(2700mAh)が小さいので充電が早い
  • iPhone4へのフル充電が1回半出来るので、1日過ごすには十分

KBC-L54DとKBC-L27Dはいずれも2011年9月に発売され、コストパフォーマンスが良かったので 何も考えず大容量のKBC-L54Dを購入して利用していたのですが、5400mAhという容量は使い切ることがなく 1回給電したら充電という利用方法で、大容量のメリットを生かし切れておらず 上に挙げたような不便さだけが際立ってきていたので、小容量のKBC-L27Dに切り替えて快適になりました。

KBC-L27Dは値段が安定していないので、同等性能のPanasonic製品の方が安いケースがありますので、 購入前に両方の値段をチェックすることをお勧めします。


iPhone4のバッテリもへたってきたのか、最近バッテリ持ちが悪くなってきたので買い換え時かな…

netstatの代替品ssコマンドのzsh補完関数を作った

前回はサブコマンドとファイル名を手抜き補完に続いて 今回はssコマンドの補完関数を作成しました。

作成したものはgithubにも公開してます。

事の発端

twitterを見ていて、下記のようなtweetを発見。

  • 確かに自宅サーバのFedora16でman netstatを見てみるとそんなような事が書いてあるThis program is obsolete. Replacement for netstat is ss. Replacement for netstat -r is ip route. Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.
  • ssを使ってみる。なかなか良い感じ
  • zshでオプション補完されないし、使い方もよく分からん
  • 補完関数を作ろう

という感じで、ssコマンドの補完関数作成に着手。

ssコマンドのオプションを確認

補完関数を作成する前に、まずss -hなどでどんなオプションがあるのかを確認。 サブコマンドはなく、非常にシンプルな利用方法です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help           this message
   -V, --version        output version information
   -n, --numeric        don't resolve service names
   -r, --resolve       resolve host names
   -a, --all            display all sockets
   -l, --listening      display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes      show process using socket
   -i, --info           show internal TCP information
   -s, --summary        show socket usage summary

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet display PACKET sockets
   -t, --tcp            display only TCP sockets
   -u, --udp            display only UDP sockets
   -d, --dccp           display only DCCP sockets
   -w, --raw            display only RAW sockets
   -x, --unix           display only Unix domain sockets
   -f, --family=FAMILY display sockets of type FAMILY

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

   -D, --diag=FILE      Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state TCP-STATE ] [ EXPRESSION ]

完成形

ssのようにオプションだけしかない場合は、定型フォーマットで書いていくだけです。
出来上がった_ss$fpathにおいてexec $SHELLで利用出来るようになります。
またzsh補完関数にはcompletion-style-guideという 書式スタイルのガイドがあるので、それに従った形で書いています。

参考URL