技術めいた何か

1人の大学生によるIT系の記事群

macOSで使っている常駐ツールの紹介

この記事は日本Androidの会 学生部 Advent Calendar 20182日目の記事です。

1日目の記事は日本Androidの会学生部の紹介でした。

こんにちはprprhytです。
今回はmacOSで使っている常駐型ツール(有償も含む)について紹介しようと思います。

有償ソフト

1. Sound Control

アプリケーションごとに音量レベルを変更できるアプリ。
Windowsでは標準でできるけど、macではできなかったので購入。
通話しながら作業したりゲームしたりするときに重宝してます。
ただ、Chrome等のタブブラウザのタブごとの音量調整には対応していないので注意が必要。

f:id:atofaer:20181202195956p:plain
Sound Controlのパネルを開いた様子

値段: $10

https://staticz.com/soundcontrol/

2. Trip Mode

通信量の制限アプリ。
アプリケーションごとに通信の許可をすることができる。
要はファイアーウォールソフト。
テザリングとかしながら外で作業するときに便利。
プロファイルの設定やループバックトラフィックの検知もできる。
f:id:atofaer:20181202200637p:plain

値段: $7.99 http://www.tripmode.ch/

3. VM Ware Fusion 8.5

仮想化ソフトウェア。
Windowsを動かすのに使っています。
ホストのRAMが8GBなのでしんどい。
Bootcampからの移行は外付けハードディスクは必要だったけど難しくなかった。

値段: 10,000円くらい

https://store.vmware.com/store/vmwjapan/ja_JP/home

4. スーパーセキュリティ for Mac

ソースネクストアンチウイルスソフトです。
BitDefender OEM
時々誤検知する。
けど、マルチOS対応版なら3000円くらいの買い切り型なので学生には嬉しい。

値段: 3000円くらい

性能世界一「ZEROスーパーセキュリティ」 - セキュリティソフト(ウイルス対策ソフト) | ソースネクスト

無料ソフト

Karabiner

キーマップとかいじれるソフトウェア。
今使っているmac book pro がJPキーボードでありながら、US配列のHHKBもつかうので
配列を切り替えるたり、HHKBの右AltをFnに置き換えたりするのに使っています。

https://pqrs.org/osx/karabiner/

Tunnelblick

OpenVPNクライアント。

https://tunnelblick.net/

RunCat

常駐してCPUの使用率に合わせて走る猫を飼い始めました。
かわいい。
f:id:atofaer:20181202203319g:plain

https://itunes.apple.com/jp/app/runcat/id1429033973

wifi-then-bluetooth

自作スクリプトです。
特定ssidに繋いだときにbluetoothをオンにするbashスクリプトです。
automatorでアプリ化してログイン時に立ち上がるようにしています。
自宅では外付けのmagic trackpadを使っているので自宅にいる時だけbluetoothをonにするために書きました。

https://github.com/prprhyt/wifi-then-bluetooth

明日はtakanakahikoくんの 「自己紹介のWebページを作りながらGitとGitHubを学ぶハンズオン」です。

mixi git challenge #10に参加してきました!

こんにちはprprhytです。
第10回 git challenge に参加してきました!
問題の内容については口外できないので日記風。

TL;DR

  • とても学びがあってエモかった
  • gitの低レベルコマンドとか内部構造とか学ぶ機会になった
  • 飯がうまい

参加まで

応募は初めてでした。
実は1度祈られたのですが、空席ができたため繰り上がりました。
どなたか存じませんが圧倒的感謝...。この時点で既にエモい。

当日

事前の連絡でチーム戦とは聞いていたのですが、
それって知らない人とチーム組むってことだよなぁ...
と思って少し不安でした。
2人チームでした。
実際には相方はとても社交的な人でした。感謝。

競技前

開始前は交通費の受け取りとかノベルティとか見てました。
交通費の支給は本当にありがたかったです。🙏

