『お金2.0』読書案内

『お金2.0』読書案内

読むべき? or スルー?

『お金2.0』は間違いなく全人類が読むべきだ。
特に「仮想通貨」や「ビットコイン」というものを名前しか知らず、漠然と怖いイメージを持っている人は絶対。
数年後には現在インターネットを使っていない人のようになってしまうだろう。

感想

※初めてこのブログの読書案内をご覧になる前にこちらをお読み下さい。

これを最初に読める日本語話者は恵まれている。近々他言語にも翻訳されるだろう。これほど的確に現状の社会の分析に成功している著作に出会ったことがない。

タイトルにはお金という言葉が入っている。しかし、内容は必ずしもお金の話が中心というわけではない。むしろ、生物、そして生物としての人間、さらに人間が織りなす経済という現象への考察がその中心だ。それらを1つの貫徹した視点で解き明かし、今後数十年間の変化を予測している。その洞察はサービス運営者にとどまらず誰でも今すぐに応用可能になっている。そしてこれから俺たちがどう生きるべきかの道が示されている。

引用

出典 『お金2.0 新しい経済のルールと生き方』 佐藤航陽著

サービスがリアルタイムとは言わずとも、毎日・毎週・毎月変化する企画があることで、ユーザーは常にそのサービスのことが気になってくるようになり、何度も訪れてくれる可能性が高まります。


現実はおよそ3つの異なるベルトルが併存し、相互に影響を及ぼしており、それらが未来の方向性も決めている...「お金」「感情」「テクノロジー」の3つです。


中央銀行が本格的に普及したのはこの100年ほどです...仮想通貨やブロックチェーンなどの新しい仕組みが100年後に標準になっていたとしても、それほどおかしな話ではない


数億人の膨大な行動データとお金の流れを分析し、...仮説を立てては事業で試し、...全く違うように見えていた様々なサービスや市場や組織の根底には、普遍性のある構造が隠れているということがわかりました。


持続的かつ自動的に発展していくような「経済システム」にはどんな要素があるか...①インセンティブ②リアルタイム③不確実性④ヒエラルキー⑤コミュニーケーション


3M(儲けたい・モテたい・認められたい)の3つが欲望としては特に強く、これらを満たすようなシステムは急速に発展しやすいです


ビットコインが他の学術的な思想とも、ただの新技術とも違うのは、この経済システムに参加する人々が何をすれば、どういった利益が得られるか、という報酬が明確に設計されている点です


お金や経済といった社会学的な分野が、人間の脳という生物学的な分野につながっていたことには衝撃を覚えました


快感は他人との比較によって高まる


金銭的な対価を一切求めずに、経済システムを作ろうとするとゲームに近づいていく


経済が自然に似ていたからこそ、資本主義がここまで広く普及した


中央に代理人がハブとして介在する必然性はなくなり、全体がバラバラに分散したネットワーク型の社会に変わっていきます


トークンは...現実世界のアセットと結びつけることで、あらゆるものの価値を可視化することができます


「自動化」と、ネットワーク型社会に移行することで起きる「分散化」という2つの大きな流れ


「自律分散」というコンセプトが、多くの産業のビジネスモデルを覆すことになる


経済は住む対象ではなく「作る」対象に変わりつつあります


経済圏をどのように回していくかというノウハウこそが重要な時代に変わっていくと考えています


お金が価値を媒介する唯一の手段であったという「独占」が終わりつつある


価値を最大化しておけば、色々な方法で好きなタイミングで他の価値と交換できるようになっていきます


こういったものは現在の財務諸表には一切反映されません


「価値」を中心とした世界にかわっていくことが予感できます


「注目」や「関心」に過ぎないものが、「評価」や「信用」という高尚な概念に「すり替わっている」ことに違和感


これからはソーシャルキャピタルを増やすのに長けた人も大きな力を持つようになる


