2010年12月24日金曜日

ノートパソコン25周年

 東芝がノートパソコンを開発してから、今年(2010年)で25周年になる。東芝から届いた案内状によれば、東芝科学館でPC企画展が(2010年12月18日~2011年1月29日まで)開催されているとのことである。「-東芝ノートPC25周年-“できない”から“できる”へ変わった ~未来へ進化し続ける東芝ノートPC~」とある。2010年までで累計販売台数は1億台になるという。

 上記の案内状添付のパンフレットには、代表的な機種の発表年と機種名、そしてその写真が載っている。その内の多くは、私の「My Personal Computer Show」の欄に掲載されているものである。少し誇らしく思っている。

(1) 1985年 T1100
(2) 1986年 J3100
(3) 1989年 DynaBook J3100 SS001
(4) 1996年 Libretto 20
(5) 1997年 DynaBook TECRA 750DVD (なし)
(6) 2004年 Qosmio
(7) 2008年 DynaBook SS RX
(8) 2010年 DynaBook R730 (なし)

 ただ、残念ながら(5)と(8)だけは持っていない。何時か手に入れたいものであるが、今からTecraを手に入れるのは難しかろうと覚悟している。

 この企画展の紹介記事が12月19日の朝刊に掲載されて以後、私の「世界初のノートパソコンT1100(私の宝物)」欄へのアクセスが急増していることに気が付いた。普段だと、日に5~10件程度のアクセスしかないので、私はアクセスログを詳細に解析したりして楽しんできたのである。アクセスログを解析すると興味深いことが色々と分かる。どのようにしてこの辺鄙なサイトを見つけてくれたのか、ある程度の推測ができるからである。大抵は検索エンジン経由であり、ホームページ経由のものは滅多にない。どんなキーを使って検索しているのかも分かる。

 今までの、日に数件程度の状態ならアクセスログを目視するだけで解析は済んでいたが、18日以降の急増のためにアクセスログは目視が困難になるくらいの量になってしまった。そこで、使い慣れたPerlで、必要な個所だけを抜き出してくるプログラムを作ることにした。こういう時、Perlって本当に便利ですね。私はアクセスログから1行ずつ取り出してきて、その行に対し次の処理を行うことにした。

(1) "?" を含む行なら残す
(2) "cgi"を含む行なら捨てる
(3) "http...."を含む行なら残す
 という作業をし、最後に残った行の
(4) "http...."の部分だけを出力する

 これでアクセス部分のみを取り出して見ることができるようになった。
この結果、アクセスの方法、検索に用いたエンジン名、検索の際に用いたキーワード等が明瞭になる。
アクセス回数の変化のみを一覧にしておこう。



アクセス
176
1856
19269
2091
2187
2277
23513

しばらくすれば平常に戻るのではないだろうか。
【追記】本文のリライト版【素歩人徒然】「ノートパソコン25周年」も参考にしてください。

2010年11月17日水曜日

