isoなどのCDイメージを手軽にマウント

Daemon ToolsというCDのイメージをマウントする有名なツールがあるのですが、マウント時にイメージのフォルダを毎回指定しないといけないため、使い勝手が良いとは言えません。しかし、何年もの間使っていたため、不便さにはかなり慣れていましたが、暇だからちょっと探してみたらイメージファイルをダブルクリックでワンタッチでマウントできるツールってのがあるんですね。

DAEMount

海外製のツールですが、難しい操作はないので、すぐに使えました。

日本製のソフトDaemon Tools Shell Extensionというのもありましたが、これはmaznの環境では動きませんでした。


パケ・ホーダイ ダブル発表で料金グラフ書いてみました@docomo

docomoがパケホーダイダブルを発表しました。

以前パケット通信料についての愚痴を書いた中で、docomoもauのようにパケットの定額が二段階になるようなサービスを提供して欲しいと書いていましたが、とうとうそのサービスの発表です。このblogで書いた要望が影響を与えたかどうかをはわかりませんが、一歩前進してくれて嬉しいです。

このサービスがどのように使うと特なのかわかりづらいので、docomoの既存のグラフに重ねて線を書き込んでみました。

double.jpg

まず最初に気づくのが、パケットパック10との差。常にパケットパック10より低い料金なので、パケットパック10契約の人はパケホーダイダブルに移行した方が、必ずお得になります(追記参照)。パケ死しないようにしろという総務省の提案のおかげかと思います。フルブラウザを使いすぎてもパケ死しないというのも嬉しいですね。

パケホーダイの新規契約をやめるとのことなので、毎月48,750パケット以上使う人にとっては、実質的な値上げです。なので、パケホーダイという選択肢を削るのはユーザを無視している気がします。(私はそんなに使わないので関係ないですが・・・)
サービス停止ではなく、新規契約停止なので、48,750パケット以上使う人は今のうちに加入しておいた方がよいです。

0.084円/パケット というのは、高い気がします。980円から上限の4,200円 or 5,700円に達するまでが結構早いです。パケットパック30との差別化のためですかね。i-modeで毎月37,500パケットから84,000パケットを使っている人は、パケットパック30の方がお得です。フルブラウザで37,500パケットから114,000パケット使っている人もパケットパック30の方がお得になります。ただし、フルブラウザの場合、114,000パケットはあっという間に達するので、フルブラウザを使うのが前提の場合は、パケホーダイダブルの方が安心だと思います。

次はパケホーダイワンデーというサービスが出てきて欲しいです。申し込んだその1日だけパケホーダイになるサービス。1日だけ遠出してたくさん調べ物したい時があり、1日だけたくさん使うといったニーズがありそうです。500円/日ぐらいでどうですか?>docomoさん

== 追記 2008/9/4 ==

パケットパック10の人はパケホーダイダブルの方が必ずお得と書きましたが、必ずと言えない可能性がありました。パケホーダイダブルはおそらく無料通信分を翌月に繰り越せませんし、通話料として使うこともできません。パケットパックの無料通信分を通話料に使っている人、無料通信分を使い切れていない人は損する可能性があります。


rubyの文字コードについて考える

rubyでは、1.6以降漢字コードを特別に解釈しなくなったようです。

maznはプラットフォーム間の移植生を高めるために以下のルールにしようと考えています。

  • ソースはUTF-8Nで書く
  • 半角カナは使わない
  • 改行コードはLF (UNIX)   ← これは好みが分かれそう
  • 2バイト文字を扱う為にjcodeを使用
  • 入力文字は全てUTF-8Nに変換
  • 半角カナの入力があった場合はnkfで全角カナに変換する

ということで、定型的な書き方は以下のような感じ。

#!/usr/bin/ruby -Ku
require 'jcode'
require 'kconv'

puts "入力してください'
str = gets().toutf8;
puts str;

utf-8のLinux端末やutf-8を表示できるcygwin/ckを使用していれば問題なく表示できるが、 cygwinデフォルトのDOSプロンプトでは文字化けしてしまいます。ここでputs時に変換するコードを入れるとWindows専用のコードになってしまうし・・・・ どうすればいいんだろ。

