2006年12月03日(日) [過去の今日]
#3 DateTimeモジュール
DateTime なんてモジュールあったのか。こういうの作りたくて今年の頭からいろいろ書いては捨ててたのだが、もうあったのね……。あれだけ検索したのになあ……。
しかし使いやすいとはお世辞にも言えないなあ。拡張性重視なんだろな……。
んでちょっとした バグっぽい挙動 もあるらしい。
$ perl -MDateTime -e '$dt = DateTime->new( year => 2006, month => 10, day => 31); print $dt,"\n"; $dt->add(months => 1); print $dt,"\n";' 2006-10-31T00:00:00 2006-12-01T00:00:00
あちゃー、だな。
$ perl -MDateTime -e '$dt = DateTime->new( year => 2006, month => 1, day => 31); print $dt,"\n"; $dt->add(months => 1); print $dt,"\n";' 2006-01-31T00:00:00 2006-03-03T00:00:00
これもちょっとなあ……。
こういうのってどうやって処理するのが正しいんだろうね。「一ヶ月後」の正しい定義ってどこかにある?
(@987)
#2 Cellを使った家電を妄想。
マルチコアで複数の処理を同時にこなせるから画像解析とレンダリングも同時にできるぜとかいうデモがあったよなあ。そのへんから妄想してみると……
- 人間がいるところだけを局所的にあたためる暖房
- 背を向けると自動でドアが閉まる冷蔵庫
- もちろん映像情報から体調を判別して冷蔵庫の内容物から作れるおすすめレシピも表示
- TVの前にいる人物から性別と平均年齢を算出して地上波/CS/BSその他もろもろから自動的に最適な番組を選ぶテレビ
- 服の汚れを認識しながら揉み洗いもほどこす洗濯機
- 人物の顔や声を覚えて自動応対するインターフォン
- ペットや子供の動きにあわせて遊び相手になってくれるロボット
うーん、欲しいような欲しくないような。
(@928)
#1 読解力
「はじめに言葉ありき」は本当か? という記事。
どう見ても読解力の話なのになぜか読解力という言葉が出てこない不思議な記事だというのが俺の感想。
しかし、
「言葉から受ける影響」の自己管理だけではなく、観測者の人も含めて外部の言葉を感情に直結させるのはマズいと思う。セキュアOS風に「汚染されている」言葉として、感情からは切り離しておかないと。
私にとって以上の文章は「え?みなさんそうしていないのですか?」というほど当然で、それがゆえに私は「空気嫁」なのだろうと思い至る。
この感覚はある種、geekに属してるような人間は誰でも根元的に持ってるんじゃないだろうか、と思った。
空気が読めないというのは俺もそうなのだが、いろいろ考えていると、言葉というのはただのトリガーであって、実際の意味はそのトリガーが引かれた結果が内的に発生してはじめて意味を持つ事に気付く。となれば、言葉以外のトリガーでも意味が通じる場合は容易に想定できる。
つまるところ、「(言葉以外の)同じトリガーを与えられて同じような意味を内的に発生させられる」ということが「空気を読める」ということなのだろう。geekは人とちょっと違った感性を持つがゆえにgeekなので、空気が読めないのは当り前ということになる。逆にスーツどもにはgeekの空気が読めないというのは、実体験がある人も多いだろう。
言葉を理解するというのは、トリガーと意味を対応付けられるということだ。しかし万人が同一の意味に理解しているわけではない。また、コンプレックスに触れるような言葉である場合、トリガーが本来発生させるはずの意味ではなく、悪意が含まれる意味を発生させ、ニュートラルな意味として受け取ってもらえなくなる場合も多々ある *1 。
こうしたトリガーの集合体が文章だ。これをソースコードとすることに俺は異論は無い。
だが我々の中にはコンパイル済みの言葉がたくさんキャッシュされている。キャッシュにあるものはコンパイルされずに、キャッシュから取りだされた意味だけが自己の内側に発生する。こうしないと処理に時間がかかってしょうがないので、当然の対応であろう。実際に毎度毎度コンパイルし直してる人などいないはずだ。
しかし全てがそうかというと、それも違う。まず触覚、嗅覚、味覚の三つに関しては、ずっと「バイナリー」感が強い。
これも当然の話。言葉というトリガーを介さないのだからね。相手によってバイナリー感が強い言葉になるのは、コンパイル済みキャッシュの量の問題であろうと、俺は考える。
キャッシュは当然バイナリだから、キャッシュばかり使ってると「バイナリー感」をたくさん味わうことになる。読解力の不足というのは、キャッシュに頼りがちな言語理解そのものだと、俺は考える。誤コンパイルされたままキャッシュしている言葉もたくさんあるし、組み合わせが似てるだけで別の意味のはずのものをコンパイルせずキャッシュから取りだしてしまう事もままある。
つまり 「 言葉は見た瞬間自動実行されるバイナリみたいなもの。 」というのは、キャッシュを使ってるというだけのことだ。ちゃんとコンパイルし直せば、キャッシュされた意味ではない意味で実行される。何度コンパイルしなおしてもキャッシュされた意味と変わらないなら、それはその文章が解析できてないか、あるいは真理が語られているのだから真摯に聞けばいい。
(@801)
@ 手動トラックバック(笑):
関係ありそうなrefererが送られて来たので、手動トラックバックしてみるテスト。 100文字だろうが2000文字だろうが、自分の文の意図が誤解されたら「読み取れない読者が悪い」とは思わない方がよい
2002年12月03日(火) [過去の今日]
#2 xmmsとID3v2
一日の経験を元に、問題点をまとめてみた。
まず、ID3v2のUnicode文字は、単純にUnicode(UTF-16, UTF-16BE, UTF-8)でエンコードした文字列をいれればいいというわけではない。それぞれのコードに対応した文字コード指定子が必要だ。なのでxmms側できちんとUnicodeのID3v2に対応しないと読み込めるはずが無い。
現状のxmmsのjpパッチは、単純に一つ一つのタグの文字コードを変換するだけで、それ以上のことはしてくれない。
ついでに、ID3v2は2.2, 2.3, 2.4とそれぞれバラバラの規格であり、どれがデファクトスタンダードと言えるのか不明である。
ということで、ID3v2を使うならlatin-1でエンコードしなくてはならん。つまり基本的なASCII文字しか使えない。これは困る。非常に困る。どーすんべ。
@ 現状での対応:
一応、Windowsの世界ではShift_JISなID3v2が出回ってるらしいし、ツールもShift_JISで書き込んでるようだ。そしてMacユーザの友人に確認してもらったところ、一応iTunesでもShift_JISのID3v2を読み込めたという。
ということで現状ではShift_JISのID3v2がもっともポータビリティの高いやり方ということになるので、そういう方向で行こうかと思ってたのだが、今まで俺が突っ込んできたShift_JISのID3v2は、他の環境でまともに読めなかった。しばらく悩んでたのだが、「理由も分からず」うまく行ったので、まあそれはそれでよしとする。
sub tag { $mp3file = MP3::Tag->new($file); $id3v2 = $mp3file->newTag("ID3v2"); # $id3v2->add_frame("TIT2", jcode($tag{title})->sjis); # $id3v2->add_frame("TPE1", jcode($tag{artist})->sjis); # $id3v2->add_frame("TALB", jcode($tag{album})->sjis); $id3v2_title = jcode($tag{title})->sjis; $id3v2_artist = jcode($tag{artist})->sjis; $id3v2_album = jcode($tag{album})->sjis; chomp $id3v2_title; chomp $id3v2_artist; chomp $id3v2_album; $id3v2->add_frame("TIT2", "$id3v2_title"); $id3v2->add_frame("TPE1", "$id3v2_artist"); $id3v2->add_frame("TALB", "$id3v2_album"); $id3v2->add_frame("TRCK", $tag{track}); $id3v2->write_tag(); }
上記は俺の使ってるID3を突っ込むスクリプトの一部だが、コメントされてる部分が以前のやり方だった。このように修正してからは、なぜかうまく他の環境でも読み込めるのだ。理由がさっぱりわからんが……。
(@729)
@ 訂正:
上記の修正コードは意味無いようだ。これでも読めたり読めなかったりする。もうわけわからん……。
(@859)
#1 xmms
いつからか知らないが、素のままでUTF-8のID3v2を表示できるようになってた。ということでjpパッチいらねーな。UTF-8のID3v2に書き換えるスクリプトを書こう。
(@722)
@ こんなネタで徹夜してしまう俺も俺だが:
どうやら幻だった模様。jpパッチを当てたxmmsでutf8で埋め込んだid3v2タグをv2禁止で読み込み、さらにShift_JIS to EUC-JP変換をかますとアーティスト名とアルバム名がくっついてしまうが、読み込める。アーティスト名はUnknownになり、本来のアーティスト名はアルバム名の頭に入る。アルバム名は文字数制限があるらしく、途中で切れる。
WindowsユーザやMacユーザに見てもらったときも、まったく同じ位置でアルバム名が切れていたことから、id3v1として読み込まれたのであろう。ということは、俺の埋め込んだid3v2タグ自体にも問題がありそうだ。しかしライブラリ任せなのでようわからん罠。
(@921)
@ ふと気付くと:
今までShift_JISで突っ込んでたID3も、 Windows Madia Player 7.1 ではまともに表示されない。やっぱUnicodeへの移行は必要なんかなー。
(@389)
2001年12月03日(月) [過去の今日]
どうもこれを読むと、
大阪府警 の
吹田警察署 は、かなりの無能の模様。吹田警察署としか書いてないけど、他に無いよね?
この無能ぶりは怒りを通りこして笑うしか無いですな。引用しつつ、作者の突っ込みと併せて、狐志庵からも突っ込みをいれましょう。
吹田警察には今までこのような事例がなかったので、ノウハウが全くない。他の警察署にも聞くことはできない。(「どんな事件でも最初は初めてと違うの?」と心の中でツッコミを入れました。)
ノウハウが無いなら、持ってる所に聞くのが普通の判断じゃ? 単にめんどくさいだけ? そんなに仕事嫌い?
ヤフーへの連絡の仕方がわからないので連絡できない。(「そんなん、警視庁に聞いたら?」と心の中でツッコミを入れました。)
連絡の仕方がわからない? そんな馬鹿な。 Yahooの企業情報 には、ちゃんと住所もかいてあるし、マップへのリンクもあるぞ? そこに行くなりなんなりすればいいんじゃ? やっぱりめんどくさいだけ?
出品物が盗品という証拠がない。証拠がないと警察は動けない。(「証拠を探すのが警察とちゃうのん」と心の中でツッコミを入れてみました。)
証拠が無い? ほぼ確実な疑惑があるというのに、証拠が無ければ警察は動かないわけ? 確認すらしないの? そりゃバイクの窃盗やら万引やらが無くならないわけだね。そんなにお仕事めんどくさい?
出品者が窃盗の犯人とは限らない。へたをすると人権問題になる。(「でも、盗品を出品してるんやから、本人に聞いてみたら?」と、またまた心の中でツッコミを入れました。)
善意の第三者の「可能性がある」ってだけで動かないの? 警察の活動って市民が協力する義務があるんでしょ? 善意の第三者も市民じゃないの? そんなにめんどくさいの?
神奈川県警 も相当なもんだったけど、肩を並べるね。それとも警察ってみんなこうなんだろうか。
企業が被害者になる著作権問題 やエロ画像には目を光らせてるくせに、個人の被害にはまったく目もくれない。警察がこんなんで、なにが世界一治安のいい国か。外国人の流入と共に治安が悪化してるところを見ると、過去に治安が良かったと言われたのは警察が優秀なんじゃなく、日本人が犯罪をあまり犯さないだけだったんじゃないのかとすら思えて来る。目を光らせるべき所を間違えてるんじゃないのか?
とりあえず、
愛知県警は優秀 であるようだが。
(@965)
@ ていうか:
サイバーポリス なんてもんがあるんじゃん。なにやってんの、こいつら?
(@19)
#1 ふと思って
CSS2で規定されてるtext-shadowを、この日記のタイトルに付けてみた。でも、Mozilla 0.9.5やIE6では効果が出ないね。これじゃ記述が正しいかどうか不安になるね(笑)
ということで、誰か影付き文字になってるよーって人がいたら、教えて下さい。
(@954)