読者です 読者をやめる 読者になる 読者になる

ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

DevFest Tokyo 2016のAndroid関連セッションのイチオシ

どうも、ひつじです。DevFest は、Google Developer Group (GDG) コミュニティによって世界各地で開かれるデベロッパー向けイベントです。

いろんなコミュニティが集まってワイワイするお祭りのようなものですね!

gdg-tokyo.connpass.com

 

日付を見たら分かる通り、本日10月9日が本番です。いまも準備中で慌ただしく動いてる中、このブログポストは書かれています。

追記:もう開始まで1時間を切り、めっちゃ慌てて書いてます。ちょっと雑なところもありますが大目に見てもらえると…。

 

色んなコミュニティが集まっているので自分がすきなジャンルを聞いてもよし、知らないジャンルに突撃するもよし、の何しても幸せになるセッション構成です。

通常のセッション以外にもその場で講演内容を決めちゃうアンカンファレンスやコードラボなどもりだくさん。せっかくなので個人的注目なAndroid関連セッションをご紹介です。当日のセッション選択の参考になればうれしいぞ!!

DevFest Tokyo プログラムリスト

DevFest Tokyo 2016 プログラム詳細

さぁ聞いてくれ、一番手はこのセッションだ!!

13時40分~ Video Streaming on Android(ホール)

最近GDEになったわさびーふさんによるExoPlayerの解説です。動画というと死ぬほどニッチに聞こえるけど(実際そう。)それが1ジャンルとして確立するのがAndroidの懐の深さ。ホールが寂しかったらとても悲しいので本人はめっちゃ来てほしそうにしてます!!

github.com

わさびーふさんはこんな感じで色んなLibraryをつくってるお兄さんです。

13時40分~ Modern CSS: architecture, future specs and build flow

2番手が全然Androidじゃないけど最近ひつじが困ってるCSSのお話なのでいれました。こっちもめっちゃ気になります。なんでウェブの世界はElementの中央寄せがあんなに難しいんだ!!!という自分のスキル不足をなんとかしたい…

13時40分~「Nested Scrolling: living life on the edge 」「Spotlight on Android Studio 2.2 features」

こちらはなんとGooglerがきてくれました。13時40分からの枠はほんと悩ましいな!!!Chris BanesさんとWojtek KalicińskiさんはGoogle UKのひとたちだ!荒木くんさんの同僚でDesign SupportLibraryでお世話になってる人もおおんじゃないかな!!UIの話は鬼に金棒ってかんじするぞ。聞いておいて損はない!

14時35分~ Android Architecture Blueprints

アプリ開発、困ってることありませんか。僕は設計で困ります。なんと今回、Google謹製サンプルである↓のリポジトリをメンテナンスしているJose Alcérreca本人がきて話してくれる、神かよ的セッション。

github.com

設計に悩んでる人はここでヒントを貰うと爆速開発になる可能性がワンチャンあります。最近Android開発が難しいな、と感じてる人が聞くと一番よいんじゃないかなー。

残念ながらこのセッションは中継ないのでどうしても、というひとはぜひ来てね。

14時35分~ 初心者のための RxJava

RxJavaってなんだろう?気になるけど乗り遅れちゃったなという初心者のためのセッション。スピーカーの黒川さんはとてもいいひと&わかりやすく説明するのがうまいので知らないことでも根掘り葉掘り聞けるぞ!Everything is a Streamだ!

slides.com

(なぜ有名なのかはわからないんだけどよくでてくる犬の禅的ポーズ)

16時25分~  「Animated Icons」「 In Transition」

スピーカーはNick Butcherと Ben Weiss。こちらもGoogle UK所属のGoogler。日本国内で直接話を聞ける機会がこれまであっただろうか。いや無い!みたいな気持ちで楽しみにしてます。どんどんアプリ開発はリッチになってアニメーションも手が込んできてます。いまやらなくても知識として知っておきたい、最新の手法を話してくれるに違いない(期待している)

ハンズオンやアンカンファレンスもあるよ

コードラボも用意してて、Androidテストや女性限定のアプリ開発ハンズオン、クラウドビジョンなど手を動かすもの、アンカンファレンスのようにその場で発表内容を決めるルームもあるのでぜひいろいろな部屋、コミュニティをのぞいてみて楽しんで下さい!!

 

