掲示板のデータを XML にすることは意味あるだろうか……再利用性はあがるけれど、掲示板のデータを再利用することなんてあるのかとか。むしろいちいち DOM を使うことによって一部複雑になる気もする。無限スレッドみたいなのは得意だろうけど、ログが溜まってくると処理がもたつくし、過去ログを作るとしたらどうやって作るかとか。まぁ DOMXPath 使って古い数件を別ファイルにするような感じになるのかな。

とりあえずやってみれば問題点が出てきそう。

つまりやろうとしてるスクリプトが激しく面倒くさいので、PHP+DOM による書き込み編集をどうやって綺麗に実装しようか考えるのに掲示板というのはシンプルでいいんじゃん? 的な目論見があるのです。

メッセージ本文をそのまま保存したら直接 XSLT に放り込めないよなぁ。だからといって変換してからだと編集とかがやりにくそう。出力するときも DOM 使って読み出せばいいんだけどね……独自データ用にパーサーを用意しなくていいのはいいんだけどなぁ。

  1. トップ
  2. prog
  3. 掲示板システムを XML 化?

1.0 リリースあたりまで TBE の代わりに Single Window を試してみる。タブダブルクリックでリロードとか、ブックマークからは必ず新規タブとかがない (Single Window ってだけだしね) のでちょっと戸惑う。でもまぁちょっと軽くなった気がする。

Firefox 拡張で 2ch ブラウザがあればなぁ。サイドバーにスレ一覧がでるのよ。右クリックメニューから板選択とかできる。ブックマークしたアドレスが 2ch のスレだったら自動的に拡張経由で読むの。あー便利そうー。

  1. トップ
  2. soft
  3. Single Window