イベント開始後、運営スタッフのLTとチュートリアルがありました。
サービスにおけるGitの活用やGitでドメイン管理する話を聞きました。

相方とスタッフかつ午前にLTをされていた神谷さんとお昼をいただきました。
お昼はオーベルジーヌのカレー弁当でした。 お肉が大きくて、ルーもうまくてスパイシーでした。
過去のgit challengeのお昼で好評だったそうです。わかる。

競技開始前に作戦会議をしました。
方針としては、易しい順でソートして奇数個目の問題を解く役と偶数個目の問題を解く役にわかれました。
(当日あったばかりでお互いの実力とかわからなかったので...)

競技中

担当範囲のうち2,3問目くらいまで順調だったのですが、後半は解けない問題が出てきて飛ばしたり相方に解いてもらったりしました。
わからん問題を相方に問いてもらっている間に☆3の問題を1つ解けたのはよかった。(これは罠で他のすべてのチームも正解してた...)
一部の上級問題以外の難易度はちょうど良かったです。(解けなかった問題も解説聞いてなるほど〜ってなった)
インターネッツの使用は許可されていたので、いくつかの問題はググり力〜でした。 (一部の上級問題はあきらかにそうではない感じ...)
相方に助けてもらう場面が何度かありました。圧倒的感謝🙏

競技中にはお菓子やカフェインマシマシパリピドリンクHECATE(ソフドリ)も振る舞われました。

競技終了後

解説聞いてもう少しでできたのに...!と思う問題もありました。学びになりました。
結果は5位(同立2チーム)でした。1位は圧倒的でしたが、3位(同立2チーム)とは僅差だったので☆3があと一つ解けていれば3位だったのにねーみたいな話を相方としていました。
あと、LTもありました。
リポジトリのデータ解析(ネガポジ判定)の話や
KuniwakさんのGitに詳しくなるまでの話を聞きました。千里の道も一歩からなんだなーという気持ちになりました。やっていき💪

懇親会は疲れがピークでしたが、お酒の力で(一時的に)復活しました。
飯がオシャレな上に美味しかったです。

お話した学生の志望分野はmixiさんのイベントに参加しているだけあって、web系志望の学生がほとんどでした。(それはそう)
mixiのエンジニアの方や他の学生と交流できて有意義でした。
年収とか採用の本音...?(書類でどういうところ見るとか)とか根掘り葉掘り聞けました。よき。

最後に

継続は力なりなんだなーということがわかりました。 僕の語彙力では表現しきれませんが楽しかったし学びが多かったので、後輩にも勧めていきたい。
やっていくぞ💪

HHKBとMagicTrackPad用のドッキングステーションを自作した話

TL;DR

  • HHKB Professional2と初代Apple MagicTrackPad用のドッキングステーションを自作した
  • 木工ベース
  • 費用 5000円強
  • かかった時間は週末3時間×4日間くらい
  • 東急ハンズはいいぞ

完成図

膝に乗せて使ってます。

こんなん
f:id:atofaer:20180730020256j:plain

スペック

  • HHKBサイズのキーボードがおける
  • 初代Apple Magic TrackPadがはめ込める
  • ドッキングステーション兼パームレスト
  • 膝の上で使える
  • 折り畳める

効果効能

  • ディスプレイと距離を取れる
  • 椅子に深く腰をかけれる
  • 背もたれに寄りかかれる

きっかけ、いきさつ

長いので作業工程だけ知りたい人は飛ばしてください。

おたく、HHKBを買う

先輩が使っているのを見て厨二心がくすぐられました。
とはいえ、無刻印にするほど度胸がなかったので刻印ありを選択。
これが昨年の春でした。

ことはじめ

その後1年と3ヶ月はMacBook ProとHHKBを尊師スタイルで使っていました。
1年間強運用してみて尊師スタイルやノートPCの内蔵キーボードに次のデメリットを感じました。

  • 猫背になりがち
  • 目が内蔵ディスプレイに近くなりがち
    • 机に奥行きがない場合、外付けディスプレイも近くなりがち
  • 肩が凝る(気がする)

