任天堂 岩田社長の訃報で思うこと

世界は偉大な経営者、そしてプログラマーを失った。

岩田氏は同族経営だった任天堂に、異例の社長として抜擢された人物。天才的なプログラマー。経営危機を迎えたHAL研究所の社長になり、星のカービーなどを手がけ、見事会社を立て直す。取引き先の任天堂に買収され、社長にスカウトされる…というような伝説的な経歴を持つ。任天堂の社長になってからはNintendo DSとWiiをヒットさせた。

任天堂は近年、スマートフォン普及によるゲーム業界の変化から業績不振に苦しんだが、DeNAとの提携により時代の波に乗ろうとしているところ。業績や株価も回復してきた。会社にはこれから明るいニュースが次々と舞い込んでくるであろう、というときに…非常に残念なことだ。

岩田氏追悼のニュースやコンテンツはたくさんあるが、「ほぼ日刊イトイ新聞」さんの振り返りコンテンツは秀逸なのでご興味があればぜひ。

「ほぼ日」でのインタビューや任天堂本を読むと、岩田氏は優れたプログラマーで経営者であるだけではなく、優れたリーダーであり、素晴らしい人徳を持っていたことが感じられる。「こんなリーダーの元で働きたい」と思わせてくれる数少ない人物なのではないかと思う。

任天堂は僕にとって特別な会社だ。

小学校1年生の頃にファミコンとスーパーマリオブラザーズに出会っていなければ、僕はプログラマーという仕事をきっとしていない。

友人宅で出会ったテレビゲームという革命に、僕はショックを受けた。そしてどっぷりハマった。毎日のように友人宅に押しかけてプレイした。スパーマリオブラザーズ、アイスクライマー、イーヤルカンフー、エキサイトバイク、グーニーズ、スペランカー…どれも最高だった。それを見かねて両親はファミコンを買ってくれたのだ。あまりにも毎日のように通うので、人様のお宅に迷惑だと思ったに違いない(笑)

ファミコンと一緒に買ったのはドラゴンクエスト3だった。それからやはりスーパーマリオブラザーズを手に入れ、様々なソフトを友人を楽しんでいくことになる。ロックマン、メトロイド、ドラゴンボール シェンロンの謎、悪魔城ドラキュラ、火の鳥、コナミワイワイワールド、ドラゴンクエスト、ファイナルファンタジー…
その後の僕はゲームボーイ、スーパーファミコンも手に入れゲームにどっぷりの小学生時代を送った。

すっかりゲーマーになっていた僕が小学校の卒業文集に書いた将来の夢は「コンピューターの仕事」だったと思う。

中学校以降、数学が苦手で文系に進んだが、その将来の夢はどういうわけか叶ってしまった。僕は今、プログラマーをしている。

岩田さん、素晴らしい仕事でたくさんの楽しいゲームを世に送り出していただき、心から感謝しています。本当にありがとうございました。大変な人生だったと思います。どうか安らかにお眠りください。

[React.js] setStateしても直ちにstateは変更されない

最近仕事でReactをやっている。
今回のネタはひとこと(ひとコード?)で言うと以下のようなこと。

getInitialState () {
  return { clicked: false };
},
clickHandler () {
  this.setState({ clicked: true });
  console.log(this.state.clicked); // -> false
},
render () {
  console.log(this.state.clicked); // -> true
  return <button onClick={this.clickHandler}>Click Me</button>;
}

インタラクションのハンドラで this.setState したとして、そのハンドラ内でthis.state を参照しても、まだ更新後の値は取れない。render() が呼ばれるタイミングでは更新後の値になっている。実際にステートが更新されるタイミングは意図的に制御されているらしい。トリッキーだ。

更新後の値は変数に入れておいて this.setState しつつ、ハンドラ内ではその変数の値を使うのがおそらく正解だろう。

getInitialState () {
  return { clicked: false };
},
clickHandler () {
  var value = true;
  this.setState({ clicked: value });
  console.log(value); // -> true
},
render () {
  console.log(this.state.clicked); // -> true
  return <button onClick={this.clickHandler}>Click Me</button>;
}

ヤマハデザイン展2015

見に行ってきました。その様子は以下のようなもの。
ヤマハデザイン展2015開催。全天球ドラムに2人用マリンバ、コンセプトトライクなど見所多数 – Engadget Japanese

六本木ヒルズ2階のオフィス棟を取り巻く通路の途中に展示されていました。
この中では円状のドラムが一番インパクトがあるんだけど、一番実用性がなさそうで(笑)

PVはこれなんだけど。

上記のEngadgetに掲載されているパフォーマンス動画を見ると、RAIJIN氏の演奏が明らかにうまくなっていることがわかる(笑)おぉぉ、こんなに扱いにくそうな楽器を演奏してる!

これらのプロダクトは、YAMAHAのProject AH A MAYというデザインプロジェクトの産物らしい。素晴らしい取り組みだと思います。頑張ってほしいです!

20150705a

20150705b<a

20150705c

20150705d

20150705e

20150705f

20150705g

20150705h

20150705i

さくらのレンタルサーバーからさくらのVPSに引っ越しした

実際に引っ越ししたのは5月のことなのだが、今更書く話。

さくらのVPSは仕事でも使っているのだが、使い勝手がよいので個人でも使うことにした。
このサイトはそちらに引っ越ししました。

Linuxの設定は問題ない…と思っていたのだが、旧レンタルサーバーと使いたい構成が異なった(Apache + MySQL + WordPress → Nginx + MySQL + WordPress)のと、メールサーバーをどうするかという課題があって結構手こずってしまった。

このサイトはWordPressで稼働しているのだが、今回はNginxで動かすことにした。Nginxを使うのは初めてだが、ネット上にいくらでもノウハウが転がっていたのであまり困ることはなかった。Nginxはその頃に 1.8.0 がリリースされたのでそれを使うことにした。メールサーバーはノウハウもないのでやりたくないぜ…と思ったので、Gmailに転送するだけにした。postfix設定についても探せばノウハウはたくさんあった。

しばらく運用してみたが、以前よりサイトが重くなっている。。VPSのスペックの問題かNginx + WordPressという構成の問題か…、分からないがこのまま様子を見よう。