電子書籍交換フォーマットV1.1をRELAX NG Compact Syntaxで書いてみた(その1)

メモ。ついかっとなって。

とりあえず目次/部品データ(package.xml)用のスキーマeif_p.rncと全体設定データ(global.xml)用のスキーマeif_g.rncをgistにはっておきました。

正しいかどうかはまったく不明。というか仕様書の記述が微妙に足りない……。

あと、V1.1仕様書で、p.56 proprietaryタグのvendor属性の値は「数値(ピクセル数)」じゃなくてテキストだと思うし、p.60 special_pageタグのtitle属性の値はitem要素で指定したidだと思いました(っていうのは誰にフィードバックすればいいんでしょうか?)。また、全体的に「(空タグ)」の記述は間違ってる所多そうな気がします。

参考:

「執筆のためのエレベータピッチ」のテンプレートを作ってみました

今エレベーターに乗ろうとしているのは、3 ヶ月前からどうにかして会いたいと思っていたベンチャーキャピタルの関係者だ。エレベーターで同乗している30 秒のあいだに、君の始めたばかりの新規事業を説明しなきゃならない。成功すれば資金援助を勝ち取れる。失敗したら、またカップラーメンをすする日々が続く。


これがエレベーターピッチという言葉の由来だ。


(『アジャイルサムライ』4.2 エレベーターピッチを作る より)

アジャイルサムライ』では、プロジェクト憲章の代わりにインセプションデッキというものを作ることを提案しているのですが、その中の一ページは「エレベータピッチ」になっています。

このエレベータピッチとは、上に書いてある通り、ベンチャーがエレベータとかでたまたま居合わせた投資家に説明できるように、みたいなエピソードとともに語られる、自分の事業を伝えるための短い説明みたいなものです。

アジャイルサムライ』ではプロジェクトの説明のために作るわけですが、本を書いたり原稿を書いたりするのもプロジェクトと同じようなものです(『Every Book Is a Startup』という本もありましたね!)。であれば、本を書くときにも、エレベータピッチみたいなものがあると、書いているうちにあれもこれもと内容を詰め込んでしまって、コンセプトがぼけてしまわないようになるかもしれません。

というわけで、エレベータピッチを原稿執筆用にアレンジしたものを作ってみました。slideshareよりどうぞ。

これで、本を書きたいとか原稿を寄稿したい! と思っているあなたが、たまたまエレベータとかで編集者さんと居合わせても大丈夫ですね! どうぞお使いください。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

MarkdownでEPUBを作る場合の問題点

メモ。
結論から言うと、MarkdownEPUB(のHTML)が密結合しすぎているのと、Markdownがシンプルすぎるのが問題になる、ような気がする。


例えばMarkdownで普通に画像を書くのは、

![画面キャプチャその1](capture1.jpg)

みたいな感じになるわけだけど、これを例えばdivで囲いたいとか、キャプションをつけたい、といったときに、Markdownではいきなり困った事態になる。

Markdownは結局のところHTMLの簡易記法であって、画像記法はimg要素の簡易記法であって、それ以上のものにはならない。そして、MarkdownそのものがサポートしているHTMLの要素はごくごく基本的なものに限られている。Markdownではリッチな表現ができない。

……というのはちょっと語弊があって、実はMarkdownは部分的にHTMLタグを記述できるので、Markdownの中に一所懸命divタグでもfigcaptionタグでも何でもいいんだけど、その辺りを書こうと思えばもりもり書ける。が、そんなことをやってるとメンテナンス性が落ちる。何のためにMarkdownというか簡易記法を使ってるのか分からない。まだHTMLを書くとか、いっそTextileとかHamlみたいなHTMLなら何でも書けますよ系の記法を使った方が、ValidなHTML(EPUB)を書くには便利じゃないかという気がする。

ある程度は「最後の手段」的にHTMLをごりごり書けるのは確かに役に立つというか、それができないとしんどいことが多いんだけど、ちょっと画像追加したいとか、ちょっとソースコードとターミナル出力を分けたいとかいうだけでもHTMLを書かないといけないのは、どうにも不親切すぎる。


というわけで、ある程度の限定された版面にするか、独自の拡張を施すとか(その場合にはMarkdown処理系を自分でごにょごにょする必要もある)、何かしら工夫する必要がある。そして後者の場合、Markdownとしてのポータビリティは損ねることになるので、そこまでして幸せになれるかどうかはよく分からない。

