憂鬱な午後のひととき


1月30日_

朝から飛行機に乗ってSCIS2012に参加.

最初のセッションだったし, 飛行機も多少遅れ気味だったので自分の発表に間に合うかどきどきだったが, 定刻通り無事発表できました.
共著者の方, 座長の方, スタッフの方ご心配をおかけして申し訳ありませんでした.

実装したソースはOptimal Ate Pairingの実装から取得できます.
相変わらずピーなソースですが, 何かの参考になれば幸いです.

疲れと寝違えか何かで頭が痛くて吐き気が止まらない….

1月26日_
数論暗号勉強会参加
グレブナー基底の話…ではなくほぼ可換環論の初歩の初歩だった. 準素イデアル分解とかやったなーと思いつつ. まさか社会人になって聞くとは.
雑談で今月号の数学セミナーの話. 先日読んだのだけど, PRML + 超関数 + 微分方程式系 + グレブナー基底の取り合わせってのがかなり面白かった.
1月24日_
・条件演算子x ? y : zのyの省略
x ? x : yをx ?: yと省略できたのかって驚いてる人がいたのだけどそれはgccの独自拡張. 通常のC/C++ではエラー.
似たようなものとして昔は a <? b (=min(a, b)) や a >? b (=max(a, b))というのもあった[gcc-3.4.6 Minimum and Maximum Operators in C++]. gcc 4系列からは無くなってるので, てっきりこちらも消滅してたと思ったらまだ残ってたのね[gcc-4.6.2 Conditionals with Omitted Operands].
・いろいろ試すとメモリが怪しかったようで抜いたら起動した. 別のマシンからメモリを調達して復活. もう少しだけ生き長らえそう.
1月23日_
今朝, VAIOのが起動しなくなった. 前回からなんと2年も持ったがこれで3度目. 掃除をしても動かないなあ. 未だにメインマシンがPentium Dってどうよって2年前も言ってたが, 最近はリモートで使うことも多いので別に慣れてるこれが一番なんだよなあ.
駄目元で同じく押し入れに残ってた別のPentiumDマシンから部品を差し替えて試してみるか.
1月17日_
本社との技術交流会で最近作ってたプロトタイプのデモを見てもらう予定だったのに, 無線LANの調子が悪くてうまくいかず実に悔しい. プレゼン直前に試したときは大丈夫だったのに. 素直に同僚のマシンを借りておけばよかった.
1月15日_
なんで東京に引っ越して来てから季節感に乏しいのかなあと思ってたら, お花畑というのを見ないせいもあった. 実家だと近所に布袋葵とコスモスとかあってぶらっと散歩してたんだよな.
どこが管理したのか確認したら市がやってたのか(花だより). おお, 雪柳も好きだった(ということすら忘れていた).
1月12日_
でかい文字列を食わせるとstrstrがうまく動かなくてしばらく悩んで「一瞬ライブラリのバグか*」と疑ってごめんなさい. 入力文字列の中に\0が入ってたせいだった. しかし, 人がいれたはずのものに何故そんなものが混じってるのだろう.
* 昔ARM用コンパイラにそういうバグ(仕様だったっけ)があったことに遭遇したので….
1月11日_
「オルゴール」(藤原伊織) 『Vintage'07』収録
複数の作家のアンソロジー. この人が書く41歳なので当然渋すぎるが, その世界に浸ればそんなことはどうでもいい. とにかく文章がうまい. もっと読んでみたいという願いが叶わないのが悲しいところ.
#別のところで読んだことがあると思ったら未完の『遊戯』にも収録されていた.
1月10日_
ちはやふる』(アニメ)
何気なく録画したら面白くてはまった. 話のテンポがよくて絵も綺麗. 動きも素晴らしい.
百人一首は高校の冬休みに1日10首ずつ10日で無理やり全部覚えたが, 下の句から上が出ないので(単方向リストだ)殆ど取れなかったのであった. 今は少ししか覚えてない. 好きなのは「かくとだに」, 「せをはやみ」, 「あおによし」, 「こぬひとを」, 「はるすぎて」かな.
1月9日_

そんな感じの議論がプロシンであった. 一つ目は私が嫌いな問いだ.

時間は有限だ. もしもその「何か」をやっていたら別の「何か」を切り捨てることになる. 切り捨てたものは不要なのか. 何が必要かなんて分からないし情勢でいくらでも変わる. そんなことを気にせず好きなことをやっていればいいじゃないか.

もしなんらかの知識が必要になったらそれから勉強するなり調べるなりすればよい. 大抵の社会人は学生のときに過ごした時間より長い時間を過ごすのだから0から始めたところで大したことはない.

実際, 学生のときに化学や物理を専攻していてコンピュータを触ったことのなかった人が会社に入ってから少し訓練して, すぐによいプログラマになった例を何度か見ている.

そしてややメタになってしまうけど, そのためには好きなことをとことんやることだと思う. 何か一つでも自分の中で突き詰めることをやっておけば後はその応用でなんとかなるんじゃなかろうか.

二つ目の問いに関連して

私は「自分でプログラムしたらどんどんソフトを公開すればよい. 誰かが予想もしなかったバグを見つけてくれる.」 というような発言をした.

後でtakesakoさんと話して上の発言は意外とおもしろいことを示唆していると思った.

