パスワードを忘れた? アカウント作成

ログインするとコメント表示数や表示方法をカスタマイズできるのを知っていますか?

1099177 journal
日記

Yak!の日記: 今更 blog 開設

日記 by Yak!

こんなところを見ている人も居ないと思いますが、C++11 Advent Calendar および Boost Advent Calendar を機に http://yak-ex.blogspot.com/ を開設しました。プログラミング、ソフトウェア関連のネタは(どれだけ書くかはともかく)以降そっちに書くと思います。

850491 journal
日記

Yak!の日記: 碧の軌跡 クリア感想

日記 by Yak!

とりあえず碧の軌跡クリアしたので雑多な感想など。

■総合

プレイ時間 123:15:34。寝落ちや放置も含んでると思いますが。獲得実績 34/56 2250pt。みーしぇのイベントだけ検索かけちゃいましたが他はノーヒント。結構頑張った方じゃないでしょうか。アニエス揃えられたのは嬉しかったですね。

なのですが感想というと、うーん。ラスト絵のところに空の軌跡の時のようにメッセージが出るんですが "Comletedly Finished" になってました。なんか違う。そぅ、クリア後の感想としてもなんか違うというかもっと良くできたんじゃないの?という気が。特に最後、単純に流れを見せられるだけなのはどうかと。同一世界観で話が続いていくのはともかくクロスベルの話としてはきちっとけりをつけてもらわないと。一旦エンドでその後プレイアブルにクロスベル解放してくれれば満足してたような気もします。

■ラストダンジョン

341160 comment

コメント: 特許としては後半の「点滅や発光、反復的な動き、無限ループ動画(以下略)」の判定がメインっぽいです (スコア 1) 32

タレコミ中の記述がなんとなく実施例での記述っぽかったので請求項を見てみました。実施例はほとんど見てません。

不愉快度、というものは請求項自体には書かれていません(実施例には書かれているようです)。判定対象と類似したドキュメント群の許可できない部分と一致する部分を判定対象のドキュメントが持つかどうかで判断して、コンテンツの承認、却下を決める方法、になっています。

また、従属クレームで以下のような判定基準が書かれています。

・フレーム更新間隔が短いもの
・ユーザー操作なしに音楽、映像をダウンロードするもの
・ドキュメント自身以外からデータを持ってくるもの
・ネットワーク接続を開くもの
・ハードウェアにアクセスするもの(例:マウス、ゲームコントローラ)
・擬似乱数生成器を持つもの
・ループ回数が大きいもの
・画像の質に対する判定(例:境界がはっきりしない、サイズが大きい、(フレーム間での)コントラストの変更率、色の変更率、(おそらく反転や明度変更のような)変換を含む率)

339126 comment

コメント: Re:単なる使い方の誤りではないですか (スコア 1) 6

