Pippi Life

主に仕事に関連するITのことや、プライベートもちょいちょい書きます。

Amazon Dash Buttonでおうちハックの準備

ADB買ってみた

Amazon Dash Buttonといういいおもちゃが発売されたので、買ってみました。
おうちハックといいながらも、まずは接続して検知するところまで。
そういえば、海外で買ったDashButtonは、その地域のアカウントでWi-Fi接続設定が必要みたいですね。
アプリは同じもので、「.com」アカウントに切り替えられるみたいです。
グローバル対応がすごい!!

幸いにも先人たちがたくさんいらっしゃるので、
コマンド打ちながら、試してみました。
主にはこちらの記事を参考に試しました。
Amazon Dash Buttonを(正しくない方向で)使ってみた

動作環境

Dash ButtonをWi-Fiに接続する。

左上のメニューから
→アカウントサービス
→Dash端末→新しい端末をセットアップ
からWifiに接続しましょう。
例によって、商品選択の画面で作業を中断。
これでDashButtonがWi-Fiにつながりました。

Wi-Fiに接続設定されているときのボタン押下は白、
Wi-Fiに接続中が青、
Wi-Fiに接続されていないときボタン押下は赤。みたいな挙動でした。

MacにNode.jsをインストールする

恥ずかしながら、我が家のiMacには、Node.jsが入っていなかったので、そこからスタート。

1.Nodebrewをインストールする

$ curl https://raw.githubusercontent.com/hokaccha/nodebrew/master/nodebrew | perl - setup
$ nodebrew help
nodebrew 0.9.6

Usage:
    nodebrew help                         Show this message
    nodebrew install <version>            Download and install <version> (compile from source)
    nodebrew install-binary <version>     Download and install <version> (binary file)
    nodebrew uninstall <version>          Uninstall <version>
(省略)

2.node.jsをインストールする

nodebrewをアップデートして、最新版をインストールします。
こちらを参考にしました。
Macにnodebrew(node.js, npm)をインストールする手順

自分は、ここinstallでめっちゃ時間がかかるので、放置していたのですが、
途中でiMacから確認画面が表示されてて、後続の処理が落ちてました。
どうやら、C+?C++?インストールでだめだったみたい。
再実行で大丈夫でした。

$ nodebrew selfupdate       //nodebrewをアップデートする  
$ nodebrew install latest   //最新版のnode.jsをインストールする。  
$ nodebrew use latest       //最新版のnode.jsを使用する  
$ node -v
v7.3.0
$ npm -v
4.0.5
$ npm install -g npm        //npmをアップデート

DashButtonのインストー

$ npm init
$ npm install --save dash-button
$ npm install date-utils

npm initでいろいろ聞かれるけど、全部空白にしてしまった。
調べてからコマンド発行しろよというかんじですが、
ここを参考にさせてもらって、プロジェクト作成コマンドみたいです。
ああ、ホームディレクトリでinitしたから、ホームディレクトリにpackage.jsonが作成されたのですね。

ついでにdate-utilsもインストールしておきましょう。

DashButtonの設定

上述の通り、initすると、package.jsonが生成されます。
installすると、dependencyが追記されるんでしょう、きっと。←
作成されたjsonファイルを

$ vim package.json
{
  "name": "user",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "dash-button": "^2.0.1"
  }
}

から

$ vim package.json
{
  "name": "user",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "scan": "dash-button scan"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "dash-button": "^2.0.1"
  }
}

へと書き換えます。
そして、scanを実行して、mac アドレスを取得しましょう。

$ sudo npm run scan
Password:

> user@1.0.0 scan /Users/user
> dash-button scan

Scanning for DHCP requests and ARP probes on en1...
Detected a DHCP request or ARP probe from f0:27:2d:89:38:e2
Detected a DHCP request or ARP probe from f0:27:2d:89:38:e2
Detected a DHCP request or ARP probe from f0:27:2d:05:c0:f4

手元にある2つのボタンを押したので、無事に2種類のマックアドレスが見えています。
これをメモしておきます。
ここまでで下準備は終了です。

app.jsを作成して、起動させてみる。

さっそくapp.jsを作成し、起動させてみましょう。
これも先人たちの知恵を借りました。ありがとうございます。

require('date-utils');
const DashButton = require("dash-button");

const PHY_ADDR1 = "f0:27:2d:89:38:e2";
const PHY_ADDR2 = "f0:27:2d:05:c0:f4";