ネット世論

 インターネットが普及して以後、“ネット世論”という言葉がよく使われるようになった。ネット世論(つまり、ネット上で大勢となっている意見)が世の中の意向を正しく反映しているかと言えば、それは明らかに否であろう。インターネットを利用する人達の中のほんの一握りの人達が、掲示板やブログ上で発言しているだけかもしれないのだ。その一方で、大多数の人達は沈黙してそれを見守っているだけ(ROM:Read Only Member)というインターネットの世界特有の現象を正しく理解しておく必要がある。場合によっては、同一人物が名前を変えて同じ主張をあちらこちらで流している(MultiPost)こともある。

 このことを、私は大学の講義の中で取り上げようとしたのだが、その説明をする前に「世論」という字を示して「普段、これを何と読んでいますか?」と学生達に尋ねてみた。すると全員が「よろん」と読むと答えたのである。別の読み方をしている学生は一人もいなかった。これは予想通りの結果ではあったが、全員がそう読んでいたのは意外であった。私は「これは“せろん”と読むのだと思いますよ」と少し控えめに述べ、それから本論へと移ったのである。

 なぜこのような質問をしたかと言うと、それは世の中の人達が(メディアも含めて)“世論”(せろん)を「よろん」と読んでいるらしいと最近になって気が付いたからである。今頃気付くとは随分ととろい話だと思われるかもしれないので、もう少し正確に書いておこう。そう発音している人が多いという事実は以前から承知していた。しかし「せろん」と読んでいる人がほとんどいないという事実に気が付いて、これは問題だと意識し始めたというのが正確なところである。多分貴方(女)も“世論”を「よろん」と読んでいるはずです。違いますか?

 私が“世論”という言葉に出会ったのは、正確には思い出せないが、中学生か高校生の頃ではなかったかと思う。その時、最初は「よろん」と読んだが、“与論”という言葉もあることを思い出し辞書で調べてみることにした。すると、手持ちの国語辞典には「せろん」と読むと記されていた。世論と与論の意味の違いを、私はこの時に学んだのである。以後、私は「世界のセ」と心の中で唱えながら「せろん」と正しく読めるようになろうと自分自身を鍛えてきた。
 したがって“ネット世論”という文字に出会っても、私は何の疑問も抱かずに「ネットせろん」と心の中で発音しつつ読んでいたのである。しかし、これがどうやら世間の動向とは著しく異なっているらしいことに気が付いた。それはテレビニュースのキャスターが「よろん」と発音しているのに(私は当然“与論”と解釈した)、画面上では“世論”という文字が表示されていたからである。これまでは「あれまぁ、また表示を間違えて・・・」と思いつつ、そのままにしていたのだが、テレビキャスターまでもが!「よろん」と発音している事実に気が付いて心底驚いたのである。

 これは見過ごしにはできない問題であるように思えてきた。
 与論(よろん)とは、公的な関心事について理性的な討議・討論を重ねた末に導き出された社会的な合意(public opinion)のことであり、合意に至るまでには当然長い時間が必要である。逆に、一度確立されると簡単には覆らない。ある程度の期間は批判に耐え得るものであると言えよう。昔は“輿論”と表記していたが、漢字制限の影響で“与論”という字が使われるようになった。

 一方、世論(せろん)とは、情緒的な私的心情であり、一般大衆の気分あるいは人気(popular sentiments)に基づく意見・感想のようなものである。よくよく考え抜いた末の見解ではないので、時間とともに変化しやすいと言えるであろう。
 最近は、世論(せろん)を「よろん」と読む人が増えたせいか、辞書には世論の項に“慣用読み”として「よろん」という読みも加えられている。このことを知っていたので、私は学生に対して「せろんと読むのだと思いますよ」と控えめに話しておいたのである。

 この解釈に従うと、総選挙の結果のようなものは国民が考え抜いた末に投票という行為を通じて意志表示したもので、その結果は与論(よろん)と呼んでも良いのではないかと思う。したがって、少なくともその任期の間は政権が維持されてしかるべきものであろう。
 それに対し、数か月毎にメディアが実施する内閣支持率調査などの結果は、世論(せろん)と呼ぶべきものである。支持率調査の対象にたまたま選ばれて突然電話を通じて意見を求められても、十分な考察もせずに世の中の空気を読んで適当に回答している人が多いのではないか。それなら、これは人気投票に過ぎない。「あの人はKYだ」などと言って、空気が読めない存在になることを極端に恐れている人達にとって、単なる人気調査をされたに過ぎないのである。

 若い世代の人達が、世論を「よろん」と読むようになったのは仕方ないとしても、世論と与論の本当の意味の違いだけは理解していてほしいと思う。更には、ネット世論と世論の違いの方も当然理解していなければならない。国民が良識ある判断を下せる手掛かりとなるのは、信頼性の高い順に書くと 与論 > 世論 > ネット世論 の順になるのではないかと思う。

 日本の政治の貧困は、政治家が与論ではなく世論(せろん)ばかりを気にして政治を行っているからではないか。中にはネット世論を、世論あるいは与論と勘違いして、自分は若者の間で人気があると思い込んでしまった首相もいた程である。その結果、人気投票のランク付けのように、首相が毎年交代するような国になってしまった。政治の貧困は、このような国語力の低下、つまり言葉の意味の取り違えから端を発しているとすれば、国民にもその責任の一端はあるのかもしれない。

 最近話題の尖閣諸島領有権問題でも、中国のネット世論を中国の与論と勘違いして大騒ぎしているメディアが多い。騒ぎ過ぎではないか。日本のような言論の自由が(比較的)保障されている環境では、信頼度の高い順に 与論 > 世論 > ネット世論 となろうが、言論の自由が認められていない独裁体勢の環境下では、官製の“えせ与論”、“えせ世論”がはびこっていて、我々の参考にはならない。我々が国民の生の声に接することができるのは、ネット世論しか存在しないことになる。そういう国のネット世論の信頼度を、我々はどう解釈したらよいのだろうか。私には皆目分からないのである。
