1. トップページ

植草杏という人物について

2011年11月07日

最近再び砂時計について考えていたのだが、植草杏を如何捉えたらいいものかと迷っていた。なぜか杏のことを考察し始めると言葉には表しがたい複雑な感情が湧き上がってきて、完全に迷宮入りしてしまう。

そこでどうして言葉には表しがたい複雑な感情が現れ、迷宮入りしてしまうかを自分なりに考えて一定の結論を得た。つまり杏という人物を総体として捕らえるのがよくないのだと思う。漫画内で杏の行動や気持ちにも善い行動、善い気持ちというのと悪い行動、悪い気持ちという正反対の二つの側面が描写されていると思う。

これら両方を綯い交ぜにして杏という一人の人物を総体として捕らえるから、善い面と悪い面を両方を目の当たりにし考察する側が混乱してしまうのだと思う。だから結局のところ個別の事象ごとに判断しければならないのだと思う。

そうなってくると杏の色々な事象を考えなければならず遅々として進んでいないのだが、26歳冬・祈りの最後の行動に関して言えば、あれは美しいと思う。あの行動自身が善であるかは議論があると思うが少なくとも悪ではないことは確かであり、そして安全と言うのが何処に在るのかと聞かれれば、あの行動にあると言うし、賢明というのが何処に在るのかと聞かれれば、同じくあの行動にあると言える。

タグ: 砂時計

XSLT置き場

2011年11月03日

自分はマークアップ言語を書くのが好きで、特にXSLTに関しては愛してるといっても過言ではないかもしれない。XSLT は XSL Transformations の略称で XSL の部分は Extensible Stylesheet Language の略称。XSLT は XML で記述するためマックアップ言語に分類できるが厳密にはスタイルシート言語なのかもしれない。

スタイルシートと言えば CSS が有名なのだが、XSLT と CSS 若干用途が違うため単純に比較する事は出来ないのだか、XSLT の変換処理はスタイルシート言語とは思えないほど非常に強力だと思う。たとえば文字列の変換一つとっても自分で関数を作成すれば相対URLを絶対URLへ変換することや、W3CDTFRFC 5322 の日付形式に相互変換する事も出来る。正直 XSLT はもうプログラミング言語なのではないかと思う。

自分は今まで作成した XSLT を公開していませんでしたが、趣味で作成した XSLT をここに置いておきます。

XHTMLへ変換する XSLT には xhtml-template.xsl が必要です。

XML

xml-to-json.xsl
XML 形式で書かれたファイルを JSON 形式に変換する XSLT です。
xml-to-jsonp.xsl
XML 形式で書かれたファイルを JSONP 形式に変換する XSLT です。
xml-to-plist.xsl
XML 形式で書かれたファイルを Property list 形式に変換する XSLT です。
xml-to-sexp.xsl
XML 形式で書かれたファイルを SXML 形式に変換する XSLT です。
xml-to-csv.xsl
XML 形式で書かれたファイルを CSV 形式に変換する XSLT です。
xml-to-text.xsl
XML 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。
xml-to-svg.xsl
XML 形式で書かれたファイルを SVG 形式に変換する XSLT です。

Atom 1.0

atom-to-opml2.0.xsl
Atom 1.0 形式で書かれたファイルを OPML 2.0 形式に変換する XSLT です。
atom-to-rss3.0.xsl
Atom 1.0 形式で書かれたファイルを RSS 3.0 形式に変換する XSLT です。
atom-to-sitemap0.90.xsl
Atom 1.0 形式で書かれたファイルを Sitemap 0.90 形式に変換する XSLT です。

OpenSearch 1.1

opensearch-to-xhtmlrdfa1.0.xsl
OpenSearch description document 1.1 形式で書かれたファイルを XHTML+RDFa 1.0 形式に変換する XSLT です。

OPML 2.0

include-opml.xsl
OPML 2.0 形式で書かれたファイル内の Outline に含まれる外部の OPML ファイルをインクルードする XSLT です。
opml-to-text.xsl
OPML 2.0 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。
opml-to-xhtmlrdfa1.0.xsl
OPML 2.0 形式で書かれたファイルを XHTML+RDFa 1.0 形式に変換する XSLT です。
opml-to-rdfxml.xsl
OPML 2.0 形式で書かれたファイルを RDF/XML 形式に変換する XSLT です。
opml-to-csv.xsl
OPML 2.0 形式で書かれたファイルを CSV 形式に変換する XSLT です。