英語系のセッションは敬遠するひとがおおいんじゃないかな、とおもってこの記事を思い立ちました。なので英語系中心に紹介されていたりします。もっと色んなコミュニティの紹介もできればよかったんだけど間に合わず(海外の人だと、どういうひとなのか調べるのも大変なので、簡単にでも参考になればうれしい)

 

現場からは以上です。たのしむぞ!!

 

 

 

DroidKaigi 2016でCamera2 APIについて発表した話

Android

ひつじです。

DroidKaigi 2016に「カメラアプリはじめの一歩」というタイトルで登壇しました。

Android 5.0以降からつかえるCamera2 APIがテーマです*1

なぜCamera2 APIを選んだの?

Camera2 APIの特徴は自由度の高さです(その分、難しいけど)。

新技術にありがちだけどプラットフォームの普及が進まない→なかなか利用されない→技術情報が少ないまま→利用が進まない→やっぱり難しいぞ!っていう不遇な状況をなんとかするため、まとまった技術情報として提供したい、と去年から考えていたのですがDroidKaigiで、ようやく結実しました*2

サンプルコードもあるよ

資料で使ったサンプルは以下のリポジトリで公開してます

github.com

カメラアプリはじめの一歩

カメラ機能の要件からはじまり、Camera2 APIの解説、カメラのステートマシン例、プレビューや撮影シーケンスの説明などカメラアプリを作る上で困りがちなところを中心にまとめています。

Camera2にまつわる話題のなかでもスタンダードなものを議論の中心におきました。APIの解説に集中してもよかったのですが、利用の前提となるアプリケーションでの機能要件(とくにCamera1 APIやIntentとの使い分け)やハードウェア制御など普段なかなか気にしない部分についても触れることでただのHowToではなく、全体を理解できるように気をつけました(せっかくなので技術的背景もふくめて楽しんでもらいたかった)。

なお、Camera2 APIがカンタンだと言うつもりは毛頭なく、難しいものだとおもって知識を整理してチャレンジするとなんとか登れるもんだよ、ということが伝わったらいいな、とおもって構成を考えてます。リクエスト、セッション、パイプラインというCamera2用語を知っているだけでもソースコードの読みやすさは段違いに向上します。

当日の感想

現在、DroidKaigiの運営スタッフさんが順次動画を公開してくれてます。解説の際にパラメータの説明で列挙体といった気がしてるのですが、実際にはstatic intで実装されているので訂正します(録画を見る場合は注意してください)。

www.youtube.com

動画がアップされたらここに埋め込む予定なので詳しくはそれを見てくれたらわかるんだけど、新しい技術について話せる場があるっていうのはすごく楽しかったです。FAQも含めてもっとディスカッションできたら良かったなぁ、と思うセッションでした*3

 

おつかれさまでした!

 

 

*1:ひつじは主催者でもあるんだけど今回はスピーカーの立場でのblogged!

*2:去年の夏コミの原稿をCamera2にしたばっかりに落とした経緯があるぞ!

*3:たぶん無限に会話する

Software DesignにソラコムさんのIoT SIMのSORACOM Airがオマケでつくかもしれないという話

 

 ここまで見て

 こうしたら

こうなった。

メンションからここまで5分強。

 現場からは以上です

気乗りしない作業を効率よくすすめる方法

日記

あれやらなきゃなー、と思いながらズルズルと着手を先延ばしにすることありませんか?僕はあります。特に単純作業に多いです。

単純作業つらい問題

逆に難易度の高い問題は壁が高いのがわかっているので、やる気が出やすい。圧倒的に倒してやるぞ、という気持ちが沸き起こって身構える感じ。なので手をつけやすいのだけど単純作業のほうはダメ。実際、着手するとそんなことはないんですが、手前にハードルがある。

というわけで年末年始にかけて工夫してみたのだけど、どうやら次の方法で効果が出た。

  • ルーティーン化する
  • ToDoを用意する

ルーティーンは単純作業は朝やろう、と決めて最初に作業する。それだけでも随分かわって作業するぞ!という気持ちになる。きっかけがあると全然やりやすい。

ToDoを用意するは、ルーティーン化しただけでは迷うことが多いので、寝るまえに「あれとこれがあったな、明日の朝やろ」みたいな感じで問題を先送りすると気持よく寝れる。

寝てリセットするという姿勢

