なつこみ

auautech読本 - 快楽的技術者集団
今年はこんな面白そうな本があるみたいなので是非購入すべきだと思いますし,コミケに行けないよ! という僕みたいな人のためにインターネット経由での購入も可能らしいのでそういう人は id:yayugu (@yayugu) に問い合わせると良いです.

日時場所

土曜日 東地区 "ア"ブロック 53b

コンテンツ一覧

Kyeeva on StarBED

Interop 2010 で開催されたクラウドコンピューティングコンペティションというイベントがあって,これはどういうイベントなのかというと「StarBED のノードを参加者に数十台ずつ配分するから常識の範囲で勝手に使っちゃっていいよー.」という極めてシンプルなものなのですが,昨年も参加したということもあり,丁度未踏で開発していたプログラムの分散テストとかもしたかったので今年も参加しました.
そして数日前のことになりますが 6/9 にライブデモを行い無事終了したということで,何か記録というか StarBED 体験談的なものを書き残しておこうと思い立ったのですが何を書けばいいんだろう.まあそういうことです.
ボクのチームに割り当てられたノードはたぶん f041 〜 f080,a021 〜 a040 だったはずなのですが,A グループのスペックはかなり低いらしい (確認してない…) ので実際に用いたのは F グループの 40 台でした.とは言っても A グループが邪魔だったというわけでもなく,管理プログラムの実行のためにスタッフがおいしく利用しました.
まあ今考えると多少遅くても A グループも使っておけば良かったと思うこともありますが後悔先に立たずですね….
今回 StarBED を使用している際に考えたりしたことを書くと:

  • nohup コマンドを初めて使った.erl を起動する際は noshell オプションが必要.
  • 管理プログラムを書くために Python の Pexpect ライブラリに触ってみた.挙動がよく分からない部分もあったけど便利だった.
  • put 処理が予想以上に速かったけど,データ数が 10 万個とかになると流石に速度が落ちてきた.原因はコーディングの手抜きだけどこれは想定の範囲内だったしいつかちゃんと書きたいという程度.
  • Chord でのデータ配布の分散化がうまくいってた気がする.
  • 比較的深刻なバグを潰すことができた.

他にも色々あった気がするので思い出したら書き足すかもしれない.

GWもくもく会

せっかく東京に来たので (とは言っても最近は二ヶ月に一度の頻度で東京に出向くのですが…) 何かイベントに参加したい,ということでもくもく会というハッカソンぽい会に行ってみた.
http://atnd.org/events/4317
http://twitter.com/showyou/gwmokumoku
なんか見渡すとビルドボットなるシステムと格闘してたり会社の仕事してたりふつける本を読んでたりしていてとても面白い感じだった.自分はと言うと当初は適当にコードを書くつもりだったのだけど,昨日の未踏レビューでもう少し厳密に設計すべきという結論に達したのでひたすら仕様書的な物を書いたりデータの replication について考えたりした.あとその仕様書を使って @hide5stm さんと主に可視化プログラム設計の話をしたりして,とても有意義な時間を過ごせて良かった.
余談だけどこの会の開催場所は池袋のルノアールなるカフェとなっていて,今回が初めて池袋に来たことになるんだけどこれがとても刺激的だった.というのも,電車から降車したあと駅構内でサンシャインなんたらという案内を見つけて,あーこれは見覚えがあるぞとか思いつつそれに従って歩いてみると,案の定地下西武口という場所いに辿りついてしまい,たぶん知ってる人は知ってると思うんだけどまさにそのものですごいなーと一人感慨にふけていたわけです.どうでもいいですね.

91-conf

12:30 に Brue Square Cafe という店に到着し,13:00 頃会場に移動.なんか yayugu とか pi8027 が来ていてとても面白そうな感じだったのだけど,自分は 15 時くらいから未踏関係の用事が入っていたので途中で抜けさせてもらった.
でまあ本題はこれじゃなくて,時間があったから行きの飛行機内でコードゴルフをしていたら 1B 減ったので記念に書いておくことにした.たぶんこの方針で行こうとするとこれが最短だと思いますし,150B に達するには別なアプローチを探らないといけないなーという感じですね….まあたぶんしないけど.

-module(fb).
-export([m/0]).
-define(r(M),;N rem M<1->).
m()->[io:format(if a?r(15)"FizzBuzz"?r(3)"Fizz"?r(5)"Buzz"?r(1)integer_to_list(N)end++[10])||N<-lists:seq(1,100)].

fizzbuzz

-module(fb).
-export([m/0]).
-define(r(M),N rem M<1->).
m()->[io:format(if?r(15)"FizzBuzz";?r(3)"Fizz";?r(5)"Buzz";true->integer_to_list(N)end++[10])||N<-lists:seq(1,100)].

今までコードゴルフに取り組んだことがなかったので,取っかかりとして簡単そうな fizzbuzz のプログラムを書いてみた.なんか色々試してみたけれど結局このコードに収まってしまい,これ以上短くしようとすると逆に長くなったりしたので諦めた.
anarchy golf の問題ページを見ると最短のコードは 150B とかなってて,頭悪い自分はこーいうものをやるべきではないという結論に達したけれどまあ普通に面白かったですしたまにやるのもいいですね.