2008-12-01から1ヶ月間の記事一覧

vim-rogue

ダンジョンを進んでいくとモンスターが現れて、モンスターは書き換え前の文字列と書き換え後の文字列を提示して、書き換え終わるとモンスターを倒せる。時間に応じてヒットポイントが減っていくので素早く書き換えることが重要。町の魔法屋で魔法書を買うこ…

生活リズムを改善するライフハック

光療法 - Wikipedia 光療法(ひかりりょうほう)とは、一部の睡眠障害やうつ病に有効とされる治療法の一種である。また、生体リズムを整える効果があるとして、健康法の一種としても用いられることがある。 とりあえずモニターのバックライトを明るくした!…

CUDA日記2

このエントリーは面白かった:社長日記: CUDAベンチ2あれ、僕勘違いしていたみたい。112個の計算を並列で出来る構造が16個あるんだと思っていたけど、16個の計算を並列で出来る構造が112個あるのか。そりゃどうりで121を110にするチューニングで数パーセント…

さらに高速化

operator=で13%の時間を消費している。今気づいたんだけど、いちいち破壊先を元の状態に復元してそれを渡すんじゃなくて、変更前の値と破壊していい領域とを渡せばいいだけじゃない?0.97秒から0.73秒と、32%の高速化になった。http://coderepos.org/share/c…

コピーが減らせなくても、malloc/freeを減らすことはできる

MacOSXではgprofが使えない→Sharkを使うでfreeが負担になっていることがわかったので一時オブジェクトを作成しないように変えてみる。この関数は与えられたgame_scoreをコピーして変更したものを返しているけど、与えられたものを破壊的に変更する関数に変え…

MacOSXではgprofが使えない→Sharkを使う

gprofの使い方がよくわからないですべての関数が0秒になってしまうことに悩んでいたが、gprofの使い方を間違えているのだと思って調べていたのが間違いだった。gprof bug on Mac OS X?。で、かわりにSharkを使うという話が書いてあって調べてみたのだけどな…

日光

天気がよかったので、特に意味もなく東武動物公園駅まで行ってきた。Tobu zooはローマ字読みをすると飛ぶぞー。

案内板

こういうのがもっといろんな駅にあればハッピーなのに。

Vim日記

動的略語補完はC-n、置換は:s/.../.../g、ファイル全体から確認付きで置換したければ:%s/.../.../gc

CUDA日記1

スレッドのsyncはブロック単位。ブロックごとにあるshared memoryはレジスタ並みに高速。協調する必要があるスレッドは同じブロックにいるべき。GPU Gemsを見てGPUPUではscatter(ランダムアクセス書き込み)が困難だからアルゴリズムを工夫する必要がある、と…

Single Round Match 430 (Div1/500point)

都市の座標と条件が与えられ、条件を満たすなるべく多いペア(2つの都市の「姉妹都市」関係)を作れ、という典型的なグラフ問題。条件とは「都市がminDistance以上離れている」と「一つの都市は最大maxPartner個の都市と姉妹都市になれる」の2つ。「ペアの個数…

ひさしぶり

