ACM/ICPC の愛媛大会にも行ってきました。マニラで世界大会出場権は手にしているのでこっちには 正式な競技者としては出られなくなったんですが、順位には関与しないで問題を解きに 行くだけ、という形で参加させてもらってました。順位がどうこうの前に、全国各地の 大学生プログラマと会えるのがなかなか楽しい機会なのです。
で、結果はなんちゅーか、最悪。5問解いて、順位表の位置的にはたぶん6位か7位 相当でした。反省しつつ次頑張ります。問題文は公開されているので、皆さんもぜひ 腕試しにどうぞ。
これ以上ないくらいの今更感漂う話題なのかもしれませんが、 『Google Desktop Search』 の存在を3日前に知ったので早速インストールしてみました。自分のパソコン内の テキストデータ(メールやWord文書やhtmlやtxtやIEのキャッシュや…)をGoogleの おなじみの画面からおなじみのスピードで検索できるようにするものだそうです。 IEキャッシュから検索できるということは、単なるテキスト検索以上に「最近自分が 見たページの中から検索」としても使えるってことですね。欲を言えば、PDFに対応 してて欲しかった…
入れてみると…最初のうちはテキストデータを収集して索引付けする作業の途中なので
検索に引っかかる内容が少ないのですが、数時間放っておくと収集完了して、フルに使える
ようになります。常駐してCPUが空いているときにこの索引データは随時更新されていく
ようですが、とりあえず今のところこのPCでは、32,266 items indexed so far
と
なってました。
で、感想。これはヤバい便利さです。なんじゃこりゃ。まずインストールが楽。 index作りを裏で勝手に始めて勝手に継続してくれるので何も考えなくてOK。あと、 速い。NTFSの検索やIEの履歴検索よりも遙かに。ついでに、検索結果が見やすい。 Googleのあの「検索語句がある付近を取り出して一部表示」という方式をそのまま 採用してるので、どういう風に検索ヒットしたのかが丸わかり。
普通のGoogleで検索した時に、IEをフックして検索結果ページに Desktop Search の内容を一緒に表示してくれるようになるのが素晴らしい。Desktop検索結果を 普通のWeb検索結果と並べてリストアップしてくれると、手持ちの知識の中と外に 同時に検索をかけられてかなり頭が整理されます。例えば、"JFrame" で検索すると、 Web検索ではJavaのAPIリファレンスをトップに引っかけつつ、Desktop検索では手元にある JFrameを使ったソースコードをリストアップしてくれる、などなど。
今までちょっと、Web検索とローカル検索の融合というのを過小評価してました。この Google Desktop Searchと、その先にあるもの、これは確かに素敵な未来ですね。
自分の行ったことある場所最南端記録を更新しにフィリピンまで行ってきました。ではなくて、 ACM/ICPC という学生プログラミングコンテストのアジア予選大会の一つであるところの マニラ大会に行ってきました。最終結果。 7/8問解けてギリギリ優勝できたっぽいです。ばんざい。自分としては、問題Fが物凄く 簡単だと気づくまでに1時間かかった英語力が一番の反省点です。海外行くたびに英語力を 反省しているのですがなかなか改善されません。
チームメイト任せで読んですらいない問題が2問あるのでわかりませんが、 全体的に難易度低めだったかな、という気がします。練習セッションで 提供されたサンプル問題がどこかの予選の過去問で、むしろそっちの方が 難しかったり。
大会期間中に本屋に寄ってみたらコンピューター関係のペーパーバックがやたら めったら安かったので、前から欲しかった『Concepts of Programming Languages』と、書名を見て面白そうと思った 『File Structures』 を購入。これ二冊あわせて600php(1200円くらい)とは!
…と、そんなこんなで帰ってきました。
信号待ちをしていて、ふと目をそらしていて、視線を戻したら青になった直後だった瞬間。 なんで青信号なのにみんな立ち止まってるんだろう、と疑問に思うような気分というか なんというか。
ちょっとマニラ行ってきます。
ジュンク堂新宿店に行ってみました。流石に広い。文芸書・新書が揃ってていい感じ。コンピュータ系とか 数学系の本もなかなか。滑り止めにひっかかって本が取り出しにくい棚があったのが ちょいマイナス。新宿に用事があることってあんまりないんですけど、近くに行くたびに 寄る店にはなりそうです。
で、コンピュータ関係の棚で目にとまった 『進化するJava J2SE 5.0』 をパラパラと立ち読み。言語の変化にしか注目してなかったんですけど、ライブラリの方の 目玉のjava.util.concurrentも実は猛烈に便利そうですね。バリア同期の CountDownLatch, CyclicBarrier とか 強力にスレッドセーフなコンテナとか Exchanger とか。実際にマルチスレッドの プログラムを書いてると欲しくなるまさにその部品が用意されてるという印象です。