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

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

  1. トップ
  2. life
  3. 夢:F言語

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

  1. トップ
  2. sw
  3. MetadataManipulator
  1. トップ
  2. web
  3. MetadataManipulator

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

  1. トップ
  2. web
  3. alt=""

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

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

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

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

  1. トップ
  2. music
  3. ツタヤにて

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

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

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

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

  1. トップ
  2. web
  3. アクセス解析で得る解像度の悪夢
  1. トップ
  2. css
  3. アクセス解析で得る解像度の悪夢

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

  1. トップ
  2. prog
  3. Io and Ruby

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

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

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

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

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

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

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

  1. トップ
  2. book
  3. そうそう実はメガネ重要

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

  • サンダー
  • 小麦粉
  • 乳鉢
  • 日本地図
  • 自転車
  • 監視
  • 見つかる
  • 近道
  1. トップ
  2. life
  3. サンダーボルト

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

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

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

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

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

  1. トップ
  2. music
  3. www.bumpofchicken.com
  1. トップ
  2. web
  3. www.bumpofchicken.com

Audioscrobbler.net Web Services

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

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

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

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

  1. トップ
  2. web
  3. Last.fm webservice

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

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

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

俺は演算子の前後にスペースを入れない書き方が大嫌いなんだけど、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 でもスペースをあける。ほとんど同じ文法なのにスペースあける場所が違うとかは論外だからね。

  1. トップ
  2. prog
  3. for の括弧の中での演算子
  1. トップ
  2. script
  3. for の括弧の中での演算子

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 として読み飛ばしているのでループ回数が減ってる。

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

  1. トップ
  2. web
  3. pre, code の色づけ

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

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

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

  1. トップ
  2. life
  3. 寝るか寝ないかのボーダー

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

  1. トップ
  2. music
  3. Audioscrobbler :Not all request variables are set
  1. トップ
  2. net
  3. Audioscrobbler :Not all request variables are set

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

  1. トップ
  2. life
  3. 今度は「ままならない」

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

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

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

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

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

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

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

  1. トップ
  2. web
  3. Meta*Headphone-Girls の CSS

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

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"]]

うっさい

  1. トップ
  2. ruby
  3. IRC の MODE をパースするのがめんどい
  1. トップ
  2. irc
  3. IRC の MODE をパースするのがめんどい

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

  1. トップ
  2. self
  3. reread memo

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

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

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

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

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

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

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

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

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

  1. トップ
  2. ruby
  3. CSS をテーマにするのはいいけれど @tDiary
  1. トップ
  2. net
  3. CSS をテーマにするのはいいけれど @tDiary
  1. トップ
  2. script
  3. CSS をテーマにするのはいいけれど @tDiary

移動(謎

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

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

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

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

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

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

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

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

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

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

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

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

  1. トップ
  2. game
  3. CROSS†CHANNEL

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

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

  1. トップ
  2. ele
  3. SAITAMA-HA7 +
  1. トップ
  2. music
  3. SAITAMA-HA7 +