新人うぃきめでぃあん日記:2011年6月

2011年6月1日

朝一度起きるけど、すぐに寝てしまう。次に起きたのはお昼。だめだめ。

カテゴリの無いページと孤立したページの一覧が更新されたので、その対応作業。それだけだったら大した作業ではないんだけど、スタブだったらつい調べて追記したり、Wikifyしたりとやってたら結構時間が掛かってしまう。

でも、孤立したページは順調に減っていて、1365件になった。私が始めてから500件以上減ったことになるのかぁ。まあ、中には削除されたのとか色々あるんだろうけどね。

駅チカ」と「エキチカ」の統合提案から2週間経ったので、「駅チカ」に統合を実施。報告。そして、「駅チカ (曖昧さ回避)」への改名を提案。

iPad」と「iPad 2」の統合提案。反対意見が出たので、私としては統合見送りのつもりだったんだけど、ガイドラインでは最後の意見が出てから1ヶ月は様子をみるとなっている。

で、あと一週間で1ヶ月になるなぁと思ったら、追加でコメントが付いた。反対票なんで議論の方向は変えないんだけど、これだとまた1ヶ月待たないといけない。その間に更にコメントがついたら更に1ヶ月と、いつまで経っても終了できないことになってしまう。

議論の方向は変わっていないということで、あと一週間で終了とする宣言をしてみた。ガイドラインには沿ってないかもしれないけど、バックボーンにある精神には反してないと思う。

画像とテンプレートの呼び出し数の乖離。更に調べると、また別の呼び出し方もあることが判明。いったいいくつあるんだろう。ヘルプには書いてない、ということは昔に使われた記法なんだろうなぁ。でまあ、使用しているページが残っている限りその機能は消せないと。でも、サイトは一つなんだから、全部書き換えちゃって廃止する事だって出来なくはないと思うんだけど。

更に調べていると、テンプレートの中から画像やテンプレートを呼び出している場合があることを確認。サイト上のリンク元検出ではそれも調べるけど、 wpjatoolではどうしようかなぁ。再帰的にテンプレートを内部で展開しないといけないから、ちょっと処理が面倒。とりあえず後回しにするか。

プログラムをつらつらと眺めていて、変数名を間違えているという大バグに気付いた。あかんやん。そら、数が合わへんって。あと、言語間リンクを考慮してなくて全部赤リンク扱いにしていたのを修正。赤リンクと判断する件数が減るはずだから、これで集計できるようになるかな。

テスト実行待ちの間にウィキペディアをつらつら旅してたら「プロジェクト:ウィキ文法のチェック」なるものを見つけた。というか、前にも見たことがあるんだけど。

ボットで文法チェックを行って、問題のあるページを発見する。つまり、今私がしていることと同じこと。ただ、以前に見たときはページの更新が止まっていたので、このプロジェクトは休止しているんだと思ったんだけど、よくよく見たら新インターフェイスに移行してたのね。見落としてた。

じゃ、私のしていることは完全なる車輪の再発明かというと、そうでもなさそう。確かに文法チェックという点では同じなんだけど、こちらのプロジェクトでは文法ごとに問題ページをまとめているから、このチェックに従うと、同じページを何度も修正することになる可能性がある。それはウィキペディアでは推奨されていない。かといって、一つのページについて全部のチェック項目を調べていくのは、チェック項目が多すぎて現実的ではない。

一方、私の作っているプログラムは、ページごとに文法チェックを掛けていくから、そのページに関する問題点は一箇所にまとまる。だから、それに従って修正作業を行うにしても基本的に1回で済む。

また、このプロジェクトでチェックしてない項目で私のプログラムでチェックしている項目も多数あるので、その点でも有意義だと思う。プロジェクトのプログラムは、あくまでもwiki文法のチェックだから、日本語表記のガイドラインとかまでは対象としてないし、リンク先が曖昧さ回避かリダイレクトかなんてことも調べてないようだし。そういう意味では、私の作っているプログラムはJPOV(日本中心の視点)なんだよなぁ。別に日本人だからいいんだけど。

一方、プロジェクトの方でチェックしている項目で、私のプログラムに取り入れられそうなのもいくつかありそうなので、それはありがたく組み込まさせていただくことにする。

あれ。ウィキペディア日本語版の略称はwpjaだと思ってたけど、どうやらjawpの方が一般的みたいだな。やば。プログラムの名称変えないと。内部で使ってるクラス名も全部変更。公開する前に気付いてよかった。

何度か失敗しながら、ようやくファイルとテンプレートの呼び出し数がそれなりなレポートが得られた。ここまで長かった。上でも書いたようにテンプレート展開して計測しないと本当の値にはならないんだけど、とりあえず注釈つけてそれでお茶を濁そう。他にもまだやりたいことはたくさんあるから、そっちが先。

ファイルとテンプレートが一応けりがついたので、次は赤リンク。とりあえず、赤リンクになっている一覧を出力してみる。結果は約200万件。これくらいならメモリに乗りそうだな。ということで、集計機能をオンにして実行。そして、無事成功。メモリ使用量も500MBくらいまでで止まったし。おおー、これで何も問題なし。素晴らしい。よく頑張った>自分。結局は、赤リンクじゃないものを大量に誤判定してしまっていたから、メモリがあふれてしまったということやね。なるほど。

で、待望の出来上がった赤リンクランキングを見てみたんだけど、利用者ページだらけ。あれ?今のpages-articlesには利用者ページは含まれていないから赤リンクになるのは分かるけど、利用者ページにリンクしているページがそんなに多い?ノートは含まれてないのに?と思ったら削除依頼とかのWikipedia名前空間のページからのリンクらしい。そこでの議論のときに署名すると、大抵は利用者ページへのリンクが付くからね。なるほど。ということは、利用者ページは除外するようにして処理しないといかんな。

ということで利用者ページを除外して再実行。しかし、今度は会話ページとかが出てきた。署名には利用者ページと会話ページへのリンクがセットだからな。まだ除外しなきゃいかんか。あー、あと#を使ったページ内見出しへの直リンクもあがってきてしまってるな。これも除外しないと。もう遅いので、続きは明日にしよう。

2011年6月2日

昼頃起床。だめだめ。

wpjatool。よく考えると、今はノートと利用者ページを除いたpages-articlesというアーカイブを使っているけど、統計情報を取るにはそれらも含めたpages-meta-currentを使うのが適切ではないのか。一方、lintをかけるにはこれまでどおりpages-articlesがよさそうだよね。ということで使い分けることにしよう。

赤リンクリストを見直してるとiPhoneなんてのもあがってきてるな。そんなページがないわけなーいと思ったら、ウィキペディアの記事ファイル名は先頭が大文字になるというルールがあるんだった。だからファイル名はIPhoneなわけか。それも対処しないといかんな。まだまだやることがいっぱいあるー。

ちょっと昼寝。やっぱり寝不足だったかな。でも、寝て起きてもまだすっきりしない感じなんだが。今日は早めに就寝することにしよう。

ということで、pages-meta-currentをようやくダウンロード。展開してみると、7.6GB、1億行ですか。こりゃまたやりがいのありそうなデータで。

pages-meta-currentに対して集計処理がようやく完了。が、赤リンクは利用者ページが多いな。そうか、利用者ページを作ってない人は赤リンクになってしまうんだ。んー、仕方が無い。利用者ページは特別ケースということではじくことにしよう。

ん?利用者ページの赤リンクは除外処理するんだったら、集計対象のデータにそもそも利用者ページは全く含まれてなくてもいいわけだから、重たいpages-meta-currentではなくてpages-articlesで十分ということかな。んー、でも利用者ページやノートページも含めた全統計というのも意味がありそうだから、このままでいいか。ウィキペディア上の各種統計ページも基本的に全ページを対象にしてるみたいだし。

赤リンクリストは、だいぶバグが取れてきたけど、まだいくつか問題が。リンク先が存在するのに赤リンク扱いになってたり、使用数が明らかにおかしかったり、エスケープされてる文字列を戻してなかったり。完成は遠い。しかし、今日は気力が尽きたので、続きはまた。とりあえず寝よう。

2011年6月3日

このテキストの加筆、校正をする。既にファイルサイズが100KBを越えているんで結構大変。でも楽しい。読んだ人も楽しんでくれるといいな。

BW350」は削除されたかぁ。まあ仕方が無い。私が加筆できるわけでもないし。

wpjaからjawpへ名前変更。ま、置換機能で一発なんだけど。それに合わせてというわけでもないけど、今更ながらソースコードの整理。ようやくコメントをつけたり、あとテストコードも書き始めたり。テストはテストで書いてると楽しいんだよな。なら、先にやれという話もあるんだけど。

うわ、更に管理者に二人立候補してるよ。一人は先日自発的に辞任したばかりの人。もう一人はその人の子供で15歳!まあ、15歳ともなれば、人によっては十分に精神的に成熟してるかもしれんけど、でもまあ子供とも言えるよな。自分が15歳の頃って、やっと初めてパソコンを触った頃だよ。えらい違いやな。

管理者が増えるのはとりあえずいいことなんで、立候補者がたくさんいるのもいいことなんだけど、同時期にたて続けだと、質疑応答や信任投票の検討が分散してしまって十分に行えないんじゃないかという気がするんだけど、余計なお世話かしらん。

新たな二人への質疑を読んでいる間に、更に一人立候補!一体何事!

井戸端で「福田」(曖昧さ回避)において、全国に福田地名が多すぎて視認性が悪い。しかもほとんど赤リンクなんで、これは削除したらどうかという意見があったんで、福田地名一覧記事を独立させればどうかと提案したことに対して反対意見が。いや、反対ではなく質問なのかもしれんけど。要するに、そのような羅列記事は単独で存在する価値はないのではないかという意見。うむむ。とりあえず即答はやめとこう。じっくり考えてから返答することにする。

今回の管理者大量立候補の背景には、ここ最近の管理者大量辞任がある(立候補者の一人はその辞めた当人だが)。その辞任の背景には、管理者二人が同棲を始めて同一IPアドレスを使う状態になったのに、そのことを公表してなかったということに端を発している。なんというか、色々なことが大変だなぁ。

