コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2006年12月24日 >>> 2006年12月11日
link もっと後

2006年12月24日

クリスマス

大下さんからマフラーと手袋をいただきました。
手袋はちょうど買おうと思っていたところだったので非常にありがたいです。

あとはコートだな。

編集者:すずき(2006/12/25 15:49)

コメント一覧

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



2006年12月23日

ジョーと愉快な(略

日付的には昨日ですが、時間的には今日なのでこっちに書きます。

再就職の決まった(?)じょーを迎えて北脇邸で飲み会をしました。
ストーブが壊れているとかで寒い寒い。つくばの夜ってなんでこんな冷えるんですかね。家の中が寒いのはうちも同じですけどね…。

じょーからドイツワインのうんちくが聞けてためになった。じょーいわく、フランスは産地しか書いて無くて素人には理解不能ですが、ドイツワインはラベルに情報が書いてあって、分類も割とすっきりしているからわかりやすいみたいです。

もうすぐクリスマス

加藤先生のお宅での歓迎会、兼クリスマスパーティに参加しました。
毎年そうなんだけど、料理うめー!!種類が豊富すぎて全部食えんかったのが残念です。

福島からはるばる小磯氏も来てくれてすげーと思った。

解散後、加藤先生のお宅の前で縄跳びしたんですが、先生の娘さんが超うまかった。それだけでなく加藤先生も二重跳びを軽くこなしていました。縄跳び得意なんでしょうかね?

二次会

Cybex STEPで卓球しました。2時間くらいやったら足が痛くなってきたので、カラオケ組と合流して、4時間遊びきりました。

11人という大人数で押しかけて、カード作るとか作らないとか、お買い得なパック料金を使う使わない、をごちゃごちゃに混ぜて注文したのがまず間違いの始まりでした。

遊ぶ物を変更するときは伝票をカウンターに持って行くんですが、誰か言いに行かなかったみたいで、伝票が余ってしまいました。そのせいで店の人がかなり混乱していました。

20分くらいすったもんだしたあげく、我々に「パックのお客様は何人でしたか?」とか聞いたりと、かなり混乱していたようです。最後はめんどくさくなったのか、会計金額だけ合ってる内容めちゃくちゃな伝票を切って解決(?)していました。いい加減な人だなw

編集者:すずき(2006/12/24 05:17)

コメント一覧

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



2006年12月22日

まねきTV

東京のTV番組をネット経由で視聴できるサービスまねきTVが勝訴したそうです。

おわ、いつのまにネット配信OKになった??って一瞬びっくりしたんですが、違いました。まぎらわしい書き方すると誤解を招きますよ朝日新聞さん。

要は「自分で買った」ソニーのロケーションフリーテレビの片割れ(ベースステーションの方)を、まねきTVのビルに置くだけです。東京に借りた部屋にロケーションフリーのベースステーション置いて、実家からアクセスするのとなんら変わりません。

マスゴミ各社は、ネット配信によって今まで築いてきた電波の牙城が崩れる、と恐れるあまり、反応過剰になってるんでしょうか。

気になるのは

それよりこの投げやりなサービス、別の点の方が気になります。
NHKの料金はどうなるの?って話です。規約には会社では払わねーから、お前ら勝手に払え、って書いてあります。

NHKって会社と世帯間で契約するものだった気がするんですが、規約にある書き方だと、家族がばらばらに住んでいる場合は、地元NHKと契約するときと同じように、各世帯で払うのかな?その辺工夫できたらもっと良さそうなのになあ。

編集者:すずき(2006/12/22 22:24)

コメント一覧

  • @ふふっ。さん(2006/12/24 00:53)
    NHKの受信料は、支払いの口座が同一であれば、別居の家族の受信料が割引になる制度があります。
  • すずきさん(2006/12/24 04:32)
    なんとそんな制度が…知らないで6年間払っちゃったよ。
open/close この記事にコメントする



2006年12月21日

早起きは

偶然早起きしたので、たまには早目に研究室に行くか、って思って行ったら、ちょうどゼミの時間だったらしい。知らなかった。これが三文の得という奴か。

ブラウザアップデート

ブラウザをSeaMonkey 1.1bにアップデートしました。サムネイル機能が良い感じです。


タブをポイントするとサムネイルが出る

あと個人的にはブックマークメニューで右クリックすると、編集メニューが出るようになったのが、かなりGood です。


右クリックで編集できる

Visual Studioアップデート

Visual Studio 2005 SP1が出ていたので適用しました。なんと441MBもあるんですね。ほとんど入れ替えてるんじゃないか?ってくらいの容量です。
ノートPCにインストールしたら、HDDが遅すぎなせいか2時間もかかりました。

一番腹立ったのは「残り時間0秒」って出てから、10分以上待たされたことですね…。嘘もいいところだ。

編集者:すずき(2006/12/21 22:04)

コメント一覧

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



2006年12月20日

らいてふ

Thunderbird様にバージョンアップしたから入れ替えろや、ゴルァ!って脅され、言われるがままに入れ替えたら起動しなくなりました。

A previous install did not complete correctly. Finishing install.

何度起動しても、これが出るばかり。
そこで私の取った手順は、まず設定ファイルをバックアップして、Thunderbirdのバイナリがあるディレクトリを葬ってから再インストールしました。起動を確認したら、一旦終了させて、バックアップから設定を書き戻してやります。これで元通りです。

で、結局この現象はなんだったのか調べたら、mozdev.orgのFAQ に書いてありました。それによればThunderbirdのインストールディレクトリにあるxpicleanup.datを消せばいいらしいです。

FAQは親切で結構ですが、エラーメッセージは典型的な意味不明のダメメッセージですね。まあ、人のこと言えませんけどね。

また修正

コメントで \ を打つと出力される文がおかしくなっていたので、直しました。

編集者:すずき(2006/12/20 21:16)

コメント一覧

  • すずきさん(2006/12/20 21:17)
    コメント修正されたかな?
    \n\r
    テストです。
open/close この記事にコメントする



2006年12月19日

Linux kernel 2.4 for ARMがクロスコンパイルできない

目次: Linux

クロスコンパイルが楽そうなLinux kernelですが、2.4.33.5がコンパイルできない。

$ make bzImage
(...snip...)
make[1]: Entering directory `/home/katsuhiro/share/tmp/cross/build/linux-2.4.33.5/drivers'
make -C block
make[2]: Entering directory `/home/katsuhiro/share/tmp/cross/build/linux-2.4.33.5/drivers/block'
make all_targets
make[3]: Entering directory `/home/katsuhiro/share/tmp/cross/build/linux-2.4.33.5/drivers/block'

arm-linux-gcc-3.4.4 -D__KERNEL__ -I/home/katsuhiro/share/tmp/cross/build/linux-2.4.33.5/include \
-Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing \
-fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 \
-march=armv4 -mtune=arm9tdmi -malignment-traps -msoft-float -Uarm \
-nostdinc -iwithprefix include -DKBUILD_BASENAME=blkpg  -c -o blkpg.o blkpg.c

blkpg.c: In function `blk_ioctl':
blkpg.c:252: error: asm-specifier for variable `__r1' conflicts with asm clobber list
blkpg.c:252: 前のエラーにより混乱していますので、脱出します
(...snip...)

put_userと、u64の組み合わせがまずいのか、put_userを使っている各所でこのエラーが出ます。


if (cmd == BLKGETSIZE)
  return put_user((unsigned long)ullval, (unsigned long *)arg);
else
  return put_user(ullval << 9, (u64 *)arg);

gcc-3.3.5がダメなのかと思って、gcc-3.4.4でコンパイルしてみた(3.4では-mshort-load-bytesを -malignment-trapsに変えないと別のエラーになる)ものの、やはり同じ。いっそ立ち戻って2.95とか、新しい4系でやるべきでしょうか。

つーか、ARM用のカーネルって世の中にいっぱいあると思うんだが、誰がどうやってコンパイルしてるんだよ?

原因?

ちなみにgccに文句を言われるput_userは以下のようなマクロです。行末の継続記号は省いています。
こんなに長いのにマクロなのはinline展開に比べて何か良いことがあるからでしょう。たぶん。


#define put_user(x,p) (
{
 const register typeof(*(p)) __r1 asm("r1") = (x);
 const register typeof(*(p)) *__p asm("r0") = (p);
 register int __e asm("r0");
 
 switch (sizeof(*(p))) {
 case 1:
  __put_user_x(__r1, __p, __e, 1, "r2", "lr");
  break;
 case 2:
  __put_user_x(__r1, __p, __e, 2, "r2", "lr");
  break;
 case 4:
  __put_user_x(__r1, __p, __e, 4, "r2", "lr");
  break;
 case 8:
  __put_user_x(__r1, __p, __e, 8, "ip", "lr");
  break;
 default:
  __e = __put_user_bad();
  break;
 }
 __e;
})

#define __put_user_x(__r1,__p,__e,__s,__i...) 
 __asm__ __volatile__ (
    "bl __put_user_" #__s 
    : "=&r" (__e) 
    : "0" (__p), "r" (__r1) 
    : __i
 )

put_userが呼んでいる __put_user_xの前半を見ると、サイズ(1, 2, 4, 8)に応じて __put_user_1とか __put_user_2などを呼ぶ(blはブランチ命令)関数みたいです。
gccのインラインアセンブラが理解できないので、後半がイマイチわからないんですが…。誰か読めませんか?これ。

どうでもいいけど、これ見ていたら、gccってマクロの引数を可変にできることに気づきました。
gcc専用のコードになってしまうのが難点だけど、メチャクチャ便利だな。

駄目な日

ドコモとのミーティングをなぜか明日だと思っていてすっぽかしてしまった。やってしまった。

さらに今日、停電になるのを忘れていて、リモートからの作業中にマシンが落ちた。
研究室に行って、電源投入してきた。

昨日、今日と研究室に行ったせいか、のどが痛い。研究室は暖かくて良いんですけど、猛烈にのどと目が痛くなる。
hdk氏にそれは登校拒否だって言われた。否定できないよ、うわぁぁヽ(`Д´)ノぁぁーん!

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

