1000speakers:4に参加してきました

2008-04-29T22:28:00 / off, prog / comment

1000speakers:4に参加してきました。そもそもこの手のカンファレンスだの勉強会だのの類には全く参加したことがなかったので、手始めに聞く方で。各発表についてならば当日ustream.tvでの中継が行われたり後日発表資料の公開が行われるのですが、そういうことではなく、なにがしか得られるものがあるだろうと思って参加しました。

2008-04-25

手持ちがないので交通手段には高速バスを使ったのですが、繁忙期のためか思ったように予約が取れず、25日の朝に東京駅に到着。午前中は秋葉原周辺を「何かねんどろいどに合うものはないかなー」と物色して、午後は新宿周辺を練り歩いて街並みや道行く人々を観察して暇を潰していました。以前KAYAC会社説明会に行ったついでに寄ったときは雨と人の多さで気が滅入っていたのですが、今回は色々と余裕があったのでのんびりできました。

特に寄りたいところなどなかったので気の向くままにあちこち歩き回っていたのですが、東京は人の多さと建物の狭さが相俟ってずっと息苦しかったですね。全然落ち着けない。色々と尖った店が多くて重宝しそうなのですが、今の時代はほとんど通販で間に合いますからね。そういう意味では東京とその近辺は住みたくはないと感じました。

夜はYou遊Station厚木店でキーマニだのIIDXだのをしていたのですが、途中からせっかくの機会ということで@ClockWorkStudioさんが来られたので、小一時間ほどDDRしたりお話をしたりしました。@ClockWorkStudioさんは自分より2段階ぐらい(どのぐらいだ)上手くて、横目で「なんでそれが踏めるのー!?」「というかハイスピードかけてるー!?」などと驚きつつも、それにつられて普段やらないような高難易度の曲ばかり選んでしまいました。基本的に選曲は自分が行っていたのですが、自分ばかりではアレなので最後は@ClockWorkStudioさんに任せたところ、予想通り最後がCHAOSで内心ニヤニヤしていました。終電などの関係からあまり落ち着いて遊べなかったのが心残りでした。また会う機会があればよろしくお願いします。お疲れ様でした。

2008-04-26

昨夜のDDRで調子に乗って高難度の曲ばかりプレイしていたため早速筋肉痛になってしまいました。おまけに何だか熱っぽい。だるいなー、と思いつつ会場のサイボウズラボに向かう。ところが何故か国会議事堂前駅で降りて地上に出てしまいました。適当な方角に向けて歩きつつも、ビルがジャングルで道路は広いし妙に警官が多くてかなり不安になりました。運良く赤坂ツインタワーには辿り着けたものの、下手したら遅刻していたかも知れません。そして12番出口という最も効率的な道程に気付いたのは呑み会の帰りでした。

