Macで使うアプリ 2022-02

まさかの9年ぶりの同種エントリ。まじ?どこかに書いた気もするけど、備忘録兼ねて更新。

ブラウザ

  • Google Chrome は引き続き使用中。
    • タブ多すぎで生産性下げてたりしたので xTabを入れてる。

開発関連エディタ

  • homebrew
    • 何は無くとも
  • Postman
    • APIのテストするときに。Beta ,Productioなど複数環境あるから切り替えできて便利。
  • Xcode, Android Studio
    • まれに必要になる。そのときにインストールすると時間かかるので準備。

コミュニケーション

  • Slack
    •  
  • Zoom
    • Zoom Schedulerという、社内の素敵アプリも合わせて。社内システムのカレンダーと連携して、会議の時間になったら自動で設定されているZoomURLを開いてくれる。
  • Evernote
    • Notion への乗り換えも検討したけど、過去のストックを移行できなかったので断念。
  • Box.com
    • 会社で導入しているのでBoxに。

ツール

 

#Romoハッカソン に参加してきました。

KickStarterでファウンディングに成功していたRomoのハッカソンに参加してきました。

Romoってなんだ?

 iPhoneを頭脳として使う高機能ロボットで、iPhoneにキャタピラをつけて遊びます。標準のアプリは無料で公開されていて、ボールやラインのトラッキング、遠隔からの監視みたいな用途にも使えます。


Romo– The Smartphone Robot by Romotive — Kickstarter

ハッカソンのお題

 Romoは、SDKが公開されているので、自分でアプリを組み込んで好きなように動かすことができます。

となれば、ハッカソンが開催されますよね。

今回のハッカソンのお題は「絶対に起きれる目覚ましを作ろう」。

 

。。。

 

だったのですが、それをほぼ無視して別のことをやっちゃいました。

何をやったのか

Web原理主義的なところがある私は、「目覚まし時計であろうとWebAPIを持つべきだ」ということで、Romoをブラウザ経由で操作できるようにしました。それも、どうせなら、お子様だったらほぼ持っていると言っても過言じゃないNintendo 3DS上のブラウザから操作するようにということで挑戦してみました。

やったこと

iOS8(beta3)が使えないことを知る

そうだよね、ベータ版ですからね...まだ対応してるわけありませんよね。運営の方からiPod touchを借りました(感謝っ!)。RomoにはこのiPod touchを差して遊びます。

Romoに接続するiPhone3DSを同じネットワークに接続する

会場のネットワーク速度が遅かったのと、ルータが端末間の通信を許可していなかったので、iPhoneテザリング環境を使ってiPod touch3DSを同じネットワークに接続しました。

iPod touch 側にHTTPサーバを立てる

 特定のURLへのアクセス時に、SDKメソッドを呼び出し、所定の動作をすればいいと考えたので、HTTPサーバを立てました。ちなみに、チュートリアル以外での初のObjective-Cでプログラミングでした。内容はQiitaに書きました。

3DS側から呼び出すためのHTMLコンテンツを作成する

 3DSはボタンがたくさんついていますが、GamePad APIには対応しておらず、それぞれ機能が割り当てられています。そのため、HTMLコンテンツから取得できるのは上下左右+Aボタンの5つになります。

  また、WebSocketなどにも対応していないため、キー入力によりiframeのURLを変更することで、特定のURLにリクエストを投げるようにしました。これにより「戻る」操作を行うことなく、継続して操作できるようにしました。

 

動かしてみた

なんか動画はイマイチですが、左キーで旋回して、上キーで直進しています。

 

GoogleGlassを3日貸してやると言われた話

GoogleGlassを某所で触らせてもらって以降、機会があるたびに @kishiguro を焚き付けていたのが実って、ついには入手。

Google Grassやっと買えた。xxxxを提案してくれないかって言われてるので手伝って。(中略)。金曜日に貸すから月曜日には返して。

入手したは良いけど「手伝ってよ」とのこと。まぁ至極当然。この短納期も流石です。

さてどう進めるか?

3日しかない中で動くもの作らなきゃいけない。入手できない状態でも出来る環境セットアップなども適当にメモりつつ進めたいので、まずこのblog記事を書き始めました。

開発環境整備

各種インストール。GoogleGlass向けにはMirror APIとGDK(Glass Development Kit)ってのが用意されてるが、ここらへんは書いてある記事があるのでそちらに任せましょう。

イデア検討

何が出来るのかをざっくり調べたり、本質がなんなのかを考えてみたりしましたが、最初にふられたアプリが合致していたのでとりあえず作ってみることにしました。

開発

というわけで実際に作ってみました。アイディアが自分のもんじゃないので、詳細は書けません。。。

まとめ

実際には受け取る前に考える期間があったので、3日ではないのですが、やったことは、

  • blogの下書きを開始して
  • 何やるか考えて
  • 作るっ!

作るうちに色々と機能が落ちたり追加されたりしたんだけど、blog記事のアウトプットが出来た分いいかな。

社員募集中

そんなCTOからのムチャぶりにも嬉々として進めてく素敵な社員を募集しています。

