Pieces Of Peace

Journal to me in the future

2013年11月に読んだ本

読書の秋なのにこの2か月で4冊か…とはいえ、

  1. 翻訳版が文庫本上下1000ページを越えるSF小説の原著を読みきれた
  2. 国際霊柩という仕事の存在を知れた
  3. 目標としている方の本を初めて読んだ

と、なかなかに濃ゆ~い読書体験の連続でした。

harupongさんの本棚 - 2013年11月 (4作品)
Daemon
Daniel Suarez
読了日:11月20日
評価4

powered by booklog

さて、今月は何を読もうかなぁ。


.bashrc と .bash_profile の使い分けを工夫する

工夫と言うほど凝ってもいませんが、はじめの一歩ということで。.zshrc.zprofile の使い分けも同様に。

.bashrc

bash の動作に関する設定を書くファイル。補完、色付け、履歴などなど。どのマシンでも共通。

.bash_profile

bash 起動時に読み込まれる環境設定を書いておくファイル。$PATH を通したり独自の環境変数を定義したり。マシンごとに違う。

使い分けると嬉しいこと

  1. cron を設定するときに嬉しい1
  2. ドットファイルをバージョン管理したいときに嬉しい2
  3. Vim と同じ と覚えると覚えやすい3

最後のが一番嬉しいですね!!!!

小難しい話 ~ログインシェルと対話型シェル~

公式マニュアル読んでも、日本語解説読んでもピンとこない。

  1. 対話型ログインシェル のように、両者は共存できる4
  2. cron が使うシェルはそのどちらでもない(っぽい)

この辺はもうちょっと勉強してくる…続きはまた今度。


  1. /bin/bash -l とすると、良しなに環境変数を呼び出してくれる

  2. profile 系のファイルを .gitignore に入れておくと、パスワードやシークレットキーを環境変数として .bash_profile に設定しても誤って GitHub とかにあげちゃうことにならずに済む

  3. Vim の動作に関する設定は vimrc に書くでしょ。Bash も同じだよ、と覚える

  4. サーバーに SSH ログインすると出てくるシェルはまさにこのパターン


オンラインバックアップサービス Crashplan の年間契約を更新した

オンラインバックアップ用に契約している Crashplan の年間契約を更新した。

会社として応援したいのは競合の Backblaze

なのだけれど、がしがし使ってる NAS のデータをバックアップしてくれるのは Crashplan だけ…2

今なら更新キャンペーンで2か月無料でつけますよ!というメールが Crashplan から来たので、Backblaze との差額は NAS バックアップ分のプレミアムということで割り切ることにした。

TODO: 次回更新時までに NAS の使い方を工夫する(バックアップ用途の度合いを下げたい)


2013/11/21 追記

Bitcasaが新料金体系、容量無制限プランは従来の年額99ドルから年額999ドルに -INTERNET Watch

Crashplan と Backblaze の一騎打ちに割り込んでくるかも~、と思っていた Bitcasa。サービス開始2年でこれはしょんぼりですな。候補からは脱落。

月5ドルの明瞭会計で5年以上サービスを継続してる前述2社の先行者利益は当面続きそうだね。


  1. ハードディスク寿命のポストとか容量180TBな自作ストレージ装置のポストとか。

  2. Backblaze はNASをサポートしないという方針で運営されている。


らじる★らじるの番組情報等メタデータ

NHKラジオのネット配信「らじる★らじる」を録音するツールを Ruby で作った - Pieces Of Peace で利用している情報のメモ。


らじる★らじるのトップページへのアクセス時に読み込まれる Javascript が2つ。らじる★らじる固有の処理は後者に含まれている。

  1. http://www3.nhk.or.jp/netradio/files/js/jquery-1.9.1.min.js
  2. http://www3.nhk.or.jp/netradio/files/js/common.js

common.js の以下の記述

1
2
/* config読込 */
config.get(dirplus+"/netradio/app/config_pc.xml");

より、config_pc.xml かららじる★らじるの設定情報が読み取れることが分かる。使えそうなのは以下の4つ。

  1. 各地域のストリームURL
  2. ただいま放送中の番組を取得するAPIのURL
  3. 番組表を取得するAPIのURL
  4. 番組の詳細情報を取得するAPIのURL

各項目について、2013/10/22時点で分かることをメモ。

各地域のストリームURL

第1・第2・FMの3チャンネル分が rtmp と mms のプロトコルで、仙台・東京・名古屋・大阪の4地域分提供されている。ただし、NHK第2のストリームは4地域共通で重複しているので、実際は全部で18ストリームになる。

以下は東京の3チャンネル分6ストリーム。他の地域も config_pc.xml に記載されてる。

rtmpプロトコル