しんどい気持ちが高まったので、バイト中に隣の席の社員さんに相談したらキーボードを膝に載せればいいのではとアドバイスを貰いました。
ただ、HHKBだけを膝の上で運用をするとトラックパッドを操作するときにいちいち腕を持ち上げて卓上のMacBookを触る必要があって面倒だなと。
ならばどちらも膝の上に載せてしまえばいいことに気づいたわけです。

MagicTrackPadを買う

そこでメルカリで中古のMagic TrackPadを購入しました。
送料込みで¥4500。
MagicTrackPad2が現行機種のため型落ちです。なのでそこそこ安くなってます。

さっそくHHKBとMagicTrackPadだけを膝の上に乗せて運用してみました。
が、膝の上で運用開始5秒で物理クリックができない事に気が付きます。
最初は故障を疑ったのですが、これはMagicTrackPadの構造によるものだとわかりました。
MagicTrackPadのクリックは裏面のゴム足が接地面に押下されることでクリックを検知していたためでした。
つまり、そのまま膝の上にのせても僕の足は机ほど固くないので機能しないわけです。
(DIOならできるかもしれない...)
タップでクリックするように設定しているのでクリックだけなら問題ないのですが、
ドラッグできないのでウィンドウの移動ができず不便でした。

ドッキングステーションを探す

そのまま載せてもだめだと気づいた僕はドッキングステーションくらい売ってるだろと思って探し始めます。
次の要件で探しました。

  • MacBookみたいなキーボードとMagicTrackPadが縦に並ぶ配置
  • HHKBが載っかる

しかし残念ながら僕のググり力では満たす商品は見つかりませんでした。
↓みたいな純正キーボードと組み合わせるタイプのものやMagicTrackPadだけ板にはめるものなら見つかりましたが...

無いならつくる

無いならば作ろうということで作ってみることに

工具/材料一覧

使った材料と工具の一覧です。

使った工具

  • ドライバ(キリ付き)
  • 彫刻刀

購入したもの

買ったけど使わなかったもの

作業工程

1.素材の選択

何ベースで作るか決めます。
最初は3Dプリンタでやろうと思ったのですが、予算の都合でやめました。
モデリングの知識が無いのは勉強すればいいとして、3Dプリントの外注は意外と高かったため断念。

比較的加工が容易な木材ベースでやることに。
木材の中でも軽い桐の集成材を使うことにしました。

2.設計図を書く

おもむろに設計図を書きます。
次のような設計図を書きました。
後述の加工サービスで提出する用なので寸法がわかればいいくらいの雑さで書きました。 なお、パーツCは作成しませんでした。
f:id:atofaer:20180730015840j:plain f:id:atofaer:20180730015848j:plain

3.材料の購入

新宿駅前の東急ハンズ に材料を買いに行きました。  

新宿の東急ハンズにした理由は素材の加工サービスをやっているため。 2で書いた設計図を持ち込んで材料を加工してもらいました。 この時に、購入したものは次のとおりです。

加工サービスと合わせて4000円ほどなり。 加工については閉店ぎりぎりに駆け込んだので受け取りは翌日になりましたとさ。

4.受け取って運用してみる

塗装や蝶番の取り付けはまだでしたが、受け取り後運用してみました。

僕はトラックパッドの設定で"タップでクリック"(1本指で軽く触るだけでクリック扱いになるやつ)を有効にしています。
ハンズで受け取った段階では下の写真の用にMagicTrackPadがむき出しの状態でした。
また、MagicTrackPadはMacBook内臓のトラックパッドより大きいです。 よって、キータイプ時に手のひらがあたってしまい誤クリックが発生してしまう状態でした。

塗装後 f:id:atofaer:20180730013924j:plain

5.塗装、ヤスリがけ(1)

塗装をしました。 材料はすべて100均です。
かるくやすりがけをしてからセリアのメープル色水性ニスを塗りました。


