新しいソフト開発手法を試そう

日本では2年くらい前から、継続的インテグレーション(CI)の有用性が叫ばれてきました。
私のバイト先でも導入しているし、かなり便利そうな感じです。
今やCIを知らない企業は技術的に大きく遅れていると言ってもいいのではないかな。
というわけで、CIを試してみて、その模様をプログラミング研究会で発表してきました。
その時のプレゼンがこちら。

CI、良いですね。
旧世代のV字モデルに従っている場合ではないんですよ。
ところが私の受けたSE講義では、現役のSEの方が
「開発はV字モデルで、最後のテストでものすごい手間が云々」とか
「プログラマーは俺たちSEが仕様策定・テストをしないと仕事をできない」とか平気で言うわけです。
そもそも新たな開発手法に言及する人が少ないし、したとしても否定的な意見しか出ないという有様。

V字モデルが提唱されたの、1980年くらいですよ?
数年でガラリと変わるIT業界にとって、30年以上前のやり方を続けるなんて
料理人が石器で仕事をするようなものです。
「新しい開発手法がある?いやいや、俺達は今までこの方法でやってきたんだ。それの何が悪い。」
そんな事を言う会社がもし仮にあるとすれば、そいつは倒産フラグが立っていると思うことにします。
仮にそれで料理が出来たとしても、時間は掛かるし、切った断面はグチャグチャです。
そんな仕事をしていても、他のプロから見放されるだけでしょうね。

まとめます。
1. 今は継続的インテグレーションでの開発が有効。
2. IT業界において、古いやり方に固執する企業に入ってしまったら、さっさと転職するのが良い。
以上です。

git初心者のための「Assemblaとgitの始め方」

このページでは、「Assemblaとgitでバージョン管理したいけど、まずは何をすれば良いの?」という方のために説明をします。
そもそもgitって何?という方はサルでもわかるGit入門をご覧ください。

Assemblaの利点

バージョン管理システムのgit、そのリポジトリ(データ)の置き場所としてはgithubが有名ですが、
そこに置いたコードはお金を払わない限り常に誰からでも見えてしまうというデメリットがあります。
一方Assemblaなら無料でプライベートなリポジトリを作ることができるので、
このブログではそちらの使い方を紹介します。

続きを読む

新たな価値基準の必要性

ネットが変えた社会

ネットがあまりに速く社会を変えているので、「貨幣」という価値基準が今の社会にそぐわなくなってきました。
本来の貨幣の役割は、人間が行う物々交換の仲介役です。
ところが、今やり取りされる「モノ」は形のある「物」だけではありません。
タメになる動画、エキサイトなゲーム、有益なWebサイト…。
それら価値のある「モノ」 の正体は形のない情報ですから、
コピーしてネットで拡散しようと思えばいくらでもできます。
コストをかけず無限に同じ情報を生産できるこの世界で 、「1個あたりいくら」という基準が通用するでしょうか。

貨幣経済と情報社会の矛盾

ネットと貨幣経済の相性の悪さは、すでに歪みとなって発現しつつあります。
コンテンツをコピーする者とそれを阻止・規制しようとする者のイタチごっこは終わる気配を見せません。
著作権監視ボットの暴走も実際に起き、問題視されています。
有用な情報を無限に拡散できるのがネットの利点でありながら、コピーされると儲からないというのはあまりに大きな矛盾です。

新たな価値基準

このままでは情報技術が活用されるほど、貨幣システムとの矛盾に悩まされることになるでしょう。
貨幣に変わる次の価値基準が求められます。
新たな価値基準とはどのようなものになるのでしょう。
明確な答えは分かりませんが、ヒントの1つとなるのが「ウッフィー」です。

ウッフィー、貨幣に次ぐ価値基準 プレゼン作者=ブログ著者

ウッフィーという価値基準はネットと相性が良いように思えます。
問題点を挙げるなら、お金の代わりにウッフィーだけで生活する方法を私たちは知りません。
それでもお金とは違う形での信用に価値があると認められる以上、
本当にお金に換わるような 価値基準が発明される日は近いと期待してしまいます。

NHKスペシャル「終戦 なぜ早く決められなかったのか」を見た

2012/8/15, NHKスペシャル「終戦 なぜ早く決められなかったのか」が放映された。
当時の官僚たちは、日本が負けることを早くから予想していた。
なのに何故、原発を2発も叩き込まれるまで降伏を決断できなかったのか。

当時のリーダー達の行動はあまりにガッカリだった。だけどそれより怖いのは、このガッカリな様子が現代の日本国民とあまりに似ていること。
まずNHKの番組内容をまとめて、それから考察したい。

終戦が遅れたシナリオ

終戦間際に焦点を移そう。どうして終戦宣言が遅れたのか?
最近専門家が導いた答えを、NHKがまとめてくれた:

