情報科学苦手の会
twitterで見かけて参加。
- 具体的なプログラムは組まずに
- 参加者各自が苦手な事について自由に雑談や議論を交わしたり
- 苦手なことについて自習したり
- 教えられる人が居れば積極的に教えてあげてください。
- 今勉強していることをスライドで発表する
というイベントとのことで、その場で聞くというスタイルは良いと思った。
以下時系列イベント
自己紹介
せっかくnyaxtさんがいたのに3Dが苦手と言うのを忘れた。しかしながら、知りたいことが漠然としすぎていて、もう少し何か書いてみようと思った。
C++の話 shinh
G++が吐くアセンブリコードの話。多重継承したときのvtableの内容とか、virtual関数のポインタを取ると中身がただのindex値とか(VCはポインタとのこと)。例外(SjljとDWARF)でどうやってスタックを巻き戻すのかとか。
○○になってますよ、という説明で、はいそうですかと納得するのは騙されやすいタイプ(探究心が足りないという意味だと思われ)。
ホワイトハウスへの道 yuyarin
まずCDNの話。ホワイトハウスのwebサーバにアクセスすると、最も近いAkamaiのサーバを見てるだけかもとか。次にGoogle Public DNSとIP Anycastについて。物理的に別のサーバに同じアドレスを振り、最も近いところにアクセスするという点ではCDNに似てると思った。
以前DNSの応答時間を調べたことがあって、結構な頻度で数十msくらいかかっており、自前でキャッシュしたらそこそこ速くなったりした。Google Public DNS使うと劇速というのは納得できる話。
ネタ的には、ホワイトハウス内にはwebサーバは一台もないから「本物」には到達不能ではないかとか。
diffのアルゴリズム cubicdaiya
編集距離について。図でなんとなくわかった気になったけど対角線の距離のところで挫折。最悪値が全削除→全追加で、そこから最も遠い点を求めていくみたいな感じなのかな。
WinDiffは追加・削除のほかに移動も教えてくれるのだが、これは質問したら「hunk(差分)に対してdiffを取ればわかる」との答え。なるほど。
expornentialの実装 herumi
floatのe^xの高速実行について。floatの内部形式が(1+n)の形なので、それをうまく変形するとテーブル引きできるようになったという話。
doubleだと表が爆発するんじゃ?という質問に対しては、e(a+b)=e(a)e(b)であり、上位ビット群のみのテーブル、中位ビット群のみのテーブル、下位ビット群のみのテーブルみたいに分割していけるので実装可能とのこと。
あとx86のdoubleは内部で80bitで扱ってる云々の話が出てWikipedia見てみたところ、8087はIEEE754の原型になり、80387で完全準拠とのことだ。ただしSSEの命令の一部の誤差は非準拠らしい。あと改定されてIEEE754Rになるぽい。
MVCの次は? NetPenguin
MVCの解釈が人により違うとか、じゃあなぜMVCが誤解されてるのかとか、誤解されなければよいだけでは?とか色々突っ込みが入ってこれは地雷(みんなMVCの話が好きすぎる)ということに落ち着いた。
SMPカーネル syuu1228
カーネルをSMP対応するときの作業内容など。スケジューラは、Hyper-threadingやNUMAなど固有の特性を知っておかないとロックしたりするとか。
L3以下のIPの話 yuyarin
1000BASE-TXの変調方式の話など。素晴らしき低レイヤの世界。
FPGAとは何ぞや firewood
Google GroupでshinhさんがFPGAわからんと書いてたので、プレゼン聞きながらその場で書いた。はよピザ食わせろという殺伐とした雰囲気の中、ThinkPadが固まり再起動してさらに待たせることになった。HDLは10行くらいしか書いたことなくて嘘を言ってないかどきどきしながら発表した。学校の演習でCPUを書いた人とかいて釈迦に説法感ばりばりではあった。
個人的にはFLTVの時もそうだったけど微妙にカオスな感じがクラブ活動みたいで面白かった。
開催前は小さいQ→Aを繰り返す会みたいな感じにしようという思惑があったのかもしれないのだけど、始まってみると個々のトピックでは得意な人もいるために、苦手な人は埋もれて得意な人が前に出るみたいな感じになってしまった面はあったかと思う。(どこが苦手なんだみたいな突っ込みが何回かあった)ただ、会のタイトルが苦手ということで、素朴な質問でもOKという雰囲気ではあったと思う。そこは特に良かった。開催感謝です。