標準ドキュメントを読み進めないといけないので、iPodの「ノート」で持ち運べるようにしてみました。これで通勤電車の中でも読み進めることができます。文字が小さいのが欠点ですが、そこは若さでカバーするという方向性で。
iPhoneを購入すればネットワーク越しにドキュメントを読めるようになりますが、生憎と私はauユーザーです。そもそも、地下鉄通勤だと電波が使えないので、ローカルに保存した方が何かと都合が良いのです。パケット代もかかりませんしネットワークによる遅延もありません。
というわけで、iMacにiPodをつないでシェルスクリプトを実行するとRFCドキュメントをiPodに転送できるようにしました。
iPodのノート機能では一つのテキストファイルは4KBまでしか表示されないので、適当なファイルサイズに分割する必要があります。バイト長をいちいち計算しても構わないのですが、RFCの文書では改頁記号(バックスラッシュ+F)を使ってくれているので、これで頁毎にファイルに保存することにします。
MicrosoftのWordが普及した現在だとテキストファイルは見栄えがしませんが、こうして様々な機器に簡単に転送できますので、定型のフォーマットを決めておくことは大事だと思いました。
########################################
使い方
「rfc2ipod.sh」の「IPODNAME」を変更すればMacだと利用できると思います。Windowsの場合はそもそもシェルスクリプトが使えないのでcygwinとかが必要ですが、「IPOD」の部分を変更すれば多分大丈夫だと思います。
- 「split-by-page.awk」と「rfc2ipod.sh」を適当なディレクトリに保存します。
- 「rfc2ipod.sh」に実行権限を付加します。
- iPodを接続します。
- コマンドを実行します。
デスクトップにショートカットアイコンを作成すると簡単に実行できそうですが、引数を与える方法が分かりません...AppleScriptとかだと簡単にできるのかもしれませんが、これはいつか気が向いたときにでも。
HTTP-1.1に関するRFCを取得する方法は次のようになります。
$ chmod +x rfc2ipod.sh
$ ./rfc2ipod.sh 2616
読み終わったら掃除します。
$ ./rfc2ipod.sh clean
########################################
split-by-page.awk
{
split(FILENAME, filename, ".")
if($0=="\f" || !output)
output = sprintf("%s-%03d.txt", filename[1], ++page);
else
print $0 >> output;
close(output)
}
rfc2ipod.sh
#!/bin/sh
##
# @file rfc2ipod.sh
# @author Kitazaki, Shigeru
# @see http://developer.apple.com/ipod/iPodNotesFeatureGuideCB.pdf
# @brief Retrieve RFC document via HTTP,
# and split document into page by page.
# This is useful to save in iPod, which is
# restricted 4KB for one text file.
END_POINT=http://www.ietf.org/rfc
SPLITTER=split-by-page.awk
IPODNAME=KSHIGERU
IPOD=/Volumes/$IPODNAME
if [ -n "$1" ];
then
case $1 in
[0-9]*)
if [ -d $IPOD ];
then
doc=rfc$1.txt
wget -O $doc $END_POINT/$doc
awk -f $SPLITTER $doc
mv rfc$1-* $IPOD/Notes
else
echo No iPod device in \'$IPOD\'.
fi
;;
clean)
rm -f rfc*.txt
if [ -d $IPOD ];
then
rm -f $IPOD/Notes/rfc*.txt
fi
;;
*)
echo Enter valid number.
;;
esac
else
echo Usage:
echo '\t' $0 RFC-number
echo '\t' $0 clean
fi
0 件のコメント:
コメントを投稿