miyasakura’s diary

日記です。

初代Apple WatchからApple Watch Series 4に買い替え

発表された週末にビックカメラで予約して2週間ほど待って今週頭に届きました。

GPSモデルのシルバーカラーのアルミケースにミラネーゼループという組み合わせです。

感想としては

  • 動きがサクサク
  • 38mm→40mmで画面は確かに大きくなったけど使い勝手がすごく変わったかというとそうでもない
  • GPSがついてSuicaも入るのでランニングにスマホを持たなくてよいのが素敵

という感じです。

最近のを持っている人はあえて買い換えるほどではないですが、初代だとGPSFelicaも無いし最新のOSが入らなくなったので流石に買い替え時ですね。

個人的には必需品になっているので今後も程よいタイミングで買い替えていく気がします。

古い方については、寝るときに新しい方を充電しながらSleep Cycleを利用できるのでこれも便利。

iPhone8のバッテリー交換(無料)に行ってきました

あと3日で購入後1年間の保証が切れるということでバッテリー交換に行ってきました。

support.apple.com

iOS11でバッテリーの劣化に応じてピーク性能を抑えるようになって炎上した件の対応ですね。通常5,400円が2018年末まで3,200円になって更に保証期間中なら0円になるという。

バッテリーの劣化状態は設定→バッテリー→バッテリーの状態から確認できるわけですが、自分の場合は91%ということで大して劣化はありませんでした。

とはいえこういうのは線形な劣化ではなく、あるタイミングから一気に下がっていくイメージなのでやって損はないなと。あとこれまで修理するくらいなら新しいスマホを買う派だったので、一度もAndroidiPhoneも修理対応ということをしたことがなく修理対応に興味があったというのもあります。

店に行くまで

Appleのサイトから近くの修理対応店を予約しました。一番対応日付が近いのがApple Store表参道で5日後という感じで、どこも忙しそうです。そういえばGenius BarApple Storeのアプリから予約できたイメージですがそういうのはなくなったみたいですね。

一応行く直前にiPhoneをバックアップしておきます。

店に行ってから

予約時間(若干遅れ)に店に行って予約してること伝えると時間が押してるので少し待ってほしいとのこと。確かに自分の他にも待たされている人が多数。

結局16:20の予約で案内があったのが16:40でそこから更に5分程待って店員さんの対応が始まりました。

簡単に説明受けて、バックアップ済みか確認され、バッテリーの状態測って、大して変わらないよと念を押され、iPhoneを探すを解除して、モバイルSuicaを一時削除して、預けて1時間半待ちという流れ。

時間通りに行くと更に15分ほど待たされて無事受け取り。Apple Watchつけて待ってるとiPhoneにきた通知を受け取れたので修理が終わってるかそれで判断するのもありかもしれない。

感想

表参道への往復1時間と待ち時間が2時間で合計3時間ほどかかったと考えると0円だからといって不要なバッテリー交換をやるほどではなかったなという。

すぐ終わると思ってPCとか持っていかなかったものの、もう一台スマホはあったのでポケモンGOで暇つぶしできたからなんとか耐えられました。ケンタロスも手に入ったし結果的にはまぁ悪くないかなという日でした。

専門職で生きるということ

エンジニアは業務外の時間に勉強すべきかどうかという話題について。

エンジニアは士業などと同じように専門職です。

専門的知識は時間の経過で陳腐化するので、ある時点で持っている知識は時間の経過と共に価値が下がります。

そのため、実務や勉強などで専門性を高める努力は人生を通して必須なのです。

専門職についたということは、"これからの人生で専門性を保ち続け、その報酬として相対的に高い金額の報酬を得る"ということを自分で決めたということです。

会社のもとで専門性を身につけられればそれも良いのですが、それは会社の当たり外れというある種博打の部分が出てきますので、自分の力で知識をアップデートできる方が安心です。

これからずっとボスの指示で動き続ける"イソ弁"のような状態でよければ勉強も不要とは思いますが、それだと自由度も報酬も高くなりませんので、せっかく専門職についたのであれば独立開業とは言わないまでも転職を自由にできたり環境を好きなように選べる状態のほうが人生は楽しいのではないかと思います。

ということで業務外での勉強はした方が良いよ〜というのが個人的な結論です。

