83's

Top > Archives > 2006 > January

January 01, 2006

おまいらあけましておめでとう 00:23

                   /⌒ヽ∩
                   (^ω^ )ノ
             パハ   ⊂   ノ    パハ
           ('(゜∀゜ ∩   (つ ノ   ∩ ゜∀゜)')
       パハ   ヽ  〈    (ノ    〉  /     パハ
     ('(゜∀゜∩   ヽヽ_)        (_ノ ノ    .∩ ゜∀゜)')
     O,_  〈                      〉  ,_O
       `ヽ_)       \ │ /        (_/ ´
   パハ             / ̄\               パハ
⊂(゜∀゜⊂⌒`⊃       ─( ゜ ∀ ゜ )─        ⊂´⌒⊃゜∀゜)⊃
                 2 0 0 6 !
 
       あけましておめでとうございます。今年もよろしくおねがいします。
 
        今年が明るい話題でいっぱいになりますように。
 
    今年もいろんな技術にわくわくする   ∧_∧
         1年でありますように。      (´∀`)  ∧∧  @
                             (_]つy]つ(゜Д゜) @H@
そしてオレが卒業できますように…        |_|∽L|  ノ y|\HHH\
                             (_)_)〜(__JJ \===\

ブログ作っちゃうよ 01:59

前々からこのしょぼいブログをなんとかしたいと言っていたんですが、 ついに着手します。結局自作します、また。

なんか雇われることになった友達のベンチャー(?)ではWebサービスやるってことだったので。 とりあえずその予行練習です。ほんとにやるのかなぁ。

今一番手に馴染んでいるRubyでやるのが短期的には効率がいいはずなので、 この前彼と話したときにはあんまり推さなかったけどRailsでいくことに。 て、馴染んでるのはオレだけだけどさ。 でもASP.NETとか言われても、サーバからして環境違うから学習コストがね。いやオレだけだけどね。

で、今やってるのはエントリを書くためのオレオレ記法のパーサです。 これないと今まで書いた230くらいのエントリがただのゴミに……。 でもなんかこれが一番時間かかるような……。

オレオレ記法は現在こんな感じ。これ書いとかないと恐くて実装できません。
おれおれ記法構文図

なかなかなつかしー図。 なんだろ。LL(1)なのかなこれ。オートマトンとかコンパイラ構成論とか単位あるけど、 やっぱり手と頭を動かしてないからろくに身についてないよ……。 まー実装できればいいんです。

オレオレ記法はYukiWikiの文法をインスパイア拡張した感じです。 現在のブログでは正規表現でいきあたりばったりにHTMLに変換しているんだけど、 これだと簡単に誤変換する書き方ができてしまいます。

例えば……これは実際のオレオレ記法を簡略化したやつだけど、

&del(abc) → <del>abc</del>
&img(xyz.png) → <img src="xyz.png" />

&del(&img(xyz.png)) → <del>&img(xyz.png</del>) → <del><img src="xyz.png</del>" />

上みたいなことが起こる。

しかしこの調子でいつ完成するんだろう……。

January 04, 2006

オレオレ記法パーサ完成 13:32

やっとこさ完成。なかなかてこずったなぁ……。 急ぎすぎてパースエラーが超不親切。まーオレしか使わんからいいか。

text = <<TEXT
abcde
-f
-g
--h
--i
-j
||k||l|
|m|n|
opqrstu
vwx&amp;link(y;yahoo;http://www.yahoo.co.jp)z
TEXT
body = Text::YBlog::Body.new
body.parse(Text::YBlog::Context.new(text))
puts body
<p>
abcde
</p>
<ul>
<li>f</li>
<li>g
<ul>
<li>h</li>
<li>i</li>
</ul>
</li>
<li>j</li>
</ul>
<table>
<tr>
<th>k</th>
<th>l</th>
</tr>
<tr>
<td>m</td>
<td>n</td>
</tr>
</table>
<p>
opqrstuvwx<a href="http://www.yahoo.co.jp" title="yahoo">y</a>z
</p>

January 06, 2006

言及リンクのないトラックバックってどうしてあるのか 19:40

Livedoorがトラックバックスパムの対策として言及リンクの有無によるフィルタリングをするもよう。

言及リンクってのは、トラックバック先のエントリへのリンク、です。 これがないエントリからのトラックバックは排除しちゃおう、という話。 例えばトラックバックスパムはトラックバックしたエントリへのリンクを含んでいないので、 この対策で現在のスパムを遮断することができる、と。

でもこの対策を快く思わない人というのは、スパマーだけじゃない。 Livedoorブログのユーザからも文句が出ている。 まーそういう人達のトラックバックもスパムに括ってしまう見方ってのも一方であるわけだけど、 本人たちはスパムのつもりで打っているわけじゃない。 このすれ違いは何なんだろう。

それはトラックバックとは何か、っていうところが食い違ってるんだと思うんですよね。 単なる逆方向リンクを張る手段だと思っていれば、そりゃあ この対策には不満も出る──「なんで言及しないといけないの?」って。

オレの理解が正しいかどうかは知らないけど、 トラックバックは議論をつなぐ糸だと思う。 あるエントリの文脈を、他のエントリへつなぐもの。 議論はリンクでつながって、閲覧者はそのリンクをたどって議論を追いかけることができる。 各々のエントリは同じ文脈で続いているのだから、そこでトラックバック先のエントリへ 言及があり参照リンクが張られているのは当り前。

そういうわけだから、言及リンクのないトラックバックは遮断する、 というアイデアが出てくるんだとオレは思う。Livedoorのは本当のトラックバックスパムに対する 対策として導入したんだと思うけど、tDiaryのは上の理由なんじゃまいか。まー想像だけど。

対策が始まっても「言及のあるトラックバックをすること」ってルールは それだけで独り歩きしてくるんだろうねぇ。「リンクしさえすればいい」ってルールにすり変わってくるはず。 だからエントリの文脈と関係ないトラックバックってのは結局残るんじゃないかと。 まーうちはほとんどそういう心配する意味からしてないんですが。トラックバック来ないし。

とまあオレはこういう定義でトラックバックをとらえているので、 未熟者なオレにはなかなか人様のエントリに付け足ししたりする機会はなくて、 せっかくあるトラックバック機能もここ数ヵ月で身内への1発だけかな? 平和だねぇ。

ただ、ツールが違う使い方をされるってのは必ずしも悪いことではないよね。 その使い方が生み出しているものが、すべて悪いはずない。 むしろトラックバックを使わないオレみたいなネット引きこもり(リアルも(ノ∀`))より、 よっぽどこのツールを使い込んでいる人達がすることだから、 そこには新しいニーズってのがあるんですよ、きっと。 いくつかLivedoorの対策に不満を漏らしているエントリを見てみたけど、 その中でこういうのがあった。