【追記】本文のリライト版【素歩人徒然】「ネット世論」も参考にしてください。

2010年10月20日水曜日

いつでも充電、いつでも充電

 後期の授業が始まった。都心のキャンパスで担当している情報倫理に関する講義では、パソコン画面をスクリーン上に拡大表示するためのプロジェクター装置が、毎年何らかのトラブルを引き起こしている。最初の授業の時ばかりでなく、毎回の授業で私は内心ハラハラさせられているのである。

 今年の授業では、運良く何事も起こらず機器は順調に動作しているようであった。ところが、授業の途中で突然電源が落ちてしまったのである。慌てて担当者を呼び、何とか修復してもらい再び授業を続けることができた。ブレーカーのスイッチが落ちていたのが原因とのことであった。
 ところが次の授業の時も、再び途中で突然電源が落ちてしまったのである。今度も設備担当者を呼び、同じように修復してもらうという手順が繰り返された。最初の時は、原因の追求よりも授業の進行に気を取られていたので、通電すればそれで良しとしてしまったが、今度は、それではいけないと感じたのである。そこで授業が終わってから、大学側に原因の徹底的な調査と教室の変更とを申し入れることにした。

 後日その調査結果が知らされた。その報告によると、問題の教室は隣りの教室と一体となって電源管理されており、設置されているAV機器の容量を満たすだけの十分な電力が供給されていることが確認された。しかし調査した電気技師の経験から、多くの場合学生達が教室のコンセントから自分の携帯電話やゲーム機などに充電しているのが原因となってこの様なことが起こるのだという。

 俄かには信じがたい指摘ではあったが、冷静に考えるとこれが現実なのかもしれないと思うようになった。私の身の回りでも、暇さえあればケータイをコンセントにつないで充電している姿を見かけるようになっていたからである。「いつでも充電、いつでも充電」というわけである。
 電車の中などでケータイを夢中になって使っている人をよく見かけるが、一体彼らはどこで充電しているのだろうと、ふと思ったことがあった。授業中に充電できたとしたら、さぞ便利なことであろう。いや、授業中に充電するというよりも、充電中に時々授業を聞くというのが最近の流行りなのかもしれない。それを知らないのは、ケータイに呪縛されない生活を送っている私めのような人間だけなのかもしれない。

 大学の施設の電源コンセントから許可なく私用のケータイに充電するという行為は、明らかに盗電である。“窓ガラス理論”にしたがえば、このような不正行為を見逃すべきではない。しかし教育の場では、その犯人を捕まえることよりも、教室を変更してそういう不正行為が行えないような環境にすることの方が穏当な解決策ではないかと私は思ったのである。

【追記】本文のリライト版【素歩人徒然】「盗電」も参考にしてください。

2010年9月15日水曜日

ファイル保存よりも環境保存

 長年に渡ってコンピュータを使い続けていると、その間にマシンのトラブルに巻き込まれる機会もそれだけ多くなる。昔はそれほど頻繁にマシントラブルに会うことはなかったような気がするが、コンピュータの性能が良くなり高度で精密機械として扱われるようになると、ハードウェアが故障する頻度もそれだけ高くなってきているのではないかと思う。

 マシントラブルに遭遇した時、一番に心配になるのは直前まで扱っていたファイルの安否であろう。今まで営々と時間と労力をかけて作成してきたファイルが、破壊されたり失われてしまうかもしれないのである。あらかじめ外部メディアに保存するなりの対策をしておけば良かったと思っても、もはや手遅れであることが多い。誰でも、以下に示す「ソフトウェアの法則」【ファイル破壊の予知法則】を知っていればよかったのに、と思うに違いない。

【ファイル破壊の予知法則】
 ファイル破壊の事故は、常に「ファイルを保存したい」
と熱烈に思う直前に発生する。


 コンピュータを故障させずに長く使い続けるコツは「コンピュータを長持ちさせる法」で紹介したとおりである。つまり
 ・定期的に使い続ける
 ・できるだけソフトウェアを変えない
 ・愛情を持って取り扱う