当時は統治構造の縦割りが酷かった。
陸軍、海軍、外務省、首相。これらの間で情報が共有される事は全くなく、自らが掴んだ情報だけを元に行動していた。
これを改善するため、それぞれの団体のトップを集めて秘密会議が開かれるようになった。
お互い腹を割って話をしようという狙いだ。参加者は6人。
主な議題は、なるべく日本が有利になるように戦争を締めくくること。
そしてこんな展望が出た。
「日本の国力はジリ貧だけど、最後に一撃、米軍にドカンとかませよう。相手をビビらせるんだ。それから平和条約を結んだソ連に終戦交渉をお願いすれば、無条件降伏に比べて有利に終わらせられる。これが日本のベスト・シナリオだ。」
そして、次の点で揉めた。

  • 米軍に一撃かませる余力が日本にあるか?
  • ソ連に終戦交渉を依頼する際、日本側の条件をどの程度譲歩すべきか?

この時、陸軍は既に重要な情報を掴んでいたんだ:「まもなくソ連が平和条約を破って日本に攻めてくる。」
外交官も首相も天皇も、まだこの情報を知らない。
陸軍のリーダーが秘密会議でこれさえ明かせば、上の展望は無茶だと分かる。無条件降伏が正しい選択だ。
だけど陸軍長は、知っていながら明かさなかった。無条件降伏すべきという本音を隠し、軍トップの体裁を保つために「一撃加えるんだ。ソ連への過度な譲歩も要らない」と言い放った。
そういう要因があって、議論は進まない。有りもしない日本の希望を巡って、彼らは何日も、議論に時間を費やし続けた。
現状からかけ離れた、あまりに無意味な議論。莫大な日数を費やした末に出た結論は、いや結論とすら言えないような産物がこれだった:
「ソ連と交渉するために1人送る。譲歩した条件になるだろうが、無条件では困る。具体的にどうなるかは…派遣する人に任せるしかあるまい。」
さらに残念な事に、この時もう手遅れだった。日本とソ連の交渉のチャンスが失われ、連合国が日本に下す制裁が一方的に決められた。そして日本には後世まで残る傷がつくこととなった:
戦争による死者は最後の数ヶ月、つまり議論でもたついている間に急増した。
ソ連による侵攻、原発投下、北方領土問題、戦争孤児問題…。
これらの元凶は、悲しいかな、6人の無意味な議論の積み重ねなのであった。

以上が番組で述べられたシナリオ。
さて、現代の日本人はこれをどう反省したものか。

遅れの原因

番組の出演者は、問題点として「減点主義」に言及した。
参考:1.減点主義と加点主義  2.減点主義のルーツ
減点主義の世界は、「出る杭は打たれる」世界。期待にさえ応えていれば良い世界だ。
この世界では次の生き方が要求される。

  1. 管轄外のことをするべきでない。管轄外に興味を持つ必要もない。
  2. 本音を隠す。周りの空気に合わせて建前をつくり、本音と建前を違うものとして区別する。
  3. 主導権をとらない。

以上が出演者が述べたこと(プラス参考文献の話)。
今回の終戦の話は、こういう減点主義が如何に酷いかを示す良い例となるだろう。
上の1がもたらしたのは、縦割りの弊害。彼らは他の機関が持つ情報に無関心で、必要な情報が共有されなかった。

上の2がもたらしたのは、重要な問題の消失。陸軍長は真に言いたいことを言えなかった。
洗脳されて「天皇万歳、天皇のために命を懸けよう」などと言う多数の部下や国民が作り出す恐るべき空気。
これに逆らえず、 本音を隠して同調してしまう。
しかし、押し殺した本音には何十万人の命が詰まっていた。率直に本音をさらせば、彼らは救われたのだ。

3がもたらしたのは、議論の冗長さ。秘密会議には司会者がいなかった。議論はまとまらず、無為に時間を潰すのみ。そして、全ては手遅れとなった。

現代も同じ

恐ろしいことに、これらの問題点は現代で解決されていないどころか、日本の国民性そのものだ。
特に日本企業の会議は冗長になりがちだ。控えめで、意見に多様性がない上にまとまらない。会議の空気を打ち破るような、本音をズバッと言える人が多くいるわけでもない。
しかし、大した内容もないのにダラダラと喋るのは無駄以外の何でもない。終戦の秘密会議のように、気づいた時には手遅れだ。

残業もまた問題だ。不十分な賃金で残業したり、月80時間もの残業をしたり…。
前者は法律違反、後者は過労死基準に合致する。どちらも異常とみなすべき事態だ。
しかし長い間会社に身を置くことで、異常な事態が普通に思えてしまう。
会社に洗脳され、「残業当たり前」と唱えながらプライベートな時間を会社に投げ捨てるサラリーマンがあまりに多い。
→参考: My News Japan
洗脳教育を受けて「天皇万歳」と唱えながら敵地に身を投げ捨てる 構造と同じではないか。
かつて「天皇は神」という日本人で共有された空気が 貴重な意見を黙殺したように、
「残業は当たり前」という空気が幸福を求める権利を黙殺している。