2011年6月4日

図書館から取り寄せの本が届いたとの連絡が入ったので借りにいく。で、削除依頼に出ている「虫明氏」について調べようとしたんだが……載ってない!まさか!そんなことが!思ってもみなかった展開。しくー。加筆して削除から救済しようと思ったのに。どうしようかな。もうちと大きな図書館に行って調べてみるか。

管理者の立候補者が一人立候補を取り下げた。取り下げって出来るんだ。いやまあ、無理やり続けさせることもできないから、やめたいと言えばやめれるんだろうけれど。

福田」の地名曖昧さ回避問題。福田の地名一覧に記事を分離しても、単独立項する価値がないというのなら、いっそのこと「日本の同名地名一覧」という超巨大記事を作って、そこに「福田」の項を作るというのではどうだろう。これなら記事の価値はあるんじゃない?作るの大変そうだけど。言いだしっぺの法則で、やっぱり私が作るのかなぁ。まあいいんだけど。

写写丸」については、リダイレクトで存続になったか。まあそういう意見が大勢になっていたし、妥当な落としどころではないかとは思うけど。

そして「虫明氏」は削除されてしまった。しくしく。でも、自分でも加筆できてないから仕方がないわな。いつか資料がみつかれば立項してみよう。なんか、こうしてると、どんどん心残りの案件が増えていくな(笑)。どっかでさっぱりと忘れないと、増える一方かもしれん。

管理者への質疑応答で初めて知ったけど、管理者の仕事において荒らし対策って結構な比重を占めてるんだね。いや、実際の比率は分からないけど、ともかく私はこれまで荒らし対応依頼は見てなかったので、それが結構なボリュームになっているということを初めて知った。

ウィキペディアが大きくて有名なサイトだから、当然に荒らしも大量にやってくる。それを捌くのは有志編集者と管理者だけど、ボランティアで無報酬。大変だよなぁ。

jawptoolの開発。テストを追加したり、lint機能を移植してきたり。まだまだ完成は遠いなぁ。だらだら作ってるのがいかんのだけど。これくらい、さくっと作ってしまえるようでないといかんよなぁ。

2011年6月5日

jawptoolのパフォーマンスの計測実験をしてたら、Segmentation faultしてたよ。やっぱり熱か?マシン自体はフリーズしてないんだけど。困ったもんだ。

福田」問題について「同名の地名一覧」を提案として出す。独自研究と突っ込まれると弱いような気もするが。

カテゴリなしページと孤立したページの一覧の作業を久しぶりに。ここんところ、プログラムばっかりいじってたからなぁ。その作業の過程で、改名提案を2件出す。「Sitecore」を「サイトコア」へ、「Zynga」を「ジンガ」へ。それぞれ、即時改名しても問題ないんだけど「Avalanche Press」の前例が私にはあるからな。

あと、「ステファ ン モライス」という記事を見つけて、外国人名の区切りは中黒を用いることになっているんで、これは即時改名しようと思ったんだけど「ン」が独立するのかどうか分からなかったんで、立項者の会話ページに質問を書く。元のスペルからはステファンでよさそうな気がするんだけどなぁ。

福田」問題。というか、曖昧さ回避の多数掲載問題。記事が階層化されることによって一覧性と保守性が低下するという反論が返ってきた。うーむ。しかし、視認性を理由に削除されるくらいなら階層化して情報を残した方がまし、というコメントを投稿してから気付いたけど、視認性よりも一覧性を重視し、曖昧さ回避ページには全項目を掲載すべきという方向の方が健全だよな。ということで、その方向で提案しなおし。

2011年6月6日

赤いサイロ」は結局削除になったかー。まあ、削除が妥当だろうな。私も特筆性を示す出典を示せてないし。仕方があるまい。

福田」問題。本来なら、これは「プロジェクト:曖昧さ回避」とかで議論すべきではないのかな、と思ったらやっぱりそのもののプロジェクトがあったよ。当然か。井戸端での議論が一段落したら、こっちに議論を移行してみようかな。場合によっては、プロジェクトへの参加もありかな。

ウィキペディアは広告を掲載しない。それは広告主の影響を排除するためということになっている。私は今までそれを額面どおりに受け取っていたんだけど、ちょっと違うんじゃないかなという気がしてきた。

というのは、広告収入をあてにするようになると、アクセス数が増える方向に編集にバイアスが掛かってしまうことを恐れているのではないだろうかということ。ウィキペディアの目標は、あくまでも百科事典を作ること。人気サイトを作ることではない。百科事典を作る手段として人気サイトになることは人を集めるという意味で有効かもしれないけど、あくまで手段であって、目的を凌駕するものではない。そんなことをふと思った。

Avalanche Press」の改名について、更に「アヴァランチ・プレス」と中黒を入れてはどうかという意見が出た。言われてみれば、外来語の単語の区切りには中黒をつけると表記ガイドにはある。

念のため、ぐぐってみた結果では、中黒有り無し両方が使われていて、一般的に定着した表記はないような気がする。なら表記ガイドを優先して中黒ありにするのが適切かな。ということで、再度の提案変更。ほんと、だめだねぇ。もっとしっかりと下調べして改名提案しなきゃ。

2011年6月7日

jawptoolの開発。とりあえずlint機能は一旦コードフリーズすることにする。いつまでもだらだらと開発してるのはよくない。そこそこの機能で、まずは公開できるように整えることを優先することにする。それから、機能アップをはかっていこう。

入力ファイルはXMLなんで、テキスト中の文字列は当然にエスケープされてる。だから、アンエスケープしてやらなきゃならない。

エスケープというのは、XMLにはいくつか文法上で使用している記号があるので、その記号は直接記述できないという制限がある。具体的には<、>、&、"の四つが基本。これをデータとして記述するときは、それぞれ&lt;、&gt;、&amp;、&quot;というようにする。これがエスケープ。で、プログラム側ではエスケープを元に戻してやらないと本来のテキストにならない。これがアンエスケープ。基本はさっきの四つだけなんだけど、他にもたくさん定義されている。&と;の間が英文字になっているものを文字実体参照、数値になっているものを数値文字参照と呼ぶ。

CGI.pmに unescapeHTML()なんて関数があるのでこれでいいやと思ったら、数値文字参照は置換してくれないのね。仕方が無いのでそこは自前で変換。が、ウィキペディアの出力するテキストには「&amp;lt;」なんて謎な二重エスケープされたものとかある。なんでこうなってんの?ともあれ、仕方が無いので、2回アンエスケープ処理をする。

lint機能のデバッグがだいたい終わったかな。まだ手を入れたいところはなくはないけど、きりがないからとりあえずやめとこう。まだ、他の機能を実装しなきゃならんし、テストも全然書けてないし。

2011年6月8日

iPad」と「iPad 2」の統合見送りは意見が出なかったので、予告どおり見送り。提案タグを除去して、「統合依頼」ページにも報告。とりあえず、一つ作業リストが減った。

ヴィッテルスバッハ家というドイツの貴族のカテゴリについて削除依頼が出ているんだけど、依頼者がIPユーザなので投票権が無い(削除依頼にはIPユーザや編集回数50回未満のアカウントユーザは投票権が無い。改名提案などIPユーザでも投票できるものもある)。で、議論が停滞しているというか停止してしまっているので、ちょっとお手伝いしてみる。

まず改名にあたっての議論を探してみる。が、どうやら改名自体はドイツ語版でカテゴリ変更があったのでそれに合わせたという事で、特に日本語版で議論や合意があったわけではないみたい。ただし、改名に反対の意見も出てないから、暗黙の合意が形成されたとみることが出来そう。

次に、削除依頼に挙がっている各カテゴリの改名先を探して、そこにある各記事が改名元カテゴリから適切に移動されているかを確認。これは問題なし。

ということで、特に問題なさそうということで、全削除票を投じてみた。ただ、ヴィッテルスバッハ家なるものについて全く知識がないから、この改名が適切かどうか判断できないので、詳しい人から反対意見が出たら取り下げるつもり。

カテゴリ無しと孤立したページの一覧が更新された。孤立したページは1300件。どんどん減るけど、私が作業した以上に減っていくのは、削除されていっているからだろうか。まあ、減るのはいいことなんだけど。ということで、それぞれメンテナンス作業をする。

そういえば孤立したページで思い出したけど、日本中のテレビ中継局の記事を丹念に作成している人がいるんだよなぁ。あれも、百科事典に載せる特筆性があるか疑問があるような気がするんだけど、なにせ情報が充実しているから警告タグが貼られることもない。つまりは、そういうことなのかなぁ。

駅チカ」から「駅チカ (曖昧さ回避)」への改名について、一週間経ったけど反対意見が無かったので改名を実施。以前実施した「エキチカ」からのリダイレクトが二重リダイレクトになってしまうのでその修正も。改名提案に結果の報告、移動に伴って出来た「ノート:駅チカ」のリダイレクトの即時削除依頼。はあはあ。改名はやることがたくさんある。その点、削除依頼の方が、あとは管理者に任せてしまえるから楽だよなぁ。

jawptoolの開発。テストケースの作成をしていく。が、そうしてるとこの期に及んでクラス構成を見直したくなってきたりしたり。ああ、優柔不断。というか、最初から綺麗に設計できないのがダメよなぁ。

CGI.pmとかMeCab.pmとかは使う前にオブジェクトを生成しないといけない。これが結構重いかなぁと思って、最初に1回生成したオブジェクトを使いまわすようにしていたんだけど、実際のところはどうなんだろうと試してみる。ということで100万回CGIとMeCabを生成してみたところ、CGIは85秒、MeCabは372秒。なんだ、全体の何時間とかに比べれば大した時間じゃないじゃん。じゃ、使用するたびにオブジェクトを生成するようにしても問題ないかな。

やっぱりクラス構成を見直すことにする。今度こそテストファーストということで、テストコードを先に書く。テストコードを書くってことは、要するに仕様書をコードで書くってことなんだよねぇ。そういう意味では、テストファーストってウォーターフォール的な開発手法なのか?アジャイルな開発で使われているイメージがあるんだけど。私の捉え方が間違っているのかなぁ。まあ、それはともかく、テストコードを書いて、それにパスするように実際のコードも修正。やってみれば、まあ大した作業量ではないんだけど。