rtmpe://netradio-r1-flash.nhk.jp/live/NetRadio_R1_flash@63346
rtmpe://netradio-r2-flash.nhk.jp/live/NetRadio_R2_flash@63342
rtmpe://netradio-fm-flash.nhk.jp/live/NetRadio_FM_flash@63343

mmsプロトコル

http://mfile.akamai.com/129931/live/reflector:46032.asx?bkup=46037&prop=a
http://mfile.akamai.com/129932/live/reflector:46056.asx?bkup=46060&prop=a
http://mfile.akamai.com/129933/live/reflector:46051.asx?bkup=46055&prop=a

ただいま放送中の番組を取得するAPIのURL

config_pc.xml に記載されている URL と、

http://www2.nhk.or.jp/hensei/api/noa.cgi?c=3&wide=1&mode=jsonp

ネット上でよく言及されてる URL

http://cgi4.nhk.or.jp/hensei/api/sche-nr.cgi?tz=all&ch=netr1&date=2013-10-24
http://cgi4.nhk.or.jp/hensei/api/sche-nr.cgi?tz=all&ch=netr2&date=2013-10-24
http://cgi4.nhk.or.jp/hensei/api/sche-nr.cgi?tz=all&ch=netfm&date=2013-10-24

の2種類がある(以下、前者を公式、後者を非公式と呼ぶ。)。

公式
位置情報自動判定。「現在放送中の番組」「一つ前に放送した番組」「次に放送する番組」の3番組情報が、3チャンネル分返ってくる。チャンネルと日付指定不可。
非公式
チャンネルと日付が指定可。日付指定なしだと当日分になる。指定内容で一日分の番組情報(朝5時からの24時間分)が返ってくる。日付指定は当日以降7日間(計8日分)有効。1

動作しなかったAPI

番組表を取得するAPIのURL

http://www2.nhk.or.jp/hensei/api/sche.cgi?c=3&mode=jsonp

番組の詳細情報を取得するAPIのURL

http://www2.nhk.or.jp/hensei/api/sche.cgi?c=3&mb=1&mode=jsonp

参考にしたサイト

radikomemo - foltia - Trac


  1. なお、チャンネルは東京の3チャンネル分だけ指定可能の模様。


NHKラジオのネット配信「らじる★らじる」を録音するツールを Ruby で作った

構想ここ数か月(?)、作業は夜な夜なエンドレス…思い立ったが吉日の結果がようやくまとまった!で勢い余って公開してみた。

名前は ripdiru。勢い余ったことには後悔してないけど、名前は未だしっくり来ず。。ツッコミ大歓迎。

ripdiru | RubyGems.org | your community gem host

何が出来るの?

らじる★らじる NHKネットラジオのライブ配信を MP3 ファイルに録音してくれます。ラジオ第1ラジオ第2NHK-FMに対応しています。

番組表と連動しているので、録音を自動停止させたり、番組情報をタグとして MP3 ファイルに埋め込んだりすることもできます。

インストールと使い方

  • Ruby 1.9
  • rtmpdump
  • ffmpeg

上記3つは不可欠なので入れておきましょう。ffmpeg は曲者なので、本家からリンクされてるビルド済みファイルを使ってる OS に合わせてダウンロードするのが吉です。

それらのインストールが完了したら、

1
$ gem install ripdiru

を実行すれば ripdiru のインストール完了!あとは

1
$ ripdiru NHK1

などと局を指定して ripdiru を起動してやれば、自動で録音開始→終了。~/Music/Ripdiru 配下に MP3 ファイルが保存されているはずです。

ありがちなエラーと対策

  1. libmp3lame がない

続きは後で書きます…(書くよ、うん。)

名前の由来

モロパクリ多くのヒントをもらった @miyagawaさんのツール ripdiko にちなんだ名前です。らじる★らじるは公式な英語表記が見当たらないのだけど、サイトのソースなどと見てると RADIRU という表記がちらほら。RADIRU を rip するツールということで、ripdiru です。

感謝の意


需要はまったくないでしょうが、プログラミングの近道は「自分がほしい物を作る」らしいので自分にとっては大きな第一歩です。使ってみた!うまくいかない!ここ直して!などなど、ご意見ご感想ありましたら、ぜひ Twitter で @harupong までお願いします。


【翻訳】Amazon にとっての「利益」

以下の文章は、Benedict Evans さんによる Amazon’s profits の日本語訳です。翻訳をご許可いただきありがとうございました。

The following is the Japanese translation of Amazon’s profits by Benedict Evans. Thank you Mr. Evans, for letting me translate your writing.


Amazon にとっての「利益」

Amazon を巡る疑問。それは、同社が利益を生んでいない、ということではなく、彼らにとって何が利益なのかが分からない、ということだ。