以下、簡単な感想:

  1. iwakiriさん - Developers Summitの発起人として御自身の知見を交えつつDevelopers Summitの紹介。自らの信念を持って行動している人の言葉は違いますね。Developers Summitについてはネット上で見聞きすることはあるものの、生の言葉の説得力は凄いです。生き生きしていましたし(これは他の方の発表も同じですけれど)。
  2. jj1bdxさん - 簡単な例題をベースにErlangの紹介。この方の場合は発表内容よりも他の発表に対するコメントの鋭さの方が印象的でした。
  3. hogelogさん - 初学者向けのお題として言語処理系の実装はどうかという話。ステップアップに手頃なお題と言ってもなかなか難しいのでこれはこれでありかな(後輩にライフゲームを薦めたらものの見事に挫折された経験あり)。
  4. kuzuhaさん - 種々の制約からどうやってFlash player間での通信を実現するかという話。通信の中継サーバーを置くしかないのだけど、それにIRCサーバーを使ってみたと。デバッグはIRCのログを見ればいいので比較的楽だろうし、CGI等と違ってそんなにオーバーヘッドもなさげ。でもIRC本来の用途でない以上、あらぬ疑いをかけられてしまうという欠点も。
  5. issmさん - ニコニコ動画APIを使って「笑い」の可視化。もの自体はちゃんと構築されてはいるのだけど、根本的に「w以外にも指標はないのか」「wの数にしてもコメント毎に恣意的ではないのか」「コメントが付けられた時刻とコメントが指す時刻にはずれがあるのではないか(一部の例外を除いて、動画の再生時刻を調整してまでコメントを付ける人は多くないのでは)」という疑問が残る。
  6. earth2001yさん - スタックマシンならぬキューマシンというネタ。ネタで始まった割には、少しつっこんで考えてみると、データと演算の流れが幅優先探索そのもので、上手くやれば容易に並列化できるのではないかと面白かった。ただ「キューはそのままだと扱いにくいので、まずはキューでスタックを実装します」には全米が吹いた。
  7. ranhaさん - 平たく言えばファミコンのエミュレーターを書いてみたという話。低レイヤーならではの苦労話や実際にある程度動くものを作ったという点は素晴しいのですが、発表に関しては本筋と絡まない余分な箇所が目立って、その分本来伝えるべき内容が薄れがちだった点が惜しかったです。方向性としてはhogelogさんに通ずるところがあるのですが、hogelogさんの場合は出したネタをほとんど回収していましたからね。
  8. inajobさん - CGI等、サーバーサイドのことにまで手を出し始めると大変なので、JavaScript一本でこういうところまでやってみました、という話。JavaScriptのみだとデータの保存だけでも実は面倒で、cookieは容量面で制約があるし、cookie以外の手段となるとウェブブラウザごとにまちまちなって面倒。それにクライアントサイドで作成したデータなどを公開・共有することも不可能で、そういう点ではサーバーサイドにも手を出さざるを得ない等々。呑み会ではちょうど向いの席だったので、最近(開催10日前)になってwedataなんてものが出てきたので、そういうものを利用すればクライアントサイドオンリーでも色々できるのではないかという話をしたりしなかったりでした。
  9. daisuke_mさん -
  10. syou6162さん - 統計学の知識を元に、御自身のTwitterアカウントにおけるfollowingsがremoveされる確率を求めてみたという話。モデルの話は一朝一夕で解るものではないので置いておくとして、用いるパラメーターについては色々と考えられるので、数セット用意しておいて各々でどの程度結果が異ってくるのかや、他のユーザーについて適用してみるとどうなるかといった比較・検証があれば良かったかなと。ただそこまでやると枠に納まりきらないかな。
  11. isocchiさん - 声が果てしなく萌えキャラでした。じゃない。この辺で熱っぽさがピークにきていたので記憶が朧げです。Papervision3Dというライブラリの紹介なのですが、プレゼンツール自体がそのサンプルであるところが上手い。またユーザー側で自由にスライドを閲覧できるけれども、発表中のスライドよりも先のものは見ることができないといった工夫もまたBlazeDSとやらのサンプルも兼ねていて上手いなぁ、と。
  12. sugamasaoさん - SMTPについての簡単な解説。内容的には既知のことだったので発表の仕方に期待していたのですが、色々とトラブルがあって本来の形とは違うものになってしまったのが残念でした。それでも挫けず発表しきった点は素晴しかったです。あとVimユーザーなのもポイントでした。++。

呑み会では隣の席が何故かiKnow!のxakyさんでした。そもそもxakyさんが1000speakers:4を聴講していたのかが謎です。凄く日本語が流暢で、途中から西尾泰和さんを交えて日本語についての話になった際もさらっと漢字を書かれていてびっくりしました。漢字を分解して解釈する話になった際に絶望先生をネタに振ってこられたと聞けばどのぐらい流暢か伝わるのではないかと思います。

結果としてはなかなかいい刺激になりました。全力で頑張っている姿勢が垣間見れて、自分ももっと頑張ろうとは思いつつも、逆に相対的に自分が霞んで見えてきて戦意喪失しかけです。どーしましょー。

2008-04-27

TODO: 続きを書くこと。

1000speakers:4に参加します & 25日と27日に東京近辺で遊んでくれる人を募集

2008-04-24T01:38:00 / off, prog / comment

1000speakers:4に参加します。今回は聞く方での参加ですが、ネタが上がったら次か次の次ぐらいに話す方で参加するかも知れません。

1000speakers:4自体は26日に開催されるのですが、諸事情により25日から27日まで東京に滞在します。そして25日と27日は超暇なので誰か一緒に遊びませんか?

ドメイン名、取得しました