現在の資本主義経済ではうまく居場所を作れない人も、全く違うルールで回るオンライン上のトークンエコノミーでは活躍できるかもしれません。


かつては...リスクマネーを供給したのはベンチャーキャピタルでしたが、今は仮想通貨によるICOがその役割を担いつつあります。

あらゆる科学的事実は否定可能

f:id:chyka:20180215144810p:plain

あなた独自の思考は否定することから始まる。
そして否定に必要なのは、理論やデータではなくあなたの頭脳だ。
否定した先に何を築くか。
それはあなた次第だ。


「科学的事実を否定する」というのは、理屈を無視して感情的に信念に走ってしまうことではない。自分自身と周囲をある程度納得させた上で理屈として否定することだ。

初回は科学的事実を取り上げる。その理由は、もっとも権威のある、影響力の大きい事実だからだ。科学的事実が否定出来れば他の言説は簡単に否定できるようになるだろう。

あなたも「科学的に証明されている」などという言葉を盲目的に信じてはいないか?

あらゆる科学的事実が"正しさ"や"納得感"などの主観の連鎖に過ぎないため否定可能だ

目次

なぜ科学的事実を否定することが必要か

  1. テレビや広告などの科学的事実に騙されないため
  2. 実現したい夢や目標を諦めないため
  3. あらゆる既成事実に毅然として立ち向かうため
  4. 思考を研ぎ澄まし自分の頭で考え続けるため

1つ目は、テレビや広告などの科学的事実に騙されないためだ。科学的事実には人が無批判に服従しやすい。そのため、至る所で濫用されている。テレビの視聴率を稼ぐために学者に喋らせる。売り上げを伸ばすために「効能が実験で実証されています」などと言う。彼ら製作者は賢いので嘘は言わない。しかし、科学的事実など利用する側によっていかようにも作られるものだ。

2つ目は、実現したい夢や目標を諦めないためだ。夢や目標を達成しようとする時障害となるのは大抵周囲の声だ。夢や目標というのはそれが大きければ大きいほど世間の常識とかけ離れたものにならざるを得ない。彼らはあたかも証明された事実かのようにあなたを否定してくる。そこで言い返し説得できるようになる。

3つ目は、あらゆる既成事実に毅然として立ち向かうためだ。事実にも色々ある。個人的な感情からニュースや科学まで。その中でも科学的事実は最も"正しい"事実の1つとみなされている。そのため科学的事実を否定できれば他の既成事実は否定が容易になる。

4つ目は、思考を研ぎ澄まし自分の頭で考え続けるためだ。

科学的事実を集団主観法で否定する

科学的事実は一般に客観的事実であると考えられている。それが科学の価値の源泉だ。一方で客観的な事実の対極にあるのが主観だ。個人の思いや感覚だ。それらは科学的事実とはみなされない。科学の客観性を否定することが出来れば科学的事実を否定できそうだ。つまり、科学的事実は誰かある個人や集団の思い込みに過ぎないということを示せれば良い。

ここで一度主観的と客観的の意味の認識を合わせておく。

主観的

自分ひとりのものの見方・感じ方によっているさま。
出展 https://dictionary.goo.ne.jp/jn/104938/meaning/m0u/

客観的

特定の立場にとらわれず、物事を見たり考えたりするさま。「客観的な意見」「客観的に描写する」
出展 https://dictionary.goo.ne.jp/jn/54339/meaning/m0u/

上2つの意味は常識的で、異論はないだろう。さて、問題なのは客観的になることは人間には不可能ということだ。人間が語ったことは例外なく全て非客観的だ。科学的事実ももちろん例外ではない。

個人的な感覚や視点が、客観的な事実となるまでの過程は以下の4つに分解できる。

  1. 個人が生活の中で何かに気がつき仮説を立てる
  2. 実験や論理によってその仮説を実証する
  3. その実証に関心のある集団、コミュニティが正しさを検証する
  4. 一般大衆のもとに事実として届く

