映画「オデッセイ」に負けず劣らず面白い、宇宙サバイバルSF小説5選

GI Joe - Survival

マット・デイモン/リドリー・スコットの火星サバイバル映画「オデッセイ」(The Martian)も面白かったのだけれど、やっぱり原作小説の「火星の人」のほうが、ハードSFの醍醐味を楽しめたので、同じようなSF小説のオススメ作品を集めてみました。

文明から隔絶された極限状態を、ハードな科学思考と楽天的な志向で生き延びる話ばかりです。遭難した先で謎のエイリアンや別の異性人文明と出会って、みたいな作品は入っていません。ある意味、ハードSFの真骨頂とも言えるテーマです。古い本が多いのは、個人的な読書体験を反映しています。

(出版社が宣伝用に用意しているあらすじを掲載しています)
続きを読む


Firefoxの方向転換

野毛山動物園のレッサーパンダのキンタちゃん♀ (This Red Panda Name is Kinta. She is Female Red Panda of Nogeyama Zoo.)

うーむ。

12月に、FirefoxOSスマホの開発中止のアナウンスが出たときは、スマートフォンは撤退したら、Android版やiOS版Firefoxに軸足を移して、他のスマートフォンのUX改善というニッチを狙ったり、スマートフォン版はキャリアやオペレータが参加するコミュニティに任せたりするのかと思ったけれど。

Mozilla自体は、もっと徹底して方向転換するのね。Mozilla Marketplaceのサポートも終了するとは。

その代わり、こちらに注力する。

特に面白いと思ったのは、「コネクテッドデバイスに向けての次の一歩」に書いてあるコレ。

私たちは Mozilla の新しい IoT 製品プログラムを選別する製品イノベーションプロセスを進めています。このプロセスでは、早期段階のアイデアを技術系スタートアップのように扱います。プロジェクトの開発サイクルは解決すべき課題を確認する「検証」、市場の適合性を確認する「製品化」、そして「拡大」に分けられています。各プロジェクトに取り組むチームは消費者への明確な価値提案を示すことをあらゆる点で求められますが、特に「ゲート」を越え開発サイクルを次に進めるためには明確な価値提案が要求されます。

技術系スタートアップは、いきなり製品化するのではなく、技術的な課題を解決できるか「検証」して、それが利用者に受け入れられるか「製品化」してチェックして、それから市場拡大を狙うと。

パナソニックのスマートTVといっしょに検証フェーズを通過しているというVaaniは、デモ動画が公開されていますね。デモ動画の最後には「Speech IoT UI」と書いてある。

FirefoxOS Virtual Assistantという奴ですかね。以前にも、プライバシーを優先した音声認識という話がありましたけど、そんな感じでしょうか。

あとCHIRIMENとかも、このプロセスに乗るのが楽しみです。


エンジニアにとっての社会貢献を考える – ボランティア篇

Lego: The Engineer

paiza開発者ブログで「ITエンジニアが「社会貢献」できる働き方はどうすれば見つかるのか」という記事を書きましたが、ちょっと書き足らなかったので、こちらで番外編をお届けします。

社会貢献というと、災害時に被災地援助に関わるといった、無償の奉仕活動を思い浮かべる人もいると思います。じつは本来、英語のVolunteerという言葉は、無償奉仕ではなく、「自発的に申し出る」「進んで事に当たる」という意味があります(参考 – Wikipedia)。たとえば、義勇軍や志願兵は、Volunteerと呼ばれます。海外で飛行機に乗ったとき、航空会社がキャンセルを見越して定員より大目に予約を受け付けて、座席が足りなくなることがありますが、こういう時に「座席を譲っていただけるボランティアを募集します」なんてアナウンスが入ることもあります。
こうなると、よく耳にする無料奉仕のボランティアとは、かなり趣が違ってきますよね。

あちらでも書きましたが、転職や就活の際に「社会貢献度の高い仕事をしたい」と語るエンジニアが増えているんだそうです。もちろん、そのためには、自分の貢献できる能力と会社や組織についての理解を深める必要があるのですが、一方でエンジニアが社会貢献する方法は業務だけではありません。

続きを読む


プログラミング学習の失敗

Someone let Toby paint on my car!

あけまして、おめでとうございます。

新年早々、ほんの少しネガティブなタイトルにしてみましたが、これは「プログラミング学習のブームは失速する」ということではありません。プログラミング学習では「失敗」を学ぶ必要があるという意味です。

デジタルネイティブ

今の若い人たちは、「デジタルネイティブ」「デジタル世代」なんて呼ばれています。

生まれたときから、ネットが身近にあり、スマホやPC・Webアプリを使いこなしています。