塗装が終わって一見完成に見えますがこの時はまだ誤クリックの問題は解決していませんでした。

5.ソフトコルクシートで高さの差を埋める(失敗)

そこで購入したソフトコルクシートを下の用に切り取りMagicTrackPadをはめる面に重ねることでMagicTrackPadがむき出しになるのを防ごうとしました。
ソフトコルクシートはハンズの加工サービスでは受け付けてもらえなかったため、自分で加工することに。
ハンズの店員さんから包丁で切ると良いというアドバイスをうけて包丁で加工をしましたが、素人なので断面がダサいのと、 ソフトコルクシートとの組み合わせが予想以上にダサいので断念しました。

6.木材で差を埋める

ソフトコルクシートがだめだったので、木材で差を埋めることにします。
もう一度ハンズへ行き同じ木材を購入。

そして加工サービスを使って5で使った図面どおりに切ってもらいました。 日曜日の15時前くらいに言って受け取りは17時でした。

7. 塗装、ヤスリがけ(2)

追加で購入した分のヤスリがけと塗装をします。
使用時に腕が当たる部分は入念にヤスリがけをしました。

f:id:atofaer:20180730014226j:plain  

8. 接着

木工用ボンドで接着。
上の木材は誤クリックを防止とパームレストの役割を果たしてくれます。 下の木材はMagicTrackPadのゴム足ボタンを押してくれると期待。

9. MagicTrackPadをはめてみる

接着剤が乾いたところで実際にMagicTrackPadをはめてみます。

はまらなかったです。神。
仕方がないので彫刻刀で削りました。
彫刻刀を使うのが小学校以来で涙が出てきました。

f:id:atofaer:20180730014327j:plain

10. 塗装、ヤスリがけ(3)

3度目の正直です。
削った部分のヤスリがけと塗装をします。
これは仕方がないのですが、塗りムラがでてしまいました。

11. 蝶番取付

蝶番の取り付け。
下穴を開けてからネジ止め×12箇所 キリで桐に穴あけ〜 とか一人でつぶやいてました。 ギャグも作業もあまりおもしろくなかったです。

写真は端材で練習した後の僕です。
f:id:atofaer:20180730014810j:plain

12. 完成

完成。

折り畳めます。

トラックパッドはもちろん外せます。 f:id:atofaer:20180730014715j:plain

7/23に完成してから1週間くらい運用してるのですが、なかなかいいです。
改良点を上げるならトラックパッドが下の辺が木材との摩擦で少し押しづらいので、
下の辺が木材と接触しないように枠を縦方向に長く取ったほうがよかったかも。

感想

中学校卒業以来の初めてのDIYだったのですが、楽しかったです。
持ち運べるように設計したものの荷物になるので、家用、ラボ用、バイト用が欲しい。

MacOS+ChromeでAmazonの領収書や楽天カードの利用明細を印刷すると白紙になってしまう時の対処方法

他に書いてる人がいないっぽいので、あんま技術してないけどメモ。

TL;DR

  • MacOS+ChromeAmazonの領収書や楽天カードの利用明細を印刷しようとすると文字が表示されず白紙になる(既知の)問題がある
    • 原因はOsakaフォントだった
    • MacOSのアプリ「Font Book」からOSAKAフォントを無効にすれば解決する

以下作業ログ

訳あって利用明細をpdfに印刷する(書き出す)機会があったのですが、Chromeでやると何故か白紙になってしまう事に気がついた。
同様の問題がAmazonの領収書で起きているようですが、解決方法をググっても別のブラウザを使うなどだったため原因を調べた。

  1. chromeのDevToolでいろいろためす。
  2. font-family怪しい?→コメントアウトしてみる
  3. 印刷時も表示された
  4. フォントを一つずつ確かめる
  5. OSAKAフォント指定時に白紙になることがわかった
  6. OSAKAフォントってなんぞと思って調べる
    1. classicalなOSX Classic Mac OSで使われていたフォントらしい
      1. Osaka (書体) - Wikipedia
  7. OSAKAフォント入れたらなおるのかな?
    1. 下記リンクを参考にFont Bookで調べる
      1. macOS Sierra に組み込まれているフォント - Apple サポート
  8. 既に入ってた...
  9. 試しに無効にしてみる
  10. 治った...

