洗濯機ってエスで lavmaŝin/o なんだってさ。洗うが lav/i ですよ。ラヴィ! やっぱこう、洗濯機パワーをひしひしと感じる。
knabino de lavmaŝino
俺的 XHTML 構造
だいたい決まった構造の HTML を書くようになってきたので、俺の場合を紹介してみる。body 以下を書く。
- body
- (div#all)
- h1#top
- a
- div.section#navigation
- h2
- (p#skip-to-main-content)
- a
- map
- ul
- li#navigation-home
- a
- 以下似たようなのが続く
- li#navigation-home
- ul
- div.section#content
- div.section
- h2
- 内容
- 以下似たような(ry
- div.section
- div.section#footer
- address
- h1#top
- (div#all)
おおむね上のような感じ。っていうか ol, li で書くとすげぇ大変なんですが!!
これはもちろん現実的にこうなっただけであって、いろんな妥協に溢れている。
body 直下の div#all なんてもちろんいらない要素だけど、実際問題 CSS 書くときに、これがあるだけで、クロスブラウザ用の無駄にややこしいハックを減らせるので、安全になる。幅も広がる。
div#navigation map なんて、パっと見変な風に見えないかもしれないけど、ぶっちゃけた話、こじつけられた div 要素みたいなもの。意味的には問題ないので、使ってみると結構便利。ただし display: block を書かないとハマるときがある。こいつには一枚多く背景に画像突っ込めるわけだ。あと実は p#skip-to-main-content も、アクセシビリティの配慮とか、そういうの関係なく、あると便利な要素の一つ。サイトによっては書かなかったり (そもそもナヴィゲーションがないとか) するけど。
できるだけ意味をこじつけて、div じゃない要素を使おうとしているだけ。いろいろ置換してけば div 厨になるんです。なんでもいいけど、悪いのは微妙な仕様の CSS と、その CSS に対応してない IE なんですよ!! 俺は悪くない! 放せ!
CSS 本来の力・XHTML のあるべき姿
上のセクションに続き (とはいえ書いたのはこっちが先だ。つまり、まだ今「上のセクション」はない) 割と理想的な XHTML の姿と、CSS 2.0 の本来の姿。 True Power of CSS
body 直下に h1 を置き、サイト名やら、文書タイトルを書き直すのはバカらしい。既に title 要素を書いているのだから、それを利用すべき。これで hn の数字が全体的に一個減る。
本当はフッタ情報 (書いた人やら、連絡先やら) も body 内に書くものじゃない気がする (どっちかといえばメタデータなはず) けど、とりあえず仕方ないので address 要素置いてる。CSS からリンクは作れないし、フッタっぽく表示させるのは困難。
夢 カップラーメン・制限された生活
ご飯を食った後、だるくて横になったら寝てしまった。起きたときには THE BACK HORN の旅人がかかっていて、なぜか起き上がって fb2k の曲名を右クリックし、Copy name していた。
なんだかよくわからないけど、いくつかのテーブルと、何かしら変なものと、群青色の空がある空間で、制限された生活を送っていた。何が制限されていたかは覚えていない。居場所とかそういう類だけど、実際あんまり関係ない。俺が壁際のお湯がでてくるところ、もしくは火が使えるところ (どっちだかわからない) にいると、知っている顔の女の子が、カップラーメン (深く大きめ) を俺に差し出してきて、お湯を入れて欲しいといってきた。いや言ってきたかどうかはわからないが、入れて欲しいことが伝わってきた。夢だからなんでもありだから、な? とにかく、お湯を入れた。そのぐらいしか覚えていない。
他にもあったのだけど、うまく思い出せない。長いテーブルばっかりだ。とにかく、なにかあったことはあったけど、なにがあったか思い出せない。事実ではないからもう思い出す術はない。
昔話 目のがちょーん。
小学校のとき発作的に目のピントが全くあわなくなることがあった。
全くあわないっていうか、ピントが奥から手前へ、手前から奥へって感じでがちょーんする。季節は冬。
そうなるとどうしよもないのでコタツ布団に顔面を近づけておちけつ!!とかやってたんだけど、結局あれはなんだったんだろう。めっさ怖かったんだけどアレ
MISS WORLD
高校のときの話だけど、MISS WORLD (ART-SCHOOL) の 震え気味になる声も
を 震え、霧になる声も
と勘違いしていて、そのうえ素敵な表現だなぁとか素で思っていたから救えない。冬の話だし、吐いた息の白さを霧と表現しているんだと……
まー今でも霧になる声ものほうがいいじゃん?とか思ってそっちのほうに脳内変換しているのだけれども。
Opera のフルスクリーンモード
Opera のフルスクリーンモード (F11) は media が projection 扱いみたい。知らなかった。media="screen,tv,projection" と書くことにしよう
Opera のフォント設定をヒラギノにしてサイズも大きめにしているんだけど、これでたまにフルスクリーンにしてウェブ見ると気持ちいい。
border-collapse: collapse;
Gecko で border-collapse: collapse; つかうとバグるような。padding がシカトされる。
collapse ってデフォルト値なんだけどなぁ。
だめだわけわからん。テーブルの右マージンがシカトされる。意味わからん。テーブル周りの CSS 嫌いだ。IE はこんなところでもゴーイングマイウェイってるっし。うざ。
他人の CSS なんて読むものじゃない
セレクタの最後にはスペース入れようよ。ルールセットの中はインデントしようよ。宣言のコロンのあとにスペース入れようよ。
BURGER NUDS のインタビューを再読する。
先々週友人と集まったとき、断片化の話をした。というのもどっかのインタビューでBURGER NUDS が日本語で洋楽みたいな感じをとか言っていたからなんだけど、URL を忘れてしまったので探し出した。んで見つけたのが BURGER NUDS
かなりまえのものだけど意外にも残ってた。残ってなくても Web Archive があるけど。
該当部分がすごく印象が濃かったんだけど、他の部分も今読むと面白い。
新しい CSS を適用
そろそろいぢるの飽きたので公開。
#top の画像に微妙なトリック使ってファイルサイズ軽減。NULL::something の部分は別の画像にして重ねてある。おかげで全体的に圧縮率を上げられる。1px バグで時々ズレる。
- Sky by monkeyatlarge
- Middle G by Xerones
- Pleiades ? by Xerones
- PIC_0039 by clanlife
- frangipani4 by Frangipange
- The Wall by Guerito
Bloglines がいつまでたっても新しいほうを読んでくれない
http://null.lowreal.net/d/latest.rdf が登録されしまっていて、301 Moved Permanently と Location: http://lowreal.net/logs/latest.rdf を投げているのだけど、いつまでたっても更新されない。更新されている人とうちとの違いがわからん。
3日様子見のあと更新されるとか書いてあったと思うんだけどなぁ。
daimasの日記 - daimasの日記スペシャルのDVD
s63.xrea.com がどう考えてもぶっとんでおかしい
CGI から extconf.rb 起動させたら have_library で異常に時間がかかって Kill される。しかたないのでコメントアウトして強制的に Makefile 作らせて make してみたけど Resource temporarily unavailable で進まない。
FTP も NLST コマンドが通らないことが多い。謎すぎ。
SFTP で接続しても一定時間で予期しない切断をされる。ダメすぎ。
カススタスタタ、タラスタタ
Flickr: Creative Commons でピアノの鍵盤の写真を見たのが昨日の夜。一時間ぐらいで他のやつとてきとーなことして年賀状作成。たぶん作り直すんだろうな、と思いつつ。
今日の夕方になってそれ派生させた CSS を書き始める。どう考えてもリキッドにならなくて、いっそ固定レイアウトにしちまえよという悪魔のささやきに微妙な抵抗をしながら、適当に CSS 書いていると、ナイスな偶然に見舞われ一件落着。面倒くさかったけど……んで、さっきクロスブラウザ化を終える。テスト用のドキュメント作ってスクロールして眺める。ひたすら眺める。とりあえず眺める。そうやって眺めているとモニタに可愛い女の子が見えてくるがそれは幻想だから気をつけろ、と言い聞かせる。どうでもいいけどタオルが耳鼻科の臭い (ネブライザー) を放っている。なんだこのタヲルわっ。
さっき気付いたんだけど、今のスタイルになってから一年ほどになるらしい。なんか無駄に長いこと適用してんなぁ。そして長いこと適用していると、別のスタイルを適用させるのが怖くなってくる。何が怖いって共通 CSS (base.css) に、そのスタイルに微妙に依存するルールとか書いちゃっているからなんだよね。頭悪いな。
一旦ブラウザスタイルをリセットする CSS をかませようと思ったんだけど、読み込むファイルが増えるのでやめた。base.css に書いちゃうと別のスタイルがおかしくなるし……
そんなこんなで map 要素は Opera で inline である罠にひっかかったりした。map なんて使ってる人少ないから気にしないんだよな。
ECMAScript RegExp $
"\n\n".replace(/$/, "!") //=> "\n\n!" "\n\n".replace(/$/m, "!") //=> "!\n\n" "\n\n".replace(/$/mg, "!") //=> "!\n!\n!"
問答無用で \n の前にマッチすると思ってた。m つけなければ \Z っぽく使えるのね。
日記・日記
ふと気がつくと一昨日やったことなんて微塵も覚えていないのだけれど、こうやって日記を書いていると一応「何か」をやっていたことはわかる。不思議なことだ。
tDiary を使って日記をつけはじめたのが 2003-08-20 らしい。それより前も PHP で書かれたクソスクリプトを用いて書いていた。手元には一切データが残っていないので、Web Archive で調べてみると 2003-02-04 から独り言とかいう名前で書いていた。クソみたいな HTML ソースだなぁ。でも2年前の日記はクソみたいな HTML より吐き気を催す危険物。どうでもいいけど NULL::something っていう名前は 2003-02 - 2003-04 の間についたらしい。へぇ。
だんだん一日に書く文章量が増えてる。なんでだろう。余計なことくっつけすぎなのかな。
それにしてもその日記を書いたのが2年間前とはとても思えない。もっと前に思える。それっぽいウェブサイトを構築できるようにはなったけれど、それ以外のことはなにもできていない。しかもそのウェブサイトを構築できるというのも趣味の域を出ていない。
俺はプログラム (とりわけスクリプト) の話をよくするけど、本当のところ殆どプログラムなんて書けない。頭が普通についていけない。多くの場合、俺の書くスクリプトは他人の考えたアルゴリズムをいくつか組み合わせたにすぎない。レゴを組み立てるようなもんだ。考える必要のあるパズルではなくて、積み木。それに俺が思いつくアイデアは既に実装されているのでアルゴリズムを新たに考える必要性があまりない。
願わくば、イメージをそのままウェブサイトのデザインにしたり、文章にしたりしたい。今のところ手が勝手に何かを作るのを見てイメージを逆算している感じでしかない。数うちゃ当たる、みたいな。この方法は趣味ではいいけど、作りたいイメージをすぐに作れるわけじゃない (手が作ってくれるのを待つしかない) から責任があるときにこの方法は使えない。
それにしても責任という言葉はあまりに重いと思う。義務と言い換えてもいい。少し前によく書いていた「頑張れ」も、義務を追加する言葉になりえる。素直に受け取れといわれても、それはチャーハンに混ぜられた嫌いな食べ物みたいなものだから、どうしようもない。
日記の話からだいぶズレたけど、結局俺が言いたいのは、日記を書くのがそれなりに楽しいことだっていうこと。
同じ月を見ているの CM
最後のほうの月バックのシーンがアレとかぶる。つまり窪塚洋介が夏目 (誰) っぽい。しかし絶対に見ない系の映画だ、と思った。
entries_kache & wikieditish.cgi
某サイトに entries_kache を導入したんだけど、改行コードが混ざっていてうまく動かない。wikieditish.cgi を使って Win から更新してるせい。めんどくせーなー、とか思いつつ、entries_kache 側で強制的に改行コードを統一させるようにして (if の条件いぢって強制再書き込みさせた) 一件落着……と思いきや動かなかったんだけどプラグインの実行順だった。
- wikieditish.cgi.unite_crlf.patch
- 常に LF で保存するように。
- entries_kache.unite_crlf-keep_utime.patch
- LF になるように保険。デフォルトの wikieditish.cgi は \n と \r\n が混ざるので。上のやつ修正したあとじゃいらない。あとは、メタデータ書き込むときにファイルの時刻変えるのがうざいので設定しなおす。メタデータ読むんだから関係ないんだけど、精神衛生上よくない。
- alternate
- 全然関係ないけど、代替フレーバーのリンク用プラグイン。
<link rel="alternate" type="text/plain" title="Plain Text" href="/$alternate::path.text"/>とかやる。
特定のディレクトリ以下を例外的にトップページとか、一覧に表示させないようにしたい。プラグインがあるだろうけど探すのがめんどい。かといって書こうと思っても Perl のツン具合に萎える。
exclude Not Found
CSS Opera
Io (iolanguage) いぢくる。
学校で暇つぶしにドキュメント眺めていたらメソッドが増えていたのでちょっといぢってみる。cygwin 版が微妙に古く、mingw 版はまともに動かないとか言ってたら kiyoya さん がビルドしてくれた。ありがたう。
結論から言えば何もできなかった。blosxom 劣化クローンを作れないかなぁと思っていたんだけど、途中で完全にめんどうになってやめた。んで、もうちょい楽なのを考えていたら Tropy が浮かんだので作ってたんだけど、もうちょいってとこで強制終了連打されたので諦めた。Win32 だからかもしれないが。
join の位置がおかしいのはどうにかならないんだろうか。List にあるべきメソッドだよなぁ。
Sequence と String の区別がかなりうざい。"literal" は immutable Sequence とか言われて、直接 "literal" replaceSeq("li", "il") とかやることができない。エラーがでる。Sequence clone appendSeq("literal") replaceSeq("li", "il") とかやる必要がある。しかしながら appendSeq にバグがあるっぽく強制終了をよく食らう。よくわからん。
Tropio: Tropy クローン試行の残骸。動きません。動くかもしれないけど俺にはムリ。
環境光
レモン畑であの娘は
久しぶりに SONIC DEAD KIDS を聞きなおす。やっぱ、全然今のアートとは違う。昔のほうが好きだ、とあらためて思った。一番好きなのは MISS WORLD だけど。