【Book】2014年に読んで良かった17冊

端くれエンジニアが2014年に読んだ197冊(2014-11-24時点)の中から特に為になった17冊をテクノロジー, デザイン, ビジネス系に分類して紹介します。
忙しくなる師走の前に書いておこうと思いましたが, 12月末には17冊より増えている可能性があります。

book

テクノロジー系

『暗号解読上/下』

著者のサイモンシンは世界的に有名なサイエンスライターである。古代ギリシャの時代から情報を故意に隠すことを目的に使われている暗号について時代背景を交えながらわかりやすく解説した本。
WW1は化学者の戦争と言われているが, ドイツ軍と連合国はADFGVX暗号の解読をめぐり情報戦を繰り広げていた。
WW2では日本軍がナバホ語を解読できなかったことも戦況に影響したとされている。
WW2後はトランジスタ, IC, インターネットと技術が発展していく中で軍事用途だけでなく暗号を市民のためという活動が始まってきた。
DES,PGP,RSA,量子暗号など近代暗号技術についてボブ,アリス,イブという架空の登場人物を使ってわかりやすく解説している。
暗号とは科学であり, 科学と戦争は切っても離せない関係であるが, 暗号技術の発展に貢献をしたチューリングを始め不幸な最期を迎えている人が多いのが印象に残った。
サイモンシンの著書では宇宙創生もオススメ。

* ナバホ族 : グランドキャニオン近くのモニュメントバレーに住んでいた先住民族

『すごいHaskellたのしく学ぼう!』

今年はHeartbleed, ShellShock等セキュリティ関連の話題が豊富だったので, 安全なコードとは何かを改めて考えた人も多いと思う。ひとつの選択肢として, 関数型プログラミングの採用がある。中でもhaskellは純粋関数型言語である。
Haskellをこれから勉強する人でもモナド(Monad)という言葉を聞いた事があるかもしれない。関数型プログラミングに興味を持ちWikiのモナドを見たら, 挫折しそうになった経験がある。この本では13章で初めてモナドが登場する。おそらく理由として, モナドの基盤となるFunctor, ApplicativeFunctorの理解がモナドを理解する上で大事であるからだと思う。今思うと, モナドに対して自分で高い壁を作ってしまっていたように思えた。
新しい概念のプログラミング言語に触れたことは良い経験になったと思う。そして何より何かを学ぶ過程で楽しいというのは大事な事だと思う。

” さて今度はバランス棒にとまっている鳥の数によらずに, いきなりピエールを滑らせて落っことす関数を作ってみましょう。”
” bananaはおかまいなしにNothingを返すので, 以降のすべての結果はNothingになってしまいます。残念でした! ”
” Maybeモナドを使うと失敗するかもしれない処理が連続するコードをとても簡潔に書けるのです。”

* 原書 : Learn You a Haskell for Great Good

『世界を変えた確率と統計のからくり134話』

確率と統計に関するテクニカルタームとその歴史について解説した本である。
確率論の起源は17世紀頃とされていて意外と新しい。先駆者はカルダールとされている。
確率というテクニカルタームの誕生は1774年にまで進むことになる。統計学の歴史はstatisticsの語源がstate(国家)の算術という事からわかるように国家が税金の計算に用いていたようだ。
発見者と式の名前との関係性, 例えばフーリエ変換の発見者が実はラプラスで, ラプラス変換はラグランジュが発見者というのも面白い。
モーメント関数について学生時代はその意味がわからなかったけど, 確率論の視点から見ると理解が進んだ気がする。
歴史を追ってみる事でニュートンとライプニッツによる微積分の基礎がデカルトの幾何学に着想を与えているなどの関係性が見えて面白い。

最終章のラオの言葉が印象的であった。

” 統計学は思考や推論の方法であり, データから答えをだす処方箋ではない。”
” 全ての判断は, その根拠を問えば統計学である。”

* モーメント関数 : 個々の確率分布の特徴を知るために必要であり平均, 分散, 歪み度はモーメント関数だけでわかる

『データ解析のための統計モデリング入門 一般化線形モデル・階層ベイズモデル・MCMC』

通称, みどり本。まだ流し読みしかできていないので理解できるまで何度か読みたい本。
自分みたいな初学者はRなどのツールで簡単に最新の手法が使えるとそれを使って満足するかもしれないけど, 仮説を立てて選択した手法が今回のケースに適しているかをきちんと考える事が大事というのを気づかせてくれた本である。
決定係数やAIC, 仮説検定, 交互作用などの理論を理解する事で陥りやすい罠にハマらないで済むかもしれない。
GLM, GLMM, MCMC, ベイズ統計モデルあたりを学びたい人にオススメ。またRの入門書としてもオススメ。

