往路あさま550号。来る途中の七瀬の五叉路にさしかかる直前の路上に,車に轢かれて首がない猫の死体が転がっていたのをみて世の無常を感じた。猫を轢いた車のドライバーは,直接衝撃があっただろうから,心の痛みを感じただろうか。
今日で定期券が切れるので,6:50に駅に着いたのを幸い,明日から継続の定期券を購入した。長野駅でFREX定期券を買うといろいろな粗品が貰えるのだが,今日のは,はっきり言ってハズレだったと思う。ミニライトつきのアラームトラベルクロックで,単4乾電池1本で動作し,アラームは4段階の音がでるとかいう触れ込みなのだが,大変残念なことにアラームの設定がほとんどデタラメなのだ。眠ってしまった場合に備えて,8時過ぎに上野に着く前に目覚めようと8時と9時の間,やや8時寄りのところに赤い針をセットしたのだが,7:02,あさま550号の発車直前に鳴ってしまうようでは,使い物にならない。そもそも,腕時計に優秀なアラーム機能はついているし,自転車のライトをいつも持っているので,仮に使えたとしても無意味な代物だったのだが。うーん,これは子どもにでもやるしかあるまい。
車内では,講義のフォローのhtml化を完了した。後は今日一日で,ミーティングの準備を終えれば,とりあえずノルマはこなせることになる。本当は,それに加えて,論文や本の原稿を書くという作業をしたいのだが。
予想外の入力があった場合のエラー処理をそれほど気にしなくて良ければ,フィルター程度のプログラムは5分で書けるのだが,意外とweb上に転がってはいないものだ。竹内君の巨大なデータの途中を見るために書いたプログラムも,作るのに5分はかからなかったと思うが,ソースを載せておくと誰かの役に立つかもしれないから載せておこう。gcc (Mingw32とかcygwinとかdjgppとか)ならもちろんだが,MS-DOSの頃のLSI-C86試食版程度でもコンパイルできるし,DOS時代のマシンでも動くくらいしかリソースは要求しない筈である。
#include <stdio.h> #include <stdlib.h> static char buf[65536]; int main(int argc, char *argv[]) { long begin, end, lc=0L; if (argc<2) begin=1; else begin=atol(argv[1]); if (argc<3) end=99999999L; else end=atol(argv[2]); while ((fgets(buf,65535,stdin)!=NULL)&&(lc<end)) { lc++; if (lc>=begin) fputs(buf,stdout); } return 1; }
予定の3/4くらいの進捗度だったが,疲れたので終電1本前で帰途に着いた。座れたので,ほとんどずっと眠っていた。