2010-04

2010-04-01 

ここ数日檜山さんが microformats についていろいろ書いてる。

というわけで俺は実装作業の合間を縫って microdata のワーキングドラフトなんぞを読んでいたりする。

斜め読みした感想としては、 microformats よりも microdata の方が Caty で扱うには適していそう。というのも、 microdata には itemtype 属性で URL を指定できるようになっていて、 Caty 側でスキーマに対して URL を紐付ける仕組みを用意すれば、
何か面白そうな事ができそうというのが理由。

例えば組み込み型の場合、

http://example.com/schema/string.schema
http://example.com/schema/integer.schema
http://example.com/schema/boolean.schema

などという形で提供し、任意の Caty アプリケーションで定義された型についても

http://example.com/schema/app/Foo.schema 

のように提供することとし、 .schema 拡張子でアクセスしたら標準の JSON スキーマか何かでの、 .casm 拡張子でアクセスしたら Caty でのスキーマを提供するみたいな事も可能。やろうと思えば .validator という拡張子に POST してバリデーションを行うとかもできる。理屈の上では。

とりあえず檜山さんのところで書かれてたサンプルっぽいものを microdata で書き直すと、

<div itemscope itemtype="http://example.com/schema/someapp/VCard.schema"> 
  <div itemprop="fn">鍬田 力</div> 
  <ul itemprop="email-list" itemscope> 
    <li itemprop="email">chikara.kuwata@gmail.com</li> 
  </ul> 
  <ul itemprop="url-list" itemscope> 
    <li><a itemprop="url" href="http://return0.info/">http://return0.info/</a></li> 
    <li><a itemprop="url" href="http://twitter.com/ckuwata">http://twitter.com/ckuwata/</a></li> 
  </ul> 
</div> 

これに対する VCard 型のスキーマは、まあ大体こんな感じ。

type VCard = {
    "fn": string,
    "email-list": list<string>,
    "urll-list": list<string>
};

ついでに書いておくと、俺は microformats の自由度についてはまったく共感できないというのが正直なところだ。
檜山さんが指摘している通り、あまりに曖昧なフォーマットの仕様は
実装者への負担も大きいし、俺はデータの作成者への負担も大きいと思う。
もしも microformats で何かを記述したいと思い、さらに相互運用性まで
気にするとして、どうすればデータの作成者は「このマークアップでいいんだ」という安心感を得られるのだろう? 現状の microformats の仕様ではかなり難しいように思える。

その点 microdata は

という点で、「作成者が安心できる」という点ではだいぶマシになってると思う。俺のアイディアそのままじゃなくてもいいからスキーマと microdata を紐付ける手段があれば、正しい記述なのかどうかをバリデータに通すことでダイレクトに確認できるはず。

というわけで、ちょっと microdata に心が傾いている。

2010-04-03 

さて俺は当然のごとく世界樹の迷宮IIIを発売日に購入し、散々遊び倒してる……わけではなく、妹二号の引越しに関わるゴタゴタだの、入院中にたまった仕事の処理だのでいっぱいいっぱいで、まだB3Fに到達したばかりだったりするんだが。

あと今回はいつも通りの「控えメンバーなし」「バランスブレイカーなし」で遊んでるんだが、それに加えて今回はシノビ・モンク・パイレーツのトリオ編成で進めてる。理由は以下の三つ。

というわけだ。そして今回はというか今回も防御してないと一撃で前衛を殴り殺してくる奴が雑魚でも平気で出てくるので無理ゲーかと思ったが、シノビのあるスキルを取ったら意外とそうでもなくなってきた。

恒例のプレイ記録は旧サイトでやってるので、まあ今までのシリーズの読者の人はそっちチェックして。こっちでは特に更新のお知らせとかしないんで。

2010-04-05 

日経すげー。何が凄いってヘルプセンターのリンクポリシーがすげー。いまこのご時世に「個別記事へのリンク禁止」だの「リンクしたら連絡しろ」だの、よくもまあこんな非常識で恥知らずな事を書けるものだ。

……と言いたい所だけど、俺は昔某下請けソフトハウスに勤務してたころ、会社の Web ページの管理および企業ブログ担当を本業の合間にやっていて、実はそこでは

というポリシーで運営させられてたんだよな(あと他にもブログの文言の校正ってか検閲もあったがそれは別の話)。自社へのリンクを自由にしてる分だけマシだけど、それでも問題の根っこは同じなんだよな。

何でこんな事になってたのかっていうと、理由の一つは万が一あちら様のリンクポリシーに引っかかってトラブったときの責任を誰が取るんじゃという問題があって、だったら最初っからどんな大馬鹿なリンクポリシーでも従っとこうというリスク回避策。もう一つは、企業サイト間でリンクを張っちゃうと何らかの関連性のある企業同士だと思われかねず、そういうのを回避するという、これまたやっぱりリスク回避策。とにかく、この手のリンクポリシーは何か問題を起こしたくないと思って悪い方に進んでるもんだと思って、多分間違いない。