この各フェイズが主観に基づいていることを示す。

  1. 個人が何かに気がつき仮説を立てる

「この動物にはこんな習性がある」 「惑星の移動には規則性がある」 などと気がつき仮説を立てる。このように何かに気がつくためにはまず前提として自分の五感を使って世界と触れ合う必要がある。人間が知覚できないようなものはそもそも人間の話題にはなり得ない。

放射線や微小な物質は知覚できない?
そんなことはない。霧箱電子顕微鏡などを使えば「見える」。そう。ここでも最終的には人間が自分の五感を使って知覚せざるを得ない。このような人間の知覚を補助・拡張する道具を用いる場合は、さらにその道具が信頼できるという仮説を信じるという感情が挟まる。

そして、自分たちに関心がある現象だけを取り出す。関心というのは個人の感情だ

そして自分自身を納得させるような説を作る。
「これでこの現象が矛盾なくうまく説明できるぞ」と思えるような説だ。この矛盾なく、納得できるというのは個人の感情だ

  1. 実験や論理によってその仮説を実証する

実証するための実験は、その仮説が正しいことを示すために選ばれた恣意的なものだ。そして、その仮説が正しいことが示せたとする。その正しいというのは個人的な感情だ

  1. その実証に関心のある集団、コミュニティが正しさを検証する

個人の興味深い仮説は集団がそれを検証する。多くの場合はその分野の専門家による。興味深さとはつまり個人の感覚だ。追試や証明の精査が行われる。ここでの検証で大多数が正しいと認められるとついにマスメディアが大衆に流布し始める。この検証した集団が正しいと判断するのも個人の感覚だ

  1. 一般大衆のもとに事実として届く

一般大衆はもはや流れてきた仮説を信じるだけだ。自分で検証をしたりはしない。

さあ、4つにフェイズが主観によってのみ構成されていることを納得頂けただろうか。それぞれのフェイズを経るごとに変化しているのは、その仮説を主観的に信じる人数だ!

これで十分だと思うが、さらに付け加えると時代に主観にも依存している。時代が変われば常識が変わり、道具が変わり、それゆえ個々人の感覚も変わる。すると当然正しいと考えられる事実も変わる。

以上見てきた通り、実際のところ科学的事実は全く客観的では無い。主観の連鎖を経て大勢が信じるに至ったに過ぎない。

とはいえ完全に主観的でも無い。一人の感情や意見よりは大勢の検証を経ている。そこで、主観-客観の間に位置するもののとして俺が提唱する言葉が集団主観だ。

集団主観とは、ある集団で共有されている主観」のことだ。

それゆえ、科学的事実は個人の感情や宗教、擬似科学と同じレベルの客観性しか持っていない。受け入れたくなければ十分に否定して良いものなのだ。

このように事実を集団による主観に分解して否定する技法を「集団主観法」と名付けた。これを使えばどんな事実も否定できるようになる。

まとめ

科学的事実が集団主観的であるがゆえに否定可能であることを示した。そしてその根拠として事実が"正しさ"や"納得感"などの主観の連鎖に過ぎないこと、時代とともに変わることをあげた。

もちろんこれによって科学の価値が無いと言いたいのではない。それぞれのルール(≒集団主観)の中で緻密な議論や事実を積み上げることには価値がある。

だが、それは私たちにとって有益な、役に立つ範囲で行われるべきである。それらがあなたに損害をもたらしたり、傷つけたり、人格を毀損するようなことがあれば堂々と否定しても良い。そして常にその準備をしておくべきだ。

自らを世に問うこと

この5年間自らを世に問うということを考え続けてきた。この世に生を受けたからには、自分がこの世に生きた証として人々の心に何かを残すべきだ。人類を前へと進める一歩を残すべきだ。しかし何も問えはしなかった。何を問うべきか分からなかった。自分に何があるか分からなかった。それでも自分には問い続けた。

