Hatena::ブログ(Diary)

Hacking My Way 〜 itogのhack日記 RSSフィード Twitter

2017-01-02

シリコンバレー式 自分を変える最強の食事

2016年に話題になった本の一つとして、大体の内容はネットで把握していたが確認のため読んでみた。

結果としては炭水化物を減らして、オーガニック食品を取ることが勧められているが、巷にあふれる根拠のない情報とは違って科学的な根拠に則っている体になっている。ただし、逐一論文が示されているわけではなく、基本的には本人の体験談によるものだ。

個人的に以前からプチ断食は断続的に行っていて、食事の抜き始め(いっぱい食べたあと)に空腹感が強いことは経験上知っていたので、ココナッツオイルを使うと導入時から大きな空腹感を感じることなく減量できることは発見だった。

最近は朝食にコーヒーとカカオ含有率の高いチョコレートを少しで済ませることが多いが、この本の理屈にはかなっていそうだ。一方で、朝食はヨーグルトとシリアルというを何年間もしていたが、それで体調が悪くなることはなかった。

結局のところ、食品の良し悪しって一般論よりも個人差のほうが大きいんじゃないかと思っている。アジア人と欧米人で消化できるできないの違いがあるとかって話もあるし、生まれも育ちも同じようでもアレルギーが発症したりしなかったりする。

本書では「カビ毒」が食品の良し悪しを決める大きな要素となっているが、個人的には健康なときは多少傷んだものを食べても大丈夫で、弱ったときに食べなきゃいいくらいの印象だ。

また、運動については週に1回筋トレとインターバルトレーニングを交互にやればOKと言っているが、これには根拠が乏しかった。

「シリコンバレー」を冠しているため、より論理的な説明を期待してしまったが、一般にダイエット、健康系の書籍と言うのは根拠に乏しく、「○○するだけでこんなにハッピーになりました!」って感じの体験談(※効果を保証するものではありません)が多いため、このジャンルの中では論理的で内容は受け入れやすい。

2016-12-14

Android Things ことはじめ

f:id:itog:20161214195245j:image

GoogleのIoT platformとしてAndroid ThingsおよびWeaveが発表されたのでさっそく触ってみたよ。

https://android-developers.googleblog.com/2016/12/announcing-googles-new-internet-of-things-platform-with-weave-and-android-things.html

Android Things https://developer.android.com/things/index.html

サポートプラットフォーム

Android Thingsは現時点で以下のハードウェアプラットフォームをサポートしています。

  • Intel® Edison
  • NXP Pico i.MX6UL
  • Raspberry Pi 3

あとIntel® Joule™ 570xとNXP Argon i.MX6ULがcomming soonとのこと。

ここではRaspberry Pi 3にAndroid Things環境を作ります。

Raspberry Pi 3での環境構築

https://developer.android.com/things/hardware/raspberrypi.html

準備

必要なもの

  • Raspbarry Pi 3
  • 8GB以上のSDカード
  • HDMIケーブル
  • HDMI対応ディスプレイ
  • Micro-USBケーブル (電源用)
  • LANケーブル
  • SDに書き込みできる環境

一度環境を作った後は、ディスプレイは使わなければなくても大丈夫ですが、初期設定時は画面にIP Addressが出てくるのでディスプレイが必要です。

また、Raspberry PiはUSBデバイス機能がないため、USBでのadb接続ができずtcpipで接続しますが、初期設定時には有線LANに接続するためLANケーブルが必要です。

システムイメージの書き込み

以下からシステムイメージをDLします。

https://developer.android.com/things/preview/download.html

androidthings_rpi3_devpreview_1.zip

展開した以下ファイルをSDカードに書き込みます。

iot_rpi3.img

書き込み方法はラズパイオフィシャルサイトの以下ページよりWRITING AN IMAGE TO THE SD CARDに従ってください。

https://www.raspberrypi.org/documentation/installation/installing-images/


初期設定

Raspberry Pi 3に

  • イメージを書き込んだSDカード
  • LANケーブル
  • HDMIディスプレイ
  • 電源

をそれぞれ接続、挿入します。

すると以下のような画面が表示されるのでIPアドレスを確認し、adb接続します。

f:id:itog:20161214190941j:image

$ adb connect <ip-address>
connected to <ip-address>:5555

以下adbコマンドでWiFiに接続します。

$ adb shell am startservice \
    -n com.google.wifisetup/.WifiSetupService \
    -a WifiSetupService.Connect \
    -e ssid <Network_SSID> \
    -e passphrase <Network_Passcode>

一度Wifi接続をすれば、次回からは起動時に接続し、画面にIPアドレスが表示されます。


アプリを実行する

アプリのサンプルがいくつかあるので実行してみます。ここではボタンを押すとLEDを光らせるサンプルを実行してみます。

https://github.com/androidthings/sample-button

HW

回路図はReadmeにスクリーンショットが貼ってあるのでそれで十分わかりますが、Fritzingのファイルはルートディレクトリに置いてあります(rpi3_schematics.fzz)

抵抗はプルアップが10k、LEDに直列についているのが470Ωです。

アプリのビルドと実行

アプリは通常のAndroidアプリと同様にAndroid Studioで開いてビルドして実行します。

実行時にdeploy targetでiot_rpi3を選択します。

f:id:itog:20161214233926p:image

ボタンを押すとLEDが光ります。

D

これだけだと、スイッチとLED直結してるのと変わらないw

画面はsetContentView()すらしてないので真っ白です。

f:id:itog:20161214220517j:image

これだけだとAndroidなくてもいいのでUIを連動させてみましょう。

TextViewをレイアウトに配置し、LEDのon/offに合わせて色を変えます。

             setLedValue(true);