あとこの手のバカなリンクポリシーってよくわかってない担当が適当に文言をコピペしてくるってケースもあるみたいで、そういう場合はリンクポリシーを制定する側、そういったサイトにリンクしたい側でまったく意志の疎通が出来ないから、バターになるまでぐるぐる回るだけの不毛なやりとりになりそう。

この手のリンクポリシーはどう考えても害悪でしかないから、いい加減絶滅してほしいんだが、日経がこの体たらくだからな。

2010-04-06 

進学だとか就職だとかでこの春から一人暮らしを始める人たちに、食生活上のアドバイスをいくつか。

2010-04-10 

俺は大学で数学とかあんま勉強してなかったけど層・圏・トポス勉強会に出てるうちに多少はわかるようになったんで、まあそんなビビる必要もないよなーとも思う。というわけで、層・圏・トポス勉強会のレギュラーメンバーの立場で書いた圏論FAQ(ここでの FAQ は Fucking Asshole Questions の意味)。

「圏論の基礎」が難しすぎるんですが? 

原題をよく読みましょう。 "Categories for the Working Mathematician" と書いてありますね? あくまでもガチな数学者のための基礎ぐらいの意味です。決して一般向け入門・教養書的な意味での基礎ではありません。そちらの用途なら「層・圏・トポス 現代的集合像を求めて」が向いてます。

「層・圏・トポス」も難しいんですが? 

さては第1章から読み始めましたね? 第1章は飛ばしましょう。第2章から読み進めても問題ありません。というか第1章の内容はどうもアプローチとしては古風かつハードコアなようで、ちょっと調べてみた限りでは層の話に入る前に圏の話を一通りやって、圏を活用して層の話をするというアプローチの方が多いような。

事実、「層・圏・トポス勉強会」では第2章をやってから第1章に戻りましたが、何も問題はありませんでした。

第2章も難しいんですが? 

えーと、「層・圏・トポス勉強会」に来てください。

Haskell のモナドを理解するのに圏論は役に立ちますか? 

言語設計の背景理論を学びたいのような動機があるなら止めませんが、単に「モナドの使い方わかんねー」のような状態であれば、普通に Haskell でプログラムを書く練習をした方がはるかに有意義な時間を過ごせます。というか、モナドまで結構遠いというか、例えば「層・圏・トポス」や「圏論による論理学」にはモナドは載っていません。諦めて「圏論の基礎」などを読みましょう。

Haskell でプログラムを書ける気がしません。圏論を学べば書けるようになりますか? 

プログラム書きたいなら、 Haskell プログラマに師事するのが多分一番です。

私は普通の職業プログラマです。圏論は仕事の役に立ちますか? 

計算機科学などの研究者になりたいとかいう人でない限り、プログラマが圏論勉強して「凄いソフトウェアが書ける」みたいなわかり易いご利益はまずありません。まあ、プログラマ向けの基礎教養としてはなかなか面白いとは思います

いやあんたの作ってる Caty は圏論関係あるんじゃ? 

これは物凄いレアケースというか、これだって Caty 使う人にはまったくもって関係なく、単に Caty プロジェクトの中の人だけが知っていればいいというか。

2010-04-15 

俺はかつて中小企業で新人研修の担当を務めた事があるが、ちょっとその事について思い出せるままにツラツラと。

2010-04-24 

「おおきく振りかぶって」ってキャラの描き分けが極めて怪しかったり、展開の早さがスローペースの極致だったりで、冷静に考えれば内容以前の問題でパスしててもおかしくないんだが、それはつまり内容が俺のストライクゾーンど真ん中という事でもある。

これは昔書いた気がしなくもないけど、俺が一番面白いと思ってるのは勝敗の鍵を握るのが情報戦と心理戦というところで、舐めてた相手に研究し尽された結果格上が敗北し、逆に互いの情報量が拮抗してるカードではもろに地力の差が出るなど、概ね理性的な決着になるあたりにアンチ根性論派としてカタルシスを感じる。

実際のところスポーツでは研究されてない選手・戦術が圧倒的に強いというのは普遍的にある事だし、例えばグレイシー柔術ってわからん殺しを効果的に実践したとも言えるよな。スポーツのようにフィジカルな要素のない頭脳戦のみのゲーム(将棋とか M:TG のようなカードゲームとか)では情報格差がより勝敗に繋がりやすく、こっちは実際に何度も経験してる。

ところでこの漫画、単行本のストックは18巻ぐらいまであるけど、作者が甲子園とか見てて単行本作業が遅々として進んでないってのは本当なのか? ソース不明なんでなんとも言えないけど、ものすごく納得できる話ではある(そんだけ野球バカだから、これだけの漫画が描けるんだろう)。