さて、ここを読んでいただいている方は皆さまご存知だと思いますが、アニメの感想記事などでは、『トラックバックリング』とでも呼ぶべきリンクの輪が形成されています。

 これにより、他の方の感想記事を見て回ったりするのに、ブログ検索で大量の『外れ』(実は無関係の記事)を見てしまうという余計な手間を省くこともできるわけで、私はこの風習はとても良いことだと考えています。

この意見は、言及リンクのないトラックバックの利点として2つのことが言われてると思う。 少しオレの想像もミックス。

  • 言及リンクのないトラックバックで作ったリンクの輪が、人と人のつながりを作っていること
  • 言及リンクのないトラックバックで集まったエントリの類似度が高いこと(またそれらのエントリには親近感を持てること)

これがすべての意見ではないけど、「類似するブログとつながりたい、それも受動的に人間的に」 ってのはあるんじゃないかなぁ。 で、そのためにはトラックバックでなくてもいいはず。

とまあ、なんかまとまりが悪いけど、「ベンチャーでやるからWebサービス何か考えろ」って 言われたんでこれをネタに少し思考をめぐらしてみたものの……無理だ。当事者じゃないから……。 下請けプログラマとしてがんばります、オレは。

January 12, 2006

はてブのブックマークを複数のタグで絞り込むgreasemonkey 05:13

