« 2011年7月 | メイン | 2011年12月 »

2011年11月

2011年11月 1日 (火)

エンジニアの未来サミット for students 2011開催中

10/29(土)技術評論社×サイボウズ共催、日本マイクロソフト協賛による「エンジニアの未来サミット for students 2011」の第1回目が開催されました。

エンジニアの未来サミット for students 2011

早速ですが、以下で第1回のレポートと録画が公開されています。

  1. 技術評論社レポート:今後のIT業界はどうなる?どう乗り切る? 「第1回 エンジニアの未来サミット for students 2011」
  2. Ustream.tv録画:エンジニアの未来サミット for students 2011 ゲスト:まつもとゆきひろ氏(Ruby開発者)「10年後のプログラミング言語」
【イベント概要】

名   称: エンジニアの未来サミット for students 2011
時   間: 第1回 10月29日(土)13時~16時
       第2回 11月19日(土)13時~16時
       第3回 12月10日(土)13時~16時
会   場: サイボウズ 東京本社
参加費用 : 無料
募集対象 : 各回将来エンジニアを志望する学生100名
主   催: 株式会社技術評論社、サイボウズ株式会社
協   賛: 日本マイクロソフト株式会社
内   容: 特別講演及びパネルディスカッション

世界を変えた技術者たちからIT業界を担う皆さんへ

今年は東日本大震災や巨大台風など大きな災害が相次ぎ、世界経済も混乱するな ど、社会は激動の時代を迎えています。災害時においても迅速な情報交換を促進 し復興をサポートするITサービスが次々と立ちあがったように、ソフトウェアエ ンジニアは未来を変える大きな力を秘めています。未来のIT業界を担うエンジニ ア志望の学生にとっては、実際にエンジニアとして働くということはどういうこ とか、学生時代に身につけておくべきスキルは何か、これから日本の会社はどう なっていくのか等、経験者の方から学びたいことが様々あるのではないでしょう か。本イベントはIT業界に影響をもたらした先達と共に学生の皆さんがエンジニ アの未来について考えるきっかけを提供します。

■第1回 10月29日(土)

特別ゲスト:まつもと ゆきひろ (「Ruby」開発者)
テーマ:「10年後のプログラミング言語」

・ 学生時代に勉強しておいた方がいいプログラミング言語について
・ 10年後に流行るかもしれない新しいプログラミング言語の未来
・ 10年経っても現場で残っているプログラミング言語とは?

■第2回 11月19日(土)

特別ゲスト:小飼 弾 (アルファブロガー)
テーマ:「エンジニアと会社の新しい関係」

・ 日本発のITサービスで世界に挑戦する人たちへのエール
・ エンジニアによる起業と会社経営はうまくいくのか
・ Perlとオープンソースコミュニティについて


■第3回 12月10日(土)

特別ゲスト:國中 均 (JAXA 宇宙科学研究所 宇宙輸送工学研究系 教授)
テーマ:「はやぶさ探査機搭載イオンエンジンが切り拓いた未来」
・ 「こんなこともあろうかと」が実現した瞬間とは?
・ 宇宙開発と10年以上の未来を見据えた技術者の魂について
・ はやぶさプロジェクトでソフトウェアが役立った重要性

國中均教授は、10月1日に公開された映画『はやぶさ/HAYABUSA』にてホリプロの 鶴見辰吾が扮する喜多修のモデルとなったイオンエンジン開発担当責任者です。 はやぶさは2003年にJAXA宇宙科学研究所が打ち上げた小惑星探査機で、数々の困 難に見舞われながらも小惑星イトカワへの着陸と試料採取を成功させ、7年後に 回収カプセルを無事地球に持って帰るという世界初の偉業を成し遂げました。 困難と思われたプロジェクトの成功の裏には、こんなこともあろうかと二重三重 の事前対策を施しておいたハードウェアの技術と運用中に制御プログラムを柔軟 に変更できたソフトウェアの力が必要不可欠でした。特別講演では映画では描写 されなかった数々の出来事と技術的な裏話を交えながら、エンジニアが作り出す 明るい未来についてパネルディスカッションする予定です。

参加者募集中

10月に続いて11月、12月と続いて開催されますので、興味のある方はぜひお申し込みください。 学生さんが対象となっていますが、社会人招待枠もあるそうなので、詳細は確認してみください。

YAPC::Asia Tokyo 2011 で Acme::MineChan を発表してきました

