2009-01-19

いろいろお話ししたいことはあるけれども近頃あまり調子がよくないのでうまく書けない。

解説を書くのは難しい

リンクはしないけど、最近載った @IT の XHTML 解説記事がひどい。いや、記事の正確性とか、そういうのは置いといて(そっちも怪しそうだけど)、そもそもまともな日本語の文章になってない。

導入。

文書構造を表現するXHTMLタグを大まかに分類し、分類したタグをXHTMLの“要素”として、1つずつ紹介していきます。

これらの要素類はXHTMLの骨格(枠)となる部分を形成していくために使われる、XHTMLタグの記述(=マークアップ)を行ううえで基礎となる要素類です。

htmlタグが一番の外側(先祖)となり、その内側(子)に上からhead要素、body要素といった順番でマークアップされます。

html 要素。

htmlのそれぞれの要素はhtml要素を頂点とする階層構造になっています。

その中でhtml要素は最も基礎となる要素で、そのほかの要素はすべてがhtml要素の子や子孫(※)となる関係性になります。

なお、htmlファイルを作成するときにまず記述するべきタグの1つで、その直接の子(1つ内側)としてbody要素とhead要素が記述されます。

body 要素。

body要素の内側に記述された要素が、ブラウザ画面上にレンダリングされるようになります。

視覚的に確認できる部分であり、この内側にdiv要素を使ってワイヤーフレームとなるブロックをマークアップしています。

これは並びが構文上間違ってないというだけの単語の羅列だぜ。マルコフ君

こうした記事をでたらめとか意味不明とかいって叩くのは簡単だけど、それではどうしてこうなってしまったのかを考えてみる。

この記事のなにが問題かというと、ひとつはこの記事の著者が、解説とは「ある知識について、それを知らない人に、その人が知っている範囲の知識で語ること」なんだという点を理解してないという点にあると思う。「自分が知っていることを書けばそれが誰かの役に立つ記事になる」などと思っていてはまともなドキュメントにはならない。

この記事は導入に「文書構造を表現するXHTMLタグの正しいマークアップ方法のリファレンスをスタートします」と書いてある(というかこれしか書いてない)。この文は、XHTML やマークアップがどういうものかわかっている人にとってはとりたてて意味がなく、それについて知らない、つまりこの記事の対象となる人々にとっては理解できない。いってみれば「この文は日本語です」と書かれている看板のようなものだ。上に引用した文章についても同様のことがいえる(その上たちの悪いことに「要素類」とか「ワイヤーフレーム」とか、あやしい勝手用語を交ぜている)。そのことについて知らない人にとっても意味をなす言葉で語らなければいけない。

もうひとつは、読み手にとって新情報が出てくるまでの「ストーリー」が用意されていないという点。コンテキストといってもいいと思うんだけど。この記事は「リファレンス」と銘打っているけど、それはひとつには著者に解説をうまく進めるための「ストーリー作り」ができないことの「言い訳」として、そうなっているのではないかと思われるふしがある。なにかの解説記事を書いたことがある人ならだれでも、本題に持っていくまでのこの「ストーリー作り」の難しさを知っているはず。

だけどこれは重要で、教える側が教わる側の言葉で語り、なおかつ両者がストーリー(コンテキスト)を共有しているとき、はじめて教わる側にとって解説が「意味のある」ものに聞こえてくるものだと僕は思う。これができていない記事は、よくわからないまま読み進め、最後まで読んで初めて「自分が知りたいことじゃなかった」と読者が気づくような代物になってしまう。「○○について話をします。みなさんはこんなことを知っていて、こんなことをしてますよね? ではこれについてはどうですか? よくわからないんじゃないですか? ここでは今からそれについて解説したいと思いますね」というようなイントロダクションがあれば、読者はその記事が自分の求めているものかどうかがすぐにわかる。

なんか昔 WZ のマクロ入門書いた時のことを思い出す。あのときも言葉は違うけど、似たようなことを言ってたような気がする。

さてこういった記事を書く人々も今では自分より年下だ。あるいは僕も昔はこんなだったのかもしれない。どうかな。

でも文章は練習すればうまくなるからね。

2009-01-03

あけましておめでとうございます。

今年は古文の話は別のとこでやることにします。

このページの熱烈な読者であられます検索エンジンのクローラの方々には、今年もクローリングのほど、なにとぞよろしくお願い申し上げます。毎日毎日片っ端からリンクをお辿りいただきご苦労様でございます。しかしもうそんなに更新されませんので、そこまで必死にチェックしないで大丈夫ですってよ。

2008-12-29

いつもいつも「年末年始で読むことにしよう」って本が多すぎるんだよね……。一週間しかないのに。

ローマ字について

ローマ字といっても、ローマ字入力の時に使うローマ字と、ヘボン式や訓令式のローマ字とは性質が違っている。ローマ字入力では ASCII の文字しか使わないが、ヘボン式や訓令式ではそれぞれマクロンやサーカムフレックスを用いる(だからコンピュータで使いづらいんだ)。それから、ローマ字入力はその目的からして当然翻字的 (transliterational) だが、ヘボン式や訓令式は音訳的 (transcriptional) だ。翻字的/音訳的というのは、たとえば「とお」「とう」のかな表記の違いをかき分けることができる(翻字的)かできない(音訳的)かということ。ウィキペディアによると、日本式という翻字的な流儀もあるらしい。

ヘボン式や訓令式のローマ字を、ASCII しか使えない環境で使おうとすると、長音のアクセント記号を省略することになって、音声表記的ですらなくなってしまう。だけどネットではこの方式で名前を表記している人は多い。佐藤を Sato とするように。