また気持ちが揺らいで、集計機能の作り込みに手をつける。言語間リンクの検出のための正規表現を、今までは/^[a-zA-Z]+:/なんていう、なんちゃってコードで書いていたのを、言語コード一覧からちゃんとした正規表現に改める。

言語間リンクというのは、ウィキペディアの他言語版の同じ記事へのリンクのこと。例えば「ウィキペディア」という記事の英語版への言語間リンクは[[en:Wikipedia]]というようになる。言語間リンクは通常のリンクと違ってサイドバーに言語名が一覧として表示される。

言語コードはISO 639で決められているそうなんだけど、そこにある言語コード一覧を正規表現にしてみた。これであってるのかな。

/^(aar|aa|abk|ab|ace|ach|ada|ady|afa|afh|afr|af|ain|aka|ak|akk|alb|sqi|sq|ale|alg|alt|amh|am|ang|apa|ara|ar|arc|arg|an|arm|hye|hy|arn|arp|art|arw|asm|as|ast|ath|aus|ava|av|ave|ae|awa|aym|ay|aze|az|bad|bai|bak|ba|bal|bam|bm|ban|baq|eus|eu|bar|bas|bat|bej|bel|be|bem|ben|bn|ber|bho|bih|bh|bik|bin|bis|bi|bla|bnt|bos|bs|bra|bre|br|bua|bug|bul|bg|bur|mya|my|byn|cad|cai|car|cat|ca|cau|ceb|cel|cha|ch|chb|che|ce|chg|chi|zho|zh|chm|chn|cho|chr|chu|cu|chv|cv|chy|cop|cor|kw|cos|co|cpe|cpf|cpp|cre|cr|crh|crp|csb|cus|cze|ces|cs|dak|dan|da|dar|day|del|dgr|din|div|dv|doi|dra|dsb|dua|dum|dut|nld|nl|dyu|dzo|dz|efi|egy|eka|elx|eng|en|enm|epo|eo|esk|est|et|ewe|ee|ewo|fan|fao|fo|fas|fa|fat|fij|fj|fin|fi|fiu|fon|fre|fra|fr|frm|fro|fry|frs|frr|fy|ful|ff|fur|gaa|gay|gem|geo|kat|ka|ger|deu|de|gez|gil|gla|gd|gle|ga|glg|gl|glv|gv|gmh|goh|gon|gor|got|grb|grc|gre|ell|el|grn|gn|guj|gu|hai|hat|ht|hau|ha|haw|heb|he|her|hz|hil|him|hin|hi|hit|hmn|hmo|ho|hsb|hun|hu|hup|iba|ibo|ig|ice|isl|is|ido|io|iii|ii|ijo|iku|iu|ile|ie|ilo|ina|ia|inc|ind|id|ine|inh|ipk|ik|ira|iro|ita|it|jav|jv|jbo|jpn|ja|jpr|jrb|kaa|kab|kac|kal|kl|kam|kan|kn|kar|kas|ks|kau|kr|kaw|kaz|kk|kbd|kha|khi|khm|km|kho|kik|ki|kin|rw|kir|ky|kmb|kok|kom|kv|kon|kg|kor|ko|kos|kpe|krc|kro|kru|kua|kj|kum|kur|ku|kut|lad|lah|lam|lao|lo|lat|la|lav|lv|lez|lim|li|lin|ln|lit|lt|lol|loz|ltz|lb|lub|lu|lug|lg|lui|lun|luo|mac|mkd|mk|mad|mag|mah|mh|mai|mak|mal|ml|man|mao|mri|mi|map|mar|mr|mas|may|msa|ms|mdf|men|mga|mic|min|mis|mkh|mlg|mg|mlt|mt|mnc|mni|mno|moh|mol|mo|mon|mn|mos|mul|mun|mus|mwr|myn|myv|nah|nai|nap|nau|na|nav|nv|nbl|nr|nde|nd|ndo|ng|nds|nep|ne|new|nic|niu|nno|nn|nob|nb|nog|non|nor|no|nso|nub|nwc|nya|ny|nym|nyn|nyo|nzi|oci|oc|oji|oj|ojp|ori|or|orm|om|osa|oss|os|ota|oto|paa|pag|pal|pam|pan|pa|pap|pau|peo|per|fas|fa|phn|pli|pi|pol|pl|pon|por|pt|pra|pro|pus|ps|que|qu|raj|rap|rar|roa|roh|rm|rom|rum|ron|ro|run|rn|rus|ru|sad|sag|sg|sah|sai|sal|sam|san|sa|scc|srp|sr|sco|scr|hrv|hr|sel|sem|sga|sgn|shn|sh|sid|sin|si|sio|sit|sla|slo|slk|sk|slv|sl|sma|sme|se|smi|smj|smn|smo|sm|sms|sna|sn|snd|sd|sog|som|so|son|sot|st|spa|es|srd|sc|srr|ssa|ssw|ss|suk|sun|su|sus|sux|swa|sw|swe|sv|syr|tah|ty|tai|tam|ta|tat|tt|tel|te|tem|ter|tet|tgk|tg|tgl|tl|tha|th|tib|bod|bo|tig|tir|ti|tiv|tju|tkl|tlh|tli|tmh|tog|ton|to|tpi|tru|tsi|tsn|tn|tso|ts|tuk|tk|tum|tup|tur|tr|tut|twi|tw|tyv|udm|uga|uig|ug|ukr|uk|umb|und|urd|ur|uzb|uz|vai|ven|ve|vie|vi|vol|vo|vot|wak|wal|war|was|wel|cym|cy|wen|wln|wa|wol|wo|xal|xho|xh|yao|yap|yid|yi|yor|yo|zap|zen|zha|za|zh|zul|zu|zun):/i

集計待ちの間に、だらだらとウィキペディアの旅。botについて興味をもったんで少し調べてたんだけど、標準記述言語はPythonかぁ。Pythonかぁ。まあ、簡単なbotを書くくらいなら、多分そんなに苦労しないとは思うけど。MediaWikiはPHPで書かれているのに、そこはPythonになるという選択がどうなのよ。いやまあ、今時としては妥当かもしれんけど。

しかし、perlってもう世間的にはマイナー言語なんかねぇ。個人的には好きなんだけど。というか、単にLLのなかで私がまともに使えるのがperlくらいしかないってだけなんだけどね。

ようやく集計が終わる。1回だいたい3時間くらいかな。修正するたびに実行してたら開発がはかどらんが、実データを対象にチェックしないと分からないところもあるから難しい。で、レポートを見るんだけど、まだまだ使用数と実数の乖離が激しい。うーん。とりあえず、少し修正して実行して、今日は寝る。続きは明日。

2011年6月9日

あさー。集計は終わってて結果を見たけど、うーん。まだ単語の切り出しがうまくいってないな。ということで切り出しの正規表現を調整。あと、コメント内のリンクも拾ってしまっているようなので、コメント部分は対象外にするように修正。これで再集計。

そうか。jwaptoolの集計ではリンクの回数を全て計測しているけど、サイト上でリンク元一覧を表示させた場合はページ数になるんだ。だから、同一ページ内で同一記事へのリンクが多数あった場合には乖離が激しくなることになる。ということは、一つの記事でのリンクは一種類につき1回として集計してやれば、サイト上のリンク元数に近くなるはず。

赤リンクとして集計されているのに記事が実在する問題は、履歴を見てみるとどれもデータベースダンプ以降に新規立項されたものばかりだった。なら集計は間違ってないということになるな。ということで、この問題は解決。

色々ほかの事をやっている間もPCは一生懸命処理を続けて、集計完了。呼び出し数に関してはかなり改善されたんじゃないかな。というか、ほぼ大丈夫?あとはプロジェクト間リンクの検出がうまくいってないのを修正する必要があるな。しかし、まだ検出文字列に変なのが混じっているので、検出方法にバグが潜んでいる模様。でも、あと少しで完成という気分になってきた。

赤リンク一覧を眺めてみると、ISO 639に無い言語間リンクがいくつもある。と思ったら、ウィキペディアのISO 639に関するページが古くて最新の規格では掲載されているものもある。でも、最新のにも載ってないのがある。ウィキペディアの各言語版一覧を元に検出パターンを作った方がよさそうだな。

ということで、ウィキペディア各言語版一覧から拾って作ったのが以下のもの。

/^(en|de|fr|it|pl|es|ja|ru|nl|pt|sv|zh|ca|no|uk|fi|vi|cs|hu|tr|id|ko|ro|fa|da|ar|eo|sr|lt|sk|ms|he|vo|bg|sl|war|eu|hr|hi|et|gl|simple|new|th|nn|az|el|roa\-rup|la|ht|tl|ka|te|mk|ceb|nap|sh|pms|br|be\-x\-old|lv|mr|jv|lb|ta|sq|cy|is|bs|be|oc|an|bpy|bn|io|sw|kk|lmo|fy|gu|ml|af|nds|ur|scn|qu|mg|ku|zh\-yue|su|ast|ne|hy|yo|bat\-smg|pnb|ga|cv|wa|kn|am|als|tg|vec|roa\-tara|zh\-min\-nan|tt|yi|bug|gd|os|uz|sah|pam|arz|mi|li|hsb|nah|sco|mn|co|gan|glk|my|ia|bcl|fo|sa|si|fiu\-vro|nds\-nl|vls|tk|bar|ckb|mrj|gv|ilo|map\-bms|dv|nrm|pag|diq|se|rm|mzn|wuu|fur|ug|bo|lij|mt|hif|csb|km|bh|ang|lad|nov|udm|sc|zh\-classical|cbk\-zam|pi|ps|mhr|kv|ksh|frp|rue|hak|kw|nv|pa|so|szl|xal|ie|rw|stq|haw|pdc|koi|ln|krc|to|pcd|crh|ky|ace|ext|myv|gn|ba|eml|ce|arc|pap|ay|kl|bjn|frr|jbo|wo|tpi|or|kab|ty|srn|zea|gag|dsb|ab|lo|ig|mdf|tet|av|kg|mwl|rmy|cu|ltg|lbe|kaa|kbd|sm|mo|na|pfl|got|bm|ik|as|sd|bi|iu|ks|pih|ss|pnt|chr|cdo|ee|ha|ti|bxr|za|om|zu|ve|ts|rn|sg|dz|tum|cr|ch|lg|fj|ny|st|xh|ff|tn|ki|sn|ak|chy|tw|ng|ii|cho|mh|aa|kj|ho|mus|kr|hz|zh\-cn|zh\-tw):/i