let button1 = new DashButton(PHY_ADDR1);
let button2 = new DashButton(PHY_ADDR2);

console.log("----Setup Start----")

let i = 0;

// 1つ目のボタン設定
button1.addListener(() => {
  var dt = new Date();
  console.log("button1 is  working."+dt.toFormat("YYYY/MM/DD HH24:MI:SS"));
});
console.log("----setup button1 complete----")

// 2つ目のボタン設定
button2.addListener(() => {
  console.log("button2 is  working."+dt.toFormat("YYYY/MM/DD HH24:MI:SS"));
});
console.log("----setup button2 complete----")
console.log("----Listening Start----")

そして実行します。
ボタンが押された時刻を記載するようにしてみました。
ですが、sudoじゃないとExceptionが発生。

$ sudo node ./app.js
----Setup Start----
----setup button1 complete----
----setup button2 complete----
----Listening Start----
button1 is  working.2016/12/24 11:35:21

とりあえず、無事にdash button のListenが実装できておりました。
簡単にサービスにリクエストとかも実装できそう。
やはりタイムラグがあるので、どんなおうちハックをするか。。。

SIer(すくなくとも、うちの会社)は腐ってると思った話。

ちょっと我慢できなくて うちの会社は腐ってるなと思った話をココに。

先日書いた記事で、 今回自腹でre:Inventに行ったわけですが
ある後輩は会社の要請で「お客さんに、フィードバックしろ」と言われたようです。
いやいや、おかしくない?
有給を使って、
現場調整もした上で
渡航費も参加チケットも自分で購入して
それでも、re:Inventに参加したわけです。 ここで得たことは会社のためでなく、自分たちで使う判断をしていいはずです。
その中で「会社にフィードバックする」という選択肢も出てくるかもしれません。
(今回は行く前にお金で揉めてしまったので、FBする気などサラサラないんですが)

さも当たり前のように勉強会をFBしろという。 学習は自費だけど、技術は会社の要請で提供しろ、スライドは業務時間外でよろしく、とかおかしいと思うんだよなぁ
自分のコミュニティ(UGでも、社内の勉強会でも、知り合いでも同僚にでも)に話す対象が社内にいただけで
そこまで会社に尽くすするほど社畜ってないしなぁ

今は幸い、自分のほしい技術を習得できる現場にいるので、 じゃあ辞めてやる、まで出来ない自分にまた嫌気もさすわけですけども。

Google Cloud OnBoard」に行ってきたのでメモしておく

クラウドエンジニアたるもの、AWSだけじゃあかん! ということで、Google Cloud OnBoardに行ってきました。 今日はベルサール渋谷ファースト。 f:id:yutako0217:20161214001306p:plain

先着200名でマウスパッドを配っていました。 8〜10時で受付だったのですが、9時過ぎについてもゲットできました。 AWSで開発してる現場で使ってやります。 またアンケート提出でTシャツもゲット。
f:id:yutako0217:20161214001830p:plain

満員御礼。会場はB1の会議室。全部埋まってました。
すごい。
トイレは悲惨。。いや、大変なことになっていました。
f:id:yutako0217:20161214001425p:plain

それでもこういったトレーニングは非常にありがたく、スポンサー様にも感謝です。
クラウド系のソリューションは、多くのサービスがあって、幅広く押さえられるのは嬉しい。
一応トレーニング的な位置づけです。
Confidencialと資料に書いてあったので、ちょっと内容はここには書けません。

以下は途中からメモしてた内容

  • ネットワークを挟むのは遅くなると思い込んでいる人が多い。

  • ネットワークを挟むのは、ネットワークの先のディスクが遅いから。

  • googleはデータとプロセスは分離するという鉄則がある。

  • googleの今のビジョン
    行動から検索結果を返してくれる世界を目指している

  • 翻訳するときに既存のデータに引きづられてしまうため、以下の様なものは上手く訳せない。
    彼が誕生日を忘れたので、彼女は怒った
    彼女が誕生日を忘れたので、彼は怒った

終わってからJAWSに。 今日は一日クラウド付。

f:id:yutako0217:20161214001943p:plain

自腹でre:Invent2016行ったので歩き方を書いておく

Qiitaにも同じもの投稿しています。

来年こそは会社のお金で行こう。

今回のre:Inventの参加費・渡航費は「自腹」です。
大切なことなので、もう一度いいます。
参加費・渡航費は「自腹」です。なので、不在期間は有給とってきたし、現場でも2ヶ月以上前から調整して来ました。
全部自分ですよ。貯金吹っ飛びましたよ。
現地で交流した人も、みんな「Not good!!」「Crazy!!」って言ってました。
そりゃそうだ。

