2005年 10月 01日

寝すぎ @crossfeeder

寝すぎっつうか暇すぎだけどあらゆる事に対してやる気がないので fb2k に DSP 入れて遊ぶ。

とりあえず Crossfeed (ヘッドフォンの頭内定位緩和) + フラットにするインパルス応答 やってみた。結構おもろい。エコー (BURGER NUDS) とか聞いてるとハモってる声が完全に分離する。新鮮だ。わらい。REMINDER (ストレイテナー) も時々ドキっとする瞬間が。いやこれおもろい。想定外におもろい。

頭内定位緩和の効果はそんなに感じない。ON/OFF 切り替えると音が遠くナルナァとか思うぐらい。ドラムがいろんなところから聞こえるのは違和感かもしれない。

あと 4Front Headphones Plugin とか試そうと思ったけどインスコすると常駐するので却下。HRTF stuff は必要なファイルがダウンロードできなかった。

HRTF のアレは http://recherche.ircam.fr/equipes/salles/listen/download.html からダウンロードできた。で、使ってみたけどイマイチよくわからん。音質が激しく落ちる気がするんだけどコレ。

Crossfeed はずっとヘッドフォンで聞いてても疲れにくくなっていいかもしれない。

GDHM の公式サイトつかえねぇ

いつの間にか Fx でも見れるようになっているのはいいとして、なんかこう情報があまりになさすぎだよね。ステファブの公式でオムニバス収録知るとか意味わからないよね。

ハイラインレコーズから 10-19 発売のオムニバスに微笑とメロディーが入るらしい。っつっても微笑とメロディーは既に CD に収録されてるけどさ。他のアーティストが殆ど知らないから欲しいなぁ。下北沢とおいなぁ……

2005年 10月 02日

CROSS†CHANNEL