この「気持ちよく寝る」っていうのがとても大事で気の重さがなくなって起きた時に晴れやかになる。僕の場合、睡眠時間に依存しないみたいで問題を先送りできるなら気持よく寝れている。「あー、やらなきゃいけなかったのにやってなかった・・・」っていう気持ちより「さー、起きて今からやるぞ!」のほうが精神が安定する。

ToDoリストをみて上から順番にやっていく。手が動き出せば効率良くなるループにはいりやすい。集中すると全部やっても30分もかからないことがおおい。

ちなみに普段は個人の課題管理にToDoリストはつかってない。たまに気になったことをGoogle Keepにいれてるけど、あんまり見返さない。基本は脳内で組み立ててるので些事を忘れてしまって後になって「あー、あれしたかったのに」はまれによく起きている(が、大事故にならないので気にしてない)。

今年の抱負 

今年は脳内のタスクスケジューラの並列度を上げたい(結果的に浮いたリソースでいろんなことをしたい)。今までのやり方だと効率化の上限が見えてきたので、もう少し工夫してアレコレと他人の良い所を取り入れたい。

周りにはエンジニアが沢山いるので学ぶところは多い、、、はず。アドバイスをもらって色々ためしてみたい。挑戦するぞ!

SIM People

この記事は SORACOM Advent Calendar 2015 12/21 分のエントリーです。

時計を見たら24時を回ってしまっていた。つらい。

SIM People…みんなSIMすきですよね。SORACOM AirAndroidを使うためのIoT Gatewayというソフトを以前つくりました。今日は続報です。

Android向けSORACOM Airユーティリティ

IoT GatewayVPN機能を利用した不要な通信をカットするユーティリティツールです。前回バージョンでは、アプリ単位での接続判定でした。今回はIPフィルタリング機能です。

f:id:hdk_embedded:20151222013708p:plain f:id:hdk_embedded:20151222013649p:plain

APKダウンロード

軽い気持ちで始めたら本気のパケットフィルタリング機能だった

ちょっとした気持ちでIPフィルタリング機能をつくりだしたところ、パケットの中身を見ないといけないんですよね…(気づくのが遅い)。

というわけで内部にVPNサーバを作ってIn/Outを監視しています。TCP/UDPパケットのヘッダ(宛先IP)を見比べて、入力したIPアドレス以外のパケットは捨ててます。

「ね、簡単でしょう?」と言いたくなる文章の簡潔さですが、実際のコードは割とモリモリ書いてます。手元では動いてますが動作は保証しません。<del>こんな複雑な処理、出来心でやるんじゃなかった!</del>

SORACOMのすごい所

AndroidからみるとSORACOM AirはただのSIMなんだけど、各種APIのおかげで自分ごのみのサービスが作れます。アプリの利用状況に応じた通信速度を制御してみたり、Androidの資産を活用して試作につかったり。工夫の余地が大きくBeamとか面白いサービスが多いので注目してます。

心残りなのはJavaベースのSORACOM API "SORACOM4j" っていうSDKを作りたかったんですけど時間切れになってしまったこと(SIM好きな人々に送るのでSIM Peopleだ!ばばーん!みたいな感じでいきたかった)。次の締め切りまで楽しみをとっておきます。

 

明日(いや、もう今日だ…)は c9katayamaさんの SIM City です!おたのしみに!

 

Androidの今を知りたい

Android

ABCD2015Kの感想と体験からくるコミュニティの話とDroidKaigi CFP告知です。この週末でABCD2015Kにいってきました。地方で開催されるイベントとしては、想像以上の規模でセッションも濃く、懇親会も楽しく、あっという間に2日間をすごしました。参加を通じてAndroidについて色々浮かんだので感想を残しておく。

写真とか

f:id:hdk_embedded:20151122132918j:plainf:id:hdk_embedded:20151123105020j:plainf:id:hdk_embedded:20151126025052j:plain

f:id:hdk_embedded:20151123125018j:plainf:id:hdk_embedded:20151123204914j:plain

ご飯、とくにお魚(ノドグロは高級魚らしい)が美味しかった。講演もめっちゃバラエティ豊か。AndroidだけじゃなくてVRやUnity、UnrealEngine4やRoBoHonとか。展示ブースではてくぶ本のはなしばっかりしてた。

講演してきたよ