来年きっと会社が行かせてくれるだろうと期待して、
そして来年行くメンバーが参考に出来るように、記事にすることにしました。
来年はきっと会社が行かせてくれることでしょう。

re:Inventとは

re:Inventとは、AWSが主催する技術カンファレンスで、世界中から技術者、経営者などが集まります。
今年は32000人以上が参加したようです。
イベントはHackathonや展示のみの日程も含めて1週間行われます。セッションは400以上。
今年の日程はこんな感じです。○がついているのが今回参加した日です。
11/28と12/03が移動日です。

  11/26 展示
  11/27 展示
○ 11/28 hack-a-thon
○ 11/29 Global Partner Summit、セッション
○ 11/30 CEO基調講演、セッション
○ 12/01 CTO基調講演、セッション、パーティ
○ 12/02 午前中のみセッション

新サービス発表もあり、展示会もありパーティもあり。
ええ、とても疲れますね。

かかったお金

まず気になるお金ですが、想定していたよりもかかりました。
詳細はあとで記述しますが、合計で30万円ほど。
AWS Japanが募集しているジャパンツアーは45万程度なのですが、
日本人添乗員がついていること、専用ラウンジで待機できること、全手配を旅行業者がやってくれることを考えると
安心料金で、それくらいにはなるのかなぁ。
他にも色々あると思うのですが、今年は自費ったので、その話に戻りましょう。

意外と落とし穴だったのはリゾート料金で1部屋あたり30 USD程かかることでした。
今回は5泊したので、150 USDくらい追加料金が発生しました。
また空港からホテルまではタクシーで移動しますが、それが往復で70USDくらいかかっています。

かかったお金の詳細は以下の通りです。

   イベント 金額      備考
re:Inventチケット 150,304円
渡航 86,490円
空港からホテルまでのタクシー 37 USD 5人で1台に乗車
ホテルから空港までのタクシー 21 USD 5人で1台に乗車
ホテルのリゾート料金 162 USD / 1部屋 3部屋を5人で割って一人当たり97.2
ホテルでのチップ  10USD 2 USD x 5日くらい

その他
 現地での食事 食べた分だけ。安くはないです。
 現地での経験 プライスレス

re:Inventのスケジューリング

セッションのあるのは主にDAY1(11/29)~DAY4(12/02)ですが、重要なのは1~3です。

DAY1(11/29)

・Global Partner Summit

世界中のパートナー企業が参加する講演です。
ここでは結構早めに会場に入らないと、満席で入れなくなる可能性があります。
トイレは事前に行っておきましょう。
私はトイレに行ったら、入り口が閉じられていて、
席をすでに取ってあって、トイレに行ったと説明して中に入れてもらいました。

・James HamiltonのLive Session

VPであるJames Hamiltonの講演です。
技術的な話がメインですが、途中で出て来るゲストの話は少し退屈でした。
ここでは大量にビールをもらえます。
帰り際もビールは配っているので、今後の部屋飲み用のお酒は確保できます。

DAY2

・CEOの基調講演

ここでは新サービスの発表があります。
DJがいて、パーティのような感じです。
トラックが会場に入って来たときは、スケールの違いを実感しました。
楽しませ方をわかっている感じです。

・Pub Crawl

スポンサー企業が、Pubを貸し切ってパーティをしています。
参加者はタダで入れるので、参加した方がいいです。
自分は体調が悪く、参加は断念しました。聞いた話によるとめっちゃ混んでいるみたいです。

DAY3

・CTOの基調講演

ここでも新サービスの発表があります。
DAY2よりこっちの方がすんなり聞けた気がします。

・認定者パーティ

認定者のみが入れるパーティです。
新サービスと、自分のやっていることを絡めて会話しているので
基本的には会話がかなりハイレベルになりがち。
資格のアソシエイトは2日で取ったと言っていました。
そして40分でアウェイ感に屈しました・・・

ダイバーシティパーティ

ダイバーシティを求める企業と、色んな国の人が出会うことのできるパーティ。
こちらは頑張って最後まで参加しました。
ここから、re:Playの会場までは近いので、ここで時間潰すのもありです。

・re:Playパーティ