念のためにISO 639とマージしてみた。これでどうだ。

/^(aa|aar|ab|abk|ace|ach|ada|ady|ae|af|afa|afh|afr|ain|ak|aka|akk|alb|ale|alg|als|alt|am|amh|an|ang|apa|ar|ara|arc|arg|arm|arn|arp|art|arw|arz|as|asm|ast|ath|aus|av|ava|ave|awa|ay|aym|az|aze|ba|bad|bai|bak|bal|bam|ban|baq|bar|bas|bat|bat\-smg|bcl|be|be\-x\-old|bej|bel|bem|ben|ber|bg|bh|bho|bi|bih|bik|bin|bis|bjn|bla|bm|bn|bnt|bo|bod|bos|bpy|br|bra|bre|bs|bua|bug|bul|bur|bxr|byn|ca|cad|cai|car|cat|cau|cbk\-zam|cdo|ce|ceb|cel|ces|ch|cha|chb|che|chg|chi|chm|chn|cho|chr|chu|chv|chy|ckb|co|cop|cor|cos|cpe|cpf|cpp|cr|cre|crh|crp|cs|csb|cu|cus|cv|cy|cym|cze|da|dak|dan|dar|day|de|del|deu|dgr|din|diq|div|doi|dra|dsb|dua|dum|dut|dv|dyu|dz|dzo|ee|efi|egy|eka|el|ell|elx|eml|en|eng|enm|eo|epo|es|esk|est|et|eu|eus|ewe|ewo|ext|fa|fan|fao|fas|fat|ff|fi|fij|fin|fiu|fiu\-vro|fj|fo|fon|fr|fra|fre|frm|fro|frp|frr|frs|fry|ful|fur|fy|ga|gaa|gag|gan|gay|gd|gem|geo|ger|gez|gil|gl|gla|gle|glg|glk|glv|gmh|gn|goh|gon|gor|got|grb|grc|gre|grn|gu|guj|gv|ha|hai|hak|hat|hau|haw|he|heb|her|hi|hif|hil|him|hin|hit|hmn|hmo|ho|hr|hrv|hsb|ht|hu|hun|hup|hy|hye|hz|ia|iba|ibo|ice|id|ido|ie|ig|ii|iii|ijo|ik|iku|ile|ilo|ina|inc|ind|ine|inh|io|ipk|ira|iro|is|isl|it|ita|iu|ja|jav|jbo|jpn|jpr|jrb|jv|ka|kaa|kab|kac|kal|kam|kan|kar|kas|kat|kau|kaw|kaz|kbd|kg|kha|khi|khm|kho|ki|kik|kin|kir|kj|kk|kl|km|kmb|kn|ko|koi|kok|kom|kon|kor|kos|kpe|kr|krc|kro|kru|ks|ksh|ku|kua|kum|kur|kut|kv|kw|ky|la|lad|lah|lam|lao|lat|lav|lb|lbe|lez|lg|li|lij|lim|lin|lit|lmo|ln|lo|lol|loz|lt|ltg|ltz|lu|lub|lug|lui|lun|luo|lv|mac|mad|mag|mah|mai|mak|mal|man|mao|map|map\-bms|mar|mas|may|mdf|men|mg|mga|mh|mhr|mi|mic|min|mis|mk|mkd|mkh|ml|mlg|mlt|mn|mnc|mni|mno|mo|moh|mol|mon|mos|mr|mri|mrj|ms|msa|mt|mul|mun|mus|mwl|mwr|my|mya|myn|myv|mzn|na|nah|nai|nap|nau|nav|nb|nbl|nd|nde|ndo|nds|nds\-nl|ne|nep|new|ng|nic|niu|nl|nld|nn|nno|no|nob|nog|non|nor|nov|nr|nrm|nso|nub|nv|nwc|ny|nya|nym|nyn|nyo|nzi|oc|oci|oj|oji|ojp|om|or|ori|orm|os|osa|oss|ota|oto|pa|paa|pag|pal|pam|pan|pap|pau|pcd|pdc|peo|per|pfl|phn|pi|pih|pl|pli|pms|pnb|pnt|pol|pon|por|pra|pro|ps|pt|pus|qu|que|raj|rap|rar|rm|rmy|rn|ro|roa|roa\-rup|roa\-tara|roh|rom|ron|ru|rue|rum|run|rus|rw|sa|sad|sag|sah|sai|sal|sam|san|sc|scc|scn|sco|scr|sd|se|sel|sem|sg|sga|sgn|sh|shn|si|sid|simple|sin|sio|sit|sk|sl|sla|slk|slo|slv|sm|sma|sme|smi|smj|smn|smo|sms|sn|sna|snd|so|sog|som|son|sot|spa|sq|sqi|sr|srd|srn|srp|srr|ss|ssa|ssw|st|stq|su|suk|sun|sus|sux|sv|sw|swa|swe|syr|szl|ta|tah|tai|tam|tat|te|tel|tem|ter|tet|tg|tgk|tgl|th|tha|ti|tib|tig|tir|tiv|tju|tk|tkl|tl|tlh|tli|tmh|tn|to|tog|ton|tpi|tr|tru|ts|tsi|tsn|tso|tt|tuk|tum|tup|tur|tut|tw|twi|ty|tyv|udm|ug|uga|uig|uk|ukr|umb|und|ur|urd|uz|uzb|vai|ve|vec|ven|vi|vie|vls|vo|vol|vot|wa|wak|wal|war|was|wel|wen|wln|wo|wol|wuu|xal|xh|xho|yao|yap|yi|yid|yo|yor|za|zap|zea|zen|zh|zh\-classical|zh\-cn|zh\-min\-nan|zh\-tw|zh\-yue|zha|zho|zu|zul|zun):/i

CGI.pmのunescapeHTML()は変換してくれない文字実体参照がある。とりあえず見つけたのでは&sup2;とか。しかも変換できないなら放置してくれればいいのに、&と;だけは除去してくれたりするんで使えない。

他にまともなのは無いのかとぐぐったら、HTML::Entitiesというのがあるらしい。coreモジュールじゃないのでportsからインストール。が、うまくアンエスケープできない。うむぅ。もしかして自作しないといけないのか?

言語コードをあそこまで作りこんだら、流石に言語間リンクが赤リンクに混じりこんでくることは、ほぼなくなったかな。よかよか。

赤リンクリストを眺めてて知ったんだけど、[[Google:検索語]]と書けばgoogle検索へのリンクになるんだね。そんな記法、ヘルプに載ってないような気がするんだけど。一体どれだけ隠し機能があるんだぁ。って、MediaWikiのソースを読めってことなんかな。あと、<nowiki>...</nowiki>で囲まれた中はwiki記法は無効なんだね。それも対処しなきゃ。

とりあえずウィキペディアのダンプデータでどれだけの種類の実体参照が使われているのかの調査。つってもワンライナーとsort,uniqを繋げただけだけど。結果、7万種類ほど使われているけど、当然にほとんどが数値文字参照でこれは問題ない。

問題なのは文字実体参照で、試しにCGI.pmのunescapeHTML()で変換してみたけど、ほとんど変換できてないやん。出来てるのって& < > "の基本4種類くらい。役に立たんのー。

しかし、出力した中には謎な文字実体参照も含まれているんだけど。&A;とか&110;とか一体何だ?何に置換すればいいんだ?

デバッグとして集計機能で通常は100件のところを1000件まで出力してみたんだけど、下位にいくと色々問題のあるデータがあるなぁ。まだまだデバッグが必要か。ああしんど。一体いつになったら終われるのやら。

おお、初めてウィキペディアの自分の会話ページにメッセージが来た。厳密には「ようこそ」が初めてだけど、あれは定型文なんで除外して、意味のあるメッセージだと初めて。

で、内容はというと、私が改名提案している「Zynga」について、改名先である「ジンガ」の記事を書いてしまった人からのお詫び。私が改名提案したときは「Zynga」へのリダイレクトだけだったんで問題なかったんだけど、記事の中身が出来ると問題だな。内容的に「ジンガ」を「ジンガ (曖昧さ回避)」に改名して、その後に「Zynga」を「ジンガ」に改名するという段取りかな。提案修正が必要だけど、今日はもう遅いので明日にしよう。

2011年6月10日

アメリカの作曲家とだという「デイヴィッド・マスランカ」の記事が定義文なしで削除依頼に回っていたので、英語版を元に少し加筆してみる。ほんとは英語版を翻訳すればいいんだけど、英語版の記事はどうも情緒的な文章な気がするので、そのまま翻訳してもってきたら日本語版では削除されそうな気がしてやめておく。

昨日の「ジンガ」について、改名提案の修正対応。審議期間も今日から一週間に延長。

jawptool。文字実体参照の変換テーブルを作成。数がいっぱいあって面倒で大変。でもなんとか完成。ぜいぜい。昨日抽出した実体参照の使用データに適用してみると、まあいい感じ。&A;とかは誤記と思われるので無視しても構わんだろう。CGI.pmのunescapeHTML()みたいに、&と;だけを除去なんてことをしないからテキストを破壊することもないし。

ちなみに、変換テーブルはこんなのになりました。