追記(2017.07.22)

GitHubにissueを漁っていたら似たような問題がGoogle Fontに報告されているのを発見した。
Some Google fonts print incorrectly on anisotropic RIPs · Issue #1370 · google/fonts · GitHub

Chromeの印刷時のレンダリングで一部文字が描画されない点が共通している

もくもく温泉開発合宿12 に参加してきました! ~Androidとyubikeyで遊ぶ3日間~

もくもく温泉開発合宿12に参加してきたのでメモ。

2泊3日で、スポンサーされる枠で参加させていただきました!
圧倒的感謝🙏

もくもく温泉 開発合宿 #12 - connpass

思い思いに作業をする会で僕はyubikeyとAndroidで遊んでいました。

やったこと

前回からの反省

  • 酒は夕方からにした
    • 前回は調子に乗って昼からガブガブ酒をキメてしまった故、進捗が無だった
  • オールしない
    • 寝ないと翌日に響くので3時には寝るようにした

作業した内容

Google I/O'18で発表された通り2018年のQ4にAndroid O以降のバージョンにFIDO2.0のAuthenticatorが実装される(予定)なので
先駆けてベースになるアプリを実装してみようと思って作業しました。
FIDO2.0用のAPIも充実してきたのでそれの調査からはじめました。 下記のドキュメントとFIDO 1.xにあたるFIDO U2Fのサンプルを参考にクライアントアプリの実装を進めました。

ドキュメント:
com.google.android.gms.fido.fido2  |  Google APIs for Android  |  Google Developers
AndroidのU2Fのサンプル:
GitHub - googlesamples/android-fido: Quickstart sample for the Android FIDO API

まだAndroid単体で動作するAuthenticatorは実装されていないようだったので、Authenticatorには4月に購入したYubicoのsecurity key by Yubicoを使用しました。

僕は下記の直販サイトから購入しました。
www.yubico.com なお、日本国内の正規代理店はソフト技研さんがやっているようです。

サーバーはYubicoのPython版公式サンプルを用いました。
github.com

次の流れで作業を行いました。

  1. Yubicoのサンプルを動かす
    1. exampleが動かなかったのでプルリクを出した。
      1. https://github.com/Yubico/python-fido2/pull/10
  2. AndroidのFIDO APIの調査
  3. 実装
  4. コネクタ経由で接続したsecurity keyからレスポンスが帰ってこない。(調査中)

上記の通り未完で至らない点が多いです。プルリク待ってます。
GitHub - prprhyt/AndroidFIDO2Sample

ハマったところ

あとは、仕様を読み進めていきたい。
そのうちGoogle様から公式サンプルでるだろうなぁ...

2018.08.13 補足
リリースノートを読んだらearly access partner がアクセスできるって書いてありました。
early access partnerでない人は正式版がリリースされるまで待ってたほうがいいってことですかね...
Release Notes  |  Google APIs for Android  |  Google Developers

当日の様子

向かってる最中

3連休初日だからかスーツケースを持った家族連れを多く見かけました。

JR湯河原駅からバスで理想郷へ。理想郷って名前なんですよ。
湯畑の次にネーミングが好き。

集合。
遅刻者多数だったので、最初に集まった3人で設営をしました。
エンジニアは遅刻しがち。

設営が終わり次第、ぼちぼち作業を開始。

その他の写真

f:id:atofaer:20180722173637j:plain お宿

一面のクソミドリ f:id:atofaer:20180722173657j:plain

夜の公園で会ったぬこ。かわいい。 f:id:atofaer:20180722173721j:plain

