茶道とプログラミング

社会人になってから3-4年のあいだ、茶道を習っていた。その中に、プログラミングとの類似性を見ていたというお話。

f:id:shoheihido:20170531101733j:plain

茶道は馴染みがない人にはお寺を拝観するとサービスでついてくるもの、あるいは大河ドラマにおいて薄暗い茶室のシーンがあり、客が茶を飲むあいだに亭主が思わせぶりな話をする、というイメージが強いかもしれない。

だがお茶を点てて飲むことは茶道の一部でしか無く、そのはじまりからおわり、仕度から片付けまで含めて一連の流れとして稽古の中でも行う。

まず茶室に客が入った時点では、まだ亭主(お茶を点てる側)は姿を現しておらず、釜に湯が沸いているだけである。

そこでふすまが開き、礼をすると亭主は物も言わず入ってきて、水を張った器を運ぶ。いったん下がり、続いて茶碗と抹茶が入った茶入れを左右の手で持ってくる。最後に、使用済みの水を溜めておく別の器(建水)を持ってくる。まるで変数の宣言のようだ。

亭主は居住まいを正すと柄杓を持って正面に構える。ここからがメインの処理になる。

いったん柄杓をさげると、茶入れと茶杓を布で拭き清め、茶碗はお湯をすくい入れて洗い流す。変数の初期化だ。毎度の布のたたみ方、茶入れの胴体と蓋の拭き方まで細かく決まっているため、ここまでで全体の時間の1/3はかかっている。

いよいよお茶を点てる段になる。茶杓を右手に持ったところで、菓子を勧める。客はお茶が出来上がる前に、菓子を食べる。そう、マルチプロセスだった。

茶入れの蓋を開け、抹茶の粉を茶杓ですくって茶碗に入れる。1すくい目はたっぷりと、2度目で量を調整する。釜からわざと余るくらいなみなみと汲んだ湯を適量注いだら、残りは釜に戻す。複数回水をそそぐようなみっともない真似もいらず、釜のお湯が煮え立ちすぎないように冷ます効果もある。極めて合理的な手順だ。アルゴリズムだ。

みんな知ってるあのケバケバの茶筅を茶碗に差し込み、茶碗を左手で押さえながら茶を点てる。抹茶が泡立つほどうまく点てるには手首を使ってかなりの速度でかき混ぜなければならない、しかし必死なところを客に見せるわけにはいかないので、背筋を伸ばして涼しい顔で楽にやっているふりをする。内部処理の隠蔽だ。

茶を点て終わったら、亭主は自分のいる畳の縁の外に茶碗を置く。それが出来上がりの合図だ。しかし客に直接受け渡すことはしない。菓子を食べ終えた客が自ら擦り寄って取りに来るのだ。Publish-Subscribeだ。

客が一礼して一口飲んだところで、亭主から「お服加減はいかがでしょうか」と茶の出来を尋ねる。Ifだ。しかし客は「大変結構でございます」と答えることが決まっている。If Trueだ。

飲み終わって客が元の場所に茶碗を戻すと、亭主が再び自分の目の前にもってきて、お湯で洗い清めて拭く。ここで、複数人の客がいるならば、1杯ずつ同じ手順で茶を点てる。Forループだ。

最後の客が飲み終わり、茶碗を清めようとしたところで、最初の客(正客)が「どうぞお仕舞いください」と合図を出す。Forループから脱出するBreakだ。

ここからは終了処理に入る。準備のときとほぼ逆順に、道具を洗い、片付けていく。使用済みの水がたっぷり入った建水から順に、茶室の外に下げていく。GCだ。

最後の道具をしまい終わると勝手口に亭主が跪き、客も揃って深く礼をすることで一連の稽古完了となる。茶室の中の状況は始まる前とほぼ同じである。メモリがクリアされた感じがして清々しい。

どうだろうか。以上の印象はコンピュータサイエンスの人なら一度体験すればわかってもらえると信じている(本当かどうかはわからない)。体験であれば色々なところで機会があると思うのでぜひ確かめてみて欲しい。

そこまで真面目な生徒ではなかったが、土曜なんとかかんとか早起きして先生のお宅にお邪魔し、庭の景色から季節を感じつつ、掃き清められた畳の部屋で稽古をつけてもらう時間がとても好きだった。稽古はアメリカに来てからしていないし、日本でももう先生が引退されてしまったけれど、いつか茶道は再開したいと思っている。

裏千家の薄茶平点前を基準に書いたつもりだが、拝見など一部省略はしている。記憶違いがあってもご容赦願いたい。


裏千家/手前/薄茶手前/炉/稽古用

