数字で振り返るDroidKaigi #droidkaigi

  • POSTS
DroidKaigiが無事に閉幕しました。DroidKaigiに関わりましたすべての皆様に感謝申し上げます。 さて、ここではDroidKaigiを数字で振り返りたいと思います。 なお、ここで触れている数値はDroidKaigiでの実際の数値(または概算)を掲載しておりますが、 感想・考え・思いなどについては、この記事を書いている @pside の個人的なものとなりますことをご理解ください。 118 DroidKaigiの最初のミーティングは2014年の12月28日に行われました。 そこから2015年4月25日までの118日でDroidKaigiをつくっていきました。 23 DroidKaigi実行委員会は総勢23名のメンバーで構成されています(GitHubのDroidKaigiグループによる)。 それぞれが何らかの役割を担い、圧倒的な当事者意識のもと、イベントの成功のために奮闘しました。 63 総数63件の登壇応募(Call for papers)がありました。 これは当初の想定数を大きく上回っており、DroidKaigiの期待の大きさを物語っているのだと分かりました。 21 DroidKaigi実行委員会では、21件の登壇応募を採択しました。 差し引き42件の応募を落とした、というよりも、21件を選ぶために泣く泣く採択を諦めたという表現を個人的にはしておきたいところです。 400 会場となったサイバーエージェント セミナールームのキャパシティから、一般来場者の募集数を400人と設定しました。 これはサイバーエージェントの会場担当者との打ち合わせの結果、 当日来ない人もある程度いるだろうということを考慮したうえでの設定でした。 ちなみに、CAさんとの打ち合わせでは、出席率66%くらいではないか、という感じでした。 8 200人の先着枠が8分で受付終了となりました。 スタッフの誰もが想定していない事態であり大変驚愕しましたが、大きな期待の現れだということで、各位がより一層の奮闘を誓いました。 2.5 200人の抽選枠には、約500人の方がエントリーをされました。倍率およそ2.5倍。 結果として、ほぼ定員と同じ数の方がDroidKaigiに足を運べないという状態になりました。 このことはDroidKaigiを継続開催する上で第一に解決すべき問題だと個人的には思っております。 (が、そうなると手弁当ではいかなくなりそうだ、とも思います) 4 Twitterの日本のトレンドにおいて、約4時間に渡り「#DroidKaigi」が登場するという出来事がありました。 テック系カンファレンスとしては珍しい出来事ではないかと個人的に感じております。 また、幕張ではニコニコ超会議が行われ、さいたま新都心では坂本真綾さんのライブが行われていた状況で、 この結果はとても奮闘したものだと思われます。 また、ルーム単位でのハッシュタグ「#DroidKaigiA」「#DroidKaigiB」もしばしばトレンド入りしておりました。 6 この記事を書いている人は当日の朝6時に起きて名簿を出力しました。 なんで早起きしたかというと、「この時間までにキャンセルしなかった人は絶対に来るんだよね?????」というまぁそういう感じです。 489 当日は全員が来場すれば489名の方をお迎えすることになっておりました。 なお、前述のとおりですが、ここから当日来ない方がいることを前提で設定しております なお、具体的には・・・ 400名がconnpassで登録された方 71名がスタッフの関係者(会場提供のCAさんの招待枠も含まれます) 18名が登壇者(4名はスタッフ兼登壇者のため、ここには含みません) という内訳です。 381 実際にDroidKaigiの受付を通過された方は381名でした。 これについて強調すべきことは、「489 - 381 = 108 つまり108人がドタキャンをした」ということではありません! 受付は1名の漏れ無く処理することが求められますが、それはなかなか難しいものです。 また、後半は2部屋でのセッションを行っておりましたが、受付を設置していたのは1部屋のみでした。 午後から来られた人が受付のない部屋に直行したということも大いに考えられます。 しかし108人のうちいくらかの人は当選しているのに当日来なかったわけですから、 「あの日あの会場に行きたかったけど行けなかった400人の無念」を抱えながら、 今後同じようなことを繰り返さないようにいただくことを切に願いたいと思います。。。 (とはいえそれを見越して定員設定している主催側もいるので悩みどころではあります) それはそれとして、この数値は今後の(特に東京での)カンファレンスを主催するうえでの重要な知見ではないかと思われます。 (そういう意味では、CAさんの会場担当の方は流石だったと言えます。)

