トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|09|

ToDo:


2011-02-28

_ ruby1.9 の gets が遅かった話

http://shinh.skr.jp/m/?date=20110108#c01

の話ですが kosaki 先生たしかに trunk だと速かったです。 すっかり忘れててすいません…

(01:06)


2011-02-27

_ XSSI

そういえば XSSI という攻撃があることを知った。 web サイトのオーナーができる種類の攻撃で、 cookie つきな JSON でなんかやってるサイトだと、 その JSON を全く関係ない web サイトを <script> で 読み込むことによってデータを盗める、と。 しくみとしては JSONP 的なのを逆に攻撃に使えるっていう まぁ当たり前の話ではあるけど、なるほどなと。

対策としては )]}' みたいな文字で JSON のレスポンスを開始して、 自分の JS 内ではこれを読み飛ばしてやればいいらしい。 他には POST しか受けないようにしちゃうとか、 XSRF 同様予想不能な ID とかを URL に含めるとかもいいらしい。

http://code.google.com/p/browsersec/wiki/Part2#Navigation_and_content_inclusion_across_domains

while(1) とか // で JSON を始める手もあるらしいけど、 JS 実装の最適化っぷりとか、 ASCII の位置が変わる UTF7 なんかの文字コードを 考えるとやめといた方がいいらしい。

(14:21)

_ SC2

最近は TLE やら shorten やら ski やらで土日あいてなかったし、 プレイするより GSL 見る方が楽しいということもあって、 あんまやってなかった。

だけど、今日はなんか大会ということなんで昨日今日とちょっと練習して参加してみた。 運が良くて dia / plat のリーグで best8 までいけた。 特に2回戦と3回戦はなんというか不意打ち系というか。

GSL 見るって方の話を書いてみる。

韓国では SC2 ってのはプロが結構いて試合をテレビで放送するとか やる程度になんかすごいことになってるみたいで、 プロはチームを形成していて、たぶんスポンサーからの金とか 賞金とかで生活してるっぽい。 ちゃんとコーチとかもいる。何やってるのかはよくわからんけど。

実際韓国のプロというのはありえんくらい強くて、 GSL というのは Global Starcraft2 League の略で、 韓国以外の人も参加できるのに韓国以外の選手は 64人中5人とかその程度のオーダーしかいない。 アメリカで作ったゲームなのに韓国以外の人達は foreigner と呼ばれていて、 なにか話がおかしくないですかという感じ。 韓国でやってるからじゃないの、って疑問もあるかもだけど、 実際海外vs韓国みたいなのやってるの見ると韓国側の虐殺になってる気がする。

韓国の番組だけど英語放送もあって、 英語圏の人が雇われてアナウンサーと解説をやっている感じ。 その2人は SC2 の解説のために韓国に住んでるらしい。 試合後の選手へのインタビューみたいなのも韓国語英語の通訳がいるのでできる。 選手の方も海外の人は住んでるっぽい。

大会の頻度は月一とかそのくらいで、 最初の方は優勝賞金日本円で700万とかだったけど 最近はなんか減って3,400万とかそのあたりだと思う。

プロがどのくらい強いかというと、 APM という単位があって、 action per minutes らしいんだけど、 僕が 70 とかそのくらいだけどプロは 400 とかあるらしい。 つまりざっと僕の 5 倍程度は手が動いてるというか。 実際見てると3個所くらいの戦闘とかを同時にさばいたりしててまあすごい。

なんかいつのまにか金払って毎日見るようになってきていて、 見逃した試合とかも重要なのは後で見るし、 応援してる選手とかもいて、 野球とか毎日見てるオッサンの気持ちがはじめてわかってきた気がする。

そんな感じ。

(23:56)


2011-02-26

_ shorten

ふたたび安全圏に

http://www.spoj.pl/SHORTEN/ranks/

計算系の問題で bash 使ってトップだった人達が何してたかを完全に把握したので、 後はゴルフというわけでかなりの問題でトップに。

それは楽しかったのだけど、 正直 ruby とか perl で詰め切れてない問題をなんとかするのはだるいぞ…

一番謎な問題としては PIZZAS とかがあるのだけど、 なんでこんなアホみたいな差がついてるかな…

http://www.spoj.pl/SHORTEN/problems/PIZZAS/

(02:15)

_ HEART

そういえば TLE の HEART のトップの解答は読んだ。