毎年恒例のPerlの大祭YAPC::Asia Tokyo 2011ですが、今年はちょっと趣向を変えて「Acme::MineChan」というマインスイーパを自動で解くプログラムを発表してきました。

お急ぎの方はこちらLT版の録画を

最終日2日目のLightning Talksの一番最後に少し時間をもらって簡単なデモをさせていただきました。

Perlで無理ゲーム攻略(1秒でマインスイーパを解く)

以下の録画の9:00ぐらいからデモを開始していて、途中1秒でマインスイーパを解けていますが、これはたまたま(マグレ)です。事前にいくら試しても早くて3秒2秒ぐらいだったので、本番で運が良かっただけでした。

元々応募していたのは「Perlで無理ゲーム攻略」という20分の発表で、Win32::GuiTest や Win32::Screenshot などのモジュールを利用して、Windows上で動作するゲームを自動でプレイするPerlプログラムを作成する方法について解説しました。 Windowsには元々キーボードやマウスを操作するAPIがあるので、それをPerlから利用してアプリケーションの操作を自動化しよう、という趣旨の発表でした。 スクリーンキャプチャを利用すれば、どんなアプリでも自動化できる、ということで、一番わかり易そうな例としてWindows付属ゲームのマインスイーパを攻略してみました。

マインスイーパの上級(爆弾99個)を37秒でクリアしたときのスクリーンショットです。

minesweeper hard mode (37sec)

Windows付属のMinesweeperにはXyzzyという有名なチート方法があるのですが、今回それは利用していません。 純粋にスクリーンキャプチャからパネルの状態を画像マッチで判別して、どの場所をクリックして解いていけばよいかをプログラミングしています。

ベストトーク賞2位(副賞:Mac mini)

I got a Mac mini! Mac mini (Core i5 + OS X Lion)

YAPC::Asia 2011 ベストトーク賞2位の副賞として Mac mini をいただきました。 今まで Mac の環境自宅で使ったことなかったので、WindowsだけでなくMac環境も自動化するべくしっかり活用させていただきたいと思います。ありがとうございます。 しかし事前に公表されていた副賞のスペックは2.7GHz Dual-Core Intel Core i7、8GBメモリ、HDD 500GB、MacBook Air SuperDrive付 ということだったのですが、当日受け取ったMac miniはCore i5のモデルでした。詳細を確認しようかと思ったのですが、最近はAppleは細かいモデル番号からスペックを検索できなくなってるんですね。おかしいなーと思って中身を確認してみたら、ちゃんとCore i7が入っていました!すみません!一番いい装備で頼まれていました!どうやらパッケージの印刷がCore i5だけだったようです。私の勘違いでお騒がせしました。 モニターは自宅のLCD2690WUXI2が使えそうだったので、細かいことは気にせず、新しくMac用のキーボードとワイヤレスマウスを入手できたので、活用させていただきたいと思います。 今まで自宅でMac環境を使ったことがなかったので本当に嬉しいです!

VNC::MineChan (by gugod)

Hackathonで一緒になったgugodは、自分でVNCプロトコルをハックして Auto-solve Minesweeper via VNC を開発していました。 台湾の繁体字バージョンのMinesweeperの画面です。

動画はMacからVNC経由で操作しているデモです。使っている画像マッチモジュールが違うため少し動作は遅いようですが、理論上Win32以外のOSでもVNC Serverが動けばリモートで自動化することができることがわかりました。

Acme::MineChanの公開について

Acme::MineChanは部品の画像を元にマッチングしてパネルの状態を把握しているのですが、それにマインスイーパをキャプチャした画像ファイルが含まれているため再配布は一旦停止しています。 gugodにはHackathonでその件を聞かれたので個別にソースコード一式を手渡しました。一番大変だったのは8のパネルの画像を出すことでした。あと、Windows7のマインスイーパはまだ攻略していません。 画像にグラデーションの処理がかかっているので、厳密な画像マッチでは対応できないためでした。 今回攻略したのはWindows95/XP付属のマインスイーパと、チート対策が施されたMinesweeper Clone 2007です。 今後、時間があれば曖昧マッチで画像位置を割り出せるようなPerlモジュールの開発をしてみようかと思います。 興味のある人は声をかけてください。

素敵なまとめ(英語)

こうして世界中のPerlハッカー達と技術交流できるYAPC::Asiaは大変素晴らしいイベントだと思います。運営・発表・参加していただいた皆さん、本当にありがとうございました!