※エンジニアの報酬は士業と比べて高くねぇよという話はあると思いますが、その他の士業の方が資格を獲得するための時間程度の量を専門性の獲得に費やした人はある程度の報酬を得ていると思っていますし、独立開業のしやすさなどの点でやはり十分に士業並みなのではないかなと思います

この夏やったことメモ

引きこもってたつもりが意外と忙しかったので来年への備忘録。

  • 熱海いった
  • 江戸川の花火大会を見に行った
  • 大曲の花火を見に行った
    • ついでにわんこそばで20代にチャレンジしたときの記録超え(125杯)
  • 新国立劇場で舞台を鑑賞
  • 実家に帰って雲海を見に行った(見られなかった)
  • back numberのライブに行った
  • 富士山に登った
  • ポケモンGOを再開した
  • 仕事がフルリモートになった
  • 機械学習な仕事も受けてみた
  • 今月末にAugusta Camp

部屋のCO2濃度が上昇したら自動で換気扇をつける

ちょっとやりたくなったので表題のIoT的な仕組みを作ってみました。

経緯

この記事を読んだのがきっかけです。

togetter.com

半分以上は家で作業しているので部屋のCO2濃度のせいで作業効率が落ちるのは嫌なのでひとまず計測してみました。

結果16畳ほどある部屋でも1人で何時間か作業すると1000ppm程度までは上がってしまい、定期的に窓の開け閉めをしていましたがそれも面倒になって自動化に至りました。

構成

           (webhook)
Raspberry pi -----> IFTTT-------> Smart plug ----> 換気扇
       |                              ↑
       | (usb)                        | (「換気扇をつけて」)
       |                              |
   CO2測定器                       Google Home

換気扇がコンセントの電源のON/OFFで操作できるという少し特殊な部屋なのでこの構成で良いのですが、スイッチのON/OFFが必要な場合はSmart plugの代わりに「Switch Bot」のような商品が必要でそれだったらやってなかっただろうなと思います。

やったこと

買ったCO2測定器は下記です。

カスタム (CUSTOM) CO2モニター CO2-mini

カスタム (CUSTOM) CO2モニター CO2-mini

こういう機器は安物を選んでもキャリブレーションとかがちゃんとできておらず不正確な情報を得られてしまうので慎重に選びたいところ。

前に尊敬するRailsの作者でもあるDHHがco2meter.comは大丈夫と行っていたのでそこのOEMであるらしい上記製品を購入しました。

情報取得するために常に動いているサーバーが欲しいが自宅には常時稼働のデバイスはなかったのでRaspberry pi 3 Model Bを購入。最近はこういう商品でAmazonでの発送元が代理店の場合ちゃんとしているところか調べるのが面倒なのでヨドバシを利用してます。

https://www.yodobashi.com/product/100000001003490456/

2AのUSB電源(2.5Aが本当は必要)とディスプレイとHDMIケーブルとキーボードは必要でしたが家にあったので購入したのはRaspberry piだけですみました。

設定は下記サイトを参考にしたら問題なく完了。

hirazakura.hatenablog.com

次にSmart PlugはIFTTT対応必要なのですが中国製のものばかりで少し怪しかったのですが、それ以外を探すのも面倒なので下記を購入しました。

Google Home対応しているのでGoogleの審査は入っていて怪しい動作はしないはずと信じていますが、ちょと怖いような気もします。気にする場合はamazon.comで良いのを選んで購入するのが良いかも。

届いてセットアップしてみたところ、アプリはちゃんとしていて動作は問題ありませんでした。

そしてIFTTTで下記を設定します。

  • IF "Webhook" Then "Meross (Turn on)"
  • IF "Webhook" Then "Meross (Turn off)"

簡単ですね。

最後にRaspberry piからwebhookを飛ばすだけです。usbデバイスから情報を取得するのはroot権限だと楽なのでrootで作業しちゃいます。

まずは必要なライブラリのインストール

apt-get install libudev-dev libusb-1.0-0-dev
pip install hidapi co2meter

下記のスクリプトを /root/co2d.py とかで配置。スクリプトの内容としては毎分値を取得して1000を上回ったらつけて600を下回ったら止めています。pythonあんまり得意じゃないのでコードは適当。

#!/usr/bin/env python

import co2meter as co2
import time
import os
import sys
from datetime import datetime

