コグノスケ


2007年12月1日

日がな一日

ドラクエ4をやってたら一日が終わりました。おかげで2章の序盤から一気に5章まで行った。

ファミコン版のドラクエは全部主人公を男にしてきたので、リメイク版をやるときは全部女に(といっても選べるのは3と4くらい)してます。街の人の台詞が微妙に違う気がします。しかしファミコン版の内容を全て覚えているはずもなく、結局良くわかりません。今のところはそんなもんです。

DS版のドラクエ4には「せんれき」というコマンドがあって、何回戦ったとか全滅したとかが分かるようになっています。5章序盤にして既に5回全滅…なんてのがバレバレです。嫌なカウントだな。

編集者:すずき(2007/12/02 21:22)

コメント一覧

  • Yukiさん(2007/12/04 20:10)
    ヤマタマもはまっているようですよ〜
    自分もやってみるかな?
  • すずきさん(2007/12/05 22:30)
    >Yukiさん
    無茶なリメイクではないから、ファミコン時代のドラクエが好きな人には良いと思います。
open/close この記事にコメントする



2007年12月2日

そんなの関係ねえ

I/Oデータとかバッファローが使っているマッハUSBの紹介記事を読んでいたら、VirtualBoxのフィルタドライバが見えてるキャプチャ画像が載っていました。原稿書き用の私物マシンで適当にキャプチャしたのか、評価機に偶然VirtualBoxがインストールされていたか。

普段の記事ならまだ良しとしても、今回は特にドライバについて取り上げている記事なんですから、本題と関係ないドライバを載せるのは良くないと思いますけど。大雑把な記者ですね。

ちなみに画像は「マッハUSBで差別化」と言う段落の最後にあります。ITmediaはrefererがITmediaからじゃないと画像を見せてくれない仕様ですので、頑張って探してください。

編集者:すずき(2007/12/03 00:29)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月4日

ベタベタするなよ

最近、コンビニでは味付き海苔をまいたおにぎりが増えています。ご飯の味気なさをカバーする意味では歓迎しますが、コンビニには並べて欲しくない一品です。

理由は手が汚れるからです。汚れるというより何となくベタベタして、おしぼりくらいではすっきり取れません。気軽に食べられるはずのおにぎりなのに、食べた後にしっかり手を洗わなければならないのはちょっとね。

そんなわけで味付き海苔おにぎりはなるべく避けて買い物しています。おにぎり好きなのに、選択肢が非常に狭まってしまい悲しい…。

手が汚れない、味付き、海苔パリパリ、そんなおにぎり

通勤時間に、味付き海苔に触らないようなデザインを考えていました。一つは海苔を二種類使って、隅の部分だけ味なしにする方法です。もう一つは裏だけ味付きの海苔を作って使う方法です。どちらも持ちやすいでしょうが、おにぎりの味が変わってしまうので微妙です。

包装でなんとかするとしたら、丸いおにぎりやハンバーガーのような包装がありますが、ご存じの通り、海苔とご飯がくっついているため海苔がふやけます。これはこれで良いのですが、パリパリの海苔が好きな人には残念な結果になります。

そういえばバナナって(頑張れば)手が汚れないですよね。あれを見習って、頂点から4つに割って、包装がはがせるようなバナナタイプの包装なんてあればいいなあ。今の形のおにぎりだとちょっとバランスが悪いかな?

編集者:すずき(2007/12/05 23:03)

コメント一覧

  • ち.さん(2007/12/08 00:28)
    開封して半分になった包装をうまく使うと
    手は汚れないよ〜
    れっつとらい
  • すずきさん(2007/12/10 23:33)
    やってみたら、おにぎりが二つに割れて落ちました。机の上で良かったっす…。
open/close この記事にコメントする



2007年12月5日

今更気づくあの頃にはなかったあのボタン

ドラクエではとかくAボタンを押すことが多いです。戦闘や会話送りなどみんなAボタンです。戦闘で雑魚を倒すときなんか連打するので特に使います。今やっているドラクエIVもAボタンばかり押していたせいか、DSのAボタンがスカスカになってきました。そのうち壊れるんじゃなかろうか?

が、しかし今はDSの時代。AとBのボタンしかなかったファミコンとは違いDSにはボタンがA, B, X, Y, L, Rの6つもあり、しかも決定ボタンとしてAとXが割り当てられています。

