2013年9月21日土曜日

デブサミ関西へのAction #kansumi

デブサミ関西 に参加してきた。


◆ラウンジスポンサー

デブサミといえば、開発者のお祭り。いろいろ都合があわなくて、これまで参加できておらず、今回が意外にも(?) 初参加である。

そんなデブサミが今年も関西で開催されると聞き、今年こそ、と意気込んでいた。
しかし実行委員の面子を見ると、知っている人ばかり(最近は関西の勉強会で知っている人がいないものの方が少ないけど)。そういうところへ、ただの一般参加者として行くのはなんだか勿体無いなーと思った。

自分もこれまで、関西のIT系勉強会やコミュニティに対していろんな貢献をしてきたし、その発展に少なからず寄与できていると自負している。だからこそ大きなお祭りであるデブサミに参加するからには、なんらかの形で手伝いたい、と思っていた。

するとラウンジスポンサーということで、参加者の電源つき休憩スペースを確保するためのスポンサーを募集しているということだったので、その場でクリックして申し込んだ。

これで心置きなくデブサミに遊びに行ける。

◆自分戦略

やはりデブサミでの登壇は勉強会クラスタにとっての憧れだ。
去年、東京のデブサミで「公募セッション」という枠があり、一般公募されていたので応募するかどうか悩んだ。
しかし当時、同じ時期にScalaカンファレンスの開催があって、そこに登壇する予定であったので、さすがにどちらか一本に絞るべき、と思って諦めた。

そんな折、デブサミ関西で今年も自分戦略セッションがあるという。去年、盟友の@irofさんが登壇してたやつだ。

これは一般からの投票の結果、上位者に登壇機会が与えられる。当初の実行委員選抜者の中に僕の名前は無かったのだが、自薦も可、ということで応募してみた。

すると、結果はなんと1位。 投票してくださった皆さん、本当にありがとうございました。

当日の資料はこちらになります。



◆Action!

今年のデブサミ関西のテーマは「Action!」これは今回の自分の発表でも言いたかったことなのだが、僕の今回のデブサミに対する関わり方そのものが、僕のActionだ。

僕たちITエンジニアは、少し外の世界に目を向けるだけでいろんなActionの場が存在している。僕自身、エンジニアとしてのスキルはそれほど高いわけではないけれど、こうしてイベントなどで登壇したりできているのはActionの結果だ。

コミュニティとか、勉強会とか、イベントとか、そういうところに飛び込むことへのリスクはそれほどない。僕が今回、デブサミの自分戦略に自ら手を挙げて、投票の結果登壇できなかったとしても、別に失うものなんてなにも無い。事実、今回は半分くらい自分は選ばれないだろうと思いながら応募のクリックを押した。

今回のようにうまくチャンスを与えられた場合もあれば、逆にチャレンジしてみたけれどダメだった場合も星の数ほどある。でも僕は別にその失敗の結果何一つ失ってなどいない。

なので、みんなもっと物怖じせずにいろんなチャレンジをすればいいと思う。

◆プログラマ定年