そう考えると、変に拡張するくらいなら、ポータビリティはすっぱりあきらめて独自記法に走ってもいいんじゃないか、と思う今日このごろです。


参考:

WEB+DB PRESS Vol.67にmbedの記事を書きました

WEB+DB PRESS Vol.67

WEB+DB PRESS Vol.67

  • 作者: 川口耕介,山本和彦,おにたま,神林飛志,杵渕朋彦,中島聡,清水亮,齋藤正浩,高橋征義,ミック,みやけん,青江崇,須賀秀和,上新卓也,牧大輔,角田直行,はまちや2,大和田純,白土慧,太田昌吾,個々一番,Shawn M Moore,じゅんいち☆かとう,小野修司,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/02/24
  • メディア: 大型本
  • 購入: 15人 クリック: 253回
  • この商品を含むブログ (26件) を見る

先日発売開始になったWEB+DB PRESSの最新号で、mbedの紹介記事を書かせていただきました。


mbedというのはラピッドプロトタイピング向けのマイクロコントローラ、というようなものらしく、要するにARMの32ビットプロセッサCortex-M3にメモリやらイーサやらUSBやらをくっつけて、さらにプログラムはUSBで転送&ボタン一発で起動、というハードウェアなのでした。

と、知ったようなことを書いていますが、私自身は半田ごては2、3年に一回くらいしか触らない組込み素人なので、なんか変なこと書いてないかたいへん心配です……(いちおうNXPの方にもちょっとだけアドバイスいただきました。その節はお世話になりました)。あと「電子工作」と書いてますが、実はほとんど工作してません(今回の記事では半田ごて使ってません。ブレッドボードにセンサ挿してるだけです)。

この辺りだけをみるとWEB+DB PRESSという誌面では大変場違いな感じですが(実際読んでも場違いかもしれませんが)、

  • 開発環境がWebベースなので、インストールの手間が減るし、そもそも組込みだと「開発環境は基本Windowsで…」とか言われてMac使いやLinux使いが涙目になったりしなくてすむ
  • 開発環境はIDEちっくでそれなりに使えるし(デバッガとかはないです)、バージョン管理もついてるし(SVNぽいけど…)、書いたコードは公開したり、他の人が書いたコードをimportしたりできるので、ソーシャルコーディングの気分もちょっとだけ味わえる(マージできないとか課題もいっぱいありますが)
  • HandbookやCookbookが充実しているので、よく分からないデバイスがあっても参考になりそうな情報が簡単に見つかる
  • 開発環境以外でも、Cortex-M3はそこそこ性能ある(組込みとしてはめちゃめちゃ性能ある)ので、mbed単体でWebクライアントとかWebサーバとかできるし、WebSocketのライブラリも公開されていて、ふつうにネットワークプログラミングできる

などなど、Webプログラミングしかしたことない人にもお勧めしやすいプラットフォームになっていると思います。まあC++は書けないといけないですけど。

組込み方面な方からみると、ICEも使えないようじゃ……とか言われてしまいそうですが、そもそも素人はICEとか持ってもないしあっても使えないから無問題です。あと組込み方面では「メモリの1バイトは血の一滴」とか「電力の(以下略)」とかいう趣もありそうで、必要十分で過不足のない設計や実装が好まれているようですが(実際稼働時間とかコストとかに跳ね返ってくるからと推測)、とりあえず最初の取っ掛かりとしては、このくらいスペック的に余裕のある方が扱いやすいような気がします。というか富豪的プログラミングしか知らない最近の若者で恐縮です。若くないけど。

それはさておき、「OAuthとかWebSocketについては一行も説明してない(まさか説明の必要がある読者がいるとは思っていない)組込みプログラミングの記事」、という世にも珍しい原稿を掲載していただけたのはWEB+DB PRESS編集部の太っ腹のおかげです(別に(い)さんのお腹のことではありません。ダイエット勝負がんばってください!)。ありがとうございました。軽量Rubyが公開された暁には「mbedでmruby!」みたいな語呂のいい原稿を書きたいのでまた相談させてください。

そういえばサンプルプログラムを編集部宛にお送りするのをすっかり忘れてました(催促メールに今気づいた)。(す)さんすみません……。遅ればせながら先ほど以下のURLで公開したので、mbedを使っている方はそのままimportできるはずです。