どういうふうにやってるかというと、高さを 10 pixels ずつで切って、 その 350x10 の部分に対して、

  • どっかに斜めの線をひく
  • その線の左でまだ塗られてない部分を指定された文字で塗る
  • 繰り返す

って感じで塗ってく、って感じぽい。

しかし、デコードの部分読んでもこのデータを作る機械的な方法がイマイチ思いつかない感じがあるんだよな。 要は単純な画像処理オペレーション一種類使って画像をエンコードするみたいな話なんだけど、 誤差が許されてるからどのくらいのずれなら許容するみたいなのを考慮に入れながらやるのは結構大変な気がする。 なんか greedy にやっていって誤差があんま無いような一般的な方法があるなら、マンガとかの画像を圧縮するデータ形式としてなかなか優れたものになるんじゃないかな…

このくらいの量だったら手作業って可能性もあるかなーとも思う。 だとすると ICFPC07 の endo で僕がやってたような作業に近い感じかなー

(20:34)

_ boost

行ってきた。 本当は PE のやつに行こうかと思ってたんだけど、 tanakh さんが C++ を dis るということでそれにひかれすぎた。

当然ながら午前中は寝坊した。

IIJ ということでカレーでも喰ってから行きたかった (IIJ=>神保町=>カレーというマルコフ連鎖が僕の脳内にある)けど、 それも結構ギリギリだったのであきらめた。

C++ の悪口は比較的まぁそうだよな的な感じで、 もっと叩いても良かったんじゃないかな。 C++ 好きな子とかマゾなので基本叩かれると喜ばれるはず。 あとなんというか叩くことによって C++0x のモチベーションがよくわかる、 みたいな効果があった気がする。

Optional と DTL あたりは SPOJ やってた。 特に DTL は聞いたことあったし。 こういうの飽きたなあと思いつつ MONS を縮めた。 あと Perl6 使えるってことで CTQUINE が大幅に縮む予定だったんだけど、 どうも考えてた方針は使えないみたいだった。

Proto 。なんか面白いなあと思った。 なんというかまぁ実験プロジェクトとしては Boost 面白いよね。

shared_ptr …は話者の仕事でレガシーなものを 割と無理矢理 RAII な感じにしようとしてて 発生した問題色々、って感じなのかなぁと思った。 どうも一般性に欠ける感があったんだけど。 基本カスタムデリータとか使った時点で負けてる感が強いというか…

あと shared_ptr で受ける API ってのは、 heap にしかアロケートされないオブジェクト以外で作っちゃいけないと思うんだけどな。 ていうかたぶんそいう場合はたぶん侵入型の参照カウンタ使うべきな気がするので、 たぶん shared_ptr で受ける API ってのは一般的に言って間違ってるんじゃないかな…

TR18015 。面白かった。 何が面白いってこういう200ページとかある資料とか 作るもんなんだなー的な。

ゲームと C++ 。 例外と RTTI 切れ、ってのは Google とかもまぁそうなってるし、 まぁ一般的に割といいんじゃないかな…

C キャストダメ絶対、ってやつだけど、 プラットフォーム依存型とかキャストしたい場合なんかには C キャスト便利だったりするけどね…という話があると思う。 具体的には pthread_t なんだけど、 この子は thread の名前として機能しうるので、 なんかなんとなく unsigned long とかにして出力したい… とか思うことはまぁあると思う。

ところが BSD 系だと pthread_t はポインタなので static_cast はできなくて、 linux だと unsigned long なので reinterpret_cast で怒られる…と。

あとは懇親会は補欠登録してみたけど キャンセルとかいなさそうだったので、 herumi さん + kik さんとカレーに。 なんか色々聞きたいことあった気がするんだけど、 どうもしんどくてテンション低かった。 もったいない話ではある

(21:06)


2011-02-25

_ chromekey

腐ってたので適当に修正 contentEditable かどうかは inherit とかがあるので isContentEditable で調べるのが良いらしい

(01:52)


2011-02-23

_ すきー

会社でスキーに行った。

去年の記録が無いみたいなので今年こそは書いておこう。

初日は昼から半日、ショートスキーというのをやってみた。 と言っても長めのショートスキーで、 たぶん120cmとかそのくらいだったのかなあ…と思う。 やってる最中はこれは軽くていいものだなあと思っていた。 リフトから降り損ねてストックを折ってしまったけど、 すぐに変えてくれてありがたいなあと思った。