湯河原駅前。湯の街だけあってアピールがすごかった f:id:atofaer:20180722173758j:plain

3日目の月曜日に花火大会があったようです。混みそうだったので先に引き上げました。

f:id:atofaer:20180722174040j:plain

(JAG 学生部) 大学生ですがGoogle I/O 2018に参加してきました!

Google I/O 2018に参加してきました。

もたもたしてたら6月になってた。 アウトプットを残そうと思う。

もくじ

大学生が初めてI/Oに行ってきた

情報系の学部4年生です。 @prprhyt
5/8〜10(現地時間)に開催されたGoogle I/O 2018に参加してきました。
セッションは興味があったセキュリティや認証・認可系セッションと
Flutterのセッションを中心に聴きました。
(大学の所属研究室が暗号系かつ
認証/認可技術、暗号技術に強いベンチャーでバイトをさせていただいているので)

費用のいくらかを日本Androidの会から支援していただいた

宿泊費とI/Oのチケット費を日本Androidの会から支援していただきました。
チケット費用はおよそ4万円でした。(アカデミックなので)
また、宿泊費はAirBnBを利用したためチケットと同じくらいでした。
飛行機代など他で一杯一杯だったため、非常に助かりました。
ありがとうございます!

(学生必見)支援していただいた経緯

僕は日本Androidの会のWG(ワーキング・グループ)の1つである学生部に所属していて、
今回の学生部の活動の一環としてI/Oに参加し支援をしていただきました!
学生/生徒であれば誰でも入部可能なので是非!(入部方法は↓)

日本Androidの会 学生部の紹介と入部方法

日本Androidの会のWGの1つです。

「”Android”だけにこだわらず、ビジネス系・技術系・デザイナー系の学生が集まり、切磋琢磨していく場所」を作る
http://student.android-group.jp/about/ より引用

2013年から(諸説では2010年から)活動しているWGです。
日本Androidの会から活動の為の予算を割り当てて頂いて活動しています。
Androidだけにこだわらずやりたいプロジェクトを企画して部員内でメンバー募集して〜
ABC(後述)やOSCに出展したり、開発合宿、勉強会や就活イベントなどを開催しています。
基本はオンライン(Slack, Hangout, GitHub/GitLabなど)で活動しています。
月に1度、都内でオフライン or オンラインミーティングを行っています。

参加条件は現役の学生/生徒であること。ただそれだけ。
絶賛部員募集中です!
現在のアクティブメンバーは15名程です。
高校生、大学生、大学院生などが所属しています。高専生も歓迎です。
入部方法は↓のGoogleフォームから入部届を出せばOKです!
(HPは平文通信ですがGoogleフォームは暗号化されています)
入部について: http://student.android-group.jp/join/
入部届け(Google フォーム): https://docs.google.com/forms/d/e/1FAIpQLScqVfLSCwLwhJ3AuawobnOhsC_BxMM7B7sOtYRuKzu24JdOnQ/viewform

公式ホームページ: http://student.android-group.jp/
GitHub: https://github.com/jagsc
GitLab: https://gitlab.com/jagsc

(ダイレクトマーケティングおわり)

現地でのコミュニケーションとか

英語力は不安しかなかったのですが、案外短期間の滞在をする分には大丈夫でした。
セッション中に万が一聞き取れなかったらアクセシビリティ用のモニタから書き起こしを読むみたいなスタイルでセッションは乗り切れました。
(日本人参加者はわりとそうしてる人多そうな印象だった)

現地の情報についても、
幸いにも経験者(@hotu_ta)と一緒だったこともあり、一人よりだいぶ気持ちが楽でした。

セッションの感想(気に入ってるやつ)

本題。
セキュリティと関係しそうなセッション+Flutterを中心に聴きました。

聴いたセキュリティ系・認証/認可系のセッションは次の4つ

  1. 5/8
    1. [Session] Introducing .app domain names, and how to secure them
  2. 5/10
    1. [Session] What's new in Android security
    2. [Session] What's new with sign up and sign in on the web
    3. [Session] Device provisioning and authentication with Android Things

