2010-01-01から1年間の記事一覧

なつこみ

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

Kyeeva on StarBED

Interop 2010 で開催されたクラウドコンピューティングコンペティションというイベントがあって,これはどういうイベントなのかというと「StarBED のノードを参加者に数十台ずつ配分するから常識の範囲で勝手に使っちゃっていいよー.」という極めてシンプル…

ets:select/2

1> Tab = ets:new(test, [set]). 15 2> ets:insert(Tab, {test, hoge}). true 3> ets:select(Tab, ets:fun2ms(fun({test, X}) -> X end)). [hoge]

GWもくもく会

せっかく東京に来たので (とは言っても最近は二ヶ月に一度の頻度で東京に出向くのですが…) 何かイベントに参加したい,ということでもくもく会というハッカソンぽい会に行ってみた. http://atnd.org/events/4317 http://twitter.com/showyou/gwmokumoku な…

91-conf

12:30 に Brue Square Cafe という店に到着し,13:00 頃会場に移動.なんか yayugu とか pi8027 が来ていてとても面白そうな感じだったのだけど,自分は 15 時くらいから未踏関係の用事が入っていたので途中で抜けさせてもらった. でまあ本題はこれじゃなく…

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)]. 今までコードゴルフに取り組んだことがなかったので,取っかかりとして…

age++

16 歳になりました.

ETS テーブルの存在有無を調べる

Erlang の処理系である ERTS には手軽に利用可能なデータストアが複数用意されていて,ETS/DETS テーブルがその内の一つに当たるわけですが,プロセスとは異なり whereis/1 関数で存在の有無を確認することはできないわけです.というのは,例えば -module(t…

大量プロセスが動作する際のプロファイリング

関数の呼び出し回数を調べたいのだけど,eprof や fprof だとプロセス毎の呼び出し回数しか得ることができない….というような場合に使えるのが cprof.いくら大量のプロセスを生成してもモジュール毎の呼び出し回数だけを表示してくれるのでとても都合が良…

whereis/1 関数を使用する上での注意

ちょっと考えてみると当たり前のことなんだけど,whereis/1 関数は呼び出される頻度が多い割に若干遅い感じがするので,無闇に呼び出さないほうが良い.もしくは何らかの形でキャッシュしておくとか. 自分のプログラムではかなり多用していて,これを削るだ…

2009年度下期未踏ユースに採択されました

http://www.ipa.go.jp/jinzai/mitou/2009/2009_2/youth/gaiyou/kk-1.html 採択通知は一ヶ月以上も前に届いていたのだけど,外部に知らせるのは禁止されていました.開発は github に用意したレポジトリで行っているので,誰でも自由に見ることが可能です.た…

メッセージフロー

BitTorrent クライアントの実装メモ.頭が混乱してきたのでまとめてみた.なお,ダウンロード側はコネクション開始直後は choked 状態. Tracker Client Peers Tracker <- GET request Client Peers Tracker peers list -> Client Peers Tracker Client Hand…