my %table = (
    # マークアップ
    '&quot;'=>'"', '&lt;'=>'<', '&gt;'=>'>',
    # ISO-8859-1 ラテン
    '&nbsp;'=>' ', '&iexcl;'=>'?', '&cent;'=>'?', '&pound;'=>'?', '&curren;'=>'?', '&yen;'=>'\\', '&brvbar;'=>'?', '&sect;'=>'§', '&uml;'=>'¨', '&copy;'=>'?', '&ordf;'=>'?', '&laquo;'=>'?', '&not;'=>'?', '&shy;'=>'?', '&reg;'=>'?', '&macr;'=>'?', '&deg;'=>'°', '&plusmn;'=>'±', '&sup2;'=>'?', '&sup3;'=>'?', '&acute;'=>'´', '&micro;'=>'?', '&para;'=>'¶', '&middot;'=>'?', '&cedil;'=>'?', '&sup1;'=>'?', '&ordm;'=>'?', '&raquo;'=>'?', '&frac14;'=>'?', '&frac12;'=>'?', '&frac34;'=>'?', '&iquest;'=>'?', '&Agrave;'=>'?', '&Aacute;'=>'?', '&Acirc;'=>'?', '&Atilde;'=>'?', '&Auml;'=>'?', '&Aring;'=>'?', '&AElig;'=>'?', '&Ccedil;'=>'?', '&Egrave;'=>'?', '&Eacute;'=>'?', '&Ecirc;'=>'?', '&Euml;'=>'?', '&Igrave;'=>'?', '&Iacute;'=>'?', '&Icirc;'=>'?', '&Iuml;'=>'?', '&ETH;'=>'?', '&Ntilde;'=>'?', '&Ograve;'=>'?', '&Oacute;'=>'?', '&Ocirc;'=>'?', '&Otilde;'=>'?', '&Ouml;'=>'?', '&times;'=>'×', '&Oslash;'=>'?', '&Ugrave;'=>'?', '&Uacute;'=>'?', '&Ucirc;'=>'?', '&Uuml;'=>'?', '&Yacute;'=>'?', '&THORN;'=>'?', '&szlig;'=>'?', '&agrave;'=>'?', '&aacute;'=>'?', '&acirc;'=>'?', '&atilde;'=>'?', '&auml;'=>'?', '&aring;'=>'?', '&aelig;'=>'?', '&ccedil;'=>'?', '&egrave;'=>'?', '&eacute;'=>'?', '&ecirc;'=>'?', '&euml;'=>'?', '&igrave;'=>'?', '&iacute;'=>'?', '&icirc;'=>'?', '&iuml;'=>'?', '&eth;'=>'?', '&ntilde;'=>'?', '&ograve;'=>'?', '&oacute;'=>'?', '&ocirc;'=>'?', '&otilde;'=>'?', '&ouml;'=>'?', '&divide;'=>'÷', '&oslash;'=>'?', '&ugrave;'=>'?', '&uacute;'=>'?', '&ucirc;'=>'?', '&uuml;'=>'?', '&yacute;'=>'?', '&thorn;'=>'?', '&yuml;'=>'?',
    # ラテン拡張
    '&OElig;'=>'?', '&oelig;'=>'?', '&Scaron;'=>'?', '&scaron;'=>'?', '&Yuml;'=>'?', '&circ;'=>'?', '&tilde;'=>'?', '&fnof;'=>'?',
    # ギリシア文字
    '&Alpha;'=>'Α', '&Beta;'=>'Β', '&Gamma;'=>'Γ', '&Delta;'=>'Δ', '&Epsilon;'=>'Ε', '&Zeta;'=>'Ζ', '&Eta;'=>'Η', '&Theta;'=>'Θ', '&Iota;'=>'Ι', '&Kappa;'=>'Κ', '&Lambda;'=>'Λ', '&Mu;'=>'Μ', '&Nu;'=>'Ν', '&Xi;'=>'Ξ', '&Omicron;'=>'Ο', '&Pi;'=>'Π', '&Rho;'=>'Ρ', '&Sigma;'=>'Σ', '&Tau;'=>'Τ', '&Upsilon;'=>'Υ', '&Phi;'=>'Φ', '&Chi;'=>'Χ', '&Psi;'=>'Ψ', '&Omega;'=>'Ω', '&alpha;'=>'α', '&beta;'=>'β', '&gamma;'=>'γ', '&delta;'=>'δ', '&epsilon;'=>'ε', '&zeta;'=>'ζ', '&eta;'=>'η', '&theta;'=>'θ', '&iota;'=>'ι', '&kappa;'=>'κ', '&lambda;'=>'λ', '&mu;'=>'μ', '&nu;'=>'ν', '&xi;'=>'ξ', '&omicron;'=>'ο', '&pi;'=>'π', '&rho;'=>'ρ', '&sigmaf;'=>'?', '&sigma;'=>'σ', '&tau;'=>'τ', '&upsilon;'=>'υ', '&phi;'=>'φ', '&chi;'=>'χ', '&psi;'=>'ψ', '&omega;'=>'ω', '&thetasym;'=>'?', '&upsih;'=>'?', '&piv;'=>'?',
    # 一般記号と国際化用の制御文字
    '&ensp;'=>'?', '&emsp;'=>'?', '&thinsp;'=>'?', '&zwnj;'=>'?', '&zwj;'=>'?', '&lrm;'=>'?', '&rlm;'=>'?', '&ndash;'=>'?', '&mdash;'=>'―', '&lsquo;'=>'‘', '&rsquo;'=>'’', '&sbquo;'=>'?', '&ldquo;'=>'“', '&rdquo;'=>'”', '&bdquo;'=>'?', '&dagger;'=>'†', '&Dagger;'=>'‡', '&bull;'=>'?', '&hellip;'=>'…', '&permil;'=>'‰', '&prime;'=>'′', '&Prime;'=>'″', '&lsaquo;'=>'?', '&rsaquo;'=>'?', '&oline;'=>'~', '&frasl;'=>'?', '&euro;'=>'?', '&image;'=>'?', '&ewierp;'=>'?', '&real;'=>'?', '&trade;'=>'?', '&alefsym;'=>'?', '&larr;'=>'←', '&uarr;'=>'↑', '&rarr;'=>'→', '&darr;'=>'↓', '&harr;'=>'?', '&crarr;'=>'?', '&lArr;'=>'?', '&uArr;'=>'?', '&rArr;'=>'⇒', '&dArr;'=>'?', '&hArr;'=>'⇔',
    # 数学記号
    '&forall;'=>'∀', '&part;'=>'∂', '&exist;'=>'∃', '&empty;'=>'?', '&nabla;'=>'∇', '&isin;'=>'∈', '&notin;'=>'?', '&ni;'=>'∋', '&prod;'=>'?', '&sum;'=>'?', '&minus;'=>'?', '&lowast;'=>'?', '&radic;'=>'√', '&prop;'=>'∝', '&infin;'=>'∞', '&ang;'=>'∠', '&and;'=>'∧', '&or;'=>'∨', '&cap;'=>'∩', '&cup;'=>'∪', '&int;'=>'∫', '&there4;'=>'∴', '&sim;'=>'?', '&cong;'=>'?', '&asymp;'=>'?', '&ne;'=>'≠', '&equiv;'=>'≡', '&le;'=>'?', '&ge;'=>'?', '&sub;'=>'⊂', '&sup;'=>'⊃', '&nsub;'=>'?', '&sube;'=>'⊆', '&supe;'=>'⊇', '&oplus;'=>'?', '&otimes;'=>'?', '&perp;'=>'⊥', '&sdot;'=>'?',
    # シンボル
    '&lceil;'=>'?', '&rceil;'=>'?', '&lfloor;'=>'?', '&rfloor;'=>'?', '&lang;'=>'?', '&rang;'=>'?', '&loz;'=>'?', '&spades;'=>'?', '&clubs;'=>'?', '&hearts;'=>'?', '&diams;'=>'?'
);

&amp;がないけど、これは最初に変換しないといけないので、特殊ケースとして除外。

ということで、本番データで集計テストをしてみるんだけど、すげえ遅くなってる。これは、明らかに実体参照の変換に時間が掛かってるんだな。テストのときは処理を外そうか。というか、文字列に&が含まれてなかったらスルーするようにすればいいのか。そうだな。それが当たり前だよな。そんな当然のことすら、やってみないとわからないというのが、私の頭の悪いところだよな。

それでも遅いので、ループ回して処理していたのを、逆転させて正規表現でそれっぽいパターンをテーブルからひいてみるという処理に変更。ちなみに最初に書いたのはこんなコード。

foreach( keys %table ) {
    $text =~ s/$_/$table{$_}/g;
}

これを

$text =~ s/(&\w+;)/defined($table{$1}) ? $table{$1} : $1/eg;

というのに変えました。つか、それってlintのときに高速化に使ったテクニックそのままやん。これでようやく修正前くらいの速度にまで戻った。ああ、半日無駄にした。それにしてもアホすぎる。

それでなんとか出来上がったレポートを眺めてみる。うーん、URLエンコードされたデータがあるなぁ。これもデコードしてやらないかんか。また処理が重くなる。

あと、集計値が0になってしまうバグがあったんで修正したけど、修正をミスってプログラムが途中終了するようになってしまった。なかなか原因が見つけられなかったけど、変数を壊しているところをなんとか発見して修正。ぜいぜい。ということで再集計。

管理者の信任投票が始まったな。最初の方の人はもっと前に始まってるんだけど。で、15歳さんは反対意見が今のところ多い。うーん、そうなるか。質疑応答を見てる限り、私は問題ないと思うんだけどなぁ。ただ、編集歴が少なく、どのような人か判断がつかないというコメントはごもっとも。

集計結果が出た。チェックしてみると、だいぶいい感じ。疑問の残る部分もなくはないが、現状で公開してもさほど問題のない結果を得られたのではないだろうか。ただ、URLデコードは失敗してるようなので、そこは要修正。

2011年6月11日

朝から1回集計を掛けてみる。2時間待ち。このデバッグは辛いなぁ。結果が出てみてみると、URLエンコードされてたところはうまくいったみたい。ただ、別の問題を発見。全角スペースは内部リンク時には半角スペース扱いになるのね。どこでそんな機能が決まっているのやら。対応してコードを修正して再度集計。これで終わりにならないかなぁ。

管理者信任投票のコメントで知ったけど、削除者という権限限定管理者の制定が準備されているのね。