by Yak! (#1976648) ネタ元: C における一時オブジェクトの生存期間

コメント付いているのに気付いてませんでした。

その説明は誤りだと思います。2. の時点で既に領域が無効だ、という説明かと思いますが、その場合、同様の議論が struct ではなく int に対しても成立し以下のコードも誤りとなってしまいます(3. で持ってくるのはアドレスではなく値になりますが領域自体が無効なら議論は同じです)。

int addressee(void) {
  int result = 5;
  return result;
}

int main(void) {
  printf("Hello, %d!\n", addressee());
  return 0;
}

さすがにこのコードが誤りだと関数の戻り値は全て使えないことになってしまいます。確かに result は関数内で確保されていますが値返しで返ってくるため再度スタック上に積まれて呼び出し側でも有効な状態で返ってきます。問題はそのスタック上の値がいつまで有効か、です。C99 規格上では次の副作用完了点まで有効ですので以下のコードは未定義動作を含みません(次の副作用完了点は printf 呼び出しなのでその前に a[0] の評価は完了する)。嫌な例でわざわざ f() 呼び出しが入っているのは別の副作用完了点を入れて問題を起こすため、です。

int main()
{
    printf("%c%c!\n", addressee().a[0]);
    return 0;
}

337121 journal

Yak!の日記: C における一時オブジェクトの生存期間 6

日記 by Yak!

Twitter 上で C++ STL の vector に関して評価順序不定ではまっているコードの例が流れていてそこから C 言語における(規格上の)落とし穴に行き着いたのでメモ。

// from http://www.jpcert.or.jp/sc-rules/c-exp35-c.html
#include <stdio.h>

struct X { char a[6]; };

struct X addressee(void) {
  struct X result = { "world" };
  return result;
}

int main(void) {
  printf("Hello, %s!\n", addressee().a);
  return 0;
}

333236 journal

Yak!の日記: Google Code Jam 2011 Round2

日記 by Yak!

ooo-o--- で 39pts 594 位。Round 2 は通過ならず。仕方ないというか大健闘と言っていい感じかと。初の T シャツゲットです、多分。とりあえず small 専業と割り切ったのはレベル相応で悪くない判断だったと思っています。B-large、C-large、D-small は解けても良かったかもと思わないでもないですが、バグ無しで思ったコードをさくっと書けないというコーディング力や、練習が足りないという点も含めてやっぱり実力がちょっと足りなかったと思います。なお、以下は Contest Analysis を読まない状態で書いています。

A. Airport Walkways

速度が遅いところから greedy に t 秒とっていけばいいだけ。

int main(void)
{
    ios_base::sync_with_stdio(false);

326377 journal

Yak!の日記: Boost.勉強会 #5 名古屋で発表してきました

日記 by Yak!

5/14(土)の Boost.勉強会 #5 名古屋で発表してきました。ぶっちゃけ GC 本勉強会の LT を入れてすら発表 2 回目という状況だったのですが、cpp_akira さんのプレッシャー背中を押して頂いて手を挙げました。Boost.勉強会でそれも Spirit テーマとか無謀だろうという感じでしたがまぁなんとか。

「春のlock free祭り」 (kumagi)

323742 journal

Yak!の日記: Google Code Jam 2011 Qualification Round

日記 by Yak!

一応 GCJ は毎回書いてるようなので今回も書いてみます。一応無事全問正解でした。のんびり書いてたんであんまり意味はないですが。今回は C++0x で書いてみよう、というコンセプトで書いてます。共通分テンプレートは最後にあります。何となくマクロ使わない派だったのですが RNG だけ入れてしまいました。

Problem A. Bot Trust

まぁ、シミュレーションですね。そしてのっけから 0x 不要なコードです。珍しく読み取りながら計算してるコードで書きました。割と A 面倒みたいなコメントも見かけましたが結構きれいに書けたんじゃないでしょうか。ちなみに small 提出しようとしたら Case #x: の形式が違うって言われて慌てて時間内に修正して submit したりもしました。

inline UI absdiff(UI a, UI b) { return a > b ? a - b : b - a; }

313643 comment

コメント: タイトルが煽り気味 (スコア 5, 参考になる) 34

by Yak! (#1929855) ネタ元: Twitterの全投稿の半分が0.05%のユーザーから

何かおかしいなと思って軽く元論文を流し読みしてみました。
まず URL 付きの tweet が解析対象です。
また、Twitter List の情報を元にアカウントを celeb, media, org, blog にカテゴリ分けしています。
この内、リスト登録数上位から各 5,000 アカウントを取ったところ(4カテゴリ×5,000=2万=0.05%)、
カテゴリ分けされなかった(通常の)ユーザーからサンプリングした 10 万人のフォロー、および各人が受け取る
tweet の約半分を占めていた、という話のようです。
こう書くとまぁ普通ですよね。
なお、この話は論文の 1/3 くらいで前振りのようなものだと思います。

302692 journal

Yak!の日記: Boost.Spirit.Qi の auto_ パーサーでカンマ区切りのデータを Fusion シーケンスに突っ込む

日記 by Yak!

nagoya313 さんの記事「Boostのfusionとspiritやばい」で Boost.Spirit.Qi を使ってカンマ区切りのデータを Fusion シーケンスに突っ込む例が紹介されている。これはこれで簡潔なのだがせっかく構造体を Fusion にアダプトしていてメンバの型情報がとれるはずなのに parse() に渡すルールのところでもメンバの型情報を指定しなければならないのが悲しい感じである。どうせならルールを自動生成したいところだ。

295572 journal

Yak!の日記: Boost Spirit Qi の rule と Skipper の有無について

日記 by Yak!

Boost Spirit Qi の rule と Skipper についてちょっと戦った結果のメモ。

Boost Spirit Qi の Parser コンセプトに従う p は

p.parse(f, l, context, skip, attr)

の形の式が有効でなければならない。基本的に parse は以下のように定義されているので任意の型の Skipper を受け取れるはずである。

typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...