P3P 1.0

p3p-to-rdfxml.xsl
P3P 1.0 形式で書かれたファイルを RDF/XML 形式に変換する XSLT です。
p3p-to-xhtmlrdfa1.0.xsl
P3P 1.0 形式で書かれたファイルを XHTML+RDFa 1.0 形式に変換する XSLT です。

RSS 1.0

rss1.0-to-csv.xsl
RSS 1.0 形式で書かれたファイルを CSV 形式に変換する XSLT です。
rss1.0-to-opml2.0.xsl
RSS 1.0 形式で書かれたファイルを OPML 2.0 形式に変換する XSLT です。
rss1.0-to-rss3.0.xsl
RSS 1.0 形式で書かれたファイルを RSS 3.0 形式に変換する XSLT です。
rss1.0-to-sitemap0.90.xsl
RSS 1.0 形式で書かれたファイルを Sitemap 0.90 形式に変換する XSLT です。
rss.1.0-to-rss2.0.xsl
RSS 1.0 形式で書かれたファイルを RSS 2.0 形式に変換する XSLT です。

RSS 1.1

rss1.1-to-csv.xsl
RSS 1.1 形式で書かれたファイルを CSV 形式に変換する XSLT です。
rss1.1-to-opml2.0.xsl
RSS 1.1 形式で書かれたファイルを OPML 2.0 形式に変換する XSLT です。
rss1.1-to-rss1.0.xsl
RSS 1.1 形式で書かれたファイルを RSS 1.0 形式に変換する XSLT です。
rss1.1-to-rss3.0.xsl
RSS 1.1 形式で書かれたファイルを RSS 3.0 形式に変換する XSLT です。
rss1.1-to-sitemap0.90.xsl
RSS 1.1 形式で書かれたファイルを Sitemap 0.90 形式に変換する XSLT です。
rss.1.1-to-rss2.0.xsl
RSS 1.1 形式で書かれたファイルを RSS 2.0 形式に変換する XSLT です。

RSS 2.0

rss2.0-to-csv.xsl
RSS 2.0 形式で書かれたファイルを CSV 形式に変換する XSLT です。
rss2.0-to-opml2.0.xsl
RSS 2.0 形式で書かれたファイルを OPML 2.0 形式に変換する XSLT です。
rss2.0-to-rss3.0.xsl
RSS 2.0 形式で書かれたファイルを RSS 3.0 形式に変換する XSLT です。
rss2.0-to-sitemap0.90.xsl
RSS 2.0 形式で書かれたファイルを Sitemap 0.90 形式に変換する XSLT です。
rss2.0-to-xhtmlrdfa1.0.xsl
RSS 2.0 形式で書かれたファイルを XHTML+RDFa 1.0 形式に変換する XSLT です。
rss2.0-to-rss1.1.xsl
RSS 2.0 形式で書かれたファイルを RSS 1.1 形式に変換する XSLT です。
rss2.0-to-rss1.0.xsl
RSS 2.0 形式で書かれたファイルを RSS 1.0 形式に変換する XSLT です。

Sitemap 0.90

sitemap-to-csv.xsl
Sitemap 0.90 形式で書かれたファイルを CSV 形式に変換する XSLT です。
sitemap-to-rdfxml.xsl
Sitemap 0.90 形式で書かれたファイルを RDF/XML 形式に変換する XSLT です。
sitemap-to-text.xsl
Sitemap 0.90 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。
sitemap-to-xhtmlrdfa1.0.xsl
Sitemap 0.90 形式で書かれたファイルを XHTML+RDFa 1.0 形式に変換する XSLT です。

Sitemap index 0.90

sitemap-index-to-csv.xsl
Sitemap index 0.90 形式で書かれたファイルを CSV 形式に変換する XSLT です。
sitemap-index-to-rdfxml.xsl
Sitemap index 0.90 形式で書かれたファイルを RDF/XML 形式に変換する XSLT です。
sitemap-index-to-siemap0.90.xsl
Sitemap index 0.90 形式で書かれたファイルを Sitemap 0.90 形式に変換する XSLT です。
sitemap-index-to-text.xsl
Sitemap index 0.90 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。

