2008年のエントリ

2008年を振り返る!

大晦日の夜ですね.2008年も残すところ1時間ほどです.ボクにとっては,一人暮らしで向かえる初の年越しとなります.

多くのブロガーの皆さんがそうされているように,ボクもこのブログ「準二級.jp」と共に2008年を振り返ってみようと思います.まずは,今年ポストしたエントリの一覧からです.ちなみにこれ,WordPress の自動トラックバック機能で,全エントリにトラックバックを飛ばしてエラいことになりそうです.へいへーい.

今年は78エントリを書いたようです.

信じられないことに,今年の初めはまだ学生だったんですねー.いやー信じられない.この2008年は激動の年だったため,自分の学生時代なんて遠い昔のことのように思えてしまいます.1月は,修論の合間に,今と同じように Web の考察エントリを書いていたんだなー.2月はさすがに修論でテンパっていたようで,ブログの更新は止まっていました.3月には,18年間続いた学業の終わりを迎えたときの心境を綴りました.

4月には就職のために上京しました.住む場所も生活のリズムも大きく変わって,ブログ更新頻度もまだ低いですね.なにしろ家が見つかっていなくて,カプセルホテルやウィークリーマンションを転々としていたからなぁ.更新のペースが上がったのは5月からです.仕事も少しずつ慣れてきて,気持ちにも生活にも余裕が生まれ(家も決まった!),物事を深く考えるための時間を長く取るようになりました.そして考察系のエントリが多くなりました.

また,考察系のエントリと同じくらいに「参加してきた」「行ってきた」のエントリが多かったのも特徴的です.東京に住み始めて,面白そうなイベントに気軽に参加できるようになったのは大きな変化です.そういったイベントを通じてステキな人たちとの出会いに恵まれたことも,忘れることのできない今年の振り返りです.すべてに感謝です.関わりのあったすべての皆さん,ありがとうございました.

人々のつながりから,記事執筆やインタビューのお仕事をいただいたり,高専カンファレンスの運営に関われたりと,素晴らしい体験にもつながっています.

一方,ボクが押さえきれないほどのワクワクを持って期待していた新たな Web アプリケーションの登場ですが,2008年,「今年はこれだった!」と思えるような新アプリケーションはなかったように思います.去年は,しきりに Twitter,Tumblr,Ustream が面白いという話をしていて,何が面白いんだろうとか,どうして人々は夢中になるんだろうとか,様々な角度からエントリを書きました.それと比べると,今年はそれらの面白さが加速したり,さらに深く旨みが出てきたり,広く定着したりといった変化はあったと思いますが,ボクにとって,新スタンダードとなるアプリケーションとは出会えませんでした.この辺りは,2009年に期待したいところです.

2009年は!

目の前に迫った来年,2009年は,2008年に蒔いたたくさんの小さな種に,水をあげる年にしたいなぁと思っています.人々との「出会い」を「人脈」に,得られた「知識」は「応用」に,この身を巡った「想い」は「感性」に,それぞれ発展させて,日々をますます充実させていきたいです.今年とは,少し立ち回り方が変わるかなーと思っています.

会社の名刺には「Creator」との肩書きをいただいていますが,正直,クリエイティブな活動はあまりできなかったので,これを反省として,2008年に少しは固められた地盤の上で,自分らしく何かを表現する年にもしたいです.単純に技術を磨くだけなら,週末は部屋にこもってキーボードを叩き続ければいいかもしれない.だけど,「こういうものを作りたい!」という強いモチベーションは,しばしば外界からの刺激によって与えられるってことも,今年,気付けたことでした.インプットとアウトプットのバランスに関しては今まで以上にセンシティブに,自分なりに調節して,コンスタントに表現を繰り返していける体力を身に付けたいです.そう,体力は重要です.最近,なまった体に運動する習慣を取り戻そうと試みも始めました.

さーて来年も!楽しい日々と会いましょう!よいお年を!

Fairy Tale に行ってきた!

Fairy Tale

先日,Twitter で @ma_shi_ さんがこんな Twit をしていました.

27日にフェアリーテールという大規模なアマチュアファッションショーがあります。そこで、僕はオープニングのVJを担当させていただく事になりました。チケットが余っていますので、見に行きたい方がいましたら、 連絡をください。