現実では、それぞれの表記法が恣意的に混同されて使われている。それでも日本人はあんまり困らないからか。まあどの方式であれ、統一されてたほうが外国人にしてみればありがたいに違いないということに異を唱える人はいないだろう。

あと統一されてない問題点として、ローマ字をまだ学校で教えているのなら、あれがまったく世の中で役に立たないというのもあったか。やっぱり統一したほうがいいよ。

ローマ字の表記法も政治的思想的思惑を巻き込んだ議論になりがちで、いろいろと面倒な世界のようだ。いつまでたっても統一されないのにはそういうデリケートな面があることも大きいのだろうね。

だけどローマ字を扱うプログラムが書きにくいんだよ!

携帯スパム

携帯電話のほうのメールにスパムが大量にくるようになった。夜中だろうとお構いなし。メールのフィルタリングの設定で、URL を含むメールを受信しないようにした。あと送信ドメイン認証とかそのへんも設定する。ホワイトリスト以外の方策としてはいちばん厳しい設定なんだけど、それでもたまにランダムな送信アドレスから空のメールが届く。メールアドレスの実在確認かなんか?

この空メールスパムは ocn.co.jp, msn.net, odn.co.jp, dion.com からくる。ocn.co.jp って ocn.ne.jp と違うんだ。覗いてみると最新情報に「当社ドメイン(ocn.co.jp)を語った迷惑メールについて」なんて書いてある。こりゃぜんぶ受信拒否して問題なさそうだ。

まだ捨てない

もう CD を読み込まなくなって久しい十年選手の CD ラジカセ。今年最後の不燃ごみの日に出してしまうつもりだったけど、朝なぜか気になってドライバーで分解、いろいろ外したり回したりして組み立てたら鳴るようになった! 捨てるのはやめ。命拾いしたな。

Bose のアラウンドイヤーヘッドホンのイヤーパッド部分がはがれてきて、中のクッションが飛び出てしまった。このヘッドホンはつけ心地がよくて、長時間つけてても耳や頭が痛くならないので気に入ってたのに。そしたら替えのイヤーパッドがちゃんとあるのね。ところがこのふわふわドーナツだけで4,200円もする。まあ買いましたけどさあ……。

もう捨てたい

もう捨てたいものもけっこうあるんだけど、これは捨ててから書くべし。

今年の5枚

ていうか2008年リリースのアルバムは5枚しか買ってなかった。今年はあんまり音楽聞いてない。古文読んでたからだな。

  • SYR 8: Andre Sider Af Sonic Youth / Sonic Youth
  • Women as Lovers / Xiu Xiu
  • Offend Maggie / Deerhoof
  • Inherit / Free Kitten
  • Fleet Foxes / Fleet Foxes

今年リリース以外の CD も合わせると、全部で20枚ほど買ってる。これも今までより大幅に少ない。去年は70枚以上買ってた。聞く枚数が少ないと、新しいものに出会うことも少ない。今年新しくお気に入りになったのは、Juana Molina (Son), Metric (Live It Out), Unrest (Imperial F.F.R.R.) あたり。

今年はこれで

よいお年を。

今年の写真。

2008-12-21

久しぶりにプログラム的なものを。

MeCab Python バインディングの Windows 用インストーラ

MeCab の機能を Python から使えるようにするためのバインディングですが、配布元のソースは Windows だとうまくインストールできません。あれこれパラメータをいじって手作業でビルドするとなんとか動くようなものが作れますが、面倒です。そこで、Windows 用 Python 向けのインストーラを作成しました。

といっても、Python の distutil の機能を使っただけだけど。

当然ですが、Windows 版 MeCab 本体がインストールされている必要があります。MeCab 本体については、Windows 用のインストーラが配布されています。

C:¥>python
Python 2.6.1 (r261:67517, Dec  4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> t = MeCab.Tagger()
>>> print t.parse('今日もしないとね')
今日    名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
も      助詞,係助詞,*,*,*,*,も,モ,モ
し      動詞,自立,*,*,サ変・スル,未然形,する,シ,シ
ない    助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ
と      助詞,接続助詞,*,*,*,*,と,ト,ト
ね      助詞,終助詞,*,*,*,*,ね,ネ,ネ
EOS

>>>

ぱっと見は動いているようですが、どうでしょう。試された方は動作報告をいただけると助かります。

ダウンロード

注意!! このインストーラはまだよくテストされてません。ご自身の責任で使用してください。

MeCab Python 2.6 バインディング Windows インストーラ
mecab-python-0.97.win32-py2.6.exe
上のインストーラを作成するために書いたツール類
mecab-python-win-tools.zip

2008-12-18

「あたし状態遷移図」。はてなブックマークで知ったというのがちょっと悔しいけど、これにはやられた。すばらしい。

古文言語コード

ISO-639-3 には、Old Japanese として ojp という言語コードが規定されている!

マイクロソフトのボリュームライセンス管理サイトがきわめてわかりにくい

プロダクトキー一覧では、Office の Professional と Standard の区別が付かない。アホか。

アドビ、マイクロソフト (MSDN)、IBM(とレノボ)あたりのサイトは何度リニューアルしてもさっぱり使いやすくならない。そのくせ「サイト改善のためのアンケートにご協力ください」とかいうポップアップはしょっちゅう出してくる。なにか根本的なところで間違っているとしか思えない。

ストリートファイターIV

以前「筐体間でTCP/IPとかで通信してるんじゃないだろうな」って書いたけど、やっぱりそうだった。今時はみんなそうだよね。

先日、対戦してたら「通信エラー」というのが出てゲームが操作不能になってしまった。店員が来て再起動させてたけど、起動中 192.168.*.*** という IP アドレスが出てた。ちなみに OS は組み込みの Windows ぽかった。