「お前が世に対して誇りに思えることは何なのだ?」と。なかなか答えは出なかった。気持ちだけが焦り、心の中にすべきことしていない負債感が積もっていった。そしてついに答えが出た。

どんな小さなことでも徹底的に疑い、常に自分の頭で考え、世界を再構築すること。これが俺の強さだ。世に問う自信があることだ。強靭な思考に幾度となく助けられた。色々なことに手を出したが故に判明した。自分の中でぶれない部分が。これは今この瞬間もどこかで戦っている人の役に必ず立つ。そして沈みゆく日本で希望を失い閉塞感を抱えた人々の道しるべとなるだろう。

その思考法を書いていく。世に問う。

幸せは「その他」の中に

こんにちは、しゅんです。

先ほどこんなことがあって「選ぶ」ということの危険性を考えました。

選ぶことの危険

子どもは将来の夢を考える時に既に存在するものから選びます。「サッカー選手」「ケーキ屋さん」など。大人も仕事といえば求人誌やサイトで仕事を選びます。投資といえば株か不動産か金かFXか、などよく目にする選択肢化された対象から選ぼうとします。

これはとても危険なことです。

なぜなら、あなたという個性的な存在が、既にある選択肢に満足できるはずがないからです。周囲に合わせられずに窮屈な思いを強いられ、そんな自分に自己嫌悪を感じてしまうでしょう。満足するとすればそれは自分をその選択肢の中に押し殺しているから。学校も職業も住居もファッションもすべて自分に関わることはすべて自分でデザインした方が満足なはずです。学校や職場に文句を言いたくなったことはありませんか?文句を言っているうちはまだ大丈夫ですが、”選択肢”に適応できずに心を病んでしまったら本末転倒です。消去法的に選んだ時に特に問題が起きやすいです。つまり、自分が本当に望む選択肢は無いけど、この中で1番当てはまるのはこれかな、と選んでしまった時です。選択肢を選んでしまうと、自分の方がその選択肢に合わせてしまいます。これが言葉の強力さであり恐ろしさです。

選択肢を選ぶ理由

なぜ選択肢を選んでしまうのでしょうか?

これには2つ理由があります。1つは、選択肢を与えられると他の考えが頭に浮かばなくなってしまうからです。もう1つは、選ぶのが楽だからです。自分の頭で考える必要がないからです。

選択肢を選ぶ側ではなく、作る側の立場に立つと選択肢を提供する理由がわかります。マス、つまり大量のユーザーを相手にするサービスなどでは個々人の細かい個性を見ている余裕がないからです。ある程度人々をグルーピングして個性を押し込むより他ありません。とはいえ、あなたが彼らの都合に合わせる必要はありません。もう一つの理由は、記述式にするより選択肢にした方がユーザーの反応が良いことです。 自由に書く欄を用意すると何も書かなかった人でも選択肢なら選んでくれるという現象が知られています。

さらに最近ではIT化によりさらに選択肢化のメリットがあります。コンピュータで簡単に集計できます。選択肢1を選んだ人は何人、2は何人という具合です。これは自由に答えさせた場合にはできません。

繰り返しますが、あなたは彼らの都合は関係ないのです。

だからこそ、俺はいわゆるサラリーマン的な働き方はしていないし、子どものためにデモクラティック学校を作ろうと活動しています。そして、自分だけのファッションを表現することを支援するためにオリジナルのアパレルを作成するサービスも運営しています。

選択肢からはみ出る方法

選択肢からはみ出る、つまり「選ぶ」だけではなくオリジナルを「作る」ためにはどうすれば良いでしょうか。一番重要なのは、自分の気持ちを単語の選択肢ではなく、自分の文章で表現してみることです。「進学か?」「就職か?」と問われたら「じゃあ進学で」と安易に答えてはいけません。「進学の必要なことも就職することのメリットも分かっています。でも...。」と、その「でも」の続きが重要なのです。