Twitter / MASASHI YAMAZAKI

楽しそうなので行ってきましたー!

Fairy Tale

ボクの他に @hayashi311 さんも参加されるということでしたので,待ち合わせして一緒に会場に向かうことにしました.

初対面の3人で会うものだと思っていたら,@ma_shi_ さんと @hayashi311 さんはすでにお知り合いだったのでした.2人ともなんだかボクのことを慕ってくれていて,初めて会ったのにすぐに色々とお話できてとても楽しかったです.お互い,相手のブログや Twitter なんかを通じて,あらかじめどんな人が想像できているってのがいいですね.改めて Web に感謝です.そしてまた,会ってお話したあとも,継続的に交流できるのが素晴らしい.

さてさて,前置きはこれぐらいにして.

ファッションショー

テンションが上がりまくりでたくさん写真を撮りました.

Fairy Tale - a set on Flickr

Fairy Tale

Fairy Tale

@ma_shi_ さんのお仕事風景を見せてもらったり.未知の世界が広がっていた!わくわくした!

Fairy Tale

ショーチームの皆さんは,みんなキラキラしていてとても良かった.いい刺激をもらいました.ありがとうございます.ショーの合間に流れるメイキング映像っぽいものに反応してしまったなぁ.チームで何かを成し遂げるってのは素晴らしい.空間を創るってのは素晴らしい.

Fairy Tale

2年ぐらい前まで,ボクはこの手のライブイベントってあまり楽しめなかったんです.誰かが輝いているステージを見ていると,なんだか憧れてしまったり嫉妬してしまったり,いつもその場に自分を持ち込もうとして悶々としてしまっていた.最近ようやく,人生に余裕が出てきたんだろうなー.もたもたしているヒマはない,だけど,焦ってばかりじゃ仕方ない.そんな風に自然に思えるようになってからは,日々をより楽しめるようになりました.いい傾向.

このあとに予定が入っていて,最後まで参加できなかったのが心残りです.もしまたイベントのお誘いがあったら,ちゃんと最後まで空気を楽しみたい.

トゲアリトゲナシトゲトゲ

今回はショーを楽しむのがメインだったので,次回は @ma_shi_ さんと@hayashi311 さんとゆっくりお話する機会を設けましょう.2人でなにやら面白いことを始めるみたいじゃないですか!いいなぁいいなぁ.応援させてくださいねー!

楽しい時間をありがとうございました!

高専カンファレンスのこれから

むらけんさんのエントリが素晴らしくよくまとまっているのでまず引用から.

そんな高専カンファレンスの実行委員会は、これまでは運営の各自が思い付くことを能動的に行ってきた所謂「自律分散系」でした。これからも活動を続けていく上で、運営各自の考えを少しくらい擦り合わせても良いんじゃないかということで、本日、ドメイン名と公式タグの命名規則を決定する会議が某チャネルで開催されました。

新ドメインをキメた☆ - ドレッシングのような

高専カンファレンスの規模も大きくなって,運営の課題も見えてきて,これから,次回以降の開催をよりよくするために,様々な試みがなされていくことになるかと思います.その一貫として,ドメインの取得がしめやかに行われました.

http://kosenconf.jp/

ドメイン決定小会議の様子

これまで,特にアルファベット表記において,統一した表記がなかったため,言及する人にも検索する人にも,やや不便がありました.このドメイン名の決定に伴い,「kosenconf」を正式なアルファベット表記とし,同時に,公式タグも同じものを採用しました.

また,各開催回用の公式タグも,以下のフォーマットで統一します.num は3桁の数字で,area は開催地区となります.

konsenconf-#{num}#{area}

例えば,通算第4回の高専カンファレンスが福井で開催される場合,公式タグは「kosenconf-004fukui」になります.

今後も,特有の緩い雰囲気は保ちつつも,締めるところは締めて,参加者みんなが楽しめるように仕組み作りを進めていきたいです.運営に興味のある方は,誰かしらに連絡をどうぞ.

数ヶ月ぶりにテレビを楽しんだ

オートバックスM-1グランプリ2008

M-1 グランプリを見た.いやー 面白かった面白かった.楽しい時間をありがとう.やっぱりテレビは面白いなぁ.といっても,自分の部屋で,自分の意志でちゃんとテレビを見たのは数ヶ月ぶりだったりする.

