Ruby 1.9.2 CSV でInternal Encodingを指定するとおかしくなる件

今日これで数時間潰してしまったのでメモ。

Ruby 1.9のCSVでShift-JISのファイルを読み込むときのバグです。

# encoding: UTF-8

require 'csv'

CSV.foreach('test.csv', row_sep: "n", encoding: "SJIS:UTF-8") do |row|
  puts row.join(':')
end

CSV.foreach('test.csv', encoding: "SJIS:UTF-8") do |row|
  puts row.join(':')
end

ファイル”test.csv”は以下のもので、行末は”n”でエンコーディングはShiftJISで保存してあります。

今日は,2月末なのに,東京でも,大雪でした

ruby 1.9.2-p290で実行すると

NaoAir:Desktop nao$ ruby test.rb 
今日は:2月末なのに:東京でも:大雪でした
/Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:2027:in </code><code>=~': invalid byte sequence in UTF-8 (ArgumentError)
	from /Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:2027:in </code>init_separators'
	from /Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:1570:in <code>initialize'
	from /Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:1335:in </code>new'
	from /Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:1335:in <code>open'
	from /Users/nao/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/csv.rb:1201:in </code>foreach'
	from test.rb:19:in `'

のようになります。最初の”row_sep”を指定したものはうまくいきますが、”row_sep”を指定していない方はエラーが出ます。

理由は”row_sep”で行末記号を指定してあげないと、CSVは自分で先読みをして行末記号を推定しようとしますが、この処理がエンコーディングによってはバグを起こすようです。

解決策は最初の例のように行末記号をしてあげる、そもそも自動推定をさせないこと。あるいはCSVにtranscodeさせるのをやめ、CSVから得られた個々の結果を個別に#encodeしてあげること(下例)。

CSV.foreach('test.csv', encoding: "SJIS") do |row|
  puts row.map{|c| c.encode('UTF-8')}.join(':')
end

あるいはRuby 1.9.3ではこのバグは修正されているようですので、1.9.3にアップグレードすれば問題なく処理されます。

RocheがIlluminaに買収を仕掛けてることについて思うこと

RocheがIlluminaに対して買収を仕掛けていて、敵対的買収も辞さない姿勢を見せています。これはWebを賑わせている話題ですので、すでにご存じの方も多いと思います。

Rocheの狙いが何なのか、Illuminaが買収に抵抗したとしてもRocheはどこまでやり通す気でいるのか、僕なりに思うことを紹介したいと思います。なおこの件については、僕は詳しくフォローしているわけでもないし、またインサイダー情報も一切ありません。一般的に知られていることを組み合わせて議論したいと思います。

なお、このBusinessWeekの記事がいろいろの人の意見があって面白いです。

当のRocheの社長はなんと言っているか

以下のビデオでRocheの社長であるSeverin Schwanが説明をしています

私なりに話の要点をまとめてると;

  1. Illuminaは主に米国を中心に展開しています。それに対してRocheであれば、より小さな国にも入り込める販売網を持っています。
  2. DNAシーケンスは、将来の診断において中心的な技術になると考えています。
  3. 以前のDNAシーケンスは非常に高価でしたが、これだけ技術が発展してくると、今がまさにルーチンの臨床診断への応用を考えるべきタイミングと言えます。
  4. ルーチンの臨床診断への応用は非常に困難です。研究の世界から、レギュレーションが多い臨床の世界に持ってくるのは多くのノウハウが必要です。Rocheはそれを持っています。
  5. 以上のことを考えると、RocheがIlluminaを買収すると言うことは双方にとってメリットのある話です。

どんな買収の時も、経営者は「シナジー」という言葉を口にします。多くの場合「シナジー」が本当に生まれることはまれで、 1 + 1 < 2 という結果になることがほとんどです。

しかし今回は非常に納得性の高い「シナジー」です。一つ一つのポイントが具体的で、的確です。本当に 1 + 1 > 2 となる予感があります。

$5.7 billionという金額はRocheにとってどんな金額か

RocheはGenentechを買収したときは $46.8 billionで買っています。Ventanaを買収したときは $3.4 billion

次世代シーケンサーで最大のシェアを持つIlluminaを$5.7 billionで買収できるのであれば、Rocheにとってはそんなに高い買い物ではありません。Rocheが2007年に454 Biosciencesを買収したときは $152 millionだったということなので、これに比べれば桁違いに大きな金額になりますが、次世代シーケンサーの発展と臨床への応用の可能性を考えれば、それは妥当な線ではないかと思います。

Illuminaの研究者が逃げたらどうするのか

買収があるときに良くある話です。454 Life Sciencesを創設したRothbergが後にIon Torrentを創設して、良く似た原理で454シーケンサーの発展形を作ったという話などがそうです。

でもそろそろ関係なくなってきました。$1,000ゲノムの実現が目の前に迫り、そしてゴールテープを切ってももうしばらく価格が下がる状態が容易に想像できます。現在の技術だけでも例えば$500とか$200ぐらいに落ち着いてくるでしょう。そうなるとゲノムをシーケンスすること自身は診断コストを決定する要因ではなくなります(化学者にとっては律速段階と言った方がわかりやすいかも)。

まだまだ技術の発展の可能性はありますが、臨床応用をすることに限って言えばコストは十分に下がってきています。$500からさらに一桁二桁価格が安くなったとしても、最終的な診断コストが大きく変わることはありません。そういう意味で、仮にIlluminaの買収によって頭脳流出があっても、Rocheにとってはあまり悩む話ではなさそうです。

イノベーションの次の段階

Clayton Christensen氏のコンセプトの中に “Law of conservation of attractive profits”というものがあります。バリューチェーンの中の要素(この場合はDNAシーケンサー)の技術が進化し、結果としてもう十分すぎるぐらいの性能が出るようになったとき、そこには”attractive profits”は蓄積されなくなります(つまりIlluminaの技術の価値が下がります)。その代わりその要素の前後、バリューチェーンの他の要素に”attractive profits”が蓄積されるようになります。そしてそこにイノベーションが生まれていきます。

ゲノムシーケンスの場合は、それはサンプルの調整であったり、データの解析であったりするはずです。また臨床応用にはレギュレーションという大きなハードルがありますので、これを突破できる会社(例えばRoche)に”attractive profits”が蓄積されていくという状態になります。

研究者はデータの解析に目が行ってしまうと思います。しかし実際にはレギュレーションをクリアしていくことの方が遙かに人間のリソースが必要で、ノウハウやコネクションが重要で、参入障壁も高くなっています。”attractive profits”はまさにここに蓄積されていくでしょう。

またレギュレーションのことを考えると、機器をレギュレーションにマッチするように作っていくことも大切です。仮にDNAシーケンスの研究用のハードウェアの価格下落が激しかったとしても、診断向けのものはしばらく後まで高い利益を確保できる可能性が残ります。

つまりDNAシーケンスの次のイノベーション・フロンティアは、今となってはレギュレーションをどうやってクリアしていくかになってきました。個人情報管理や診断で得られた様々な知見をどのように患者に伝えていくか、まだまだクリアされていない課題は山ほどあります。ボールはシーケンス技術の世界から、レギュレーションの世界に投げ込まれました。

Mixiのアクセスデータからスマートフォンへのシフトを眺める

「Mixiの現状をグラフ化してみる(2011年12月末時点)」というブログ記事があったので、興味深く読みました。

こんなことが書いてありました。

(Mixi側は)ページビューの減少傾向、月間ログインユーザー数の成長鈍化についてリリースでは、直接的には「1ページの情報量が多いスマートフォンへのユーザー移行が増えた」「スマートフォンでは一部アプリの利用において、ページビューに反映されない」「ユーザー利便性を優先したインターフェイスの変更で、(誤操作や迷いのための別ページ視聴が起きにくく)ページビューが減退している」と説明している。

….

「スマートフォンの利用拡大という現実を踏まえ、適切な収益を挙げられる商品の開発(利益面でも「スマートフォンへの利用のシフトにより、モバイル広告売上が落ち込み」と言及されており、現状のスタイルでは効果的な収益が上げにくいことをうかがわせている)」の二つが、資料からはうかがえる。

要するにガラケー中心の広告収入モデルを、スマートフォン用のものに切り替えるのが遅れているようです。

僕は以前にこのブログで「ミクシィのケータイへのシフトを読み解く」という書き込みを2009年2月1日にしました。その中で僕は以下のように述べています。

個人的には日本のインターネット産業が携帯電話にシフトしていくことに危機感を感じています。理由は以下のものです。

  1. 日本だけの閉じた産業・技術で終わってしまい、日本のインターネット産業の国際競争力育成につながらない
  2. iPhoneなどに見られるように、携帯電話の進歩は凄まじく、パソコンと同様のことができるようになる日は近い。パソコンでのビジネスモデルから携帯電話のビジネスモデルにシフトしてお金を儲けようとしても、携帯電話そのものがパソコン化してしまうだろう

日本のインターネット産業には、安易に携帯電話にシフトするのではなく、パソコンでのビジネスモデルをどのように発展させていくかということをもっと真剣にやってもらいたいと思っています。確かに今は携帯電話ビジネスの方が儲かるかもしれません。でも、技術革新のスピードを考えると、携帯電話が独自のビジネス空間を形成していられるのはせいぜい5年だと思います。iPhoneや携帯性に優れたNetbookにより、携帯電話独自のビジネスはあっという間に浸食されてしまうのは間違いのないことでしょう。

すでに2008年7月11日に日本でiPhoneが発売されていましたので、その時点ですでにほぼ読めたことです。

ただ、まぁMixiは完全に後手後手の感がありますね。

こういうのはドラッカー風に言えば「すでに起こった未来」

iBooks AuthorのウィジェットがePub3じゃなくて良かったという話 – Booki.sh Blogより

先日「iBooks Authorは電子書籍ではなくブックアプリを作るソフト。だからePub3じゃない。」という書き込みの中で、iBooks AuthorがePub3を採用しなかった最大の理由はデジタルの可能性を最大限に追求したいからだろうと推論しました。

その書き込みをしたときから気になっていたことがあります。ePub3ではJavascriptが使えます。そしてJavascriptを使えば、もしかしてiBooks Authorと同じようなインタラクティブなウィジェットが作れるかもしれません。つまり、iBooks Authorと同じ機能をePub3で実現することが不可能とは断言できないのです。

それにもかかわらずiBooks AuthorがウィジェットにePub3を採用しなかった理由は何だろうと考えました。以前の書き込みをした当時は、ePub3やJavascriptのような業界スタンダードに縛られてしまって、イノベーションのスピードが落ちるのを危惧したのではないかと考えていました。

しかし Booki.sh Blogの“A favor from Goliath”という記事を読んで、考えが変わりました(ちなみにBooki.shはebookをブラウザで読むためのプラットフォーム)。

Booki.sh Blogが言っているのは要約すると次のことです;

  1. ebookの中にJavascriptを埋め込んでインタラクティブなウィジェットを実現するやり方はセキュリティー上の問題があるし、ユーザインタフェースとしても良くなりません。(詳細はこっち
  2. iBooks Authorのやり方は、ebookファイルにはどのようなインタラクティブな機能を実現するべきかを記載するに留め、それを動作させるための実際のプログラムはebookファイルに記載していません。ebookファイルに記載された通りの動作を実現するためのプログラムはiBooks 2の中に置いています。
  3. インタラクティブなウィジェットのプログラムをebookファイルの中に(Javascriptで)埋め込んでしまうと、ebookファイルそのものを書き直さない限り、ユーザインタフェースを改善したり、バグを直したりできません。それに対してウィジェットのプログラムがebookリーダーの中にあれば、ebookリーダーをアップデートするだけですべてのebookのウィジェットのユーザインタフェースが改善できます。

言われてみるとなるほどと思うものばかりですが、プログラミングをあまりやったことがない人だとわかりにくいかもしれませんので、以下に自分なりに解説してみたいと思います。 Continue reading iBooks AuthorのウィジェットがePub3じゃなくて良かったという話 – Booki.sh Blogより

ソニーとキャノンの小型カメラビジネスがスマートフォンに食われている件

決算報告とかを見ているわけではないのですが、Daring FireballのJohn Gruber氏によるとソニーもキャノンも小型カメラビジネスがスマートフォンに食われてしまって、売り上げが落ちてしまっているらしいです。

John Gruber氏が参照しているリンクは以下の通り;

  1. Imaging Resource – “Canon sales slip, president to step down”
  2. Gadgetbox – “Sony debuts 3 new Cyber-shot cameras”

それぞれ以下のことが書かれています。

キャノンについて;

The company reported growing demand for single-lens reflex cameras globally in 2011, but demand for compact cameras was said to have been sluggish in all but emerging markets.

ソニーについて;

Sony’s Kate Dugan admitted that despite the natural disasters in Japan that affected production and shipment of its digital cameras, “true decline” has set in for digital cameras, in which sales are down 20 percent, the first time losses have hit in the double digits. The exodus is most pronounced amongst entry level users, who have turned to their phones as their all-in-one must-have gadget.

Dugan said that meant Sony has to focus on things phones can’t achieve, such as “high optical zoom, low light shooting, full HD video.” The way the company sees it, phones are fine to shoot food on the fly, but “important moments should go to cameras.”

この状況に対してJohn Gruber氏はAppleのiPod戦略との比較をしています。

Compare and contrast Sony’s approach to dealing with the decline in point-and-shoot camera sales with Apple’s approach to the decline in iPod sales. Apple is skating to where the puck is heading; Sony is skating to where the puck is at the moment. Apple executives have long been on the record that the company is OK with iPod sales being cannibalized by smartphones — so long as they are Apple’s own smartphones. That’s worked out well for Apple, because the iPhone is now far more popular and profitable than the iPod ever was. They didn’t hesitate in 2007 to make the first iPhone, in Steve Jobs’s own words, “the best iPod ever” too.

Clayton Christensen氏のイノベーション論の言葉を借りて言うと、

  1. Appleは社内で自らiPodに対する破壊的イノベーションを仕掛けました。
  2. ソニーはハイエンドに逃れることによって、ローエンドからの破壊的イノベーションから逃げようとしています。ただChristensen氏の理論によると、これは時間稼ぎにしかならず、長期的にはやられてしまう戦略です。

キャノンはもっとひどい状況にいるかもしれません。

iPadによって(ようやく)社内での無駄なコピーが減っていけば、複写機ビジネスの売り上げは落ちます。プリンタももうさすがに成長の可能性が見えません。加えてソニー同様にスマートフォンの進歩によってコンパクトカメラ、コンパクトビデオカメラのビジネスが縮小していきます。

キャノンは1990年代に日本でのアップルの販売代理店をしたり、Macintoshプロジェクトを立ち上げたジェフ・ラスキン氏が開発したキャノン・キャットを売ったり、スティーブ・ジョブズがアップルを追い出されて作ったNeXTの販売代理店をしたりしていました。ペーパーレス時代の到来を予測して、IT分野への多角化を考えていたのでしょう(これはXerox社がPARC研究所を作った経緯と似ていると思います)。キャノンはAppleのiPhone, iPadによる挟み撃ちを受けている感がありますね。

マーケティングに関する科学的・統計的調査

ひょんなことでAndrew Ehrenberg氏の研究を知ったので、関連リンクのメモをブログに残します。

後でしっかり読む予定ですが、かなり面白そうです。

  1. AdAge: Study: Only 1% of Facebook ‘Fans’ Engage With Brands
  2. AdAge: Do Popularity and Penetration Trump Loyalty?
  3. “The Contribution of Andrew Ehrenberg to Social and Marketing Research”, John A. Bound
  4. EMPGENS: “Repeat Buying”, Andrew Ehrenberg
  5. EMPGENS Home