一見すると、この疑問は的外れに思える。なぜなら、事実 Amazon はまったく利益を生んでいないのだから。まず、このグラフを見てほしい。収益の伸びは凄まじいが、利益はゼロだ。

Screen Shot 2013-08-08 at 17.13.44.png

より厳密な分析のためには、フリーキャッシュフロー、特に(季節要因からくる起伏をならす意味でも)直近12か月のフリーキャッシュフローに注目すべきだろう(それは Amazon が好んで使用する指標でもある。)。

Screen Shot 2013-08-08 at 10.22.01 pm.png

とはいえ、そうしてみたところでどこにも利益は見当たらない。実際、(他社と比較しても)ただでさえ少なかった純現金収支は、設備投資(ただし、それには2012年第4四半期に行われたシアトル本社ビル購入の14億ドル一括払いも含まれるが)によってほぼゼロに近い水準まで減少している。Amazon が自社ビジネスであげた収益の全てを、価格競争の原資、市場規模の拡大、設備投資などの形で、さらなる成長のための投資としてつぎ込んでいることは明らかだ。

これらの事実から、Amazon という会社についての見方が2つ出てくる。1つ目は、露骨な表現ではあるが、他社を圧倒できるようなシェアを得た時点で「スイッチを切り替える」、つまり、値上げと設備投資削減で利益をあげる方針に切り替える会社だ、という見方。

もう一つは、実際にはありえないのだけど、Amazon という会社が詐欺まがいだ、という見方。つまり、Amazon は利益ゼロ状態でしか成長できず、値上げと設備投資削減を行ってしまえば事業は失敗に追い込まれるし、株価の上昇が止まれば全社員が去っていくだろう、という見方だ。

確かに、Horace Dedui の指摘にもあるように、ビジネスモデルさえ変えれば利益があがる、なんてことはない。ただし、Amazon に限っていえば、別の見方もありえる。それは、Amazon の事業は一本柱ではない、という見方だ。

Screen Shot 2013-08-09 at 14.12.41.png

このグラフは、Amazon が公表している収益の分布を示したものだ。収益は、発達度合いの異なる複数の産業、かつ異なるいくつものマーケットに及んでいる。おそらく、企業経営との向き合い方も Amazon の場合は異なっているのだろう。すなわちそれは、上述のような再投資の後に残るフリーキャッシュフローや純利益を重要視するやり方ではなく、各事業の本質的な成果を重視する、ということだ。

しかも、Amazon の違いはそこにとどまらない。なぜなら、Amazon の実態はもっと細分化されているからだ。同社内では、製品ラインの大半は国や地域ごとに責任者が置かれ損益が管理されている(皮肉なことに、社内の透明性は非常に高い)。うまくいかず撤退するものもあれば、始まったばかりのものもあるし、絶好調のものもある、といった具合だ。

一方、Amazon は常に新しい事業を生み出してきている。それらの新事業も開始時は、他社の新事業同様、会社にとってはお荷物だ。だからといって、利益をあげるために「スイッチを切り替える」ようなことを Amazon はしない。他の自社事業同様、ただただ規模を拡大し続ける。

これらが意味すること、それは Amazon の売上が以下の4要素の組み合わせから生み出されているということだ。

  • 新たな販路への投資
  • 「戦略的」低価格
  • 新事業運営での損失
  • 既存事業からの補填

要素の組み合わせ方がどうなっているか、外部から分かることは少ない。唯一分かることは、最終収益をゼロにすべく、損益計算書の最後に残る利益の全てをベゾス氏がこれら4要素に回している、ということだ。とはいえ、うち少なくとも2つの要素は、事業へのマイナスになったり戦略上の矛盾を生むことなく、金のなる木へと変わることができるわけだが。

あるいはこうも言えよう。Amazon とは、一つのプラットフォーム上に成り立つ無数のオンラインビジネス系スタートアップの集合体だと。うまくいってるものから集まる利益の全ては、生まれたてのお荷物たちに費やされていくのだ。

この考えについて、2つの類似例が思い浮かんだ。1つ目は GE。GE は自社の売上を念には念を入れて管理していたので、内部で何が起こっているかを第三者が把握するのはとても難しくなっていた。

もう1例はマルクス主義。カール・ポパーが指摘したように、マルクスの唯物史観が抱える問題とは、誰もそれを反証できないということだった。どんな科学理論であれ、反証にさらされる。その理論は正しくない、ということを示すような事象が起こりうるものだ。しかし、マルクス主義を反証しうる事象は存在しない。マルクス主義者はこう言うだろう。「革命の条件が適切でなかったのだ。しばし待て。そうすれば来世紀には革命が起こるだろう」と。