なので雑魚を抹殺するときはAとXを連打すれば、見えないくらいの勢いでコマンドが選択されて戦闘が終わります。A連打なんてもう過去の遺物なんだね…。

編集者:すずき(2007/12/05 23:15)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月7日

そんなシーズン

会社の部署全体(360人中、140人参加)での忘年会がありました。これほどの規模を毎年開催しているのはうちの会社でも珍しいらしいです。

1、2年目の人は実行委員会なるものに参加しなければならない習わしです。しかし年々新人が減り続けており、去年、今年は2人。合わせても4人。そして10年目くらいの先輩2人が忘年会幹事ですので合わせても6人しかいません。少ねえよー。

忘年会が終わってから、たった6人で、仕事の傍ら、こんな宴会をよく回したなあ…としみじみ思いました。疲れた。

編集者:すずき(2007/12/10 22:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月8日

某ナス

会社に何も貢献していないのに、金曜日にボーナスをいただいたわけですけども、所得税と厚生年金でがさっと減る様が悲しいです。

ボーナスをもらうといきなり人が変わったように買い物を始める人が居ますけど、ここは一つ何も買わないで放置をオススメ。お金が遊んでいる状態こそ、これぞ究極の贅沢だと思いませんか?

…勢いで書いてたら意味がわからなくなってきた。やめやめ。

goto tsukuba

いざつくばへ。昼に出たもんだから、ついたら既に日が暮れてました。園芸の皆さんと食事に行くも和食屋には嫌われてしまいました。海鮮料理屋(旭屋?、土浦市R6沿い)で食事しました。

少し早いですが大下さんからクリスマスプレゼントをもらいました。言われてみれば年内はもう会えなさそうだなあ。こちらも考えて持って行くべきだった。

編集者:すずき(2007/12/10 22:38)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月9日

何度でも負けてやる

ファミコン時代のドラクエ4の二大バグ技と言えば、「838861枚のコインを5Gで買う」と「8回逃げた後は100%会心の一撃が出る」ですよね。当時はこのバグを当たり前のように使っていたため、DS版をプレイするにあたり大きな壁にぶち当たっています。

カジノをまじめにやるとすると、闘技場が一番効率良いと思います。それでもまぐれで3連勝してせいぜい2000枚です。はぐれメタルヘルムが許されざるハイパーぼったくり景品(必要枚数100,000枚)だということに今更気づきました。こんな枚数ありえねぇー。

カジノのコインを貯めることがこんなに難しいなんてー!!

ラスボス(ピサロ様)とご対面するところまでは楽勝で進めたので、このままエンディング見ちゃうぞーっとか思ってたんですけど、ピサロ様ったら異常に強いです。特に最終形態が強すぎます。最大HP 250くらいなのに一発120強くらって、瞬殺されたーヨ。

で、デスピサロがこんなに強いなんてー!!

ETCはじめます

カードとETCの車載器が届きました。カードは普段使っているクレディセゾンの派生カード(下の写真)でカードは無料です。さらに塚田氏から教えてもらった JRSのETC無料キャンペーンを利用し、車載器も無料です。車載器は古野電気製でした。


セゾンETCカード

あの狭い駐車場でETCの機械を車に付ける作業なんてできるんかな。店に頼むと数千円取られるらしいので、自分でやるしかないなあと諦めています。年内に付けたいな…。

編集者:すずき(2007/12/10 23:37)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月11日

思ってても言わないようにしていたが

平日は家、仕事、家、仕事…の繰り返しなので、特に日記に書くことがないんですな。

まとまった時間もない

学生時代は忙しいと連呼する社会人が不思議に思えましたが、いざやってみるとうっすら理由がわかります。忙しいというより「まとまった時間」が取れなくて、やる気が失せると言う方が近いです。朝起きるためには夜更かしできない、帰ってきたら既に夜、土日は平日にたまった用事を片付けて終わりです。一気にやりたいのにできないなんて、やる気なくなるでしょ?

ぱっと思いついたアイデアを実践してみる、なんてことが難しくなります。だからこそ何かにトライすべきですが、夜は眠くなっちゃうし、机で寝たら風邪引くしなあ。いかんな…既にやる気が削げてるじゃないかよ。

編集者:すずき(2007/12/13 22:37)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月12日

Linux kernelはあなたを廃止しますです

目次: Linux

たまにLinux kernelをコンパイルしていると 'func' is deprecated. と言われることがあります。自分が見かけたのは、kernel/intermodule.cというファイルのinter_module_registerという関数でした。(昔の2.6系には残っていましたが、最新版(2.6.23.8)では存在しません)

見てみると関数の宣言に __deprecatedと書いてあり、define部分を探すとinclude/linux/compiler.hに書いてあります。しかし宣言の中身は空、というのもgccだけがdeprecated警告をするので、include/linux/compiler-gcc.hの方に書いてあるんですね。


#define __deprecated        __attribute__((deprecated))

こんな定義です。関数プロトタイプに対して __attribute__((deprecated)) と書いておくと、その関数を使った人に対して冒頭で述べたような警告がでます。

これはコードの作者あるいは古いコードをいつまでも使っている人への警告でしょうね。もう使われない(deprecated)関数をお使いのようですけど、いずれなくなってあなたのコードは動かなくなりますよ!それまでには直してくれよ、ヨロシクね!ってことです。

あなたを信じていますです

他にcompiler.hで面白いなと思うのは、likelyとunlikelyマクロでしょうか。以下のようなマクロです。


#define likely(x)       __builtin_expect(!!(x), 1)
#define unlikely(x)     __builtin_expect(!!(x), 0)

キーワード __builtin_expectはコンパイラに対して、第一引数の結果が第二引数の結果になるときに高速動作するコードを出力しなさい、とコンパイラにヒントを与えます。ヒントが正しければプログラムが高速に動作するはずです。

具体的には likelyマクロは引数xが真であるとき、unlikelyは逆にxが偽であるときに高速動作せよと、コンパイラに指示しています。ではlikelyとunlikelyの効果を以下の実験コードで確かめてみましょう。


int func_likely();
int func_unlikely();

volatile int i;

int main(int argc, char *argv[])
{
  func_likely();
  func_unlikely();

  return 0;
}

int func_likely()
{
  int c = 0;

  while (likely(i)) {
    c++;
  }

  return c;
}

int func_unlikely()
{
  int c = 0;

  while (unlikely(i)) {
    c++;
  }

  return c;
}

注目点はfunc_likelyとfunc_unlikelyです。ループの条件に付けたlikelyマクロとunlikelyマクロ以外に違いがないことを確認していただけると思います。これをgccでコンパイルしてみましょう。2.95でも対応していたと思いますが、3.xくらいのgccなら確実だと思います。

あとコンパイル時に -O2を付けることを忘れずに。

$ emacs a.c
$ gcc --version
gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
$ gcc -O2 -S a.c
$ cat a.s
(コードは一部抜粋です)

(func_likelyの説明)
カウント文と分岐文が連続している。条件は真の可能性が高いと信じて
いるから、「カウント分」「条件判定」「分岐」という一連の命令を連
続して並べる。これにはキャッシュに乗りやすい、プリフェッチしやす
いなど様々な理由があると思う。
一方、リターン文は遠くに配置される。これはコンパイラにとって、ルー
プの条件が成立しないのは、稀なケースであって滅多に実行しないと信
じているから。
func_likely:
        jmp     .L8        ;(条件判定へ)
        .p2align 4,,7
.L9:
        incl    %edx       ;(カウント文)
.L8:
        movl    i, %eax
        testl   %eax, %eax ;(i != 0の条件チェック)
        jne     .L9        ;(分岐文、真だったらループの先頭へ)
        popl    %ebp
        movl    %edx, %eax
        ret                ;(リターン文)


(func_unlikelyの説明)
カウント文とリターン文が連続している。
分岐文もあるが真じゃない可能性が高いと信じているので、条件は成立
せずに即座に終了するはずである。
逆に、条件が成立するときは遠くに置いた判定文へ飛ぶ。これはコンパ
イラにとって、条件が成立することが稀なケースであって、滅多に実行
しないと信じているから。
func_unlikely:
.L2:
        movl    i, %eax
        testl   %eax, %eax ;(i != 0の条件チェック)
        jne     .L3        ;(分岐文、真だったらカウント文へ)
        popl    %ebp
        movl    %edx, %eax
        ret                ;(リターン文)
.L3:
        incl    %edx       ;(カウント文)
        jmp     .L2        ;(条件判定へ)

ヒントがどういう効果をおよぼすか、ご理解いただけたかと思います。このくらいの小さい関数では効率が変わらないので、例としてはあまり良くないかも…。

最後に !!(x) と引数を二重否定している理由ですが、1ではないけど真(5とか10とか -1とか)である値を1に正規化するためです。以下の例を見ていただくとわかるかと思います。

x = 5      //真だけど1ではない
!(x) => 0  //偽
!!(x) => 1 //真で1である

お前の説明じゃまったくわからんぞ!!って人はGoogle先生にも聞きましょう。有名なマクロなので、他のサイトでも紹介されています。

編集者:すずき(2023/04/29 21:56)

コメント一覧

  • hdkさん(2007/12/16 14:31)
    >このくらいの小さい関数では効率が変わらないので
    というので alarm(1) で 1 秒間 i=1 を保つようにして両方の関数を試したら、結果は倍くらいの差が出ていてビビリました。(Opteron ですが。)
  • すずきさん(2007/12/16 17:45)
    >hdk氏
    貴重な実験結果ありがとうございます。うーむ、倍とはすごい。likely/unlikely マクロ恐るべし。

    #そして、自分が適当なことを書き散らしているのがバレました…。アイタタタ。
  • すずきさん(2007/12/16 18:13)
    こちらも試してみました。Linuxマシンがなかったので、手持ちのノート(Core Solo U1500/1.33GHz)の Colinux 上ですけど…。
    likely, unlikely ともに 6億回くらい回りました。有意な差はないようです。
  • すずきさん(2007/12/16 19:28)
    追試、デスクトップ(Athlon 64 3000+/1.8GHz)の VirtualBox 上の Knoppix
    likely : 5億2千万
    unlikely: 4億2千万(likely の 80%程度)
    結構差がついてます。AMD 系だと今回の最適化が効果覿面ってところか?
open/close この記事にコメントする



2007年12月14日

朝までいっとく?

部署の忘年会がありました。二次会の後は大先輩の方に連れられ、サシで朝までダラダラ飲んでました。気を遣うなよと何回か言われましたが、さすがに20年以上上の方に気を遣うなってのは無理です!

その大先輩は部署内でとにかくすごいと噂に聞く方です。今回は少ししか話聞けませんでしたが、すごさの片鱗を感じたエピソードもちらほら。例えば、昔のCPUは音でプログラムがどこ走ってるかわかった、今のCPUは可聴域越えたねえ、とか。真似できませんね…。

後は道を歩きながら、役立つ仕事術とか、最初の4〜5年は嫌なことでも全力でやれ、ミスっても周りがサポートできるのは今だけ、と色々教えていただきました。

会社入って思ったのは、ちゃんと調べてここがわからんって聞けば皆さん親切に教えてくれるってことです。さすがにろくに調べもせず変な質問したら時間の無駄!!って怒られるでしょうけどね…。自分が右も左もわからない新人君だからってのもあるな、きっと。皆さんが親切なうちに吸収できるもんはしたいね。

編集者:すずき(2007/12/16 15:41)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月15日

ハッピーエンド?

ドラクエIVをクリアしまして、ファミコン版にはなかった第6章もクリアしました。王道のゲームだけあって、システム、操作性も慣れたもんです。

以下、ネタバレ注意。といってもみんな知ってるでしょうけど。

ゲームのあらすじ

楽しく暮らしていた故郷をピサロ御一行に襲われ、親友のシンシアが自分(勇者)の身代わりに殺される。復讐心に燃え旅立つ主人公。長い旅路の中、ピサロもまた愛するものを奪われた復讐者なのだと…、勇者はそれに気づきながらも、ピサロとの戦いを選ぶ。死闘の末にデスピサロ(ピサロ)を打ち倒し、世界に平和が訪れた。

エンディングでは勇者が仲間をそれぞれの故郷に送り届け、最後に一人自身の故郷に戻る。廃墟となった故郷の恐らくシンシアが倒れただろう広場で、俺(or私)の故郷は返ってこない、この旅は一体何だったのか…と。勇者は立ち尽くします。

これだとまぎれもないバッドエンドに見えますから、最後にシンシアが奇跡の復活を遂げてハッピーエンドとなります。しかし育ての両親や村のおっちゃん達は誰一人帰ってきません。勇者は幸せなのかと、考えてしまう話です。

ところがDS版では6章が追加されて、ロザリーがゾンビよろしく蘇るわ、ピサロ様が改心して仲間になるわで、もう何でもありです。しまいには
Ω <全てはエビルプリーストの陰謀だったんだ!
ΩΩΩ <な、なん(略
と来たもんだ。こういう展開でも別に悪かないけどさ。ドラクエIVでやってしまうと、かつての雰囲気がぶち壊しです。ちょっと残念だったなあ。

冷たく輝く息

ドラクエIVは敵の息系の攻撃が、ありえんダメージになっています。タフなキャラでも最大HP 400が良いところに対して、全員に200なんてのもありますよ。耐性防具(息系ダメージ1/4軽減か、固定ダメージ軽減が多い)とフバーハ(息系ダメージ1/2軽減)がないと凌げません。

後半は1ターンで仲間全員が100以上くらって回復が全く追いつかないため、ベホマズンを連射することになります。ベホマズンの使い手たる勇者は、回復役に回ることになるでしょう。他のドラクエシリーズではベホマズンなんて滅多に使わないだけに、非常に新鮮です。

防御力なんて飾りだ

一方でスカラ系が強力無比です。スクルトを2回かければ、ほとんどの敵は被ダメが1 orミスになります。ドラクエIVでは防御力無視の打撃はほとんどないので、スクルトで打撃がほぼ無効化できます。これで息系とおあいこってとこでしょうか。

スクルト一発で防御力が200以上上がるんで、特にボス戦においては10や20の防御力差は無意味です。雑魚戦なら毎回スクルトかけるわけにはいかないからまだしも、ボス戦に挑むなら防御力より息系攻撃への耐性がある防具を探した方が強いです。

編集者:すずき(2007/12/18 23:11)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月17日

あばうとミー

サイトを作り直したときにすっかり忘れさってしまってた旧サイトのページ。自己紹介ページだけ残すことにしました。右のメニューに追加してあります。内容はそのうち直します。

出てねーぞ?って人は強制リロード(Ctrl+F5だっけ?)をすると見えます。よろしくお願いします。

再帰下降パーサ

以前作って(2007年10月21日の日記参照)ほったらかしだったユーザエージェントのパーサですが、たかだか1000件の解析に3秒もかかるもんだから、遅くて使えずじまいでした。

正直に1文字ずつ見ていくプログラムにしたので、当然ながら文字数分だけ関数呼び出しが発生します。効率悪いです。さらにうまくないことにPHPは関数呼び出しが苦手なようで、関数呼び出しを連発すると異常なほどスローダウンします(´д`;)

というわけで一番良く通るループをチューンしたところ、0.5秒まで縮まりました。それでもたいがい遅いけど、あまりチューンするとコードがいじりづらくなるし、仕方なかろう…。

ATOK少年の推理ミス

うちのATOKは「ってひとは」を変換すると「ッt絵人は」になります。ぽつんと残されたアルファベットがCoooooool!! ですね。

推し量るにATOKの辞書には「ってひとは」という単語がなく、一致する部分を探した結果、後ろの「ehitoha -> えひとは」に最長一致したのでしょう。そのためあぶれてしまった "tt" を素直に解釈した結果(tt -> っt)、上記のCoooool!! な結果となったのでしょう。たぶんね…。

初めは子音の補足/削除機能(※)が働いたのかと思いましたが、良く見ると母音も子音も数が変わっていません。恐らく違うと思われます。

どういう力が働いたのか知りませんが、今回のように文字を切ってしまうような例は珍しいかもねえ?

(※)足りない子音の補足(例:「nen -> ねn -> 年(ねん)」)や、余計な母音/子音の削除(例:「shiiinn -> しいいん -> 死因(しいん)」)などを行う機能です。

編集者:すずき(2007/12/17 23:41)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月18日

混乱します

ScreenではCtrl+a Sで二画面分割ができ、Ctrl+a [Tab] で画面のフォーカスを切り替えることができます。画面の破棄はCtrl+a Xです。Shift押し忘れたり、Ctrlを押しっぱなしにしてxを押すと、画面のロックになるのでうっとおしいです。気になる人はキーバインドを変えましょう。

一方EmacsではCtrl+x 2で二画面に分割でき、Ctrl+x oで画面のフォーカスを切り替えられます。Ctrl+x 1で他の画面を全部閉じて、一つの画面になります。

両者を同時に使いだすと、段々Emacsの画面なのかScreenの画面なのかがわからなくなって、フォーカスを切り替えるときに難儀します。…え?自分だけですか…そうですか。

編集者:すずき(2007/12/18 23:26)

コメント一覧

  • hdkさん(2007/12/18 23:39)
    ^A X なんてあったのかぁ。^A Q しか使わないんで知りませんでした。
  • すずきさん(2007/12/18 23:56)
    自分は逆に ^A Q を知りませんでした。こちらの方が Emacs の ^x 1 に似ているかも?
open/close この記事にコメントする



2007年12月21日

お主、名を名乗れぃ

自己紹介ページを復活させたついでに、情報を更新してデザインをこちらの日記と合わせました。以前はXHTMLで書いていたのですがHTML 4.01に戻しました。スラッシュを書くのがうっとおしくてねえ。

当サイトは筆者が所属している(していた)組織、大学、会社などは一切関係ありません。日記の内容に関する苦情などは私個人にお送り下さるよう、よろしくお願い致します。

あとは上記の文言を付け足しておいたくらいでしょうか。今更といえば今更ですけどね。

忘年会シーズン

世は忘年会シーズンです。夜になれば電車には赤い顔のサラリーマンがたくさんいます。

同期の人達と飲もうとしたのですが、高槻付近の飲み屋が全部一杯だったのには驚きました。このシーズンでなければ大抵なんとかなっていましたが、年末の飲み会に予約なしで突っ込むのは無理があった。

結局、ラーメン屋でラーメンを食べてから飲み会に行くというちょっと変わったプランになりました。食べ過ぎ、飲み過ぎ防止としては、これはこれで良いかもしれない…。

編集者:すずき(2007/12/23 04:04)

コメント一覧

  • Yukiさん(2007/12/24 21:50)
    ノープランで申し訳なかった!!
    今度は予約していきましょう〜!!
  • すずきさん(2007/12/24 22:39)
    いやいや、こちらは何もしてないんで。文句は予約を手伝うくらいしてから言えってもんですね。>自分
    今度行くときもまたよろしくー。
open/close この記事にコメントする



2007年12月23日

そこんとこ聞かれると困っちゃうね

小学生に聞かれて困る算数の質問No.1は「分数の割り算はなぜ、ひっくり返して掛けるんですか?」でしょうか。以前考えてみたのですが、小学生が納得できる答えは用意できないなあ…と、降参しました。

今回改めて考えてみたものの、A/B÷C/D = E = A/B×D/Cの説明は、やはり難しいです。

単純に、割り算はA/BにC/Dがいくつ(E個)入るかを求めること、もしくはA/BからC/Dを何回(E回)引くと0になるか求めること、という説明から導く方法を考えました。しかし分数の割り算の多くは割り切れず(答えが自然数にならない)逆に混乱します。

理解を妨げる要因は1÷1/A = Aの式であることはわかるんですが…その説明がどうも難しい。小学校ではどう教えているのだろうか?

考えるときりがないんだ

小学生は気にしないけれど、大学生にとって難しいのは1 + 1 = 2でしょう。1や2ってなんなのか、+ ってどういう意味か、答えられますか?

私は学部2年の頃に数学科の集合論という科目を取って、やっと答えがぼんやりわかりました。数自体の定義なんて考えたこともなかったので、非常に新鮮な授業でしたねえ。悲しむべくは、ここで説明できるほど理解できなかったことかな…うん。

なんで自然数や足し算に集合が関係するの?って思った人は近くの数学者を捕まえて聞いてみましょう。たかが数字とあなどるなかれ。深い意味に感動しますよ。

編集者:すずき(2007/12/24 03:50)

コメント一覧

  • hdkさん(2007/12/24 20:16)
    ここまではすぐわかるのになぁ... 説明するって難しいもんですね。
    http://www.e-hdk.com/data/20071223-sansu.svg
  • すずきさん(2007/12/24 22:44)
    >hdkさん
    割り切れて答えが自然数になる場合は、その説明がわかりやすいと思います。
    割り切れなくて答えが分数になる場合が難しいですよね。
  • すずきさん(2007/12/25 09:27)
    あれ?
    難しいのは 1 ÷ 1/A = A じゃなくて 1 ÷ B/A = A/B の理由ですね。
    日記、思いっきり間違ってますね…。失礼しました。
open/close この記事にコメントする



2007年12月24日

うぃーー

同期の友達とWiiで遊びました。寮のシアタールームとか言うでかいテレビのある部屋を借りて、リモコンを振り回してました。これはけっこー面白い。

ゲーム中にWiiリモコンが急に反応しなくなるから、あせるのなんのって。恐らく検出器と離れすぎていたか、装置を置く場所がそもそも良くなかったかでしょうか。

大人数でWiiで遊ぶとしたらある程度広い部屋の方が絶対楽しい(というか、狭い部屋だと危ない)です。それなのに検出器からあまり離れると検知してくれないってのはジレンマだな。両面テープを使わないと薄型テレビの上に検出器が置けないってのも悲しいよ。他人のテレビでゲームなんかやってないで、テレビくらい買いなさいよ…ってお達しですか。

編集者:すずき(2007/12/25 20:36)

コメント一覧

  • hdkさん(2007/12/25 21:45)
    検出器ってリモコンじゃね?w
  • すずきさん(2007/12/26 01:24)
    >hdkさん
    ボタン押下とか、十字キーなら気にしなくて良いんだけど傾き検出は別みたいでね。リモコンを細長い受光器に向け損なうと、ポインタが行方不明になります。
  • hdkさん(2007/12/26 01:27)
    あれはリモコンが受光器なんですよ。テレビ側の機械からは赤外線を出しているだけです。
  • すずきさん(2007/12/27 00:21)
    ああ、なるほど、確かに逆だ。
    でもやっぱり距離が離れると操作性がイマイチなのは変わらんのよね…。
  • hdkさん(2007/12/27 01:22)
    うむ。ちなみにテレビの下にも置けるはず...

    テレビが小さいのも困るみたいですけどねw
    http://gigazine.net/index.php?/news/comments/20061207_wii_1inch/
  • すずきさん(2007/12/28 00:28)
    うわ、1.5インチのテレビって…。リモコンが巨大に見えるよw
open/close この記事にコメントする



2007年12月25日

今年のクリスマスプレゼントは、はい、お金〜

こんな生々しいサンタは嫌だな。渡すときニコニコじゃなくてなんかニヤニヤしてそう。

話は変わりますが、うちの会社は今日が給料日でした。あれ?これなんてクリスマスプレゼント…?

思いついてもせいぜいビックリマンチョコ1年分

この歳なら好きな物を自分で買えよ、ってプレゼントも悪くないが、子供の場合は金を渡しても使えない(使う場所がない)気がするなあ。せいぜい菓子を山のように買って、食いきれなくなって飽きるという自滅パターンが関の山のように思います。

僕らが小学生の頃はカードダスとかビックリマンチョコが全盛期だったけど、今の子らは何を買っているのだろうか?

ビックリマンシールって現在も続編が出ているんですね。調べてびっくりですよ。ビックリマンチョコ2000が出てたくらいまでは覚えてたんだけど、今はビックリマンひかり伝というシリーズに変わったようです。まだまだ20代だから、なんて構えていたら、一瞬でジェネレーション・ギャップが開くんだな。

編集者:すずき(2007/12/25 20:21)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月26日

iアプリのデバッグ

先日iアプリ開発キットを手順書を見つつインストールしたのですが、Eclipseでのデバッグを試みると即終了してしまい、デバッグができません。

具体的にはDebug Dialogから「DoJa-5.1アプリケーション」の設定作って、デバッグモード起動にチェックつけてから、ラウンチします。iアプリエミュレータの画面が出た後、コンソールに

Connecting to 127.0.0.1 on port 2800
Waiting for debugger on port 8000

と出て止まるので、Debug Dialogから「Remote Java Application」の設定を作って、上記のポートに繋ぎに行くよう設定してから、ラウンチします。するとコンソールに

Connection received.

と出て、デバッグモードに入るはずなのです。しかしプロンプトが出るや否や、即エミュレータが終了して消えてしまいます。これは困った。

原因と対策とか

Eclipseが無くともDoJa付属の管理ツールを使って、printfデバッグで頑張る手もあります。が、せっかくEclipseがあるのに使えないってのはくやしいでしょう。

というわけで調べてみます。トレースONにして実行させると、
ALERT: java/lang/ClassFormatError: Bad version information.
と言われた後に、ごちゃごちゃメッセージが出て止まっているのに気づきました。

上記のエラーを調べてみるとJavaのCompiler compliance levelが合ってないときに発生する現象らしいです。Eclipseを普通に使っていれば5.0や6.0になっていると思いますが、DoJaは1.4まで下げないと実行できません。

全体の設定(Window -> Preferences: Java -> Compiler)から変えると、iアプリと関係ないプロジェクトにまで影響が出るので、プロジェクト単体の設定(プロジェクトを右クリック -> Properties -> Java Compiler)を変えると良いと思います。

今回の実験環境はEclipse 3.3.1.1、JDK 6.0 Update 2、DoJa-5.1 ver.1.00です。

編集者:すずき(2007/12/28 01:14)

コメント一覧

  • 通りすがりさん(2008/03/22 16:16)
    困っていたので助かりました。
  • すずきさん(2008/03/23 02:56)
    >通りすがりさん
    お役に立てたようで何よりです。
  • ポールさん(2008/06/03 01:23)
    ありがとうございました。この問題結構引っかかってしまったがお陰で解決できた。どうしてわかったでしょう?
  • すずきさん(2008/06/03 02:50)
    細かい部分は覚えていませんが…。
    デバッグトレース(Debug Dialog の設定項目から選べます)を ON にして出るメッセージを追いかけ、あやしい警告文を検索するなどして見つけました。
open/close この記事にコメントする



2007年12月27日

もちつき

職場で餅つきしました。何で今年から急に餅つきにしたんだろう??謎だ。

餅つきを体験させてもらいました。初めに餅を横からこねる人をやってみました。水を手に付けて餅を叩けばいいって思ってたんですが、実は手に付けるのは水じゃなくて熱湯なんですよ。しかもおいそれと触れないレベルの…。おかげで手に火傷を負いました、ヒリヒリする。

その後は杵の人と交代して、もちを突いてました。上記した熱湯で手をやられたせいで、杵が滑って飛びそうになってましたけど、それ以外は至って普通でした。

できあがった餅は非常に硬くて、歯ごたえがありまくりんぐ。職場の上司が「硬くてあごが疲れてまうわ…。」って言ってました。他の人が作った餅も、自分で作った餅もどちらも同じくらい硬かったです(´・ω・`)ナンダカナァー

編集者:すずき(2007/12/28 01:15)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月28日

仕事納まらず

プロジェクトの人たちはみな切りの良いところまで進んでいました。が、自分は年度内に切りの良いところまで進めたかったなあと思いつつ、時間切れであえなく帰宅しました。残念っ。

ざつだん

筑波大学OSSSの皆さんとチャットしてました。雑談の中にも所々難しい話が出てくるんで面白い。

編集者:すずき(2007/12/29 08:01)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月29日

北海道へ

これから北海道へ帰ります。神戸空港経由です。

友達に神戸空港から乗るっていうと「なぜ神戸から?飛行機なかったの?」と聞かれます。別にトラブルがあったのではなく、わざと神戸を選びました。理由は今住んでいる高槻市から見ると、関西国際空港の方が遠くて不便だからです。

関空まで行くには最寄り駅(JR摂津富田駅)から約1時間30〜40分(JR -> 南海1,340円、JR -> 連絡バス1,550円)に対し、神戸空港までは約1時間10〜20分(JR -> 阪急1,100円)です。

関空へ早く行きたければ、有料路線(特急はるかor南海ラピートβ)もあります。しかし使ってもなお神戸空港に行くのと同じくらいの時間がかかり、片道3,350円(はるか)や1,920円(ラピートβ)と運賃が異常に高いです。

というわけで私の結論としては、JR京都線沿線に住んでいて伊丹の便が取れなかったら、神戸空港から乗る、これオススメ。

編集者:すずき(2007/12/29 08:19)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月30日

同窓会

高校時代の同窓会に行くために、札幌へ。本州で着てたコートしかないので、そのまま行ったんですが、さすがに薄かったのか。立っているだけで寒い。

今年も懐かしい面々と会うことができました。顔を知らない面々もいて、クラスメイトだったのに顔を忘れてしまったか?とあせりましたが、話をしてみると本当に知らない人でした。あせった…。

話が出来た面々に進路を聞いてみると、社会人の割合が増えてきたなあと思います。博士課程に行った人もいますが、あと3年もすれば全員社会人ですね。

来年以降は社会人の割合がさらに増えて、みな忙しくなるでしょうけど、また来年も集まれると良いねえ。

編集者:すずき(2008/01/02 19:04)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年12月31日

みそか

大晦日ですが、毎年恒例で特に何もせず。

年越しの瞬間は雑学王を見ていました。よゐこがちょっとかわいそうだった。

編集者:すずき(2008/01/02 21:41)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報