カテゴリなしページと孤立したページの更新があったので、対処作業。ま、淡々と。ルーチンワーク化してきたなぁ。

集計基準に誤りがあったような気がするので、ちょこっと修正したら、またサイト上の実数との乖離が激しくなった。一体なんやねん。つうか、一体いつになったら終わるんだろう。

2011年6月12日

管理者信任投票は、最初の人は不信任で終わったか。残念だったね。残り3人は、2人が信任されそうで、15歳さんは不信任されそうな流れ。ともあれ、不足しているという管理者が少しでも増えるのならいいことだね。

集計の乖離は、やはりテンプレート内で呼び出されている回数をカウントしてないからかな。テンプレート内呼び出しをカウントするかどうかは基準の違いだから、間違っているわけではないと言えそう。ただ、プログラムのバグの可能性もなくはないから、別の方法で集計して念のために確認するのがいいかな。

2011年6月13日

提案から一週間経って反対がなかったので「Sitecore」を「サイトコア」に改名を実施。移動元はリダイレクトで残していいんだけど、ノートのリダイレクトは即時削除を依頼。あと提案タグを剥がして、改名提案ページに結果報告。ぜいぜい。毎回の事ながら、手順漏れが無いか心配になるわ。

削除依頼が出ている案件についてコメントしたいのがあるんだけど、今日は疲れたので明日にしよう。

2011年6月14日

一週間経ったので「Avalanche Press」を「アヴァランチ・プレス」に改名。合わせて「アバランチプレス」「アヴァランチプレス」をリダイレクトで作成。ノートの残骸を即時削除依頼提出。改名提案タグの除去。改名報告。することが多い?。

そういえば、昨日の「Sitecore」のノートの残骸の即時削除依頼がまだ処理されてないな。やっぱり管理者が不足していて、手が回ってないのかな。

削除依頼にコメントを出す。一つは学校カテゴリ。全部で6件なんだけど、前半3件は市区町村単位の私立小学校というもの。これは確かに過剰な細分化ということで削除票。ただし、過去の公立小学校案件と同様という意見の人がいたので、そこには異論を挟んでおく。

なぜなら「プロジェクト:学校」での議論の結果次第では、全ての小中学校記事が作成される可能性がある。そうした事態になった場合には、都道府県単位のカテゴリでは大きすぎるので、市区町村単位のカテゴリが必要になると思われるから。

残り3件は宗教系幼稚園のカテゴリ。類似カテゴリとして宗教系大学、高校、中学校、小学校の各カテゴリがあるので、それとの整合という意味で存続票。ただし、宗教系学校カテゴリは宗派と学校区別が入り乱れているようなので、整理してはどうかと提言しておく。

次にコメントしたのは「Category:I-revoで配信されているゲーム」。知らなかったけど、そういうポータルサイトがあるらしい。依頼理由はサービスが終了したので有用性がなくなったということだけど、それは百科事典の記述としては不適切だろう。サービスが終了しても、過去にどんなサービスがあったか調べたい人はいつになっても存在すると思われるから。ただ、カテゴリ名が現在進行形で命名されているので、それが不適切という意味で削除には同意。そもそも「すぐに古くなる表現は使わない」というガイドラインに反していると思うんだけど。

例によって、孤立したページとカテゴリなしページの更新作業。

2011年6月15日

削除依頼の長期積み残し案件の消化お手伝いで一覧を眺める。特筆性なしで依頼にあがっていた「江本省悟」さんは、ぐぐってみると本人サイトからのコピペが確認されたので、著作権侵害も理由に追加して削除票。一方、私が依頼に挙げていた「サイラス (プロレスラー)」は、ようやく同意票が入って削除された。

コメント依頼に、ガンダムシリーズに登場する戦闘機?の読み方についての議論があったのでコメントしてみる。依頼者の主張は、執筆者以外の第三者による出典の検証が必要ということだけど、ウィキペディアのガイドラインはそこまで求めてないと思う。出典は示されればよく、第三者による検証はそれが可能であれば記事を執筆するには十分じゃないかな。ということで、執筆者が出典を示しているんだから、終了でいいんじゃないでしょうかと書いてみた。

新しいデータベースダンプが公開されていたのでダウンロード。6月12日版か。きちんと1ヶ月に1回というわけでもないし、どういうタイミングで作成されているんだろう。

コメント依頼の件は、依頼者が納得してくれて無事に終了になりそうな雰囲気。よかった。

2011年6月16日

江本省悟」さんはさっくりと削除されていた。

common.jsというものが設定できることをようやく知る。要するに、個人で設定できるページ拡張みたいなものかな。色々調べてみて、試しにSummaryByteCounterというのをインストールしてみる。編集時の要約欄の記入バイト数(表示されるのは残りのバイト数)が表示されるようになる。250バイトを越えると切り捨てられるそうなので、それを防ぐことができるというもの。なるほど。そんな長いコメントは書いたことはないけど、あると便利かな。他にも色々あるようなので、気になったものがあれば使ってみよう。

なんか久しぶりのjawptool。いきなりだけど目標。6月30日に公開することにする。期限を決めてやらないと、だらだらしてちゃいかん。ま、それでも6月30日ってのは、だいぶゆっくりめのスケジュールでもあるんだけど。

公開はsourceforge.jpを使う予定。ということで、ずっと昔にアカウント取ってほったらかしにしていたsourceforge.jpにアクセスして、個人設定を少ししてみたりとか。

思い立ってMeCab関係の機能を取り外す。別のコマンドにしよう。あと、記事一覧を取得するときに、これまではLintとかで使う名前空間だけを対象にしていたのを、全名前空間を対象にするように変更。あわせて、レポートの出力もtable記法に変更。これで、レポート結果が問題なければ、集計機能に関してはほぼ完成と言っていいだろう。

タイトル一覧の出力形式を、これまではperlから利用しやすいようにperlコードにしてたんだけど、流石にそれは現代的にまずいかなと思って、とりあえずYAMLにしてみる。perlから読み込むのに時間掛かるかもしれないけど、それならYAMLからperlへのコンバータを作ればいいだけのことだから、まあこれでいいでしょう。ちなみになんでJSONにしなかったかというと、レンタルサーバのさくらにはYAMLモジュールは入ってるのにJSONのモジュールが入ってなかったから。なんで入ってないのか不思議だけど。

2011年6月17日

カテゴリなしと孤立の作業。淡々と、と思ったらややこしい案件にぶち当たってしまった。ややこしいのでスルーしようかと思ったけど、みつけてしまった以上は仕方が無いなと対処。

どういうことかというと、あるIPユーザが「ゴールデンアワー」という曖昧さ回避記事の内容をコピペして「ゴールデンアワー (曖昧さ回避)」を作成し、「ザ・ゴールデンアワー」を「ゴールデンアワー」にコピペしたというもの。

ゴールデンアワー」のコピペについては既に削除依頼が出ているので、残るのは「ゴールデンアワー (曖昧さ回避)」のみ。本来ならウィキペディア内のコピペ作成は「即時削除:全般6」の理由で即時に削除できるんだけど、コピペ後に有意な加筆があるとそれが出来ない。で、今回は第三者が加筆してたと。加筆を責める事はできないよな。善意だし。もちろん責める気もないし。

ということで、加筆部分を「ゴールデンアワー」に転記して、「ゴールデンアワー (曖昧さ回避)」を通常の削除依頼にかける。ぜいぜい。

なんでIPユーザさんがそういう編集をしたかというと、「ザ・ゴールデンアワー」というのはテレビ番組だそうなんだけど、それがタイトル変更になって「ゴールデンアワー」になったそうなのね。それにあわせて記事を書き換えたということだけど、それなら改名依頼を出すのが正式な方法で、コピペしてはダメなんだよぉ。そういうことをすると、他の人の手間がたくさん掛かるので、やめて欲しいよぉ。

管理者の信任投票。二人が信任されて、15歳さんは不信任に終わった。経過どおりの結果になったね。まあ、終盤での大逆転なんてのは、よっぽどの隠し玉が無い限り有り得ないか。ともかく、管理者が二人も増えてよかったよかった。

改名提案から一週間経ったので「ジンガ」を「ジンガ (曖昧さ回避)」に「Zynga」を「ジンガ」に改名を実施。

順番からして、まず先に「ジンガ」を「ジンガ (曖昧さ回避)」に移動。これは当然問題なく行える。

次に「Zynga」を「ジンガ」に移動しようとしたら、出来なかった。移動機能のヘルプでは、移動先が存在してもリダイレクト1版のみだったら一般の利用者でも移動可能とあるので大丈夫だと思ったんだけど、この場合はダメっぽい。そういう場合は移動依頼を出すそうなので提出。まだこの案件は終われないね。

そうそう、ノートの残骸を即時削除に出さなきゃと思ったら「ノート:ジンガ」が存在しない。なんでだ?と思ったら、議論は「ノート:Zynga」で行ったからか。ノートが作成されてないと、残骸も残らないのね。こういうケースははじめてなんで知らなかったよ。まだまだ知らないことだらけだなぁ。

と思っているうちに、移動依頼がさっくりと処理されていた。すばやい。当然の事ながら、問題なく処理されている。ありがとう、管理者さん。

2011年6月18日

ずっとほったらかしにしていた「北京市アメリカ人殺害事件」の翻訳に手をつける。まず記事名が不適切という指摘があったので、英語版の直訳で「2008年北京鼓楼刺傷事件」にする予定。

で、本文を訳しはじめるんだけど、やっぱしんどい。翻訳って疲れるわ。前にも書いたけど、ざっと読んで概略の意味を取ることはできても、一文一文をちゃんと日本語に置き換えるのって難しい。英語力もだけど、日本語の能力も問われるね。

でまあ、だいたい本文は訳せたんだけど、ほんとにこれでいいかだいぶ不安。どうしようかな。アップするのやめようか。もしくは、不安なところは原文のままにしておくか。horticulturalistなんて単語があるんだけど、辞書でひくと園芸家と出てくる。ほんとに園芸家でいいのか?削除依頼の時に示された日本語のニュース記事には、どこにもそんなことは書いてないんだけど。

