メモりメモる

ハトいエンジニアの生活と技術のメモ。

LG G Watch (Android Wear) のベルトを自力で交換した

先日のGoogle I/OでもらったLG G Watch。
デフォルトで付いているゴムバンドがあまり手になじまなかったので、バンドを交換してみました。  

f:id:hatyone:20140706123127j:plain
 
 
時計のバネ棒は基本的に一般的な時計と同じモノなので、お店で交換してもらうことも出来ます。
けど、コツを掴むと自分で気軽に交換することも可能です。
ちなみにPebble Smartwatchも同じ方法で交換できます。
 
LG G Watchの場合は、ベルトの太さは22cmのモノまでつけることが出来ます。
この時計はラグ (ベルトを本体に連結するための接合部分)の外側に穴がないタイプなので、Y字型になっているバネ棒外しを使用します。
 
方法としては、ベルトの根本をめくり、バネ棒の溝にY字型側をはめこみながらぐぐーっと縮める感じです。
バネ棒が縮めると、ベルトを外すことが出来ます。
そして新しいベルトをバネ棒に通し、ラグに戻すと完了です。

参考 : 時計バンドの交換方法 | 時計ベルト・時計バンドのバンビ

 
ちなみに私がつけているようなストラップタイプのベルトは可愛いのですが、充電する際にジャマになります。なので↓みたいな、分かれているタイプのベルトがオススメです。
MKS[明工舎]46000 バネ棒はずし

MKS[明工舎]46000 バネ棒はずし

 

 ベルトによっては、バネ棒はずしはおまけでついてくることもあるの独立して買わなくてもいいかも。

Android Wearの実機でアプリ開発,USB経由でデバッグする

Google I/O、参加してきました!

f:id:hatyone:20140629163451j:plain
 
イベントレポートは、[Z USAのGoogleI/O 2014 レポート:0日目] レジストレーションに並んできた|CyberZ 公式エンジニアブログ の方で書いています。1日目 & 2日目のレポートもあとちょっとで公開予定です。
 
今年のGiveaways(お土産)ガジェットは、一部で予想されていた通りAndroid Wearでした。
SumsungとLGを選べたのですが、私は液晶の映りが綺麗だったのでLGにしました。moto 360は今年の夏に送られてくる模様です。
実機の中で一番可愛かったのがmoto 360だったので、夏が楽しみです。
 
今回は如何にデバイス上でアプリを動かすか?で色々ハマったので、まとめています。
 

参考になる情報元:

基本的にはGoogle Play services Preview for Wear | Android Developers と Creating Wearable Apps | Android Developers を見ながら進めていくと、Android Wearアプリを開発することは出来ます。

 

ハマったポイント:

[ハマリポイントその1]Android Studioでライブラリが無い:

最新版Android Studio BETA(v0.8.0)では下記が無いと怒られて動きませんでした。

そこで、Android SDK ManagerからSiteを追加する必要がありました。
"Tools > Manage Add-on Sites > User Defined Sites"と進んで、https://dl-ssl.google.com/android/repository/addon-play-services-5.xmlを追加します。

f:id:hatyone:20140629155535p:plain

 

[ハマリポイントその2] adbからUSB接続したAndroid Wearデバイスが見えない:

デバイスでデバッグするためには、Bluetooth経由とUSB経由の2つがあるようです。Bluetooth経由は、Debugging over Bluetooth | Android Developersの流れで接続出来ます。USB経由で直接見たかったので、設定してみました。


まずはAndroid WearのAbout の Build numberを7回連打すると、Developer optionsを出すことができます。

f:id:hatyone:20140629140545j:plain

 
そうするとデベロッパーモードになり、Developer optionsが表示されます。
f:id:hatyone:20140629140600j:plain
 
ADB debuggingをEnabledしてRevoke debugging authorizationsを1度押して、USBケーブル繋いでみます。 
f:id:hatyone:20140629140619j:plain
 
この地点でadb devicesでもAndroid Studioからも見えるようになります。 

f:id:hatyone:20140629160600p:plain

 
Runを押して端末を選択するとウォッチでアプリが起動します。
f:id:hatyone:20140629140747j:plain
 
またアプリ一覧の方からも、アプリを見ることができます。
f:id:hatyone:20140629140732j:plain
  

Android WearはAndroidデバイスっぽかった:

当たり前といえば当たり前ですが、Android Phoneと似た雰囲気でした。
Developer optionsを見てみると、グリッドを表示できたり。
一度インストールさせたアプリの消し方など、基本的にウォッチ自体を理解出来てない点もあるのですが、「作れそう」という手応えを感じられたのでほっこりしました。
 
f:id:hatyone:20140629163730j:plain
使い道が微妙という話もありますが、新しいデバイスのある生活。まずは、エンジョイしていきたいと思います。
 
 

おまけ:

 
f:id:hatyone:20140629163517j:plain
 
そういえばGoogle I/Oの期間、Googleの自動運転カーが横を走ってるところに遭遇しました。