俺が RxAndroid について知っているいくつかのまとめ

  • POSTS
はじめに 仕事で作っているアプリで非同期処理のコールバックが地獄めいてきて吐きそうになったので そのあたりをバッチリ解決するためのアレコレを模索していた。 そんな折にKeithYokomaさんがQiitaに海外記事の翻訳を公開したのを読んで、一念発起したという具合です。 ReactiveExtensions - 【翻訳】AsyncTask と AsyncTaskLoader を rx.Observable に置き換える - RxJava Android Patterns - Qiita EventBusを使う方法も考えたのだけど、あれはLocalBroadcast使うまでもないときに発動させるのがいいんだろうな、という感想です。 そんなわけで、色々と見たこと・考えたことを備忘録としてまとめました。 参考にしたサイトたち だいたいこれ読んどけばOKみたいなそんな感じです。 入門 ReactiveExtensions - 【翻訳】AsyncTask と AsyncTaskLoader を rx.Observable に置き換える - RxJava Android Patterns - Qiita 「RxJava?なにが便利やねん」というところで拒否しているのであればこれ読んで考えを改め一歩踏み出すことができる。 RxAndroidをカジュアルに使ってみるとか - みんからきりまで とてもわかり易かった。入門として最適。 応用例とか Model-Contoller間の通知処理をObserver PatternでやっていたのをRxAndroidを使って書き直してみた。 - Qiita Android - RxJavaでAPIクライアントを作る - Qiita Grokking RxJava, Part 4: Reactive Android お役立ち Observable Utility Operators · ReactiveX/RxJava Wiki neue cc - Reactive Extensions入門 + メソッド早見解説表 Rx逆引き : Learn Reactive Extensions Observablesでなんか便利なメソッドないかな〜と探すときにおすすめ。特に下のリンク先はある程度Rx慣れたなら必読。 ただしJavaのそれと完全一致ではないので、広い心を持ってうまく理解する力が必要。 ハマリポイントつぶし AndroidObservable.

【告知】DroidKaigiやります

  • POSTS
DroidKaigi | 2015/04/25 はじめに 冷え込んだり少し暖かかったりする今日このごろですが、いかがお過ごしでしょうか。 さて、今回はAndroidデベロッパー向けのイベントのお知らせです。 DroidKaigi “DroidKaigiは、エンジニアが主役のAndroidカンファレンスです。”ということで、4月25日(土)に渋谷・サイバーエージェントのセミナールームにてDroidKaigiというカンファレンスが開催されます。詳細は以下リンクを御覧ください。 DroidKaigi | 2015/04/25 僕はこのイベントのお手伝いをする予定です。 このイベントではCFPを募集し、採択されたら登壇することが出来るというスタイルを採用しておりますので、登壇されたい皆さんは公式サイト内「Call For Papers」の項をよく読まれた上で応募いただけると嬉しいです。 ABC(Android Bazaar and Conference)との関係 DroidKaigiの情報解禁後、ABCとの兼ね合いを気にされている方がいて、色々と拝見させていただきました。 各々がDroidKaigiというものを見て色々思うことがあるなら、それ自体でDroidKaigiをやる意義はあるなぁ〜と関係者の端くれとしては思う次第です。 また、関係者にも色々「思い」があるはずで、「Android技術情報の共有とコミュニケーションを目的」という点を除き、皆それぞれ違う考えでDroidKaigi成功にむけて取り組んでいる気がします。 率直に申せば、DroidKaigiの発端はABCとなんの関係もないところからスタートしています。「こういうのがあればいいのに」と考える人がたまたま複数おり、集結した結果のアウトプットがDroidKaigiです。 経緯は以下記事が詳しい。 Android開発者カンファレンス「DroidKaigi」開催にあたって - hdk_embeddedの日記 「ABCでかつて行われたようなEffective Androidのセッションのように、ABCでやることは考えなかったのか」という疑問もあるかと思います。 これは、DroidKaigiに仮に「次」があると仮定して、全工程を自分たちでやることで経験値を得ないといけないので、ABCの1部屋ぶち抜きというスタイルでやるよりも「すべて」を自分たちでやることに意味がある、と僕は考えています。 (個人的にも、ひとつのイベントがどのようにして立ち上がっていくかを知りたかったので、この経験はとても貴重だと思っています。) まとめ DroidKaigiはAndroidデベロッパーに着目したカンファレンスです。 5月末にはGoogle I/Oも開催されるので、「とりあえず今Androidどうなってんの」を知るにはとても良い機会だと思います。ぜひご参加をご検討頂ければと思います。 DroidKaigi | 2015/04/25