XHTML 1

xhtml-to-opml2.0.xsl
XHTML 1.x 形式で書かれたファイル内の見出し要素(hn要素)を抽出し OPML 2.0 に変換するXSLTです。
xhtml-to-text.xsl
XHTML 1.x 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。

XSLT 1.0

xslt1.0-to-xhtmlrdfa1.0.xsl
XSLT 1.0 形式で書かれたファイルを XHTML+RDFa形式に変換する XSLT です。
xslt1.0-to-text.xsl
XSLT 1.0 形式で書かれたファイルを Plain Text 形式に変換する XSLT です。

タグ: XSLT

エピクテトスの語録の目次

2011年09月20日

哲学者エピクテトスは自分自身でなにも書かなかったため、彼の思想はアリアノスが書いた語録と提要がメインとなると思います。提要のほうは世界の名著等に収録されているのですが、語録のほうは何分長く量も多いため世界の名著では一部しか収録されていません。

語録の全てが収録された日本語の本は自分が知っている限りでは 鹿野治助氏が訳した人生談義しかないのですが、この本は現在から約50年前1958年に出版されため、今では完全に絶版状態で年々希少価値が高まってきているようです。参考としてAmazon.co.jpでは人生談義上巻は9229円、人生談義下巻は8473円もします。

人生談義の語録が手に入らず、その内容が気になる方もいるかもしれませんが、全て書き写すと問題があると思われるので、せめてもの策として目次だけでも個々に載せて置きたいと思います。以下語録の目次です。

第一巻

  1. われわれの権内にあるものとわれわれの権内にないものとについて
  2. どのようにして人は、すべての場合、自分の人格に合ったものを保持することができるか
  3. 神が人々の父であるということからして、どういう結果になるか
  4. 進歩について
  5. アカデミー派の人々に大して
  6. 摂理について
  7. 転換論、仮定論、それと同種のものの効用について
  8. 能力は教養のない人々にとっては安全ではないということ
  9. われわれは神と親類である、ということからして、人はどういう結論に達するか
  10. ローマで昇進栄達にあくせくしている人々に対して
  11. 愛情について
  12. 満足について
  13. どうすればすべて神々の気に入るようになされるか
  14. 神がすべてを監督しているということ
  15. 哲学は何を約束するか
  16. 摂理について
  17. 論理はどうしても必要だということについて
  18. 間違った者を怒るべきではないということ
  19. 僭主に対してどういう態度をとるべきか
  20. 理性はいかにして自分自身を考察するかについて
  21. 驚嘆されたがっている人たちへ
  22. 先取観念について
  23. エピクロースに対して
  24. 困難に対してどのように戦うべきか
  25. 同じ問題について
  26. 生の法則は何か
  27. 心象の種類と、それらに準備すべき救助手段
  28. 人々に対して怒るべきではないということ、及び世間では何が小事で何が大事であるかということ
  29. 剛毅について
  30. 困難に備うるに何を以ってすべきか

第二巻

  1. 大胆は、細心と矛盾しないということ
  2. 平静について
  3. 人を哲学者たちに推薦する人々に対して
  4. かつて姦通罪を犯したことのある人に対して
  5. いかにして、おおらかな心と、注意深さとが両立するか
  6. どうでもいいものについて
  7. どんなふうに占うべきであるか
  8. 全の本質は何か
  9. われわれは人間として約束を果たすことができないのに、その上哲学者としての約束をしているということ
  10. いかにして名称から義務が発見されるか
  11. 哲学の始めは何か
  12. 問答について
  13. 不安について
  14. ナソに対して
  15. 決められたことを固執する人々に対して
  16. われわれは、善いことや、悪いことについての教説を、応用するように勉強していないということ
  17. どのように人は先取観念を個々のものに適用すべきか
  18. 心象に対していかに戦うべきか
  19. 哲学者たちのの説を、ただ言葉だけで取り上げようとする人々に対して
  20. エピクロース派とアカデミー派に対して
  21. 撞着について
  22. 友情について
  23. 語る能力について
  24. 彼から認めてもらえなかった人に対して
  25. どうして論理は必要であるか
  26. 過失に固有のものは何か

