2006年 09月 09日

DECON

やろうと思ったこと

  • vim の text-object しらべ (今はひたすら V と jk を使ってる)
  • * と # すごす
  • さらに CSS リロード

ctag も便利そうだけど、使い始めるのがめんどそう


ノートを買ったらやろうと思ったこと

  • svk
  • CPAN-Mini

オフラインで開発って、CPAN どうするんだろうって思ってたけど、疑問が解決した

というのを向こうにあとで書く。書かない。書く。たぶん書く。XML 書く気になったら書く。

>

Development Environment Conference に行った

Development Environment Conference に行ってきた。

  • vim text-objects
  • *, #
  • CSS 超高速リロード
  • svk, CPAN-Mini でオフライン化
  • バイナリパッチングカッコヨス

Element.nodeName

http://d.hatena.ne.jp/nagaton/20060908/1157691716
コメントに思いついたのを勢いで書いてしまったけどちゃんと検証するお><

ただ上の二つのページは完全に同じではなく、DOCTYPE が違うので完璧な検証ではない。XHTML 1.1 は text/html で送るべきじゃないらしいので html のほうは ruby 要素を消しつつ XHTML 1.0 Strict に書き換えてある。

document.body.namespaceURI も云々なので、XML としてパースされるか、HTML としてパースされるかがどうとかこうとか

blosxom section plugin

http://trac.lab.lowreal.net/trac/lowreal/browser/c/blosxom/plugins/section
作業中

>

日付を拡張する感じで /2006/09/09/1 でその日の一番目のエントリ、/2006/09/09/2 で二番目みたいにする。のを書いてみた。うーん。

これだと /foo/bar/baz/1 とかがおかしくなる気がする。ちゃんとチェックしよう。

だめすぎた。

いい方法が思いつかないなぁ。簡単にやろうとすると sort ルーチンの影響をうけてしまう。
section number ふるためだけに、ハッシュ&配列を使わないといけない気分。

  • story flavor でセクションナンバーが使えなければならない(permalink にしたいため)
  • date や story は sort の影響をうけるため、こいつらでインクリメントはできない

blosxom

/2006/09/01/1.html でいいようにしたいなぁ。
あと /2006/09/01 の場合 /2006/09/01/ にリダイレクトしたい。これはどっかでぷらぎん見たことある気がする。

1.html とかってやるばあい $blosxom::path_info を空文字にしたらいいようだ。ヒエラルキーチェックを飛ばせる。

Publish::Blosxom

ファイル名の生成を md5 でやっているので数値が先頭にきてしまう。a でも z でも入れないとだめぽい。
あとエントリ時間を変えられてしまうので utime するように
http://trac.lab.lowreal.net/trac/lowreal/browser/mypla/Plagger/Plugin/Publish/Blosxom.pm

改造したの公開するのはマズいな。ライセンス考えてなかった。

Artistic License らしい。

config
  meta:
    foobar: join " ", @{ $args->{entry}->tags }

