「サイエンス・ビジネスの挑戦」を読んだ

「サイエンス・ビジネスの挑戦 バイオ産業の失敗の本質を検証する」の読書メモをみたら気になったので読んだ。

ProductName サイエンス・ビジネスの挑戦 バイオ産業の失敗の本質を検証する
ゲイリー・P・ピサノ
日経BP社 / ¥ 2,310 ()
通常24時間以内に発送

  • 人体を一つのシステム、医薬品をそのシステムを構成する部品と考えてみよう。人間の生物学的仕組みは、極めて複雑な上に、インテグラル型の性格が非常に強い。しかも、そのシステムはすべてあらかじめ決まっている。新薬開発に関わる科学者に、このシステムをモジュラー型に変える力はない。

  • (コンビケムへの期待に対して)生理活性をもつ化合物の構造上の特性に関する化学者の知識が新薬開発のプロセスに欠かせないことが改めて明らかになった

情報の非対称性

情報の非対称性とは、売り手と買い手の間に情報量の格差が存在することである。このギャップが大きいほど知的財産の価値などについて双方が合意に達するのが難しい。


特に情報の非対称性に関してはレイヤーや業種に関わらず常につきまとう問題ですな。他には製薬が学際領域(且つビジネス)という業界なので現場にしか分からない感覚っていう部分において本書の主張とちょっと違うよなぁという部分があった。特にモジュラー、インテグラルに関していえば、技術はもっとインテグラルよりだ。つまり、技術は選択肢の一つに過ぎないし、やりたい実験に適合するかどうかで柔軟に選択しているので技術そのものに過度な期待をするわけではない(そこらはアナリストとは違ったところかと)

Return to Forever / SEBA

Combination Recordsというところらしい。初めて知った。

ProductName Return to Forever
Seba
Combination / ¥ 2,429 (2008-09-29)
通常3~5週間以内に発送

DarkCore,ArtCore,TekStepあたりの懐かしさを伴いつつ、前進していく。

まったくもって、Blaze & Fade Outがやばすぎ。

他の曲もいいけど、この曲のためにアルバムを買ってもいいくらいの出来。

沼津でカワハギ釣り

この時期の楽しみの一つがカワハギ釣り。穴子みたいに放っておいてもくっついているという釣りとは違い、全神経を集中しつつ、奴らの攻撃を迎え撃つというスリリングさがたまらん。

夜釣りの太刀魚や、アオリイカも面白いが、こっちは昼間且つ餌を底に落としてから少しの間で一ターンが終了するのでお手軽(仕掛けも)。

今回ボートを借りたのは沼津の内浦の岩崎釣具店。内浦の堤防のすぐ近く。

1223793293

朝の天気はぱらついていたものの、午後にはすっかり釣り日和。

1223793297 1223793301

店のおばさんにリサーチをかけると、今年は結構釣れているそうで、前日爆釣したポイントを教えてもらい早速向かった。

が全然だめ。

というわけで、なんどかポイントを移動し、途中でコンスタントに釣れるポイントを見つけ、粘る。

1223793295

結局6,7匹と対してふるわなかった。あと、やたらと食いつきがよかったのと、小振りなせいか、あたりがわからずに苦労した。多分底についた瞬間には食われてたんだろう。実際、底に落とした瞬間に一回大きくしゃくってみるというパターンが一番のったので、こつを掴むまでの時間をロスッたのは痛い。

一番釣れたボートで30匹くらいだった(これ)。

1223793299

他のボートはアサリの仕掛けに真鯛(30cmくらい)もかかったらしい。

1223793303

久々の釣り。というか今年は夜釣りもいかなかったなぁ。

ProductName 新版カワハギ攻略マニュアル (タツミムック 釣れるさかなシリーズ Vol. 7)
つり情報編集部
辰巳出版 / ¥ 1,575 ()
通常24時間以内に発送

カワハギボート釣りはお薦め。

里山ビジネス

ワークライフバランスというと、仕事と家庭を対立するものと捉えて上手にバランスさせることを意味するように思うが、著者のスタイルはワークとライフを同じ軸、方向に向け且つ融合してしまうような生き方。

里山ビジネスと銘打っているが、ライフスタイル的。

ProductName 里山ビジネス (集英社新書 448B)
玉村 豊男
集英社 / ¥ 714 ()
通常24時間以内に発送

最初のほうはよくある感じの体験談なんだけど、3章の後半からが面白い。

  • 地産地消といいますが、私はその地産を、自分の畑でつくっているもの、軽トラックで取りにいくか持ってきてもらうか、直接に運搬できる範囲で作られているものとかんがえています
  • そもそも単一品種の大量生産というのは、植民地の農業のやりかたです
  • 森と人との境界線を探り、周囲の自然との折り合いを付けながら暮らすための知恵がしめしているように、持続するためには拡大してはいけないのです
  • 知らなければ存在しない、知られてだめなら致命傷

疎結合が重要ということですな。

CPAN Testerからメールが来た

CPANって地味に凄いなと。

An automated check of reports sent to CPAN Testers detected some issues with
your CPAN Testers configuration.  Please check your configuration and upgrade
out-of-date modules to help ensure your test reports are consistent with
the latest bug fixes and CPAN Testers standards.

Issues are listed in YAML format with number of occurrences by architecture and
Perl version since the last notification.  If you upgraded recently, this list
may cover reports since the notice, but prior to your upgrade.  If so, please
disregard those items.

---
i386-linux:
 5.8.8:
   CPAN::Reporter out-of-date (1.08 < 1.17): 1
   Test::Reporter out-of-date (1.38 < 1.5): 1

早速アップデート

今年の冬のはじまりは10/18

オレオレ暦的には10/18からが冬となります

http://www.yeti-resort.com/info/open08.html

今年は滑る。

CTMCP chapter2 終了

メモリライフサイクルと例外が面白かった。

  • メモリライフサイクル
  • 核言語
  • 例外

ProductName コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)
セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi
翔泳社 / ¥ 8,610 ()
通常24時間以内に発送

宣言的モデルに二つの制限をおいて純粋関数型言語を定義できる

  • 変数を宣言するとき、ただちに値に束縛する
  • 手続きでなく関数だけを使う

setuidされたCGIを実行するためのperl

ごくたまにこんなことやりたかったりすることありますよね。

use File::Tail;

sub get_ip{
  my $line = File::Tail->new(name => "/var/log/httpd/access_log", tail => 1)->read();
  my ($ip) = split / /, $line;
  return $ip;
}

print "Content-Type: text/plain\n\n", get_ip();

rootじゃないとアクセスできないのでsetuidする必要がありますが、それだけだとエラー吐いてうごかないので、fedora8もそれ用のperlが必要。

yum install perl-suidperl

スクリプトも

#!/usr/bin/suidperl

ではじめる必要がある。

参考 - Perl でsetuid されたCGIの実行

Music is Math

これかっこいいですの。


Music Is Math from Glenn Marshall on Vimeo.

Gainerでピンポン玉ディフューザー

とりあえずprocessingでいじる。マウスの位置に応じて色が変化するように。

コードは単純なので色もあんまり出なかった。

import processing.gainer.*;

Gainer gainer;
void setup(){
  gainer = new Gainer(this);
}

void draw(){
  background(0);
}

void mouseMoved(){

  float rx = (float)mouseX / width;
  float ry = (float)mouseY / height;
  int v0 = int(255*ry);
  int v1 = int(255*rx);

  gainer.analogOutput(0, v0);
  gainer.analogOutput(1, max(v1-v0,0));
  gainer.analogOutput(3, max(v0-v1,0));
}

参考