はてなブックマークはブックマークに対して検索ができますが、これ、タグも検索対象になるので タグで検索すれば複数のタグで絞り込んだことになるじゃんていう、しょうもないネタです。

( ・∀・)つ[Multi Tags Search]
greasemonkeyのスクリプトです。Firefox 1.0.7/greasemonkey 0.6.3/Win XPとFirefox 1.5/greasemonkey 0.6.4/Linuxで一応動作確認してます。

このスクリプトは、クリックしたタグを勝手に検索窓にコピーしやがります。うまくいけば。 はてブのブックマークを複数のタグで絞り込むのを助けるgreasemonkeyです。

インストールすると、はてブの検索窓が少し変わります。

はじめ

試しに、読んでいないプログラミング関係のブックマークを見付けるために、 「あとで読む」タグをクリックしてみます。 すると検索窓はこうなります。

検索窓「あとで読む」

「あとで読む」タグのついたブックマークがあまりに多すぎたのでw、ここから探すのは大変です。 この中からプログラミングに関するものを読みたいので、 「プログラミング」タグをクリックしてみます。すると検索窓はこうなります。

検索窓「プログラミング あとで読む」

ここで「検索」ボタンを押すと……

「プログラミング あとで読む」で検索

「あとで読む」「プログラミング」の2つのタグでブックマークを絞ることができました。