であるが、この他に、もう一つ重要なのが
 ・スリープ機能を多用しない
ということではないかと最近感じている。

 Windows Vista がリリースされた時、そのシステムの立ち上げに随分と時間が掛かり不評だった。その対策として、私はスリープ機能を多用するようになった。夜、コンピュータを使い終わってもシャットダウンせずに翌朝までスリープ状態にしておくのである。翌日、すぐ立ちあげられるので便利ではあったが、そのためか故障しやすくなったように思う。スリープ状態にしておいて、いざ使おうとマシンをウエイクすると、コンピュータ本体がかなり高温に保たれていることが多いからである。このスリープ機能のために故障したと言いきるだけの確実な証拠はないが、基板上の多くの部品が長い時間高い温度のままで放置されていたのであるから保守上望ましい状態にあったとは言えない。それ以来私は、夜コンピュータを閉じる際は必ずシャットダウンするようになった。そして翌朝コンピュータに触れた時、本体からひんやりとした感触が返ってくると何かほっとして「よし、いいぞ」と思うのであった。

 さて、本論に戻ろう。大切なファイルを失わないためには、日頃からファイル保存の習慣を身に付けておく必要がある。そのための手段として、ファイルのバックアップユーティリティーが用意されているのが普通である。私もその類いのソフトウェアを何度か使ったことがあるが、結局長続きしなかった。操作が面倒で時間がかかるからである。この種のソフトウェアは大抵はファイルを保存することしか眼中になく、個々のファイルを復元する作業は利用者まかせであることが多い。私の経験では元の状態に復元するのにかなりの努力と時間を必要としている。

 マシンが(修理依頼しなければならないような)致命的な故障をした場合、普通は修理に1~2週間はかかるのを覚悟しなければならない。その間は別のマシンで代行しなければならない。そのマシン(もしあれば)への移行作業を迅速に行えるかどうかが一番の問題になるのではないかと思う。毎日行う作業、たとえばメールの送受信などが数日間できないとしたら、これは大変なことになる。たとえば私の場合、迷惑メールが1日当たり200件程度は届くので毎日処理していないとメールボックスが満杯になり、受け取るべきメールも受信できなくなる恐れがある。大学の授業で使っているファイル、課題提出の管理、その他いろいろと、マシンが使えなくなったら大騒動になるのである。

 したがってファイル保存よりも、日々使っている自分の作業環境そのものを保存し、マシントラブルが起こったらすぐさま別のマシン上で同じ作業環境を動作させ継続的に(もちろん最新のファイルを用いて)作業できるようにすることが重要になるのではないか。

 そこで私は、外付けの大容量ハードディスク上に、その日に変更したファイルや履歴を保存することにした。“外付けの”ハードディスクであることが重要な点である。
 保存すべきものは、
 (1)自分が作成したファイル(*1)
 (2)自分が使うアプリケーションのステータス(*2)
等である。
【注】(*1)更新日を比較して変更の必要があるものだけを保存する。具体的には、xcopy コマンドにスイッチオプションとして D を指定するとよい。
【注】(*2)各アプリケーションごとのステータス情報は AppDataディレクトリ(隠しファイル)以下に保存されている。どの場所に保存されているかは、その気になって探せはすぐ分かる。これも xcopy コマンドで必要なものだけを選んで保存するようにする。

 この作業を、毎日の終りにマシンを閉じる際のシャットダウンの直前に行うのである。2~3分で済むから何の苦にもならない。
 こうやって変更のあったものだけを保存していると、不要になり削除したはずのものが外付けのハードディスク上に残ってしまう。そこで毎月1回は、%USERPROFILE% 以下のものを robocopy コマンドを用いて保存し、最新の状態にしておく必要がある。

 私は「コンピュータを隠し持つ」で触れたように、普段使わないマシンがあるから、そのうちの1台をバックアップマシンとして利用することにした。そのバックアップマシン上に同じアプリケーションをインストールし、外付けのハードディスク上に前の晩保存しておいた(1)、(2)のデータを、毎朝リカバリしているのである。そうすると、バックアップマシンの方には必ず前の晩の状態がキープされているので、たとえ普段使うマシンが立ち上がらなくても、何の心配もないということになる。いや、やはり心配ではありますがね。