2014年見たアニメ感想

  • POSTS
はじめに 2014年も残すところあと僅かですね。 そんなわけで、行く年のアニメに思いを馳せます。 謝辞 振り返るに当たって、以下のサイトのリストを見て思い出しながら書きました。 アニメ新番組 一覧 「2015年 冬(1月~)」 注意 一部、俺は見てないんだけど、そのクールを代表するような作品があるので書いた。 冬(1月 - 3月) とある飛空士への恋歌 見てない。 azuriteが良い曲だな〜と思った Wake Up Girls! 見てない。 5月に徳島帰ったときに知り合いが見てドハマりしてたのが印象的だった。 なおその友人に10月に会ったのでその後を聞いたら熱醒めてて吹いた この時期の俺はアニメを見ない人だったので、こんな感じです 春(4月 - 6月) 蟲師 続章 (前期) 見てない。見れば良かった・・・ ジョジョ第3部 見てない。録画環境が整ってなかったので、見たかったけど結局見ないままでした。 極黒のブリュンヒルデ 真ん中の1話だけ見た。人?が簡単に死んでて仰天した。 ラブライブ!2期 見てない。 ノーゲーム・ノーライフ 見てない。曲が良かった ご注文はうさぎですか? 見た。今も見てる。(!???!?!?!?!?!) 追記:感想としてアレすぎるので追記すると、このアニメは話ごとに繋がりがない(おおよそどの回から見ても問題ない)感じで、あんまり頭使わなくて良いのが良かった。リハビリに最適だったと思う。 その後、難民化した人々がTwitterでリンク張るたびに視聴してる感じです。 結局まともに見たのがごちうさだけでしたね。。。 夏(7月 - 9月) ヤマノススメ セカンドシーズン 見た。前期も見てたので必然である。ニコニコチャンネルで見逃した分を購入するくらいには見た。 PSYCHO-PASS サイコパス 新編集版 まだ見てない。録画してあるので正月休みで消化するかも。 1期の再編集版なのだけど、1期は途中までしか見てなかったのでこれを見る これが放送してる時期に似た事件が起きて欠番が出来たのがヤバかった なお欠番回は1期放映中に見た、そら放映できませんわ。。。 追記:正月に一気に見た。とても良かった。 ストーリーがしっかりしており、続きがとても気になるため、すぐに次を見るような骨太のアニメだと思った。 このあたりからtorneとか買って環境が整ってきた感がある。

まさかり投げ合う会でラムコークをすすってきた #masakari_party

  • POSTS
はじめに ぬまさんが突然まさかり投げられたい、と仰った、かどうかは分かりませんが、 まさかりを投げ合う会というのに参加してきました。 【マサカリにも】飲みながらハッカーズバーでコードレビューし合う会。【泣かない】 - connpass ちなみにレビューしたコードは以下。 numa08/akka_danyo 感想 正直な感想を言えば、「ぬまさんのコード別に問題なくね?」。 しかもProviderとかProviderFactoryとか使ってて良さを感じました。 ただ、typoが目についたのでそれだけ報告しました。 ぬまさんへのマサカリ · Issue #1 · numa08/akka_danyo 他の方の指摘がけっこう知的かつ嫌味なく進んでいて凄い感じでした。 GetCSVクラスって名前どうなん? このメソッドはクラスメンバにしたほうがいいんじゃね? throwしたらCLIに描画されるの? あと、AkkaをJavaで書いた時にObjectを型として使わざるを得ないケースがあってつらそうだと思いました。やっぱ時代はScalaなのか・・・? 一方僕は、ハッカーズバーで個人的イチオシのラムコークを飲みながら、ぬまさんのコードやレビューの議論を傍聴し、WebStorm環境を作りながら知見を得ていたのでした。 まとめ もくもく会みたいな感じで酒を飲みながらコーディングするの、TANOSII

Live Coding De Night #3 Rock'N'Roll でCardboardを布教してきた

  • POSTS