「プログラム」は一人でするもので「ソフトウェア」は第三者に使ってもらうものという考え方があると教えていただいた. 「ソフトウェア工学」とはいうけど「プログラム工学」とは言わない.
#もちろん「プログラム」と「ソフトウェア」を同じ意味で使うときもあるし, そもそもここでは厳密な定義を与えてるわけでもないのだが.

どこまで第三者(例えばお客さん)のことを想定して作ることができるかがソフトウェアの質を決める一因になる. 会社で作るソフトウェアは異常系に対応するためのコードが8割を占めるという話もあるらしい.

納期が短い受託開発だとバグは即死につながるので, できるだけバグのでにくい(=異常系の少ない)仕様にするのがコードを書く前の大事な処理だったりする.

プログラムを作ってソフトとして公開するのはそういう感覚を磨くための第一歩になりえるわけだ.

1月8日_

1/6~1/8と第53回プログラム・シンポジウム初参加

学生より先生方の比率の方が高いのかも. webでよく見かける先生方達にお会いした. ポスターセッションでいろいろ議論.

プロシンは夜9時移行が本番だとか. 普段は9時頃寝るので辛いのだが起きとく. 夜中12時から毎年恒例らしい和田英一先生の講義. 語り口が素晴らしい. ご高齢なのに二日連続とは恐ろしい.
二日目のそれはパラメトロンの話. その原理からコードまで. 今回が最終回?

思っていたよりもずっとアットホームなシンポジウムだった.

1月4日_
今年初出社でいじったコードはJavaScript. まあしょうもないことではまりますな.
1月1日_

去年の振り返りと今年

いつのまにか結構な歳になってる. たまにはやったことをじっくり考えるのもよいかと.

・PRML社内勉強会

機械学習というテーマは今後ますます重要になるだろうということで勉強することになった.
その分野は全く初めてだったということもあるが, それを考慮したとしても工学と理学の違いに想像以上に苦労した. なんというか, はまる箇所が工学の人と全然違うのだ. 些細なところでつまってしまう. 「だから定義は何だ」と何度叫んだことか.
#えっ, 単に年食って頭が固くなってるだけ?
まあ社内で先人となるshuyoさんも同じ数学出身の人で, 似たような苦労をされたらしいと言い訳.

それでもしつこく読んでいると下巻に入る頃には, なんとなく著者のリズムに慣れてきて, 次どういう展開になるかある程度予想できるようになったのは感慨深い.
#パターン認識のテキストをパターン認識する!

意外だったのは, 考え方が分かれば後は計算だけ, というところの計算で詰まる人が少なからずいるらしいという点. そういうところで貢献できるならと補足資料を作った. 『アンチョコは死語らしいw 「PRML 虎の巻」? 「PRML ガイド」?』で公開してる. 計算で困ってる人は参考になるかもしれません.

とにかくこのご時世に会社がテキストを読む時間として約10ヶ月もくださったのだ. まだまだそのジャンルの入門者レベルだけども, 今年はその成果を会社に還元すべき年.

ただこの分野, 私はshuyoさんほど根性いれられなさそう(あの熱意と努力は本当に尊敬する). 私は多少違うコースになるかもしれないけれども貢献できるようにしたい(弱気).

サイボウズ・ラボユース

若手支援ということで私はsinya8282さんをメインにConstellationさんもフォロー.

みなさん優秀なのでほっといてもよいのだけど(ぇ, 一応C++の話やx86/x64アセンブラ, コードレビュー, 論文の書き方や推敲, 理論などもろもろなんでもやった.

日本ソフトウェア科学会第28回大会[PPL]Shibuya Perl Mongersテクニカルトーク#16などで発表してなかなか好評だったようだ. よかった. よかった. 第53回プログラミング・シンポジウムにも参加予定.

インターンとは違って彼らがやりたいことの補助をする点, 未踏などとは違ってコードの細部にまで口や手を出す点が目新しくて楽しかった.

x86/x64最適化勉強会1x86/x64最適化勉強会2主催

ちょーニッチな勉強会にも関わらず, それなりに集まってくださり, いろんな方に知り合えてとてもよかった(会場提供もありがとうございます). 後1回ぐらいはやりたい(ネタを作らなければ).

主催者というのはいろいろ気をつかうものだが自分がやりたいテーマがあるならやって損はない. 裏方という点ではJANT オーガナイズド・セッションのプログラム担当をやってみて, ああこういう苦労があって研究集会が回ってるのだなあと少しだけ分かることができた. そういう方々に感謝.

Project Euler

亀のようにゆっくりと続けて1年半. 漸く300問に到達した. 「毎年一つは新しい言語を」なんて話もあるらしい. そんな余裕は無いけど勉強がてらに出来るだけHaskellでやってみた.

まあ入門書はきれいごとしか書いてないなあというのを十分体感できたというかなんというか(多くは語らない).
後, 自分に競技プログラマは向いてないというのもよく分かった.

・暗号

実装の続きはちまちまとやってたけど殆ど何も進展してない. IEICEの論文賞は戴いたけどメインは過去のアイデア. しっかりやれよという叱咤激励と受け止めるべきやね.
#そういやtheがつく短いタイトルの論文っていいねえと言われた.

・で今年

振り返りがえらく長くなってしまった. 結局のところ, 去年はinputが多かったので今年はoutputを大事にしよう. 考えるよりも先に手を動かせ(shuyoさんに言われた).
具体的に書くのは難しいけどまずは去年末から始めてる作業を形にしよう.


御意見は光成滋生<herumi@nifty.com>までお願いします