Amazonのプラットフォーム戦略を学ぶ(本紹介)

Twitterでも紹介したAmazonのプラットフォーム戦略本について感想をここに書く。

ベゾスCEOの容赦無さや過酷な労働環境やECでもクラウドでも順調すぎる売上と利益の拡大ばかりが耳に入るAmazonだが、企業としていかに優れたプラットフォーム戦略を取っているかという話を、これまでのEC事業とAWSの成功とともに、今後AmazonのIoTビジネスがどうなるかという視点で、もともとAmazonでMarketplaceを立ち上げた著者が分析している本だ。読書メモをとっていたら1万字を超えるほどの内容の濃さだったが、ここでは前半の内容のうち自分が特に感じ入った点を3つを挙げたい。

IoTのもたらすシームレスな消費者体験の価値

Amazonが単なる顧客第一を掲げる企業と違うのは、顧客(満足)への執念(Customer Obsession)というのは有名で、様々なデバイスで新しい消費者体験を実現してきたが、IoTの本質はApple Watchのような「モノ」ではなく、それらが結び付いて組み合わったビジネスへの「インパクト」のことだという。

ここまでよくある話で、Kindleは読書体験そのものを変えた成功例だが、さらにIoT的な例としてAmazon Dash Buttonの価値について詳しく触れられている。自分もこれは最初はジョークかと思ったくらいでまだ試せていないが、この本を読むと、WiFiに繋がった何の変哲もないボタンで、押すと特定の商品が届くという単純なデバイスに込められた深遠なが狙いがわかってくる。「欲しいものがすぐ届く」という消費者の欲求を、ECサイトスマホアプリも超えてここまでシンプルかつダイレクトに叶えるものは他にないのだと。

また、ネットに繋がったホームスピーカーにしか見えないEchoが、実は音声認識機能Alexaを「トロイの木馬」として家庭に送り込むための先兵にすぎず、ホームIoT領域ではAmazonの侵攻がかなり進んでいる(GoogleAppleは追いかる側)という状況も詳細に説明される。答えは5年後10年後に出るだろうが、Amazon有利という視点は今年のCESでのAlexa対応機器・サービスの盛り上がりと一致するところだ。

大きく考え、小さく始めることの重要性

野心的なビジョンであってもまず小さく始めて顧客のフィードバックを受けることの重要性は本書を通じて何度も議論されている。Amazonは最初から華々しく製品を発表してマーケティングに大金を使うのではなく、まず限定的に展開してそのレビュー結果が良いと判断して初めて一般販売を開始するのだと。実際Amazon EchoもDash Buttonも当初は「ベータ版」としてPrimeユーザーのみに展開をはかったそうだ。

面白いのはAmazonの失敗デバイスとして、2014年に発売し一瞬で市場から姿を消したFire Phoneもちゃんと紹介していることだ。だがベゾスはその理由を問われ「投資には付き物の、デバイス戦略の一部の実験における失敗に過ぎない」と言い切ったというのが凄い。またそれに懲りず「イノベーティブなチームが"社内で"批判されたり邪魔されたりせず大きな目標へ集中できるよう防護壁を作って励ますのが自分の仕事だ」という言葉も力強い。

成功した会社では普通、既存事業の収益最大化のための持続的改善"だけ"が全社的な目標となるが、Amazonはそれと新しいイノベーションを同時に推進できる稀有な会社として繰り返し賞賛されている(これは著者が元Amazon社員であることを割り引いて聞かないといけないが)。

同じチームが両方をやることは不可能なので、どこの会社でも本業とは別の新規事業部門を作るが、EC事業の傍らでAWSを生み出し、さらにIoTでも次々と革新的なデバイスを投入してくるAmazonのリーダーシップは確かに傑出している。読んでいて、これからどの業界がAmazonによって破壊されていくのか、段々と恐ろしくなってくる。

IoTによるプラットフォームビジネスの難しさ

MarketplaceやAWS、そしてAlexaなど外部にプラットフォームを開放するのは新たな価値を生み出すアイデアとデータをクラウドソーシングするようなものだという。まさに「肉を切らせて骨を断つ」の世界だ。プラットフォームビジネスのコアは、単に外部へ広く機能を提供するベンダーになるのではなく、それによって自らのビジネスが強化されることにある、というのはAmazonの特異なポジショニングを適切に表していると思う。

プラットフォーム実現で最も難しいのはそのソフトウェア技術でもAPI設計でもなく、サードパーティに使ってもらうというオープンなマインドセットへの転換だという。それが成立した上ではじめて、どうやって儲けるか?パートナーとのエコシステムは?ソフトウェアのアップデートは?リスクと法的責任は?高可用性は?などのビジネスモデルと技術課題の議論ができるようになる、と。