【追記】本文のリライト版【素歩人徒然】「環境の保存」も参考にしてください。

2010年8月23日月曜日

コンピュータを隠し持つ

 コンピュータ開発の黎明期の頃から、自分の家にコンピュータを備えるということは科学者や技術者にとって最大の夢であった。ソフトウェア技術者だった私めも、自分の家に自由に使えるコンピュータ(当時は電子計算機と称した)があれば、どんなに素晴らしいことかと夢想した内の一人である。

 コンピュータで何をやりたいかというと、数学の未解決の問題を解くために用いるのである。数学の世界には、まだ証明されていない未解決の定理が沢山ある。それを否定的に解くのに利用しようと思ったのである。つまり、その定理が間違っていることを示す例を一つでもいいから見つけ出せれば、一夜にして定理の解決者としての栄誉が得られることになる。否定的に解くのは、肯定的に解くよりもはるかに容易なことのように思われた。

 もし家にコンピュータがあれば、それを24時間連続稼働して未解決の問題を解くプログラムを動作させ、しらみつぶしに当たっていって答を見つけ出せばよいのである。そういうプログラムを作るのは自分の本業であるから、コンピュータを動作させる電気代のことだけ心配すればよかった。プログラムが昼となく夜となく解を捜し求めている間も、本人は遊んだり別の仕事をしていられるのだから楽なものだ。
 そう夢想していた時、私が空想の中でコンピュータを設置する積りだった部屋は6畳間ほどの広さであった。これは、その当時の中型のコンピュータが何とか納まる程度の広さである。

 時代は進んで、大型コンピュータによるタイムシェアリング全盛の時代には、家にテレタイプ型の端末を置くことを夢見たものである。公衆回線を使って職場(当時はアメリカの研究所にいた)の大型コンピュータを呼び出して使うのである。この頃にはもはや夢ではなくなっていた。端末は研究所からの借り物で、電話料金は(アメリカでは)基本料金で済むから負担にはならない。とにかく家でコンピュータを使えるようになったのである。しかし残念ながら借り物なので“私のコンピュータ”という実感は得られなかったし、日本ではまだまだ実現の難しい夢のような環境であった。

 時代は更に進み、マイクロコンピュータの出現によってパーソナルコンピュータ(パソコン)の時代になった。当初は、いわゆるマイコンを家に置いて、おもちゃで遊ぶような感覚で使っていたものだが、その後コンピュータの性能は飛躍的に高まり、普通のプログラム言語が使えるようになった。そして、再び自分の家に(おもちゃではなく本物の)コンピュータを備える夢が、実現可能な夢として再燃してきたのである。

 特にパソコンの出現は“私のコンピュータ”を沢山持つという贅沢な夢を現実のものとする上で大きな役割を果たしてくれた。もはや、設置場所として6畳間の空間など必要としないのである。私は、実に30台ものコンピュータを自分の家に“隠し持って”いた時代があった。なぜ(豪邸でもない)個人の小さな家に、30台ものコンピュータを隠し持つことができたのか。それはもちろん、私がコンピュータ開発という仕事に携わり、ハードウェアそのものを手に入れる機会に恵まれていたからであるが(詳しくは【素歩人徒然】「コンピュータショウ」参照)、最も重要な点は、コンピュータを隠す技術に長けていたからである。その隠す技術の中でも、特に重要なものはノートパソコンの発明にあるのではないかと思う。この技術の存在なくして、30台ものコンピュータを家人に知られずに家の中に隠し持つことなど不可能であったろう。

 家人の目を逃れるには、もちろん色々なテクニックを駆使しなければならない。デスクトップ型の大きなコンピュータを2~3台、所せましと並べて意識的に家人の不満をそちらに向けさせる。その状態を目くらましにして、残りのノート型のコンパクトなものは、家人の目に触れないように巧妙に隠すのである。応接間の大型ソファの下、椅子の下などが最適の隠し場所となる。本箱や押入の奥にさりげなく置くのもよろしい。一か所にまとめないで、いろいろな場所に散在させるのがコツである。本箱の本と本の間に縦にして置くのは、保守上からは勧められない。むしろ並べた本の上の空間に、水平に置くべきであろう。

 このような高度なテクニック(?)を使って隠し持っていたコンピュータは、古いもので、もはや動作しないものばかりであった。その後いろいろな事情があって、ほとんどの物を手放してしまったが、最近、また集めだしている。使い込んだ愛機を、壊れたからといって廃棄処分することができないのである。修理するとなると、大抵は基板の取り替えが必要となり5~6万円は費用が掛かる。これは新しいマシンを購入できる値段である。しかしそれでも修理して動作する状態にして保存したいと思う。私の書斎のデスク周辺には、そういう稼働するけれども特に使う予定のないマシンが、わさわさと存在するのである。このようにして台数が増えていくと、またぞろ“コンピュータを隠し持つ”ためのテクニックを発揮しなければならなくなるかもしれない。困ったことである。