第三巻

  1. おしゃれについて
  2. 進歩しようとする人は何について修行せねばならないか、およびわれわれは最も大切なことをおろそかにしているということについて
  3. 何がすぐれた人の対象(材料)であり、何に対して人は修行せねばならないか
  4. 劇場で見苦しく味方した者へ
  5. 病気のために退学する人々に対して
  6. 雑集
  7. エピクロース学徒であった自由都市の改革者に対して
  8. 心象に対してどう練習せねばならないか
  9. 訴訟のことでローマに行こうとしている或る弁論家に対して
  10. いかにして病気に堪えるべきか
  11. 雑集
  12. 訓練について
  13. 寂しさとは何か、そしてどんな人が寂しいのか
  14. 雑集
  15. 何事にも慎重に向かわねばならぬということ
  16. 注意して交際せねばならぬということ
  17. 摂理について
  18. 知らせによって心を混乱されてはならないということ
  19. 普通の人の立場と哲学者の立場
  20. すべての外的なものから益を得られるということ
  21. 軽々しく教職につこうとする者に対して
  22. 犬儒学派
  23. 見えを張って朗読したり、問答したりする人々に対して
  24. われわれの権内にないものに執着してはならぬということについて
  25. 企てたことを達成しそこなった人々に対して
  26. 困苦を恐れる人々に対して

第四巻

  1. 自由について
  2. 社交について
  3. 何と何とを交換すべきか
  4. 平静に生活しようと一生懸命になってる人たちに対して
  5. 闘争的で野獣的な人々に対して
  6. 同情されるのを苦にする人々に対して
  7. 恐怖心を抱かぬことについて
  8. 急いで哲学者の態度を装わんとする人々に対して
  9. 恥知らずになった者に対して
  10. 何を軽蔑し、何において卓越すべきか
  11. 清潔について
  12. 注意について
  13. 自分の事柄を軽々しくしゃべる人々に対して

タグ: エピクテトス

ニンニク入りパン(ガーリックパン)のレシピ

2011年09月19日

ニンニク入りパン

ニンニク入りパンを作成してみたので、そのレシピを公開。

材料

材料分量
強力粉200グラム
薄皮を剥いたニンニク40グラム
ドライイースト4グラム
砂糖4グラム
食塩3グラム
120グラム
無塩バター10グラム

作り方

薄皮を剥いたニンニクを平らの皿に並べてサランラップを掛けて電子レンジの500Wで3分加熱します。ニンニクをフォークなどで潰してペースト状にします。

ボウルに強力粉、砂糖、塩、ドライイーストを加え軽く混ぜます。ニンニクのペーストと水を加えて捏ねます。生地が纏まってきたらバターを加え更に捏ねます。

生地が捏ねあがったら一次発酵に移ります。二倍位に膨らむまで発酵させます。

生地を台に取り出し手で軽く押して生地に溜まったガスを抜き、包丁などで生地を二等分にします。

生地を丸めきつく絞った濡れ布巾を生地に被せベンチタイムを約20分取ります。

生地をコッペパンの様に縦長に伸ばし、綴じ目を下にして二倍になるくらいまで2次発酵させます。

生地をオーブンの中に入れて200度で約15分焼成します。

ゲームプレイヤーの性別を乗り越えて…

2011年09月17日

以前このブログでメイプルストーリーではプレイヤーの性別が重要視されすぎているように感じるという記事を書いたのですが、今回はそれの続きです。

まず確認しておかなければならない事として、メイプルストーリーではアバターの性別は装備などで違いがありますが、そのプレイヤー自身の性別はメイプルストーリー内ではまったく影響がないということ。だとするならばメイプルストーリーではそのプレイヤーの性別など本来重要視されるものではないのだが、一部では未だに重要視されているように感じます。

そもそもの事の起こりはだいぶ昔にメイポをプレイしているときにある女性のキャラクターが男性キャラクターから「君ネカマなの?」としつこく質問していて、そしてその女性のキャラクターの方もかなり迷惑そうに戸惑ってました。それを見て、なぜ重要ではないプレイヤーの性別を重視するのかに疑問を覚えたのが事の起こりです。