* 本書監修の伊庭先生による「ベイズ統計と統計物理」は今読んでいる最中。

『ボクのBeagleBone Black工作ノート』

最近, rev.cが登場した手のひらコンピュータBeagleBone Black(以下BBB)に関するTIPS本。RaspberryPiやArduinoと比較すると知名度は低いが性能面ではBBBが上である。今年はGolang+BBBで遊んだ1年でもあった。
OSCではRaspberryPiの今後の方向性としてスペックアップより安定性に進む予定と伺った。BBBは電源系が弱いとの話もあるが人気がでることでTIがさらに性能面・安定性を向上してくれることに期待。

* RaspberryPiやArduinoとはそもそも目的が異なり単純にBBBが優れているという訳ではない。例えば, 現時点でRaspberryPiの方が連続稼働に適しているしArduinoに至ってはOSさえないので単なる比較はできない。

『サイボーグ昆虫, フェロモンを追う』

人間のニューロン数は約1000億個あると言われ, 現時点の技術でこれをコンピュータで再現することはできていない。しかし, カイコガは約10万個であり不可能ではない。脳科学だけなく異分野の融合で, 昆虫の優れた仕組みが解明されてきた。
ちなみに, 人間のニューロン数はスパコンの京でも追いつかない計算量だが, 2030年にはヒトの神経回路モデルが実現できるとされている。
個人的には, カイコガは人間の比ではない無数のセンサがあるが脳に伝達する前に重要でない情報をカットしているのがすごいと思った。逐一, 脳にセンサを伝達していたらその処理でカイコガはハングアップしてしまうだろう。

『思考する機械コンピュータ』

コンピュータの根本原理を解説した本。10年以上前の本だけど, コンピュータの原理が本質的に変わっていないこともあり古さは感じない。有限状態機械, レジスタなどコンピュータの原理だけでなく, 巡回セールスマン問題, 超並列コンピュータ, ヒューリスティック発見法, 公開鍵暗号など解説している範囲は広い。

” プログラマは詩人である ”
” 優秀なプログラマは, 人が表現できないことをコンピュータで表現できるひとである “

プログラマについてアーティストに近い表現をしているのが印象的。後半は機械学習の可能性についても触れている。

” 人間の脳のように生物学的進化の結果として形成されたものは必ずしも階層構造を持たない。”
” マシンの潜在性を認めるからこそ脳はマシンであるといえる “

『記号創発ロボティクス 知能のメカニズム入門』

記号創発ロボティクスとは, 実世界の認知に基づき言語を生み出すアプローチである。
筆者は構成論的なアプローチで研究を進めており, これは知能システムを作ることにより知能を理解するアプローチであり実際に物理エージェントを作ることによりその性質を理解することを目的としている。
また言語, 画像, 音声などのマルチモーダルな情報を統一的に扱っており特定の研究分野に依存していない。
機械学習や自然言語処理のみならず, 現実世界にフィードバックするための信号処理など制御工学の知識も必要であると思う。
人間の知能獲得プロセスに対しては依然として解明されていないことが多いように感じるので今後もこの研究に注目したい。

『高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング』

データ圧縮, 全文検索, テキストマイニングの基礎となる技術について解説した本。実は数章, 読み残している。
この本ではSuffixArray, ハフマン符号, BWT, ウェーブレット圧縮, 転置インテックス, N-gramなどについて学べる。
圧縮技術に取り組む人はとても工学的な発想の人だなと思う。
いかに効率よく圧縮して, いかに効率よく展開するかというわかり易い指標があるのがエンジニアリングとして面白い。
原理上, 通信速度は光の速度を超えないので圧縮技術は今後も重要な技術だと思う。

* 圧縮効率・速度というと比較が単純であるように思えるが実際には多くの場合, 圧縮効率の高い条件とそうでない条件がある

『アンドロイドは電気羊の夢を見るか?』

人間とは何か?がテーマの小説で映画ブレードランナーの原作。人間の主人公は賞金稼ぎで犯罪を犯したアンドロイドを処理していくという物語。物語の設定は現代の感覚からすると違和感を感じることもあるが, 1968年に刊行されたことを考えると筆者は卓越した先見性を持っていると思う。物語で登場する人間, アンドロイド共に人間らしくもありアンドロイドらしくもあると思った。
本書で登場するアンドロイドのNexus6はGoogleのNexusシリーズの名前の由来になっている。