2日目は一日中普通のスキーをやっていた。 ショートスキーが良かった気がしていたので 短めということで150cmのにしてみた。 やってみるとショートスキーというのはクソだと思えるくらいに 安定感があって、速度いくらでも出せる感じだった。 小回りとかはショートスキーの方が効くんだろうけどね。 my tracks によると普通に飛ばしてる時で5,60kmくらいで、 マックスで 75km くらい出てたみたいだ。 うまくないのに速度出すのは危ないなあと思う。

去年の方が飛ばしてた気がしてたんだけど 去年は50kmとからしい。 G1 ちゃんと Nexus S で違うとか普通にありそうやね…

100kmくらい出してる同僚もいたみたいだ。 一回150kmとかなってたけどそんな出したと思ってない時だし あきらかにおかしくなってたので GPS が一瞬狂ったとかだと思う。

3日目は半日だけということでスノーボードというのに初挑戦してみた。 ターンくらいはできるようになってやるぜという意気ごみではじめたものの、 こけるたびにやる気を奪われて最後の方はかなり萎えていた。 色々アドバイスくれた人のおかげもあって前向いて後ろ向いて… みたいなのを繰り返すくらいはできるような感じになった。 次回やったらターンとかできるようになるんじゃないかな… と楽観的に思ったあたりで終了。

だいたい1日につき3000円スキーに使ってウェアに3000円払ってるみたいだった。 ウェアに3000円って結構アホらしいのでコケないと決意したら 普段着とかでもいいんじゃないかな…とか思った。 ていうかウェア買ってもいいもんかもしれんね…

スキーとかスノーボードとかもクライミングと一緒で 度胸重要な感じで、 恐怖心とかが残念な程度に足りてない僕はそのへん有利だけど いずれ死ぬなあとか思った。

(23:50)

本日のツッコミ(全2件) [ツッコミを入れる]

_ Rui [50キロとか100キロはありえないんじゃないですかねー。スクーターとか運転してると慣れるまでは30キロでもかなり飛ば..]

_ shinh [たしかにうさんくさい速度だなーと思います。ただ、なんとなく体感で飛ばした時に値が増えてる感じはあって、相対的な指標と..]


2011-02-19

_ spoj shorten

心が折れるな。

ゴルフなんてのは最終的には忍耐力勝負なわけで、 今まで忍耐力勝負にはあまり負けて来なかったわけだけど、 shorten は色々折れる

  • 問題多すぎ
  • 変わったバージョン…
  • 消えたコマンドが…

(02:51)


2011-02-17

_ quine.cpp

そういえばここは接続しなくてもいいな… とか思ったけど、しかし依然として空白のせいでサイズ変わらん