上記以外にもFlutter、WearOS、アシスタントのセッションなどを聴きました。
3日目に集中していたので2日目はCode LabsやSandBoxに行っていました。

気に入っているのは5/10の2.1、2.2と2.3です。

セキュリティ系・認証/認可系のセッションではデベロッパーに使ってもらうことを意識して
ライブラリの使用例を示したり,用語の解説をきちんと時間を取って行っていたのが好印象でした。
(認証/認可は違うよっていうのをパスポートと映画のチケットに例えたりとか)

[Session] What's new in Android security

概要

  • Androidセキュリティの話
  • ハードウェアセキュリティの強化
  • 鍵の保護機能の強化(StrongBox)
  • 認証手段の強化

認証周りを中心に書くと

指紋認証などのバイオメトリクス認証のサポートライブラリ版が来るって話だった。

やったー!
AndroidにもWebAuthn/FIDO2来ましたね!
Androidではこれからが楽しみです
なお、U2Fのセキュリティ キーは既にAndroidでもOTGケーブル等でUSBでつないだり、type-C対応のものだと使えるみたいです。

[Session] What's new with sign up and sign in on the web

概要

  • Webの認証の話
  • Googleアカウントを使ったOne Tap SignIn/Auto SignIn
    • ライブラリの提供あり
  • OTP(One Time Password)を使った二段階認証は中間者攻撃に対して脆弱なのでU2FやWebAuthnを使おう
    • Web Authentication APIなら対応ブラウザが豊富
      • (所感)U2Fのときは非対応ブラウザに3rd製の拡張機能(えぇ...)を入れたりとかしないといけなかったので嬉しい
    • Web Authentication APIは既存のU2Fのセキュリティ キーとも互換性があるので導入が楽
    • Web Authentication APIならバイオメトリクス認証(指紋とか)にも対応している
      • pixel2 の指紋センサを使ったデモが披露された

話の流れ的にはOTP(ワンタイムパスワード)を用いた2段階認証が中間者攻撃に弱いという話からの導入でした。

このあとアタックされる図があった

FIDO2.0はドメインの検証をするので中間者攻撃に耐性があるよってスライドがあった(取り忘れた)

これはWeb Authen ( on Web Authentication API)を使ったパスワードレス認証の話のところ。
この時FIDO2.0とかつぶやいているけど直後に調べたところFIDO2.0はWebAuthenを含むもよう。
勉強になった。
https://developers.yubico.com/FIDO2/

話はそれますが、ブラウザの方では着々とWeb Authentication APIが正式版リリースが近づいてきていたのでこの流れがとても嬉しかったです!
実はセッションの前日5/9にリリースされたFireFox 60.0 stableでWeb Authentication APIが有効になってたみたい。
なお、Chromeは5/29からStableになった67から有効です!
FireFox:
Firefox — Notes (60.0) — Mozilla
Chrome:
Web Authentication API for Chrome - Chrome Platform Status
これでブラウザでユーザもWeb Authen API経由で対応デバイスが使えますね!

[Session] Device provisioning and authentication with Android Things

  • Android Thingsにおける認証の話
    • 認証/認可の違いの説明に時間をきちんと割いてた
    • ライブラリが強力っぽい
  • NearByとの連携あり
  • 通信はMQTTベースだった(競合のAWS IoTもそう)

全体的にセキュリティ専門でないアプリケーション/Webデベロッパが自社プロダクトに取り込みやすいような流れが期待できて好感が持てた。
強力なライブラリが提供されている模様。
実装イメージが持ちやすかった。

洗濯機のIoT化のシナリオを例に説明があった。
Authentication(認証)とAuthorization(認可)の違いをそれぞれパスポートと映画のチケットに例えて説明するなど、
セキュリティ専門でないデベロッパーでも理解をしやすいように配慮されていた。

Code Labs,SandBox

