log

MVP Community Camp 2014 に参加してきた

参加してから時間経ってしまいましたが。

MVP Community Camp 2014

私が参加したのは沖縄会場です。

MVP Community Camp 2014 沖縄会場

そもそも MVP とはなんぞや?ってことで、引用します

マイクロソフト MVP アワード プログラムとは

マイクロソフトが個人の活動を評価する、特別な賞。

MVP (Most Valuable Professional) アワード プログラムは、マイクロソフトの製品やテクノロジーに関する豊富な知識と経験を持ち、オンラインまたはオフラインのコミュニティや、メディアなどを通して、その優れた能力を幅広いユーザーと共有している個人を表彰するものです。MVP アワードの表彰は全世界で行われており、現在は、世界 90 か国以上、4,000 名を超える方々が MVP として精力的な活動を続けています。

そんなわけで、普段から MS 製品には馴染みが深いけど MS 製品のコミュニティってあまり見ない(少なくとも沖縄では聞かない)のでどんな情報が得られるのか、どんな人と会えるのか楽しみで行ってきました(とかいいつつ去年も参加してますが)。

非常に印象に残っているのが田中亨さんのExcelについてのセッションでした。

うろ覚えなので若干間違ってるかもしれませんがこんな感じ。

  • Excel は「機能」「関数」「VBA」から成り立っている。全てを知らなければ Excel を知ったとは言えない(それぞれに上下関係はない、と)
  • シートは「入力」「計算」「出力」に分ける。(MVCっぽいと感じました)
  • 学ぶことに「初級編」や「上級編」といった区別は意味が無い。必要な知識を覚える。
  • 「習うより慣れろ」ではなく「習ってから慣れろ」。基礎を学んだ上で実際にやってみなければ意味が無い。

内容もそうなんですが語り口がとにかく「聞かせる」発表で、聞き入ってしまいました。とにかく良かった。

schoo にも講義があったので気になる方はどうぞ。

田中亨(Office TANAKA)先生のプロフィール 教員名簿 - schoo(スクー) WEB-campus

以前開催されたITごった煮勉強会もまた開催されるかも、とのことなので、こちらも非常に楽しみです。

Oculus Rift 体験会 in 沖縄に参加してきた