ボクはもともとちょーがつくほどテレビっ子で,中学校を卒業するまでは,週に何本もテレビ番組を録画していて,貯まっていく VHS のビデオテープを整理している時間に喜びを感じていた.ところが,高専に入学して寮生活が始まり,テレビのない生活へと突入したのだ.ボクが住んでいた寮では,低学年は部屋にテレビを置くことが許可されなかった.

高専の高学年になる頃には,すっかりテレビを見ない生活が当たり前になり,部屋にテレビはあっても,熱心にテレビ番組を見ることはなかった.たまにこれと決めたドラマを見るくらいのもんだった.そのまま大学時代に入り,大学院時代を経て,一人暮らしを始めた今も,テレビを見る習慣は戻っていない.

テレビは面白い

全然見ていないボクがいうのもおかしな話なんだけど,テレビは面白いと思う.じゃあなんでテレビを見ないのかって聞かれたら上手く答えられないなぁ… 受動的な感じがイヤなのかな.仮に18:00にテレビの電源を入れて,たまたま見た番組が面白かったら19:00までテレビの前を離れられなくなるのがイヤなのかな.そんな気もするし,もっと別に理由がある気もする.

M-1 グランプリを見ていて,合間に入る CM も面白かった.木村カエラさんが踊っているキレイな色の CM に心を奪われた.面白いなぁ.でもやっぱり受動的だなぁ.「これ面白い!」と思ったときに,次の日の学校の教室じゃなくて,その瞬間に,面白いって言いたいし,そんな想いを誰かと共有したい.これか.M-1 グランプリを見ている間の Twitter のタイムラインはこれまた面白かった.みんなでわいわい.

Web があって,みんなが好きな時間に,好きなように,好きなものを,能動的に選択できるようになって,いわゆる「普通の人」ってどんな人なのかどんどん分からなくなって,みんなそれぞれ自分が面白いと思うものを共有できるコミュニティに属している.そうすると,ひとつひとつの母集団は小さくなる.何がボクにとって幸せなことなのか,明確な答えはないけれど,M-1 みたいに,少なくともボクが感じる範囲では「みんなで」楽しめるものが,これからもあり続けてほしいなー.だって,同年代の人に会うとさ,初対面でも,小学校時代に夢中になったものとか,共有できたりして,それはとても嬉しいことだよ.

そんなことを想った.明日,誰かと M-1 グランプリの話をするのかな.

マイネット・ジャパンさんとの交流勉強会

先日,ありがたいお誘いをいただきまして,マイネット・ジャパンさんとの交流勉強会に参加してきました!

マイネット・ジャパンさんとの交流勉強会

うちは小さな会社で,メンバーも数えるほどしかいないので,このような機会をいただいて,共通の話題で盛り上がれる仲間に出会えるのはとても嬉しいことです.会社という枠をこえて一緒にガンバっていけるって素晴らしいことです!ちょー楽しかったです.今度はうちに遊びにきてくださいね!

うちの会社にも交流勉強会を積極的にホストする文化を根付かせたいよ.それがいいよ.

マイネット・ジャパンさんから

newsingkaty,それぞれの開発担当者の方から,開発体制やシステムの中身のお話をきかせてもらった.どちらのチームも若いメンバーで構成されていて驚きました.

具体的な勉強会の内容については,どこまで書いていいか分からないから省略です.簡略化してリストで振り返ります.

  • newsing は独自フレームワークで実装
  • シングルバイナリー化して表示切り替え
  • Xen で仮想化!仮想化!
  • 1ディレクトリに5,000ファイル以上を置くと重くなる
  • RewriteMap は Apache の再起動なしでルールを反映

あと,話の中でちょろっと教えてもらった FireMobileSimulator ってのを次の日に試してみたらすごすぎて漏らした.もっと早く君に会いたかったよ…!ケータイサイト開発するなら知っておいて損はありませんね.いい情報を教えてもらいました.

うちから

View SlideShare presentation or Upload your own.

