メニュー

関連ページリンク

トップ > project > project - 人気ブログ(Blog)検索結果詳細 (2008年12月3日 4時)

[チーム]自分たちのサービスと記念撮影するということ

はてなブックマークの制作に携わった人たち (2008/11/25)

はてブがリニューアルされたのも、もはや旧聞に属するところになりそうだけど、ふとしたきっかけで制作スタッフの一覧を見つけて、なんとなく眺めていた。有名な人もいて、そうでない人もいて、その多くの活躍がはてブの完成に欠かせないものだったのだと思う。

普段は漢字やハンドルで見るその名前は、晴れ着でもまとうみたいにアルファベットの姿をかりて堂々と収まっている。映画のスタッフロールよろしく、名前の上にはプロジェクトでの役職も紹介されている。Director, Managerにはじまり、Back Office, Beta Testerまで、およそ進行にかかわったであろう人物はみんな名をつらねているのだろう。

その中で、Direcor, Manager, Lead Programmerといった、いわゆる肩書きの後に並ぶ、一風変わった役職名がある。

  • Atom API
  • Bayesian Classifier
  • Content Extraction
  • Crawler
  • Favicon Proxy
  • Fulltext Search Interface
  • Guide pages
  • HTML/CSS
  • Image servers
  • Mock Design
  • PFIers
  • Similarity Engine
  • Servers and Network
  • Text writing

カンのいい人にはすぐにわかるように、これは役職というよりも、担当箇所といったところだ。それぞれがそれぞれの技術的な難度を含み、それが故に楽しみがある。そのためもあるのかどうかは定かではないけど、おおむねのモジュールは1人の開発者に割り当てられている。

実はこれができるのは、綿密な設計がある状況に限られる。

それぞれのモジュール間は完全に独立しているわけではなく、お互いに連携して動作することもあれば、あるモジュールが別のものに依存していたりする。

使い方のわからない機械を渡されて「これで車の燃料を補給してください」と言われても、使い方がわからないのだから補給できるわけがない。それと同じで、使い方のわからないモジュールを利用したプログラムを書けというほうが無理というものだろう。しかも場合によっては、実際には機械は完成していないということもある。

そんな状況で、どうやって未完成のモジュールに依存したプログラムを書いたものか。

言うは易しだが、使い方だけ先に決めてやればいい。そこで決めた使い方で確実に動くようにモジュールを作れば、あらかじめ教えられた使い方に則って先んじてプログラムを書くことができる。

ソフトウェアの設計とは、おおざっぱにいえばこの「使い方」を先に決めてしまうことだ。

そうすることによって、多人数でモジュールを分担して開発することができる。そうすると全員がひとつのものに食らいついての開発に比べて、混乱が起きにくいそうだ。

もちろん本当にそのとおり行くかというと、そうでない場合もある。設計がいいかげんだと、そういうことになるんだ。

例えば、完全に独立していると思っていたら一部で同じファイルを利用していたとか、ひどいときは使い方そのものが変わってしまうこともある。こうなると、それに依存したモジュールはすべて書き直しになってしまう。開発時間にも悪影響を与えるし、当たり前だけど士気だって下がる。

なんでそんなことを知っているかというと、これ以上ないシンプルな理由がある。

他ならぬ自分自身がそういう設計をしてしまうからだ。

関わるプロジェクトの多くで欠陥を含んだ設計をしていて、そのたび開発者として参加していた人には迷惑をかけている。本当に申し訳ないと思う。

そういうような気持ちを、はてブの制作スタッフ一覧を見て感じた。

開発者ひとりひとりが、自分の信念に基づいて削り出した立体的なピースを組み合わせたシステムを公開できたとき、どんなにうれしい気持ちだろうか?

もしかしたらソフトウェアは立体よりももっと高次元なものかもしれない。人間の感覚では0に近いくらい小さな確率の隙間をすり抜けて手をつないで、共同作業をする自分の作品を見るのはどんな気持ちだろう?

そんな気持ちを感じてみたい。感じてもらいたい。自分と同じチームで開発する人に、そのよろこびを知ってもらいたい。もちろん自分でもそれを知りたい。

公開したサービスのスタッフ一覧というのは、さながらプロジェクトの完成記念撮影のようなものだ。

そんな貴重な一瞬の時間を切り取った写真に、自分の苦痛と愛を一点に注いだモジュールと並んでに写れたら、それはたぶん一生自慢できる、一生消えない思い出の品になるはずだ。

作者:Tnzk

更新日:2008年11月26日 1時41分

このブログのホーム

[学校][イベント]高専最後の学祭

11月1日(準ポッキーの日ですね)・11月2日の二日間、学祭に参加していた。高専生としては最後の参加になるので、去年や一昨年よりも満喫できたように思う。こういう催しに素直にノれないのは悪い癖だと思うので、さっさと直してしまいたいなー。

おれとid:Waroe, id:yaakaito, 他2名で展示を行った。展示ブースは学科3年生ブース・学科4年生ブースと同じ部屋。