もう1つのテクニックが、選択肢を組み合わせてみることです。選択肢を与えられた場合どれか1つを選ばなくてはならない錯覚に陥ります。しかし、実際には誰も教えてくれないだけで2つ以上の選択肢を組み合わせて選ぶことが可能なのです。つまり、選択肢と選択肢の間をとるという選択です。

まとめ

自分にとって大事なことを安易に選択肢から選ぶことは危険です。 本当に自分らしい生き方は常に選択肢の外にあります。 「その他」を選んでいきましょう☆

コードの修正耐性という視点 - 新人プログラマーへ

こんにちは、シュンです。

俺は専業のプログラマーではないですが、去年新人プログラマーのメンターをする機会に恵まれました。

この時の経験から、経験の浅いプログラマーは「コードの修正耐性」という視点が欠けているのではないかと思うようになりました。

彼が意識していたのは、「速さ」と「可読性」のトレードオフだけでした。

速さと可読性という指標

速さと可読性という指標はよく知られています。

速さを求めたコードというのは例えば、イベントシステムを介さずに処理をべた書きすることなどです。

一方可読性の高いコードとは、他人にとって読み・理解しやすいコードのことです。

我流ではなく一般的なパターンに沿った設計をすることから始まり、変数名も英語としての読みやすさが考慮されたコードです。

これらは言ってみればコードの「今」の価値に重点をおいた「共時的」な視点です。

一方で修正耐性という指標は「未来」に重点をおいた「通時的」な視点です。

修正耐性という指標

「速さ」「可読性」の他に俺が提唱したいのが「修正耐性」という指標です。

コードが不特定多数に修正された場合のバグの入りやすさ」を表します。

これにより、コードレビュー時に速さと可読性という指標では指摘できなかったものが指摘できるようになります。

修正耐性の低いコードと高いコード実例

修正耐性の低いコードを例を示します。

管理者なら管理バーを画面上部に表示する、というようなC#のサンプルコードです。

if user.IsAdmin()
    ShowAdminBar();

このコードは速度・可読性の点では問題ありません。

これを修正耐性高く書き換えたコードが以下です。

if user.IsAdmin()
{
    ShowAdminBar();
}

この修正でなぜ耐性が上がるのか。

例えばこのコードがリリースされた半年後に新人Aがジョインしたとします。

そこで初めての実践タスクとして、

「管理者なら広告を隠す」

というタスクを行うとします。

新人Aは既存のコードを読み、ここが修正箇所になることに気が付きます。

「ここに1行追加すればいいな。」

if user.IsAdmin()
    ShowAdminBar();
    HideAds();

修正完了。動作確認をします。

擬似的に管理者でログインしてみます。

確かに管理者バーは表示され、広告が表示されないことを確認できました。

さて、この新人Aは後日QAチームや顧客からバグの報告をもらうのです。

「管理者以外のユーザーにも広告が表示されていない」と。

ある程度プログラミング言語をご存知の方ならifブロックが直後の1ステートメントにしか効かないことをご存知でしょう。

しかし新人Aはインデントでブロックが表現されると思いこんでいました。

この場合もともと{ }が明示されていれば、以下のようになります。

if user.IsAdmin()
{
    ShowAdminBar();
    HideAds();
}

バグを生み出すことは無かったのです。

ここで注目すべき点は、速度・可読性に関係ないということです。

また、別段コストはかからないのでトレードオフもありません

修正耐性の高いコードを書くために

修正耐性の高いコードというのがどういうものか分かりました。

では修正耐性の高いコードを書くために何に気をつけたら良いでしょうか?

可読性をあげる

可読性と修正耐性は正の相関関係にあります。

可読性をあげるには以下のような方法があります。

  • チームで使用されていないシンタックスを使わない
  • 変数のスコープは極力小さく
  • ネストを深くしない

などです。他所でも多く語られているのでこれ以上は列挙しません。