弊社 Scigineer が外部に向けて何か話すときは,社名にも込められているように「Science」と「Engineering」って2つの切り口で話してきたんだけど,今回はマイネット・ジャパンの開発チームの皆さんとの交流勉強会ということで,いつもの話は触りだけにして(結局けっこう話したみたい),ボクらのチームの取り組みについてお話させてもらいました.現在のメイン事業であるレコメンデーションエンジン Deqwas は,研究・開発に関わっているのが8人ぐらい.その中でボクは,お客さんごとの差違を吸収しながら要望を一般化し,運用を可能な限り自動化するための作業をしています.研究チームの一員でもあるため,論文を読んだりゼミっぽいディスカッションに参加することもありますが,ここ数ヶ月のメインの作業はシステムの設計とプログラミングです.ボクと同じような作業をしている人が他に2人いて,これをチームと呼んでいます.

チームの心構えや,実際の取り組みについて,お話させてもらいました.ドキドキしましたよ.

運用のためのプログラムはほとんどが Java で書かれています.チームリーダがライブラリを作り,ボクともう1人がそれを使って処理を書く体制です.ソースコードの管理には Subversion を,プロジェクトの管理には Maven を使っています.Maven は Eclipse とも仲良しで(たまにケンカもするけど),ライブラリの依存関係を上手いこと扱ってくれるので,今の体制に合っていてとても助かっています.各人がプロジェクト単位で担当を持ち,動くようになったら SNAPSHOT をパッケージしてラボ環境にデプロイします.ある程度,安定した動作が確認できたらプロジェクトをリリースします.SNAPSHOT 状態が長く続いているプロジェクトがあれば「早くリリースしようぜ!」とメールを流すようにしたところ,リリースサイクルが早まって,体制が改善されました.いい感じです.

継続的インテグレーションツールである Hudson を積極的に活用しています.実は10月に参加させてもらった JJUG Cross Community Conference 2008 Fall で,Hudson を開発されている川口さんのお話を聞くことができて,大変に光栄な機会でした.開発のモチベーションに強く共感したり.

Hudsonによる継続的インテグレーション

「技術者は王様」コンピュータに任せられることは任せてしまおう

Hudsonによる継続的インテグレーション

Hudsonによる継続的インテグレーション

「10年は泥のように働け」「無理です」

随時,コミットされたソースコードのテストを走らせます.開発機で通ったテストがインテグレーションサーバで通らなかったりすると,開発環境に依存したコードになっている箇所に気付けたりします.ここを通しておくだけでも,本番環境にデプロイする前に安心感を得られます.

また,うちのシステムはバッチ処理が非常に多く,Hudson を HTML の UI 付き cron としても利用しています.Hudson では登録したプロジェクトの依存関係を設定できて,「これが成功したら,次はこれを実行,その次はこれ」と登録できるので運用業務に向いています.さらに,複数のマシンで起動させた Hudson 間で連携もできるので,重たいバッチ処理を分散させつつ,上流工程から下流工程までの実行を一括して管理することができます.コンソール出力は HTML を動的に書き換えて表示されるので,ブラウザからの操作ですべてを管理できるのも嬉しいです.あと,地味な機能ですが,ひとつ前のスケジュールで実行された処理が終わらないときは,次の処理がきちんと待ち状態になるので,タスクスケジュールに追われて CPU を食いつぶしてしまうこともありません.とても重宝しています.

うちの Deqwas を導入していただいたお客さんのサイトの監視も,Hudson に登録したプロジェクトから行っています.

続いて,言わずと知れた Trac です.うちのチームでも使っています.用途は,Wiki と,リポジトリブラウザと,チケット,プラグインで実現するブログぐらいです.Trac を使っていて「なんでここにリンクがないんだ」等の不満を抱いたときにはッ!すでにユーザスクリプトを書き終えているんだッ!!チームリーダに Greasemonkey の素晴らしさを伝えられて嬉しいです.チケットでは,各お客さんの進捗だけを管理していて,チームメンバーのタスク管理はもっばらポストイットに任せています.ポストイットは,必ず強粘着タイプを使います.PC のディスプレイの縁などに貼っておいてもはがれない強粘着タイプが良いです.完了したタスク分のポストイットをしばらく貼っておくのは重要ですね.完了タスクを見える化,ひたむきな自分を演出してチームメンバーの気を引いちゃえ!

Trac の Wiki は記法が特殊でなかなか覚えられません.工夫は Make Link に以下の設定を足したぐらいですかねー.Wiki との付き合い方については後述します.