(Photo by mironal) はじめに 8月23日に、六本木のHackers Barにて開催されたLive Coding De Nightで登壇してきました。 Live Coding De Night #3 Rock’N’Roll Hackers Bar | ハッカーズバー それはなに 我がブログでもたびたび話題にしていたので、くわしくはそちらも参照。 Live Coding de Nightに参加した結果事故った #libcodingso - けいまさんですけど Live Coding de Night at 2nd Infinite でパフォーマンスしてきた #libcodingso - けいまさんですけど まぁ一言で言うと、「観衆の前でライブコーディングをするイベント」です。 今回はHackers Barを貸し切り、お酒を飲みながらライブコーディングをするということで、映画「ソーシャルネットワーク」っぽさがありました。I’m bitch! なにやったの 今回ぼくはGoogleがリリースした「Cardboard」というプロダクトに関するライブコーディングを行いました。 Cardboard 具体的には、Cardboardという段ボールとレンズ他で出来たメガネキットを通して見るための「像」の作成です。 ようするにライブラリを組み込んだAndroidアプリを作成するにはどうするの?という話をしました。 ただ、当初MMDのキャラクターを出そうと頑張っていたのですが、余裕で時間と知識(特にOpenGLの知識がなかったのが痛い)が不足して間に合いませんでした。。。 そこで、お茶を濁してトーラス図形(ドーナツ型)を描画することにしました。 ソースコードはGitHub上に置いてあります。将来的にNyMmdを動かすことも目的としてるので、そのあたりのコードも含んでいます。 keima/LibCodingSo-Cardboard まぁ一応は時間内に終えることが出来たのと、実際のCardboardの使い心地も見て頂けたので良かったのですが、どうしてもコピペして終了みたいな感じになったのは、ライブコーディングのイベントとしてイマイチだったので、なんとかしたい感じはあります。。。 まとめ もう完全にネタが尽きつつあるのと、そろそろ新しい息吹を入れたいので、どっかから人間を拉致してきて登壇させるようにしたいですね。。。

Cardboard開発メモ 2

  • POSTS
はじめに Cardboard開発メモ 1 - けいまさんですけど の続き。 いきなりミクさんを召喚するのは非常にレベルが高いことがわかった。理由としては、 NyMMDというライブラリ自体は問題ないのだけど、これのAndroidラッパーがGL ES 1.0を前提に設計されているので、GL ES 2.0で動くように書きなおす必要がある GL ES 2.0を使わないという選択肢は、Cardboard.jarがGL ES 2.0に依存しているため、ない。 GLES20はプログラマブルシェーダを使うので、その知識が必要。座標とベクトルぶっこんでドーン!しても動かないらしい。 というわけで、まずは基本から攻めていくことにする。 三角形のレンダリング LibCodingSo-Cardboard/MainActivity.java at e470b58f207aa5a621c9b584eedf87cd3c7ef608 · keima/LibCodingSo-Cardboard LibCodingSo-Cardboard/MyRenderer.java at e470b58f207aa5a621c9b584eedf87cd3c7ef608 · keima/LibCodingSo-Cardboard NyMMD動かそうとしていた残骸があって微妙だけど、着目すべきはMyRenderer.javaのみ。 (MyRenderer.javaのコードは AndroidでNDKを使わないOpenGL ES 2.0 | ワンダープラネットエンジニア Blog から流用させていただいております。お陰で理解がそうとう深まりました。) このコードでは頂点座標情報と色情報を同じ配列内に持たせていて、その結果としてVBO(Vertex Buffer Object)との結びつけで mStrideBytes を使っていたりします。 なので実際は色と頂点座標は分けたほうがいい気はした。 VertexShaderは合成ベクトルと頂点情報を演算させているだけ、FragmentShaderも色情報をそのまんま使っているだけ、というシンプルさ。 でも、これでちゃんとCardboard上には2つの像が描画されました。 考察 MyRenderer.java、そしてMainActivity.javaどこを見ても、像が2つ描かれるようなGLES20の処理はありません。 これは、MainActivityが継承しているCardboardActivtyがうまいことやっているから、という他ありません。 これはコードが公開されていないので、どういう処理をしているのかは公式ドキュメントの(セッション動画の)図を読むしかないのですが、 Render Sceneだけに注力すれば、あとはCardboardのAPIがよしなにやってくれるという感じです。 ちなみに 各種用語類は以下のサイトの記事を適当に読んで勉強しました。わかりやすい! wgld.org | WebGL |