移動(謎

少し前にやったんだけど終わった後にじわじわと面白い。俺ネタバレとかよくわかんないんだけどおそらくこれはアレなのでやってない人かつやる予定の人は読まないほうがいいはず。

いきなりですが、太一は最後にもとの世界に戻ったと思ってる。電波が届いていたってのは世界が繋がっているってこと。んでB世界はめでたく太一が分解・再構成される前に終わったわけだけど、ラジオを通して七人が太一を間接的に観測していたおかげで戻ってこれた。という感じ。最後の七人はB世界の七人。世界がなくなってしまうのでお別れをいいにきた。その時点ではまだ太一はB世界。お別れがすんだ後、A世界にもどる。希望的すぎですかね。

なぜ (何千回もループして) 安定していたB世界が壊れたか。もともと太一たちがB世界にきて、一人目を送還するまではA世界は止まっていたか、B世界と一緒にループしていたはず。一人目を送還した時点で、どちらの世界も同時に動き出している (B世界は分解・再構成がされているけど) 。最後の送還が終わり、太一が一人になった時点で、B世界は完全な不安定 (謎) になり、あとはタイムリミットに向けて崩壊していくだけになった。みたいな?

一人になった時点、というか、太一は人間になったときにたぶん多世界観測者としての明確な能力を失っているので、そのせいで不安定になったのかもしれない。

「多世界観測者としての明確な能力」というのは、好きなように観測できるということ。太一はそもそも完全には持っていない。普通の人間も一応多世界観測者だけど一切好きなように観測できないので多世界観測者と呼ばない。呼ぶ意味が大してない。

七香は母親だけど、もちろん母親なんていないわけで、あれは太一の幻想。太一は多世界観測者だったけれど、本人は気付いていない。無意識で作られていた他世界を見る存在が七香だった。だから七香は祠についてや、B世界の神隠しについて知っていた。

多世界を観測したものは多世界に存在できるっていう話ですけど (これを肯定したうえで)、A太一が多世界観測者ならB世界にも太一は存在しているはず。んで、ソレB太一?っていうは間違いと考える。A太一とB太一は別人。A太一はA太一のまま多世界を観測している。いってしまえばA太一から見た七香がB世界でのA太一。

あと、祠は祠自身が観測者。別に人間が観測者である必要はない。祠は別の世界も完全に意識しているため固有の時間を保てる。太一は別の世界を意識できていないのでループに巻き込まれている。これはちょっと無理がある説明かな。

どうでもいいけど、別世界は完全に別になっているわけじゃなくて、すぐ目の前に重なっているようにして存在しているので、見方を変えるだけで世界を移動できる。見方を変えられるだけで世界を移動させられる。

重なっているので、ある二つの世界をそこに見たとき、まったく違わない部分があったらそこは重なっているようには見えない。差だけが浮き彫りに見える。だから世界の一部分だけが分岐しているように見える。世界は分岐するんじゃなくて最初からそこにある。タイムトラベルについても同じ。最初からある「自分が自分の両親を殺す」過去はそこに既に存在する。これはもともとの過去じゃない。タイムトラベルによって分岐され、生成されたわけでもない。時間を戻っているわけじゃない。過去に見える可能性の一つに移動しただけ。

一ヶ月ぐらい前にクリアしたやつだから細部をよく覚えてない。どっかが前提からおかしそうだ。わらい。

七香でぐぐるとクロチャが2位だな。さすが七香。七香いいよ七香

SAITAMA-HA7 +

ときどき電源ON時のポップノイズがとれないのでリセットICの出力に 100μF 入れてみた。今のところよさげ。最初なんとなく 10mF (10000μF) でやってみたら立ち上がりに10秒ぐらいかかった。LED壊れなかったのはなかなかアレだ。

THE PLUG でノイズ確認してみるとそれなりにノイズがある。ボリューム最大にするとハムノイズがかなり聞こえる。普通のヘッドフォンだとあんまり気にならないのでとりあえず放置。どこ動かしてもあんまり変わらないし……

Ruby VIPPER

2005年 10月 03日

IRC の MODE をパースするのがめんどい

寝たり起きたりするうちになんとなく実装したのがソレっぽく動いた。睡眠回数が多いほうがアイデアが浮かぶに違いない。

positive_mode = []
negative_mode = []
mode = positive_mode
arg_pos = 0
message[1].each_byte do |c|
case c
when ?+
mode = positive_mode
when ?-
mode = negative_mode
when ?o, ?v, ?k, ?l, ?b, ?e
mode << [c.chr, message[2+arg_pos]]
arg_pos += 1
else
mode << [c.chr, nil]
end
end
mode = nil
# when message is ["#chokan", "-o+v", "chokan", "chokan"]
p negative_mode #=> [["o", "chokan"]]
p positive_mode #=> [["v", "chokan"]]

うっさい

reread memo

ざっと読み直すと同じ事を何度も何度も書いていることを気付かされる。想像力とヒーローって言葉が多い。実際今も俺はこの二つを非常に重要だと思っているけど。

CSS をテーマにするのはいいけれど @tDiary

構造が気持ち悪い。とりあえず tDiary の話。はてなにも言えるけどはてなはソースを変えられない時点で「諦め」があるので論外。

tDiary には CSS によるテーマ機能があって、(たぶん) それがウリなんだろうけど、そのせいで構造が変えにくい。「変えにくい」ってのはテーマを使いたいからでなく、スキンファイル (構造を決定するファイルってことにしてください。CSS は含みません。) が難読になっていたり、プラグインの吐くソースがキモかったりする。「どうせテーマを使ってもらうんだから構造は決めうち。スキンファイルは開発側が編集できればいいや」みたいな。

俺が tDiary を使っていたとき、そういう気に入らない構造の部分をざっくり修正して使っていたんだけど、バージョンアップしようと思ったときに死んだ。そしていろいろあって tDiary を使うのをやめた。使うのはやめたけど ML は読んでる。なんとなく。

少し前に「form 要素直下に input 置くと validator に怒られるので div で囲う」みたいなメールが流れてた。あはははって感じ。

誰もが納得できる構造にするのが一番いいんだけどそれは難しい。だから、スキンファイルをシンプルに。変なソースがあってもユーザが修正できるように。スキンファイルを編集しても別なところでエラーがでないように。バージョンアップのときにスキンファイルを変えなくてもいいように。

ちなみに「誰もが納得できる構造」であれば CSS によるテーマってのはすごく素敵なもんなんだよなぁ。というかおかしいんだよ。「誰もが納得できる構造」って何なんだ。

まぁでも、こんないちいちキモイ構造がどうとかいうのは strict ヲタクぐらいなもんだろう。

そもそもカテゴリが違うといえど blosxom はよろしいな。構造?なにソレ?ていうかボク HTML なんて知らないよ、みたいな。バージョンアップしねぇじゃんとかは禁句らしい。

放任したほうが楽ちん。やりたい人は tDiary 互換フレーバーとかあるしなぁ。よくわからんセクションになってるのは俺の頭が悪いうえに今眠いからです。

2005年 10月 05日

ART-SCHOOL 映像集?

出るのがオフィシャルに告知されたけど、PV は何が収録されるかなぁ?

今度は「ままならない」

やれやれ については再構築されて慣れたのだけど、今度は「ままならない」の意味がうまくとれなくなった……「ままならない」っていう語感は違和感がない。「ままならない」の意味が唐突に理解できなくなった。うむむ。ままならないなぁ?

Meta*Headphone-Girls の CSS

新しい CSS を適用。ATH-W1000 をイメージして赤っぽく。

今までの CSS は昔書いたやつの流用だったのでちゃんと書いた。

Opera8.5 がなんかやたらぶっとんだ計算をしていて困った。のりさんCSS_Hacks を教えてもらい、CSS3 media queries を使うことに。このハックはいずれ Opera 以外のブラウザで表示が乱れるハックなので使いたくなかったけど……

ath-w1000.css。ファイル名のとおり ATH-W1000 イメージです。なんか色合いがスキなので。

デザイン自体は学校の講義一個潰して集中して作ったからなんともいえない感じに……しかも広いほうの端末室 (謎) で作ってたから覗かれていたかもしれない。覗かれていたらバレるかもしれない。何かが。

ほんとは、、、、へっどふぉんした、、、おんなのこの、、、しゃしんが、、、、つかいたかった!!!! (この写真男の子だよね? 外人よくわからん) とりあえず、だれか撮って Creative Commons で公開してけれ

ヘッドフォン娘 で検索すると2位にランクされるようになった。Cool URI のおかげ?

狂い咲く群青色の花模様

SI・GE・KI / ZAZEN BOYS

クロチャ もっかいやろう。

2005年 10月 06日

Audioscrobbler :Not all request variables are set

いつのまにか Submission failed: Plugin bug: Not all request variables are set とか出ていた。サッパリ意味がわからないのでフォーラムを見てみると Submission failed: Plugin bug: Not all request variables are set - Foobar2000 - Last.fm とかいうスレがたっていた。んでその中にある ThePsycho 氏の投稿 の通りやってみたら、なおった。

久しぶりにグブっとツボに

超振動ブーツ 殆どの絵が腹にくる。とか思ってみてたら一枚ヘッドフォン絵を発見した。運が良い。

2005年 10月 07日

寝るか寝ないかのボーダー

音楽かけないで寝るとかなり高い確率で金縛りにあうというのを前に書いた気がする。金縛りっつうかいきなりレム睡眠的な睡眠導入。目をつぶった瞬間に体がずっしり重くなって、目を開けると部屋、まったく動けない。動け!!と何度か命令すると体が軽くなる。命令するというより勝手に命令される。

そんなこんなで眠れない感じのときに、別のことを想像しつつ目をつぶったらその場面そのまんまに自分が立っている状態になった。やべ、おもろいとか思いながらいろいろ (とても書けない) やってみたらいつのまにか寝てた。

状態を維持するには体が重くなるのを我慢しないといけない。ただし体が軽くなる感じがすると完全に寝てしまうのでぎりぎりで起きるように。うまくやれば1分ぐらい楽しい夢が見れる。結構バランスが難しい……

2005年 10月 08日

可哀そうで仕方ない

いやほんとに。見てるこっちが切ない。

for の括弧の中での演算子

俺は演算子の前後にスペースを入れない書き方が大嫌いなんだけど、for の括弧の中では例外的にスペースを入れないようにしていた時期があった。なんとなくまとまりのあるほうがいいかなぁって思っていたから。

でも最近 Javascript で var をちゃんと使うようにしてからはその変則的なルールをやめた。

for (var i=0; i<100; i++)
alert("pgr");
for (var i = 0; i < 100; i++)
alert("pgr");

var の後にはスペースがもちろん必須なわけで、そのあとに続く部分でスペースを空けないと var だけが浮いてしまう感じに見える。気持ち悪いのでスペースをあけるようにした。var とかない C でもスペースをあける。ほとんど同じ文法なのにスペースあける場所が違うとかは論外だからね。

pre, code の色づけ

Color code のリファクタリング (というほどでもない)

やっぱり遅いので処理を見直し。なんだけどあんまりできそうなところがなかった。ちゃんとプログラム書ける人が見ればありそうだけど。

StringScanner 内 scan メソッドの無駄処理。作ったときから気になってた部分。scan メソッドはかなりの回数が実行されるので改善すればそれなりに効果があるはず……だけどあんまり変わらなかった。

// #改善前 2回正規表現マッチさせてる
var m = this.string.substring(this.pos).search(regexp);
if (m == 0) {
m = this.string.substring(this.pos).match(regexp);
// #改善後 一発で
var m = regexp.exec(this.string.substring(this.pos));
if (m && m.index == 0) {

ECMAScript の仕様を読み直してみたら Regexp.prototype.exec はマッチした位置をちゃんと設定してくれるらしい。はやく気付けと。

このスクリプトで有利なのは Opera8.5。実行途中でもちゃんとスクロールが効くし、上から順番に色が変わっていくのがわかる (遅いマシンでもストレスを感じない)。ただし速度は最悪。対して Firefox や IE は速度は Opera の数倍だけど実行中完全にブラウザごと固まる。ブラクラ候補。

かかった時間を pre や code の title 属性に入れてみることにした。[Time-Spend:66ms] とか出るよね? Perl がもっとも遅い (例のページの Perl の部分が Opera では10秒近くかかる)。なぜなら正規表現の数が多いから。同じクラスのやつを一つの表現にまとめれば早くなるだろうけど可読性が最悪中の最悪になるので見送り。

XML と Io はそこそこはやい。これは両方とも正規表現の数があんまりないから。XML はそれに加えて /[^<>\s]+/ を OTHER として読み飛ばしているのでループ回数が減ってる。

つーか、こんなことしなくても普通に正規表現だけかけて置き換えすればいいじゃんって話な気がしてきた。だめだこれ。

2005年 10月 11日

サンダーボルト

今日見た夢。俺は女性だった。21歳。ちょっと前に書いたやつの効果?

  • サンダー
  • 小麦粉
  • 乳鉢
  • 日本地図
  • 自転車
  • 監視
  • 見つかる
  • 近道

www.bumpofchicken.com

少し前にまた少しデザインが変わってたのは知っていたのだけど、ふと今日になって「 HTML ソースがまともな気がする」と俺の近くを浮遊している妖精さんが言ってきたので見てみたら、なんか普通によかった。

accesskey やら title 属性を活用しているし、CSS を切ると必要以上の画像はなし。デザイン的なものはちゃんと CSS に分離されてた。定義リスト使ったほうがよさげな部分があったりするけど普通的には関係ないところだろうなぁ。だがしかし、CSS ファイルの書き方は汚かった(謎

PLAN DE SENS っていう会社がデザインしているようだけど、コーディングもやってるんだろうか。謎だ。同じ会社の別のサイトを見てみたけど DreamWeaver で作られたと思わしき似非 HTML 4.01 なサイトばっかりだし、そもそも会社自体のページは Flash のみだし……

割とよく見る一般サイトがこういう風になってると感動しちゃうね。Valid であるぐらいはほんとは当たり前なのにね。

マイナーアーティストのウェブサイトとか作りたいなぁ。なんかこうかっこいいじゃん。

Last.fm webservice

Audioscrobbler.net Web Services

気が付けばちゃんと profile 系のデータも提供されるように。でもさー、なんで Unix Time Stamp なんか出力するかなぁ。もったいない。ちょーもったいない。これのせいで直接 XSLT に入れても日付表示できん。いやできるの? 計算すればできるの? どんだけ面倒くさいの?

なんか微妙にズレてんなー。

どうでもいいけど Last.fm の tag 機能はいまいち使いづらいよっていつも思う。

あ、あと名前空間はつけて欲しいって思った。

YP-C1 ファーム入れ替え

Own your risk. の神ファーム (2.200) を入れてみる。

CD からアップデータをインスコ。update.txt に従い、本体の電池を抜いて、Play 押しながら USB 接続。新しいハードウェアのウィザードが起動するので Microsoft なんちゃらなドライバインスコ (インスコしていいかわからなくてハマった)。さらに Play 押しながらアップデータ起動してアップデート&フォーマット。

  • フォントは読みやすく。
  • 似非クロスフェード機能がなくなった。おかげで最初が切れなくなった。
  • USB はずしたあとになぜか起動されるのがなくなった。
  • SRS WOW - なんか気持ち悪い (ぬるぬるする(謎) のでたぶんあんまり使わない。

授業中は IRC に頭を使わないように

今日気付いたら後ろに教授が立ってたpq

2005年 10月 15日

アクセス解析で得る解像度の悪夢

あれってブラウザの表示領域のサイズじゃないんだよね。最近は 1280x1024 な解像度のモニタが多いけど、最大化してみてるやつなんて何割もいない気がする (あくまで想像)。だからアクセス解析で見られる解像度の割合なんて殆どあてにならないし、ましてはそれを参考にして 1280x1024 に最適化しました☆なんてやっちゃだめだ。なんの意味もない。

俺の場合表示領域を 900x600 ぐらいにして見ていることが多い。サイドバーを常時表示しているし、背面にある IRC クライアントを見たいのでこんな感じに。横幅広すぎると読みにくいしね。だから 1280x1024 推奨とか書いちゃってるページはよく横スクロールを求められる。やれやれ

あ、そもそも勘違いの可能性が。

っていうか RSS で読んでるサイトのトピックに「最適化しました☆」ってのがあったからなんとなく書いてみたんだけど、RSS で読んでるんだから関係ないな。頭おかしい

Io and Ruby

最近 Ruby 関連を経由して Io language を見ることが多くてなんかうれしい。別に Io 使ってるわけじゃないんだけど、好きだから。

そうそう実はメガネ重要

ある日、爆弾が落ちてきて / 古橋秀之

とか友達に借りて読んでみた。

友達にはいろいろ借りまくっていて、この本についてだけ書くのは本に対して不平等だろ、とか思いつつ、まぁ、書くのにはそれなりの理由があるんじゃないかな、って誰かに聞いてみたりするんだけど、それは置いておくことにするよ。

某日記で時間系の話、と紹介さていて、しかも友達に聞いたら持っていて、なおかつ、「次会うとき貸すっていっただろ。このカスデコ野郎(意訳)」とか言われてそれなりに期待していたんだけど、期待していたわりに読んだ後気持ちいい (普通は期待ってのは裏切られるものなのだ) ので書くことにしたんだ、たぶんね。

「時間系」についてはあとがきで説明があるんだけど、実際それを感じるのは「むかし、爆弾がおちてきて」と「三時間目のまどか」ぐらいだ。他人の時間と、自分の時間との関係という点では全部だけど、それを言い出すと殆どの物語や小説は時間系になってしまうのでアレですね。

余計な設定を出さないで、ちゃんとぶっ飛んだ設定に必然性みたいなものを見出せるのがよかったと思う。こういう系の小説であんまりそういうの見かけない。

好きなのは後ろの三つ (出席番号0番・三時間目のまどか・むかし、爆弾がおちてきて) かな。とか思っていると、やっぱ俺はハッピーエンドが好きなのか?とか思っちゃうね。思ってるより俺は 単純なようだ。

2005年 10月 16日

ツタヤにて

前にツタヤにいったら音速ラインがちょっとだけピックアップされてて「へぇ~」とか思った。

少し前にツタヤいったらつばきがちょっとだけピックアップされてて「へぇ~」とか思った。

でもここで俺は思ったんだ。なんでメレンゲがピックアップされてないんだろう?って。ちなみに他にもマイナーアーティストがいくつかピックアップされてたけど、知っているのが音速ラインとつばきだけだった。

そして今日なんとなくツタヤいったら、メレンゲがちょっとだけピックアップされてた。軽く笑った。やっぱ同じクラスタなんだなぁ。っていうかこんなどうでもいいことが思い通りになってもなぁ……俺はもう一回小学校からやりなおしたいのに!

2005年 10月 17日

夢:F言語

  • レンタカーで公園を疾走
  • メガネの女性
  • F言語
  • 風呂記述言語
  • C
  • importNode().***().***();
  • ホテル
  • 営業
  • 失敗

ナレーション付神様視点の夢だった。つまり俺が俺の視界の中にいた。

MetadataManipulator

icho にデフォルトで搭載される予定らしい MetadataManipulator について。

とりあえず基本的に icho に依存しないので自分のサイトで実験することにする。Javascript 入れていれば左上になんか出てるはず。たぶん。

どこまで決めうちしていいか考え中なので、いまのところ MetadataManipulator 自体はソース生成しかやってない。ピョコピョコさせたり、CSS 的に欲しい要素を補完するのも外側。

link 要素の出現順に何も考えずにソース生成すると CSS が適用しずらいのでいくつか MetadataManipulator の外側で修正してある。内側に入れるか悩む。入れるんだろうけどどうやって入れるか悩む。

  1. あんまり役に立たない。next, prev はいいけど……
  2. in-page heading が役に立ちそうだけどうまいことナビゲーション生成するのがめんどい。汎用性云々。ながったらしいし。h2 だけ抽出とかにすればいいのか。
  3. 実装が定まらない。クラスっぽくするかモジュールっぽくするか。
  4. マルチリンガルじゃない。"in-page heading" っていう文字列を埋め込んでる。"ja-jp,ja;q=0.8,en-us;q=0.5,en;q=0.3" とかいう文字列を優先順位高い順に配列に突っ込む関数は書いたけど、どの時点で実行するか迷う。
  5. あんまりときめかない。

# IECSS の問題があるけど本質じゃないのでとりあえず放置

var mmul = document.getElementById("MetadataManipulator-Local-RelatedLinks-Dd").childNodes[0];
var fill = function (linkName) {
var ret = getElementsByClassName("MetadataManipulator-" + linkName, "li", mmul);
if (ret.length < 1) {
ret = document.createElement("li");
ret.className = "MetadataManipulator-" + linkName;
ret.appendChild(document.createTextNode(linkName));
} else {
ret = ret[0].parentNode.removeChild(ret[0]);
}
return ret;
}
// 順番を保証・これ以外の rel は copyright の次以降に。
var standard_link_rel = ["start", "prev", "next", "contents", "index", "glossary", "help", "copyright"];
var links = {};
standard_link_rel.each (function (i) {
links[i] = fill(i);
});
standard_link_rel.eachWithIndex (function (i, index) {
mmul.insertBefore(links[i], mmul.childNodes[0+index]);
});
with (mmul.parentNode) {
style.left = "-201px";
if (document.all && document.attachEvent) mmul.parentNode.addEventListener    = document_addEventListener;
addEventListener("mouseover", function (e) {
style.left = "0px";
}, true);
addEventListener("mouseout", function (e) {
style.left = "-201px";
}, true);
}

ながったらしい CSS との組み合わせです。see base.css

alt=""

alt="" になるような画像の存在意義がわからない。飾りとかは CSS の範疇だろうし、他に何かあったかなぁ……

2005年 10月 18日

Fx x CPU 100%

for(;;) window.status = ""; がブラクラ。Firefox 1.0.7 と IE6 にて。Firefox はステータスバーを書き換えを許さないようにしたら死なない (スクリプトが遅い警告が出る) けど、他にもあるんじゃねぇの的な。

あと for(;;) alert(""); もある意味ブラクラ。止める方法が存在しない (するのかもしれないけど見つけられない)

Javascript 実行中ブラウザが止まるのはアレだなぁ? Gecko だと仕方ないのかなぁ? まぁ IE もだけどさ。

どうでもいいし関係ないけど俺は Bugzilla-jp が苦手だ。なんか雰囲気がおかしく感じる。何を基準に「おかしい」なのかはさておき、バグ報告したくない。報告しただけで怒られそう。ってか前報告したときなんか怒られたし。INVALID とか言われたとき「ハァ?」とか思ったと同時に諦めた。まぁそのときは他の人がフォローしてくれたけどさ。なんであんな「お前の報告が間違ってる」っていう感じをヒシヒシと出してくるんだろ。まぁどうせ100%俺の考えすぎなんだろう。被害妄想で申し訳ありません。

あーちなみに while (true) じゃないのは for (;;) のほうが可愛いから!

Ruby's eash on ECMAScript

ECMAScript でイテレータ なんてのを書いたことがあったけど、これ、each の中で break ができないのでちょっと気持ち悪い。ちまたで時々聞く ruby.js はどうやって解決しているんだろう?って思ってみてみたけど、特に何もしてなかった。つーか ruby.js 見つけるのが割りとめんどかったよ。

いろいろ考えたけどとりあえず動いたのをメモっとく。

function Array_each(func) {
try {
var context = {
escape : function () {
throw "break";
}
}
for (var i = 0, len = this.length; i < len; i++) {
func.apply(context, [this[i]]);
}
} catch (e) {
if (e != "break") throw e;
}
return this;
}
Array.prototype.each = Array_each;
[1, 2, 3].each(function (i) {
if (i > 1) this.escape();
Debug.dump(this);
});

Function.prototype.apply() の第一引数は関数の中での this なのでそれにメソッド設定してみる。ループから抜けるのに try - catch。投げるオブジェクトは "break" という文字列。"break" 以外の場合は例外を投げなおす。

ほんとはコンテキストの変数オブジェクトに直接関数を突っ込めるのがいいんだけど、ECMAScript では変数オブジェクトにアクセス方法はない (Activation オブジェクトは変数の実体化を目的とした変数オブジェクトとして使用される。Activation オブジェクトは純粋に仕様のメカニズムである。 Activation オブジェクトへのアクセスは ECMAScript プログラムには不可能である。 メンバ (変数) にはもちろんアクセスできるから eval つかえばいいけどスマートとは思えない。) のでこんな感じ。Global (window) は使いたくないし……

あとは eval(func.toString().replace(/\{/, "\{ var escape = function () { .. };")) とか?

メレンゲ x 最終兵器彼女

昨日なんとなくメレンゲのサイト見たら、なんか違和感を感じる文字列あって、注目したらSINGLE「すみか」のリリースが決定しました。来年1月下旬公の映画「最終兵器彼女」の主題歌です。とかなんとか書いてありふきだす。ちょ、おま的な何か。

ていうか実写なのね。最終兵器彼女殆ど読んだことないけどさ、実写って可能なんだ。グロそうなんだけど

NHK FM - ミュージックスクエア ART-SCHOOL

はじまった。ラジオで ART-SCHOOL ははじめて。今回はメディア露出が多い気がする。気のせいか。

木下氏はアレか、風邪もしくは花粉症か。

ファッション経由で髪形 (マッシュ) について言及。わろた。

BLACK SUNSHINE

試聴済みだから特にアレもソレもなく。

ジャケは写るんです。

ダニー・ボーイ

すんごい綺麗

あと10秒での remix は「どうなの」なのか(w

ライブ中にマネージャーが片手で栗むいて食うのか。いや違うけど。

で、終わり。なんか微妙。宇野氏と櫻井氏の話が聞きたいな。謎すぎる。

2005年 10月 19日

Javascript で require もどき・eval の実行コンテキスト

Javascript はファイル間の依存関係を一切書けない。ロードする順番は結局 script 要素の出現順、つまり HTML 依存。どう考えても気持ち悪い。のでどうにかして require もどきを作りたい。

function createXMLHttpRequest() {
return this.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
}
var __LOADED_FEATURES = {};
var Global = this; // this == window == Global
function require(lib) {
if (__LOADED_FEATURES[lib]) return false;
var req = createXMLHttpRequest();
req.open("GET", lib, false); // 同期
req.send(null);
if (req.status == 200) {
// IE ではグローバルコンテキストで実行してくれない。
Global.eval(req.responseText);
__LOADED_FEATURES[lib] = true;
} else {
throw Error("Load Error");
}
return true;
}
require("/ruby.js");
require("/mm.js");

Global という名前のオブジェクトが宣言されてなかったりするので強調をこめて宣言してある。それ以上の意味はないです。window.eval でも問題なし。見たとおり XMLHttpRequest を使って取得し、eval させてみる。

これは Firefox 1.0.7と Opera 8 ではうまくいくけど、IE 6 ではうまくいかない。

IE の場合 eval する部分のコンテキストが変わってくれない。つまり mm.js に var MottoMottoMeidosan = function () { .. } とかいう宣言があったとき、require 関数の変数オブジェクトに代入されやがるので、require のあとに new MottoMottoMeidosan() とか書くと「そんな変数宣言されてません」と怒られる。

解決法なんですが、さっぱりわかりません。誰か助けて。

なんだったら .php にでもして include() でもいいんだろうけど、これは完全に負けだよね(謎

卑怯な解決方法1を発見した。

eval(req.responseText.replace(/^var/g, ""));

インデント依存っていうか副作用がどれだけあるか不明すぎ。

JSAN つかえよバーカ。

JSAN はそもそもグローバルスコープで eval することなんて考えてない。指定したオブジェクトだけグローバルスコープに登録してる。つまり基本的に一個のファイルで一つの固まりしかロードできない。use は必要なのをグローバルスコープに登録するらしい。 DOM 定数とかをグローバルスコープに登録するなら全部 use/export の引数に書けってことなのか?

なんか素晴らしすぎて使いづらいなぁ。特定ファイルを単純にロードしたい。とくにディレクトリ構造を要求するのがなんともいえない。

疑問なんだけど JSAN は 291 行ものコードを最初から書いておけっていうだろうか?

script 要素二つ書けっていうんだったら目的が違うな。モジュールシステムが欲しいんじゃないし。

続きを書いた。

CDs

一回で10k以上使ったのはさりげなく初めてだな、と思った。

  1. Paradise Lost / ART-SCHOOL
  2. grandline / plane
  3. laundry / plane
  4. さよならリフレイン / Prof.Moriarty&Smiley-Todd
  5. BLACK STAR LUSTER / STRAIGHTENER (DVD)
  6. うたかた / 音速ライン

とりあえず Paradise Lost きく。

さよならリフレインのジャケットが素晴らしすぎて悶えるので是非紹介したかったんだけど、amazon にないっぽい。残念。傾向的にはメレンゲの初恋サンセット系。と思いきや公式ページにありましたよっと。

2005年 10月 20日

BLACK STAR LUSTER / STRAIGHTENER

BLACK STAR LUSTER / STRAIGHTENER

衝動買いしたんだけど、これは良かった。

スリーピースでそれぞれがものすごい存在感あるのってホントすごいなぁ。ベースがカッケェとか思った次の瞬間ドラムがッみたいな。ヴォーカルはすごいいい声だし……ストレイテナーかっこよすぎ。

とりあえず、そんな普通の感想はどうでもいいんです。ただの導入です。問題は見ていてふと BURGER NUDS に似てる気がしたことです。少し見た感じスリーピースであること以外はぜんぜん共通点を見出せない。そしていろいろ考えてみたんだけど割と共通点が。

ヴォーカルの声
割とよくある「すごく綺麗な声」ではなくて、少し癖がある感じ。繊細かつ芯があるような声。
曲+歌詞
よく考えてみると「悲しみ」が裏にあるのが多い。それに間接的か直接的かの違いはあるけどファンタジーに通じてる。
ドラムスの髪型
長い。じゃっかんキモい長さ。コーラスで歌うときの感じが内田氏に似ててウケる。

かっこよさはストレイテナー、世界観は BURGER NUDSって感じ。思うに BUMP OF CHICKEN よりも全然近い。BUMP OF CHICKEN は最初のアルバム以外希望的だし。

っていうかですね? 日向氏がぽっちゃりになっててでちょっとびびったよ。BOYS DON'T CRY (ART-SCHOOL) のときは太ってるとは感じなかったんだけどな。

あとすごい楽しそうにライブしてて羨ましい。

この DVD 3k は安いなぁホント。

ROCKSTEADY のイントロはじまって最初の声入った瞬間がすごいぞくぞくする。WHITE ROOM BLACK STAR はじめて聴いたけどやばい……THE REMAINS もやばい。THE REMAINS は買うしかないなぁ。やばすぎる。

買ってよかった……

前書いたかもしれない話さ。STRAIGHTENER.NET は表向き RSS リンクがないんだけど、ちゃっかり link 要素をかいていやがるので Sage で検索してやると見つかりますよ。わらわら。Words のやつだけだけどね。

Paradise Lost / ART-SCHOOL

Paradise Lost

実は発売日はまだまだ先だとか思い込んでた。とりあえず第一印象。

全部綺麗系になってる。優しい白鳥の歌云々はだいたいそんな感じ。前まであった疾走感みたいなのはあんまり感じない。

完全に新しい ART-SCHOOL が実感させられる。Requiem for Innocence を聴いた直後に Paradise Lost を聴いたらかなりギャップがあって戸惑うと思う。全然違う。ぶっちゃけ一回解散して同じ名前で結成した (あくまで再結成ではない) ようなもん。表現だけ若干変わって言ってることは全く変わらんけど。

すごい聴いてて気持ちいいけど、やっぱ BOYS DON'T CRY 以前のほうが俺は好きだなぁ……もっとすごく悩んで、狭い空間で音楽やってる不完全さが良かった気分。ホントはどうだか知らんよ。

それはさておきですよ。LOST IN THE AIR Tony Doogan mix はヤバいと思った。

site-script.js の整理

とりあえず似非 require を使うことに。ミニ JSAN みたいな実装にしといた。変数のリストを取得できないからこれ以外方法がなさげ。まぁ必要なオブジェクトを明示できるから悪いとはいえないんだけど。

function require(__path, __exports) {
if (!__exports) __exports = [];
var __code = (require.LOADED_FEATURES[__path]) ? require.LOADED_FEATURES[__path] : HTTP.get(__path);
(function () {
with (Global) {
eval(__code);
}
for (var __i = 0, __len = __exports.length; __i < __len; __i++) {
Global[__exports[__i]] = eval(__exports[__i]);
}
})();
require.LOADED_FEATURES[__path] = __code;
return true;
}
require.LOADED_FEATURES = {};
require("/ruby.js");
require("/xb.js",   ["document_addEventListener", "document_removeEventListener"]);
require("/dom.js",  ["getElementsByAttribute", "getElementsByClassName"]);
require("/mm.js",   ["MetadataManipulator"]);
require("/code.js", ["markupCode"]);
require("/util.js", ["MessageArea", "ProgressBar", "AccessibilityOption"]);

余計なことをしても使わないので、できるだけ短くすることにした。"Obj.prop" みたいなのも渡せるようにしたやつも書いてみたけど思ったより長くなったので却下した。

HTTP.get とか書いてるけどこれより前にそういうのを書いてある。

さっき気付いたんだけど IE で表示崩れるよね。なんか直す気力がないから放置するよ。別に読めないわけじゃないし。それにともなって MM のテストをいったん廃止

読み終わった特に感想がない本リスト

読んだ順

彼女は帰星子女 / 上野遊
ツンデレ。
護くんに女神の祝福を!7 / 岩田洋季
やりすぎ。
キノの旅 IX / 時雨沢恵一
内容をよく覚えてない。シリーズではポピーの話 (?) が妙に印象に残ってるけど……
紅牙のルビーフルフ / 淡路帆希
いまどき珍しい完全なる王道ファンタジー。ぜんぜんひねらないのもすごいなって思った。

読み始めてみたけど最後まで読めなかった本は書かないぜ。

2005年 10月 22日

やる気あるんだかないんだか

IE で表示崩れていることには気付きつつ、あの例のリンクホバーで margin だか padding だかがぶっとぶバグなわけで、解決方法をバグリストから探して云々ってのがめんどくさくてめんどくさくて……

仕方ないから新しくスクラッチから書き直すか、とか思ってみたりもするんだけど、いやそれむしろもっと面倒くさくなっているよとも思うわけでして、あーしかしそろそろ今の CSS 飽きたなぁとか、なんかグッっとくるテーマが欲しいなぁなんて。なにがグッっとくるんだよって話だけど。

2005年 10月 23日

効率的に「切ない」を実装したい

どういうのが切ないのかを考える。どういう風に表現すれば切ないっぽいのかを考える。ちなみにただのメモだから結論なんて出ていないし、そもそも考えるまでいってない部分だってありますよと。うるせーよ。

切なさがの正体がよくわからないので、正体不明のままにしとく。

  • 伝えたいのに伝えられない。(なんらかの約束が邪魔をする / 自分が素直になれない (ツンデレ))
  • 伝えたのに伝わっていない。(字がかすれて読めない手紙 / 喧騒にまぎれる声)
  • 解決方法がどれも問題を含む。(所謂友達か恋人か)
  • 解決方法がそもそもない。(死んでいく近しい人 / 過去の選択ミス)
  • 自分が無力。(明らかに周りとの差を感じる / 助けてあげたいが助けを求められていない) 広くとると一個上と同じ。
  • 現実と理想とのギャップ。(美しい音楽を聴くとき、絵を見るとき) 上二つとだいたい同じ。

効率的、とか書いたけどまずムリだ。頭痛くなってきた。とりあえず日本語かけるようになれよ俺。な?

ruby-xslt 0.8.2

新しくなっているのに気付いた。 ruby extconf.rb --enable-error-handler (off by default) とか書いてあるのでちょっと期待しつつ。

とりあえず cygwin で make できんので Makefile 修正。OBJS に /lib/libxml2.dll.a /lib/libxslt.dll.a を追加して強制リンキング。exslt ははずす。

いろいろやってみたんだけど、よくわからん。USE_ERROR_HANDLERXML::XSLT.errors が定義されるんだけどエラー起こしても特に何も入ってない。/* this is really quite inelegant */ とか書いてあって苦労してんなぁとかなんとか。

とりあえずさらに really quite inelegant なコードで解決を図る。Ruby 側で…

require '../xslt'
xslt = XML::XSLT.new
xslt.xmlfile = "fuzface.xml"
xslt.xslfile = "fuzface.xsl"
begin
err = STDERR.dup
pipe = IO.pipe
STDERR.reopen(pipe[1])
out = xslt.serve # raise RuntimeError
rescue RuntimeError => e
p XML::XSLT.errors #=> []
if e.message =~ /^(XSL|XML|Stylesheet) /
p e
p pipe[0].readpartial(4096) #=> エラーメッセージ
else
raise
end
ensure
STDERR.reopen(err)
end
__END__
起こりうるエラーたち (grep)
parser.c:53:      rb_raise( rb_eRuntimeError, "XSL parsing error" );
parser.c:59:      rb_raise( rb_eRuntimeError, "XSL Stylesheet parsing error" );
parser.c:65:      rb_raise( rb_eRuntimeError, "XSL Stylesheet parsing error" );
parser.c:84:      rb_raise( rb_eRuntimeError, "XML parsing error" );
parser.c:90:      rb_raise( rb_eRuntimeError, "XML parsing error" );
parser.c:97:      rb_raise( rb_eRuntimeError, "Stylesheet transformation error" );

tests/fuzface.rb の改造。xmlfile= は使うなという警告がでるけどとりあえず放置。$stderr じゃなくて STDERR にメッセージを吐くらしくめんどっちいことをやってる。readpartial は cygwin の ruby が 1.8.3 になったから使ってみた。便利よねコレ

ごちゃごちゃやってみたけど使わない。XREA に入れるのめんどいし……

これでドウダ

class XML::XSLT
class XSLTError < StandardError; end
class XSLParsingError < XSLTError; end
class XSLStylesheetParsingError < XSLTError; end
class XMLParsingError < XSLTError; end
class StylesheetTransformationError < XSLTError; end
alias __org__serve serve
def serve
ret = nil
err = STDERR.dup
pipe = IO.pipe
Thread.critical = true
STDERR.reopen(pipe[1])
begin
ret = __org__serve
rescue RuntimeError => e
STDERR.reopen(err)
Thread.critical = false
message = pipe[0].sysread(4096)
error_class = XSLTError
case e.message
when "XSL parsing error"
error_class = XSLParsingError
when "XSL Stylesheet parsing error"
error_class = XSLStylesheetParsingError
when "XML parsing error"
error_class = XMLParsingError
when "Stylesheet transformation error"
error_class = StylesheetTransformationError
end
raise error_class.new(message)
ensure
STDERR.reopen(err)
Thread.critical = false
end
ret
end
end
xslt = XML::XSLT.new
xslt.xmlfile = "fuzface.xml"
xslt.xslfile = "fuzface.xsl"
begin
xslt.serve
rescue XML::XSLT::XSLTError => e
p e
end

将来完璧な実装になっても消すだけ! これなら使えそう? ごめん嘘。エラークラス云々があるのでそのままじゃ無理。

ruby-xslt on XREA

make がうまくいったっぽいのでメモ。ちなみに数度要望の末 ruby-xslt を入れてもらってある (この過程で別の鯖と違う点があるかもしれない)。でもやっぱり自分でビルドできないかなぁという試行。

#!/bin/sh
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH"
export PATH
ruby extconf.rb #1
#make #2
# test
#cd tests
#ruby fuzface.rb

みたいなのを make.sh として作って保存しとく。ちなみに AddHandler cgi-script-debug .sh してある。念のため一発でやらずに一行ずつ実行させる。

ruby extconf.rb は Permission Denied がでつつも一応通るので問題なしということにしとく。んで、make なんだけど libxml/* が見つからないとかいわれる。しかたないのでローカルの /usr/include/libxml2/libxml を同じディレクトリに転送する。エラー一切なく make が通った。テストもしてみたけど大丈夫っぽい。微妙だけど。

関係ないけど XREA に拡張ライブラリ置くとき怪しいことをすることにした。/virtual/username/lib/ruby/RUBY_PLATFORM を掘ってその中に入れる。ローカルは cygwin なので /virtual/username/lib/ruby/i386-cygwin/xml/xslt.so、XREA は /virtual/username/lib/ruby/i686-linux/xml/xslt.so。んで使う場合は $LOAD_PATH.unshift("/virtual/lowreal/lib/ruby", "/virtual/lowreal/lib/ruby/#{RUBY_PLATFORM}") しとく。もともと XREA 上の RSS パーサが古いのでアレしてコレした感じ。

s63.xrea.com 上で作った xslt.so。ちゃんと動くかは知らない。

ちなみに上のセクションのスクリプトは動かないです。1.8.2 なので。readpartial を sysread にすればとりあえず動きます。どっちでもよさげだから sysread にしとくのが吉か。

2005年 10月 24日

Ruby で XML をまじめに使いたい

標準添付の rexml は軽くやるぐらいなら十分だけど、名前空間関係がちょっと怪しい。今時 XML を真面目に使えないとなるとやばい。

RAA を検索してみると libxml-ruby がよさげなので試してみる。extconf.rb がなんだかしらんが全く通らないので該当部分でばっさりコメントアウト。extconf.rb の存在意義なし!!!

リファレンスの類が見当たらない。要素は ele = XML::Node.new(element_name[, content]) で作るみたい。便利だけど Node っていう名前にちょっと違和感が……属性は ele["attr_name"] = attr_valueDOM 実装を期待してたんだけど違うらしい。getElementsByTagName は Node#find みたいだし (find の引数は XPath なので全然違うが) あーやばい。コンテキストノードとカレントノードの違いを忘れそうだった。Node#find はトップレベルのコンテキストノードにレシーバを設定して云々、でいいのかな。カレントノードが XSLT のものだよなぁ。

名前空間関連はまだ調べてない。libxml だから大丈夫だと思う(てきとう。とりあえず学校へ。眠いっつうの。

2005年 10月 25日

SSH on XREA

SSH ログインの制限緩和うんちゃらがだいぶ前になってたわけでして、できるなら CGI 経由で make なんてしたくねぇよとか思ったのでいろいろとやった。未完成。

なんかサッパリよくわからないけど XREA に SSH でログインしたときは ~/.profile が実行されるらしい。~ は /virtual/username。そこで次のような .profile を用意

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH"
hh=$HOSTNAME
uu=$USER
col=32
TITLEBAR='\[\033]0; \w\007\]'
PS1="${TITLEBAR}
\[\e[${col}m\]$uu@$hh \[\e[33m\]\w
\[\e[${col}m\]\$\[\e[m\] "

PATH 通せば ruby とかが素で通る。これ自体は CGI 経由と同じ。残りはどっかからパクったオマケ。カレントディレクトリ見えてないと嫌よ症なので……

しかしこれで make しようとしても、collect2: cannot find `ld' とかでやがって通りません。ld -v は通るんだけどなぁ? 小プロセスに環境変数引き継がれてないとか? わかんねぇ。ほんとわかんねぇ。

lowreal@s63.xrea.com ~
$ echo $PATH; ruby -ve "p ENV['PATH']"
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/rbin
ruby 1.8.3 (2005-09-21) [i686-linux]
nil

なぜ。

2005年 10月 27日

名前バトン

哀さん から (http://mixi.jp/view_diary.pl?id=48756398&owner_id=9740)

ハンドルは何?
さとう / 砂糖 / 佐藤 / cho45
ハンドルの由来は?
さとう
RO にて一時期の間 SyrupNg をキャラ名に (俺はよくキャラを消すので数字をインクリメントさせながら使ってた) していた。固定パーティ (まだギルドが存在していない) だったヤツに「syrup って何?」と訊かれたとき「砂糖水みたいなもん」とか答えたせい。その後砂糖汁だかなんだかを経てありがちな名前の落ち着く。母親の旧姓が佐藤なので特に違和感もなく。
cho45
C12H22O11 を纏めただけ。ユニークっぽいのでユニークさが必要ならこっちを使うことにしてる。
過去のハンドル
素で覚えてない。本名を省略したやつを使っていた (いる) けど親父とかぶるのでできるだけ使わないようにしてる。
本名は?
非常に良くある苗字と、割かしよく見かける名前の組み合わせ。本名でぐぐると 508 件ヒット。巡回リストに同姓同名がいる気がする。漢字はわからんけど。
ハンドルと本名どっちが好き?
ハンドルのほうが好き。本名は響きがあまり好きじゃないし、由来 (過去の政治家の名前) も好きじゃない。といってもハンドルは苗字っぽいし名前が不定なので比べるのが微妙だけど……
過去あだな
苗字一文字とって「っさん」。あと幼稚園ときは「ひーくん」だった。やばいキモイ。
一番大切な人に何と呼ばれたい?
難しいなぁ。「ひろさん」とか呼ばれたい、かもしれない。佐藤って呼ばれたらいいかもしれない。ネットでの活動を知っての上なら。ただあんまり呼び方気にしないかもしれない。全然関係ないけどこの質問に「おにいちゃん」と答えたやつが絶対いそうだ。あー「君」って呼ばれたい。正直「君」って呼ぶ女の子って憧れる。
かわいいと思う名前は?
雪 (ゆき) / 雨 (あめ) / 音[無夢] (ねむ) / 春日 (はるひ)
生まれ変わってもその本名?
いや。美少女で「音夢」という名前かつ眠そうな人間に生まれたい。ムリ。
バトンを回す五人

友人に言われて検索してみて吹きそうだったんですが、「音夢」は某エロゲーのキャラとは全然関係ないです。というかそのゲームやったことないし。

午前4時に何かをするのはやめたほうがいい

午[前後]n時でもいいよ。

内臓えぐりだして見せてやろうか、ということを考えて、それに関することでいくつか決心してみたりするけど、やっぱそういうのに不快的な人もいるわけで、やっぱ考え直したほうがいいんだろうか、今ならまだ戻れるかもしれないぜ、なんていうことを脳内天使と悪魔がささやきあっていたりするけど、脳内天使と悪魔について考えていたら俺には悪魔と悪魔が不毛な議論を重ねているように見えてきたので彼らをどうにかして消去する方法を考えることにした。.scan(/考/).size #=> 4

How Much Is My Blog Worth

Your blog, lowreal.net/, is worth $2,822.70

30万ぐらい? 売りたい。

2005年 10月 28日

夢: 崖・殺人

旅行に行く夢を見た。

ついたのが午前2時ぐらいで、すぐにみんな寝てしまう。俺と、もう一人が近くの崖で何か話をする。話の結果俺は彼を殺す。よくわからんけど。絞殺。あーやってしまったんだなぁ、と思う。

部屋に戻る途中に何か動物的なものに見つかる。ぎりぎりで部屋に入る。同じ部屋のやつが眼を覚ます。そいつは寝ぼけていたのですぐに寝てしまう。このとき午前3時。

起きて、朝食をとる。殺したやつがいる。死んでいない。あー、また俺は生き延びたんだなぁと思う。

2005年 10月 29日

夢: 結婚式・黒

誰かと結婚することになったらしい。やたら構造が複雑な建物で結婚式。そして迷う。「あれ? ここ俺のいる場所じゃなくね」とかいいつ迷う。迷う。岩井がでてきて案内される。なんで君はこの建物に詳しいんだ。というかなんでそんなに高速移動ができるんだ。業務用みたいなエスカレータ・エレベータ。これ以上覚えていない。

2005年 10月 30日

Canon EXPO 2005 in Tokyo

昨日行ってきた@品川・新高輪プリンス。前回 (2000) より全然人が多かった。特に内定者がいっぱい……

そんなにおもいっきり面白い展示があったわけじゃない気がする。SED ぐらいかなぁ。SED は確かに綺麗だった。綺麗だったけど庶民には関係なさそうで略。EOS-5D を持ってみたけど重かった……そして全然関係ないところ (AF フレームがファインダーに映るとか) に感動してた。どれにでもついてるよボケ。Wireless IXY は意味があるのか疑問だったんだけど、実際見てみてやっぱり疑問だった。デジタル一眼が Wireless でコンピュータに直接転送できたら便利かもしれないけど、アマチュアには関係ない話だなぁとかなんとか。

ってことで面白さとしては携帯プロジェクタがなんかやけにかっこよくてよかった。チラついてたけど。

ソフトウェア関連で Microsoft と云々が……Canon のカラーマネージメントソフトウェアが Windows Vista に搭載されるとか、ぶっちゃけどうでもいいのでよく見てこなかったけど……

なんかあとは自動システムが多かったなぁ。顔識別・笑顔識別・オート追尾とか。

デジタル一眼欲しい。

印刷データ管理とかいってるけど、印刷しなくてすむようなシステムになるべきとか言ってたらキヤノンはプリンタ作ってんダカラ!とか怒られた (誰に)。わろす。

詳細 @Impress Watch

ruby-gd

 /tmp/ruby-GD-0.7.4
$ ruby extconf.rb
checking for main() in -lz... yes
checking for main() in -lpng... yes
checking for gdImagePng() in -lgd... yes   
checking for main() in -lm... yes
checking for gdImageColorResolve()... yes
creating Makefile                        
/tmp/ruby-GD-0.7.4
$ make
gcc -g -O2   -I. -I/usr/lib/ruby/1.8/i386-cygwin -I/usr/lib/ruby/1.8/i386-cygwin -I. -DHAVE_GDIMAGECOLORRESOLVE -I/usr/local/include  -c GD.c
gcc -shared -s -Wl,--enable-auto-import,--export-all  -L"/usr/local/lib" -L"/usr/lib" -o GD.so GD.o  -lruby -lm -lgd -lpng -lz  -lcrypt
/tmp/ruby-GD-0.7.4
$ make install
/usr/bin/install -c -m 0755 GD.so /usr/lib/ruby/site_ruby/1.8/i386-cygwin
/tmp/ruby-GD-0.7.4
$ ruby -ve 'require "GD"'
ruby 1.8.3 (2005-09-21) [i386-cygwin]
/usr/lib/ruby/site_ruby/1.8/i386-cygwin/GD.so: No such file or directory - /usr/lib/ruby/site_ruby/1.8/i386-cygwin/GD.so (LoadError)
from -e:1
exit 1

意味分からん。いつかはちゃんと動いていたのになぁ。拡張ライブラリが反抗期で僕は悲しい。

新しいサイトスタイルを考えたけどどうしようか以下略

質素かつやりたいほうだいかつファンタジーな感じにしようと試行錯誤してとりあえず画像は作ったんだけど、どうあがいても実装できないので構造をちょっといぢっちゃおうかな!バレないよね!とか思ったりしたり。とか書いたらバレるじゃんかよ。誰だよこれ書いたやつ。

年賀状も同じ系統にしようかと思ってる。flickr の CC 画像をコラージュしようと思ってたんだけど微妙にそれさえめんどくさくなってきた。ああ、どんどんダメ人間に。どうせダメ人間だよ。悪いかよ。もともとダメ人間だよ。うるさいなぁ。

ちょっとごめんトイレ行って来る、なんて言って席を立ったはいいけど、戻ってきたら自分の座る場所がなかったとか、がんばって作ったはいいけど使われなかったとか、一緒に選んだもののせいで悲しい眼をする誰かを見るとか、そういう気分。たぶんそれいっぱいある。きもちわるいぜ。ぜ。ぜ。ぜ。

つまらないから寝るよ。寝ようよ。夢の中は素晴らしいぜ。

あぁそうそう、言うのを忘れていたけれど、僕は妖精と暮らすから君は君なりに生きてくれよ、って彼がいってたよ。