GoogleGlassの本質?

 GoogleGlassが何が出来るのか知ったので、週末ちょっと使ってみたのを踏まえて、特徴をあげながら、本質は何かを考えてみる。まぁ中の人ではないので「私の考える」なのだけど。

 まず、手を使わずに操作できるのは大きな特徴。スリープからの解除は30度上を向くだけだし、写真を撮るのもウィンクだけで出来る。写真を取って友人宛に送るなんてのも、音声操作で出来るのは大きな点ですね。この時に反応する音声コマンドはプログラミングで増やすことが出来るので、手を使った操作が出来ない場合などに威力を発揮します。

 次に、視野に情報の表示を重ねられる点。スマホやPCでは透過には出来てないので、これは大きく違います。表示位置が右上になっているので、正面から見ていたら違和感が有るけど、情報が視野の一部に表示されるのはとても新鮮です。

 また、カメラの視野角が広いのも忘れちゃ行けない。"Take a Picture"で撮れる写真は(片目での)視野の近いものがあります。その時見ていたもののその瞬間を本当に撮れる。

 これ等を考えると、「情報の入力と出力さらには共有を、人の視線に限りなく近づけるデバイス」がGoogleGlassの本質なんだろうなと思いました。それゆえにパーソナルで構わないんだけど、より既存の人に沿った形で、情報の入出力をさせようとしているのに、違和感を持って感じられるのは皮肉ですね。 

シンガーソングライターというお仕事について

 中島みゆきさんの「雛まつり」を幕張のイオンシネマで見てきました。20年近く前、深夜にお時間拝借を聞いていた時からのファンなのですが、それほどコアではないため、今回はじめて映画館ライブを見てきました。

 内容としては、「御機嫌如何」「糸」「ファイト!」のツアーライブ映像、「地上の星」「銀の龍の背に乗って「歌姫」はスタジオライブ映像、音楽評論家田家秀樹さんの解説映像。そして夜会2/2の映像。「ファイト!」(YouTube)は、最初の口調がとても軽い事に「あれ、そだっけ?」でしたが、そこから終盤にかけて力強くなっていくところに楽曲の力強さを感じ震えました。また、夜会のパートについては、終盤の二隻の舟のあたりで、涙を流してしまいました。

シンガーソングライターという枠組みでいいのか?

 ライブ映像から夜会の映像に入るにあたって、田家さんの解説があったのですが、みゆきさんの創作に対するモチベーションのところが特に興味深かったです。終わる度に「やりたい事が次々とでてくるのよー」とのこと。

 夜会というイベントは、最初はコンサートという形で始まったけれども、2回めからは古事記などに着想をえたストーリーが入ってきて、次はストーリーがオリジナルになり、そのうち楽曲もオリジナルになってきたとのこと。終わるたびに次々とやりたい事が出てきた結果、作詞、作曲、歌だけでなく、台本、演出、舞台セット、衣装に至るまでみゆきさんの頭の中を形にしててるだけってことらしい。

 これってもうシンガーソングライターという説明じゃだめですね。枠を作ること無く、やりたい事をやって、どうにか形にするってところが素敵に思うんだなってのを再確認しました。

クアドラント

 これを聞いて思い出したいのは、先日のスーパープレゼンテーション での伊藤穰一さんのクアドラントについてのコメント(2月24日放送)。

芸術家+デザイナー+科学者+エンジニアの才能

(スピーカーのフィオレンツォ・オメネットは)僕らがクアドラント(四分円)と呼んでいる、創造性にまつわる4つの才能のジャンルについて、上手にバランスをとっています。芸術家、デザイナー、科学者、エンジニアの4分野です。

 複数の才能をミックスして、それらを生かしながら、何か形を作り上げるっていうのは、これから求められるんだろうということでした。

 一つの事に特化した能力があることは、それはそれで重宝されるのですが、欲しい物を形にするには、やりたい事をやるには、それだけでやってちゃだめだなぁと思っていたところに、中島みゆきさんと伊藤穰一さんの話がスポッと入っりました。自分のできる事で実績を積みつつ、挑戦を繰り返して、可能性を広げていきたいなと思いました。

聞いてた音楽・映像

 
福山雅治 魂のラジオ 2011/10/22 ゲスト:中島みゆき - YouTube 


【中島みゆき】について語る 有吉×マツコ×夏目三久 - YouTube

 

それにしても、おそらくあの劇場で今日見た人の中では最年少だったんだろうな...。

GoogleGlass向けアプリを作ってみた

 御神託

無茶ぶりのCTOから、Glass Developersのサイトから見た感じGDK使うよりMirrorAPIPython版を使うのが簡単そうとの御信託。今年はPythonなこともあり、それに従うことにする。

 サンプルコード

サンプルサイトがあって、https://glass-python-starter-demo.appspot.com/ からいきなりOAuth2すればGlassにメッセージや画像が送れるらしい。

 

早速サンプルサイトのコードをgithubからダウンロードしてきて、Google AppEngineにdeployする、すぐにdeployしてしまうCTOと違って、GAEを動かしてなかったのでGoogle App Engine SDK for Pythonからインストール。

Applicationを登録後、DevConsoleからMirrorAPIを有効にすることを忘れずに実行しておくこと。

OAuth2の clientIDを作成 

OAuth用のAPI Keyが必要だとのことなので、https://code.google.com/apis/console/ に行って、いわれるがままにMirror APIをenableにしたAPI credencialを取得する。

ここでゲットしたclient idとclient secretをpythonプロジェクトに仕込んで、再度deployする。session.secret を作成するのを忘れてハマってしまったので注意。

$ python -c "import os; print os.urandom(64)" > session.secret

 

落としてきたコードをdeployして、実際にGlassにメッセージが送れる、Glassからのメッセージを受信出来るのを確認して、これをベースにして改変していったよ。

プログラミング Google App Engine

プログラミング Google App Engine