+            mText.setBackgroundColor(Color.RED);
             setLedValue(false);
+            mText.setBackgroundColor(Color.BLACK);

これでHW入力をUI上に表示できました。

D

ソースはgithubに置いておきます。

https://github.com/itog/sample-button/tree/support-ui

新規プロジェクトを作成する場合はテンプレートがあるのでそれを使うのが良さそう。

https://github.com/androidthings/new-project-template


SDKについて

組み込みに必要のない機能がオプショナルもしくはサブセットになっています。

また、ブート時に自動で起動するHome Activityが指定できます。

それ以外はごく普通のAndroidといった感じなので、お手軽なAndroid実行環境としても使えそうです。

2016-11-29

物申さない勇気

何かに対して批判が殺到して中止になる、なんて事が今年何件あっただろうか。

そうした炎上騒ぎに対して、なぜ様々な配慮もなくそれを企画してしまったのか、それが実際に世にでるまでにチェックが入るような仕組みはなかったのか、と思うことが多いのは確かだ。

ただ、それをこぞって批判し、中止に追い込むというのはやりすぎなんじゃないだろうか。

実際、多くの人にとってはそれはニュースにならなければ知りえなかったことだし、自分の身の回りには関係のないことだ。

それなのに、「正しさ」を盾に他人を攻撃する。正論ではあるので、議論には勝てるだろう。でも、現実世界には正論が通じないことが多くあるのは誰もが知ってることだろう。

困るのは、間違った行為を批判することを批判すると、間違った行為を肯定していると取られてしまうことだ。そうではなくて、間違っているとは思いつつも、許容範囲なんじゃないかと言っているだけなんだけど。

正しいか、正しくないかの議論をしても針の筵になるだけ。「たいしたことない」ことを表明するには、そのことに言及しないことくらいしかない。

誰もが何かにつけて評論をしたくなるこんな時代だからこそ、ちょっとくらい間違った行いを見ても「物申さない」勇気が必要なんじゃないかな。

2016-11-25

スタッフには会社を有効活用して欲しいという話

最近入ったスタッフに必要な本があれば経費で買うよ、と言ったところ

「基準はありますか?漫画はダメですよね?」

と質問が返って来た。

ちょうど世間でもエンジニアに対する福利厚生関係が話題になっている(http://togetter.com/li/1051428)ので公開回答しておこう。

結論からいうと漫画でも問題ない。というか図書費と言っているけどメディアは一切関係ないのでDVDでもカセットテープでもOKだし、なんなら備品消耗品の類でもOK。じゃあ条件はないのかといったらもちろんそんなことはなく、条件は、

会社が費用を払うべき理由を論理的に説明できること。

だから、技術書であってもその理由が「なんとなく」だとNGだし、漫画であっても筋が通ってればOK。例えば漫画があることによってコワーキングスペースの稼働率が上がる、というのは十分考えられる理由だろう。

イベント参加費用も同じ。ただ、図書費は値段が知れてるのですんなりOKになる可能性が高いけど、そうでないものはコスパまで考慮に入れる必要がある。情報収集のためなら一人行けばいいのに複数人行きたい、となったらそれは選抜するか、複数人行くだけの理由が必要となる。

そしてもう一つ、終わったらレポートを提出すること。事前条件は「説明できること」だけどそれが終わったらその推論が正しかったかどうかの検証は必要で、間違っていたら次からその論理は通用しなくなる。勉強するためのに本が欲しいといって買っても、読まなければ次に同じ理由で本は買えない。

個人的にはこういうの当たり前だと思っているんだけど、日本の会社では受け入れられないことが多く、残念なことにそこに勤める社員も、会社を使って自分が成長しようという考えを持てなくなってしまっていると思う。


さて、ただいま長野県上田市にあるFabスペース「Fab古民家」ではスタッフを募集しています。

スタッフはFab古民家の設備を業務時間外に基本無料で使ってOK、必要な備品も上記のように説明できれば購入OK。3Dプリンタやレーザー加工機を使って自分の作品作りをする人大歓迎ですよ!

詳しくはこちらをご覧ください。

http://pigmal.com/recruit/

2016-10-07

サッカー選手になりたいゆとり君

「将来はリーガ・エスパニョーラで活躍するサッカー選手になりたいんですよね」

「へぇ。今はどこのチームにいるの?」

「チームには入ってません」

「えっ、じゃあどうやって練習してるの?」

「まだ練習してないんですよ。教えてくれる人がいないんで」

「一人でも出来る練習はいくらでもあるでしょ」

「独学でやってプロになれるんですか?」

「始めるきっかけはみんな独学、というか好きでやってるんだよ」

「ちょっとリフティングをやろうと思ってみたんですけど、それがなんの役に立つのかわからないんですが」

「ボールタッチはサッカーやる上で全てにおいて必要な基礎だよ」

「このチームに入るとどういうことを教えてくれるんですか?」

「まずは走り込みだね。基礎体力をつけないと」

「ただ走るだけですか?」

「走るのにも色々あるけど、君のレベルではまず普通に走ることだね。今日からでも出来るけどやる?」

「やる気はあるのですが忙しいのですぐにはできません」

「いつからやるの?」

「今週は試験期間で、来週は友人と旅行に行くのでそれ以降になります」

「そうですか。その先は毎日練習できますか?」

「ゲストハウス作りたいので毎日は無理です」

「ゲストハウスはサッカーとなんか関係あるの?」

「地域振興にも興味があるので」

「サッカーやる気ないよね?」

「やる気はあります。リーガ・エスパニョーラに行って日本代表でも活躍したいです。夢なんです」

「…がんばれ」

※この会話はフィクションであり、実在の人物・団体とは一切関係ありません

あわせて読みたいブログパーツ テクノラティのお気に入りに追加する