とかで meta 追加できたらいいかもしれない (やってない

section

一応動いたっぽい。1555 エントリを適当につっこんでみると 0.5 sec かかる。section が悪いのかなぁと思ってアンスコつけてみたけどあんまり変わらなかった。
entries_kache 入れると 0.3 sec ぐらいになる。へー
http://trac.lab.lowreal.net/trac/lowreal/browser/c/blosxom/plugins/section

あと kyo-san にいろいろ助けてもらったよ! カリスマリスティック!1
$$story_ref = "" でどーんとか。filter だとヤバくね? とか

TT

Template Toolkit 使う blosxom が欲しい!
plugin としてじゃなくて、もう完全に1ファイルにまとめてしまう感じに。
あと、既存の plugin と互換性を保ちつつ、Entry をオブジェクト化とかできないかなぁとか、section 作ってて思った。Entry オブジェクトに section attr を plugin で追加して云々、みたいなのできたら楽だったんだけどなぁ。
TT 使ったらどこで動くモノじゃなくなりそうな感じがする。 レンタルサーバに TT って入ってるものなのかな。とか、無駄なことを考えた。

2006年 09月 08日

trac

なんとなく CGI 動作で動かしていたけど、FCGI に変えた。あまりに早くでびびった。CGI が遅すぎなだけか

blosxom

Publish::Blosxom して blosxom にまかせるほうがいいのかなぁ。最初の一回だけ (インポートだけ) に Plagger 使う感じだけれど
日付内で番号ふって /2006/01/01/1 みたいな URL に対応させる blosxom プラグインを書けば解決するような気がしてきた。

  • 今の URI を維持する
  • データ移行
  • ウェブ上から書けるインターフェイス (特定のタグがついたはてダセクションを Publish::Blosxom とかでもいいかも)
  • Markdown とか Trac Wiki 記法とか選べる (meta プラグイン併用でそのまま記述したい)

ねr

キーボード

このキーボード、Eが既に消えかけ

$

そうえば JS で $ 書くとき、$X って書いてるときがある。

駅前に高校生のカップルらしきものがいて、男がやたら偉そうでむかついた。女の子は笑っていたから、あれで幸せなんだろうな。
それはともかく電車内のぢょしこうせい濃度は今日も高めでよろしいですね。

りなざう

りなざうのターミナルだと ssh してスクリーンができないなぁ。。

あー電車の中だとネットワークが遅いせいなのかもしれない。
でも vim は重いなぁ。描画がなんかおかしい

2006年 09月 07日

Plagger Diary

途中で Diary って名前がおかしい気がした。Archive とかかな

SmartFeed::Diary

http://svn.lab.lowreal.net/lowreal/mypla/Plagger/Plugin/SmartFeed/Diary.pm

Publish::Diary

http://svn.lab.lowreal.net/lowreal/mypla/Plagger/Plugin/Publish/Diary.pm

Publish::XSLT

http://svn.lab.lowreal.net/lowreal/mypla/Plagger/Plugin/Publish/XSLT.pm

config.yaml

  - module: SmartFeed::Diary

  - module: Publish::XSLT
    rule:
      expression: $args->{feed}->type eq "smartfeed:diary"
    config:
      format: Atom
      dir: /home/cho45/tmp
      xsl: /home/cho45/diary.xsl
      extension: html

  - module: Publish::Diary
    config:
      sourcedir: /home/cho45/tmp
      dir: /home/cho45/public_html/diary

diary.xsl の例
http://svn.lab.lowreal.net/lowreal/mypla/diary.xsl

Atom 渡し

こんなんにして適当に Subscribe すると、いっぱいファイルができる!

出力例: http://lab.lowreal.net/tmp/

TODO:

  • SmartFeed::Diary で作った smartfeed に適切なタイトルをつける
  • ちゃんと .htaccess とかの設定をして使ってみる (ネゴシエーションで拡張子なしに)
  • ソート
  • もしてかして: Planet でできる? か調べてみる
  • /index にする。
  • エントリごとのページ 2006/09/07/1 とかを作る。sort したあとに id つける?

svn にてきとうに入れたのでそっちへリンク

Perl ムズス

syntax error でまくりんぐ。もっといい方法があるんだろうなぁ。

Plugin::*::Diary , Publish::XSLT

それっぽい Subscription か CustomFeed とかを使って、Publish::XSLT で静的 HTML (に限らず) 生成の日記システムを妄想。
コメントとかは別の XML に保存して XSLT 中で document 使えば一応どうにかなるけれどちょっとやっぱキモいなぁ。
アーカイブしたいのは全部読み込まないと、漏れがでてしまうよなぁ。うーん。例えばはてダで書いたあるタグがついたセクションを、アーカイブに突っ込むという場合、最新のフィード何件か、っていう感じで配信されているから、上書きになっちゃうよなぁ。
あー、2006.atom とかを常に読み込むようにして、dedupe すればいけるかなぁ。

MultiViews

08/ 08.html ってあるとディレクトリ優先しちゃうのか。
08.html は 08/index.htm として保存しないとだめか

Catalyst 落ちる件

http://subtech.g.hatena.ne.jp/cho45/comment?date=20060906#c
コメントもらった! ありまとう! なるほど。
-f 付けると落ちることは落ちるけれど、プロセスが分離されて被害が少ないみたいだ。いちいち手動で起動しなくていい。よかたよかた。

vim execute

silent exe "!GET 'http://nina:4321/reload' > /dev/null"

とかやってるのだけど、GET が遅いと入力が返ってこない。非同期で実行できるんだろうか。
と思ったけど

silent exe "!GET 'http://nina:4321/reload' > /dev/null &"

にした。

CSS

ああああ。body (bodfy と type して boofy と空目した) に % 指定がついてるせいだった。全部 px にかえてやる!!!!
これで4時間ぐらいハマった。やっぱ IE &ネットワークが重い環境だとこういう試行錯誤するしかないのはきつい。

c-z

C-z でどーんってやったあと、screen の window 移動して、「どこでやってたっけなぁ」ということが多々ある。window そのつど開けばいいんだろうけど、カレントディレクトリが云々。

モテ form.disable

Form.disable 相当のはないっぽいのかな。

inc(gerry);

寝てたら成城学園前に着く直前ぐらいから急にレベル7で腹痛が発動。しかたないので成城学園前で降りた。トイレが混んでて焦った……
いっかい出て、ホームに下りたところで再びレベル7.5で発動。またトイレへ、しかしまた混んでて(ry
なんか、起きたとき目の前にいた女の子が知り合いだった気がするけど気にしない。