【追記】本文のリライト版【素歩人徒然】「コンピュータと私」も参考にしてください。

2010年7月23日金曜日

日曜プログラマ

 英語には“Do it Yourself”と言う表現があるように、欧米では何でも自分でやったり、作ったりしようとする習慣がある。“DIY”と略記して、そういう生活態度や考え方そのものを指す場合もある。日本語では“日曜大工”がそれに当たるが、少しスケールが違うかもしれない。欧米では自分で家を建ててしまう人がいるくらいだから、日曜だけのお遊び程度では到底実現できそうにないものにも挑戦するようである。

 “昔プログラマ”を自称する私めも、会社勤めをしている頃は“日曜大工”ならぬ“日曜プログラマ”をしばしばやっていたものだ。定年後は、一応仕事は大学教師ということになっているが、ナニ毎日が日曜日(サンデー毎日)と言ってもよい状態である。であるからして、大掛かりに日曜プログラマができそうなものだが、もう若い頃のような大掛かりなソフトウェア開発を試みる気力は、残念ながら持ち合わせていない。

 それでも、日頃使い慣れたアプリケーションで少しでも使い勝手に不満が出てくると、すぐさまその解決策を求めてプログラム作りを始めてしまうのである。既存のソフトウェアに後から機能追加することを、普通“プラグイン”とか“アドイン”などと呼ぶ。追加したプログラムが、アプリケーションと連携して動作はするが、一体となって動作するわけではない場合はアドインとは呼ばない。単なる“ツール”と呼ぶべきであろう。
 最近のアプリケーションは、アドインされることを前提として設計されているものが多い。したがって、私めのような“老プログラマ”でも挑戦する場はたくさん存在するのである。

 私が作ったアドインソフト、あるいはツール類を以下簡単に紹介することにしよう。

(1)アクセス数の一覧表(ツール)
 私のホームページ内には、色々な場所にカウンターが設定されていて、そのページ内容がどの程度読者に読まれているか記録されるようになっている。最近は検索エンジン経由で(トップページを通らず)直接アクセスしてくる人が多いから、トップページにだけカウンターを設定しておいても意味がない。そのようなカウンター設定場所が年々増えていって、今では170個所を超えている。それらの個所をいちいち見ている訳にはいかないから、一覧表にして表示できれば便利であろう。そう思って作ったのが「Knuhsの書斎・アクセス数の一覧表」(図1)である。
 ①「タイトル」………掲示内容、
 ②「Access日時」……最近のアクセス日時、
 ③「Access数」………昨日までの総アクセス数、
 ④「最新値」…………現時点の総アクセス数

がそれぞれの列の枠内に表示される仕組みになっている。
 Access日時の表示がだとその日にアクセスされたことを意味し、だと前日にアクセスされたことが分かる。前日の記録からどう変化しているかが一目了然で分かるように工夫されている。

 このツールは、Perl言語で記述されている。出力はHTMLファイルで、ブラウザ上で結果を見ることができるようになっている。この表を毎朝最新のものに作り直してアクセス状況の変化を観察しているのである。時々刻々と変わっていくカウンター値(最右欄)を見るのは、なかなかのものである。

 このHTMLファイルは私のローカルなマシン上に置かれているが、実は、私のホームページ上にもこれと同類の“allcount.html”というファイルがあり、上記③が「月頭Access数」つまり「月始めの総アクセス数」に固定されて表示されている。これを見れば、月始めからどう変化しているかが分かるようになっている。 http://beam.to/knuhs で簡単にアクセス表示できるから、関心のある方は見てください。

