ToDo:
考えれば考えるほどよくできてるなぁ。 ひいき目抜きで過去最強としか思えない。
分量、ヒントの出し方、関数型教育、ゴルフ、好み、全て僕にちょうどいい。 戦略のアイデアもそろそろサチり始めてきてる気がするので 後は実装するだけな気がする。
欲を言えば "非公式" ランキングの回転が もう少し速ければ、ってのはあると思う、けど十分。 この回転ってつまり一人チームは 最後の3時間くらいは提出するのこわい感じになるんだよね。 仲間内バトルでのテストができないから。 逆に言うと69時間は存分にテストできるってことなんで、 アリとかを思えば十分すぎる。
起きて関数一個書くのに3時間とかかかった。 ちょっと睡眠が足りない…ガソリンが必要。
どうもここしばらくは負けがなさすぎてよくわからんが、 雰囲気的にそろそろ虐殺されるんで、 状況がつかめてくるんじゃないかなー
(16:07)
うーむ最初はラムダとか難しいからにゃーとか思ってたんだけど、 だんだん面白くなってきた… 問題とかよくできてるなあ。
0時くらいに大量のクラッシュバグ直してて楽しかった。 C++ のいいところはクラッシュバグを 信用のおけるツールを豊富に使って直す楽しみがあることである。
とりあえずそれなりに悪くない戦いをするコードができてきた。 アドホックな修正が積もってきたので明日はコード整理をしつつ 次のことをゆっくり考えるとこからはじめたいと思う。
(05:01)
最終形を見据えて書いてくといい気がするなあ。 割と色々考えたんでそろそろ復活させれるはず。
てか今日は色々バグのあるひどいデッキを持った かわいそうなデュエリストが戦ってる感じだったので 少しマシにしてあげた。
(23:36)
寝坊した。
問題はだいたい想定通りっていう感じ。 面白そうだけど 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)
がある。 個人的には比較的っさと潰したい問題ではある。
見た感じなにやら 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)
会社の人と韓国旅行に行った。
いつも動画で見てるスタークラフトの大会などを見るのがメインの用事という 終わっている有様。 他に行った人が書いていた通り、韓国語実況しか聞けなくて、 家でゴロゴロしながら聞いてる方が良いというような感じではあった。 しかしまぁいつも見てるものがこう作られてるのかーというのは色々興味深かった。 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)
鼻風邪みたいななにか。 金曜から全然なおらんくてひどい。
おかげでマラソン頑張る予定があんま頑張ってない。 でもそろそろほっといてかつ多少の事故が起きても 100 位くらいには入る領域ですかね… イマイチ読めん。
問題はいい問題だと思う
(21:47)
毎日仕様が変わる言語。おもしろい
http://p-nand-q.com/humor/programming_languages/tmmlpteal.html
この発想はなかった的な感じだなー
(21: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)
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)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
Before...
_ mame [応援のお便り待ってます! is_sorted は要素を破壊的に書き換えた場合に sorted じゃなくなるのの検知..]
_ naruse [> is_sorted は要素を破壊的に書き換えた場合に sorted じゃなくなるのの検知が難しいです。 そう..]
_ mame [よく見るんだ。sorted なのは ary 、破壊的に変更されるのは a です。]
_ hirose [先日は泊めてもらって本当にありがとうございます。 色々話を聞けて、すごく楽しくて、最高でした!]
_ naruse [> よく見るんだ。sorted なのは ary 、破壊的に変更されるのは a です。 あー、なるほど。世の中難しい..]