こんなチャレンジを続けた結果、今日でプログラマ定年(35歳)になったわけだが、まだプログラマを続けることができている。
(ウィッシュリストをこっそり:  http://www.amazon.co.jp/gp/registry/wishlist/ref=wish_listhttp://www.amazon.co.jp/gp/registry/wishlist/ref=wish_list)

次はやっぱり雅叙園で登壇したいなー (/ω・\)チラッ

2013年8月18日日曜日

leapmotion sdkをsbtで動かしてみた

LeapMotionを購入して、いろいろ遊んでいる。

で、SDKを見ると、javaのSDKがあったので、せっかくだからScalaで実装して遊ぼうと思い、まずはSBTでLeapMotion SDKが動く環境を作ってみた。

まずはLeapMotionのDeveloperサイトでユーザ登録し、SDKをダウンロードする。

次にSBTプロジェクトを作成し、libディレクトリに"LeapJava.jar", "libLeap.dylib", "libLeapJava.dylib"を置く。

SDKにJava用のサンプルコードが入っているので、それをScalaで書きなおす(IntelliJ IDEAでコピペしたら勝手にScalaに変換してくれるw)。

ここまでは順調に行ったのだが、僕はここで詰まった。

lib配下に置いた "libLeap.dylib", "libLeapJava.dylib"はネイティブライブラリであるので、普通のjarファイルと違ってlibに置いただけではSBTでロードすることができない。

"-Djava.library.path"で明示的にlibディレクトリを指定する必要がある。

SBTでrunコマンドを実行すると、通常はSBTが動いているのと同じJVMで実行されるから、単純に考えるとSBTの起動時に"-Djava.library.path"オプションを指定してやればよさそうなのだが、これではうまく動かなかった。

なので他の方法を。

build.scalaにいくつかの設定を加えてやることで、runコマンドでの実行時に使用するJVMをSBTが動いているのとは別のものにすることができる。

Forking

そこでbuild.scalaに以下の設定を入れてみる。


fork := true

javaOptions ++= Seq(
   "-Djava.library.path=.:./lib"
)

これで実行してみたが、コンソールからの入力を受け付けてくれず、思った通りに動かない。fork run時に、標準入出力の設定をきちんと書いてやらないといけないようだ。

そこで次の設定を追加。


connectInput in run := true

これで動いた!!

ちなみにこれらの設定を入れたsbtプロジェクトのテンプレートをgithubに上げといた。

leapmotion-sbt

さて。やっとスタートラインに立ったので、なにを作ろうかなー?

2013年6月17日月曜日

デュシャンの「大ガラス」に出会った不思議な旅

この土日に東京に行っていた。

目的は土曜日の夜に、某オフ会に参加するためだ。

彼らとは2年ほど前からの付き合いで、年に1, 2度会うだけなのだが、会えば昔からの友人同士のように語り合える。この2年、いろいろなコミュニティに参加してきたが、ここが今の僕の原点で、人生で最初に参加した「コミュニティ」でもある。

彼らとは出会う前からオンライン上の付き合いがあったためか、初めて顔を合わせた時から、旧知の友人同士のような関係が築けていたような気がする。

彼らとの出会いで、僕はIT系コミュニティという存在を知り、はじめてのライトニングトークを経験し、多くの仲間と出会えた。

去年、僕が転職した当時、このコミュニティで知り合った友人の二人が京都にいた。僕も京都の会社に就職したので、これで彼らとしょっちゅう飲みに行けるぞ、と思っていたが、結局それが叶わないまま、二人とも時期は異なるものの、仕事の都合で東京に行ってしまった。このオフ会は彼らと久しぶりに再開した場でもあった。

オフ会の主旨自体は、コミュニティのメンバーだった一人と、諸事象によりしばらく会えなくなってしまうため、その前にみんなで会おう、という集まりだった。

なんだかみんな、遠くに行っちゃうなー。そんな事を思いながら、その夜はお酒を飲んだ。

翌日。ホテルを出て、このまままっすぐ帰ろうかと思ったのだが、なにげに道路に設置されていた周辺地図を見ると、近くに大橋ジャンクションがあるというので見学して帰ろうと思った。僕は洋の東西や規模の大小を問わず、珍しい「建築物」が好きなのだ。



ひとしきり大橋ジャンクションの威容を愛でたあと、帰りの時間は特に決めていなかったので、周囲を散歩してみようと思った。

特にあてもなく住宅街を歩いていると、なにやら緑の深い一帯が見える。公園でもあるのかと思いそちらに行ってみると、そこは公園ではなくて、東大だった(笑)

駒場キャンパスだ。


一人で日曜日に大学キャンパス内を歩いていて、不審者と思われたらやっかいなので、とっとと立ち去ろうと思ったが、そういえばここにはアレがあったんじゃないか? とある記憶が頭をよぎった。

僕はマルセル・デュシャンが大好きで、死ぬまでに必ずフィラデルフィア美術館で彼の遺作を見ようと心に決めている。そんなデュシャンの代表作『花嫁は彼女の独身者達によって裸にされて、さえも』(通称大ガラス)の東京バージョンが、駒場の美術博物館に常設されていたはずだ。

いつか観た来たいと思っていたが、東大のキャンパスやその近くに来る用事などあるはずもなく、また、わざわざこのために来るというのもはばかられていたので、ずっと機会を伺っていたのだ。


キャンパス内を探すと、美術博物館はすぐに見つかった。中に入ると、展示ホールの中央にそれはあった。去年、マン・レイの写真展で、彼の「埃の培養」という作品越しに観た、ガラス板(埃の培養に写っているのはオリジナル版で東京バージョンではない)。
あの、作品を象徴するガラスのヒビが入っていない、フラットな表面。念願の「大ガラス 東京バージョン」だ。

これを観た瞬間、すごく不思議な気持ちになった。昨夜、なんとなくさびしい気持ちでお酒を飲んで、その翌日にまったくの偶然に、ここにたどり着いた。この作品が向こうから僕に近づいてきてくれたような、そんな感覚だった。

この土日は、なんだが不思議な旅だったが、来てよかったと思った。

2013年5月19日日曜日

関西ソーシャルゲーム勉強会は超熱い勉強会だった

第4回関西ソーシャルゲーム勉強会 で発表してきました。

先日、ソーシャルゲーム会社の交流会 に参加した折に登壇の依頼をいただいてお話をしてきたのですが、想像以上に熱い勉強会でした。

80名近い人が参加する、という大盛況ぶりで「関西にソーシャルゲーム関係者ってこんなにいるのか!?」と驚きました(そりゃいるだろうけどもw)

今回はDeNAの川上さんが登壇されるということも、楽しめたポイントでした。これまで、GREEさんとか、サイバーエージェントさんの人とは他の勉強会で交流する機会がありましたが、DeNAさんの中の人とお会いするのははじめてだったので。

僕はいつものごとく「乙女ゲーム」の話をしてきました。
以前、Scalaカンファレンスで発表した際に、「発表タイトルに"乙女ゲーム"と入っていたから期待してたのに、あまり乙女ゲーム成分がなかった」というフィードバックをいただきまして、その反省を踏まえて構成を考えました。

ご依頼があればどこにでも喋りに行きますので、オファーお待ちしておりますw


今回の勉強会では、広告戦略の話などで具体的な金額の話なども飛び出し、「えっ! そこ言っちゃうの!?」というこれぞ関西のノリ、という濃い勉強会だったと思います。おそらくは「ソーシャルゲーム関係者の集まり」という会場のコンテキストだからこそ実現できた内容なのだろうと思います。Google相手に金額交渉で値切る、というのはすごい話でしたw

懇親会は、LTを交えながらビアバッシュ形式で行われました。
僕らが普段よく参加する勉強会は、エンジニアの集まりがほとんどなので、懇親会でも技術の話が多いです。しかし、今回はデザイナさんや営業さんなど「ソーシャルゲーム」に関わるいろんな職種、業種の方が集まっていました。そのため懇親会でも、開発会社さんやデータセンター事業者さんからの売り込みがあったり、すごく新鮮な感じでした。

普段、「ソーシャルゲーム」という枠組みの中で、各社が交流する機会というのがまだまだ少ないですから、こういう懇親会もいいなー、と思います。

ソーシャルプラットフォーム各社さんも関西に進出してきていますし、もっと業界を盛り上げていきたいです。


2013年5月12日日曜日

DevLOVE関西「SQLアンチパターン・レトロスペクティブ関西・リターン 」 に参加しました。

DevLOVE関西「SQLアンチパターン・レトロスペクティブ関西・リターン 」 に参加しました。

「SQLアンチパターン」の監訳者である和田さん親子を招いての勉強会です。



最初に、和田卓人さん の講演で25のパターンに関する説明を受け、その後グループディスカッションで自分たちの経験を25のパターンに当てはめて議論し、最後に26個目のパターンを見つけて名前をつける、という流れでした。

個人的には「SQLアンチパターン」に書かれてある内容は、ほとんどすべて見たことがあります。実際に自分がデータベース設計をするにあたって、やってしまったパターンもいくつもありました。

ただ、最近はソーシャルゲーム開発に携わっていることもあって、あまり設計時にガチガチにER図とにらめっこすることが無くなりました。DB側で制約をつけすぎると、柔軟性が損なわれるので、DBは最低限の「入れ物」と見なす事が多いからです。

また、ORMなどを使うのであまりアプリ側でSQLを直接書いたりしませんから、複雑なSQLクエリを書いて仕事をさせる、というよりは最低限のWhere句でデータの塊をとってきて、実装側で加工することが多いです。特にScalaのコレクションAPIはそれをしやすい機能だったりするので。

そのため、最近はここに書かれているアンチパターンは、特に意図せずとも遭遇する機会が減ったなー、という印象でした。

そういう話をしていたら、「RDBネイティブとNoSQLネイティブの世代間ギャップを最近感じる」という意見が出されたりして、興味深いディスカッションになりました。

最後に、いつも会場提供くださる楽天さん、ありがとうございます!
毎回おもしろい勉強会を開催してくださるDevLOVE関西スタッフの皆さん、ありがとうございます!

2013年4月2日火曜日

上司に怒られないExcel方眼紙の作り方

Excel方眼紙 Advent Calender 2日目です。

Excel方眼紙ドキュメントには、それ自身よりもやっかいな問題があります。

それはレビューです。
Excel方眼紙はその特性上、レビューにおいては、その設計内容よりも罫線のズレだとか、印刷がはみ出るとか、本質とまったく関係ないクソみたいな指摘に終始する傾向があります。

Excel方眼紙には、制作時点で気にかけておかないといけないことが山のようにあり、これらを怠ると徹夜で方眼紙の罫線を引き直す、という謎の作業に従事させられることになるわけです。

そういったことがないよう、いくつかの注意点をみていきましょう。

1. 印刷プレビューを信じるな。

Excelの印刷プレビューはエイプリルフールのインターネットのように信用ならないものです。印刷プレビューで綺麗に枠の中に文字が収まっていたとしても油断なりません。枠線ぎりぎりの文字は、必ずはみ出ます。枠に対して、文字は余裕をもって余白を開けるようにしましょう。
Excelはワープロソフトじゃないからね!

2.  改ページの罫線に注意

ちょうど罫線が改ページに差し掛かっている場合、注意が必要です。
改ページの上側のページでは、印刷時に綺麗に線が出力されていても、下側では線が出力されないことがあります。
こういうところは、レビューする上司もまっさきに目をつけるポイントですのできちんと確認しておきましょう。
そんなことよりロジックの妥当性を見ろよ!

3. お絵かきの図は、方眼紙の枠線にあわせる

Excelでシーケン図とか、クラス図を書く場合があります。
このような場合、シーケンス図の縦線や、クラス図の四角い箱の線が、方眼紙のマス目の線と完全に一致するように書かないと、たいていの上司に怒られるはめになります。

オートシェイプを選択し、ダブルクリック。描画ツールの書式タブの[配置]を選択し、[枠線にあわせる]にチェックを入れましょう。

これで、オートシェイプは方眼紙のマス目に沿って描画されるようになるはずです。

Excelは図形描画ツールじゃねーよksg!

これらの注意点を守って、みなさんも快適なドキュメントライフを送ってください。

さて、わたしはこれからwikiに仕様書を書かないといけないので、これにて失礼!

2013年4月1日月曜日

2012年度末をもって退職しました #hogedriven

この度、株式会社HOGEDRIVENを退職することになりました。

株式会社HOGEDRIVEN

この会社にはいろいろな思い出があります。
最初に携わったプロジェクトは、「焼肉小倉優子のサイトにあるゆうこりんのプロモーション動画を再生する」という案件でした。

@irofさん@backpaper0さん@kiy0takaさん、@tan_go238さんといったそうそうたる顔ぶれが集結していたプロジェクトでしたが、結局誰ひとりとして動画を再生することができず、デスマプロジェクトの深淵を垣間見たものでした。

その焼肉小倉優子西中島店も、今は閉店してしまったようです。

メンバー全員、楽しく仕事をしていたわけですが、いつからか「だいくしーは老害化した」という話題を社内で聞くようになりました。

僕がSIer時代に培ったExcel方眼紙マネジメントを推進しようとした結果ですが、誰も賛同してくれなかったのです。

@tan_go238さんはカレーばかり作っているし、@kiy0takaさんはなにかにつけてGroovyを推してくるし、@backpaper0さんはPCの壁紙を新婚旅行のイタリア写真にしてドヤ顔。@s_kozakeさんに至ってはある金曜日に「この土日はドラクエ三昧ですよ」と言って帰宅したまま、二度と出社してきません。

@Posauneさんの開発環境はMacのVMware FusionでIKVM使ってC# でTwitter4jを動かす、というわけのわからない始末。

そしていつの頃からか、楽しそうにテストを書いている@irofさんの腕に輝くグリーンバンドですら、僕にとって嫉妬の対象となってしまいました。

ある日、社長の@hogedrivenに会議室に呼び出され、こんな事を言われました。
「我が社も某社の海鮮丼のような目玉が欲しい。@tan_go238のカレーをその位置に据えようと思うがどうか」というので、「カレーはもう他社がすでにやっていますよ」と答えたところ、逆切れされるという事がありました。

ぼくはこれ以上、この会社で働くことはできそうにありません。

そんなわけでHOGEDRIVEを退職し、@kuchitama さんとフリューという会社で楽しく乙女ゲームを作っていますので、みなさん今後共よろしくお願いします。