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

正規表現 FizzBuzz メモ

wake と sed のセパレータがちょっと違う場所があったのを適当に修正。 \%!; until (/;/) { #|fizzbuzz: l1,1 #%! { : } \%!; $\=$/; #\(\) #|k(.);.*\1(.).*:"$2" #%! s/$/;0123456789;/ \%!; s/$/;0123456789;/; #|j(.):k$+;0123456789 #%! s/9;\(.*;\)/;\…

拡張正規表現でカウンタを書く

Esolang Advent Calendar の10日目になんとなく参加みたいな話です。自己紹介を書いておくと、好きな esolang は見た目よりむしろ中身重視というか、行なわれる処理や処理のしかたがユニークなものを好む傾向があるみたいです。あと先日 世界一の Befunge コ…

ゴルフ場について話した時のスライド

http://shinh.skr.jp/slide/anagol/000.htmlがあったのですが、ここにはるの忘れてました。これからさくら VPS に移動したりしたりしたので、既に少し古い感じですね…

PTT で Lambda: the Gathering について話してきた

のでスライド:http://shinh.skr.jp/slide/ltg/000.html今回の ICFP Programming Contest について話してきたという話です。スライド書いてて、やはり今回よくできてたなぁと思いました。あらためて今回の主催者のみなさんありがとうございました。ちなみに色…

Tinycc on NaCl

http://shinh.skr.jp/nacltcc/tinycc.htmlNative Client がリリースされてから、ブラウザで C のコード即実行できたらキモいよなーと思ってました。ただ Native Client がなかなか JIT 対応してくれなかったから遊べなかったのですが、なんか最近見直したら …

x86-64 最適化勉強会2

http://atnd.org/events/19140前回同様楽しかった。「x86/x64最適化」とかいう極めて限定的なタイトルで第2回とかになったことにびっくりですが、驚くべきことに第3回をやるつもりらしいですね…奥が深い。 86 か最適化のどっちか落としてもキツそうなのに…ど…

Fault Detection in Multi-Threaded C++ Server Applications

http://valgrind.org/docs/muehlenfeld2006.pdfを読みました。 helgrind をちょっとよくしたよ、って人が書いた論文、だと思います。先に結論書いておくと、わりとがっかりな感じでした。 race detector がどう動いてるかわかったのは収穫ですが、もうちょい…

atomic operation どころか mutex もわかってなかったという話

read write lock ってものがあります。 pthread だと pthread_rwlock_t 。コレの私の思ってたセマンティクスは以下のようなもんです。 writer lock を取ると普通の mutex lock みたいな感じ。その thread が unlock するまで、以降の reader lock と writer …

開発環境勉強会

http://partake.in/events/afe6657b-b54c-44d2-8af5-d39e98e6f2bdで、どうでもいい話をしました。http://shinh.skr.jp/slide/env/000.html質問で受けた「いじっていると環境を同期させるのが大変ではないか」って質問はなかなか面白い話だと思う。後で話して…

valgrind 論文読んだメモ

時々 valgrind はオーパーツだとかそういう主張をしてたりします。コードとか論文とかチラ見くらいはしてたのですが、まあちゃんと眺めてみたのでメモ。Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentationhttp://valgrind.org/docs/valg…

ICFPC 2011

http://www.icfpcontest.org問題は例年通り面白い…とかいう次元じゃなくて無茶苦茶よくできてるなーと思った。感動的に。L:tG とかいう対戦型カードゲームの AI を書く。 M:tG に名前似てるけど、デッキとか作る感じではなくて、15枚のカードをいつでも使え…

TCO Marathon Match Round 2

70-80位くらいなので一応 Round 3 にはいけるかな、って感じ? 全力を尽くしたかっていうとそんなことないけど、しかしそれなりに時間使ったわりにはイマイチだった…問題は適当に大量の点が与えられるから、それをつないで正多角形に近いものをたくさん作るこ…

Mach-O と maloader の話

を会社でしたんでスライド置いておきます。しかしオブジェクトフォーマットがどうなってるかとかって、基本的に当たり前の情報が入ってるだけだからあんま面白くないよね…http://shinh.skr.jp/slide/ldmac/000.htmlMach-O ってのはなんかよく考えられてるの…

maloader - a mach-o loader for linux

https://github.com/shinh/maloaderLinux で動く Mach-O loader を書いています。何ができるかというと、 Mac のバイナリが Linux でそれなりに動きます。今のところ、 gcc 、 otool 、 nm などの、いくつかのコマンドラインツールと、その gcc が生成した簡…

TLE 優勝

最初から最後まで全力でがんばりました。8問あって、1問は誰も解けなかったので全7問で、そのうち6問がトップなので割と文句なく1位です。最初の方は期間が2日しか無い予定だったのでとりあえず問題を全部解くのを重視してやってて、後の方は3日に期限がのび…

アトキンのふるい

http://cr.yp.to/papers/primesieves.pdfを斜め読みしました。ドメインからわかる通り、 djb が共著なんですよね…アトキンさんが考えたふるいを djb が実装した、って感じですかね、たぶん。N までの素数を高速に求める方法、って言うと誰でも思いつくのはア…

dissimilar cyclic quine

以下の ruby コード A を実行すると別の ruby コード B を出力します。で、その出力されたコード B を実行するとまた元のコード A を出力します。かつ、コード A とコード B は同じキャラクタを含んでいません。 eval q=%q(puts ('DIGGB%sB'%(('eval q=%q('+…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h