2010年11月12日

Gmailから携帯メールを使う(自前サーバ&iPhone回線持ち限定)

事の発端は、ひとりぶろぐでおなじみmoyashiさんのtwitterでのこんな呟き。
i.softbank.jp宛メールをfetchmailでGmailにリアルタイム転送 "i.softbank.jpとGmailの統合" http://bit.ly/aDNuRa
(http://twitter.com/hitoriblog/status/28971894276)

iPhone発売当時、SMS/MMSに対応しないiPhoneへの苦肉の策として導入されたi.softbank.jpというアドレス。私がiPhoneを手にした時はちょうどMMS対応するかしないかくらいのタイミングだったので、私自身はほとんど使っていないし、周りにも使っている人がいない(みんな覚えてもない?)という可哀想な子なのですが、このアドレスには実は他にはないすばらしい特徴があります。

・キャリア回線不要で使えるただのIMAPメール
・携帯各社の中では携帯メールとして認識されている


つまり、回線にも機材(端末)にも全く縛られないメールでありながら、「携帯メールのみ受け取り」と設定している相手にちゃんと届くメールなのです。これを活用しない手はない、とi.softbank.jpGmailを統合してしまったのが最初の呟きで紹介されていたblog記事でした。

これは私もやってみたい!と思い、記事の通りに設定を始めた(記事の内容が完璧なのでここでは省略…手抜きですいません)のですが、一つ困ったことが。紹介されていた手順では自分のサーバ内にメール送信をしてくれる人(sendmailとかですね)がいることが前提になっているのですが、私はその環境を持っていません。入れて入らないことはないのですが、出来れば送信サーバはGmailとか既存のサービスを使いたい…と思って苦悩していたら、SHIMI.INFOでおなじみ清水さんが「このスクリプト使ってごら〜ん」と助け船を出してくださいました。

str2imap.rb
#!/usr/bin/ruby

require 'net/imap'
IMAP_SERV = 'imap.gmail.com'
IMAP_PORT = 993
IMAP_SSL = true
folder = ARGV[0] || 'INBOX'
user = 'Gmailのユーザ名'
pass = 'Gmailのパスワード'
begin
  imap = Net::IMAP.new(IMAP_SERV, IMAP_PORT, IMAP_SSL)
  imap.login(user, pass)
  begin
    imap.examine(folder)
  rescue
    if folder =~ /[^\w]/ then
      folder = Net::IMAP.encode_utf7(folder)
    end
    imap.create(folder)
  end
  rawmail = ''
  STDIN.each { |l|
    rawmail << l
  }
  if rawmail.gsub(/[\n|\r]+/, '').length == 0 then raise 'NO data input.' end
  imap.append(folder, rawmail, nil, Time.now)
  imap.logout
rescue => err
  puts err.to_s
  imap.logout
  exit 1;
end
exit 0;

このスクリプトを/home/hoge(場所はどこでもいいですよ)に配置したら、.fetchmailrcを以下の通り記述します。

.fetchmailrc
set postmaster Gmailのユーザ名@gmail.com
set nobouncemail

poll imap.softbank.jp
proto imap
timeout 30
username i.softbankのユーザ名
password i.softbankのパスワード
idle
no mimedecode
keep
mda "/home/hoge/str2imap.rb"

あとはfetchmailを起動するだけ。
動きっぱなしになるので完全な裏起動にしましょう。
nohup fetchmail > /dev/null 2>&1 &

これでi.softbank.jpに送られたメールは即時にGmailに転送されます。

これならSIMなしの端末からでもメール送れるし、そもそもどの端末、どの回線を使っているかを全く相手に意識させずにこちらが自由に振る舞える。これはある意味真のMNPかも。全キャリア共通でIMAPなメールサーバ作ってくれないかなー。

moyashiさん、清水さん、いのたん♪さん、どうもありがとうございました!

管理人の部屋: i.softbank.jpとGmailの統合
http://gtbleds18.blogspot.com/2010/04/isoftbankjpgmail.html

Togetter - 「i.softbank.jpをGmailに統合するための試行錯誤」
http://togetter.com/li/65323
posted by 月水和尚 (とも) at 15:36 | Comment(0) | TrackBack(0) | iPhone/iPod Touch

2009年06月24日

オフラインでWikipedia検索 Returns!

今さらかもですが、AppStoreでEBPocket free for iPhone/iPod touchを発見!
小躍りしながらインストール。おぉ、動く動く!!

大喜びした勢いで、以前作ったオフラインWikipediaを再作成することにしました。基本的な手順は以前書いた

オフラインでWikiPedia検索
http://bird-memo.seesaa.net/article/88022281.html

と大きく変わりませんが、私の使ってるディストリビューションがGentooからubuntuに代わり、使用させていただくツール類もバージョンが上がっていたので、未来の自分のために改めてメモ。以前の記事で触れた部分は適当に端折って書いてしまうのでご注意下さい>未来の自分。

−重要な追記:2009/06/25−

ubuntu 9.04のperlは64bit整数型(USE_64_BIT_INT)がサポートされていないため、変換作業の最後の方で処理が異常終了してしまいます。perlをセルフビルドしない限り解決策はなさそうです…残念。

ウィキペディアの辞書化 その2 - はけの徒然日記
http://d.hatena.ne.jp/hake/20090516/p1

−重要な追記:ここまで−

まずは下準備として必要なパッケージを導入しておきましょう。今現在の私の環境で追加が必要だったのは zlib1g-dev / perlmagick / mimetex の3つ(とその関連パッケージ)でした。後者2つは数式を含めない設定にすれば必要ないはずです。
sudo apt-get install zlib1g-dev perlmagick mimetex

ビルド環境が整ってない場合はそれも整えておきましょう。(導入するのって build-essential でしたっけ?)

続いてツールの準備。まずは変換ツールであるwikipedia-fpwを導入します。現時点で最新版のファイル名はwikipedia-fpw-20090428-src.tar.gzでした。ダウンロードして、適当な場所に展開します。(私は/workにしました)
cd /work
wget http://ikazuhiro.g.ribbon.to/dic/files/wikipedia-fpw-20090428-src.tar.gz
tar zxvf wikipedia-fpw-20090428-src.tar.gz

ツールのディレクトリとしてwikipedia-fpw-20090428が出来上がります。中に wikipedia-fpw.conf という設定ファイルがあるので、必要に応じて修正します。私が変えたのは以下の2箇所です。
'mimetex' => 'mimetex',
'math_black' => 0,

それ以外の場所はお好みでどうぞ。

続いてJIS X 4081 形式の書籍データ生成ツールであるFreePWINGを導入します。現時点での最新バージョンは1.6でした。以前の手順ではwikipedia-fpwの作者様が作成したパッチ適用版を使用させていただいておりましたが、該当パッチは全て本家FreePWINGにマージされたそうです。
導入は普通のビルド手順どおりなので一気に行きます。
cd /work
wget ftp://ftp.sra.co.jp/pub/misc/freepwing/freepwing-1.6.tar.bz2
tar jxvf freepwing-1.6.tar.bz2
cd freepwing-1.6
./configure
make
sudo make install

最後に辞書の圧縮ツールとしてEB Libraryを導入します。現時点での最新バージョンは4.4.1でした。
導入はこれまたお作法通り。
cd /work
wget ftp://ftp.sra.co.jp/pub/misc/eb/eb-4.4.1.tar.lzma
tar xvf eb-4.4.1.tar.lzma --lzma
cd eb-4.4.1
./configure
make
sudo make install

これで準備完了。いよいよデータの入手と変換に入ります。

まずはデータベースダウンロードのページから最新版のデータを入手します。必要なのはjawiki-latest-pages-articles.xml.bz2というファイルになります。

これを書いている時点でのファイルサイズは938.3MBととっても巨大です。覚悟してダウンロードしましょう。あとダウンロードするファイル、変換するための中間ファイル、最後に出来る辞書ファイルで10GB前後のディスクを消費します。それなりの空きスペースを確保しておきましょう。

ダウンロードして展開し、先ほど準備したwikipedia-fpwのディレクトリに移動します。その際ファイル名は wikipedia.xml に変更しておく必要があります。
cd /work
wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
bzip2 -d jawiki-latest-pages-articles.xml.bz2
mv jawiki-latest-pages-articles.xml wikipedia-fpw-20090428/wikipedia.xml

では変換作業に入ります。wikipedia-fpwのディレクトリに移動し、以下のコマンドを実行します。
cd /work/wikipedia-fpw-20090428
fpwmake
fpwmake catalogs
fpwmake package

変換にはかなりの時間がかかります。環境にもよりますが、4時間とか5時間とか。慌てず騒がずのんびり待ちましょう。カタログ作成は一瞬、パッケージの作成は最後のZIP圧縮に結構時間がかかります。ただZIP書庫はどうせあとで解凍するので、ZIP書庫作成の段階に入ったらCtrl+cで処理を止めちゃってもOKです。

さて、辞書ファイルが完成したら辞書の圧縮を行います。ZIP書庫が完成してしまった方はあらかじめ解凍しておいてください。ここまでの作業でカレントディレクトリにWIKIPというディレクトリが出来ていると思いますが、これが辞書ファイルの格納先です。ここに移動して、辞書の圧縮を実施します。
mkdir /work/wiki-ebzip
cd WIKIP
ebzip --level 5 --output-directory /work/wiki-ebzip

これでお終い。

作業自体は簡単ですが、とにかく待ち時間が長いです。出来るだけ時間に余裕があるときに実施されることをお勧めします。変換作業などは夜にスタートしてそのまま寝ちゃうくらいでいいかもしれません。

ツール作者の方々に感謝いたします。ありがとうございました。
posted by 月水和尚 (とも) at 16:05 | Comment(0) | TrackBack(0) | iPhone/iPod Touch

2009年06月22日

iPod Touchで電子辞書 - もし専用機と戦わば -

iPod Touch関係の情報源としていつもお世話になっているAppBankさんに、キャンペーンで「ウィズダム和英・英和」の購入資金を援助していただきました。(ありがとうございます!)

早速購入していろいろと使ってみたのですが、AppBankさん他いろいろな方々が絶賛している理由がよく分かりました。検索のしやすさ、結果の見やすさ、なぞり検索によるジャンプなど、使っていて本当に「便利だぁ」と思わせられる事ばかり。各所での高評価も頷けます。

iPhoneユーザによるiPhoneアプリとしてのレビューはAppBankさんを始め秀逸なものがたくさんありますので、私はちょっと見方を変えて、非iPhoneユーザが新規に電子辞書を購入する事を想定して「iPod Touch + ウィズダム和英・英和」vs「電子辞書専用機」という形でレビューを書いてみたいと思います。勝ち負けを決めると言うよりは、両者のいいところ、得手不得手を洗い出せたらいいなと思ってます。使えるコンテンツ数は今回評価対象にはしない事にしました。最近の専用機は辞書が100入ってるとかちょっと尋常じゃないので。あくまで英語の辞書としての勝負という事でよろしくお願いします。(一部国語辞典だけは触れますが)

(長いので続きは折り込みます)
posted by 月水和尚 (とも) at 02:47 | Comment(0) | TrackBack(0) | iPhone/iPod Touch

2008年08月21日

Touch the future!

い、いや、あの、つい出来心で…。

touch.jpg

発売当初からずっと気になってはいたのですが、

・あんまり音楽を聴かない
・ほとんどテレビを見ない

という私にはちょっと違うよな、と自分に言い聞かせてずいぶん頑張ってたんですけどねぇ。隣の先輩に目の前でポチられるってのは想像以上に攻撃力が高かったです。

ただ私にとってラッキーだったのは、購入時点でiPhone 2.0 ソフトウェアアップデートNuevasyncが存在したこと。Googleカレンダーとネットワークで同期(所謂OTA同期)できるPDAを探していた私にはばっちりツボに入りました。

だもんで、購入してからしばらくは完全にPDAとして使ってました。ヘッドフォンを刺したのが使い始めて2週間過ぎた頃というあたりが終わってます。上記どちらが欠けても、ちょっと遊んだら飽きちゃってお蔵入りコースだったかもしれません。

ちなみに新品ではなく、整備済製品の8GBモデルを買いました。ちゃんと1年保証が付いて39%オフですから、これはお得だと思います。ちょっと前までは入荷してもすぐ売り切れてしまっていましたが、最近は安定して在庫があるようですね。(在庫がある=それだけ初期不良交換が発生してるって事なので、喜んでいい事なのかどうか分かりませんが…)

ぼちぼちと使っていきたいと思います。
posted by 月水和尚 (とも) at 14:00 | Comment(10) | TrackBack(0) | iPhone/iPod Touch