というわけで、興味のある方はぜひWEB+DB PRESS Vol.67をお買い求めください!

WEB+DB PRESS Vol.67

WEB+DB PRESS Vol.67

  • 作者: 川口耕介,山本和彦,おにたま,神林飛志,杵渕朋彦,中島聡,清水亮,齋藤正浩,高橋征義,ミック,みやけん,青江崇,須賀秀和,上新卓也,牧大輔,角田直行,はまちや2,大和田純,白土慧,太田昌吾,個々一番,Shawn M Moore,じゅんいち☆かとう,小野修司,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/02/24
  • メディア: 大型本
  • 購入: 15人 クリック: 253回
  • この商品を含むブログ (26件) を見る


追記:そういえば記事本文中でも触れた「無駄に格好良い動画」は以下です。

mbed compiler(開発環境)についてはこんな動画も。

☆board Orangeを使った動画は以下などがありました。これは加速度センサーをつないだもののようです(記事本文とは関係ありません。☆board Orangeの参考として)。


追々記:購入用のリンクも追加しておきます。

デブサミのこと

うまく書けない。あとで書く。

とりあえずスライドははっておく。


ひとつだけ。もし自分がコンテンツ委員を引き受けていたらどうなっていただろう、と思うときが少しだけあります。

オライリーも技評もそれ以外も頑張ってると思う

を読んで、なんかむかついてきたから書いておきます。

確かに、オライリーは一つのブランドで、その安定感というか安心感はありますし、「WEB+DB PRESS plus」シリーズも優れた本が多いのでうれしい限りですが、それはさておき「まだ枯れきっていない分野で日本語オライリー本が存在感を示した最後の例」とかいうのは全く理解できません。

2011年に出た本だけでも、『JavaScriptパターン』『ウェブオペレーション』『iPhoneアプリ設計の極意』『ゲームストーミング』『Hacking:美しき策謀 第2版』『ビューティフルビジュアライゼーション』『デザイニング・インターフェース 第2版』くらいはありましたっけ。あと忘れていけないのは「Make」方面。「Make」誌はもちろん、数年前の本では『Making Things Talk』『Prototyping Lab』、今年だと『XBeeで作るワイヤレスセンサーネットワーク』とか、MTMも含めて、少なくともこの国のフィジカルコンピューティング、電子工作に関する日本語オライリーの貢献というは少なくはないはず。そうそう、コンピュータ書じゃないけど『Cooking for Geeks』もありましたね(追記:あと、『Making Software』もありました。ソフトウェア開発におけるエビデンスにフォーカスした本で、こういう本を見るとさすがオライリーだと思いますよね?)

これだけの本を出しておきながら、「最近の日本語オラ本にはガッカリ」とか、ちょっと意味がわかりません。

もちろん、ジャンルを限ればオライリーより他社出版社さんの方がいい本を出している、ということもあるかもしれません。が、それはその人の読む本の幅が狭いだけで、あらゆる分野で最強の本を出す出版社などはさすがにありえないでしょう(それでも上記を見れば手広くよい本を出していることはわかると思います)。

また、やっぱり日本の出版社さんが頑張っている、というのももちろんあります。そこは日本のエンジニアの書き手さんと一緒になって、この国の技術力の底上げに力を合わせて頑張っているんだと思います。最近ではタイムラグつき(確かにこれは翻訳書では避けることのできない問題ではありますが、「致命的」というほどではないでしょう)の出版になる日本語オライリー本を含めた翻訳書よりも、より優れたものをタイムリーに届けることのできるポテンシャルを持つようになりました(でもぶっちゃけ日本人が書く日本語本でも半年で出したりするのは大変ですよ?)。これは率直に誇っていいところだと思います。が、それを実際に実現するのは、それを支える方々がいるからに他ならないわけで、そのような方々(もちろん海外書の翻訳・監訳に関わっている方々と少なからず重複しています)への感謝は尽きません。

というわけで結論としては、翻訳も執筆も日本のコンピュータ書出版界はたいへん頑張ってると思います。日本人が書いた本も日本人が訳した本も両方あっていいし、また両方役に立っています。というか、本気でそうじゃないと思ってる?


JavaScriptパターン ―優れたアプリケーションのための作法

JavaScriptパターン ―優れたアプリケーションのための作法

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン

iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン

ゲームストーミング ―会議、チーム、プロジェクトを成功へと導く87のゲーム

ゲームストーミング ―会議、チーム、プロジェクトを成功へと導く87のゲーム

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

ビューティフルビジュアライゼーション (THEORY/IN/PRACTICE)

ビューティフルビジュアライゼーション (THEORY/IN/PRACTICE)

デザイニング・インターフェース 第2版 ―パターンによる実践的インタラクションデザイン

デザイニング・インターフェース 第2版 ―パターンによる実践的インタラクションデザイン

XBeeで作るワイヤレスセンサーネットワーク (Make: PROJECTS)

XBeeで作るワイヤレスセンサーネットワーク (Make: PROJECTS)

Cooking for Geeks ―料理の科学と実践レシピ (Make: Japan Books)

Cooking for Geeks ―料理の科学と実践レシピ (Make: Japan Books)

Making Software ―エビデンスが変えるソフトウェア開発

Making Software ―エビデンスが変えるソフトウェア開発


ちょっと余談ですが、本についての語りと言えば、某ださこん等のイベントでu-kiさんがするSF本の紹介のことを思い出します。u-kiさんの紹介は、だいたい元の本より数割増し、下手をすると数倍増しに面白く語るので、u-kiさんの話を聴いてなにそれ面白そう! と思って読んでみても実際にはぜんぜんつまんない、みたいなことがよくありました。またu-kiさんに騙されたYo! みたいな気持ちが半分、でもあの語りは面白いなあというのが半分。それもやっぱり読み手の技、読み手の芸ですよね。

別に一人で黙って読んでる分には好きに読んで好きに評価すればいいわけですが、それについて広く評価を伝えるということは、率直に読み手の技量や態度が問われることだと思います。その本に書かれていることを、作者の意図やそれを超えたところまでも含めて読みとり、咀嚼し、読んでない人や読み終えた人に伝わることばにする。やってみると本当に難しい。

帯とか書評欄とかだとまた違うしがらみもあるかと思いますが、自由に本について語るときのその語り方というのは、本当に読み手が試されるなあと痛感します。やっぱりおっかないよね。いろんな意見があること自体はいいことだと思うけど。

エンジニアじゃない方でも新年に読むのをお勧めしたい2冊

新年あけましておめでとうございます。今年もよろしくお願いいたします。ちょっとまだ仕事が取り込んでいるので、今年の抱負みたいなエントリはまた今度。

さて、昨年末はエンジニア向けの本を紹介しましたが、某弊社では非エンジニア向けの本を最近扱い始めまして、その2冊がちょうど新年に読むのに向いているんじゃないかなあと思うのでご紹介させてください。



 ケヴィン・ケリー著作選集 1