(2)スパムメールの整理・後始末(アドイン)
 私めのところには、毎日200通あまりの迷惑メールが届く。メイラーのフィルター機能だけでは対処しきれないので、スパムメールキラーというアプリケーションを用いて一挙にそれらを排除することにしている。排除すると言っても、その中に間違って受け取るべきメールが紛れ込むこともあり得るから、一応は私的なごみ箱(1か月間は保管しておく)へ捨てる前にざっと目視で確認する必要がある。慣れてくると2~3分で済む作業である。

 スパムメールキラーでは、メールの発信月ごとに特定のフォルダー上にスパムメールをまとめてくれる。たとえば、2010年7月だと“201007”という名のフォルダーが作られ、その上に置いてくれるのである。新しい月の初日は“201006”と“201007”という二つのフォルダーに分けて保管してくれる。親切で、よくできた仕様だと思う。
 ところが、最近のスパムメールには発信日時を詐称するものが増えている。そうなると目視チェックを複数のフォルダー上で実施しなければならなくなり効率が悪い。そこで手作業で1つのフォルダー上にまとめてから目視チェックを行うことにした。面倒だがその方が早く済むのである。

 しかし発信日時を詐称するメールは増え続け、多い日には10個の偽フォルダーが作られたりする事態になってしまった。たとえば6月のある日の例では、

偽フォルダー名 詐称された年月(*1)
 200611    2006年11月
 201003    2010年 3月
 201004    2010年 4月
 201012    2010年12月
 202606    2026年 6月
 203006    2030年 6月
 203306    2033年 6月
 203406    2034年 6月
 203706    2037年 6月
 203801    2038年 1月
といった具合である。これでは手作業での対応は限界がある。そこで以下のようなバッチファイル(xmvfx.bat)をPerl言語で作りだすことにした。
【注】(*1)発信年月を詐称する(誤記する。あるいは“欺記する”と言うべきか)理由はよく分からないが、多分受信メールの一覧の先頭に表示させることを狙っているのではないかと思う。

●xmvfx.bat ファイルの内容例
@echo off
if (%1)==(1) %then% goto clear
move /y 200611\*.* 201006>nul
move /y 201003\*.* 201006>nul
move /y 201004\*.* 201006>nul
move /y 201012\*.* 201006>nul
move /y 202606\*.* 201006>nul
move /y 203006\*.* 201006>nul
move /y 203306\*.* 201006>nul
move /y 203406\*.* 201006>nul
move /y 203706\*.* 201006>nul
move /y 203801\*.* 201006>nul
echo:* 全メールを 201006 に集めました。
echo:* 内容をチェックしてください。
goto exit
:clear
echo:* 圧縮ごみ箱に移動してもよろしいですね?
pause
move /y 201006\*.* 圧縮ごみ箱>nul
cd 圧縮ごみ箱>nul
c:\tools\lha m 201007-pack *.txt *.001>nul
:exit

 これを
  xmvfx [Enter]  で呼び出せば一か所への“移動”を、
  xmvfx 1 [Enter] で呼び出せば“ごみ箱”へ、となる。
 この呼出し系列をスパムメールキラーのツールとして登録し、スパムメールキラーの中で利用するのである。もちろん、現在年月や詐称年月などは毎日変わるから、このバッチファイルも毎日作り直さねばならない。それを工夫するのがPerlプログラミングの面白いところである。ここでやりたい作業自体は一連のコマンド列で書き下せる程度のものだから、バッチファイルの形で簡単にツール類を作成しアドインできることになる。あなたも試してみませんか。

 ここで、ごみ箱の中身を圧縮したのは、スパムメールにはウイルスが付着していることが多いので、そのまま私的な“ごみ箱”に(少なくとも1か月間)置いておくと、ウイルス対策ソフトが「ウイルス発見!」と騒ぎ出すことがあるからである。圧縮したり、更にはパスワード付きで封印保管すれば万全であろう。

(3)ソースプログラム集(ツール)
 大学のプログラミングの授業で用いるプログラムのソーステキストを取り出すためのものである。毎回の授業に出席し、その場で指定された秘密のキー(*2)を入力すれば自動的にソースイメージが引き出せるようになっている。授業中にそのプログラムを用いて実行したり、改造したりして利用するためのものである。ただし、授業中しか引き出せないように工夫されているところがミソである(正確に言えば、その日の内なら授業の時間内でなくても引き出せるようにはなっている)。随分と意地悪な先生だと思われていることであろう。ただ、欠席して引き出せなかった学生も、プログラム自体は教科書に載っているのだから自分でシコシコとキー入力すればよいだけのことである。それ程意地悪とは思わないが、どうであろうか。
 このプログラムは、PerlとC/C++とを用いて作られている。