IoTプラットフォームの夢を膨らませていくと「プラットフォーム構想は完成した。あとはソフトウェアを開発して、提供するだけだ」と気楽に考えがちだが、それはよくある大きな誤りで、実際に他社ビジネスのコアとして使えるプラットフォームを実現して提供するのはもっと長く辛く困難な道である、というのはソフトウェアの会社にいる人間として深くうなずけるところだった。

…このあと本の後半では製品売り切りビジネスから、それがもたらすデータや価値をベースにしたビジネスモデルへの転換の必要性と、実際に新規IoTプラットフォームビジネスの戦略をどのように立てて実行していくべきかという具体的なアドバイスが載っていて、Amazonの過去や現状と照らし合わせると非常に説得力のあるものだった。

いまのところ邦訳は出ていないが、IoTやプラットフォームビジネスに興味がある人ならたとえ流し読みでも損はしない内容だ(Amazon.comだとAudible版もある)。

優良AIスタートアップの見分け方

ある方にAIスタートアップの評価方法について聞かれ、いろいろ考えてたら面白くなってきたのでここにまとめて記しておく。手短に言えば、秘密主義は良いサインとはいえないし、AIで何でも出来るはウソだし、応用と顧客に寄り添う堅実さがが第一ということだ。まったくの個人的な意見であり、基本的に余計なお世話だとは思うが、笑い飛ばしてもらえれば幸いである。

なおここでのAIスタートアップの意味は、分野や規模は問わず、人工知能・AIという言葉を前面に出している新興テック企業とする。

続きを読む

2016年に読んだ本ベスト5

今年ももう2月だが、去年を振り返る意味も含め読んだ本の中で印象に残ったものをランキングで紹介してみる。

2016年にAmazonで買ったのは192冊、セールでの漫画や雑誌まとめ買いもあるので、いわゆる「本」はおそらく約半分、実際呼んだのそのさらに半分で50冊程度だろうか。自分の人生ではかなり多読だった方だ。