2008-04-24T01:24:00 / site / comment

前々から考えてはいましたけど昨日になってようやく踏ん切りがついたので、このサイト用にドメイン名whileimautomaton.netを取得しました(VALUE DOMAINを利用。今なら.netが790円/年)。少々長いのがアレですけど、ユニークな方が良いだろうと思ってこれにしました。このサイトの旧URI nicht.s8.xrea.comについては自動的に新しいURIに転送されるようになっています。

ドメイン名を取得したのに広告が出っぱなしなのはアレなのでXREA+の方も購入予定です。せっかく取得したのですから某かに使う予定です。

Mac: There is no terminal emulator that satisfy me

2008-04-13T20:12:00 / mac, windows / comment

I realized there is no terminal emulator that satisfy me. I tried 3 applications - Terminal.app, iTerm and PuTTY on X11, but each of them have some faults.

Terminal.app
Can't use 256 colors (only 16 colors and they aren't configurable)
iTerm
Can't treat Option-X as Meta-X or Esc X (there are options to choose these behaviors but that doesn't work for my environment)
Process characters that are processed by other applications, for example, whenever q or l is pressed to change the current mode of AquaSKK, the characters are also send to the application that runs in iTerm
PuTTY on X11
Can't use smooth and Japanese fonts.

Mac: アプリケーションの終了タイミング

2008-04-11T01:19:00 / mac, windows / comment

Macだとアプリケーションを終了するためには明示的に指示をしなければならない。Windowsだとメインとなるウィンドウを閉じれば、それがアプリケーションの終了も兼ねていることが普通だったので、この動作というか慣習の違いには戸惑いました。最初は違和感を感じましたけど、考えてみればこれはこれで妥当なのかなと思います。Macの場合はデスクトップ上端のバーにアクティブなアプリケーション固有のメニュー項目が表示されるので、あるアプリケーションのウィンドウが全て閉じられたとしても操作には困りませんし(Windowsだとウィンドウ毎にメニューバーが存在するのでこの方式は取れません)。

ただこの慣習に従ってないケースが稀に見うけられるので、何とも。

はじめてのMac

2008-04-06T02:48:00 / mac, windows / comment

先日注文したMacBookが届きました(いや、届いたのは3日でしたけど)。はじめてのMacですよ。以下、Windowsに染まり切った人が混乱するであろうこと一覧:

キー操作体系
基本的にCommand-Xの形。位置的にWindowsキーと同じ位置(私の場合はAltと同じ位置)なので少し違和感がある。でもほとんどこの形に統一されているので問題ない。WindowsだとCtrl-XだったりAlt-Xだったりでバラバラだしなぁ。
メニューの各項目にそれを直接選択するためのキーがない。Windowsだと「Save As」や「ファイル(F)」のような形で表示されていてAlt-Xで直接選択できるけれど、それができないので滅茶苦茶効率が落ちる。項目名が英語ならばまだ先頭の文字をタイプすればカーソルの移動だけはできるけれど、UIを日本語にしてるとそれもほとんどできないので困る。
各種ショートカットキーの表示において、モディファイヤーを表すために特殊な記号を用いている。CommandOptionCtrl^Shiftです。Commandはキートップに記号が印字されているからいいものの、他のキーには何も印字されていないので困りました。Ctrlはまだ想像がついたので構いませんでしたけど、一般人には分かりませんよ。
OS側で各モディファイヤーキーを他のモディファイヤーとして動作するように設定できる。Caps Lockをモディファイヤーとして扱うこともできるのは大きい。ただFnは設定不可。
OS側である程度ショートカットキーのカスタマイズはできる。しかもアプリケーション単位での設定もできる。割り当てられる動作は既存のメニューの項目から選ぶ方式(ただGUIは項目名を手入力する形なので凄く不親切)。どうにかして自分で項目を定義できるならば結構好き勝手できそうではある。
OS側でこういう設定ができる以上、窓使いの憂鬱的なアプリケーションがないのは納得できる。nストロークキーとかユーザー定義モディファイヤーとか、あればそりゃあ便利だけれど、そんなに使わないしね。
アプリケーション固有のメニュー項目はデスクトップ上端のバーにある
Windowsだとウィンドウの上端にメニュー項目があり、それになれていたせいで混乱した。まさかデスクトップ上端のバー(なんて名前なんだろう)にあるとは思わなかったし、ましてやアクティブなアプリケーションを切り替えるとそれに応じて内容が変わるとも思わなかった。
タスクバー的な存在はない
強いて言えばDockで起動中のアプリケーションのアイコンの脇にマークが表示されるくらいかなぁ。個人的には不要なので問題にはならない。
Command-Tabでの切り替えはアプリケーション単位
Windowsのようにウィンドウ単位ではないので、ポップアップ的に表示されたウィンドウ等を選ぶ際に困る。
アプリケーション単位なので、同一アプリケーションが開いたウィンドウは自動的にグループ化されているような感じになる。上記の点と合わせれば一長一短か。
トラックパッドの操作
何だこの気の配りようは。今まで他の人のノートPCを触る機会はあったけれど、トラックパッドは不便で仕方がないとばかり思っていました。それが何だよこの操作の快適さは。トラックパッドのみでジェスチャー操作をするには少々無理がありますけど、それ以外は全然問題ありません。こういう点は見習わないといけないなぁ。
ネットワークのスループット
Macとはあまり関係のないことですが、今まで使っていたWindowsマシンだとせいぜい10Mbpsだったのが、何故かMacBookだと75Mbpsも出ます。スペック的な差もあるでしょうけれど、MTUだのRWINだのの値が適切に設定されているのもあるのかなぁ。