【注】(*2)この秘密のキーは、一定の規則に則って定められているが、今まで誰もそれに気が付いた学生はいない。

(4)課題提出状況の表示(ツール)
 授業では、毎週課題が出る科目もある。その回答を、期日までにメールで送付することになっているが、その管理が結構面倒なのである。少しずつプログラム化して自動処理化しようとしているところである。
 私は表計算ソフトで提出状況を管理しているが、学生の方も受理されたのかどうか知りたいから、提出状況の一覧がウェッブ上に表示されれば便利であろう。 そこで、私はメイラーから取り込んだデータをPerlで処理し(学籍番号と課題番号を抜き出す)、その結果を表計算ソフトへ入力する。表計算ソフトではVBマクロのプログラムを用いて管理表に登録(締切前か後か、1週間以上遅れているか等を判断)する。その一覧を定期的にHTML化して出力し、再びPerlで変換して表示形式を整えてウェッブ上にアップする。この一連の処理をPerlとVBマクロプログラムで半自動化しているのである。学生の回答が、締切日に遅れたり、誤って何度も同じ文面のメールを送ってしまったり(そういう例が結構多い)しても少しも驚かない体勢になっている。

 老プログラマにとって、アドインソフトやツールの作成は、ぼけ防止に最適であるように思う。

【追記】本文のリライト版【素歩人徒然】「日曜プログラマ」も参考にしてください。

2010年7月18日日曜日

書斎のテレビ

 最近、書斎で見るテレビをポータブルな物に入れ替えた。
 それまでは、パソコン1台でコンピュータ使用とTVを見るのとを兼用にしていたのである。コンピュータと兼用と言っても1セグのような解像度の悪い画面では満足できないので、普通のTVと同じ画質とサイズのものである。場合によっては、TV画面を小さくして(“ながら見”モード)コンピュータ作業を並行して行うこともできる。かねてから、こういう環境を構築したいと思っていたのでそれなりに満足して使ってきたのである。

 不満があるとすれば、TV画面の立ち上げに時間が掛かることであろう。使っているOSの Windows Vista の立ち上げには勿論時間が掛かるが、それはレジューム機能を利用してカバーすることができる。しかし、更にTV環境の立ち上げにもかなりの時間が掛かるのである。書斎に入って直ぐTVを見たいと思ってもそうはいかない。決定的な画面を見逃してしまうこともあるのを覚悟しなければならない。

 “ながら見”では、普通はメールチェックとか簡単な作業しかやらないから問題はないが、段々と複雑で大掛かりな仕事を始めてしまうことがある。それなら“ながら見”など止めればよいのだが、もともと「ながら族」なのでそれができないのである。特にTV側で録画の指定をした時などは、コンピュータ側で大掛かりな仕事をはじめてしまうとレスポンスが悪くなり、録画される画面の質にも影響してくることになる。

 これでは困ると思い、Windows 7 マシンが売り出されたのを機会に、もう1台コンピュータを購入してコンピュータ作業はそちらに移行させることにした。実は、意識的に移行させたのではなく、Windows Vista 環境より Windows 7 の環境の方が、はるかに使い勝手が良いので自然に使用環境が移って行ったというのが本当のところである。その結果、書斎の机の上は、左側に作業用コンピュータ、右側にTV用コンピュータという何とも贅沢(?)な環境になってしまった。大型の机なので2台も置くことができるが、このエコの時代にこんな電力の無駄づかいをしていてよいのだろうかという忸怩たる思いもあった。

 そこで、TV用コンピュータをやめて、専用のTVを購入して使用することにしたのである。電力もたいして掛からないし、見たい時には直ぐ電源オンできるのも良い。私の寝室にはTVを見る環境がないので、そちらで寝ながら見たい時は持って行ける程度のポータブルなものである。書斎で1台のコンピュータですべてを満たすという長年の夢は、実際にやってみると色々な問題があるということを学んだのであった。

【追記】本文のリライト版【素歩人徒然】「書斎のテレビ」も参考にしてください。