(ケヴィン・ケリー著、堺屋七左衛門訳 達人出版会発行 PDF/EPUB


まずは『ケヴィン・ケリー著作選集 1』です。おかげさまで好評で、今までにだいたい3,000部弱がダウンロードされています(具体的には、アカウント作って0円で購入された方が約400人、アカウント作らずにそのままリンク経由でダウンロードされたのが2500件以上、というところです。単位が違うので単純には合算できないんですけど、アカウント作ってゼロ円購入された人が何回ダウンロードしているかは集計してないので、おおよその目安としてそのまま足しています)。

そういえば著作選集を出す経緯は今まで書いてなかったのでここに書いておくと、きっかけは2つありまして、一つは下に挙げるyomoyomoさんの『情報共有の未来』、もう一つはWikiばなです。

すでにyomoyomoさんの書かれた記事を読まれている方はご存知かと思うのですが、Wired Visionの連載にも、yomoyomoさんはケヴィン・ケリーのことを何度か書かれているのでした。私も「千人の忠実なファン」とかはネットで読んでいたものの、あんまり明確には記憶しておらず、ケヴィン・ケリーその人のことも特に意識はしていなかったのですが、これでなんとなく意識するようになっていました。

そしてちょうどそんな頃に、Wikiばなが開催されたのでした。

テーマとしてはsaveMLAKということで、それはそれで面白かった( SemanticMediaWikiとかうきうきウィキまつりとか)のですが、その時にちょうど堺屋さんがいらっしゃっていて、ご挨拶させていただいたのでした。とはいえ、お会いした時には、「あー、yomoyomoさんの原稿に出てくるやつを翻訳したひとだ!」くらいに思っただけで、あんまり詳しくはお話しできなかったのですが。

Wikiばなが終わってうちに帰った後で、堺屋さんのサイトでケヴィン・ケリーのエントリをいくつか読んでみたら、一つ一つはちょっと短くて細切れの印象もあるけど、まとめて読むとなかなか面白そうでした。なので、まずはいくつか勝手にまとめてPDFとEPUBを作って読んでみると、やっぱり面白い。これは達人出版会で出したいなあ→でもCCでNCかあ→まあ無料でもいいかも、yomoyomo本の宣伝にもなるかもしれないし、無料のコンテンツも欲しかったし、ということで堺屋さんに「こんな本を出したいのですが…」とお願いしてみたのでした。

「無料のコンテンツが欲しかった」というのは、やっぱり某弊社の事業を宣伝するには、宣伝用にタダで配布できるコンテンツがあると、何かと話をしたりするのに便利なわけです。また、話す相手がエンジニアじゃない場合もあり、そういう時にはあんまり弊社のコンテンツだとピンと来ない場合もあって。とはいえ、ふつうに弊社で発行しているコンテンツは、著者さんとの契約もあるので、むやみにタダで配るわけにはいかないのです。そういう面では、内容的にも(だいたい電子書籍とかの話をしたい相手はこの本の内容とかにも親和的なことが多いので普通に勧めやすい)形態的にもちょうどよかった、というところかもしれません。

という話はさておき、本書の内容についてですが、近未来、という語感よりももっと近い未来と現在について書かれたエッセイ集、という感じです。仕事柄、ネットや電子書籍については興味あるので楽しめるという側面もあるのですが、特にそういう仕事と興味ないひとでも、日常的にネットを使っているくらいのクラスタの人であれば、いろいろ面白いんじゃないかと。とはいえ、出てくる内容はあんまり日常的というか、時事的な話題ではないので、少し長いスパンで物事を考えたい年始に読むには向いていると思います。

おすすめとしては、やはり『無料より優れたもの』と、『千人の忠実なファン』『忠実なファンの支援による生計の実態』『千人の忠実なファンの反例』『みんな払いたがっている』とかでしょうか。この辺りは本書の特徴的な章だと思います。あとは少し地味ですが『ボトムアップだけでは不十分』なんかも、ボトムアップトップダウンの組み合わせ、クラウドソーシングの可能性と限界について考えさせられる良い章だと思います。どうでしょうか。



情報共有の未来
yomoyomo著 達人出版会発行 PDF/EPUB


そして2冊目はyomoyomoさんです。そもそもyomoyomoさんの本を出したいなあと思ったのは一昨年くらいのことで、最初の本を販売する前からyomoyomoさんの書かれたネット記事を勝手にコピってyomoyomoさんに見せたら嫌がられた(最初のページが「I can't blog」だったこともあって)、みたいな経緯もあったのですが、1年以上かかってようやく出せたので感慨深いです。いやでも『Technical Knockout選集』もいつか出したいので、また改めて相談させて下さい。

さて『情報共有の未来』の内容ですが、こういうのは電子書籍に向いているんじゃないかと思いました。その時々のアクチュアルなニュースや話題について書くのはやはりブログかメルマガみたいな軽めのメディアが向いていると思うのですが、それだと力を入れた文章でも次々消費していく形になりがちな上に、時間が経つとそのままでは読まれにくそうな気がします。かといって、時間がたってさてまとめようというにも、紙の本として読むにはやはりその「少し・だいぶ前の話題」というのがネックになって、あんまり売り物になるかどうかの判断が難しそうです。そういうコンテンツに対して、比較的低リスクで届けられる、というのは、電子書籍の形態がすごく合っているような気がします。

先ほどの『ケヴィン・ケリー著作選集 1』とは対照的に、あちらは少し未来の話ですが、こちらは少し過去の話になっています。とはいえ、最新の章は去年書かれたものですし、それを現在から振り返ってみている「あとがき」もついているので、比較的読後感には相通じるものがあります。そもそも先ほど書いた通り、ケヴィン・ケリーはこちらにも出てきますし、またそれと対になる形でニコラス・カーなども出てきているので、話が似てくるのは当然と言えば当然なのですが。


というわけで、正直某弊社の宣伝も兼ねているわけですが、とにかくみんなに読んでほしいなあと思うので紹介してみました。どうぞよろしくお願いします。