自分としては話が深まってきたところで必要に応じて性別を尋ねるなら分かります。しかし開口一番に尋ねる事とはとてもじゃないですが思えないのです。

それに性別を尋ねたところで何か益することはあるのでしょうか。

メイプルストーリーでは嘘を付くのは余りに容易です。性別を尋ねたところで女性であるのに男性と、男性であるのに女性と答えるならばどのような事が起きるでしょうか。尋ねたプレイヤーが嘘を嘘と見抜ける眼力があればよいのですが、悲しくもその嘘に引っかかってしまった場合、それはすなわち性別を重視するが故に、性別で欺かれている意外になんでありましょうか。

また異性と会話したいと言う理由で開口一番に性別を尋ね歩いて、やっとの事で異性のプレイヤーと友達になれたら思ったら、その異性プレイヤーが本当は同姓だった場合、そのプレイヤーのショックは如何程でしょうか。もはや慰める言葉すら思いつきません。

それと相手からの印象を気にする人は開口一番に性別を尋ねないほうがいいと思います。何故なら突然性別を尋ねられて良い印象を与えるとお考えでしょうか。少なくともマイナスにはなってもプラスにはならないように思われます。

だから相手のプレイヤーの性別が男性なのか女性なのかは兎も角として、まず人間としての会話ができればよいのではないかと思うのです。なぜなら自分も今まで様々な所でチャットを体験しましたが、性別を尋ねる必要に迫られたことなんて然う然うありませんでした。多くの場合相手の性別が不明でも会話は成り立つものですから。そして会話の際に一番問題にしているのは相手の性別が何であるかという事よりも、相手の言っていることが正しいかということなのですから。

それ故に私達が求められているは性別を開口一番尋ねたくなっても、それを自制する峻厳さなのかもしれません。

タグ: メイプルストーリー

CakePHP Cache Behavior

2011年09月12日

CakePHP Cache Behavior - Download

CakePHP Cache Behavior を作成したので公開したいと思います。とはいってもCakePHP1.2 Behaviorでモデルのメソッドキャッシュを行うで公開されているCache Behaviorを元に自分流にアレンジしたものです。ですが基本的な使い方は変わりません。

Cache Behavior の使用例としては以下のようなコードです。

<?php
Cache::config('long', array('engine' => 'File', 'duration' => '+1 year'));

class Example extends AppModel {
    var $actsAs = array('Cache' => 'long');

    function find() {
        $args = func_get_args();

        if($this->cacheEnabled()) {
            return $this->cacheMethod('find', $args);
        }

        return call_user_func_array(array('parent', 'find'), $args);
    }
}
?>

CakePHP Cache Behavior はクリエイティブ・コモンズ 表示 3.0 非移植 ライセンスの下に提供されています。

タグ: PHP

CakePHP Serialize Behavior

2011年09月12日

CakePHP Serialize Behavior - Download

CakePHPで独自のビヘイビアを作成したので公開して見たいと思います。今回作成したSerialize Behaviorはデータベースからのデータをシリアライズやアンシリアライズしたりすることが出来ます。

具体的には以下のようなことが可能です。

  • データをデータベースへ送信するときにシリアライズする。
  • データをデータベースから引き出すときアンシリアライズする。
  • データを編集するためのコールバック関数を呼ぶことが出来る。

どれも機能もフィールドごとにシリアライズしたりアンシリアライズしたりコールバック関数を呼んだりできます。シリアライズ、アンシリアライズは現在のところPHP仕様のとJSONの二つに対応しています。

Serialize Behaviorの使用例としては以下のようなコードです。


class Example extends AppModel {
    // barフィールドがあればPHPのシリアライズ、アンシリアライズが処理を行われる。
    var $actsAs = array('Serialize' => array('bar', 'foo' => array('transform', 5)));

    function transform($data, $serialize, $int) {
         // fooフィールドが存在すればこのメソッドが呼ばれる。
         // $serializeがtrueの場合はシリアライズをfalseの場合はアンシリアライズの処理が望まれる。
         // 引数の5は$intに格納されている。
         return $data;
    }
}