気がついたら での議論を参考に少し書き直してみた。 class Cards{ public: Cards(vector<int> xs): values(xs),len(xs.size()){} inline int pop(size_t i){ len--; swap(values[i], values[len]); return values[len]; } inline void revert(size_t i){ swap(va</int>…

初めてのCUDA

ここまでのあらすじ。9800GTを積んだマシンでKNOPPIX for CUDAを起動した。KNOPPIX for CUDAが"Can't find KNOPPIX filesystem"で起動できない問題(解決)KNOPPIXあまり詳しくないので適当にいじってみる。CDからブートしているからもしかしてファイルに書き…

忘年会ラッシュ

土日水木金と忘年会でした。死ぬ。消化器の調子がとても悪いので昨日の81忘年会はお酒を控えめに野菜とお茶をたくさん摂取しました。鍋だったので疲れたおなかにちょうどよかった。肉体的には結構疲れているけど、精神的にかなり元気になった気がする。久し…

毒混入注意

無防備だな。虫とか入りそうだ。 わかりにくいので解説するとパンが普通に外気に晒されている。

Single Round Match 430 (Div1/250point)

正の整数xとkを与えるのでx + y = x | y となるようなyのうち小さい方からk番目のものを答えなさい、という問題。(説明が楽な問題だ!)x | yがx + yになるということは要するにx & y == 0ということだから、xとkを両方2進数で表現してxが1の所に0を挿入したk…

日記

TopCoder、コーディングフェーズがまだ5分くらい残っているけど、もう眠いから寝てしまおう。CUDAマシンはKNOPPIXだから電源を切るとramdiskの中身が消えるんだよなぁ。でも寝ている間ずっと付けているのもうるさいし電気の無駄だよなぁ。書いたコードはコピ…

premature optimization is the root of all evil(早すぎる最適化は諸悪の根源)

こういう低レベルな言語でコードを書いていると、すぐにダークサイドに落ちそうになる。iとjが共に0〜10の範囲で、かつi == jの時は除外、なんてのを11 * 11のfor文で書いてif(i == j) continueとかするよりも、11 * 10のループにして_j = j + (i ダークサイ…

調子がいい

今日は26時からTopCoderだ。14時まで寝てた上に21時から3時間寝てたしもうちょっと頑張ってみよう。

ハチイチ忘年会

カルドセプトDS解説

Python忘年会で実はプレイしている人や興味を持っている人が結構多いことが判明したカルドセプトDSについてアフィリエイトついでに軽く解説してみよう。モノポリーを知っている人には説明が楽だ。モノポリーはおおざっぱにいうと双六の升目のうちいくつかを…

片付け&棚作り

今日はこの辺を片付ける。 棚が届いたので。 作業スペースが小さい。。 廊下の真ん中に放置されていたタワーを格納する。 計画通り。ぴったり。 一カ所のエントロピーを下げると他の部分のエントロピーが上がる。熱力学には逆らえない。 お、ぴったりだ。前…

KNOPPIX for CUDAが"Can't find KNOPPIX filesystem"で起動できない問題(解決)

この前はML115に8800GTを積もうなどと書いたのだけども、かなり情報が古かったらしくてどちらももう売っていない。というわけでSeed E85000XN/DVRを買った。届いたのでさっそくKNOPPIX for CUDAをCDに焼いて起動してみた。しかし"Can'nt find KNOPPIX filesy…

Geek Test

I am 43% Geek.You probably work in computers, or a history deptartment at a college. You never really fit in with the "normal" crowd. But you have friends, and this is a good thing. Take theGeek Test@ FualiDotCom

災害は複合的要因で起こる

1: 寝ぼける 2: いつも朝飲んでいる缶ジュースを冷やし忘れている 3: 手元が滑って缶を床に落とす 4: ベッドの上でプルキャップを開ける 5: ジュースが炭酸を含んでいる大惨事だ。

ファウンデーション

ファウンデーション ―銀河帝国興亡史を読んだ。これは面白い!たしかにSFといえばSFだけども、これは「あり得る架空の科学技術を書く」とか「あり得る架空の生物の様子を書く」という視点での「サイエンスフィクション」とはかなり毛色が違う。どちらかと言…

眠れないので作った

レゴブロックは会社に起きっぱなしなのでLaQで作った。こういう長細いものを作る上ではレゴブロックを使うよりも軽く作れてコンパクトに持ち運べるってメリットはあるけど、剛性が低いからうまく設計しないとたわんでしまうのが注意点だな。最初適当にカメラ…

エンジニアの三角食べ

失敗が主食、「俺SUGEE」がおかず、発表がみそ汁。三角食べ重要。

左目がかゆい

左目がかゆい、逆さまつげかな、と思っていたけど、外に出たときだけかゆい。最近なんかくしゃみが出るな〜と思ってたんだけど、これ花粉症か。こんな季節の花粉って何だ。それとも花粉じゃなくて別のもののアレルギーなのか?なぜ左目だけかゆくなるのか謎。

しまった

白菜を1/3くらい残していたのを忘れて鍋を全部食べてしまった。