Oculus Rift 体験会 in 沖縄 (http://peatix.com/event/30439/view) に参加してきました。

会場では Oculus Rift 用のゲームがインストール済みの PC が二台用意されてて、説明を聞きつつ実際にプレイしてみる、という感じでした。

実際に Oculus Rift を装着した感じですが、

  • 映像が目の前に広がっていて、かなり臨場感がある

  • 首を振るとあわせて周囲の映像も動く。360度対応しててつい周りを見渡してしまう。

  • 眼鏡を付けてるとディスプレイとの間に隙間ができてちょっと微妙かも

  • それほど重さは感じない

  • 人によっては酔うかも(私はそうでもなかったですが、酔ったという人は何人かいた)

  • 解像度はちょっと微妙。ところどころジャギってるのが見える

などなど。

写真撮ってればわかりやすかったんですが、文章だけの説明だと伝わらなさそうだったので、実際にプレイした(というより体験した)ゲームの動画をいくつか載せておきます。

ジェットコースター


Jacob tries the Oculus Rift (roller coaster) - YouTube

初音ミク

※ 動画ではコントローラと組み合わせてますが、体験会ではそれは無くて眺めるだけ


Dive into VR - Oculus Rift + Razer Hydra feat. Miku ...

進撃の巨人っぽいゲーム


Oculusで進撃の巨人 Unity - YouTube

沖縄 Ruby 会議 01 に参加してきた

Okinawa.rb, Ryukyu.rb, Ryudai.rb 共催で行われた沖縄 Ruby 会議 01 に参加してきました。 http://regional.rubykaigi.org/okrk01/

LTが大量にあって、全部は書ききれないので特に印象に残ったとこだけ感想書きます。

@bash0c7 さんの「Rubyによるバッチ業務のストリーム処理化の設計と実装」 https://speakerdeck.com/bash0c7/design-and-implement-batch-stream-processing-application-for-ruby

「業務におけるバッチ処理に fluentd 使うと最高の進捗が得られる」みたいなお話でした。

fluentd をログ収集以外の汎用的な分野に使うというのはよさげで、いわゆるギョーミーなバッチ処理に適用するというのは面白そうな話でした。

@moro さんの「カスタムマッチャーを流行らせたい」 https://speakerdeck.com/moro/suggestion-for-rspec-custom-matcher

RSpec のカスタムマッチャーを作ってアプリケーションの語彙を表現しましょう。それを使うことで RSpec でアプリケーションの振る舞いを表現しやすくなる」といったお話でした。

これ、最近テストを書いてて気になってるところで、テストを書いてるときに意図や目的が伝わりづらいテストができあがってしまって、標準のマッチャーだとなかなかスマートに記述できないけどどうしよう、みたいなケースがあったりします。

その辺りをカスタムマッチャーを使う(作る)ことで改善できるかな、と思ったのでうまいことハマる箇所があるか試してみようと思います。

後は懇親会でいろんな人と話しましたが「Ruby ほとんど触ったことないけど勉強会参加してみたくて本土から来ました」みたいな方が複数名いて Ruby の引力の強さを思い知らされました。

ちなみに、懇親会会場からホテルまでまつもとさんを送り届けるという任務が急遽発生しました。 @Tomohiro にナビとして同乗してもらいつつ、まつもとさんからいろいろお話を聞けたので楽しかったです。

ハッカーズチャンプルーに参加してきた

前夜祭から引き続き参加。

飲み物とお菓子等無料だったので会場ではノンアルコールビールクズしながら発表聞いてた。

きしださんの発表、「Java はこれからも3年遅れくらいで流行に追いつき続けるだろう」ってな話があって、流行りものから適度に枯れるのがそれくらいなのかなーとか漠然と思った。

弾さんの発表、FizzBuzz で始まってどこにたどり着くのかと思ったらマルチコアな話になった。Haskellわからん。

ビーチパーティーも引き続きノンアルコールビールクズしつつ色んな人と話せてよかった。

さらっと書いてますが、沖縄でこれだけ豪華なイベント早々無いので参加できてよかったです。 運営に携わった方々お疲れ様でした。

ハッカーズチャンプルー前夜祭

この前飲んでうまかったのでノンアルコールカシスビールクズしながら聞いてた。

  • 弾さんときしださんと河野先生が後ろでずっと立ち話しててあの辺りの霊圧が異常だった。
  • Perl関連発表時の弾さんの食い付きっぷりがよかった。さすが。
  • つーかあの空間で Perl の発表するの勇気いると思うので発表者の方々おつかれさまでした。
  • なんかもう全体的に弾さんだった。

unite-rake と bundler 環境の共存

bundler な開発環境で unite-rake という plugin を使おうとしたらうまく行かなかったお話。

ruby で開発するときには system gem 環境を汚したくないので、いつも Gemfile 書いて bundle install --path vendor/bundle するようにしている。

で、今回やりたかったのは unite-rake という plugin を使うことで、これを入れると vim 上から rake -T した結果が得られて、その結果を選択して実行ということができるらしい。

https://github.com/ujihisa/unite-rake

Unite.vim は導入済み、かつ、vim の plugin は neobundle で管理してるので、.vimrc に NeoBundle 'ujihisa/unite-rake' と書いてやって :NeoBundleInstall してやればいい。簡単。

ここまではよかったが、導入して実際にコマンド :Unite rake してみても何も表示されない。

仕方ないのでソースを読んでみる。

https://github.com/ujihisa/unite-rake/blob/master/autoload/unite/sources/rake.vim

system call で rake を実行していることがわかるので、試しに rake -sTbundle exec rake -sT に書き換えてやる。で、選択した rake task を実行する箇所も "VimProcBang " . v:val[0], から "VimProcBang bundle exec " . v:val[0], に書き換えてやった。これでとりあえず動いた。

だが、これでいいのかというと非常に怪しい。 bundler 環境かどうかを判定する処理を書いてやって、判定結果に応じて bundle exec を追加してやればいいかなーと思ったけど、どうにも納得いってない。同様なことする vim plugin は全てそういった判定処理入れるのか?ってのが頭をよぎる。

じゃあ bundle exec しなくても bundler 環境の rake が実行できればいいんだよね、ってことでそっち方面で調べてみる。plugin じゃなくて環境側を合わせる方向性。

bundle install --binstubs vendor/bin みたいにすれば特定のPATHに実行ファイルを閉じ込められるらしい。ってことはそこにPATH設定してやればいいのでは?と思ってやってみたが駄目だった。bundler が無いとか言われる。

で、いろいろやってみたが結論としては unite-rake を諦めた。

このあたり、vimmerrubyist な人達はどうやって解決してるのか。もしくはしてないのか。

RubyKaigi 2013 に参加した感想

初 RubyKaigi の感想を書きます。

終わった直後は主にプラス方向で思うところがありすぎて、頭の整理が追いつかなくてなかなか感想がまとまらなかったのですが、日が経つにつれて考えが多少はまとまってきたので。

Rubyの歴史」という発表で高橋さんがおっしゃっていたように、会場内至るところに「Rubyの歴史の教科書に載るような人」がごろごろいるというような状態で、私にとってはそれだけで非常にエキサイティングでした。 それと同時に、いくらインターネットが発達したとはいえ、東京と地理的に離れた地域に住んでいるというのはこれだけビハインドがあるのかと再認識させられました。

また、これは終わってから気がついたのですが、弁当や飲み物がスポンサーから提供されていることもあって会期中は会場内で全ての用が済む感じになっていて、参加者同士の交流がしやすかったと感じました。 名札も見やすくて twitter の follower を発見しやすかったですね。おかげで何名かとは初めてお会いすることができました。 私自身の反省点としては、非日本語話者とほとんど交流できなかったので、次回までには英語を勉強しようと思います。

発表全体を聞いての感想としては、Rails に関する発表で「Fat な model を如何にしてスマートにして見通し良いコードにするか」というテーマが結構あったのが気になりました。 共通認識というか前提条件としては Fat Controller → Thin Controller + Fat Model はとっくに過ぎてるんですね。そりゃそうですよね。

三日間あっという間だったのですが手に入れた情報は膨大で、全て頭のなかに落とし込んで自分のものにするにはまだまだ時間がかかりそうです。それ以外にも夢と希望と情熱をもらった気がします。 会社の経費で参加させてもらっていたので、二日目あたりまではぼんやりと「来年はぜひ他の人に参加してもらいたいなあ」とか思ってたのですが、三日目終了直後には「なんとかして来年も参加したい」と思うようになっていました。

この一年は RubyKaigi でもらったものを周りとシェアできるようにがんばりたいです。そして来年はまた補給しに行きたい。