最初はブース担当チームの各員で、説明・実演担当を持ち回りする予定だったんだけど、中学生とか学生とかが結構興味を持ってくれてたので楽しくなってきて、9時から15時半までの6時間半ずっと立って喋ることになってしまった。まったく運動してないのに足のふくらはぎだけが異常に筋肉痛です。

中学生いいなー。さすがにわざわざ3階の展示まで足を運んでくるだけあって、技術的なトピックにも興味を示してくれた。来年彼らの顔を見られないのは少し残念ではあるけど、どうあってもコラボレーションできないというような時代じゃない。普段はid:Waroeがリードしてあげて、おれはときどき当て馬のように現れることができれば良いのかな。まあそういう子たちに「なんだこの程度の連中だったのか」と失望を与えないためにも、目下やるべきことは自分自身の訓練だと思う。

で、刺激を受けたり先達のみなさんからアドバイスをいただいたりするために、11/7, 11/8の二日間、三重県津市で催されるリーディング産業展みえ2008に参加します。

展示するのはプロコン、学祭と場数を重ねるにつれて少しずつ精度を上げてきた『Hand! Move!』というプレゼンテーション支援システム(のようなもの)で、やはり産業展の場を利用してより高度な状態にしたいと思ってます。三重県付近に在住の方はぜひ遊びに来てほしいです。

以下、学祭で撮影した画像と、展示してたデモの動作映像。画像と動画ばっかりです。

学科三年生ブース

LEGO MINDSTOMEのデモをやってた。

f:id:Tnzk:20081103163729j:image

ので、タチコマを乱入させてみた。

f:id:Tnzk:20081103163728j:image

コンテスト別チームブース

車道のジオラマを利用した展示。

f:id:Tnzk:20081103163734j:image

というわけで、タチコマを乱入させてみた。

f:id:Tnzk:20081103163953j:image

ちなみにこれはホントはジオラマ製作中に乱入させました。当日はジオラマが精密になってて手が出せませんでした(笑

id:Tnzk, id:yaakaito, id:Waroeブース

我々のブース。来場する中学生向けにチラシの配布。

f:id:Tnzk:20081103163731j:image

POPの裏には右手つながりでなんとミギーが!

f:id:Tnzk:20081103163732j:image

こんな感じの配置。今回はプロジェクタを使用。やけに可愛い神官さんの3Dモデルは光陰像型さんからお借りしました。

f:id:Tnzk:20081103163733j:image

メタプレゼンテーション。

f:id:Tnzk:20081103163730j:image

デモの動画

というか、デモがあらかた終わって暇になったので撮影してました。こちらも光陰像型さんのキュートな天使さんを利用させていただきました。ホントに可愛いモデルをありがとうございました!

D

作者:Tnzk

更新日:2008年11月3日 16時57分

このブログのホーム

[学校][技術][キューイチ世代]筑波大情報科学類AC入試・一次試験の副作用

みんなありがとー!

Twittererの人とか、メッセで話した人とか学校の連中とかにはもう伝わってると思うけど、筑波大AC入試に無事通ることができました。情報科学類です。来年からは(たぶん)つくば市内に住むことになると思います。

このことに関してお世話になったみなさん、ありがとうございました。とりわけ2次の結果待ちでgkbrしてたおれにメールで「id:Tnzkが落ちたという速報が!」などと追い打ちをかけたid:yaakaitoには感謝しています;-)

励ましはもちろんのこと、表面は辛辣でも中身は暖かい言葉をいただいたおかげで、少なくとも受験(というのは少しおこがましいのだけど)のことが不安で活動が手につかないということはなかったです。1次試験のための資料作成も含めて、楽しい受験活動でした。

筑波クラスタのみなさん、来年はよろしくお願いします!高専からの進学ということもあり、勝手がわからず戸惑うこともあるかもしれないので、お世話になると思います。どうかよろしくです。

鳥羽商船クラスタのみんなは、あんまり日常的に関わることはできなくなって残念だけど、特にid:Waroeは来年のSCTの運営・扇動をがんばって>< おれもリモートで手伝えることは手伝うよ。当たり前かもしれないけど、そこは後にも先にも一番思い入れのある学校だ。

会社のみなさん、まだまだ未熟なぼくを信じてくれてありがとうございます!これからが重要な時期になる思っていますので、今後ともよろしくお願いします。来年からはぼくも首都圏なので色々効率よくなるといいと思ってます。