5位. 壇蜜日記(壇蜜

壇蜜日記 (文春文庫)

壇蜜日記 (文春文庫)

いきなり不真面目な本?いえ真面目な本です。芸能界の仕事に関する不安・悩み・イライラや、飼い猫との昼寝、熱帯魚の飼育などの日々が淡々と綴られている。基本ネガティブだが頭の良さを感じさせる筆致で、同年代ということもありうっすらとした共感を感じながら読める。テンションを下げてぐっすり眠りたいときにベッドでパラパラと読むには最高の一冊であった。そのあと著名人のエッセイ本を漁るようになったが壇蜜日記に勝るものはまだ無い。3巻まで出ているがそちらは未読。

4位. 年収は「住むところ」で決まる(エンリコ・モレッティ

昔流行った「さおだけ屋はなぜ潰れないのか?」と同じマネー系新書のような煽りタイトルだが新進気鋭の経済学者の著書で、内容は副題の「イノベーションと雇用の都市経済学」がずばり言い表している(原題は"The New Geography of Jobs")。アメリカにおける都市間の経済格差、特にイノベーション産業のメッカとなっている都市(例:シリコンバレー)と衰退した都市(例:デトロイト)の比較を様々な観点から行っており、結論としては高付加価値産業は特定地域に留まる性質があり、それは計画的に達成されるのではなく偶然発生するだけ、ということだった。シリコンバレーであればショックレー電子、シアトルであればマイクロソフトがそこに居着いたのがいま栄えている理由の根本であって、周辺産業含めた収入の地域格差はそのように突出した地域が生まれる上で必要悪とも見なされるそうだ。10年ちょっと前なら、インターネットの発達とオフショア等により付加価値の高い仕事もどんどん世界中に分散していくというトーマス・フリードマンの”The World Is Flat (「フラット化する世界」)”の説が流行っていたので、実際には逆であるという考察としても大変興味深い。

3位. 戦中派不戦日記(山田風太郎

1945年当時、医学生として東京に暮らしていた筆者が書いた365日分の日記を原文のまままとめた作品。後年あの戦争を語ったものはどうしても個人的な感情や政治的な思想が混ざりがちだが、当時の学生が不自由な生活や戦争の勝敗や日本人の誇りについてどう考えていたかを生々しく物語る資料として、この本は自分には極めて新鮮だった。戦争でも続く学校の講義や演劇興行、連夜の空襲警報に麻痺する感覚、ついに自宅周辺が爆撃を受け炎の中を逃げ惑った夜、疎開先で聞いた玉音放送、意外とおとなしい米兵、手のひらを返す新聞と知識人…。2016年末に映画「この世界の片隅に」がヒットしたが、全く同じ戦時中の人々の生活が、この本ではリアルタイムの体験として描かれている。ちなみに山田風太郎の小説は一冊もまだ読んでいない。笑

2位. チームが機能するとはどういうことか(エイミー・C・エドモンドソン)

2016年に読んだビジネス書の中ではベスト。製造業の組立ルーチンなど決定的で管理可能な作業をチームで分担するための(古典的)ビジネス組織論と、高度で不確実な知的労働にチームで取り組むのに必要な理論は全く異なるという切り口が明快で良い。特に「チーム内で仕事が完全に分割・分担され何の衝突なく進むのが良い状態」という前提自体が間違いであり、高度な知的労働では異なる意見を真摯にぶつけあう緊張感を保ち、個人的対立は避けながら相互理解まで議論を突き詰められる環境が重要、というのが目からウロコだった。そのためにリーダーは誰かに足を引っ張られることのない「心理安全」を確保し、役割と分担が流動的に動くチーム作りを目指すべし、という話は多くの日本人にとって非常に耳が痛い話だろう。なぜなら意見の相違がそのまま人間的衝突につながりやすいので。

1位. 人間臨終図巻(山田風太郎

古今東西の有名人の死に様だけをただひたすら説明した悪趣味な本。Kindle新装版では15歳から100歳超まで943人分の死が書かれている。若くして才能を発揮するも結核自死で夭折した人、絶頂期に脳や心臓の急病で倒れた者、晩年ガンや老衰でひっそりとこの世を去る人…。死ねば偉人はその功績のみで語られるが実際には人間的に破綻した人や晩節を汚した人、非業の死を遂げた人も多かったことが分かる。例えば自動車産業の父と言われるFord創始者のヘンリー・フォードは社長を譲った息子と対立し、彼の病死後トップに返り咲くも社内外から非難の的となり業績を回復させられないまま引退している。この本も寝る前にちょっとずつ、半年かけて4巻まで読破できたのは、生き方について感じることがいろいろ書いてあったからだと思う。が、正直オススメはしない。

全体として、これまでにくらべて技術書やビジネス書の比率が下がり、森博嗣の小説もあまり読まなかった(新作を買ってはいる)。代わりにエッセイや日記が増えたが、2017年はちょっとバランスを戻したいと思っている。今読んでいるAmazon Way in IoTが年間ベストに入りそうな勢いなので、読み終わったらまたブログで紹介するかもしれない。邦訳されればもっと読まれると思うんだが。

機械学習の入門本を書きました(データサイエンティスト養成読本)

初めて執筆に参加した本、データサイエンティスト養成読本シリーズの機械学習入門編が技術評論社さんから出ます。共著です。9月10日発売です。

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

このブログを読んでいる人はすでに機械学習に詳しい人が多いと思いますが、周りでこれから機械学習使い始ようとしている方に薦めてもらえれば幸いです。特に、最初の一歩を踏み出せずにいる方に手にとって欲しいと願っています。

また、発売当日にはちょうど私も日本に戻っており、執筆者が何人か集まって出版社主催のトークイベント(?)をする可能性もあるので、興味がある方はご参加ください。

このブログでは、企画当初から関わった身として、ちょっと自分語りと、全体の構成の意図などを説明したいと思います。

続きを読む

Enabling Chainer on EC2 GPU instance (5 commands to install, 4 commands to test)

(This is a translated version of the previous Japanese post.)

Thank you for users who already enjoyed Chainer, a python-based deep learning framework that our company PFN and PFI developed.

f:id:shoheihido:20150809150103p:plain

Though you can start using Chainer easily even on MacBook, however, GPU environment is almost mandatory to feel the real performance of Chainer. At the same time, we are seeing that some of the users still fail to install Chainer on their GPU-enabled desktop machines (especially for PyCUDA, which is one of the dependent libraries).

続きを読む

EC2のGPUインスタンスにChainerを5行で入れて4行で動かす

PFI/PFN社でオープンソース公開したディープラーニングフレームワークChainer、すで使って頂いている方、ありがとうございます。

f:id:shoheihido:20150809150103p:plain

さてそんなChainerですが、MacBookでも簡単に使い始めることはできますが、真価を発揮させるにはGPU環境が欲しいところです。また一方、GPUを積んだデスクトップPCでも(特にPyCUDAの)インストールでつまづく方がいるのも事実です。

続きを読む