Hatena::ブログ(Diary)

hatena.utashiro.com このページをアンテナに追加 RSSフィード

[ ]

2011-12-22

Unicode 対応版 romkan.pl

https://github.com/kaz-utashiro/romkan

 住所録は1980年代に書いた自分のスクリプトで管理していて、年賀状の宛先もこのリストから作る。一時期は Mac 用の年賀状ソフトを使っていたこともあり、スクリプトで生成した csv ファイルを流し込んで印刷した。裏面はどうせ自分で作るので、毎年新しくする必要はない。郵便番号が7桁になっても古いバージョンをなんとかして使い続けたが、Intel Mac になったらさすがに動かなくなった。新しいソフトを買おうかとも思ったが、必要ない気がして最近は Word の差し込み印刷機能を使っている。この場合、スクリプトで出した csvExcel に入れて、Word で読み込む。

 独自形式の住所録には「読み」の欄はないが、大抵はローマ字表記も入れてある。その方が検索するときに便利だからだ。このローマ字表記から仮名の読みを作ると他のソフトで読み込んだ時に何かと便利なのでそうしていた。その時使っていたのが、やはり自作の romkan.pl という Perl ライブラリだ。

 住所録コマンドを遅ればせながら今年 Unicode 対応に変更してあった。年賀状の準備をするかと実行してみて、初めて読みが壊れていることに気がついた。さてどうしたものかと調べてみると、Dan Kogai 氏が似たようなライブラリを作ってくれている。

404 Blog Not Found:perl - Lingua::JA::Kana released!

 一旦はこのライブラリを使うようにスクリプトを変更もした。しかし、仕様が若干違うのと、やはり長年使い続けて来た自前のライブラリに愛着があるので、新しい環境で使えるように更新してみた。というわけで、10年ぶりに更新した Unicode 対応版 romkan.pl なのだ。

 記憶を辿ると、このコマンドは、そもそもローマ字で書かれたメールを読むために作ったような気がする。なので、単独で実行すると入力中の単語の中で全体を仮名に変換できるものだけを変換して、変換できないもの(英単語である場合が多い)はそのまま出力するようになっている。ローマ字の文章をこのコマンドに通すと、日本語らしき部分が仮名に変換されるので、ローマ字のままよりは格段に読みやすいのだ。Date みたいな英単語は「だて」に変換されてしまうが、それはご愛嬌。

 そういえば、コメントにはこんなサンプルプログラムが書いてある。