rubyのメーリングリスト見てると、文字コードに依存しないような作りを目指しているようなので、このような実装になっているようですが、システムの環境にあわせて入出力する文字コードのデフォルト値を変更できたり、環境変数で設定できればもっと実用的な言語になるのになぁって思います。

なにか良い方法を考えてみた。

rubyのラッパーを作って入出力を変換させる方法やluitのようにターミナル上で翻訳する→便利だが作るのが面倒。(誰か作らない?)

ターミナルを捨てて、Webアプリにして、ブラウザとやりとりする→手軽に使えない・・・

うぅ・・・ やっぱりrubyでも内部処理はUTF-8で統一して入出力変換できるようにして欲しい。

参考 : FAQ:日本語の取り扱い
: Rubylist Magazine


vim-rubyのインストール@cygwin

昨日はDebian上でのvim-rubyインストールについて書いたが、今回はcygwin上。手元のマシンがWindowsなので、Windows上でも同じように使えたら便利だと思い挑戦。

rubyのライブラリの管理コマンド”gem”のインストールはこちらに書いているので省略。その他ruby関連のパッケージはあらかじめ入れておかないと失敗するかもしれないです。

# gem install vim-ruby
# vim-ruby-install.rb     ← /bin にあるので、そのまま実行できます。

デフォルトのvimはrubyインタフェースを実装していないので、対応版をインストールしたいところですが、Debianのように用意されていないので、自分でコンパイルする必要がありそうです。

# wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2     ← ソースのダウンロード
# tar xvfj vim-7.2.tar.bz2
# cd vim72

vimのconfigureをする時のオプションを指定。GUIを使わないようにしておかないと、vimの起動がめちゃくちゃ遅くなります。ruby有効は–enable-rubyinterpを指定。

# ./configure --enable-rubyinterp --without-x --disable-gui  --with-features=big

成功したらコンパイル

# make
# make install

インストール済みのvimを待避し、新しいvimを使うようにシンボリックリンクをはる。

# cd /usr/bin
# mv vim.exe vim.org.exe
# ln -s /usr/local/bin/vim.exe vim.exe

rubyインタフェースが有効になっているかどうかは以下のように +ruby になっていればOK。

# vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Aug 24 2008 11:00:00)
Compiled by mazn@localhost
Big version without GUI.  Features included (+) or not (-):
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+float +folding -footer +fork() -gettext -hangul_input +iconv +insert_expand
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap
+menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript
+printer -profile -python +quickfix +reltime +rightleft +ruby +scrollbind
+signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save
   system vimrc file: “$VIM/vimrc”
     user vimrc file: “$HOME/.vimrc”
      user exrc file: “$HOME/.exrc”
  fall-back for $VIM: “/usr/local/share/vim”
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2       -I/usr/lib/ruby/1.8/i386-cygwin
Linking: gcc   -L.   -L/usr/local/lib -o vim.exe       -lm -lncurses  -liconv      -lruby

vim-rubyインストール@Debian etch

vim-rubyを使うとrubyのプログラム編集で、補完機能を使うことができるらしい。これは便利!ということで、早速インストール。

rubyのライブラリの管理コマンド”gem”が入っていない場合はインストール

# apt-get install rubygems

デフォルトのvimはrubyインタフェースを実装していないので、対応版をインストール

# apt-get install vim-ruby

vim-rubyのインストール。上記と名前は一緒ですが、今回はrubyのvimのライブラリです。

#  gem install vim-ruby

これは、インストールスクリプトが用意されるだけですので、これを実行します。vim-rubyを使用するユーザで実行してください。

$ /var/lib/gems/1.8/bin/vim-ruby-install.rb
Possible Vim installation directories:
        1) /home/mazn/.vim

Please select one (or anything else to specify another directory):  ←1を入力

さらに/etc/vim/vimrcを編集。以下を追加

filetype on
filetype indent on
filetype plugin on

これで、編集中にCtrl-x Ctrl-oを押すと 補完がききます。オムニ補完っていうらしい。さらに、キーバインドを変更するには、以下のようにvimrcを設定することで可能です。ここではCtrl-kに割り当てています。

imap <C-k> <C-x><C-o>

参考 : http://d.hatena.ne.jp/Chisei/20071203/1196692812