2010-11-28

Shibuya.lisp#6でLT発表してきました

Shibuya.lisp#6にて「ClojureとEPUBで「普通のやつらの上を行く」方法」というタイトルでLightningTalkしてきました。
まずはプレゼン資料です。
ここ最近作っているEPUBツールの説明をして来ました。あとGoogle AppEngine for Javaにfeed2epubの機能を載せたのを実験中だったのでデモとして見せたかったんですが、時間切れ&エラー… ムー、不本意なオチをつけてしまった! (最後に発表してるひとです) 途中でDEMOとして見せたサイトはこれです。LTに間に合わせようと拙速に作ったので、近日中にいろいろ変えます。 一応、RSS2/ATOMフィードのURLを入れてボタンを押すとEPUBがダウンロードできるように作ったます(たまにエラーが出るけどね) http://epubninja.appspot.com 前半のTechTalksの先生方の話しはさすがでした。まさにShibuya.lispみたいな機会がないと知らなかったようなことを聞けてよかったです。難しくて分からないことも多かったですけど、「何が分からないのか」はそこはかとなく分かったような感じがしました。少なくともMOP(MetaObject Protocol)についてはまるっきり勘違いしてたのが自覚できて良かった。 Shibuya.lispは前回#5が初参加です。それまで技術系イベントにはほとんど参加したことはありません。だから前回でこのことを初めて実感しました。 「実際にコード書いている人、スゴイ人に会ってみるとパワーが湧いてくる」 それで前回参加したあとは「今度参加するときは、絶対見るだけじゃなくて何か面白いものを作って発表したい」と決心してました。なんかこういう場をせっかく用意してくれてるんだから参加しないともったいない!という気持ち。やる気はだいぶチャージされましたね〜。 私はプログラミングや技術自体も好きだけど、何か具体的なプロダクトを作りたいタイプです。 「Lispを使えば難しい問題も簡単に解けるんだ」という主張を良く読むけども、ならば「簡単な問題をさらに劇的に簡単にする」ためには使えないのかな。いわゆるプログラミングが出来ない「普通の人たち」が便利だと思えるものを作りたい、そのためにLispが利用できるんではないかと思って使ってます。 Lispで開発効率が上がるんなら、それでできた時間をより便利な何かのアイデアを考えるのに使えないでしょーかねー。 本番のLTでは時間切れになっちゃいましたが、その後の懇親会でリベンジ発表させてもらったのでいちおう言うべきことは言い切りました。 「普通の人」が使いやすいものをLispで作ろう。そんで草の根的にLispはスゴイという空気を作ってこう。仕事でLispを使いたいならお客さんにLispがスゴイって認識を持ってもらわないと無理だし、逆にお客さんがOKならばあと社内は何とかなりそうじゃない? まぁ、まずはコード書きましょう。 最後に。 もういい加減、自己紹介で無職というのも飽きました。仕事探しはじめます。

2010-11-05

ePubcastローカル版の遊び方を説明します!

先日、ありえる勉強会でLT発表したときに触れたePubcastのローカルサーバ版がだいたい出来たので使い方を書いておきます。

このソフトウェアの目的は「ePubをPodcastで配信する実験を行う」なので、機能はおもちゃ程度です。とりあえずePubとPodcastでなにができるか手元で遊んでみたい人向けに説明します。以下ではMacBook+Google Chromeで説明してますが、Windows、他のブラウザでも基本的に同じです。

まずJarファイルをダウンロードします。0.0.11のやつです。

Downloads for deltam's ePubcast - GitHub

これを適当なフォルダに置き、同じフォルダに"static"という名前のフォルダを作ります。このstaticフォルダにePubを置くだけでPodcast配信が出来るようになります。

上述の準備が終わったらサーバを起動します。コンソールを立ち上げてJarを置いたフォルダに移動し、以下のように打ち込みます。2行目以降のようにログが表示されたら起動してます。

$ java -jar epubcast-0.0.11-alpha-standalone.jar 
2010-11-05 08:14:25.944::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
2010-11-05 08:14:25.960::INFO:  jetty-6.1.x
2010-11-05 08:14:26.050::INFO:  Started SocketConnector@0.0.0.0:8080


ブラウザでhttp://localhost:8080をアドレスバーに打ち込みます。



ブラウザ上ではstaticフォルダの中身をリストにして表示させてます。
[add iTunes]というリンクを押すと、以下のようなメッセージが出てくるので[アプリケーションの起動]を押してください。



これでiTunesのPodcastに自動追加されます。


ここですべてのePubをダウンロードさせて、iTunes「ブック」のページを見てみると、ダウンロードしたePubが追加されていることが分かると思います。



これでiPodTouch/iPhoneを同期させて、iBooksを開くと下のようにePubが追加されます。

これで読めます!


以下、ちょっと補足。

Q. 配信するePubがない
A. feed2epub-cljを使ってはどうでしょう。長文記事のブログを読むときなどにePubに変換できます。(ファイル名が日本語だとePubcastでダウンロードできなかったりするので適宜変えてください)

Q. ローカルだけじゃなくてインターネットで公開したい!
A. このePubcastをGoogle AppEngineに移植する作業を始めてます。しばしお待ちを!


【参考リンク】
[ポ] 電子書籍に繋がった - ...My cup of tea...
こちらの記事で始めてEPUBをPodcast配信できることを知りました。感謝。
アップル - iTunes - Podcast - Podcastを作成する
アップルの技術資料。EPUBは配信可能なファイル形式に含まれてないですが、きっちりiBooksにも追加できちゃいました。
deltam's ePubcast at master - GitHub
ソースコードも公開してます(Clojureですが)。1ファイルべた書きなのでそれなりに分かりやすいかと。