マルクス主義者の主張同様、「Amazon が何をどうしてるかは外部からだとよく分からないけれど、しばらく様子見してればいずれ利益を生む会社になるでしょう」という主張も疑わしい。というのも、その主張の正誤を確かめることなく、ただただ様子を見続けることになるかもしれないからだ。


初出公開: 2013年10月3日、 最終更新日: 2013年10月3日


2013年9月に読んだ本

先月は実にひさ~しぶりに英語の小説を一冊読み切りました。Steve Jobs 伝記を読んだりはしていたけれど、小説は英語についていくのがつらくて最近は積ん読のものが多かったのです。

読んだのは大好きな John Grisham さんの最近の本で The Racketeer。この方の書く英語は比較的平易で読みやすいのですが、それでもやはり一冊読みきれたのは嬉しかったというか、まだまだ自分の英語も捨てたもんじゃないぞ、と。

これに気を良くして今月も英語で小説を読もうキャンペーンを継続中。1冊目を1割ほど読み進めてようやっと面白くなってきたところなので、今回も諦めずに済みそうです。

harupongさんの本棚 - 2013年09月 (6作品)
The Racketeer
John Grisham
読了日:09月17日
{book['rank']

powered by booklog

さて、今月は何を読もうかなぁ。


タイムゾーンを変更したら cron の実施時刻がずれたので修正した作業メモ

Linux サーバーで cron ジョブを設定したら実施時刻がちょうど9時間ずれていた。初めてのことは何やっても必ずつまづくのぅ。ということで、修正作業メモ。使っているのは Ubuntu 12.04.2 LTS

再現方法

  1. dpkg-reconfigure tzdata コマンドでタイムゾーンを日本時間に変更
  2. crontab -e コマンドで cron ジョブを追加
  3. cron ジョブ のログを確認すると、実施時刻が指定と異なる <- イマココ!

解決方法

cron のサービスを再起動する。

1
2
3
$ service cron restart
cron stop/waiting
cron start/running, process 8575

cron のサービスはシステム起動時のタイムゾーン設定を保持し続けるので、サービスを再起動して変更した設定を読み込ませる必要があるみたい。

ちなみに、参考にしたサイト では service crond restart コマンドを実行してサービスを再起動していた。Ubuntu は crond ではなく cron らしい。

蛇足

プログラミング関連でつまづいたらまず英語で検索、というのが習慣になっている今日このごろ。上記サイトを参考にコマンド実行するも crond なんてないよとエラー。 “ubuntu cron service restart” で出てきたLinux Start Restart and Stop The Cron or Crond Serviceにある /etc/init.d/cron restart を実行したところ、

1
2
3
4
5
6
7
8
9
$ /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
cron stop/waiting
cron start/running, process 8568

なる警告が。「/etc/init.d やめて service 使ってね」ってことのようだ。Ubuntu 発祥の upstart - event-based init daemonが理由みたいなので、時間見つけて違いなど調べてみたい。


秋の夜長に読みふける本を探す

Amazon 電子書籍を買い占めてからというもの、ヒマさえあれば池波正太郎さんの歴史小説を読みふけっています。秋の夜長、更に深みにハマるのもよいのですが、久しぶりに英語の小説をじっくり読みたいなぁ、と思い立って本を探してみることに。テーマはサイバースリラー1

あたりを参考に、

  • Jeffery Deaver
  • Daniel Suarez
  • Neal Stephenson

の3作家から一冊ずつ、日本語翻訳された作品の原著を読んでみようかと。まずは The Blue Nowhere (Jeffery Deaver) から。

以下は各作家の面白そうな本リスト。翻訳版は在庫がないものが多いのがちょっと残念ですが、秋の夜長に一冊いかがですか?

Jeffery Deaver

Read on →

カエルが NASA の月探査機を爆破未遂?NASA 曰く「カエルの状態は定かではない」

最近はまっているポッドキャストの一つ、Michael & Mami「バイリンガルニュース (Bilingual News)」1。iTunes ポッドキャストランキング1位を獲得、爆笑問題のラジオ番組でも度々紹介され話題になってるので、ぜひ一度聞いてみてください。

で、その第22話のトピックの一つ、オックスフォードオンライン辞書の新語追加で紹介されていた photobomb という単語。「写真撮影を邪魔する」という意味だそうです。他にしっくりくる日本語が思いつかず妙に頭に残っていたのですが、思わぬところで用例に出くわしました。

Solar System Exploration: Multimedia: Gallery: Spacecraft Images: LADEE Frog Photobomb

NASA 公式サイトで写真を紹介するページなのですが、そのタイトルに Photobomb。しかも、先日打ち上げられた月探査機 LADEE とカエル?

ということで、衝撃の写真がこちら↓。

Read on →