トップ 最新 追記
RSS feed

ただのにっき


2011-12-01(木) [長年日記]

Herokuにkindlegenコマンドを入れるgemを作った(けど失敗)

たとえばHerokuでKindle向けにドキュメント配信をするようなサービスを動かすとして、ネックになるのが.mobiファイルの生成をどうするかである。考えつく方法として、

  • Calibreが抱えているライブラリを持ってくる
  • メールでPersonal Documentsに送信してうまく変換されることを祈る
  • なんとかしてkindlegenコマンドをインストールする

Calibreのmobi変換はかなり優秀なので、これが一番スマートだとは思うけど、たしかPythonなので最後の手段。Personal Documentsの変換は品質に問題があるのでできれば避けたい。ということで、Herokuにkindlegenコマンドをインストールするという方向を探ってみることに。

Herokuへ何かをインストールする方法は、「git push」か「bundle install」しかない(たぶん)。しかしGitHubにリポジトリを公開することを考えると、そこにAmazonの所有物であるkindlegenを含めることはできないので、「git push」はいきなり除外。いちおうサービスの起動直後にtarballをダウンロードして展開することでkindlegenコマンドを取り出すという技もあるし、やってみたらできたのだけど(そういうことを狙ったと思われるコードはGitHubでも見つけられる)、配置先がtmpdirにならざるを得ないのでちょっとなー、という感じ。

ということで、gemを作ってその中でなんとかという方法が残った(前置きが長い)。

で、gemの作り方を調べて、拡張ライブラリを作る過程でなんとかつっこめそうだとわかり、適当なMakefileを吐き出すextconf.rbを書いてみたのがこれ:

これでインストールがこんな感じで簡単になった:

% gem install kindlegen

もちろんGemfileに書いておけばbundlerが入れてくれるようになるので、Herokuでも動くはず!

……と思ってやってみたらダメ。いや、少なくともgitの出力を見ている限りではインストールは成功しているようだ。しかし、サービスの中からkindlegenコマンドを起動してみると見つからないという。「heroku run console」でherokuに入り、binの下を探してみるとない。えっ、なんで!?

で、いろいろ調べてみると、インストール直後にbinの下から一部のコマンド(bundleとか)を除いて削除するプロセスが走っているようだとわかる。ついでにconsoleからファイルを作っても、logoutのタイミングで消される。ぬー、やるなHeroku(笑)。

ちょっと別の方法を探さないとなー。いちおうmobiファイルを生成するrubyなライブラリもあるみたいだから、ちょっとためしてみるか。ちなみにkindlegen gemは、Heroku抜きにしてもそれなりに便利なので個人的にはいいもの作った気分ではある。tarballでしか配布されていないツールをインストールする方法としてアリだね、これは。

Tags: heroku gem ruby

2011-11-30(水) [長年日記]

Webで日記をつけはじめて今日で12年

ついにひとまわりしたぞ。

日記をつけ始めた当初は「Linuxデスクトップ導入の作業メモ」だったんだけど、あまりの完成度の低さに途中でめげて、けっきょくWindowsに戻ったままなんだよな。もちろん開発用に常時VMwareでサーバモードのDebianが動いているわけだけど。

Ubuntuの登場以来、Linuxデスクトップも急速に進化したようだし、またLinuxに戻ってもいいかもね。実際、Ubuntuで日常生活を送っている人も多いし、WindowsもVMwareで動かせばいい時代だし。

……とか言ってたら、今はLinux Mintなんだって*1。UbuntuがDebianの派生で、MintはUbuntsuの派生なのか。なんだかややこしいなぁ。そうだ思い出した、ディストロ追いかけるのが疲れるんだよね、Linux界隈は。まぁ覚悟を決めてどこかと心中すればいいわけだけど。

(とか言いつつ、やっぱり「そんな時間ねぇ」という理由でWindowsを使い続ける可能性が90%くらい。Windows8も楽しみだし)

*1 「そんなことはない」という声もあり。 http://gihyo.jp/admin/clip/01/linux_dt/201111/29

本日のツッコミ(全2件) [ツッコミを入れる]

yoosee [Debian sid と心中するのがいいですよ :)]

ただただし [それは文字通りの意味で心中になりがちだからイヤ(笑)。]


2011-11-29(火) [長年日記]

継ぐのは誰か? (ハルキ文庫)(小松 左京)

引き続き追悼読書。というかBookOffオンラインに登録しておくと次々と入荷してくれてしまうのでなかなか止まらない(笑)。

たしか中学生のころに読んで、最初に「小松左京すげー」と感じた作品がこれ。そのくせ、どんな話だったか覚えてないんだけど。冒頭の「チャーリーを殺す」ってとこだけ覚えてた。前半はミステリー、後半は新人類テーマの硬派なSF。

SF小説が未来を予言するなんてヨタは、現代のSF読みなら頭っから否定するところだろうが、四十数年前に書かれたこの作品では、それはそれはみごとにインターネットと携帯電話が描かれていて、もう小松左京には「ごめんなさい」するしかない。他の作家だと、ほんの二十年前の作品にすら満足に携帯電話が登場しないくらいなのに。特にインターネットに関しては、実体とはトポロジー的にはだいぶ異なるのだけれど、使われ方にはそんなに違いがないというかむしろこれは「クラウド」を予言してると読み取ってもいいかも知れない。

もちろん一方で、男女の役割がずいぶんと固定されていたり、人が大勢集まっている部屋がタバコの煙でもくもくだったりと、21世紀後半が舞台とすればさすがに古臭い描写も多いのだけど、それにしたってちょっとすごすぎるよなぁ。

Tags: book

トップ 最新 追記
RSS feed