ところで、その日本語のニュースの一つに、事件の背景をかなり深くまで掘り下げた記事があって、なかなか興味深い。犯人は当時47歳。私より10歳くらい上かな。このくらいの年齢の人が生まれた頃って、中国はまだバリバリの共産主義国家だった。国家に定められた人生を謳歌していればいいと思っていたのに、途中から市場経済が導入されて、富める者と貧しき者に分かれるようになってしまった。若いなら人生をやり直すこともできるけど、いい年になってしまった犯人は今更どうしようもない。そして、自暴自棄になって事件を起こし、自殺した。これって結構興味深い事件じゃないかな。中国社会の闇の部分とでも言うか。

例えていうなれば、現代日本の若年層の雇用不安や将来への不安感の象徴として秋葉原殺傷事件を捉える文脈があるように、中国の社会不安の一つの象徴がこの事件と言えるのではないだろうか。もちろん、どのような理由があっても殺人を正当化することはできないのは当然として、そのような不安層が一定数存在するということの提示ではないだろうかということ。そんなことを考えさせられるこの事件は、特筆性があるんじゃないだろうか。しかし、英語版の記事にもそのようなことはあまり書いてないので、日本語版で加筆できるといいんだけど、そんな文章力私にあるのかしらん。この感想は独自研究だもんねぇ。

今更ながら思い立って、WikiJA-lメーリングリストに登録してみる。自分も勘違いしてたけど、これってウィキペディア日本語版のメーリングリストじゃなくて、ウィキメディアの全プロジェクトの日本語版のメーリングリストなんだね。ということは、何を話せばいいのかな。他のプロジェクトのことがよく分かってないから、よくわからん。ま、無理に話題を振る必要もないんだけど。とりあえず流れてくるメールを読んで、プロジェクトのことを理解しよう。

2011年6月19日

Category:I-revoで配信されているゲーム」については、依頼者の方が提案を聞き入れてくださり、改名案とすることが提示されたので、諸手を挙げて賛成。

削除依頼の長期積み残し案件。「メインストリーム」について、「ノート:メインストリーム (用語)」の改名提案が合意したので改名先のこちらの記事を削除したいとのこと。議論を確認し、削除に賛成票を入れる。

2011年6月20日

今日も削除依頼の長期積み残し案件を眺めていたんだけど、「三田渡の盟約」の依頼で興味深い文章を見かける。

以前に「コピーフリーのウィキペディアの文章をコピペして何がダメなんだろう」と書いたけど、ダメな理由がやっとわかった。そうなんだよ。コピペしただけじゃだめなんだよ。コピーフリーではあるけど、パブリックドメインにあるわけではなくて著作権は放棄されてない。で、著作者が主張しているのはコピーフリーだけど著作権者の表示義務はあるよということなんだよ。

だから、単にコピペしただけではこの表示義務を果たしてなくて、履歴欄にどこからコピペしたかを明記しておかないといけないということなんだよ。なるほど、ようやくわかったよ。分かってみれば単純な話なんだけどね。

メーリングリストに加入したこともあり、ウィキペディア以外のプロジェクトもちょこっと覗いてみようと思い、ウィキニュースを少し眺めてみた。流石にウィキペディアほどには知られてないだけあって、言っては悪いかもしれないけど閑散としているというか。統計によると参加者の数もだいぶ少ないし。

ウィキペディアの井戸端に相当すると思われる赤提灯というページで議論をざっと眺めてわかったところでは、ウィキペディアと違って査読・公開というシステムがあり、原則として公開した記事は修正してはいけないらしい。んで、初心者(大抵はウィキペディアから流れてきたであろう)が記事を修正して怒られるというのが常態化しているとか。それなら、公開した記事は保護してしまえばいいと思うのだが、そうはいかんのかな。もうちょっと色々眺めて勉強してみよう。

カテゴリ無しと孤立ページの更新があったので作業。カテゴリ無しに「ウィルフリッド・ローリエ大学」というページがあった。初版は「Wilfrid Laurier University」へのリダイレクト(英語版ではなく日本語版への)。2版は白紙化。

削除依頼に出そうかと思ったけど、リダイレクトの削除の方針をよく読むと、記事化できる場合は普通に編集して構わないということだったので、ぐぐった情報から最低限のスタブに仕上げた。

で、出来上がったあとに、何気なく初版執筆者の会話ページに行ってみると、削除依頼の報告が!がーん。リダイレクトの削除依頼のページに行ってみると、確かに削除依頼が出されてる。気付かんかったよ。つか、リダイレクトの削除依頼って、その記事ページにはタグも何も貼られないから、わかんないよな。うーん、うかつ。仕方が無いので、削除依頼のページに加筆の報告と、出来ればこのまま存続して欲しいというコメントをつける。

北京市アメリカ人殺害事件」改め「2008年北京鼓楼刺傷事件」。どうしようか悩んだけど、立項することにする。とりあえず、ToDoが一つ完了。ほっと一息。

ウィキニュースには短信という短い記事用のページがある。練習にはちょうどいいかなと思って、スパコン京の世界一のニュースを投稿してみた。が、投稿してから気付いたけど、本記事(というのが適切かどうか)が執筆中だったのね。そりゃ、これだけの大ニュースだから、執筆されてない方がおかしいか。うむぅ、こういう場合はどうなるんだろう。削除されるのかな。やってしまったものは仕方がないので、様子をみよう。

短信のノートにも書いてあったけど、ウィキペディアのトップにも「最近のできごと」というコーナーがあって、かぶってるんだよね。統合してしまえればいいのに、それは無理なのかな。今は各プロジェクトのサイトは完全に独立した状態になっているけど、各プロジェクトのいいとこ取りをしたようなウィキメディアポータルサイトみたいな形になるといいんじゃないかなと妄想するけど、簡単なことではないんだろうね。多分。

ところで、ウィキペディアの編集者のことをウィキペディアンというのだけれど、ウィキニュースの編集者はなんと呼ぶのだろう。特に決まってないのかな。全てのプロジェクトを統合してウィキメディアンというのはありそうだ。

なんとなく思い立って、懐かしの「Crobots」の記事を翻訳する。私はこれでC言語に入門したんだよねぇ。サブセットCだから、ちゃんとしたCではないんだけど。しかし、翻訳してて驚いたけど、クローンが凄い進化を遂げてるんだね。こういうことを知ることが出来るのって、楽しいねぇ。

ところで「2008年北京鼓楼刺傷事件」にしても「Crobots」にしてもそうなんだけど、記事をアップしたらすぐにロボットによって英語版の記事に言語間リンクが貼られるね。24時間ずっと動かしっぱなしになってるんだろうか。もしくは、新着記事をチェックするようなロボットになっているのかな。せっかく英語版に編集履歴を残せると思ったのに、これでは出来んではないか。

2011年6月21日

今日は初めてのウィキブレイク。って、普通は1日だけではウィキブレイクとは言わんのかもしれんけど。丸一日別のことをしていて、ウィキペディアに関することは何もしなかった。まあ、こういう日があってもいいよね。

ちなみにウィキブレイクとは、ウィキペディア(ウィキメディア)に関する活動をお休みすること。興味が薄れたとか、仕事が忙しくなったとか、色々な理由でしばらくお休みするようなことは、誰にだってあるよね。それをウィキブレイクというそうな。

本人の意思や都合によるもののほかに、投稿ブロックを受けて物理的にウィキペディア活動が出来なくなることをウィキブレイクと言うこともあるらしい。そういうことには、ならない方がいいね。出来れば。

2011年6月22日

図書館から学校に関する統計資料を借りてきたんだけど、これって学校全部を統計した資料なのね。学校個別の統計情報が載っているかと期待したのに。やっぱり実物を見ずに、書誌情報を検索しただけで取り寄せるのは効率悪いなぁ。司書の人にも悪いし。今度、大きな図書館に行って、実物を見て探してみよう。

2011年6月23日

カテゴリなしと孤立したページの更新があったので対応。今回は削除依頼や改名提案するような案件はなかった。

細分化された学校カテゴリは、市町村別私立小学校三つが削除で、宗教系幼稚園三つが存続となった。私の意見と一致しているので、ちょっと嬉しい。

Wikifyが必要な項目」というカテゴリに含まれる記事の数が600件を越えて多くなってきたので、タグが貼られた年月でカテゴリを細分化してはどうかという提案があったので、賛成意見を表明。年月カテゴリ導入によって、カテゴリの見通しがよくなることに加え、長期間改善がみられない記事のピックアップにも役立つと思うから。

削除依頼の長期積み残し案件で私が以前コメントした「ヴィッテルスバッハ家のカテゴリー」。管理者さんから「ドイツ語版を参照すると、適切なカテゴリ変更には思えないんだけど」というコメントが付く。う、そこを突かれると弱いな。私はドイツ語版読んでないし、読めないし。ということで、申し訳ないが私がこれ以上でしゃばるのはやめて、関係者の人が出てくるのを待とう。

Blue Moon Rendering Tools」の英語記事を翻訳。Blue Moon Rendering ToolsというのはRenderMan互換のフリーの3DCGレンダラ。RenderManというのはPixerの作っているレンダラ。過去に仕事でRenderManを使っているとき、ライセンスが足りないからBMRTでレンダリングを回そうかという話がかなり真剣に出たことがあったりとか。

まあ仕事に使うのはともかく、趣味でRenderManを試してみるのには面白そうかなぁと思っていたんだけど、いつの間にか公開されなくなっていて、どうなったのかと思って調べてみたら、英語版の記事に行き当たったと。Pixerと色々揉めて公開とりやめになったそうなんだけど、その経緯は日本語でも分かるようになってるといいなということで翻訳。

英語版ウィキペディアが凄いなぁと思うのは、「RenderMan Software」なんていうニッチなテンプレートが存在すること。こんなの当然日本語版にはないからもってこれないよ。