Vim: 起動済みのVimプロセスを他所からインタラクティブに操作したい (暫定解決編)

2008-04-02T20:57:00 / vim / comment

起動済みのVimプロセスを他所からインタラクティブに操作したい件の暫定解決版:

#!/bin/bash

SESSION_NAME=multivim

valid_sessions=$(screen -ls $SESSION_NAME |
                 awk '/^\t/ { print $1, $2;}' |
                 wc -l)
if (( 1 <= $valid_sessions ))
then
  exec screen -x $SESSION_NAME
else
  exec screen -S $SESSION_NAME -m vim "$@"
fi

#__END__

取り敢えず動きはするものの、以下の問題点があります:

viewやexやvimdiff等の名前で起動した場合の挙動の再現
GNU screenのセッション作成時とそれ以外の場合でどう対処するかが面倒。使用頻度と用途を考えると、この点は一先ず無視していいかなぁ。
起動時の引数に標準入力を与えること(foo | vim -)ができない
単純にパイプで連結するとGNU screenに「Must be connected to a terminal.」と拒否されてしまいます。vim <(foo)でできなくはないですが少々問題があります。どちらにせよ既存セッションにアタッチする場合を考えると少々面倒。
既存セッションにアタッチする際にファイルを開くなどができない
これが一番の問題。アタッチ後に適当なキーシーケンスを送りつけることができるならば話は簡単なのですけど。
GNU screenのためにキーが1個占有される
個人的には^S^Qを使ってないので、どちらかを割り当てれば問題ありません。でも占有されるのは今一なので、screenrcを工夫して^Sxが入力されるとそれをそのまま送るようにすれば、ある程度は解決します。

後はautotoolsの勉強がてらに./configure && make installできるようにしてみようかなぁ。

EXIF

2008-04-02T15:51:00 / photo / comment

先日デジカメを購入してからFlickrに色々とアップロードしてみたのですが、撮影時の情報やカメラの機種など色々なメタデータが記録されていて驚きました。その手のメタデータの規格としてEXIFというものがあることは知っていたのですが、思ったより細かい情報が記録されていて驚きました。こういうものがないと困るという場面もあるのでしょうか。

site: 各記事へリンクしている記事の一覧を表示するようにしてみた

2008-04-02T02:22:00 / site, js / comment

各記事について、それにリンクしている記事の一覧を表示するようにしてみました。記事の一覧の情報を/articles.jsonで用意しておき、それを使って各ページの表示時にjsでリンクしている記事の一覧を表示するようにしてみました。jsの復習とjQueryの試用も兼ねています。

ただ、Opera 9.2xでは期待通りに動作するものの、IE 7では記事のタイトルが表示されず、Safari 3.1では何も表示されません。Safari 3.xはそもそもjQueryのサポート外のようなので置いておくとして、IEの方は何処が悪いのやら。