参加者が無料で参加できるパーティ。熱量が半端じゃないです。
会場もとても広く、Dance会場は日本の夏フェスのような感じ。
バブルサッカーやクライミングなど、大の大人が全力で遊びまくっています。
私はダイバーシティパーティで仲良くなった外国人と周りました。

DAY4

リピートセッションがメイン。参加しなくても良さそうでした。

要するにDAY1~DAY3に全力を注ぎましょう!
あとは展示ブースも周っていると、あっという間に時間が過ぎます。

re:Inventといっても、ラスベガスで1週間過ごすわけですから、
その間の衣食住についても書いておきます。以下のような感じです。

展示会会場でTシャツがもらえるので、Tシャツは初日の分だけあればいいと思います。
10枚はゲットしましょう。
当然ですが話を聞かないともらえないことが多いのですけど、実際に操作画面を含めて含めて、彼らの話を聞けば結構わかります。
自分もわかる限りの英語で会話しましたが、おすすめは、「操作画面見せて」「日本語対応しないの?」が使いやすいコミュニケーションキーワードだと思います。
あとは気になること、自分が興味を持った範囲で質問すればいいかと。

外の気温は日本よりも寒いので、ご注意を。 またセッション会場は部屋によって、寒暖の差が激しく、特にkeynote会場は寒いことが多いので
調整しやすい服装がいいと思います。
セッション中と、パーティの間に靴下を履き替えると最高なので、靴下は多めに持って行くことをお勧めします。
あと自分は終日コンプレッションタイツを着用してました。

re:Inventは、DAY1~DAY3の朝食・昼食、DAY4の朝食はre:Inventが用意してくれます。
こんな感じの朝食です。

なので、イベント中は主に夕食と最終日の昼食だけ調達すればいいと思います。
夕食も基本的には、ビールでお腹いっぱいになると思うので、そこまで心配しなくてもいいかも。
ただ普通に外食すると結構な金額がかかります。

ネットワーク

ホテルはLINQというホテルに泊まりました。
ここはWi-Fi接続が1日2デバイスまではリゾート料金に含まれるとのこと。
ツインの部屋だったので、一人一台の計算ですが、
ロビーでフリーWi-Fiの認証をかければ24時間、無料で使えます。
でもフリーWi-Fiなので、パスワードとかは入力しないようにしましょう。

re:Invent会場は、無料でWi-Fiを提供しているので、心配しなくていいです。
ただKeynote会場はさすがに遅くなります。覚悟しておきましょう。

トイレ環境

個人的には、これが一番つらかった。
とくに会場のトイレはウォシュレットがない、扉が膝くらいまで隙間がある。上も170センチ位しかない。
まったく落ち着かないトイレ空間で、文化の違いを実感しました。
ウォシュレット党は、トイレ用のウェッティを持っていきましょう。

コンセント

みんな個人個人PCを持ち込んできますが、午後一くらいで電源がなくなってくるはず。
ホテルのコンセントにぶっさして、地面に座っている人もいますが、
認定者ラウンジ、もしくはスポンサー提供スペースでも充電が可能です。
どこかしらで、電源は確保できます。延長コードがあると安心です。

ホテル関連

シャワー

今回泊まったホテルはシャワーしかありませんでしたが、弱い。なんてったってシャワーが弱い。
また、お湯が出てくるまで10分位かかります。
部屋に入ったらすぐにお湯が出るかを確認したほうがいいのですが、
10分位かかるのは結構焦りました。日本は水回りの環境が本当に整ってる!

エアコン

くそうるさい。耳栓が必要。
ここはホテルがハズレだったのでしょうか。。。?

ベッド

多分セミダブルのベッドだと思われますが、布団が薄いけど、なんか暑苦しい感じ。
夜中に数回目が覚めました。疲れがマジで取れなかったのは時差ボケの影響かもしれません。

スリッパ

ついてないんだなぁ。飛行機用を使いました。

その他思ったこと

 ・乾燥やばいけど、マスクしてると奇異な目で見られるので注意
 ・朝、昼の食事は出会いのチャンス。少人数や一人で行くほうがコミュニケーションが始まりやすい
 ・英語話せないと辛いけど、なんとかなる
 ・認定者パーティは英語話せないと、どうにもならない
 ・ビールはJames Hamilton の基調講演で調達できる。一人8本くらいもらえる。
 ・つまみは認定者ラウンジで調達できる。ビーフジャーキーか、ターキージャーキー。もらいすぎ注意。
 ・シャンプー・リンスは備え付けは空になりがち、というか最初から空だった。
 ・トイレは、3,4階が空いてる。アメリカでもトイレ難民は発生する
 ・ベネチアからミラージュへは道路を渡るほうが断然早い。ベネチアは1階から出入りしよう
 ・ベネチアの会場から、ミラージュまでは結構遠い。というかホテル入ってから会場までが遠い
 スマホのカメラは無音アプリとかを使用しましょう。講演中にカシャカシャやって外国の参加者に怒られているのを見かけました。