ただ、そこのテンプレートから、他のRenderMan互換ソフトの一覧が分かったので、オープンソースの「Aqsis」「jrMan」「Pixie (ソフトウェア)」を翻訳。こんなにRenderMan互換ソフトがあるんだねぇ。その知識が今までは英語版にしかなかったわけだから、言語の壁というのは怖いなぁ。英語が読めないと、知ることすら出来ない。その壁を少しでも壊す力として自分が貢献できれば、それはいいことだなぁと思うんだけど。

2011年6月28日

随分と間があいてしまった。5日間のウィキブレイクでした。この間、色々忙しくて。あとは、一時に比べると流石に熱が下がってきたというのも否めないかもしれない。飽きたってほどではないんだけどね。

全くウィキペディアに関することをしてないというわけでもない。ちょこっとだけだけどね。その内の一つが、あまゆーずのアルバムが発売になったから、amazonで注文したということ。って、どこがウィキペディアやねーん!いやまあ、ウィキペディアでその存在を知ったわけだから、私にとっては全く無関係というわけではないということで。それにしても、一度も曲を聴いたことがないのにアルバム買うのってどうなんでしょうね。ジャケット買いというわけでもないし。まあ、別にいいか。

もう一つは、ウィキペディア英語版のダンプデータをダウンロードしてきたこと。これが流石にでかい。圧縮ファイルで13GB。展開してみると、9億行、77億ワード、70GB。日本語版の約10倍の規模といったところかな。ファイル数はまだ数えてないんだけど、相当ありそうだね。やはり、世界共通語は英語しか有り得ないよなぁと、こういうのを見せ付けられると思う。

久しぶりに、カテゴリ無しと孤立したページの作業。カテゴリなしでは「緊急放送チャイム」というリダイレクトが削除依頼されずに白紙化のみされてたので、リダイレクトの削除依頼に提出しておく。

441」というややこしい案件にぶち当たる。「プロジェクト:数学/数」によって、個別の数の記事はスタブになりやすいため、ある程度まとめてしまうということになっているらしい。「441」の場合は「400」にリダイレクトされてた。ところが、441という楽曲が存在するそうで、その項目を追記した人がいた。こういう場合はどうしたらいいんだろう。わからない。しばらくさまよった挙句、どうやら「400」の個別の項目で記述するのが正しいようなので、そのように編集対応する。

2011年6月29日

久しぶりにjawptool。何をやっていたか忘れてしまいそうだけど、意外と覚えているものだった。

lint機能はだいたい出来上がったと思っていいかな。試しに出力してみると、レポートは15000行。これくらいなら、修正作業もなんとかなるかな。

あと、lint-titleという機能を追加。記事名のチェック機能。行うのは、曖昧さ回避のカッコの違反と、BMP外文字の使用チェックくらいなんだけど。他に何か出来ることがあるかな。試してみると、BMP外文字の使用は一つもなかった。一つくらいはあるかと思ったのに、意外だな。

BMPというのはWindowsの画像ファイル……ではなくて基本多言語面というもの。UNICODEという文字コードにおける用語というか概念です。UNICODEの話は、深入りするとそれはそれは色々ややこしい話があって、私も全部ちゃんと理解しているわけではないんで、さらっとだけ書いておくと、最初のUNICODEにはBMPしかなかった。BMPでは1文字16bitで、つまり世界中の文字を最大65536文字まで収録出来るという設計だった。これで十分と当時は思われたんだけど(1990年頃の話です)、実際には全然足りねーということで拡張されることになったので、最初に定義されたのを基本多言語面(BMP)、拡張されたものを追加多言語面と呼ぶことになったわけです。

ウィキペディアのシステムであるMediaWikiでは、本文にはUNICODEの全ての文字が使用可能だけど、ファイル名にはBMPの文字しか使用できないという制限がある。だから、BMP外の文字が無いかどうかチェックするのは有効かなと思ったわけ。でも、実際には記事作成時にブラックリストがあって、そこではじかれて作成されないようになっているらしい(詳しくは知らない)。

即時削除の方針のノートで、出典の無い存命人物を全て即時削除しようという提案がされて話し合われている。意見を述べようかとも思うんだけど、それ以前にそもそも対象となる記事数がいくらなのかというのが気になったので、jawptoolに機能を組み込んで調べてみる。

結果、76364件。うわー、もしもこの方針が採択されたら、ウィキペディア日本語版から1割の記事がなくなることになるのか。それは、方針の変更で話し合われる内容というよりも、もっと大規模な討論としなければならないくらい影響範囲が大きすぎないだろうか。

テスト用のデータを5月22日版から6月12日版に変更する。やっぱ新しい方がいいもんね。

そういえば出典のない記事作成時の編集フィルターがあったなぁと思って議論を探し、正規表現をいただく。これで存命人物記事を再検索。

カテゴリなしと孤立ページが更新されたので作業。今回はややこしい案件はなかった。よかよか。

削除依頼をチェックしてて、ややこしい案件をみつけてしまった。「ファイル:The old main building of Meiji University.png」という明治大学の旧記念館の建築模型の写真の削除依頼。依頼理由は著作権侵害のおそれ。言われてみればわからんな。どうなんだろう。一般に建築物の写真は勝手に撮って公開して構わないことになっている。では建築模型の場合はどうか。ぐぐってみたけれど、これが正解というものはみつからなかった。

ただ、建築物の写真が自由なのは、著作権法46条で「屋外に恒常的に設置されているもの」「建築物」が明確に除外されているからというのはわかった。ということは、そこで規定されていない建築模型は写真を自由に使ってはいけないと解釈するのが自然かな。安全に倒して考えるという意味でも、削除が妥当だろうと考えて、そのように投票してみた。さて、結果はどうなるだろう。

何気にデータベースダンプのページを見にいったら、6月28日版が公開されてるよ。がっくし。早速ダウンロードするけど。それにしても、この更新って何とか通知してもらえないものかな。RSSが公開されてるのでもいいんだけど、なさそうだし。残る手立てはアンテナ登録か。ということで、はてなアンテナに登録して、更新通知をメールで受け取るようにする。

jawptoolの各種処理を全部行うバッチ的なスクリプトを書く。新ダンプが来たら、毎回同じ事をやるわけだからね。でもって、バッチを仕込んで寝る。

2011年6月30日

昨晩仕込んだバッチは無事に終了している。ということで結果を眺めていく。lint-titleについては、移動の残骸であるリダイレクトが大量にヒットしているなぁ。これはリダイレクトは除外した方がいいかも。

化学物質など、正式名称がカッコつきというのも大量にヒットするけど、これは仕方がないよなぁ。集計については、もうだいたいこれでいいかなぁと思う。乖離はしょうがないし。ただ、赤リンクで利用者サブページが検出されているのは抑制した方がいいかな。ということで、それぞれ修正。

lint-textに基づく修正をしていて、ISBN記法にはcite bookテンプレート内で使用される場合もあるということを知る。ということは、これも対応しなきゃね。更に修正作業を続けていたんだけど、すっごい手間が掛かってめんどくさいので、うがーとなってやめてしまう。ぜいぜい。あんまり細かい間違いを気にしても仕方がないしなぁ。修正点がたくさんある記事だけを修正しよう。

修正したlint-textの結果から、1件削除依頼、1件移動。削除依頼したのは「クレート(曖昧さ回避)」で、「クレート (曖昧さ回避)」からのコピペ作成の上に、記事名がルールに乗っ取ってない、そして重複記事ということで依頼。移動したのは「善徳寺 (半田市)」。曖昧さ回避のカッコが全角だったので半角に変更。

しまった。「善徳寺 (半田市)」を移動したのに、跡地を即時削除に出してなくて、管理者さんに対処してもらってしまったよ。しかも、リンク切れの修正までしてもらって。全部私がやらなきゃいけなかったのに。いかんなぁ。

削除依頼の長期積み残し案件。「CRAZY-ISM クレイジズム」に削除票を投じる。

映画公式サイトからあらすじが転載されたんだけど、当然の事ながら制作会社のスタッフが宣伝として立項したものだった。だから宣伝理由で即時削除でもいいような気がするんだけど、著作物持込の手続きとして関連ブログに宣言を書いたからややこしい。

しかし、関連サイト上でいくら宣言してもウィキペディアの自著作物の持ち込み手続きを満たしてないし、そもそも職務著作と思われるから担当者が勝手にテキストをGFDLにしてしまっていいものではないはず。更に言えば、立項者は「改善します」と言いながら1ヶ月以上に渡って何もしてないので、改善の見込みもない。ということで削除して再立項してはどうかという立場。

jawptoolの開発。コメントされた部分とかはlintのチェックからは外したいんだけど、単純にs/<!--.*?-->//sgとかやっちゃうと、行が丸ごと消えてしまう場合がある。そういう場合に警告に付ける行番号がずれてしまうのが困る。ということで、行数は保持しながら削除する処理を一生懸命考えてなんとか実装。うまく出来上がってよかった。これで一安心。

本来なら、今日がjawptoolの公開日のつもりだった。でもプログラムはまだ公開できるレベルには達してない。ので公開できない。部分的にでもレポートだけでも公開しようかなぁと思うんだけど、特にlintレポートはサイズが大きくなる傾向にあるので、これをウィキペディアに載せるのはどうかという気がする。わずかとはいえ、サーバの容量を圧迫するよなぁ。

ならば、wiki記法になっているレポートをhtmlに変換して自分のサイトに載せようかとも思ったけど、wikiからhtmlへのコンバータを書くのって結構めんどくさい。MediaWikiからそこの部分を取ってきてもいいんだけど、その解析と取り出しも結構手間だしなぁ。ということで、どうしたものかと悩み中。

多重アカウントに関するガイドラインを今更ながらに読み返す。私は今はsaoyagi2というアカウントを使っているけれど、以前にsaoyagiというアカウントも取ったことがあった。でもパスワードを忘れたんだよね。

でまあ、そういう場合の対処の仕方とかもあったんだけど、ふと思い立って旧アカウントでログインを試してみたら、ログインできた!うわ、びっくり。つか、なんで以前試したときはダメだったんだろう。編集履歴があるから、今更以前のアカウントには戻らないけど、これで利用者ページで宣言が出来る。心配事が一つ減ってよかった。