2009/11/29

footprint note

足跡帳って、足跡を残すページにhttpリクエストを出させる画像やスクリプトを仕込んでおけば誰でもできるし、多分やってる人多いんだろうな、と思った。ログインしっ放しな人が大半なのをうまく利用していて、別にクリティカルな害は無いけどCSRFっぽいよね。

自分が見えないところでいろんなhttpリクエストが発行されるのは本当はヤだけど、もはやそれは当たり前だし、不可避なんだよね(´ー`; )

----

と、はまちちゃんのエントリを見て思いました。まる。

my lovely girl sensor

いろいろな人と話をしていると、どうも自分は「賛否両論分かれる」女性を選ぶ傾向があるようだ。
人の容姿の好みなんて千差万別なのは明らかなんだけど、俺はどうもそれがズレているらしい。

----

OK な女性:

※ 特に女性からはウケがよくない。男性から見ても賛否両論

- 松たか子(女優)
- 首藤奈知子(NHKアナウンサー)
- 小林摩耶(フリー/元TBSアナウンサー)

違うな、と思う女性:

※ ここに属する女性に対しては辛口なコメントを加えて女性から「えー」と言われる。男からも「あんたキビシイね」と言われる。

- 枡田絵里奈(TBSアナウンサー)
- オバマ大統領の後ろにいた謎の中国人女性

2009/11/02

wii fit plus

初級15分の運動強度で死亡したので に行かなくて良かったと思いますた(一行独白

# もはや lazy-people ではなくて Perl登山部 と改名したらどうか(*゜ー゜)

mythbusters collections 2

http://dsc.discovery.com/fansites/mythbusters/mythbusters.html

俺と相方は共通の趣味が恐ろしく少ないのだが、ディスカバリーチャンネル の「怪しい伝説」は二人とも好んで見ている。これは都市伝説とも言うべき怪しげな命題を「科学的に、時には理不尽に」検証する番組だ。有料番組である。

どんな番組か知りたい方は、その一部 をネット上でも見ることができる。

二人とも英語を聞き取れもしないくせに字幕無しの Mythbusters: Collection 2 を買うという無謀っぷり。俺英語の聞き取りは非常にヤヴァイんですが(´ー`; )

2009/10/15

various Gravity

今や携帯やゲームのコントローラーで一般的になった加速度センサー。Android もそれに対応していて、Java を通じてハードウェアに加えた加速度の値を取り出すことができる。ただ、Android が載っている Linux の仕組み上、ハードウェアに直接 Java がアクセスできるはずもないので、C(++) のコードを経由してデバイスドライバにアクセスする。

----

ところで、Android で加速度センサーにアクセスする C(++)のコードを実装するには、必ず特定のヘッダを実装しなければならない。それが sensors.h だ。加速度センサーは今いる場所の重力加速度(※)を基準にした値がハードウェアから渡ってくることが多いので、上記の sensors.h にも いろいろな場所の重力の値が定義されている。それを以下に引用しておく。


/**
* Values returned by the accelerometer in various locations in the universe.
* all values are in SI units (m/s^2)
*/

#define GRAVITY_SUN (275.0f)
#define GRAVITY_MERCURY (3.70f)
#define GRAVITY_VENUS (8.87f)
#define GRAVITY_EARTH (9.80665f)
#define GRAVITY_MOON (1.6f)
#define GRAVITY_MARS (3.71f)
#define GRAVITY_JUPITER (23.12f)
#define GRAVITY_SATURN (8.96f)
#define GRAVITY_URANUS (8.69f)
#define GRAVITY_NEPTUNE (11.0f)
#define GRAVITY_PLUTO (0.6f)
#define GRAVITY_DEATH_STAR_I (0.000000353036145f)
#define GRAVITY_THE_ISLAND (4.815162342f)

こんなところに Android 持ってかねーYO! という値がたくさん定義されている。誰か DEATH STAR に Android を持っていった人、是非重力加速度の具合を体で感じ、俺に是非教えてください。

----

(※)地球の場合 9.8 m/s^2。物理でやったよね! 俺はスカーリ忘れてた

2009/10/13

incresing age

節目の日を迎えた。だからというわけではないけれども、Ethnaプロジェクトで自分がとろうとしているスタンスについてアクティブなメンテナに告げた。いろいろな意味ですっきりした。

いわゆる「自分探し」をプログラムを読みまくってやっているというのも、自分らしいと思う。現状維持ではしょうがない。プライベートが大きく変わる一年でもあるし、いろいろな意味で節目の一年にしたい。

2009/10/02

sed as grep replacement

デーモン化したプログラムのログを syslog に吐かせていて、そのログのみを抽出したいと考えた。だが、grep(1) もない、awk(1) もない。テキスト系のプログラムで役に立ちそうだったのは cat(1) と sed(1) だけであった ....

サーバやPC上のUNIXで作業をするときは上記のような環境は考えられないわけだが、組み込み環境ではフットプリント(ストレージの消費量)を抑えるためにそういうことが往々にしてある。要するに、sed を grep の代わりとして使いたいわけです ... と思ったとき5分くらい手間取ったのでメモしておく。

----

たとえば、search.txt から regex にマッチする行だけを出力したい場合は、以下のようにする。これは /regex/ という条件文を ! で否定し、d で「マッチしないものを削除する」ことにより、逆にマッチするものを出力するという変なことをしている。

cat search.txt | sed -e '/regex/!d'

正直、こんなことをするのは組み込み環境以外ないし、どうでもいいっちゃいいんだけどね(藁

2009/10/01

[memo] malloc, free(3)

http://www.linux.or.jp/JM/html/LDP_man-pages/man3/malloc.3.html

考えてみれば当たり前なんだけど、free(3) に渡すポインタは malloc(3) 等から返ってきたポインタ「そのもの」でなければならない。以下のコードは FreeBSD 6.4 Release だと実行時に「warning: modified (chunk-) pointer」という警告が出る。Linuxだとアボートする。



バッファに構造体の中身をコピーするようなコードを書いているときに、上記のような間違いを犯したことがあるので記録しておく。