検索窓のタグはしつこく残るんですが、「Clear」ボタンを押すか、ブックマークのトップページ (例えばhttp://b.hatena.ne.jp/yzatkatamayu/) に行くと消えます。

うーん、普段JavaScriptやらないから、4時間もかかった。エントリは結構見てるんだけどなぁ。

January 19, 2006

ECナビリストの操作が不思議な件 01:33

ECナビリスト、 なんかインタフェース変だと思ってユーザ登録してみたらさらに変だ。

なんであんな作りにするんだろ……。

ログオフできねぇ! と思ったら、「設定」というページにログオフボタンがありました。 なんじゃそりゃ。

これ、本の登録のために「もってる」「とりあえず」「ほしい」と書かれた四角いところ(入れ物っぽくない)に 本の画像をドラッグしていくんだけど、これが思いつくベストな追加方法だったんでしょうか。 登録以外にも、「(本の登録情報の)編集」「削除」、本の詳しい情報を表示する「くわしく」 などにも同様にドラッグ&ドロップします。

なかなか意味がわからなかったのが、本の写真を拡大するスライドバーのようなもの。 初めグラフに見えたんですが。そもそもサムネイルと拡大画像以外必要ないようにも思えるけど。 (例:『リッツ・カールトンが大切にする サービスを超える瞬間』のページ

「同サイトについてはインターフェイスにも注力し、 ajaxを利用してドラッグで本を登録する事がでるなど、 簡単で楽しく操作できるように工夫した」

うーん。楽しいのかもしれないけど(作ってる方は)。

Flashでもそうだけど、独自インタフェースってのは大抵作った人がデザインしか考えてなくて 使いにくいんですよね。なんでWindowsやLinuxなどのデスクトップは見た目や操作感が似てるかって話なんですよ。

本の画像を見て、これがマウスでつかんでドラッグできるって直感できるだろうか。 ドラッグというアクションに対して、 本のマウスオーバーのカーソルは十字の矢印ではたして適切なんだろうか。

GUIウィンドウのスクロールバーと、本の写真を拡大するスライドバーの決定的な 違いはつかめるように見えるか見えないか。 それにズームということは小から大への変化がある。検索にも使われることがある虫眼鏡のアイコンより、 「-」と「+」のほうが内容を表してると思う。例えば虫眼鏡のレンズに「+」「-」って入れるとズームの感じが出ませんか。

あと、本をドラッグできるようにするならするで、せめて統一しないと。 あるものはドラッグできて、あるものはできないんじゃ、何がなんだかわからない。

それから「ホーム」と「マイリスト」のページの違いって何ですかねぇ。

ってオレは思いましたとさ。

本の嗜好の公開って他にはなさげだから、その点ではいいんだけどなぁ。

て、これ、ユーザ登録した人でないとまったくわからんネタですね……。

gFTPでsftp 02:19

できたんだ……気づかなかった。

gFTPでsftp

てことで、ftpのサーバ止めていいすかね? > katamayu.netのみなさん

Winな人はWinSCPでいけます。

January 20, 2006

NExTのRuby版置いときますね 17:43

固有表現抽出ツールNExTが よくわかんないけど遅かったんで、 NExT TypeC 0.10のデータだけ勝手に流用させてもらって、 去年Rubyで作り直しました。

検索の仕方が悪いのか、フリーで使える固有表現抽出ツールってNExTしか見当たらないみたいなんで、 せっかくだからこれも置いときますね。GPL 2って書いてあったけど、 データもGPLってことでいいんですかね……。ダメなら消します。

( ・∀・)つ[nextr-0.1.tar.gz]

こういうのはCとかC++で作るのがいいんだろうし、 Javaも速度的にありかなと思うんだけど、時間なかったんでね……Rubyでやっちった。

具体的にはこうなります。

chasen -c | nextr
今日は静岡で雨が降った。
<DATE>今日</DATE>は<GPE>静岡</GPE>で雨が降った。

一応性能比較。出力は同じではないんだけどね。

size NExT TypeC 0.10 NExTR
1.1k 13.436s 0.562s
7.9k 15.433s 3.107s
370k 135.58s 27.742s
731k 1155.41s(19:15.41)55.429s

作った甲斐があったってもんです。 NExTの結果は、オレのパッチが悪さでもしてるんだろうか……。

これ、あらかじめ用意した辞書とルールを使って 茶筌の出力結果とマッチングするだけだから、言ってみればそのデータが命なんだけど、 ルールは間違いだらけだし、データのフォーマットもちょっとどうかと思うし (NExT本家のデータのアップデートに備えてそのまま使うことにしたけど)、 マニュアルも書いてあることと実際のと違うし。 おかげでRuby版作るのに2週間まるまる取られたような記憶が……。

卒論の締め切りにギリギリまで追われてたのかなーと思ったね。今オレがそういう状態に突入しそう。

今まで日本語の論文読んでなかったせいで、日本語の固有表現抽出は他のとこ何使ってるのか 知らなかったんだけど、横国の質問応答の論文みたら、情報処理学会の論文の2002年Vol.43に あるサポートベクターマシンを使った固有表現抽出を使ってるって話だった。 来年はオレもそっちにしよう。 NExTは茶筌と辞書次第だから、新語とか珍しい人の名前とか まったく対応できないっていう問題があるんです。

大量のデータ相手にしだすと、やっぱRubyとかって分が悪くなってくるんだろうなぁ。 C++やらんとダメかなぁ……。

January 21, 2006

パソコンってむずかしいよね 01:54

実家のノートパソコンがなんか変だということで、 親と妹がわざわざ夜中に家までパソコンを持ってきましたよ。

Anti Virusのウイルス定義ファイルの更新の利用期間が切れたというだけだったんだけど、 やっぱりパソコンてのは一部の人が便利に使ってるだけなんだなってのを実感。

パソコンは年賀状を作るためのワープロ、MP3へのエンコード&ウォークマンへの転送に使う。 インターネットもちょっと調べ物をする程度。

それだけができればいいので、こういう人達にとってパソコンをどう管理するかなんて興味がないんですね。 パソコンでいろいろなことができる必要がない。 ワープロであり、エンコーダであり、ブラウザでありされすればいい。 それ以上の用途は要求してない。

プログラマの生産性には能力によって何百倍という差が出るって聞いた(実際そう思う)けど、 それと似ていて、同じOSのユーザでも洒落にならないくらいスキルに開きがある。 なんで同じOS使ってるのかわからなくなるくらい。

まーオレらだって謎な部分がたくさんあるんだから、 ちょっと使いたい人に同じものを見せるってのはどうかと思うよ……。 つーか、もうまともなOS載せなくていいんじゃね? リモートでワープロとブラウザが使えれば。 シンクライアントなんて話があったけど、あれって今どんなもんなんだろう。

January 24, 2006

Winny本買った 01:30

Winnyの技術』を 購入。一応言っとくけど、オレはWinnyなんてやってませんよ。

生協で見掛けて、なんかこう、膨大なユーザ数をどうやったらうまいこと扱えるのかなーってふと思って、 ろくに中身も見ず衝動的に買ってきたんですが、 なんか冷静に考えればそういう趣旨の本は別にありそうだ……。

January 25, 2006

英語の勉強法 18:47

英語力をなんとか鍛えないといけないんですが、 どうにも受験勉強のような方法は取りたくないんですよね。 英語の勉強法とか、Podcast聞けとか、そういうページはいくつか見てきたけど、 「やらされてる感」しかなくてモチベーションがあがらない。 どうしたらいいんだろう?

例えばプログラムを作りたいときに、大事だからってアルゴリズムをまず勉強するとしたら、 その勉強てやる気出ないじゃないすか。 プログラミング言語と戯れたいってのが本音だし、まずはそうするべきだと思うんですよね。 クールなプログラミングをするにはアルゴリズムの知識が必要だとわかってから勉強すれば、 プログラムを作りたいってモチベーションをほぼそのままアルゴリズムの勉強に向けることができる。

思ったんだけど、「英語力をつけたい」っていう、「で、つけて一体どうしたいんだ」 みたいな薄っぺらい目的で始めるから単語帳とか文法の問題集とかが頭に浮かんできて、 次第にTOEICでいい点取ることが当初の目的とすり変わってきたりして、 受験勉強大好きな人が勘違いしたり、オレみたいなやつはやる気がダウンしてくるんではないか。

O'Reilly Radarとか読んで 新しい技術にワクワクテカテカしたい!」みたいに目的とやりたいことをはっきりさせれば、 まずやることは興味のある文書を読むこと。文法の勉強は嫌でも、 読むモチベーションならあるはず。 英語力が付くのを待ってるんじゃなくて、読みたいんだったら、読めばいいんだ。

その中で、必要になったら文法とか勉強する。語彙だって単語帳で覚えるのではなくて、 読んでてわからなかった単語をコツコツ調べていく方法をとる。 プログラムにソートを必要としている人が、今8クイーン問題について考える必要はないわけだ。

こういう勉強なら、少しは続きそう。

と一旦考えはまとまったものの、読みたくもないものを読むために英語力が必要になる場面てのが、 ここ1年よくあるんですよね……。 大抵「英語力をつけたい(のになかなかできない)」なんて言ってるのはそういう人達なんじゃないかな……。

オレも今そうで、ちょっと前に『New Directions In Question Answering』という 本を「読んでおいて」と渡されたんだけど、 「ためにはなるんだろうけど、積極的に読みたいというほどではないんだよなー」という感じ。

てことで、はてなグラフで読み終わったページ数を グラフにしていくことに。ゲーム性入れないととてもとても読みきれない。 何か他にいい方法あったら教えてください……。

January 26, 2006

Scheme始めました 00:43

ポール・グレアムが「Lispはすげーよ」みたいなこと言ってた気がするので、 「そんなにすごいならやってみるか」ってことで先週からLisp方言の1つ、Schemeを勉強してます。

Rubyは使いやすいLispだ、みたいな(うろ覚え)ことを誰か言っていたけど、 Scheme始めたばかりのオレでもうなずける部分がある。 Rubyではブロックってのをよく使うんだけど、おんなじ使い方がSchemeにもある。

半年前にCommon Lispが授業で出てきたときは、 「括弧だけで表現しようだなんて、なんていかれた言語なんだ」と思ってた。 特に閉じ括弧が最後にたまってるのを見て汚さを感じていたんだけど、 やってくうちに閉じ括弧は段々目に入らなくなるみたいです。 むしろ丸い括弧に包まれたコロコロしたコードを見てると萌える……(*´Д`)

で、その流れで、『計算機プログラムの構造と解釈』を 衝動買い。これ、プログラムがSchemeで書かれてます。うん、それだけなんだw

AAに適したフォントで見てね↓

gosh> (define (゜д゜ ) (display
" ノヽノ |
< < "))
゜д゜
gosh> (゜д゜)
ノヽノ |
< <

ブックマーク検索 03:13

takkan_mがFirefoxの検索バーでMyはてブ検索なんてのやってたんで 便乗。これ、ロケーションバーでもいけるね。

ブックマークの編集ウィンドウ開いて、ブックマークを作成。

Quick Search登録

Locationのところは、

http://b.hatena.ne.jp/ユーザ名/?word=%s

で、

Quick Search実行

ん、タグで検索する必要はないんだけど、つい。

はてブの検索って、全角のスペースで検索語区切ると、区切って検索してくれてないような。 オレだけ?

January 29, 2006

ブックマークについてると便利そうなタグ 00:30

ブックマーク付けるときにページの著者名をタグにしている人を見掛けますが、これ「なるほど」って思うんですよね。 「あの人が書いていたはずだけど、なんてタイトルだったっけかなぁ」ってことはあるある。

そうするとサイト名も記憶に残っている確率が高いんで、タグの候補として良さそうです。

ページに関する情報を(その内容だけに限らず)多く付加すればするほど、 おぼろげな記憶とタグが一致する確率は高くなって探しやすくなってくるわけですね。 でも自分で付けるとしたら激しくめんどくさい。

ただ、著者名とサイト名に関して言えば、ブログの場合は人手でやらなくても付けられるタグですよね。 RSSに書いてあるんだから。

思いついたタグを全部自分で付けるのは大変なのでやりたかないですが、 自動でつけられるタグはどんどんつけて欲しいです。 それを使って絞りこめたら……なんていう妄想をしてみたわけですが。

タグとは違うけれども、ページのデザイン(サムネイル)だって記憶と照合するのに役立つかも。 その辺の検索エンジンがただのサムネイルを表示するよりも、何倍も利点があるような気がします。

いきなり解雇w 05:39

そう言えば、友人のベンチャー(と言いたくないんだけど)でバイトみたいな話は、 このまえナシになりましたorz さーて、次のバイトどうすっかなぁ……。

オレが(自分のやりたいことがあるから)彼の思いどおりに100%動かないから、 ということが直接の原因なんだけど、やりたいことがあるならそれをやるべきだ、とも言ってました。 ごもっとも。

まーうちみたいに平凡な大学だと彼みたいな人ってのは珍しいので、 オレも多少の幻想と過大な期待を持ちすぎていたんだね。 そのため考え方の違いってのはどうしても埋まらないわけです。 すぐに労力を必要としていない(つまりすることがない)ってのも、 簡単に人員を削れる理由なんだろうけど。

彼は数年前からベンチャーをやりたがっていたけど、なかなかできなかったのには 周りにいたオレらにも要因があるね。多分みんな平凡過ぎたんだ。ワクワクさせるやつはいなかった。 大学内見渡したってそう。「情報科学に興味がある」なんて、大抵嘘っぱちだ。 大半は消去法でここにいる。

「もう時間がないから」と彼は言ってたよ。 見切り発車のように起業してしまったように見えるし実際そうみたい。 アイデアもないし。「自分たちでやる」ってのはとても面白いのに、 肝心のやることがないなんて、とても残念ですよ。 彼には良い意味での想定外を期待してます。