* 2014/12/31に追加

デザイン系

『誰のためのデザイン?』

有名な認知科学者によるデザイン原論。
ヒューマンエラーの原因はデザインにあり, コンピュータの専門家が何故簡単な家電でさえ使いこなせないのかという疑問に認知科学の視点から解説をしている。ハードウェアの設計だけでなくソフトウェア設計にも通じる話だと思う。
会社に入社した年に工場実習で半導体部品の検査機械に触れたことがあったが, 操作するインターフェイスと機械の動作の対応関係がわかりづらく慣れるまで大変だった。人が道具の使い方がわからないのは, デザインが悪いからであるという一節があるが, 産業用機械の開発でプロダクトデザイナーが参加することは多くはなく, インターフェイスの設計もこなす必要がある開発エンジニアにはとても悩ましい話だ。

” 良いデザインは機能的で, 保守し易い ”
” 機能が増えれば, 複雑さと使いにくさの増大は避けられない ”
” あるエラーが想定される場合には, 起こる確率とエラーが引き起こす影響を最小にデザインする ”
“人は自分が上手くいくとは自分の能力, 人が上手くいくときは環境が原因と考えがちである。”

この本を見てから, 最近の本を見てみると本質的には同じことを言っている本が多いように思える事が多い。
デザイナーでなくてもモノづくりに関わる人や, アフォーダンスやメンタルモデルの概念を知りたい人にオススメ。

『デザイン家電は, なぜ「四角くて, モノトーン」なのか?』

モノづくりしている人にオススメの本。ブラウンからソニー, アップルへ受け継がれるモノトーンのデザインの歴史も知れる。
あらゆる家電は一度は丸くなるらしい。たしかにPCの歴史を見てもiMac G3はすごい丸かった。
フォルム(forme)とは形状, 色, 素材, 質感, 動きを指す。面白みのあるフォルムより, フォーマルな方が使い手に信頼感・安定感を与える。また, 利益確保のためのフォーマルとも言えるかもしれない。製品の縦横比は黄金比(1.6:1)やプラチナ比(1.4:1)が使われることが多い。
フォルムのルールを逸脱したものを目にすることがあるが, その背景にはデザイナーの真面目な熱意があることもある。
デザインや技術を戦争の道具にしてはならないが, 一方で戦争が産業技術とデザインを育てたのも事実である。そして, これからは人間のためのデザインであるべきと述べている。
先史時代は生産と使用が一緒だった。3dプリンターの大きな可能性はその復権にあるのかもしれない。

* 最終製品が丸くなる事があっても, 半導体においてはあらゆる効率化のために最小単位は四角形となる

ビジネス系

『How Google Works 私たちの働き方とマネジメント』

エリック・シュミットを始めGoogle関係者が書いたマネジメント本ということで注目された。
Googleの快進撃を支える文化が知れる。例えば, 誰のアイデアかよりどんなアイデアか・優秀な従業員に自由を与える・市場調査を技術イノベーションより重視するのは本末転倒など。
OSSに対するスケールやイノベーションと引き換えにコントロール能力を手放すという姿勢は, 日本の大企業の偉い人に届いて欲しい考え方である。
本書で述べられているように, ソフトウェアエンジニアはできる人ほどOSSの活動など, 誰か他の人のために仕事をしているように感じる。(日本的なSE業界は知らない)
Googleの企業活動で最も大事なのは採用で, スマートクリエイティブを採用するのに妥協しない事を徹底していると述べている。
これはユーザのために製品をつくれば, 他は後からついてくると同じことなのだと思う。スマートクリエイティブさえ採用できれば, 他は後からついてくるということか。
Googleでは仕事の70%をコアビジネスに, 20%を成長プロダクト, 10%を新規プロダクトに当てているよう。
また, よく耳にする20%ルールでの活動では意外にも報酬を与えていないらしい。これは本質的にやりがいのある挑戦をカネを稼ぐ手段に変えてしまうことを防ぐためと述べている。

” トップダウンの海兵隊, 官僚主義の大企業, コンセンサス型のベンチャーどれも正しいが間違っている ”
” コードの公開は隠れた意図がないことを世に示すことだ ”
” 君がSteve Jobs並みの直観と洞察力を持ってるなら, Jobsのやり方を見習えばいいがそうではないだろう ”
” イノベーションとは斬新で有用なアイディアを生み出し, 実行に移すことである ”
” 永久に勝ち続ける企業はない “

『ゼロ・トゥ・ワン 君はゼロから何を生み出せるか』