11/22,23に開催されたAndroid Bazaar and Conference Diverse 2015 金沢(ABCD2015K)では「エンジニアとコミュニティ」というタイトルで講演をしてきました(そういえば講演中の画像がない)。

[追記] ありました!!

f:id:hdk_embedded:20151122153923j:plainf:id:hdk_embedded:20151122154108j:plain

ひつじ(筆者)はコミュニティ活動に熱心なのですが、これまであんまりそういう視点で発信したことはなかった。言わなくても「コミュニティの重要性は分かってるはず」とか「いやぁ、改めて話すのけっこう恥ずかしいよね」とか色々あったんですが、

ABCD2015K主催の@kinneko さんからこういう視点で話して欲しいと言われたので良いきっかけとばかりに話した次第です(講演の内容はABCD2015Kで話したから意味があるのかなー、とおもうので、いまのところアップする予定がないです。もし知りたければひつじをみつけてきいてください。たぶん別の言葉で説明すると思います)。

コミュニティ活動ってなんだろな?

今はABCD2015Kのクラウドファンディングへ出資するぐらい意識してるのだけど、元々こういうコミュニティ活動への支援というのは熱心だったかというと出発点はぜんぜんそんなことなかった。

最初はTechBoosterというブログで自分の知識をまとめる、という自己学習的なところがスタートだったし(8年前だ。若かった)コミケも記念参加からはじまった(そしたらハマって5年目になる)。

そのうち勉強会で友達が増え、Twitterで新しいひととつながって、輪の中にいるのが楽しくなってきた。続けていくうちにOTAのようにアップデートされて、どんどん目的が変わっていくかんじ。最初から高い目標があるわけでもなかった。やれることをやっただけでずっと楽しんでました。

そうしてコミュニティという単語を意識するようになったんだけども、僕にとってのコミュニティはどこまでいっても「私」と「あなた」で目に見えている人(またはネットを介してそこにいる人)との関係なのだろうな、という気持ちです。

それは開発者として同じ目線で話したい、共通言語としてAndroidであり技術情報の共有やコミュニケーションなのかも、という気持ちです。何かを発信するのなら距離は近いほうが良くて、ブログの記事だったり、勉強会だったりするけども、実際は読んでくれてる、座って聞いてくれているひとと一対一で話したいのだろうな、と。

このポストも感想の体をとってますが、読者のひとと対話したいな、そう考えて文字を置いてます(コミュニティって押し付けられるものじゃないしね)

一人で技術を追う恐怖

講演おわったあと、@kinnekoさんと話してて「ひつじの話は綺麗すぎる、もしや濁りのない真水で生きてるのか」みたいな笑い話をして、ちょっと考えたんですよ(自分の気持を考えるのも不思議なやつだ、と評されて確かに、とおもった)。

何かを一人でやるのってめっちゃ怖くないですか。エッジな技術をどんどん追いたいけど、ワクワクするけど実は間違えてないか、って考えちゃうと一人でやるのコワイんですよね。妥当性を確認するためにガンガン情報を検索したりするし。ただ技術的なトレンドをみてもエッジをどんどん追っていく、ということ自体は技術の進歩とも連動してて間違いじゃない。

「なんか知らないけど漠然とした恐怖感がある。これを解消するためにコミュニティとしてまとまりたいんじゃないすかねぇ。自分のしてることがおかしくないのを確認するために」「それなら少し理解できるかも」っていう会話をした。あんまりこういう動機についての話をしたことなかったのでまだ覚えてた。ちょっと泥臭いはなしだ。

ここは会社でさわってたり趣味だったりとか事情によってで差はでそう。

皆で技術を追うということ

ひつじが考えてることは、同じ技術を追うフォロワーを増やすことよりも(当然よいテクニックは広まって欲しいけど)、それぞれが技術をもってて、いろんなエッジをやってるのを見てみたい。持ってる知見を共有することで一人でやってるわけじゃない、みんながいろんなものを追いかけてるんだ、個々の領域の知識を交換してそれを糧になれば、もっともっと良い開発ができる。

やばいなー、とおもってるのはAndroidやWebでトップを走るエンジニアと初学者の間に埋められない谷ができはじめてるんじゃないかという危機感。Android Studioでアプリを動かしたらSupportLibraryがてんこ盛りで、検索してでてくるコードにRxJavaやDaggerが入っててつまずく、っていうのはどうやって解決するんだ、という気持ちが多少なりとも(たぶんAndroidだけの問題じゃない)。そういうのを補えるようベストプラクティスを書籍にする活動とかをしてます。