拡張ってどこにインスコされるようになったんだろ orz. 何か jar ファイルがあったような見当たらず。profile/extension/* にインスコされてるのは全部じゃないよなぁ。イマイチ XUL の開発方法がわからない。既にある拡張にちょっと手加えて使えたらいいのに。

orz. profile/extension/* にあるのが全部か……その下に jar ファイルがあるのねぃ。

  1. トップ
  2. soft
  3. XUL

すいません。激しく手紙の類が苦手なんです orz. 嫌いって意味の苦手じゃなくて不得意ってことなんででぃす。 手紙自体は好きです。大好きです。

  1. トップ
  2. self
  3. mail

position: relative; top: -1.66em; で親要素はみ出したやつの中にあるアンカが全部効かない条件は違うかもしれない意味わかりません。流石超上級者向けブラウザ。僕みたいなネット初心者じゃ解決できないです。

ちなみに margin: -1.66em 0 0 0 とかやると表示さえされません。アラ素敵。

大きく書き換えて別の方法に。

  1. トップ
  2. web
  3. IE で親要素はみ出すとリンクが効かない。

ウェブコンテンツアクセシビリティガイドライン読んでて思ったよ、やはりアクセシビリティって難しい。機械的にチェックできる部分は機械的にできるからいいけど、例えば正しい言葉で書けとか、ちゃんと xml:lang を指定しろだとか、耳が痛い。見出しにアルファベット使ってるけど、本当は日本語使ったほうがいいだろうなぁとか。

この日記はお世辞にもアクセシビリティが高くない……トラックバック用の URI とか参照用の URI をどこに書くかとか。あーむずい。

  1. トップ
  2. web
  3. アクセシビリティ

何でもいいからクリエーターになれればなりたい。でもメーカーあたりで止まりそう。だがしかしそれさえも危うく、ただのおっさんとなりして何処かへ消え去る可能性が非常に高い。努力しろと。

クリエーターとそれを消費(?)する側との間の溝がなんかい嫌だ。もっとフラットであるべきだ……むしろクリエーターとの間つうか友達以外の全ての人間かもしれないわけだけど。

  1. トップ
  2. self
  3. くりえーたー

傍点は絶対に ruby 要素で再現しちゃいけない……<ruby><rb>あ</rb><rp>(</rp><rt>・</rt><rp>)</rp></ruby> なんてありえない。「あ」は「・」と読むって何よ。「・」って何て読むんだ。

ただの強調なんだから em なんだよ。で、どうやってそれを説明すりゃいいんだ。マジうぜぇ。ウェブと紙はちげぇんだっつうの。あーもう。糞 CSS が。

表示しか考えてない人と、データがどうこう考える人とじゃ激しい温度差があるわけで。諦めてしまえばいいんですけどね。もうなんつーか strict じゃないと気にくわない体になってまいりました。strict 云々抜きにしても音声ブラウザ考えたら (実際に読ませていないけど、場合によっちゃ「てん」としか読まないんじゃないかね) 絶対あんな糞以下のマークアップできないと思うんだけど……まぁその程度しか伝える意欲のないやつに何言っても無駄な気もするから結局俺があきらめることになるわけですけど。別に俺のじゃないからいいけど、俺の管理下で糞マークアップするんじゃねぇ的なアレですよ。めんどくさ。寝よう。

  1. トップ
  2. web
  3. ……

えっと、W3C ホストとして見本がどうたら雑誌で言っていた気がするので。

  • design switch すると構造が変わるよ。なんで?
  • desgin switch の真ん中のやつが幅固定だよ。なんで?
  • desgin switch の右のやつが幅固定だよ。なんで?
  • ちょっと理解できない table 要素あった。いや凡人以下の僕に理解できないだけかもしれない。
  • <div class="clear"><br /></div> って何?
  • RSS の Content-Type ヘッダが text/plain. だよ? 何か意図が?
  • 文字を画像化したやつが img 要素として存在するよ? 意味あるの?
  • 英語版ってコンネゴしないんだ。残念。

ぼーっとしながら見てみた。雑魚の俺には理解できないことばかり。世の中ミステリーに溢れてます。

  1. トップ
  2. web
  3. SFC は W3C ホストとして見本に(以下略

<xsl:for-each select="$document('some.xml')">
<xsl:apply-template select="/root/element"/>
</xsl:for-each>

これが期待通りいかない。for-each の中でメインのソースドキュメントて処理できないのかしら。あー何かもうわけわからん……カレントノードが $document('some.xml') になるのは書いてあるけど、/ はメインのドキュメントのルートノードじゃないのかよと……どうやって書けばいいんだ W3C ちゃん。

なんかアレだなぁ……絶不調だ。普段はやる気でないし、やる気でたら意味わからんことばっかだ。何もできないときは何もしたくないんだけど、夏休み中にやっちまいたいんだよなぁ。あー高校生活があと20年ぐらいあればいいと思うよ。ただしインチキ臭くないないクラスメイトとマトモな教師がいる高校生活が。

哀さんの書き込みと IRC での発言によってもうちょい賢くなった気がする!

上の文で カレントノードが $document('some.xml') になる と書いているけど、変わるのはカレントノードではなくコンテキストノードっぽい。カレントノード (current()) はテンプレートにマッチしたやつっぽい。XSLT 仕様書の for-each には このテンプレートは、選択したノードをカレントノードとして使用し と書いてあって、これを俺は勘違いしていたくさい。テンプレートのインスタンス化するとき initialize に投げられるのがそのテンプレートのカレントノードとなり、その後はたぶんカレントノードは変化しないんだ。

  1. トップ
  2. web
  3. XSLT for-each でカレントドキュメントが変わる

あー、少人数グループで何かやりて。とか思うんだけど、協調性を持てとか中学のころに糞体育教師に言われ、まぁ確かにグループワークが苦手な自分的にはやりたいと思ってるだけがいいのかもしれないのかとも思ったりするわけで(略)。とりあえず学生しかいないポータルとか激しく苦手っつうか吐き気がすr

まったく関係ないけど、浮かぶアイデアが全部抽象的だったり、スーパー適当だったりするのをどうにかしたい。例えば何か作るときには「何かカコイイもんがつくりてー」とか「何か綺麗なもんがつくりてー」とか「何か話題になるもんがつくりてー」とか思うわけよ。何ソレっていう。

  1. トップ
  2. net
  3. G
  1. トップ
  2. web
  3. G

最新をちょっと前に読んだけど、やっぱこの人は BURGER NUDS とか ART-SCHOOL とかシロップとかピロウズとかその他もろもろ好きなんだ。あーうん。そうかなって疑問に持つほうがバカだったな。確実だ。OK。 バーガーいいよね。

めんどいので続けて書く。友達と集会(毎週土曜日)して、電撃HPを借り、護君だけ読んだ。あーうん。

  1. トップ
  2. book
  3. ハセガワケイスケさそ
  1. トップ
  2. music
  3. ハセガワケイスケさそ

FOAF たどってメールアドレス収集とかどうよ。とか言おうとしたけど、防ぐ方法が普通にあるじゃんね。

  1. トップ
  2. net
  3. FOAF と SPAM

.be ドメインとちゃった。テヘ☆ とか書くと激しくキモい。なんていうか、軽い衝動買いみたいな感じで (金ないのに) ……何に使うか決まってもいないのに取るのはアフォかとバカかと的な要素たっぷりですけど、まぁ今のやつより短いのでメールアドレスにでも使ってやればいいかみたいな?

自分のところまで DNS が浸透するまで一時間半……なんかめさくさ早い。

  1. トップ
  2. net
  3. ベルギードメイン

啓蒙するとかどうとかじゃなくて、普通に見た目とデータの分離っつうのをどうやって理解させたらいいやらようわからん。全角スペースで margin やら text-align を実現しようとしたり、物理的な ruby 要素(←説明するのが激しくめんどい類)を使ったり。「てめーここでも読んで理解しやがれ」とか「このバカが」とか言ったところで意味ないどころか逆効果。全角スペースであれこれは俺の中で最高にダサい上に表示のことしか考えてないやつに全角スペースを使うなと言っても「じゃあこれをやるにはどうする」とか、そういう話になってうんこ臭いのでもうやめよう。

なんか朝焼けが激しい。外見たら世界の終わりがやってきたかとおもたyo。かみさまごっこしよう

  1. トップ
  2. web
  3. 見た目の分離とか

sabなんとか XSLT 処理系で preceding がようわからない。いや、仕様通りかもしれないけど、それも意味がわからない。

注: 一つのドキュメントは (アトリビュートノードとネームスペースノードは除いて) ancestor および descendant、following、preceding、self の基準点によって分割される。つまり、これらの基準点には重なる部分はなく、全て一緒にするとドキュメント内のすべてのノードを指定することになる。

らしいけど。preceding が前のノードを全て選択してないような。前のノードっていうのを勘違いしてるやもしれない。

<doc>
<ele1>
<ele2>text</ele2>
</ele1>
<ele1>
<ele3>
<ele2>text</ele2>
</ele3>
</ele1>
</doc>

みたいな構造で、コンテキストノードが /doc/ele1[position() = 2]/ele3/ele2 だとしたときに preceding::ele2 としても /doc/ele1[position() = 1]/ele2 が選択されないっぽい。この文脈で preceding::* で選択できるのは ele1 だけ。 (自分の祖先を除く前の要素だけど、中身は含んでない) これって正しいのかしら? 正しいとしたら (正しくなくとも) sort を使うときに上手くいかない。(sort 使わないなら position() で頑張ればOK)

んでも実際上の簡易構造で試してないから間違ってるかもしれない。とりあえずやりたいことが長いこと上手くできる方法が見つからなくて疲れた。

  1. トップ
  2. web
  3. preceding

function array_index(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val)
return i;
}
return false;
}
Array.prototype.index = array_index;
// str のキーストローク数を求める。key はオプション
function get_stroke(str, key) {
if (!key)
key = [["@"], ["a", "b", "c"], ["d", "e", "f"],
["g", "h", "i"], ["j", "k", "l"], ["m", "n", "o"],
["p", "q", "r", "s"], ["t", "u", "v"], ["w", "x", "y", "z"],
[",", "."]];
var ret = 0;
for (var i = 0; i < str.length; i++) {
for(var j = 0; j < key.length; j++) {
var pos = key[j].index(str.charAt(i));
if (pos !== false) {
ret += pos + 1;
if (key[j].index(str.charAt(i-1)) !== false)
ret += 1;
}
}
}
return ret;
}
get_stroke("aaa"); // => 5;
get_stroke("lowreal.net"); // => 23;
get_stroke("adg.jp"); // => 7

key を変更すればひらがな入力のストローク数も!(意味ないけど)てか2バイトはできないかも。どうでもいい

key はボタンごとの文字の配列。前の文字が同じボタンの場合、そのままじゃ入力できないので +1 してる。なんかアレだ……

キャリアによってキー配置が違うかもしれないけど、知らない。

.jp ドメインはさりげなく最短なので素敵よね。

  1. トップ
  2. prog
  3. 携帯のキーストローク数

☆太宰府☆

このメールが来た人!アナタは受験合格間違いナシ(^O^)何たって有名な太宰府天満宮でお払いして貰った携帯からのメールなんだから☆大学進学専門学校一般就職全部合格間違いなし!でも↓合格して欲しい友達5~7人に回さないとダメ!去年のデータからも分かるケドメールを信じて5~7人に回した人→合格率72%(^0^)/回さなかった人→合格率29%(-o-)信じる信じナイは自由!友達思いの人は回シテアゲヨウ☆http://コロスケ/gif/2003.10.30/9748wK9AI.gif

やれやれ。悪質なメールだな。こういうのってさ、これを書いてる姿を思い浮かべると、すごくめげちゃうじゃないか。しかもさ、いろんな人に同時に送ってアドレスが見えまくりなんだよね。まわしてる人には悪意なんてないかもしれないからさ、どうやって返信すればいいか悩むんだよ。でもまあ、こんなメールを回す人が合格するんだとしたら、本当の所、世の中は僕の考えてるのよりも素敵なのかもしれないよね。もちろんそんなわけないんだけどさ。

とかまぁ……ホールデン風味。数日前(何時だから忘れてしまった)キャッチャー・イン・ザ・ライ読み終わったのですよ。村上春樹訳のほう。ちと前の訳も読んでみたい。ついでに原文もチラチラ覗き見したい。

  1. トップ
  2. net
  3. 太宰府 SPAM

Moji

The moji project aims to help foreigners learning Japanese language to read web pages. OK 粋だ。何か面白いじゃねぇか。今度入れてみる(何時?)

入れてみた。なんか面白い。てか読み方分からない漢字につかえr。とか思いつつ、ひけない語もまぁ多いのでそりゃ無理です。うん。素直に goo 辞書ひけと。あー誰か辞書のサイドバーを普通に作ればいいんだよ。あるのかな。そのうち探そう。めんどい

なんか漢字って面白いなぁ。「自」をひくと oneself 「己」をひくと self 「自己」をひくと self, oneself なんてか、こういう風になってると「ハァ? なんだてめぇ。冗長じゃねぇのか? てめー」とか言いたくならないのかなぁと。こちとら無意識に使ってますからねホント

  1. トップ
  2. web
  3. Moji, the Firefox extension
  1. トップ
  2. soft
  3. Moji, the Firefox extension

変な塔・深いプール・プールサイド・エレベーター・小さな入り口・地下の巨大な水中神殿・氷・公園の砂・コンタクトレンズを落とした女の子二人

  1. トップ
  2. self
  3. 夢・コンタクトレンズと水中神殿

結構前からいろいろやってるんだけど、ソケット関連が未だによくわかってない。巨大なバイナリデータを送受信するとして、どうやって順次受信してファイルに保存していくかとか、よくわからない。一定量受信して、その受信した分を string につっこんで、別スレッドで書き込まれた string を順次読み出して処理するのかしら。C でも Ruby でもいいからなんかサンプルが欲しい……短いデータのやり取りなら仕組みがよくわからないでも gets で読み出してけばてけとーにできるんだけども……

ちなみに C の場合もっと意味わからない。というかサンプルめちゃ少ない。オープンソースのプロジェクトとかのソース見てみようとしても、だいたいプロジェクトっていう名前がついてるのは大規模すぎて読めない罠。

  1. トップ
  2. prog
  3. socket

なんか流れ的に寝ないでもう9時になろうとしているのですが……未だに家族が誰一人帰ってきませんよ。てーかずっとおきてると腹へんねー。

  1. トップ
  2. life
  3. 生活習慣乱れ打ち