そこに、プログラミング学習のブームがやってきました。プログラミングを身に付けて、新しい仕事にチャレンジしたり、コンピュータについての理解を深めたり、子供たちの将来の可能性を広げたり、場合によっては貧困状態から抜け出すきっかけにしようと、世界中で多くの人たちが取り組んでいます。

では、このデジタルネイティブな人たちが、さらにプログラミングができるようになると、どうなるのでしょうか。スマホやPCやWebアプリをより細かく使いこなす・もっと道具として使いたおすことと、いったい何が違うのでしょうか。
続きを読む


ブロックで亀

101

年の瀬も、押し迫ってまいりました。

少し時間に余裕ができてきたのを良いことに、
大掃除も手伝わずコードを書いてみました。
これも、今年のやり残しの片付けなのです。

さて今年、ブロック編集ライブラリ「MameBlock.js」や、Processingでタートルグラフィックを実現する「p5.turtle.js」なんてものを作ってきましたが、この2つを合体させたサンプルプログラムをこしらえてみました。

いわゆるタートルグラフィックスを、Scratch風のブロックエディタで編集・実行できます。

続きを読む


p5.jsでプログラミングのハードルを下げるイロイロ

happy e-thanksgiving

これは、Processing Advent Calendar 2015の12日目の参加記事です。

さて、ごく普通の人が、プログラミングで身近な問題を解決できるようになればいいな、と個人的に思っていまして、そのために注目しているツールのひとつがProcessingです。

Processingは、電子アートとビジュアルデザインを主なターゲットとしたプログラミング言語+プログラミング環境です。キャセイ・レアスとベンジャミン・フラによって開発されました。デザイナやアーティストがデジタルなインタラクティブ作品などを作るときや、非エンジニアのプログラミング学習などに利用されています(Processing – Wikipedia)。

今回とりあげるp5.jsは、このProcessingのJavascript実装です。Webブラウザで、Processingの機能をJavascriptと連動させながら、Webブラウザで実現するのに最適なツールとなっています。

このp5.jsなら、ごく普通の人にとってプログラミング入門のとっかかりに良いんじゃないか思いまして、この1年くらい、いくつか簡単なツールを作ってみたのでご紹介します。どれもオープンソースですので、自由に使ってください。
続きを読む


FirefoxOSスマホの開発中止報道について、2・3の思うこと

fx_000

いや、いくら何でも「FirefoxOS開発打ち切り」は言い過ぎだと思うヨ。真相は、FirefoxOSスマートフォンを製品ごとに開発してきたという体制を変更する、ということだと私は思う。

追記:こんなのも出てました。

12月09日朝、たまたまTwitter経由で、TechCrunch(英語)の「Mozilla Will Stop Developing And Selling Firefox OS Smartphones」という記事を知りまして。タイトルをみて、たまげた訳です。

日本でも大量に朝から、こんなニュースが次々と上がってくるではありませんか。

実は、12月というのは、日本のITエンジニア界隈では日替わりで技術解説コラムを投稿していくITアドベントカレンダーというイベントがありまして、今年は、FirefoxOSのアドベントカレンダーに参加していて、ちょうど12月10日に自分の担当がやってきました。

そこで今回は、FirefoxOS 2015アドベントカレンダーの参加記事として、このFirefox OSスマートフォンの開発打ち切りというニュースの真相と影響について分析してみたいと思います。

続きを読む


Processingでタートル言語を作ってみた

screenshot_s

Scratchみたいなツールから、ビスケット塾みたいな勉強会まで、子供向けのプログラミング教育が、一種のブームになっていますが、その源流にあるのが、シーモア・パパートLOGOだったりします。

LOGOで特徴てきなのが、タートルグラフィックスと呼ばれる機能ですね。亀ロボットを操作することで、子供でも手軽にコンピュータでグラフィックを描いてみることができます。Scratchにも、同じような機能が搭載されています。

そんなタートルグラフィックスを実現するタートル言語「p5_turtle.js」を、Processingで作ってみました。ProcessingのJavascript実装である、p5.jsで作ってあるので、ブラウザだけでそのまま動作します。

これまでもProcessingに、タートル言語ライブラリはあったのですが、ライセンスが厳しかったりして、個人的にはイマイチ使いづらいと感じていました。そこで、そのあたりをゆるくして。さらに、がんばって、カメが絵を描く軌跡をアニメーションで表示する機能も盛り込みました。

ただし、まだエディタ機能を持たせていないので、jsファイルを直接編集する必要がありますし、コマンドもまだ4つくらいしかありません。

とはいえ、p5.jsとスプライトなどをサポートするp5.play.jsライブラリのおかげで、わりと簡単に機能拡張できそうなので、もう少し遊べるオモチャにしてみたいと思います。