require('romkan.pl');
while (<>) {
    s/([\w\-\']+)/&romkan($1)||$1/ge unless 1 .. /^$/;
    print;
}

何をするためのスクリプトかおわかりだろうか。これは、メール形式データのヘッダ部分はそのまま出力し、本文部分の仮名に変換可能な文字列を変換して表示するためのスクリプトだ。文字端末型のメーラーやニュースリーダを使っていればパイプで流し込むだけでいいのだが、最近はそんな環境で使ってる人はいないね。

 このライブラリは単独のコマンドとしても実行できるようになっている。そのコマンドでライブラリ自身を変換してみたりしても面白い。やってみたら入力を utf8 にしないといけないことがわかったので、とりあえず実行時に -Cio オプションを追加してみた。スクリプト内で設定する方法が簡単にはわからなかったので、まあこれでいいかと。

% romkan.pl /usr/share/dict/words | grep -vi '[a-z]'

てな感じで、仮名に変換可能な英単語のリストができる。

 プログラムは効率悪そうに見えるが、処理系がオプティマイズしてくれるんじゃないかと期待している。どのように動作するかを見たければ romkan.pl -debug のように実行してみるといい。

2011-07-23

電気工事士試験はイメトレだけで合格できるか

 筆記試験は手抜きでもなんとか切り抜けることができた。実技試験はちゃんと準備して受けるぞと思っていたのだが、案の定何もしないまま前日を向かえた。何もしないと言っても、道具がないとそもそも受験できないので道具だけは買ってある。一週間前くらいに調べて、13問の候補問題というのが公開されていることもわかった。2日前には、そのうちの1題が出題されることまでわかった。

 前日夕方に候補問題を初めて見て「げげ、200Vとか出てくんの?」「金属管なんて触ったこともないぜ」とか驚く。ネットを調べると回答例を載せてくれているサイトがあるのでそれを見ながら複線図を描く練習を始める。夕食にもビールを1本しか飲まず、夜の2時までかかって13の候補問題の複線図はなんとか描けるようになった気がする。最後は日本酒飲みながらだったけど。問題は実技を一度も試していないことだが、時間もないし、そもそも材料がないので試しようがない。VVFケーブルが30cmくらい余ってたので、輪っかを作る練習だけはした。

 さて、こんな舐めた態度で実技試験に合格できるのかというと、結果としては駄目でした。時間が足りなかった。2分足りなかった。あとリングスリーブを2つ圧着して、電源を接続するだけだったので、急げば2分でできたはず。完成すれば合格できたんじゃないかなあ、多分だけど。ミスと言えば、輪っかが少し大きめでネジからややはみ出てたくらいか。

 原因の1つは、3芯1.6mmケーブルをなぜか2.0mmと勘違いしてストリッパを使わずにナイフで剥いたこと。これで2〜3分ロスしているので、このミスがなければもしかしたら間に合っていたかもしれない。でも、根本的な原因は時間感覚が甘かったことだろう。時間的には余裕があると思っていたので、のんびり作業していたのがすべての原因。他の人は憶えてきてる複線図も考えながら描くので時間かかるんだよ。それもまた消しゴムで消して書き直したりして。すべての作業が初めてだから段取りが悪いのに、どうでもいい渡り線なんか奇麗に作っちゃったりしてね。問題見るのも初めてだから、パイロットランプがいつ点灯するのかどこに書いてあるかすぐにわかんなかったりするんだよ。気がついた時にはいつの間にか時間が経っていて、それから急いでも間に合わなかった。長さなんか大雑把でいいんだよというアドバイスももらってたのにね。

 でもこれで一度経験したから、次はもう大丈夫だろう。材料を一揃い買うと1万円くらいするみたいなので、今年の試験は練習だと思えばいいか。でも残念だったなあ…

2011-07-02

ニューホイール装着

 みんなにホイールを換えろと言われるので、今週末のイベントに備えて換えてみた。ULTEGRA のハブに1クラス上のリムを組み合わせたという WH-RS80-C24-CL にミシュランPro3。タイヤを赤にすると派手すぎるかと心配したが、意外と落ち着いた印象だった。

 カセットは、12は使わないので13からのにしようかと思ったが、だったら 13-25T がいいだろうと言われ、在庫がなかったので今までの 12-25T を流用。全部ばらして奇麗に掃除して組み替えて頂きました。ホイールを換えると 40km/h で巡行できるようになるかというと、そんなことはなかった。

 最初からついているサドルは安物なのか、なんとなくガタがきてギシギシ音がするようになってきたので、そろそろ限界かも。ついでにシートポストも換えたくなってきた。

f:id:uta46:20110627160526j:image

f:id:uta46:20110627160536j:image

f:id:uta46:20110627160554j:image

2011-06-17

Garmin 610 と iPhone、GPS 精度比較

Garmin Forerunner 610 と iPhone (RunKeeper) を一緒に積んで走ってみた。上が Garmin、下が iPhone / RunKeeper。

f:id:uta46:20110617160346p:image

f:id:uta46:20110617160344p:image

とりあえず、Garmin の方が精度が高そうだ。ただし、これは iPhone の記録の中でも特に乱れがひどい場所を選んである。他の場所ではこれほどはひどくない。

2011-06-10

電気工事士試験はぶっつけで合格できるか

 先週末、第二種電気工事士の筆記試験を受けて来た。1週間前になってやっと参考書を開いて、オームの法則まではよかったが、三相交流回路が出てきた時点で気持ちが萎えた。電気屋になるわけじゃなく、家のコンセントの工事をしたいだけなので、そんな知識は必要ない。資格と機会があったとしても、そんな工事を自分でやるわけない。

 萎えたまま放置して試験前々日。しかも翌日は朝から家で宴会なので勉強する時間はない。今日はやるぞと思ったが、じゃあその前に運動するかとジムに行ったりしていたら夕方5時になった。SNSというのは、地球人の生産性を落とすために宇宙人が送り込んだ罠なんじゃないのか。これはまずいと図書館に移動。

 半ば諦めて、とりあえず参考書に載っている去年の問題をやってみることにした。歯が立たなければ今年受けるのはやめるつもりだったが、結果は合格ラインの60点。可能性は五分五分ということか。まずい。潔く諦めようという計画が狂った。仕方なく、答合わせをしながら関連部分をチェックすることに。8時まで図書館にいて残りは夕食後家でやろうと思ったが飲んじゃって終了。翌日は予定通り昼から宴会で夜は酔っぱらいなので何もせず。

 試験当日は朝7時に起きて答え合わせの続き。一応それが終わって、試験会場までの移動中参考書に目を通す。受験者は若者ばかりかと思ったら、案外年配の人も多い。試験時間は2時間だが、1時間経つと半分くらいの受験者は退室してしまう。こっちはない知恵を絞って法則を発明したり推理ゲームに取り組んでいるので、やっと一般問題が終わったくらい。最後になるのは嫌なので、15分程を残して終了。自己採点の結果は50問中37問正解の74点でした。一応合格だが、合格者中の順位は最低の方だろう。

 さて、専門知識がなくても、半日ほど準備すれば合格できることはわかったが、何もしなくても合格できただろうか。というわけで今年の問題を使って分析してみた。結果を先に書くと期待値は57点。つまり、28〜29問は正解できたろうということだ。運がよければ合格するかもしれないが、落ちる可能性の方が高い。ざっくり言って、何も準備せずぶっつけで合格できた可能性は30%てところだろうか。右側に○を付けたのは、事前に勉強したから正解できた問題。

続きを読む