コメント一覧

  • ち。さん(2006/12/20 20:02)
    1: __asm__ __volatile__ (
    2: "bl __put_user_" #__S
    3: : "=&r" (__e)
    4: : "0" (__p), "r" (__r1)
    5: : __i
    6: )

    で説明すると
    1:は__volatile__なので最適化不可のインラインアセンブラ定義
    2:は""でくくられた部分はそのまま埋め込まれて、#以降はコメントです。

    3:以降はちょっとややこしいのですが、アセンブラ埋め込みの前後の処理を書いています。
    いわゆる拡張インラインアセンブラの部分です。それぞれの処理がコロンで区切られていて
    3:が出力レジスタ
    4:が入力レジスタ
    5:が使用するレジスタが指定されています。

    3:は`=`がWrite-onlyで書き込まれるレジスタ、`&`がearlyclobber operandとなっていて
    インラインアセンブラ内で読んで書き込まれた後に再び読まれるレジスタをあらわします(たぶん)。
    `r`は汎用レジスタであることを示しています。カッコ内は変数を指定しています。
    これらの指定によって、埋め込むアセンブラの後にレジスタの値を変数へ書き込むコードが挿入されます。

    4:の`0`は0番目のconstrain、つまり"=&r" (__e)を指します。3:と同様、カッコ内は変数です。
    これらの指定によって、埋め込むアセンブラの前に変数の値をレジスタに書き込むコードが挿入されます。

    5:は使用されるレジスタが記述されます。埋め込むアセンブラ内で使用するレジスタをここに書くことで
    埋め込むコードの前後にこれらのレジスタを退避・復帰するコードが挿入されます。

    で、3:と4:で指定した変数をレジスタとみなして%0,%1,%2みたいな形でアセンブラを書けるんですが
    ("add %1,%0"みたいな記述ができるようになる)このソースには含まれてないですね。

    詳細はGCCのドキュメント"Using the GNU Compiler Collection"に書かれていますので
    やる気があったらがんばって読んでみてください。
  • すずきさん(2006/12/20 20:09)
    アセンブラの神が降臨していただいたおかげで、勉強になります。
    #ってコメントか。文字連結じゃないんですね。

    だとすると本文が間違ってる予感が…直さねば。
  • すずきさん(2006/12/20 20:26)
    間違えた。#はパラメータ展開、文字列連結は##でした。

    #define の中なので、たぶん
    __put_user_x(__r1, __p, __e, 8, "ip", "lr");
    と渡すと、__S は 8 になって、
    "bl __put_user_" #__S

    "bl __put_user_" "8"
    に展開され
    "bl __put_user_8"
    と連結されます。

    $ cat a.c
    #define hoge(a) printf("hoge_" #a "\n");
    int main()
    int a = 1;
    hoge(0);
    hoge(a);
    hoge("fuga");

    return 0;
    とすると

    $ gcc a.c; ./a.out
    hoge_0
    hoge_a
    hoge_"fuga"
    こんな感じになります。
  • ち。さん(2006/12/21 15:24)
    うは。まちがってたw
    コメントはセミコロン`;`でした。
    大変失礼しましたm(_ _)m
  • hdkさん(2006/12/23 00:48)
    ; は複数の命令を一行にまとめて書くときに使う区切り文字です。# がコメントであってます。
  • すずきさん(2006/12/24 04:34)
    えーと、まとめると。

    1: __asm__ __volatile__ (
    2: "bl __put_user_ #__S"
    って書いたら、__S はコメントで、

    今回の奴は
    1: __asm__ __volatile__ (
    2: "bl __put_user_" #__S
    となっていてこれは #define の定義なので、#の後ろにあるパラメータは展開されて文字列として連結される。

    ってことで理解合ってます?>お二方
open/close この記事にコメントする



2006年12月18日

glibcお前もビルドできないのか - その2

目次: C言語とlibc

glibcは最適化を外すとコンパイルできないことを昨日お伝えしました。
これじゃあるオプション(-fno-omit-frame-pointer:フレームポインタの省略を行わない)つけたいのにできないよ、って思ったんですが、試しに -O2 --fno-omit-frame-pointerって同時に指定したらコンパイルできました。

でも確か -O1くらいの最適化をかけると、アーキテクチャによってはフレームポインタが省略されるはずです。それを考えると -O2と -fno-omit-frame-pointerは矛盾した指定に思えますが…?

gccが、オプションを見ているふりをしている可能性も疑って、生成されたlibc-2.3.2.soを逆アセンブルして確認しましたが、フレームポインタの省略はないようです。

というわけで、最適化とこのオプションは排他ではないことがわかりました。うーん、便利ナリ。

-fなんちゃらのオプションってビットフラグみたいな感じなのでしょうか。-O1とか -O2ってのは、それらをまとめて立てたり倒したりするだけかな。

前途多難

とりあえずglibcはうまくいきました。割とすんなりできたのは、glibcがクロスコンパイルのことを考えて作られているからでしょう。

ところが、みんながみんなクロスコンパイルが容易にできるわけじゃないんですよね。

ncursesはautomake/autoconf使ってる(ほんとか?)っぽいのにtarget=arm-linuxって指定しても完全に無視だった。他のライブラリはまだ試してないけど、ずっとこんな調子だったら泣けてしまうよ。

かーねる

あと、以前からつまづいていたのは、Linux kernel 2.4でのmake menuconfigですね。make configはできるから、そっちでやりゃいいんですけど、さすがにmenuconfigすらできないのは悲しすぎです。


ARCH=arm
CROSS_COMPILE=arm-linux-

まず、以上の変数を指定して、make menuconfigすると、こんな事言われます。

$ make menuconfig

Menuconfig has encountered a possible error in one of the kernel's
configuration files and is unable to continue.  Here is the error
report:

 Q> scripts/Menuconfig: line 831: MCmenu0: command not found

Please report this to the maintainer <mec@shout.net>.  You may also
send a problem report to <linux-kernel@vger.kernel.org>.

Please indicate the kernel version you are trying to configure and
which menu you were trying to enter when this error occurred.

make: *** [menuconfig]  1

MCmenu0ってファイルが悪いそうですが、このファイルは自動的に生成される上に、クリーンナップでご丁寧にも消されるので残ってません。というわけでscripts/Menuconfigを追って調べたら、arch/arm/config.inで、drivers/ssi/Config.inというファイルを指定しているところが怪しそう。

わざわざコメントで、ssiだよ、scsiのスペルエラーじゃないよ!なんて書いてありますが、現在のカーネルだとそもそもdrivers/ssi/Config.inと言うファイルがありません。昔はあったのでしょうね。

そのせいでifブロックの中が空のシェルスクリプトが生成され、shが怒っていたのです。
下のような感じでコメントアウトすると良いみたいです。


$ diff -u linux-2.4.33.5/arch/arm/config.in.orig linux-2.4.33.5/arch/arm/config.in
--- linux-2.4.33.5/arch/arm/config.in.orig      2006-12-15 01:29:03.000000000 +0900
+++ linux-2.4.33.5/arch/arm/config.in   2006-12-19 03:33:31.000000000 +0900
@@ -599,10 +599,10 @@
 fi
 endmenu
 
-if [ "$CONFIG_ARCH_CLPS711X" = "y" ]; then
-   # This is _meant_ to be ssi _not_ scsi.  It is not a spelling error.
-   source drivers/ssi/Config.in
-fi
+#if [ "$CONFIG_ARCH_CLPS711X" = "y" ]; then
+#   # This is _meant_ to be ssi _not_ scsi.  It is not a spelling error.
+#   source drivers/ssi/Config.in
+#fi
 
 source drivers/ieee1394/Config.in

って書いた後で、既に指摘されていたことがわかったりすると、ほんとガッカリだよ(´・ω・`)ネー。
しかし、私にはmakeの出すエラーメッセージとarch/arm/config.inがおかしい、って事はパッと結びつかなくて、検索もできませんでしたよ…。宇宙人ですか?この人は。

ちなみに、arm以外にも影響あるっぽいので、カーネルクロスコンパイルしちゃうぜ、って奇特な方は参考にどうぞ。

まあ、俺の思いつく事なんてたいがい、どっかのすげー人がやったことの二番煎じなのさ。それならそれでいいのだ。

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

コメント一覧

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



2006年12月17日

glibcお前もビルドできないのか

目次: C言語とlibc

昨日の日記の繰り返しになりますが、私がやりたいのは、変なオプション付けてglibcをビルドすることです。
いきなりやると大抵うまくいかないので、初めに何も付けずにビルドしました。簡単な修正が必要ですが、特に問題なく成功しました。

あとはオプション変えるだけだと思ったら、やっぱダメでした。下のメッセージのように、最適化を外すなって怒られます。

$ make
(...snip...)
/tmp/build/glibc-2.3.2/config.h:3:3: #error "glibc cannot be compiled without optimization"

そういえば以前、hdk氏より「Linuxカーネル(12/18訂正:カーネル -> Linuxカーネル)は最適化をoffにするとコンパイルできない」と教えてもらたっけなあ。
今日になって同じような現象に出会うとは、夢にも思いませんでしたよ。

ビルドメモ

まずapt-get source glibcとして、取ってきたglibc_2.3.2.ds1.orig.tar.gzを展開すると、glibc-2.3.2.tar.bz2とglibc-linuxthreads-2.3.2.tar.bz2が出てくるので、それらを展開します。

そして、Zaurus Cross さんにあるglibc-2.3.2向けのバグフィクスパッチを当てます。
こういう素晴らしいお仕事してくれる方がいるから、ほんと助かります…。


# ソース取ってくる
$ apt-get source glibc
$ tar -xzvf glibc_2.3.2.ds1.orig.tar.gz

# 展開、linuxthreadsアドオンだっけ?それも展開
$ tar -xjvf glibc-2.3.2.tar.bz2
$ cd glibc-2.3.2
$ cp ../glibc-linuxthreads-2.3.2.tar.bz2 ./
$ tar -xjvf glibc-linuxthreads-2.3.2.tar.bz2

# パッチ当て
$ patch -p1 < glibc-2.3.2-arm.patch

# さらに修正必要、修正内容については後ろの方に載ってます
(修正)

# ビルド用のディレクトリに移動
$ cd ../
$ mkdir build
$ cd build

# こんふぃぎゃー
# カーネルヘッダは適したものを使ってください
$ ../glibc-2.3.2/configure --prefix=/home/username/usr/local/arm --target=arm-linux \
--enable-shared --enable-add-ons --enable-kernel=2.4.x \
--host=arm-linux --with-headers=/home/username/usr/src/linux-2.4.x/include

# ビルド、インストール
$ make
$ make install

ちなみにglibcのコンパイルも含めて、Zaurus Crossさんが超くわしいので、そちら見た方がためになります。

修正箇所

コンパイル通らないと困るので晒しておきます。
初めはglibc-2.3.2/include/libc-symbols.hの @nobitsを削ってたんですが、ググったら %nobitsにすればいいよ、ってのがあったので直しました。


--- glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c.orig       2003-02-21 07:22:24.000000000 +0900
+++ glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c    2006-12-17 23:21:42.000000000 +0900
@@ -47,6 +47,8 @@
 #include <asm/page.h>
 #include <sys/sysctl.h>
 
+#include <linux/input.h>
+
 #define PATH_ARM_SYSTYPE       "/etc/arm_systype"
 #define PATH_CPUINFO           "/proc/cpuinfo"
--- glibc-2.3.2/include/libc-symbols.h.orig     2003-01-04 08:21:03.000000000 +0900
+++ glibc-2.3.2/include/libc-symbols.h  2006-12-17 23:21:01.000000000 +0900
@@ -247,7 +247,7 @@
     __attribute__ ((unused, section (".gnu.warning." #symbol __sec_comment))) \r     = msg;
 #  define libc_freeres_ptr(decl) \r-  __make_section_unallocated ("__libc_freeres_ptrs, "aw", @nobits") \r+  __make_section_unallocated ("__libc_freeres_ptrs, "aw", %nobits") \r   decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment)))
 #  define __libc_freeres_fn_section \r   __attribute__ ((section ("__libc_freeres_fn")))
編集者:すずき(2023/04/29 21:46)

コメント一覧

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



2006年12月16日

Debianかっこいー!

研究上の用入りで glibc含むあまたのライブラリに変なオプション付けてクロスコンパイルしなきゃならなくて、とってもめんどくさいです。やる気出ません。
とりあえずクロスコンパイル環境を構築するために作業しています。

作業の途中で、Debianパッケージのすごさを垣間見ました。

# su
# apt-get build-dep gcc-3.3
# exit

$ apt-get -b source gcc-3.3

ってやるだけで、パッケージからソース解凍して、Debian用のパッチ当てて、ビルドするところまで出来ます。いやー、すげーわ。

プログラマ寄りの視点から見ると、なんでそこまでやるかね?って感じです。
利用者から見ると、楽すぎて涙がちょちょ切れます。ありがたいです。

同じ要領でクロスコンパイル環境も構築できないかなあ。
まあDebianならやっちゃってそうな気もしますけどね、私が無知なためわかりません。地味にやります。

編集者:すずき(2006/12/17 21:55)

コメント一覧

  • kawasakiさん(2006/12/18 02:54)
    automake / autoconf の環境であれば、環境変数(ccとか)を設定して、./configure --build=powerpc-unknown-linux-gnu --host=i686-pc-none とかすればいい気がします。
  • すずきさん(2006/12/18 04:35)
    基本はおっしゃる通りなんですが、難儀なものでなかなかコンパイル通らないんですよ…。
open/close この記事にコメントする



2006年12月15日

@gamesの謎

昨日紹介したクリックスを提供している @games ですが、IEじゃないとゲームのページにたどり着けない変な仕組みになっています。
ゲームの置いてあるページに直に飛ぶと行けるんですけどね…。

直リンの謎

@gamesのゲームが置いてあるページは、以下のように直に打てばIE以外の人でもいける。

http://www.atgames.jp/atgames/html/game/flash/0000.html

最後の4桁の数字.htmlとなっている部分を変えるとゲームが切り替わる。
今のところ17種類あるみたい。

番号ゲーム名 備考
0001ウォーターボム ひたすらかわす
0002キュートショット ゴルフみたいなゲーム
0003チューチューパニック
0004アクアミッション イライラ棒
0005アニマルクエスト
0006消毒ナースナオミちゃん連打系
0007スーパーリフティング
0008土用丑
0009CLICK'S
0010アイサツワールド タイピングゲーム
0011ぷちぷち さめがめ
0012電算マニア 暗算ゲーム
0013フルーツショップ
0014フォレストストーリー |_| の形に繋げない。バグ?
0015セルフィスタジアム いわゆる野球盤
0016ポイ
0017ナンバリング 数独

しかし0000や0018以上にするとサーブレットがエラーで落ちるってのはどうなんだ。
Error processing the templateと出る。しかし Not found ではないらしい。

編集者:すずき(2006/12/16 02:04)

コメント一覧

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



2006年12月14日

徹夜できません

徹夜したら次の日は眠いのは当たり前なんですけど、だんだん耐久力がなくなっているらしくて、最近は意識が飛ぶように眠くなります。
シス情セミナーでも寝てたし、研究室でも寝ていた。いかんな。

何歳になってもゲーム

今日、9Fの研究室ではクリックスというゲームが大流行です。自分もやってみたんですが、シンプルながらなかなか面白いです。暇つぶしに最適。
ちょっと操作しづらいのが難点です。しかも一番基本である、数字の増減がわかりづらいから困る。一回間違うと戻せないからさらに困る。

今日もやってみたんですけどLv.74(36万点)でした。30万点超えた辺りから、5秒悩んだら終了してしまう。この段階での操作ミスは死を意味します。

アイテムの存在を今日知ったので使ってみたんですが、序盤はブロックシャッフルが効きますね。
後半はブロックをメチャクチャにされるとかえってわからなくなって死んだので、連鎖が起きるまでランダム消しを連打するか、あるいは操作ミスならヒビ直し -> タイム回復のコンボかな?どちらにせよアイテムはすぐ無くなるので、さほど点数は伸びませんでした…。

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

コメント一覧

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



2006年12月13日

WindowsとUnicode

hdk氏とファイル名にUnicodeの制御文字を入れて遊んでいたら、案外面白い絵が撮れました。貼ろうと思ったんですが、既にhdk氏のページにあるので割愛です。
ステータスバー、ウインドウのタイトル、パスを表示している部分など全て同様におかしくなります。


パス名もへんてこになる(クリックで拡大)

ちなみにコマンドプロンプトなどから触れなくなります(Tabで補完するとなぜか使える)が、ショートファイルネームを使って叩けば平気みたいね。

さらに

エクスプローラでは長いファイル名は折り返されて表示されます。その処理が原因なのかUnicodeの制御文字が入っていると表示がおかしくなります。


見た目は普通(?)のファイル名(クリックで拡大)


折り返されると変(クリックで拡大)

編集者:すずき(2006/12/14 09:43)

コメント一覧

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



2006年12月12日

微妙な改造

RSSの更新日時を出すようにしました。といっても、先頭のdc:dateだけです。記事の更新日時は、記事に示した日付の正午に固定しました。
やろうと思えばmixiのように過去のエントリは書けない腐れ仕様にして、記事を作成した時刻を出せます。でも不便だし細かい時刻を出したところでさほど意味を感じないので割愛です。

RSSの日時なんざどうでも良くて、実はHEADにLast-Modifiedを出力しようと企んでる途中なわけですよ。

何のためかと言うとアンテナに優しいサイトを目指すためです。
身近にはhdk氏の Asahina antenna in Univ. of Tsukuba(ばなな(※))があります。

って、このサイト入ってないんだけどね。
確か最初に入れないでくれーって言った記憶がある。なんでだっけなあ…?Last-Modified出すようになったら入れてもらおうかな。と都合の良いことを考え中。

アーンテーナの神殿

それはさておきhdk氏にアンテナってどうやって更新をチェックするのか聞いてみたら、基本的にはHEADらしいです。ということはHEADでだんまりなページはやりづらい(「ばなな」は他の方法でも取るので平気?)でしょうね。
あとContent-Lengthも出そうと思っています。けど、計算間違って変なことになりそうです。

そういやアンテナはRSSリーダーに押されているのか、あまり見なくなりました。これもご時世か。

(※)今は「つくばさん」です。タイトルに注目。

編集者:すずき(2006/12/14 08:04)

コメント一覧

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



2006年12月11日

うでの肉

セイコーマートの焼きうどんが好きで結構買って食べてるんですが、材料に「豚うで肉」って書いてあって、うで?なんじゃそれ?って思った。
調べてみると「良く運動する部位なので、脂肪分が少なくヘルシー」とのこと。要は安くて固い肉ね。わかったナリ。


うで肉使ってます

うで肉の情報を探していたら豚の腕の骨とうで肉を分離する専用の機械なんかも見つかった。
肩甲骨は手でやっても面倒くさそうな形しているのできっと需要があるんだろう。

編集者:すずき(2006/12/12 18:39)

コメント一覧

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



link もっと前
2006年12月24日 >>> 2006年12月11日
link もっと後

管理用メニュー

link 記事を新規作成

<2006>
<<<12>>>
-----12
3456789
10111213141516
17181920212223
24252627282930
31------

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

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 サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20