Code Labs

Code Labsを4回クリアーすると来年のGoogle I/Oの招待枠に応募できるとのことだったのでやってみました。
次の問題にチャレンジしました。

  1. Write Your First Flutter App, part 1
  2. Write Your First Flutter App, part 2
  3. Android App Resizing for Chrome OS X(トラブル発生したけど解決。しかし、時間切れ)
  4. Build a PWA using Workbox
  5. Hangouts Chat bot with Apps Script X(トラブル未解決)
  6. Beautiful, interactive, canonical AMP pages

感想:
直接Googlerに質問ができた。
基礎的な質問でもとても親切に答えてくれた。
あと、3, 5で発生した問題についても親身に対応してくれた。 最高。
が、どちらも中々クセのある問題でGooglerの技術力を持ってしても時間がかかったり解決できなかったりした...

3, 5についてはそれぞれ次のトラブルが発生してクリアできなかった。

3.chromeos-resizing

ちょうどAndroid StudioがChromeOS上で動くと話題だったので試した。
会場備え付けのAndroid Studio on ChromeOS (Pixel Book)でやった。
動作自体は快適だった。トラックパッドMacみたいに慣性スクロールが効いててよかった。

トラブルはチュートリアルの3番目くらいでADBからPixel Bookが見えなくなってしまった。
どうやら、何らかの理由でコンテナで建てたadbのリモートホストとの接続が切れていたらしい。
最初に駆けつけたGooglerの人が詳しい人を呼んでくれて$adb connect {コンテナのipアドレス}
を入力してくれてたことで解決。
Android Studio on ChromeOSはその日初めて触ったのもあって構成がよくわからなかった。
でも、コンテナは一体何だったんだろう? (ビルド鯖とかかな...?でも表示はPixel Bookだった)
解決はしたものの、次の予定があったので時間切れ。

5.chat-apps-script

Slackのチャットみたいなノリでいけるのかなーと思って選択。
CodeLabsで提供されているGoogle アカウントを利用。

https://codelabs.developers.google.com/codelabs/chat-apps-script/index.html#3
To publish your bot to Hangouts Chat, do the following: の9番

・Under Permissions, select Specific people and group in your domain. In the text box under the drop-down menu, enter your email address associated with your G Suite organization.

ここでCodeLabsで提供されているユーザのemailを入れてもエラーが発生して進まなかった。
(うろ覚えだけどユーザの権限が無い的なやつだった覚えがある)
Googlerが合計5人、多いときは3人がかりで助けてくれたけど解決できず...無念

SandBox

Android Thingsとか見に行った。
Googlerが展示員でスタンバイしていて展示物の説明をしてくれる感じ。
Android Thingsで制御するロボットや3Dプリンタ
スマートロック(電子錠)とかがあった。
あと、Android Things Developer Kitを貰うためのクイズが難しくて参加者同士で情報交換したりとかもした。

まとめ

体験記というより技術まとめっぽくなってしまった。。。
慣れれば英語でもコミュニケーションが取れて楽しかったです。 実は、前日イベントのIntel Zero Partyの話とか夜のイベントの話とかもあるのですが、今回は割愛。
気が向いたら書きます。
良い経験になった。
行くこと自体はすごくないので経験を生かせるようにしたい。

Android Buzzer and Conferenceの紹介

abc.android-group.jp

Android Buzzer and Conference 2018 Summerが開催されます。
日時: 6/9(土) 10:00〜18:00
場所: 東京大学本郷キャンパス
参加登録: Android Bazaar and Conference 2018 Spring - connpass

Android Buzzer and Conference(通称ABC)は
日本Androidの会主催のカンファレンスです。
参加無料です!
基調講演がとても豪華です。(IBMGoogle)
Google I/Oの話もあります!
コミュニティの出展もあります!
日本Androidの会 学生部もバザールにブースを出すので是非遊びにきてくだい!
ABC*1で僕と握手!

*1:競プロじゃないほう