反省、変えるべき事

戦時と現代、何も変わっていない。これでは駄目だ。
今こそ、戦後の反省をしよう。
武器を手放すだけでは不十分だ。
減点主義をひっくり返そう。出る杭は打たれてはいけない。杭を出すのは個人の自由だ。

なお減点主義の内容をひっくり返すと、次のようになる。
「主導権を握りに行け。本音をさらせ。人々の持つ空気を打破しろ。短時間で決着をつけろ。」
これが、日本の戦後の反省点だ。

ゲーミフィケーションについて調べてみた

ゲーミフィケーションは、生活のあらゆる物事を楽しく有意義にしてくれるかもしれない。
そんな期待を抱き、少し調べてまとめてみました。

こちら。

最近の例を見ると「とりあえずバッジとランキングつけときゃ良いだろう」みたいなのが多いですね。
しかしスライドにも載せたとおり、何にどれだけ楽しいと感じるかは人によって異なります。
バッジばかりでは「ACHIEVER」に偏っている状態です。これでは多数の支持を得られません。
今後はさらなる工夫を凝らしたアイデアや技術力を駆使したアイデアが出てくることでしょう。
一大産業になれば、世界が楽しくなるだけでなく技術者の需要が高まって労働環境がまともになるかも、
という淡い期待を得たところで今日のブログを終わります。

Unity使ってみた

学校祭向けにミニゲームを作りました。
ゲームエンジンUnityはなかなか良い感じです。
しかし、「実行中にプレハブデータが壊れ、インスペクタが真っ白になる」バグが発生。
実行でファイルを壊すなんてどこのウィルスだよと思いつつ四苦八苦。

フォーラムを見ると「そういうバグがあって困るぜ」という報告があれど
「解決された」という報告がない。
どうやらUnity本体のバグらしいです。

原因がよく見えないのですが、コードのバグを直し以下の変更をしたら解決しました。
・他のクラスのデータにアクセスするとき、インスペクタでクラスを持つプレハブを指定していた。
・これを変更し、ソースにてGetComponentを用いクラスにアクセスした。
・解決?

変更前の悪い点を先輩が推測してくれました:
指定したプレハブから情報をgetするならともかく、setまで入ってくると大変なことになりそうです。
そもそもプレハブはゲームオブジェクトのプロトタイプなので、setで変更を加えたときにインスタンスまで変更が届く保証がありません。
さらに、私が見落としていたことですが、プレハブはHHD上にあるリソースです。
プレハブが破壊されるほどのバグということは、プレハブ操作によってHDDリソースを毎フレーム何回も書き換える事になっていたのかも・・・!
ということで、ディスク上にあるリソースはゲーム中触らないようにしましょう。
プレハブに変更を加えるのではなく、インスタンスに変更を加えるようにしたので解決したと推測。

さて、出来上がったのはこちら。

サイコロを転がして役を揃えよう。
上の動画では2が2つ隣り合ったので役となり消えています。

Androidでプログラムを動かす比較

Android上で動くプログラムを作る、2つの方法の比較です。
内容はゲームを想定。
1つはAndroidに搭載されるOpenGLを使ってアプリを動かすこと。
2つ目にAndroidのブラウザ上でプログラムを走らせること。
今はenchant.jsがあるので、ミニゲーム程度なら後者の方法が断然楽です。
あとちゃんとしたゲームを作るならOpenGLになるかな。

プログラム研究会での発表用に2つのスライドを作ったので、ご覧下さい。

OpenGL on Android

学習動画を作ってみた

プログラミングとは関係ありませんが、
高校数学Iを予習したい人のための動画を制作してニコニコ動画に投稿しました。
【ニコニコ動画】【ニコニコ学習】高校数学1 予習(復習)する動画 part:最初の最初

最近ゲーミフィケーションが注目されつつあるようですね。
ゲームやエンタメで楽しさを生むノウハウを仕事や勉強に生かすのだそうです。
例えば、インターネットであらゆる情報を面白おかしく伝えることができるのに、
すごく重要な教科書の情報が全く面白く伝えられていないのは勿体ないですね。
「この教科書がもっと楽しかったらなあ」なんて、誰でも一度は思ったはずです。
そこでゲームで勉強したり、ネットで勉強をエンタメ化したり。
全ての学生の悲願が叶うとしたら、胸熱じゃないですか。

この動きを大学生なりに応援する手段として、
「学校や塾以上に楽しく分かりやすい勉強手段があるかもしれない」ことを示す。
これを目標として、ネットに学習動画を投稿した次第です。

今part1-2を作っていますが、予想以上に大変です。
投稿ペースは亀ほどに遅くなるかもしれませんが、できれば辞めたくないなあ。