ガジェッター必見の雑誌、"鞄の中のデジモノ百科"に載りました。

エイ出版社の鞄の中のデジモノ百科に私の戦友カバン&中身が掲載されました。
@hokayan さんの紹介で声をかけていただき参加させていただきました。
f:id:hatyone:20140531130844j:plain

engadgetの編集長さん、chatworkの中の人、EvernoteのVice presidentからタレントまで、さまさまな人の普段使いガジェットを見ることが出来ます。


見開き1ページ、どどーんと私です。
f:id:hatyone:20140531134234j:plain

この取材の日は、使おうとしていた会議室の鍵が無くて慌てたり、FooDrawのデモ中にWindows8のアップデートがかかったり、撮影するネックレスのチェーンが絡まってなかなか外れなかったり。色々ありましたが、とても楽しかったです。
写真を撮るときのポーズを指導していただいたり、なかなか出来ない体験をしました!


自分の記事を見てちょっと照れてたりもしますが、カバンの中身ってその人の仕事・生活が見えると思いました。
普通に興味深くて、面白い雑誌です。色々物欲が出ちゃいますが。。。(笑
新品よりも中古品が高くなってきている不思議な現象ですが、kindle版も出たそうです。

MacBook Pro (15-inch, early 2011)のバッテリーを換装,CPUが遅くなって直した話

2ヶ月くらい日本出張を色々してました。
自宅で久しぶりにPCを開いてみると、妙に遅い。遅すぎるんです。タッチパッドも固くて押せない。

f:id:hatyone:20140505112500p:plain

MacBook Pro(15-inch, early 2011)のバッテリーが膨らんでしまってました。。。

交換用バッテリーを買う

MacBook Pro(15-inch, early 2011)のモデルは調べてみるとA1286でした。
そこで、amazon.comでPrimeで手早く届きそうなバッテリーを探してみました。
値段とレビューがそれなりに良かったので、こちらを購入。

Lizone® High Performance 63.5Wh Laptop Battery for Apple MacBook Pro 15.4


f:id:hatyone:20140505113931p:plain


バッテリーを交換する

交換する際には、精密プラスドライバーと、Yみたいな形のドライバーの2つが必要になりました。
精密ドライバーを手に入れるために数日要していたのですが、なんとバッテリーキットに含まれていたと気づいたのは開封した後でした。

f:id:hatyone:20140505114344j:plain

手前のが取り出したバッテリー。やはり、ぽこっと膨らんでいます。

動作を確認する

さっそく電源ケーブルをつないで起動してみると、無事動いてます。サクサク動いていました。
左サイドのバッテリーのインジケータも回復していたので"大丈夫だろう”と、この時は考えていました……。

翌日、お出かけ先でMacが動かない

電源ケーブルを抜くと、バッテリー膨張時と同様にCPUの処理が遅くなります。
ありえないくらい遅くなります。Chromeを起動しようとして、起動できないorブラウジングができないレベルでした。
どうみても原因は、電源です。

kernel_taskプロセスがCPUを使い切ってました

「ああ…。このMBPはバッテリーを換装しても、ダメだった…」と一度は落ち込んだものの、落ち着いて色々見ていたら原因が見えてきました。

元々このMBPで使用していたバッテリーの容量は6900mAh。今回購入したバッテリーは5800mAh。
ちょっと、足りません。

最初は、バッテリーの膨張時と同様に新バッテリーでも給電が間に合わずCPUが抑制されているのかも?と疑っていたのですが、MBPがサポートされていないコンポーネントとして新バッテリーを認識してしまっていたのが原因だったようです。

ACPI_SMC_PlatformPlugin.kextをいじる

/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/Plugins/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/MacBookPro8_2.plist
このファイルをバックアップを取ってから、削除しました。
その後、再起動。

無事サクサク動いてくれるようになりました。
PCが熱くなり過ぎないかなど、様子を見ながら使っていきます。


未踏時代からUS生活までをずっと共にしているこのマシン。
もうちょっと長く付き合っていけそうでホッとしてます。

ビジネス英語を何とかするための本の話

新年の抱負を語らないまま2月に突入してしまいました。はとねです。

突然の全米優勝を新年から飾り、もっと実践的なベクトルで英語力が向上したら世界が更に拓けるんじゃないか?と改めて思い始めました。
エクストリームUS生活を経て語学力の成長は感じられるものの、今年はミーティングや交渉に安定感を出せる程度の英語力を得たいです。

今年は、英語をもっと頑張りますという気持ちも込めて、頑張って覚え潰したい自分の必須英語本3冊を書いてみました。

1.メール系

仕事のメールを書くときに、ものすごく役立った一冊。
基本的改変してコピー&ペーストで圧倒的に使いまわせました。
この中にある表現をベースに、クライアントからの返信&日々のやりとりで学んだ表現を使いまわして生き延びることが出来ました。

的確に伝わる英文ビジネスEメール例文集

的確に伝わる英文ビジネスEメール例文集


2.英会話系

私がすごいcoolだと思っている先輩から教えてもらった一冊。
"転職"と書かれているけれど、コールミーティングでの基礎的なやりとり、ビジネス英会話で使いそうな表現がふんだんに含まれていました。これも、会話で使いまわせそう。
適度にシャドウィングの練習が出来そうな分量で、CDもついてていい感じです。
これは、本当にもっと初期に出会いたかった本でした。

面接の英語

面接の英語


3.つぶす勢いで覚える本

何だかんだdisられるTOEICですが、点数取れるのは正義だと思い、語彙力はやっぱり大切と感じています。
受験生の時に、頑張って覚えれば良かったと思った。

DUO 3.0

DUO 3.0


色々な人に英語の勉強の仕方を相談してみたのですが、"シャドウィング"できるようになると一気に成長度合いが高まりそうな気がしています。あとは実践あるのみ。
だらだらと勉強中気取りをつづけて、英語勉強をこじらせるのは良くないですね。
これら覚え潰していきます。

macでhomebrewを使わずにGradle 1.7 RC1をインストールしてみる

Gradleの1.7がもうすぐ出ますよという話を先日のイベントで耳にして、正座待機していたらRC版がリリースされていました。

f:id:hatyone:20130704105422p:plain

公式に1.7がリリースされたタイミングで、homebrewプロジェクトへpull requestしようと狙っています。
そんな目標のためにわりと毎日gradleのwebサイトをチェックしてしまいます。


というわけで、インストールしていきます。


1. Gradle 1.7 RC1のダウンロード
Gradle - Release-candidateのリンクから、gradle-1.7-rc-1-bin.zipをダウンロード。
(binaries onlyで良いと思います)

f:id:hatyone:20130704110427p:plain


2. gradle-1.7-rc-1-bin.zipを適当な場所で解凍
無難な所で解凍します。


3.環境変数を変更する

$ export GRADLE_HOME=[Gradle1.7RC1を解凍したディレクトリ]/gradle-1.7-rc-1
$ export PATH=$GRADLE_HOME/bin:$PATH
$ export GRADLE_OPTS=-Dorg.gradle.daemon=true

Dorg.gradle.daemonは、裏でdeamonを常時待機しておくモードです。
環境変数のGRADLE_OPTSに-Dorg.gradle.daemon=trueをセットすることで、デフォルトでdaemonを使ってくれるようになります。
実行時間を短縮するために、deamonをオンにしておくと少しだけ幸せな気分になると思います。


4.Gradleのバージョンを確認してみる

$ gradle -v

------------------------------------------------------------
Gradle 1.7-rc-1
------------------------------------------------------------

Build time:   2013-07-02 14:56:30 UTC
Build number: none
Revision:     9a7199efaf72c620b33f9767874f0ebced135d83

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy:          2.2.0
JVM:          1.6.0_45 (Apple Inc. 20.45-b01-451)
OS:           Mac OS X 10.8.3 x86_64


予想以上に簡単です。
サクッと最新版を使うことが出来ました。

Scala Koansで穴埋め問題を解いてScalaの入門してみる

最近、私の周囲のscala人口が高くなってきたので、
「valとvarを覚えておけば、あとはノリと勘でなんとかなる!」というメンタルを改めようと思い至りました。

scalaのkoansを一通りやってみました。

f:id:hatyone:20130422054848p:plain


1. koansのダウンロード
Learn Scala with the Koans | Scala Koansの右のリンクから、Scala Koansをダウンロード。

2. koansを適当な場所で解凍
sbtが必要になるので、無い場合は「brew install sbt」してsbtをインストールしておきます。

3. scala koansの起動
Scala Koansを解凍したディレクトリに移動し、sbtを起動します。
初回だけテストをコンパイルして、"~test-only org.functionalkoans.forscala.Koans"でkoansのテストを走らせます。

$ sbt
[info] Loading project definition from /Users/hatone/SandBox/scalakoans/project
[info] Set current project to Scala Koans (in build file:/Users/hatone/SandBox/scalakoans/)
>
> test:compile
> ~test-only org.functionalkoans.forscala.Koans
[info] Koans:
[info] AboutAsserts:
(以下略)


4.教えに導かれながら、もくもくコードを書く
src/test/scala/org/functionalkoans/forscalaにあるscalaのコードを、ひたすら穴埋めしてテストを通していきます。
koansを起動するとコンソールで「Please meditate on koan "(問題名)" of suite "(クラス名)"」の形で、これをやりましょうと指示されます。
f:id:hatyone:20130422061049p:plain


koans.htmlにお品書きが書かれているので、それを見て気になる所だけやっても良いかもしれません。
f:id:hatyone:20130422061713p:plain


scalaのコードを編集して保存すると自動でテストが走り、結果を確認できます。
f:id:hatyone:20130422061109p:plain


そんな感じで、scala koansをもくもくと出来ます。
実際にちょっと何か作ってみようと思っていて、ノンブロッキングI/Oのechoサーバー書いたり手を動かして遊んでみます。