the world as code

Macbook Pro (13-inch, M1, 2020) を購入した

Image from Gyazo

まったくもって買うつもりがなかったんだけど、 MBP のキーボード上にたっぷりドレッシングがかかったサラダをぶちまけてしまうアクシデントがありまして。。あの初期バタフライキーボードのうっすい打鍵感が、油が間に挟まったのか、さらにうっすくなって押しているのか押してないのだかもわからなくなり、終いには掃除しようとキーを外したところ壊してしまいまして。。泣く泣く Genius Bar に持ち込んではみたものの、過失による修理なので最大10万ぐらいかかるという話で、それならあと数万上乗せして新品買っちゃうかぁ、ということで買った次第。

なぜ M1 MBP なのか

まだまだ未知数な M1 に日和って Intel にしておこうかともちょっとだけ思ったのだが、周囲に背中を押されたのと、価格差が無視できないぐらいにあるということで M1 に。

また、ここ数年はパソコンを買い換えるたびに Linux デスクトップという選択肢も検討はしているのだが、毎度断念している。理由としては以下。

  • そもそも macOS でそれほど困ってはいない
    • 散見されるデメリットとして Docker Desktop の遅さというのがあるが、 Docker で開発する際は、仕事/プライベートともに開発用の k8s へ apply する場合が多く、 Desktop でのパワーは必要としていない
    • 純粋な Linux や UNIX が Desktop として必要なわけでもない
  • Alfred, Mission Control, Magic Trackpad による UX はかなり好きで依存している
  • 通信制大学に通っている都合上、 MS Office が必要であり、 Linux を開発機にする場合は別途 macOS or Windows も必要になる

2点目に関しては正直なところ、あんまりベンダーロックインされたものに依存するのはよくないんだろうな、と感じてはいる。特に Mission Control が便利で、複数の仮想デスクトップを3本指でするする切り替えながらの開発にはもうだいぶ馴染んでしまった。良くないんだろうなぁ、とは思ってはいるけど、やめられずにいる。

3点目、 MS Office が必要なら WSL2 とか Linux と Windows のデュアルブートという手もあるのだが、1,2点目の理由を覆してまで Windows を買う理由にはならなかった。 WSL2 は仕事で使った経験があるにはあるんだけど、あんまり好みではなかった。

Impression

よい。とてもよい。

特に発熱しない点と、バッテリーの保ち。前代の MBP はちょっと動画を開いたり、 Docker をゴリゴリ使ったりするとすぐにファンが回り始めていたのだが、 M1 MBP は半月ほど使っていてファンが回った覚えがほとんどない。そもそもそれほどヘビーな使い方をしてもいないとは思うが、 tmux で常にステータスバーへロードアベレージを表示していたのは要らなくなったなぁ、と感じている。

バッテリーに関してはだいたい8時間で空になる。前代 MBP がどれぐらいか正確なところは測っていないが、体感4時間ぐらいだっただろうか。かなり保つようになった。今ブログをアダプタ付けずに30分ほど書いたところだが1%も減っていない。参考に1週間の使用時間と電池の使用状況を貼っておく。

Image from Gyazo

M1 のソフトウェア対応状況については、 M1 Macの開発環境 - Qiita など先人の資料があるので割愛させてもらう。ざっくりと言うと、 M1 未対応のものでもそれなりに Rosetta で動くので、僕の利用範囲で「使えなくて困った」ものは今のところない。なぜか Ansible が上手く入れられていないが、 Python はもちろん arm 対応しているので自分の問題だと思う。

ただし、過渡期故の面倒くささは否めない。例えば Homebrew は 2.6.0 で arm 対応してはいるが、公式には Rosetta での使用が推奨されており、 arm 版 brew をインストールする場合は、 Intel 版とは別で /opt/homebrew というフォルダを作成して使うように促されている。これについては Homebrew on Apple Silicon — Hi, I’m Sam を真似して、 Intel 版には ibrew という alias を貼って使っている。

当然ながら既存の Brewfile もそのままは使えず、今は必要なものが出てきたら、その時々で brew install して、ダメだったら ibrew install し直すというフローになっている。長らく dotfiles として管理してきたが、 Intel Mac 用、 M1 Mac の arm 用、 Rosetta 用で Brewfile が3つに分かれる事態になってしまった 。他にも VSCode など、本リリース前のバージョンしかまだ arm 対応していないソフトウェアもあり、いちいち調べる必要がある、というのは買う前に覚悟が必要。

まぁ、とはいえ続々 M1 対応が進んではいるし、キーボードもシザーキーボードで打ちやすいし、そして前モデルから10万近く安くなっているし、かなり良い買い物だったと感じている。