完全競争では, 全ての収益は消滅すると繰り返し述べている。
その理由は競争すればするほど, 得るものは減っていくのが現実であるからだ。Googleは独占しているが, 数字上は競争しているように見せている。
競争が善とされている背景のひとつに, 経済の予測モデルが物理の熱力学が基であることを挙げていて面白い。また, 競争は歴史的にイデオロギーで刷り込まれていることでもある。
ひとつのことは, 全てに勝る。競争を避けてひとつのことを極めるには, わかりやすい競争に釣られない事, またそれに囚われない事が大事と述べている。
この部分はUNIX思想に通じるものを感じた。
10倍良くないと差別化とは言えないには共感。僅かな性能改善だけではとても優位とは言えない。
Googleの企業理念のひとつである「邪悪になるな」は, 潰れることは考えなくていいくらい余裕があることも意味している。
IT産業とは異なりバイオ産業はエルームの法則が示すように計画通りにいかないことが多い。
ITは人間が設計したが, バイオは人間が設計したものでなく非常に複雑だからだ。計画なき進歩とは, ダーウィンの進化論と同じである。

” スタートアップとはチームで働くこと, しかも少人数が原則だ ”
” 自分が世界を変えられると, 自分が説得できた人の集まりだ ”
” 人生が安泰なのは, 人生安泰と思わない人だけだ ”
” 企業そのものが文化だ ”
” 強いAIは上手くいけばユートピア, 失敗したらスカイネット “

環境に適応し進化するリーンは手段であり目的ではない等, リーンについて言及しているがリーンの批判本とは感じなかった。

* エルームの法則 : 10億円かけて新薬が承認される数は9年で半分

『未来を切り拓くための5ステップ: 起業を目指す君たちへ』

Googleに買収されたことで有名なヒト型ロボットのスタートアップであるシャフトのメンバーが著者。
起業を目指す人にとって参考となる実践的なことが書かれている。世の中で確実なことは世の中が不確実なこと, 市場がないところに市場をつくるなどの視点はスタートアップとしての大切な視点なのかもしれない。
How Google Works,ゼロ・トゥ・ワンと共通していることも多く, 例えば採用に関してはスタートアップは最初の10人が特に重要であると述べている。
ちなみに, 比較に意味はないがこの本の方が先に世にでている。
外部環境は常に変化しているから当初の計画を大切にし過ぎないこと等, リーンの考え方も窺える。

” 良いアイデアはそれが心底嫌いなひとと, 熱狂的なファンが存在する ”
” 起業して成功したら3つの道がある。大企業CEO, バランスを取り戻すため起業前の自分に戻ること, そしてシリアルアントレプレナー”

『ツイッター創業物語 金と権力, 友情, そして裏切り』

物語としては面白かった。一言でいうと, 創業者達のお家騒動をまとめた本だと思う。
創業の背景から, Twitterが流行ってからロシアの大統領がタ伝統のタイムズでなくTwitterを訪問するというメディアの地位を覆した出来事までボリュームのある内容。
失敗した起業家を集めたシリコンバレー絶滅種会というパーティをしてしまう文化が面白いと感じた。

” 明日はもっといいミスをしよう ”
” 孤独とはどこにいるかでなく心の在り方である “

『マラソン中毒者 北極, 南極, 砂漠マラソン世界一のビジネスマン』

マラソンジャンキーである小野さんの著書。
まつ毛が凍るほどの北極点マラソン, 灼熱のアタカマ砂漠250kmを走破した小野さんはベンチャー企業の投資家としての顔も持つ。
また, 世界初の北極で忍者刀を振り回したひとでもある。

” ノータイムポチリ ”
” 最後の敵は自分自身 “

ジャンキーになるほどやれば結果はついてくる, という言葉には不思議と説得力を感じた。読んだあとに無性に走りたくなる本である, つまりダイエットしたい人にオススメの本。

終わりに

最近, PSYCHO-PASSを見て印象に残った槙島の言葉を最後に。念のため, 槙島のファンとかではない。

調子の悪いときに本の内容が頭に入ってこないことがある。そういうときは何が読書の邪魔をしているか考える。
調子が悪いときでも, スラスラと内容が入ってくる本もある。何故そうなのか考える。精神的な調律, チューニングみたいなものかな。
調律する際大事なのは, 紙に指で触れている感覚や本をペラペラめくったとき, 瞬間的に脳の神経を刺激するものだ。

– 槙島 (PSYCHO-PASSより)

聞いてて思わず 「あ、わかる」 と思った。この感覚は電子書籍ではわからない。