def main():
    mon = co2.CO2monitor()
    triggered = False

    while True:
        try:
            current = mon.read_data_raw()[1]
            print(current)

            if current >= 1000 and not triggered and datetime.now().hour >= 8 and datetime.now().hour < 23:
                print('CO2 value is over 1000ppm!')
                os.system('curl https://maker.ifttt.com/trigger/co2-over/with/key/hogehoge')
                triggered = True

            if current <= 600 and triggered:
                print('CO2 value is under 750ppm:)')
                os.system('curl https://maker.ifttt.com/trigger/co2-under/with/key/fugafuga')
                triggered = False

        except Exception as inst:
            print(type(inst))
            print(inst.args)
            print(inst)
        sys.stdout.flush()
        time.sleep(60)

def fork():
    pid = os.fork()
    if pid > 0:
        f = open('/var/run/co2d.pid','w')
        f.write(str(pid)+"\n")
        f.close()
        sys.exit()
    if pid == 0:
        main()

if __name__=='__main__':
    fork()

daemonで動かすために下記のような /usr/lib/systemd/co2d.service 作成

[Unit]
Description=CO2 Monitoring Daemon

[Service]
ExecStart=/root/co2d.py
Restart=always
Type=forking
PIDFile=/var/run/co2d.pid

[Install]
WantedBy=multi-user.target
systemctl enable co2d.service
systemctl list-unit-files | grep co2d

リブートしてps -efdaemon起動を確認できればOK。

雑感

楽しいので他にもいろいろなもので試してみたくなるものの、有用なケースはなかなか思いつかないのが悲しいところです。

少しずつ部屋の明かりの音声操作とかも取り入れてきていますが、気をつけているのは一緒に暮らしている人がストレスを感じないようにするところです。

・少しの便利さのために不便を強いることにならないように ・少しずつ導入してなれてきたら次のデバイスを入れる ・Google Homeで操作するときのニックネームを工夫して操作を楽しめるようにする

などなど。

次は草木の水やりのために水の乾き具合を計測できたらいいなとか思ったりしています。

最近読んだ本いくつか感想

大東建託の内幕 ?アパート経営商法?の闇を追う

大東建託の内幕 ?アパート経営商法?の闇を追う

某2階建てで話題になっていたので気になって購入。この会社は不動産クラスタのツイートで酷い書き方されてるところだからどんなものだろうかと。

しかし読んでるだけでイライラしてくるので最後まで読むのがつらかった。

サブリースなんてそもそも悪い話しか聞かないけど本の中身を見る限りイメージより更に酷い。

親に読んどいてもらいたいので次に実家帰るときに持って帰ろう。。

ミクロ経済学入門の入門 (岩波新書)

ミクロ経済学入門の入門 (岩波新書)

ミクロ経済の超導入。大学のときはマクロ経済をとっただけでミクロ経済については基礎も知らなかったので雰囲気くらいはつかみたいなと。

数式を使わずに説明してくれていてさらっと読めて良い本でした。

もう一回くらい読み返してちゃんと頭に入れたい。

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

少しタイミング遅れてしまったものの話題の本なので読んどかないとなと。

アジャイルとかスクラムとかの開発手法とは違って目標とその達成についての話なので特にエンジニアやプロダクトのチームに限定されないのが会社として取り入れやすくて良さそう。

数ヶ月単位の目標を定めるのでProduct/Market fitしてからじゃなとうまくいかないかもと書いてありましたが、 個人的な課題としてはそもそも自分が作るプロダクトについて Problem/Solution Fit や Product/Market Fit までをどうやるかという部分からなので、OKRがどうとかいうレベルになっていないのが悲しいところ。

バッファロー製ルーターWXR-1901DHP3のv6プラス設定

毎日切断されてインターネットが数分間完全に使えなくなるという症状に悩まされた。

ググりつつ設定変更したらなんとか直った。

IPv6の基本と大事なこと

  • V6プラスはPPPoEの設定は必要ないのでプロバイダからもらったIDなどの入力は不要
  • バッファローがいい感じにやってくれる系は利用しない
    • インターネット@スタートも使わない
    • [V6Plus] Keep-alive is lost. というログと共に定期的に切れる
  • NDプロキシを使う
    • パススルーだと直接インターネットに端末を置いている状態なのでセキュリティ的に非常にあれ

設定

  • 本体背面にあるスイッチを下記のように設定
    • AUTO → MANUAL
    • AP → ROUTER
  • ブラウザの設定画面から
    • 詳細設定→Internet→Internet
    • 詳細設定→Internet→IPv6
      • NDプロキシを使用する