2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
清水亮氏:なぜか知らないですけど、人生に影響を受けた本を3冊あげろということでしたので、3冊あげました。1つは『月刊アスキー』1992年7月号。さっきも言いましたけれど。
これ、すごいなと思ったのは、この時代に、CGとかあんまりないわけですね。これ(表紙の写真)は実物です。モックアップ。この頃、月刊アスキーはめちゃくちゃ儲かっていて、毎月、広告だけで何億円もの利益を出していたのです。
中味はこんな感じなんですけど、(未来のパーソナルコンピュータは)プロジェクターを内蔵しているとかね。ページをペラペラめくりながら、これは透明なディスプレイなんだけど、めくると次のページがでてくるとか、すごい細かく書いてあって、書き込みもできるんですよ。
だから、元々enchantMOONの元ネタは、基本的にはこれなんですけどね。こういう夢みたいな情報端末というのが夢想できるんだというのが、1つ影響を受けた本です。
のちに、この当時の編集長だった遠藤諭さんという人に話を聞いたら、「当時の編集者は誰がやっていたのかあんまり覚えていないし、夢を壊して悪いけどあの特集はさほどがんばらなかった」と言われて、がっかりしました(笑)。
あとは似たような話でアラン・ケイさんのもので、『アラン・ケイ』(Ascii books)という本。
この本は日本語訳なんですが、重要な内容はネットで公開されています。たとえば、この「Personal Dynamic Media」という論文。これがパーソナルコンピュータの元ネタですからね。
アラン・ケイさんが考えたDynabookという、iPadの元ネタといわれたやつだったんですけど、あれはペーパークラフトなんですよ。実際にシリコンバレーのコンピュータ歴史博物館に行くと、あれのペーパークラフトが残っています。
こういう機械を作って、アラン・ケイさんは3,000人くらいの小学生、中学生、高校生とかにこれを使ってプログラミングを教えたそうです。実際に授業をやったりとか、こんなことができますよとかと教えたそうです。これはすごく刺激を受けましたよね。これって70年代ですからね。これが書かれた時代というのは、まだPC-9801とかも発売されていないんです。
この本に入っていたか忘れたけど、もう1つは「A Personal Computer for Children Of All Ages」。アラン・ケイさんの論文で、まだゼロックスにいたころのものなんですけど。これは、今、急速に、プログラミング教室を子供にしようなんていうキャッチフレーズで話題になっている本です。
これ、すごくおもしろいのは、アラン・ケイさんがシーモア・パパートというMITの研究者と話したあとで飛行機のなかでスケッチした、未来のコンピュータの図みたいなのがあるんですけど、これは実際に「こういうことをやっているんだ」という2人の会話とか書いてあるんですね。
これはなにをやっているかというと、重力シミュレーションなんです。男の子と女の子がDynabookを使って。Dynabookは、彼が考えたコンピュータ。(会場のiPad Proを手に取って)要するに、なれの果てがこれですよ。キーボードがついてなくてこっちになっちゃったのが、残念だといえば残念。Dynabookは、もともとペンもついていますからね。
Dynabookを持ち歩いて、この2人は一緒にコラボレーションしながらプログラミングを楽しんでいるんですね。「俺が宇宙船の動きを作るから、お前は重力の動きを作れ」みたいな感じで、一緒にプログラムしている。現在、ここまでできるのかといわれたら、微妙なんですよね。「もう1回ゲームする?」「これは簡単すぎるから、もっと実際の宇宙みたいにしようよ」とか、そういうことが書かれていたりするんです。
今できていないことが、しゃくだったので、これは僕のブログですけど、僕が自分で作ったMOONBlockを使って重力シミュレーションを作ってみたんですね。実際、意外とできるという(笑)。これくらいの重力シミュレーションもできるんですね。
実行すると。真ん中の赤いのが、なぜか地球なんですよ。宇宙戦艦ヤマトみたいな状況になっていますけど(笑)、このまわりの青いのが6分の1の質量を与えた衛星の候補で、それが最初ランダムに初速と位置を与えられるんですけど、ほとんどのものは飛び去っていってしまうんですね。
ごくごくわずかなものが、かろうじて地球のまわりをゆっくりと周回しているようになるということが確かめられるわけです。これって、プログラム的にはものすごく簡単なんですよ。ところが、プログラミングという表現手段を持っていない人には、これは作れない。
なにが簡単かといったら、みなさん、物理を習った人はけっこういますよね。物理を習った人は、F=maは習いましたよね、当然? そうすると、万有引力の法則、F=G*Mm/R^2も習いましたよね。ところがどっこい。この2つを習っただけでは、なぜ月が地球に落ちてこないか分からないんです。なんでかというと、地球がラージM、月がスモールm、ここの一直線上で働く力、Fを求めているわけですね。これはどう計算しても、月が地球に落ちるという結論しかないわけです。
実際、これはプログラミングで確かめてみると、これ。ちょっとわかりづらいのですが、青い天体がだんだん地球に落ちてきて、はい、というね。(青い天体が地球に落ちて、ぶつかり、さらに通り抜ける)。
これは僕が適当なことを言っているわけではない証拠に、このプログラムを見てください。
画面の真ん中を原点にしているので、dx、dyというここにないのが出てきますけど、これは全然難しくなくて、この座標系は真ん中160、160なので。ここ(真ん中)が地球で、ここが月だとすると、月の位置を点(x,y)として、地球との差を見るのにdx、dyというのを出したわけですね。
R^2のRは地球と月の距離ですから、これは三平方の定理によってdx^2 + dy^2。プログラムだと自乗を書けないので×を2回書いちゃったんですけど(R2 = dxdx + dydy;)。
ここから、わかりやすくいうとearthMassとmoonMass、ラージMとスモールmですね。これをかけたやつをR^2で割って、Fを求めています。三平方の定理は、R^2ですから。
このあと、今度R自体はR^2のルートなので、Math.sqrt()、平方根をつかっていますね。
FをX軸Y軸方向の成分、FxとFyに分解しています。その時にRを使うんですけど。
あとは加速度にFx / moonMass, Fy / moonMassを代入しているだけなんですね。
だから、プログラムで表現できるということは、こういうことなんです。これは、今日来ているスエミツさんと、カレーを食いながらさくさくと作ったプログラムです。子供に「なんでこの式で月が地球に落ちてこないの?」と言われたときに、ちゃんとプログラムを書かないで説明できる人は少ないです。
これで実行するとだめです。なぜだめなのか。初速がないからです。たとえば適切な初速を与えて距離をx=100くらいまで近づけてあげるとどうなるか。そうするとさっきよりマシだけど、曲線を描いてどっか行っちゃった。じゃあ、もっと近づけようか。x=130、近すぎるかな。まだ初速が早いですね。x=140のvy=0.1とかにするか。だめだ。vy=0.5、だめだ。このくらいvy=1とかでいいかな。かろうじてぐるぐる回るようになりましたね。というふうに、「こうすると落ちてこないね」というのがわかるんですけど、初速がないとダメだという話をみんな教えてくれないわけです。学校ではやらないわけです。
こういうことが、今のプログラミング教育のなかで視点として欠けてるんじゃないかと、荒唐無稽、有名無実なものになっちゃうかなという。ただ、これはまだ小学生が理解して自分で書けるかというと、理解して式変形できなければだめなので、もうワンステップくらいいるんですけど。
だけど、ここをインチキして重力ブロックみたいなのを作りたくないんですよね。それをやっちゃった瞬間にブラックボックスになって、子供が全然勉強しなくなっちゃうから、「ちゃんと意味がある数字なんですよ」ということを僕は教えたいなと思っています。ただ、この論文は非常にいろんな人に影響を与えた論文になっています。
ここにDynabookの理想的なかたち、みたいなのが出てきていますけど。
最後の1つですけど、James D. Foley『Computer Graphics: Principles and Practice in C (2nd Edition)』という本。日本語版の『コンピュータグラフィックの理論と実践』は僕が企画して日本語になっていますけど、本当は英語版のほうに影響を受けています。日本語版も探せばありますけど、すごく高い。英語版でも100ドルする本です。
これは僕が生まれたくらいの年に出た本です。僕が生まれたくらいの年に出た本なのに、僕が知らないことばかり載っていて、ちょっと衝撃を受けたという本です。この本との出会いがあったので、のちにUEIリサーチというCGの研究所を作る時に、この本の著者の西田(友是)先生という東大の先生をうちの会社に招いて、今ドワンゴに移管していますが、そういうことがあったという意味では非常に人生を変えた3冊目の本かなと思っています。
関連タグ:
「コンピュータの未来を創る」天才プログラマーが語る人類補完計画
キーボードとペン、先に消えるのはどっち? 誰もがプログラミングできる世界になると
「willがいちばん大事」なぜ品女の中学生は完璧にプログラミングできたのか?
「すごいことができる機能だけでは使われない」アラン・ケイが指摘した問題点
「自分より優秀な人しか雇わない」社員の能力を引き出す、すごいチームの作り方
「10年後の情報端末を詳細に夢想」天才プログラマーに影響を与えた3冊の本
「祭りを起こせ」新規事業を始める際に一番大切なこと
人より賢くなったコンピュータをどう操る? 人類補完計画の目指すところ
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05