リーダブルコードにほとんど書いてあります。

一度は読んでおいて下さい。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

C#についてここで特筆するとすれば、匿名関数のキャプチャの危険性です。

ローカル変数を意識せず匿名関数でキャプチャしてしまうと、影響が極小であるべき変数の寿命がコントロール不能になり影響範囲が把握しにくくなります。

常に未来の他人のミスを想定すること

今現在コードを書きながら、同時に未来の他者がそのコードを修正しているような2つの視点を持つことが重要です。

チームメンバーのうち誰でも良いので対象を心のなかで決めておくと良いです。

俺はチームで一番不注意なメンバーBさんに改修されることを常に意識してコーディングしていました。

文章も一緒ですよね?

具体的な1人の読み手を想定して書くと格段に文章がよくなります。

  • 「Bさんだったらこの変数名の英語のニュアンスは伝わらなそうだな」
  • 「Bさんはこの設計の意図に気づかなそうだな」
  • 「Bさんはうっかりここの処理の順番を入れ替えそうだな」
  • 「この導出は今のメンバーがいなくなったら再現できないな」

などです。

まとめ

コードをより良く書く・レビューするために「修正耐性」という指標を導入しました。

そのために

  1. 可読性をあげる
  2. 常に未来の他人のミスを想定すること

という方法を紹介しました。

ぜひ現場で使ってみて下さい☆

スプレッドシートから商品情報を読み出す

こんにちは、シュンです。

メルカリへの出品自動化はできそうだということが分かりました。
しかし、設定項目が多いです。
商品名、詳細、カテゴリ、価格などなど。
そこで先にスプレッドシートから設定項目を読み出せるようにしました。

フリマ出品は設定項目が多い

メルカリに出品する際に入力する項目は実に14個もあります。

  1. 商品名
  2. 商品の説明
  3. カテゴリ
  4. サイズ
  5. ブランド
  6. 商品の状態
  7. 配送料の負担
  8. 発送元の地域
  9. 発送までの日数
  10. 価格
  11. 画像1
  12. 画像2
  13. 画像3
  14. 画像4

メルカリへ自動出品する商品は無数にあります。
毎回プログラムを書き換えていたのでは効率が悪すぎます。
スプレッドシートに入力情報をまとめて、それをまるごと読み込むようにしましょう。

スプレッドシートに入力したデータを使えるようにしよう

14項目をカラムに並べます。
今回は↓のようなスプレッドシートシートになっています。
メルカリ出品時の商品情報スプレッドシートサンプル 1行目がヘッダ(タイトル行)で、2行目以降が内容です。

実装の仕方

  • 言語: Python3.6.4
  • ライブラリ: xlrd

Pythonにはエクセルファイル(xlsx)読み込みようにxlrdというライブラリがあります。 インストールも使用法も簡単なのでこちらを使います。

xlrdのインストール

pip install xlrd

エクセルファイル(xlsx)の読み込み

先ほどのサンプルスプレッドシートを読み込むプログラムです。

import xlrd
import sys

def main():
    fname = sys.argv[1]
    book = xlrd.open_workbook(fname)
    sheet = book.sheet_by_index(0)

    # 商品名(2行目, 1列目)
    product_name = sheet.cell_value(1, 0)
    print(product_name)

    # 詳細
    detail = sheet.cell_value(1, 1)
    print(detail)

    # カテゴリ
    category = sheet.cell_value(1, 2)
    print(category)

if __name__ == "__main__":
    main()

実行結果

$ python excel_reader.py ~/Downloads/自動出品マスタ.xlsx 
レザージャケット
美品です。
定価は1万円でした。
2年前にパリで購入しました。
レディース
トップス
Tシャツ/カットソー(半袖/袖なし)

ちなみに、俺は商品情報はGoogleSpreadSheetで管理しています。
エクセルファイルが欲しい時にはxlsxとしてエクスポートする機能を使っています。