以上です!
来年行く方々の参考になれば幸いです。

TouchBar搭載モデル買ってみた感想

いやー出ました。 新型MacBook Pro

思えば2年前にMacBook Airを店舗で購入したらメモリがオンボードってことを後から知り、ちょいちょいカタツキながらも使ってきました。

そろそろMacBook Proが出るのか?と噂になった9月の新製品発表の前に大急ぎで売っ払ったら、まさかの発表なし。そこから2ヶ月、所有端末なしはきつかったー!その2ヶ月は会社のPCで乗り切りましたよね。XPS13。これもいい端末でしたけど。

でも7万で売れたんですよね。MacBook Air。 当時12万で購入したので、1年あたり2.5万。やはりApple製品の中古市場強いですね。

で、量販店に入荷されると噂がされてた19日にヤマダへ。ホントラッキーでした。 翌日(20日)入荷されます。予約を確認してみたら数台余りました。

ラスト1台げっとおぉぉぉ!

そしてめでたく開封の儀を済ませたわけです。 なんでTouchBar搭載モデルにしたかというと、

・そこまでブラインドタッチ出来ない ・そこまでファンクションキー使ってこなかった ・別にショートカットキーも把握してない

から、別にファンクションキーなくても適応できるだろうと踏んだわけです。アプリしだいではファンクションキーの常時表示されるように設定できるので、そこまで影響ないっしょ、と。 決め手は、 TouchBar触ったらめっちゃ気持ちよかったから なんですけどね。サラサラ。スベスベ。

2日間、ちょっとずつ触って良かった点と悪かった点も共有しておきます。見た目はたくさんのレビューがあるので、触れないですが、誰かの判断の一助となれば、と。

よかった点 ・音量、輝度の調整はスムーズにできる 触って左右に動かして調整出来るので細かい調整が出来ます。

・TouchIDがクソ便利 起動時の認証も、アプリの実行許可もTouchIDでさくさく。これはそこまで想定してなかったけど、本当に便利。

・TouchBarのサラサラ気持ちいい

・タイピング音は確かに大きいけど打鍵感は悪くない タイピングは本当に大きい。気持ち良くコーディングしてたら、白い目で見られてた、なんて事もありそう。MacBookから改良されたらしい打鍵感は結構気持ちいい気がします。MacBook Pro使った後に、XPS13を使うとスカスカに感じてしまう。

・ESCがないのは別に気にならない。

悪かった点 ・高い 高いですよね。ポイント込みで166000円くらいでした。

・Fn+ファンクションキーの使い方がよくわからない 私はよく、ひらがなで入力して、Fn+F10キーで半角英数に変換ってよくやるのですが、それのやり方がわからないのです。

アプリごとにファンクションキーの固定表示は出来るもののFnキー押すと、画面に切り替わってしまいます( ꒪⌓꒪)

・キーボードがうるさい けっこうパチパチする。職場にいたら多分殺したくなるくらいうるさい。

トータルでいえば買ってよかったと思いはします!TouchBarなしはCPUが少し下なのと、通気口がないので熱が結構心配でした。

すごい箸を買った。もう他の箸は使えない

「すごい箸」なるものを買いました。

新宿の東急ハンズ(というか三越)で。

結婚式の準備中に、東急ハンズで見かけてから、ずっと探していました。

何がすごいって、蒟蒻でも豆腐でもさくっとつかめる。

ほんとに。

豆腐は、ちょっとユーザーのスキルが問われるけど、蒟蒻はマジです。

ネットで検索しても、出てこないし、

ずっと探していたのですが、ふと立ち寄った新宿のハンズで発見!

どうやら聞いた所、店舗を出さず不定期に売りに来ているらしいです。

f:id:yutako0217:20161025001656j:plain

5角系で「合格箸」なんてものもありました。

私は3角の夫婦箸を購入しました。

この3角の箸、最近持ち方が自然と身につくペン(KAKUNO)なんてもありますが、それに近い感覚があります。

もう抜けられない、このピタッと感。動画を載せたい。ほんとに。