ちょっとうまく言語化できたかはわかんないですが、どの技術(テクニック、ライブラリと言ってもいい)も、それらは生み出した人、運用している人には何かしらの価値がある。そこから学べるような、誰もが良い所を取り入れられる場が=コミュニティであれば良いな、と思います。

Androidの今を知るために

いろいろ書きましたが、そんなふうにエンジニアが情報共有してコミュニケーションする場を実現できたらいいな、とおもってDroidKaigi(代表mhidaka)の開催準備を進めています。11/30までCFPを受け付けています。

droidkaigi.github.io

CFP提出頂いた方にはアーリーバード保証(チケット販売12/1開始と採択までの期間がクロスしてるため)があります。参加したい、と思ってもらえたなら現時点だとCFPが確実です。

聞きたいAndroidの話

ひつじ自身が上のような考え方なので、講演内容は話す人が良い開発に繋がると思ったことを、普段の工夫を、ジャンル問わず話してもらいたい。興味が有ること、研究と組み合わせたこと、初級中級上級全方位あったほうが新しくAndroidを始めたばかりの人からエッジなひとまで楽しめるとおもいます。

いろんな人が来ると思うのでセッションも同時並行で幾つかを走らせます。セッションを選べるということは興味がある人が部屋にきてくれます。ぜんぜんこわくない。むしろ味方。参加人数はちょっとわかんないですが(前回の反省を踏まえて400人以上参加できる条件で探したので平日&有料となってしまった事情もあり)もしかしたら海外のカンファレンスのようにゆったりできるかも。

ハンズオンやコードラボ、知らない技術を安心して触れる場もできたらいいな、とおもう(人出が足りるかは不明)。

楽しめるように(そして自分が楽しんでるわけだけども)ホストします

エンジニアと地方とAndroidと。

Android

ひつじだよー。

ついさっき、「金沢でAndroid開発者の交流イベントを開催したい! ABCD2015金沢」というクラウドファンディングに出資しました。このエントリをよんで同様に出資してくれるひとがいればいいな、とおもってかきました。

金沢でAndroid開発者の交流イベントを開催したい! ABCD2015金沢

motion-gallery.net

3口+αで20000円を出資しました。せっかくたくさん出したのでブログでPRしたくなりました。あと6日、目標金額の半分まできてます。1口1000円からなのでお財布に余裕がある人は一度検討してみてください。主催してるkinnekoさんを知っていますが、率直で誠実なひとです。

 

ひつじ(mhidaka)は、Androidの講演をしたり、ABCという日本Androidの会のイベントにでたり(毎回TechBoosterというサークル名でブースをおかりしてます)、今年の春はDroidKaigiというエンジニアのためのAndroidカンファレンスを主催しました。もともとエンジニアの技術共有やコミュニケーションに興味がある人種だと思うのです。

なんで出資したの?

わたし自身がすきなプログラミングやエンジニアという生き方について、興味がある人が多少でも触れることができ、なにか得られる機会が増えればうれしいです。

最近、総裁のブログを読んだのも関係してるかもしれません。

engineer.typemag.jp

腕の良いエンジニアはどこでも仕事できそうだなぁ、という思いとともに地方でもエンジニアになりたいひと、興味がある学生さん、開発者として成長するキッカケ、環境として、もうちょっと選択肢が増えたほうがいいな、とおもって出資しました。

このエントリは…

というわけで完全に宣伝エントリになったけども、たまにはいいかな、と思います。だれかがこうやって意思を表明することで目につくならそれがいいんじゃないかなー、と。

文末ですが、主催しているkinnekoさんは友達ですが依頼があったわけではなく、完全にひつじの個人的な行動です。と書いておきます。ステマとか、周りがやってるからやらなきゃ、みたいな同調圧力とかも好きじゃないですが、やる気を出して頑張ってる人たちに水を刺したくはないです(懸念があればアドバイスとして伝えるのがコミュニティのよい姿)。なので、地方(という言葉もあまり好きではないですが)でのこういう活動を応援したい、と思ってかいたよ、と念のため、自分がモヤモヤしないために書いておきます。