# Trac Wiki 用ハイパーリンク記法
[%url% %text%]

テキストチャットと,簡単なファイルの送受信には Skype を利用しています.これはチームのスタンスというか,ボク個人の趣味によるところが大きいですが,社内のメールの流量をなるべく下げたいとの思いがあります.お客さんとのやりとりはほとんどがメール依存になるので,依存しなくても済む部分は依存しないようにして,重要度の高い情報が低い情報に埋もれてしまう事態を避けたいと考えています.開発・運用チームでは,簡単なコミュニケーションならメールよりも Skype を使うようにしています.チーム用に常にグループチャットが開かれているので,そこに何かを投じれば他のメンバーにすぐに伝わります.

もう一歩進んだ工夫として,Skype と他のシステムを連携させています.Skype の API を叩く簡単なボットを動かし,Trac や Hudson のフィードを常にチームのグループチャットに流しています.誰かがソースコードをコミットしたときのコミットログや,Hudson 上で動かしているテストが失敗したときなど,ボットの発言に乗っかってその場で議論を展開できます.情報のインプットとアウトプットを同じ場所でできるのが,仕組みが上手く働いている要因だと思っています.

もうひとつの工夫は,Skybridge という別のボットによって,Skype から Trac の Wiki に書き込めるようにしていることです.当初,Wiki に情報をまとめる習慣がなかなか根付かなくて,あとから参照できる情報がないのが問題になりました.Skype がお手軽すぎるため,そこばかりに情報が集中して,情報の参照性が下がってしまいました.そこで「じゃあ Skype に書いたら Wiki にも書かれたらよくね?」となり,Skybridge が生まれました.決められたルールに沿ったメッセージを Skype に書き込むと,同時に Wiki にもログが残ります.これがチームにピタァッときて,副作用的に,Wiki に情報を書き込む頻度も上がりました.「他のメンバーに伝える」と「あとから参照できるように記録を残す」を同時に実現できるのが素晴らしいと思っています.

このように,ボクらのチームでは,定着しない習慣はメンバーに対して無理に強いることはせず,仕組みの方を積極的に変えていくスタンスでいます.「人はミスするもの」「人は面倒なことはしたくないもの」と,人の気持ちを念頭に置いてチームの在り方を決めていくスタンスは,誇らしく感じています.4月から一緒に仕事をしているボクらが見つけた,「文化」と呼べるものかもしれません.こういったひとつひとつを,暗黙のままにせず,メンバーみんなで言葉にして,チームを強くしていく.「Practice とは,こうすれば上手くいくという攻略法ではなく,それぞれが実践から見つけるものなんだ」と教えてくれたのは,大切な先輩でした.今回の資料を作りながら,先輩の言葉を思い出し,噛みしめることになりました.

発表の最後には,Firefox やその他の開発用に使っているツールについての,簡単なデモンストレーションを行いました.うちのシステムは,お客さんの Web サイトに指定の HTML タグや JavaScript のコードを埋め込んでもらうところから連携が始まるので,動作確認が困難です.なので,Firefox,Firebug,Greasemonkey,ファイル置き換え系プロキシなどを駆使して,お客さんのサイトをガリガリ書き換えたりして,スクリプトの動作や表示の確認をしています.この辺もノウハウが貯まってきているところではあるので,テーマにして発表するのも面白いかもしれません.学生時代に仲間とワイワイやってきたことが業務に活きるってのは本当に嬉しいことですよ.

マイネット・ジャパンさんとの交流勉強会

懇親会

そうそう,今回のお誘いは「懇親会のついでに勉強会でもやりませんか」というもので,こちらがメインでした.勉強会について長々と書いてしまってゴメンなさい…!

マイネット・ジャパンさんとの交流会

いやー もうなんていうかね,楽しかったです!拒否されてもまた行きます.皆さんイキイキとしていて素晴らしかった.外部の人と交流する文化が根付いていて羨ましい.学ばせていただきます.うちも人数は少ないけど負けていられないなーって思いました.「QBK(急にべにぢょがきたので)」は反則だなーと思いました.この日に教えてもらった弊社の近くの丼のお店,次の日に行きましたよ.美味しかったです.

最後にもう一度,素晴らしい機会をどうもありがとうございました!ちゃす!