以上のようなコードだとデータを保存するときも、引き出すときの両方でtransformメソッドが呼ばれます。しかしながら保存するときだけコールバック関数を呼び出したいときもあるかと思われます。たとえばデータを保存するときパスワードの部分だけハッシュ化したいということなどもあるかもしれません。その場合以下のような記述でOKです。


class Example extends AppModel {
    var $actsAs = array('Serialize' => array('password' => array('serialize' => 'toHash')));

    function toHash($string, $serialize) {
        App::import('Core', 'Security');

        return Security::hash($string);
    }
}

基本的な使い方は以上です。分からないところがあればコメント等をください。

CakePHP Serialize Behaviorはクリエイティブ・コモンズ 表示 3.0 非移植 ライセンスの下に提供されています。

タグ: PHP

CakePHP Typography Helper

2011年09月09日

CakePHP Typography Helper 1.0.1 - Download

CakePHP Typography Helper 1.0 - Download

CakePHPでTypography Helperをコントロールするヘルパーを作成してみました。以下のような機能が使用できます。

  • 改行をp要素やbr要素に変換します。
  • 連続するハイフンダッシュをmdash(&#8212;)に変換します。
  • 数学記号に変換します。たとえば100x100を100×100に変換されます。
  • h抜きのURLを正規化します。
  • (C)や(R)をc(&#169;)やR(&#174;)に変換します。

詳細なドキュメントはダウンロードファイル内に同梱されていますので、其方をご覧になってください。

また使用に関しては自己責任でご使用ください。製造者責任は生じないものとします。

動作環境は詳しく調べてないので分からないのですが、PHP5以上で問題なく動作する模様です。

CakePHP Typography Helperはクリエイティブ・コモンズ 表示 3.0 非移植 ライセンスの下に提供されています。

タグ: PHP

メイプルストーリーでのショタとロリについて

2011年09月09日

最近の事なのだがショタコンの気持ちがほんの少しだけ分かった気がする。たしかに本当に美しい少年などを見たりすると少しばかり心がぐらつく。本当のショタコンの方々の気持ちもこのようなものなのだろうか。

ところでメイプルストーリーは低年齢のプレイヤーが多いとされているが、それらのプレイヤーを狙ってロリコンやショタコンも多いのではないかと勝手に推測。

仮にそうだとすると幼いプレイヤーの方々には気をつけてほしい限りです。別にロリコンやショタコンが悪いと言っているのでは決して無いが、幼い身体を獲物を捕らえる目つきの如く狙っているプレイヤーが一部に存在するのも事実だと思う。

それと余談だが相手が未成年だと知りながら、裸の写真を要求するとおまわりさんがやってくるらしいですよ。

タグ: メイプルストーリー ショタコン

ハツカレと砂時計

2011年09月02日

ハツカレという漫画は初々しく、そしてそれ故に物語のスピードが遅いためせっかちな人にはとても薦められない漫画なのだが、意外な使い道があった。

現在ハツカレとともに砂時計も読んでいるのだが、正直言うと辛い。まさか砂時計という漫画を本気になって読むとこんなにも辛いとは知らなかった。気疲れするし、頭痛もする。原因としてはストーリーが重い。漫画の登場人物の行動や発言を考える場合少なからずその人物に感情移入しないと考察できないのだが、ストーリーが重いおかげで考えるのも辛い。

最近の考察はなぜ杏は大悟に別れを告げたのか、美和子の自殺が杏に実際問題どういう影響があったのか、杏は自殺未遂の際母親の自殺について何を悟ったのかというこの三点。どれも砂時計では重要なポイントで直ぐには答えが出ないだろう。

そしてこれらの問題に自分なりの答えを出すため読んでいるのだが、行き詰って頭が痛くなったらハツカレを読むといいことが分かった。ハツカレもそれ単体読んでいたときはストーリーの軽重のことは考えなかったのだが、砂時計のストーリーと比較して見るとハツカレのストーリーは軽い。勿論チロやハシモト達は一生懸命でそして必死なのだが、砂時計と比べるとどうしても軽く見えてしまう。

しかしその軽いストーリーが砂時計で痛めた頭を清涼剤のごとくクールダウンしてくれる。