#define QQ(x,y,z)x##y z QQ (x,y,z)
QQ (#define Q,Q(x,y,z)x##y z QQ,(x,y,z))

(02:36)

_ super quine

SPOJ にこんなのがあると教えてもらった

http://www.spoj.pl/problems/SELF/

(08:43)


2011-02-16

_ quine.cpp

C++ じゃなくてプリプロセッサの方で書けるか、という話。 単に a って書くだけ、とかはナシでちゃんと一個は # がある必要があるみたいなルールで。

とりあえず C のマクロってヤツは改行を出力できないと思うので、 そのへんで既に僕の中ではできない確定しかけてるんだけど、 まぁ cpp 的には改行も空白もそんな違いないだろう的な話で、 改行が空白になっちゃうのは大目に見ることにする…

となると…と書いたのが

#define Q(x)x Q(x)
Q(#define Q(x)x Q(x))

とか。 これでまぁいいだろーと出力を見てみると、

#define x Q(x)x x Q(x) Q(#define x Q(x)x x Q(x))

とかになってておかしい。 具体的には余計な x がついてる。

そうか2行目の外側の Q() の中の Q() が展開されちゃうんだなーということで、

#define QQ(x,y,z)x##y##z QQ(x,y,z)
QQ(#define Q,Q(x,y,z)x##y##z Q,Q(x,y,z))

まぁこんなとこじゃないでしょうか。 もうちょい短くする方法とかなんとか改行出せないかとかは今度考える

(02:32)


2011-02-15

_ level e

http://gyao.yahoo.co.jp/p/00173/v09708/

アニメ化とかされてるのか… これは見ないと…

(08:43)

_ 今日はびっくりするほど疲れてた

なんかお前はマンガの疲れた人かっていうくらい そこらじゅうにぶつかったりしてた気がする。

理由はあからさまに TLE のせいなんだろうけど、 しかしそろそろ三日間ぶっつづけてコーディングとか できない程度に体力が無いのだろうか。

まぁ今回は特別負担が多かったのかもしれないし、 単に最近なんか疲れてたとかなんかもしれないけど、 歳ってヤツかも知れないなぁとも思う…

というような、ワシも年でのう的なやつとか 若いっていいなーとか、みんなが通る道、 とか的なのは、僕は基本的に嫌いなのだった。

理由は…

ってこれ前書いた気がするな…俺も年かな… 僕が忘れぽいのは昔からですね…

書いた気がするけど見つからないから適当に書くか。 要は

  • 別に年喰ってるのは偉いことじゃないし、むしろ年寄りはなるべく頑張って若気の至りを維持すべき
  • 年寄りはとかは相対的なもんなのでどこまで年喰ってもそれより年寄りってのはいるわけで
    • よく思い出すのはプロシンで tinybasic とかを懐しんでいた方とかの後で竹内先生が「ずいぶん中途半端な時代を懐しむもんだなと思いました。しかし僕の懐しむものも和田先生とかすれば中途半端な時代でしょう」的なこと言ってて、いいことを端的に言うなーとか思った
  • 「それは若気の至りだよ」「大人になればわかる」とかは反論が絶対に不能なのに、論拠は基本悪いことのはずの老いとか意味わからん
  • それはそれとして年寄りは自分が生きてなかった時代に生きてたとかなんかすごくね、という意味で敬意を払うのは価値があると思う、し、経験を積まないと得られにくい能力とかがあるのも確かだと思う
    • その前のは敬意を払う必要が無い意見の補強として老いを使うのがウザいというだけなので、矛盾はしてない

やたら疲れたから会社から帰ってきたものの、 プログラム書くっていうかゴルフがつらい感じなのでどうでもいい文章を書く気が起きた…

SHORTEN 抜かれてるんですよね。 もっと絶望的な大差つけておきたいところですね… こういう時のために手っ取り早く短くできる問題のリストとか作っておくといいんだけどな

(22:10)

_ だめだな

脳が perl コードを読むことを拒否してる感じだなー。 なんだこの map と while と print と 0 以外全部記号なコードは、みたいな…

(22:14)


2011-02-14

_ はっしゅ

うーん純粋なゴルフだけでだいぶちぢんだ… ずっとなにか改革が必要だと思ってたのにな…

しかし今のコードは全然短く見えない

(05:56)

_ 帰宅

WK roll 腐ってたので会社に行って帰ってきた…

会社で縮めたやつを投稿した。

1175.6839 点とかふざけた状態

  • ARRNG: 単独首位
  • COUNTI: 単独首位
  • HASH: 同率首位。 notogawa さんは首位じゃないのでとりあえず頑張る意味ない
  • HEART: 4位。 79.3604 。めんどい…
  • KD: とりあえず同率首位。まだ縮む
  • LETTER: 同率首位。 notogawa さんは首位じゃないので略
  • ODDEVEN: 96.3235
  • OPTI: 謎

(10:42)

_ ODDEVEN

200 に。瞬間的に HEART と OPTI 以外全部 200 とかいう状態に…

(11:07)

_ おわった

KD は昨日結構な確率で通ってたコードと等価のコードが TLE 。 notogawa さんの TLE もたくさん見たので、同じ事情かも…

あと HASH も縮むはずだろうと信じてたけど無理だった。 まぁ予想通り僕だけ気の触れたようなコードになってるな… なんかおかしいとは思っていたよ。

あと HEART のトップはバイナリ無しでこれかー。 ていうか離散コサイン変換とかやってるアホは僕だけですかひょっとして。

(17:37)

本日のツッコミ(全2件) [ツッコミを入れる]

_ notogawa [完敗でした.おめでとうございます. KDは同じ事情です.終盤何故か全然通らなくなりましたね.]

_ shinh [おつかれさまでしたー。大変手強かったです…ゴルフ強い人ってのは言語変わっても強いものだな…と思いました。 C ゴルフ..]


2025年
9月
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
1.いわさき(2014-05-24 01:54) 2.shinh(2014-05-24 01:54) 3.notogawa(2014-05-24 01:54)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h