ToDo:
http://partake.in/events/8c2cd95b-b6d4-4d9f-917e-a98ba9aafd25
僕の中では人類 vs ksk という感じだった。 フタを開けてみると人類善戦したなーという感じもあったけど、 まぁ 50B はすごく良いものだった。
もうちょいなんか準備してこいよという感じだったけど、 まぁなんか適当に紙とかにみんな書いてくれて良かった。 意外と人数いたあたりのがあれだった。
hirose さんが関西の方だということなんで 汚ない家に来てもらったり。 色々と教えてもらって僕はありがたかったんだけど、 環境としてはネカフェの方が良かったろうなーとか思った。 あとで予備の布団がカビくさい気付いてそっちも申し訳なかった。 てか干さなんと。しかし梅雨
(00:45)
http://twitter.com/#!/mametter/status/75937905503248385
なんかこのへんでまた話がされてるみたいだった。 前も書いたかもだけど個人的にはすごく欲しい…
RArray に is_sorted みたいな bitfield ぶちこんでしまうってのは 無理なんだったっけ…
(00:49)
http://twitter.com/hotpepsi/statuses/74847188701818880
objdump -x とかはともかく、 -S くらいは普通の linux 上で C/C++ 書いてるプログラマは 年に数度くらいは必要になったりあった方が便利になる気がするっていうか、 知らない/使えない/使わないのは損かなぁと思う。 「linux 上で C/C++ 書いてるプログラマ」が普通でない…ってこともないよねたぶん。
なんかごく最近 objdump -S を普通の用途で使った。 なにやら
static Mutex mu; mu.lock(); // foobar mu.unlock();
みたいなコードを見て、「これたぶん mutex 2回はる感じになるんですよねー」 とか言ってて、しかし本当だっけか…ってことで
#include <stdio.h> struct C { C() { puts("C"); } }; void func() { static C c; } int main() { func(); func(); }
みたいなコードを書いて、 objdump -S したら __cxa_guard_acquire とか出てきたので、 ああやっぱり、とか言ってたのだった。
しかしあとでよく objdump -S の出力を見ると、
400760: 48 83 ec 18 sub $0x18,%rsp static C c; 400764: 80 3d dd 04 20 00 00 cmpb $0x0,0x2004dd(%rip) # 600c48 <guard variable for func()::c> 40076b: 74 0b je 400778 <func()+0x18> 40076d: 48 83 c4 18 add $0x18,%rsp 400771: c3 retq 400772: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
って感じのコードが吐かれていて、 <guard variable for func()::c> ってやつがノンゼロならロックもなんもせずに 抜ける感じになっていた。
つまりロックの中で <guard variable for func()::c> ってのを ダブルチェックしつつ更新してくれるから大丈夫みたいなコードになってるんだろうなぁ と。
で、 objdump -S のおかげで関数内にコンストラクタのある型の static 変数がある場合に、 一度しか実行しないことを保証するためのコストが高いかと思ったら そうでもない、ってことがわかったのだった。
今回はまぁ単に気分で追っかけただけだけど、パフォーマンスとかが重要な時は まぁ普通に知りたい情報だと思う。
(01:50)
深夜0時からかと思ってたけど、 起きたらはじまっていた。
はじめて参加してみたけどこれ面白い感じだなあ。 いくらなんでも問題量多すぎ感が強いので、 はじめてチームとかに入ってみたくなった。
思いだし:
I2 の解が知りたい。 H2 は適当に 0-9 までを作ってから、 2 と ? で文字数調整しつつ o で削って先頭からちょっとずつあわせてく…みたいな方針を考えたんだけど、あまり簡単ではなかった感じだった。
ねむい
(00:09)
http://ipsc.ksp.sk/results_ng.php?arg_contest=ipsc2011&arg_div=open&arg_single=1
1人で5時間でこんだけ解いちゃう人がいるんだなあ…
I2 はアレなのか…アレ結局考えてないな
http://twitter.com/#!/kinaba/status/77392100064374784
(00:14)
鼻風邪みたいななにか。 金曜から全然なおらんくてひどい。
おかげでマラソン頑張る予定があんま頑張ってない。 でもそろそろほっといてかつ多少の事故が起きても 100 位くらいには入る領域ですかね… イマイチ読めん。
問題はいい問題だと思う
(21:47)
毎日仕様が変わる言語。おもしろい
http://p-nand-q.com/humor/programming_languages/tmmlpteal.html
この発想はなかった的な感じだなー
(21:50)
会社の人と韓国旅行に行った。
いつも動画で見てるスタークラフトの大会などを見るのがメインの用事という 終わっている有様。 他に行った人が書いていた通り、韓国語実況しか聞けなくて、 家でゴロゴロしながら聞いてる方が良いというような感じではあった。 しかしまぁいつも見てるものがこう作られてるのかーというのは色々興味深かった。 Intel がスポンサーの一つだったりするんだけど、 その宣伝を時々入れるために壁ポスターの Core i5 とか書いてある部分をずっと撮ってる人とかいたりとか。
しかしスタークラフト的には正直なところ失望した感じだった。 僕の夢の中では
みたいな夢の国を想像してたのだけど、 いや、うすうすこんな夢の国が存在しないことは、予想できてたのだけど、 想像以上に想像以下というか、そんな感じだった。 なんか大会に来てる人はすくないし、 たぶん一番人気だと予想してたイケメンプレイヤーが来てたのに 女子追っかけ3人しか来てないし、 路上の広告とか全くないし、というかんじで。 なんか他の人は SC1 をグダグダ一日中やってる ケーブルテレビのチャンネルを見たらしいので、 それだけが救いと言えるだろうか。
ただなんか国自体は低い期待をはるかに越えていい国だなーと思った。 韓国では反日教育的なことが行なわれてるとか、 日本の方でちょっと前に流行った嫌韓だとかは、 まぁ隣国ってのは仲がいい国の方が珍しいくらいだろうし、 しょうがない面もあるかなーと思いつつも、 隣国が好きになれるに越したことないよなーと思ってた身としては、 とても予想外で嬉しいことだった。
具体的には
大阪ってのは僕が関西にいた時はあまり良い印象のない形容詞だったのだけど、 今までに話をした多くない外国人のうちいくらかが大阪をべた褒めしていて、 いわく大阪の人は親切だとか情があるとかなんとか。 僕としては単におせっかいなおばちゃんがいるとかそいう認識をしていて、 しかし言われてみれば親切でいい人たちではあるんだろうなーとか思う感があったのだけど、 まぁ似たような印象を受けた。
あとまぁ単純に酒もメシもうまくて安かったし。 クソ近いんだしなんか仲良くしたらいいよね…とか思った
しかしスタークラフト的韓流ブームに騙されていた僕としては実は騙されて ここは韓国とかじゃなくて大阪の中の韓国村とかそういうのじゃないだろうか…とか思ったとかなんとか
(01:07)
http://jeffhuang.com/Final_StarcraftSpectator_CHI11.pdf
via http://twitter.com/ikdsk/status/71772107092135937
韓国行きの準備として読んだ。 要はゲームをプレイする人ではなく、 見てる人ってのは何考えてんだ、って話。
僕の感想としてはクソ論文、って感じだった。 定量的評価ほとんどしてないし、 僕の直感では、スタークラフトに特殊な事象を説明しすぎていて、 例えばニコ動での特に厳しい縛りなどをしないどうでもいいプレイ動画が それなりに人気がある理由なんかをコレじゃ全く説明できないよなーという感じだった。
しかし話によると CHI ってのは割と 情報と心理学の橋渡しになるような役割を持っていて、 定性的で特殊な議論も結構あるとのこと。 特に特殊な対象が商業的に大成功してたりすると、 なかなか悪くない研究対象であるとかなんとか。
内容はほとんどスタークラフト的には納得できるが それ全然一般的な議論にならんだろう、 こんなもんが論文って正直ひどいなー、 とか思いながら読んでたんだけど、 ふーむそういうもんか…という感じだった。
ちなみにあまり僕のバックグラウンドを今までここに書いてない気がするけど、 僕は現状では、自分がプレイする時間より 人のプレイを見てる時間の方がちょっと長いくらいの感じなのであった。
そういう意味で、この論文はこう、 観戦者の心理とかは激しく同意するものがアチコチであった… っていうか基本的に言ってることはスタークラフトに関しては完全に正しいと思った。 まぁでも一般性が全くないとは今でも思う。
一つ全く今まで知らなかった事象で感心したのは、 韓国では解説者が盛り上げるために 片方のプレイヤーの行動を隠したりすることがある、 ってこと。 こいうのはプレイヤーの行動を参考に自身の糧としようとしている人には邪魔だけど、 エンターテイメントとして e-sports 観戦してる人への 見せ方としては完璧に正しいものだと思う。 実際僕自身もうまいことやるなら隠してくれた方が楽しいだろうなー とか思ってしまうあたり、 プレイヤーとしては完全に終わっている
以下は読んでた時のメモだけど、あまり意味はわからない。
starcraft from the stands: understanding the game spectator intro 1. かんせんしゃてなに なんでかんせんするの 2. ほかのひとはかんせんにどう関係するの 3. なにがたのしいの 定義: ゲームを楽しんで見てる人 弟にポケモンのアドバイスをしている兄とか含む RELATED WORK - Game studies and Play Theory プレイヤーやめて観戦者に 疑似体験 一人でゲームやってるのの延長 ゲーム外では…ゲームとか無意味 なぜかゲーム観戦に巻き込まれたけど無関心な人 misunderstanding Second Life で PK? を楽しむ人 non-adoption - Game Design and HCI 観戦重要 ゲーム成功の鍵の一つ 観戦が楽しいゲーム設計重要 既に指摘されている観戦重要という点を証明していくぜ - Sports Spectating 自分のチームが勝った時の満足感、ドラマ、逃避、ゲーム知識、… SC 観戦者と同じ理由が見られる 東京砂漠さみしい スポーツには解説者重要 背景(チームの情報など)を解説する人 今起きてるゲームの解説をする人 SC とはなにかー SC1(1998) SC2(2010) 見下ろし型リアルタイムシミュレーション 資源を集めて軍を作る 相手の情報は偵察しないと見れない 資源を集めるユニットと軍と 軍はジャンケン 攻めかた色々 テクノロジ 観戦者は完全な視界 色々サポートツール YouTube SC2 ではたいてい組み込み Why study SC? 韓国では2002からプロリーグ 2つのチャンネルで放送 Samsung et al がスポンサー HDStarcraft は 1 年かけて 100000 subscriber でも1,2ヶ月で 3 倍に アホほど人いるからデータ集めやすい Method バイアスには注意したよ でも専門知識は必要 バイアス潰すために二人でどうこう Sample Characteristics 127 comments and videos about 観戦 9 PERSONAS - Bystander - AoE 見たけどつまんなかった。片方負けた時なんでかすらわからんかった 二種類いる - 無知 (彼氏の家に来た彼女) と知ったか (10年前にちょっと遊んだ) - Curious - つまんなさそうだったけどおもろいかも… 知識のギャップを埋めようとしている - Inspired - なにこれ面白そうやってみよう! なにあのプレイ真似してみよう! - Pupil - 動画で勉強するのは役に立つ Curious に似てるが実際にやってみる - Unsatisfied - 見てるよりやりたいんだけど… - Entertained - 見てるだけーでも楽しい - Assistant - 兄が占有しているゲームに弟が色々言う 実際のプレイに直接影響できる観客 - Commentator - Crowd - なんか盛り上がってるねすごいことが起きたらしいね 観戦者は互いに協力して win-win ENTERTAINING SPECTATOR SC は普通に観戦に便利な機能だとか かこいいグラフィックとかまあある しかし特筆すべきは情報の非対称性っていう 他のゲームにない特徴 Information Asymmetry 各プレイヤーの計画はプレイヤーは知ってるが観客は知らない なるほどそういう作戦だったのか! みたいな cheese such as proxy barracks プレイヤーも観客も知らない情報 きわどいけど決まれば劇的に戦況が変わる攻撃 ポーカーの次の手 観客しか知らない情報 ポーカーでの両者の手 解説者が意図的に隠す情報 DISCUSSION 観戦することによって - 満足 全くプレイしたことないけど大会に行ったり - 不満足 自分もプレイしたい! 大会の後はサーバがいっぱいに spoiler と information asymmetry 意図的に起こす information asymmetry プレイヤーとして成功するには変わった試合をしたりするの重要
(01:32)
って JIT したコードとかもちゃんと動くのね、すごいと言わざるを得ない。 まさか ld-mac の修正に役に立つとは
って感じで動いてるのかなぁ
(22:19)
がある。 個人的には比較的っさと潰したい問題ではある。
見た感じなにやら libLTO を呼ぼうとしてる lazy load のあたりで死んでて、 つまりこの最近の ABI だと lazy load 前提のコード吐いてるか、 それとも lazy load を無視して load するための情報が なんか別のとこに入ってたりするのかなーとかいう感じ。
まぁいいかげん lazy load するようにしてやった方がいいかもしれない。
(23:06)
ELF の fat binary をロードできるもの作りたいってのもあるんだった。
FatELF (http://icculus.org/fatelf/) みたいにややこいいものじゃなくても、 とりあえず ld-linux が特定オフセットから読むみたいな オプション提供してくれればいいんだけどな。
まぁ ld-mac32 と libmac32.so 用意しておけば それぞれふりわけるって shell script 書くだけでもいいんだけど、 それではちょっとつまらなくはある…
(23:15)
寝坊した。
問題はだいたい想定通りっていう感じ。 面白そうだけど leaders board 的なのが無いのは残念かな。 あとこの手のはチーム組んだ方がいいだろうね… ひとりでやると想定敵がきちんと作れないんだよね。
ざっと問題読んだ。 全然副作用バリバリな関数ばかりで tanakh さんとかが泣きそうな。 あと日々のスクリプティングを Unlambda か Lazy-K か Universal lambda でこなしている irori さん強そう
(13:27)
こんなもん GC 無しで書くとかアホだろーと思ってたんだけど
==1821== LEAK SUMMARY: ==1821== definitely lost: 0 bytes in 0 blocks. ==1821== possibly lost: 1,262 bytes in 18 blocks. ==1821== still reachable: 11,374 bytes in 227 blocks. ==1821== suppressed: 0 bytes in 0 blocks. ==1821== Reachable blocks (those to which a pointer was found) are not shown. ==1821== To see them, rerun with: --leak-check=full --show-reachable=yes
double-free なバグは2つあった。 にしても出遅れてる感が強い
(20:30)
うーむ最初はラムダとか難しいからにゃーとか思ってたんだけど、 だんだん面白くなってきた… 問題とかよくできてるなあ。
0時くらいに大量のクラッシュバグ直してて楽しかった。 C++ のいいところはクラッシュバグを 信用のおけるツールを豊富に使って直す楽しみがあることである。
とりあえずそれなりに悪くない戦いをするコードができてきた。 アドホックな修正が積もってきたので明日はコード整理をしつつ 次のことをゆっくり考えるとこからはじめたいと思う。
(05:01)
最終形を見据えて書いてくといい気がするなあ。 割と色々考えたんでそろそろ復活させれるはず。
てか今日は色々バグのあるひどいデッキを持った かわいそうなデュエリストが戦ってる感じだったので 少しマシにしてあげた。
(23:36)
考えれば考えるほどよくできてるなぁ。 ひいき目抜きで過去最強としか思えない。
分量、ヒントの出し方、関数型教育、ゴルフ、好み、全て僕にちょうどいい。 戦略のアイデアもそろそろサチり始めてきてる気がするので 後は実装するだけな気がする。
欲を言えば "非公式" ランキングの回転が もう少し速ければ、ってのはあると思う、けど十分。 この回転ってつまり一人チームは 最後の3時間くらいは提出するのこわい感じになるんだよね。 仲間内バトルでのテストができないから。 逆に言うと69時間は存分にテストできるってことなんで、 アリとかを思えば十分すぎる。
起きて関数一個書くのに3時間とかかかった。 ちょっと睡眠が足りない…ガソリンが必要。
どうもここしばらくは負けがなさすぎてよくわからんが、 雰囲気的にそろそろ虐殺されるんで、 状況がつかめてくるんじゃないかなー
(16:07)
3日間ずっと、何もしない相手の最短キルへの 挑戦をしたくてしょうがなかったんだけど、 はじめようと思う。 ループの形どうするかってのが難しいんだよなぁ。
で、今書いてとりあえずゴルフする前で
!! player 1 wins by 0:256 after turn 126
(08:18)
適当にもにょった
!! player 1 wins by 0:256 after turn 121
意外と減らんっていうか元のコードがそれなりに良かった。 さてループの中身の調整は大変だ…
(08:46)
今朝気付いたなんでダメージ調整してないのーってのを入れたら 15分でかなり強くなったのが悔しい。
こういうのって強くなったから悔しいってのもあるんだけど、 全力を出せてなかったとわかるのが悔しいってのもあるんだよなぁ。
それはそうとゴルフは現状 106 ターン
!! player 0 wins by 256:0 after turn 106
128匹ちょうどを同時に殺す zombie とかもできたけど、 そっちの方針はイマイチ縮まんかった。
(23:36)
思い出したように韓国について。つってもそんなに書くこともない。 というのは観光らしいことはあまりしてないから。
正月あたりに実家に帰った時に弟に紹介したら ゲームの方も観戦の方もそれなりにハマってくれたようなので、 会社のメンツに紛れて弟もいるというのがよくわからん ポイントで面白かった。
SC2 以外は銃撃ったのとカジノ行ったのと 「韓国の秋葉」とされてる場所に行ったくらいがイベントだったと思う。
銃は一度撃ってみたかったけど、撃ってみると一瞬で飽きた。 的にする紙選んで、それに対して10発くらい撃って、 その当たりっぷり見て点数つけてくれるらしい。 しかし
とクソゲーでしかなかった。
カンボジアに行くとバズーカを撃てるらしいので撃ってみたいね…
カジノはラスベガス、サンブルノ、サンノゼと行ったことあるんだけど、 後者二つよりラスベガス的 (つまりガチでギャンブルやってそうなこわい人がいない) で気楽だった。 ポーカーちょっとやったけど、 僕の中のポーカーブームはずいぶん前に終わっていたのですぐ飽きた。 運良かったんで 50000 ウォンかなんか勝った。 だらだらやってて、ツーペアにオールイン来て受けたらもうけて、 連続で来たツーペアにまたオールイン来たけど そっちはやばそうだったのとオールインの額がデカくなってたので降りたら フラッシュだったかストレートだったかなんでラッキーだった。
そうそう韓国は通貨の単位がデカくて良い。 50000 ウォンつっても 3500 円とかそんなもんなんで誤差の範囲。 円高もあいまって異様に金持ちになった気分になれる。
秋葉は行くのが遅かったからかもしれないけど、ガッカリスポットだった。 まず駅前にヨドバシみたいなところがあって、 まぁヨドバシぽい雰囲気だった。 日本との違いは値段が書かれてないからまったくよくわからんことと、 同じもの売ってる小売店が大量にあることと、 大阪ぽい感じの客引きがあることだろうか。
ヨドバシの屋上には e-sports ホールだかなんだかがあって、 デパートの屋上にそんなもんがあるのかーと見に行った。 まぁなんかちょっとしたイベント用のホールみたいなそういうのだった。
ゼルダみたいな通路を通って電気街ぽいとこに。 日本だと謎の電飾とかが売ってるような感じの アーケード通ったんだけど、 そのアーケードの中は全部一様に家庭用ゲームを売ってて、 どう考えても売り物がかぶってて謎だった。
あと書いてないこととしては酒が死ぬほど安い。 韓国焼酎とマッコリは水並の値段で100円程度で一本みたいな。
で一本買って帰ろうと思ったら荷物チェックインするの忘れてて、 検問で没収された。 アホか…と思ってたら、 ほぼ同時に弟も没収されてて兄弟してヒドいなぁという感じだった。 まあ100円だからいいんだけどさ…
(00:08)
106 から縮まん。 100 付近までは行くと思うんだけど…
なにかしんどすぎるのもあると思う。 なんか昨日寝る前にアイデアあった気がするんだけど、 しんどくて寝たせいでわすれた…
(02:12)
ICFP の画像の方のデータは読んでみたんだよね。 なんかちょっとやってみた結果 "ICFP" で xor 取ってたのはわかったんだけど、 これ一体どういう理由で xor 取ってるんだろう…っていうのは謎のままだった。
なんとなく、かなあ…?
(03:41)
前 | 2011年 6月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
Before...
_ mame [応援のお便り待ってます! is_sorted は要素を破壊的に書き換えた場合に sorted じゃなくなるのの検知..]
_ naruse [> is_sorted は要素を破壊的に書き換えた場合に sorted じゃなくなるのの検知が難しいです。 そう..]
_ mame [よく見るんだ。sorted なのは ary 、破壊的に変更されるのは a です。]
_ hirose [先日は泊めてもらって本当にありがとうございます。 色々話を聞けて、すごく楽しくて、最高でした!]
_ naruse [> よく見るんだ。sorted なのは ary 、破壊的に変更されるのは a です。 あー、なるほど。世の中難しい..]