地元の知り合いのみんな(読んでるかどうか微妙だけどw)はほとんど会う機会がなくなると思うので寂しいですけど、2月くらいまでは確実に伊勢にいるので、年賀状は現住所に頼みます(笑

関東圏の大学に進学する人はお知らせしてねー。そのうちお会いしましょう。

お礼はもう、言っても言ってもきりがないのであとはお話しする機会があったときに伝えたいと思います。ありがとうございました!

なんか長くなりすぎました。高専から進路変更で進学する場合は卒業式とかがないので、その代償行為を無意識に行っていたのかもしれません(笑

本題:筑波大AC入試一次試験について

知ってる人は知ってると思うのだけど、筑波のAC入試は一次試験と二次試験がある。その一次試験について、色々思ったことがあるのでまとめておく。

自己推薦書の提出

いわゆる書類審査。9月の頭くらいに提出する。

自己推薦書の中には何を書いてもいい。書式にも分量にも規定はない。情報科学のACだったら、どんなソフトを作ったとかどんなWebサービスを作ったとかどんなコンテストに出たとか書くのが一般的みたい。

ぼくもご多分に漏れず、Webサービス開発・ゲーム開発の経験やロボコン、プロコンへの参加や、所属しているベンチャーでの活動についてをまとめた。

枚数は70枚強。というと多いかのように聞こえるけど、このうち30ページと少しはアセンブリのコード(性質上、20文字ほどで改行するので異様に行数が増える)だし、ぼくは式を書くとき上下にやたら余白をとるので、文章の記述量としては40枚を越えてないと思う。

副作用の原因:自己推薦書

この自己推薦書、マ・クベみたいな言い方になるけど、とても良いもの。

というのが、早い話が自分の活動の壮大な中間報告になるわけだ。

特にこの分野の若い人たちは、そのときそのときの活動に熱中するあまり2ヶ月前に完了したプロジェクトことをすっかり忘れていたりする。それはそれでとても良いことなのだけど、筑波情報科学ACを受けるに際して自己推薦書を書くことで:

  • 今まで自分がどういう動きをとってきたか
  • 全体的に自分の意識はどうしたいのか
  • 自分の無意識はどうしたいのか
  • それら踏まえた上でこれからどうすべきなのか

ということをはっきりと認識することができる。枯れた言い回しをするなら、自分自身と向き合うことができる。

一番重要なのは、それを通しての考えの変化や成長が、試験の合否がどうであろうと自分のものになることだ。

からくも合格とならなかった友人がいるのだけど、彼も試験前と試験後では別人かと思うくらいに成長していた。

具体的には、あやふやだった「プログラマになりたい」という目標から「人工知能技術の研究者」まで固まり、そのために「まずは機械学習」と自身でステップを組み立てるまでに至っていた。たった2ヶ月あまりの成長としてはとても大きな歩幅だと思う。

自分を推薦するということの苦しさ

自己推薦書を書くためには、一度今いる場所で足を止めて、これまで歩いてきた道筋をなぞってみる必要がある。

そこにはたぶん、苦しかったりつらかったりした記憶がたくさん堆積していると思う。その中には意識的に、あるいは無意識のうちに押し隠そうとしていたこともあるだろう。

そういったものとも向き合わなければならないという意味では、このAC入試一次試験における自己推薦書の作成は、人生の中でもなかなかないくらい深く、自分のトラウマをえぐらなければならないタイミングだともいえる。

ぼくも当然、わかりやすい言葉でいえば「黒歴史」と化した過去さえも動員しなければならないと判断して、自分の胸の奥を掘り返すことがあった。やっと掴んだ自分なりの答えの下に積み重ねられいる、数えきれないくらい多くの失敗をひとつひとつ選別しなければならなかった。

ただそういった苦しみ、自分の過去の多くの失敗を見据えなければならないということは、場合によってはとても良い効果を産み出すことがある。

ひとつの失敗に深く深く切り込んで、その原因を究明しようとするのはあまりオススメできない試みだと思う。どれほど深く掘り下げてみても、失敗の中心にあるのは結局失敗だし、しかも概ねの場合その失敗という星は無限の半径を持っている。だからいつまでも悲しい気持ちのままになる。

ひとつひとつの失敗はその表面を軽く眺めたまま、たくさんの失敗を一度に並べてみることが重要だ、とぼくは思う。そうするとちょうど星々が星座を形づくるように、失敗たち全体の構成するぼんやりとした形があることに気づく。

つまり、多くの失敗の原因となる自分自身の根本的な欠陥が存在することに気づくわけだ。個々の失敗を粉砕するより、こちらを直したほうが手っ取り早い。

自分を推薦するという快感

そして当然、自己推薦書の作成には楽しさだってある。正確には作成中にというより、できあがった書類を見たときに感じることになるけど。

おそらく、そこに記述されたことがらは自分で思っていたよりも量が多いし、迫力が出ている。

これに関してはもう説明不要かもしれない。あなたの作ったプラモデルのカッコよさを一番よく知っているのはあなただ。それがいつの間にか、自己推薦書というジオラマに最高のシチュエーションで配置されている。それを見て感動を覚えるなというほうがおかしい。

さいごに

なんかびっくりするくらい長くなりましたが、特にキューイチ世代の高校二年生の人たちはぜひACを受けてほしいと思います。向いていると思うので。

あと、今期AC入学予定者の人は、向こうに行ってから寂しがりそうなぼくとお知り合いになっておいてくださるととてもうれしいです。連絡先は以下:

  • Gmail: tnzk.marge@gmail.com
  • Windows Live (MSN)Messenger: kyou80@hotmail.com
  • twitter: @tnzk

ホントにホームシックにかからないか今から心配です。たぶん大丈夫ですけど。ハムスターでも飼おうかしら。

作者:Tnzk

更新日:2008年10月28日 8時16分

このブログのホーム

[Report]参加表明

作者:Tnzk

更新日:2008年10月15日 23時13分

このブログのホーム

[プログラミング]MISTをインストール

OpenCVがらみのエントリに対してのトラックバックがあったことに今しがた気づいて、それを読むとMISTというライブラリがあるそうな。今のところOpenCVしか使ったことがないので、視野を広げるためにこいつも使ってみようと思う。

MIST 1.3.6のソースコードの入手

とりあえず本家TracMISTのダウンロードと環境設定を参考に、MISTのソースコードを入手。安定版の最新らしいMIST-1.3.6を使う。

% cd ~/
% mkdir -p src/mist-1.3.6
% cd src
% svn checkout http://mist.suenaga.m.is.nagoya-u.ac.jp/svn/mist/tags/version1.3.6 mist-1.3.6

mist-1.3.6の中を見てみるとbuildというディレクトリがあったので、この中でmakeしてみる。するとしばらくコンパイルが進んだあとに、以下のような文句を言われてコケる。

/usr/bin/ld: cannot find -llapack
collect2: ld はステータス 1 で終了しました
make[1]: *** [region_growing_test] エラー 1

llapackってなんだ?と思ってググるとこのようなページが。内部で行列演算を高速に行うために利用しているライブラリらしい。なので、こいつをビルドしてやる。

CLAPACKの入手・コンパイル

先ほどのページに従って作業を進める。進めようとする。まずはソースコードの入手と解凍。

% cd ~/src
% wget http://www.netlib.org/clapack/clapack.tgz
% tar xvfx clapack.tgz
% cd CLAPACK-3.1.1.1

次に,UNIX系の場合は clapack.tgz を解凍して,INSTALLフォルダの中にある各OSにあった make.inc.[OS名] (CYGWINの場合は make.inc.LINUX を利用する)を解凍後の一番上のフォルダにコピーします.あとはビルドすればOK.

とのことだが、INSTALLにはmake.inc.LINUXなんてない。だめもとでmake.inc.exampleをリネームして使ってみるけど当然だめ。

調べてみると、このバージョン(3.1.1.1)にはmake.inc.LINUXが欠けているらしい。

3.0のmake.inc.LINUXを参考に3.1.1のmake.inc.sampleを次のように書き換え、それをmake.incとします。

1.「SHELL = /bin/sh」を追加

2.「CC = gcc -ffloat-store」に変更。-ffloat-storeオプションをつけないとclapackのテストに通りません。

(詳細 ttp://icl.cs.utk.edu/lapack-forum/archives/lapack/msg00429.html)

3.「CFLAGS = -funroll-all-loops -O3」に変更

4.「LOADOPTS = $(CFLAGS)」に変更

5.「NOOPT = 」に変更(NOOPTは空にする)

cygwinのgccのデフォルトの出力ファイル名はa.exeになっているため、

F2CLIBS\libf2c\Makefileの186行目と187行目のa.outをa.exeに変更します。

以上でコンパイル、テストともに通るはずです。本当にありがとうございました。

BLAS 質問・相談スレッド1

多謝。このとおり変更する。F2CLIBS/libf2c/Makefileも書き換えようとしかけたけど、これはCygwinの場合の話だということにぎりぎりで気がつく。

これがおわればmakeするだけ。f2clibとblaslibはすぐに終わるが、lapacklibについては10分近く時間がかかるので注意。別に注意したところで短くなるわけではないのだけど...

% make f2clib
% make blaslib
% make lapacklib

で、できあがったファイルを見るとlibF77.a、libI77.aがない。調べていると先ほどのMIST TracにHowToUseLapack - MIST Project - Tracとしてバイナリが配布されていたので、とりあえずこれを使うことに。/usr/local/libにコピー。

MISTのビルド

さあこれで問題なかろう、と再度make。

すると今度はやたら多量のエラーが出た。内容はどうもTIFF関連っぽいので調べてみると、libtiffのインストール漏れ。aptでインストールして再開。

今度はfltk-configがないと言われてる様子。fltkについては公式tracでは一切言及されていないので戸惑う。とりあえずaptでlibfltk1.1とlibfltl1.1-devをインストール。エラーは減る。

再度makeすると、またなにやら関数がないとのこと。で、関数名を見てみると、

% make
=== making ../test ===
volumerender_test.obj: In function `volr_draw_area::draw()':
volumerender_test.cpp:(.text+0xd36): undefined reference to `gluOrtho2D'
volumerender_test.cpp:(.text+0xdb8): undefined reference to `gluLookAt'
collect2: ld はステータス 1 で終了しました
make[1]: *** [volumerender_test] エラー 1

なんでGLU...('・ω・`)

ご存知の人はご存知でしょうが、GLUはOpenGL UtilityでOpenGLを使用する際に便利な関数を提供してくれるライブラリ。さすがにOpenGLをインストールしなきゃMISTが動かないなら、それは公式Tracに書くはず。

まさか、と思ってmake clean && makeすると、案の定コンパイルされてるソースのファイル名はすべて*_test.cpp……

結局むちゃくちゃ躍起になっていたのはテストコード用のライブラリ集めにしかならなかったようです。うーん、ものすごい時間を無駄にしたなー。明日は実際にmist使って何か書いてみる

作者:Tnzk

更新日:2008年10月9日 10時56分

このブログのホーム

[チーム]自分たちのサービスと記念撮影するということ

はてなブックマークの制作に携わった人たち (2008/11/25)

はてブがリニューアルされたのも、もはや旧聞に属するところになりそうだけど、ふとしたきっかけで制作スタッフの一覧を見つけて、なんとなく眺めていた。有名な人もいて、そうでない人もいて、その多くの活躍がはてブの完成に欠かせないものだったのだと思う。

普段は漢字やハンドルで見るその名前は、晴れ着でもまとうみたいにアルファベットの姿をかりて堂々と収まっている。映画のスタッフロールよろしく、名前の上にはプロジェクトでの役職も紹介されている。Director, Managerにはじまり、Back Office, Beta Testerまで、およそ進行にかかわったであろう人物はみんな名をつらねているのだろう。

その中で、Direcor, Manager, Lead Programmerといった、いわゆる肩書きの後に並ぶ、一風変わった役職名がある。

  • Atom API
  • Bayesian Classifier
  • Content Extraction
  • Crawler
  • Favicon Proxy
  • Fulltext Search Interface
  • Guide pages
  • HTML/CSS
  • Image servers
  • Mock Design
  • PFIers
  • Similarity Engine
  • Servers and Network
  • Text writing

カンのいい人にはすぐにわかるように、これは役職というよりも、担当箇所といったところだ。それぞれがそれぞれの技術的な難度を含み、それが故に楽しみがある。そのためもあるのかどうかは定かではないけど、おおむねのモジュールは1人の開発者に割り当てられている。

実はこれができるのは、綿密な設計がある状況に限られる。

それぞれのモジュール間は完全に独立しているわけではなく、お互いに連携して動作することもあれば、あるモジュールが別のものに依存していたりする。

使い方のわからない機械を渡されて「これで車の燃料を補給してください」と言われても、使い方がわからないのだから補給できるわけがない。それと同じで、使い方のわからないモジュールを利用したプログラムを書けというほうが無理というものだろう。しかも場合によっては、実際には機械は完成していないということもある。

そんな状況で、どうやって未完成のモジュールに依存したプログラムを書いたものか。

言うは易しだが、使い方だけ先に決めてやればいい。そこで決めた使い方で確実に動くようにモジュールを作れば、あらかじめ教えられた使い方に則って先んじてプログラムを書くことができる。

ソフトウェアの設計とは、おおざっぱにいえばこの「使い方」を先に決めてしまうことだ。

そうすることによって、多人数でモジュールを分担して開発することができる。そうすると全員がひとつのものに食らいついての開発に比べて、混乱が起きにくいそうだ。

もちろん本当にそのとおり行くかというと、そうでない場合もある。設計がいいかげんだと、そういうことになるんだ。

例えば、完全に独立していると思っていたら一部で同じファイルを利用していたとか、ひどいときは使い方そのものが変わってしまうこともある。こうなると、それに依存したモジュールはすべて書き直しになってしまう。開発時間にも悪影響を与えるし、当たり前だけど士気だって下がる。

なんでそんなことを知っているかというと、これ以上ないシンプルな理由がある。

他ならぬ自分自身がそういう設計をしてしまうからだ。

関わるプロジェクトの多くで欠陥を含んだ設計をしていて、そのたび開発者として参加していた人には迷惑をかけている。本当に申し訳ないと思う。

そういうような気持ちを、はてブの制作スタッフ一覧を見て感じた。

開発者ひとりひとりが、自分の信念に基づいて削り出した立体的なピースを組み合わせたシステムを公開できたとき、どんなにうれしい気持ちだろうか?

もしかしたらソフトウェアは立体よりももっと高次元なものかもしれない。人間の感覚では0に近いくらい小さな確率の隙間をすり抜けて手をつないで、共同作業をする自分の作品を見るのはどんな気持ちだろう?

そんな気持ちを感じてみたい。感じてもらいたい。自分と同じチームで開発する人に、そのよろこびを知ってもらいたい。もちろん自分でもそれを知りたい。

公開したサービスのスタッフ一覧というのは、さながらプロジェクトの完成記念撮影のようなものだ。

そんな貴重な一瞬の時間を切り取った写真に、自分の苦痛と愛を一点に注いだモジュールと並んでに写れたら、それはたぶん一生自慢できる、一生消えない思い出の品になるはずだ。

作者:Tnzk

更新日:2008年11月25日 16時41分

このブログのホーム

[学校][イベント]高専最後の学祭

11月1日(準ポッキーの日ですね)・11月2日の二日間、学祭に参加していた。高専生としては最後の参加になるので、去年や一昨年よりも満喫できたように思う。こういう催しに素直にノれないのは悪い癖だと思うので、さっさと直してしまいたいなー。

おれとid:Waroe, id:yaakaito, 他2名で展示を行った。展示ブースは学科3年生ブース・学科4年生ブースと同じ部屋。

最初はブース担当チームの各員で、説明・実演担当を持ち回りする予定だったんだけど、中学生とか学生とかが結構興味を持ってくれてたので楽しくなってきて、9時から15時半までの6時間半ずっと立って喋ることになってしまった。まったく運動してないのに足のふくらはぎだけが異常に筋肉痛です。

中学生いいなー。さすがにわざわざ3階の展示まで足を運んでくるだけあって、技術的なトピックにも興味を示してくれた。来年彼らの顔を見られないのは少し残念ではあるけど、どうあってもコラボレーションできないというような時代じゃない。普段はid:Waroeがリードしてあげて、おれはときどき当て馬のように現れることができれば良いのかな。まあそういう子たちに「なんだこの程度の連中だったのか」と失望を与えないためにも、目下やるべきことは自分自身の訓練だと思う。

で、刺激を受けたり先達のみなさんからアドバイスをいただいたりするために、11/7, 11/8の二日間、三重県津市で催されるリーディング産業展みえ2008に参加します。

展示するのはプロコン、学祭と場数を重ねるにつれて少しずつ精度を上げてきた『Hand! Move!』というプレゼンテーション支援システム(のようなもの)で、やはり産業展の場を利用してより高度な状態にしたいと思ってます。三重県付近に在住の方はぜひ遊びに来てほしいです。

以下、学祭で撮影した画像と、展示してたデモの動作映像。画像と動画ばっかりです。

学科三年生ブース

LEGO MINDSTOMEのデモをやってた。

f:id:Tnzk:20081103163729j:image

ので、タチコマを乱入させてみた。

f:id:Tnzk:20081103163728j:image

コンテスト別チームブース

車道のジオラマを利用した展示。

f:id:Tnzk:20081103163734j:image

というわけで、タチコマを乱入させてみた。

f:id:Tnzk:20081103163953j:image

ちなみにこれはホントはジオラマ製作中に乱入させました。当日はジオラマが精密になってて手が出せませんでした(笑

id:Tnzk, id:yaakaito, id:Waroeブース

我々のブース。来場する中学生向けにチラシの配布。

f:id:Tnzk:20081103163731j:image

POPの裏には右手つながりでなんとミギーが!

f:id:Tnzk:20081103163732j:image

こんな感じの配置。今回はプロジェクタを使用。やけに可愛い神官さんの3Dモデルは光陰像型さんからお借りしました。

f:id:Tnzk:20081103163733j:image

メタプレゼンテーション。

f:id:Tnzk:20081103163730j:image

デモの動画

というか、デモがあらかた終わって暇になったので撮影してました。こちらも光陰像型さんのキュートな天使さんを利用させていただきました。ホントに可愛いモデルをありがとうございました!

D

作者:Tnzk

更新日:2008年11月3日 7時57分

このブログのホーム

[学校][技術][キューイチ世代]筑波大情報科学類AC入試・一次試験の副作用

みんなありがとー!

Twittererの人とか、メッセで話した人とか学校の連中とかにはもう伝わってると思うけど、筑波大AC入試に無事通ることができました。情報科学類です。来年からは(たぶん)つくば市内に住むことになると思います。

このことに関してお世話になったみなさん、ありがとうございました。とりわけ2次の結果待ちでgkbrしてたおれにメールで「id:Tnzkが落ちたという速報が!」などと追い打ちをかけたid:yaakaitoには感謝しています;-)

励ましはもちろんのこと、表面は辛辣でも中身は暖かい言葉をいただいたおかげで、少なくとも受験(というのは少しおこがましいのだけど)のことが不安で活動が手につかないということはなかったです。1次試験のための資料作成も含めて、楽しい受験活動でした。

筑波クラスタのみなさん、来年はよろしくお願いします!高専からの進学ということもあり、勝手がわからず戸惑うこともあるかもしれないので、お世話になると思います。どうかよろしくです。

鳥羽商船クラスタのみんなは、あんまり日常的に関わることはできなくなって残念だけど、特にid:Waroeは来年のSCTの運営・扇動をがんばって>< おれもリモートで手伝えることは手伝うよ。当たり前かもしれないけど、そこは後にも先にも一番思い入れのある学校だ。

会社のみなさん、まだまだ未熟なぼくを信じてくれてありがとうございます!これからが重要な時期になる思っていますので、今後ともよろしくお願いします。来年からはぼくも首都圏なので色々効率よくなるといいと思ってます。

地元の知り合いのみんな(読んでるかどうか微妙だけどw)はほとんど会う機会がなくなると思うので寂しいですけど、2月くらいまでは確実に伊勢にいるので、年賀状は現住所に頼みます(笑

関東圏の大学に進学する人はお知らせしてねー。そのうちお会いしましょう。

お礼はもう、言っても言ってもきりがないのであとはお話しする機会があったときに伝えたいと思います。ありがとうございました!

なんか長くなりすぎました。高専から進路変更で進学する場合は卒業式とかがないので、その代償行為を無意識に行っていたのかもしれません(笑

本題:筑波大AC入試一次試験について

知ってる人は知ってると思うのだけど、筑波のAC入試は一次試験と二次試験がある。その一次試験について、色々思ったことがあるのでまとめておく。

自己推薦書の提出

いわゆる書類審査。9月の頭くらいに提出する。

自己推薦書の中には何を書いてもいい。書式にも分量にも規定はない。情報科学のACだったら、どんなソフトを作ったとかどんなWebサービスを作ったとかどんなコンテストに出たとか書くのが一般的みたい。

ぼくもご多分に漏れず、Webサービス開発・ゲーム開発の経験やロボコン、プロコンへの参加や、所属しているベンチャーでの活動についてをまとめた。

枚数は70枚強。というと多いかのように聞こえるけど、このうち30ページと少しはアセンブリのコード(性質上、20文字ほどで改行するので異様に行数が増える)だし、ぼくは式を書くとき上下にやたら余白をとるので、文章の記述量としては40枚を越えてないと思う。

副作用の原因:自己推薦書

この自己推薦書、マ・クベみたいな言い方になるけど、とても良いもの。

というのが、早い話が自分の活動の壮大な中間報告になるわけだ。

特にこの分野の若い人たちは、そのときそのときの活動に熱中するあまり2ヶ月前に完了したプロジェクトことをすっかり忘れていたりする。それはそれでとても良いことなのだけど、筑波情報科学ACを受けるに際して自己推薦書を書くことで:

  • 今まで自分がどういう動きをとってきたか
  • 全体的に自分の意識はどうしたいのか
  • 自分の無意識はどうしたいのか
  • それら踏まえた上でこれからどうすべきなのか

ということをはっきりと認識することができる。枯れた言い回しをするなら、自分自身と向き合うことができる。

一番重要なのは、それを通しての考えの変化や成長が、試験の合否がどうであろうと自分のものになることだ。

からくも合格とならなかった友人がいるのだけど、彼も試験前と試験後では別人かと思うくらいに成長していた。

具体的には、あやふやだった「プログラマになりたい」という目標から「人工知能技術の研究者」まで固まり、そのために「まずは機械学習」と自身でステップを組み立てるまでに至っていた。たった2ヶ月あまりの成長としてはとても大きな歩幅だと思う。

自分を推薦するということの苦しさ

自己推薦書を書くためには、一度今いる場所で足を止めて、これまで歩いてきた道筋をなぞってみる必要がある。

そこにはたぶん、苦しかったりつらかったりした記憶がたくさん堆積していると思う。その中には意識的に、あるいは無意識のうちに押し隠そうとしていたこともあるだろう。

そういったものとも向き合わなければならないという意味では、このAC入試一次試験における自己推薦書の作成は、人生の中でもなかなかないくらい深く、自分のトラウマをえぐらなければならないタイミングだともいえる。

ぼくも当然、わかりやすい言葉でいえば「黒歴史」と化した過去さえも動員しなければならないと判断して、自分の胸の奥を掘り返すことがあった。やっと掴んだ自分なりの答えの下に積み重ねられいる、数えきれないくらい多くの失敗をひとつひとつ選別しなければならなかった。

ただそういった苦しみ、自分の過去の多くの失敗を見据えなければならないということは、場合によってはとても良い効果を産み出すことがある。

ひとつの失敗に深く深く切り込んで、その原因を究明しようとするのはあまりオススメできない試みだと思う。どれほど深く掘り下げてみても、失敗の中心にあるのは結局失敗だし、しかも概ねの場合その失敗という星は無限の半径を持っている。だからいつまでも悲しい気持ちのままになる。

ひとつひとつの失敗はその表面を軽く眺めたまま、たくさんの失敗を一度に並べてみることが重要だ、とぼくは思う。そうするとちょうど星々が星座を形づくるように、失敗たち全体の構成するぼんやりとした形があることに気づく。

つまり、多くの失敗の原因となる自分自身の根本的な欠陥が存在することに気づくわけだ。個々の失敗を粉砕するより、こちらを直したほうが手っ取り早い。

自分を推薦するという快感

そして当然、自己推薦書の作成には楽しさだってある。正確には作成中にというより、できあがった書類を見たときに感じることになるけど。

おそらく、そこに記述されたことがらは自分で思っていたよりも量が多いし、迫力が出ている。

これに関してはもう説明不要かもしれない。あなたの作ったプラモデルのカッコよさを一番よく知っているのはあなただ。それがいつの間にか、自己推薦書というジオラマに最高のシチュエーションで配置されている。それを見て感動を覚えるなというほうがおかしい。

さいごに

なんかびっくりするくらい長くなりましたが、特にキューイチ世代の高校二年生の人たちはぜひACを受けてほしいと思います。向いていると思うので。

あと、今期AC入学予定者の人は、向こうに行ってから寂しがりそうなぼくとお知り合いになっておいてくださるととてもうれしいです。連絡先は以下:

  • Gmail: tnzk.marge@gmail.com
  • Windows Live (MSN)Messenger: kyou80@hotmail.com
  • twitter: @tnzk

ホントにホームシックにかからないか今から心配です。たぶん大丈夫ですけど。ハムスターでも飼おうかしら。

作者:Tnzk

更新日:2008年10月27日 23時16分

このブログのホーム

[Report]参加表明

作者:Tnzk

更新日:2008年10月15日 14時13分

このブログのホーム

[プログラミング]MISTをインストール

OpenCVがらみのエントリに対してのトラックバックがあったことに今しがた気づいて、それを読むとMISTというライブラリがあるそうな。今のところOpenCVしか使ったことがないので、視野を広げるためにこいつも使ってみようと思う。

MIST 1.3.6のソースコードの入手

とりあえず本家TracMISTのダウンロードと環境設定を参考に、MISTのソースコードを入手。安定版の最新らしいMIST-1.3.6を使う。

% cd ~/
% mkdir -p src/mist-1.3.6
% cd src
% svn checkout http://mist.suenaga.m.is.nagoya-u.ac.jp/svn/mist/tags/version1.3.6 mist-1.3.6

mist-1.3.6の中を見てみるとbuildというディレクトリがあったので、この中でmakeしてみる。するとしばらくコンパイルが進んだあとに、以下のような文句を言われてコケる。

/usr/bin/ld: cannot find -llapack
collect2: ld はステータス 1 で終了しました
make[1]: *** [region_growing_test] エラー 1

llapackってなんだ?と思ってググるとこのようなページが。内部で行列演算を高速に行うために利用しているライブラリらしい。なので、こいつをビルドしてやる。

CLAPACKの入手・コンパイル

先ほどのページに従って作業を進める。進めようとする。まずはソースコードの入手と解凍。

% cd ~/src
% wget http://www.netlib.org/clapack/clapack.tgz
% tar xvfx clapack.tgz
% cd CLAPACK-3.1.1.1

次に,UNIX系の場合は clapack.tgz を解凍して,INSTALLフォルダの中にある各OSにあった make.inc.[OS名] (CYGWINの場合は make.inc.LINUX を利用する)を解凍後の一番上のフォルダにコピーします.あとはビルドすればOK.

とのことだが、INSTALLにはmake.inc.LINUXなんてない。だめもとでmake.inc.exampleをリネームして使ってみるけど当然だめ。

調べてみると、このバージョン(3.1.1.1)にはmake.inc.LINUXが欠けているらしい。

3.0のmake.inc.LINUXを参考に3.1.1のmake.inc.sampleを次のように書き換え、それをmake.incとします。

1.「SHELL = /bin/sh」を追加

2.「CC = gcc -ffloat-store」に変更。-ffloat-storeオプションをつけないとclapackのテストに通りません。

(詳細 ttp://icl.cs.utk.edu/lapack-forum/archives/lapack/msg00429.html)

3.「CFLAGS = -funroll-all-loops -O3」に変更

4.「LOADOPTS = $(CFLAGS)」に変更

5.「NOOPT = 」に変更(NOOPTは空にする)

cygwinのgccのデフォルトの出力ファイル名はa.exeになっているため、

F2CLIBS\libf2c\Makefileの186行目と187行目のa.outをa.exeに変更します。

以上でコンパイル、テストともに通るはずです。本当にありがとうございました。

BLAS 質問・相談スレッド1

多謝。このとおり変更する。F2CLIBS/libf2c/Makefileも書き換えようとしかけたけど、これはCygwinの場合の話だということにぎりぎりで気がつく。

これがおわればmakeするだけ。f2clibとblaslibはすぐに終わるが、lapacklibについては10分近く時間がかかるので注意。別に注意したところで短くなるわけではないのだけど...

% make f2clib
% make blaslib
% make lapacklib

で、できあがったファイルを見るとlibF77.a、libI77.aがない。調べていると先ほどのMIST TracにHowToUseLapack - MIST Project - Tracとしてバイナリが配布されていたので、とりあえずこれを使うことに。/usr/local/libにコピー。

MISTのビルド

さあこれで問題なかろう、と再度make。

すると今度はやたら多量のエラーが出た。内容はどうもTIFF関連っぽいので調べてみると、libtiffのインストール漏れ。aptでインストールして再開。

今度はfltk-configがないと言われてる様子。fltkについては公式tracでは一切言及されていないので戸惑う。とりあえずaptでlibfltk1.1とlibfltl1.1-devをインストール。エラーは減る。

再度makeすると、またなにやら関数がないとのこと。で、関数名を見てみると、

% make
=== making ../test ===
volumerender_test.obj: In function `volr_draw_area::draw()':
volumerender_test.cpp:(.text+0xd36): undefined reference to `gluOrtho2D'
volumerender_test.cpp:(.text+0xdb8): undefined reference to `gluLookAt'
collect2: ld はステータス 1 で終了しました
make[1]: *** [volumerender_test] エラー 1

なんでGLU...('・ω・`)

ご存知の人はご存知でしょうが、GLUはOpenGL UtilityでOpenGLを使用する際に便利な関数を提供してくれるライブラリ。さすがにOpenGLをインストールしなきゃMISTが動かないなら、それは公式Tracに書くはず。

まさか、と思ってmake clean && makeすると、案の定コンパイルされてるソースのファイル名はすべて*_test.cpp……

結局むちゃくちゃ躍起になっていたのはテストコード用のライブラリ集めにしかならなかったようです。うーん、ものすごい時間を無駄にしたなー。明日は実際にmist使って何か書いてみる

作者:Tnzk

更新日:2008年10月9日 1時56分

このブログのホーム