2021-11

2021年3月8日から3月14日の記録

M1 Macセットアップ

Apple Siliconの載ったMacBook Airが届いた。自分は環境構築が好きなので、新しいMacを購入したときやOSのメジャーアップデートのときは移行アシスタントを使わず初期状態からセットアップしている。以下はそのメモ。

アプリケーションについてはhomebrew > mas > 手動の優先度で見つけてインストールする。まずはhomebrewを公式サイトのスクリプトからインストール。その際にxcode-selectも自動的に入る。

Homebrewは3.0.0でApple Silicon (arm64) に対応して、arm64環境ではデフォルトで /opt/homebrew/ にインストールされる。しかし一部のパッケージはまだ対応が済んでないので、必要に応じてx86_64環境でも使えるように、Rosetta 2でx86_64版もインストールする。具体的な手順としては、FinderでTerminal.appを右クリックして、Get Info > Open using Rosettaにチェックを入れ、再びhomebrewのセットアップスクリプトを実行する。するとx86_64のhomebrewが /usr/local にインストールされる。加えて下記のコードを ~/.zshrc に書いておくことで、シェルの実行環境に合ったhomebrewと一連のパッケージを使用できるようにする。

if [[ `uname -m` == 'arm64' ]]; then
export BREW_ROOT=/opt/homebrew
else
export BREW_ROOT=/usr/local
fi
export PATH=$BREW_ROOT/bin:$PATH
export PATH=$BREW_ROOT/sbin:$PATH
fpath=($BREW_ROOT/share/zsh-completions $fpath)
alias x="/usr/local/bin/zsh"

Open using Rosettaにチェックを入れたままではTerminal.appが常にx86_64環境になってしまう。そこで、x86_64用にもzshをインストール ($ brew install zsh) してからRosettaのチェックを外し、$ xのコマンドでx86_64のzshを起動できるようにしておく。どちらの環境が使われているかは$ uname -mで分かるので、プロンプトに表示させておくと良い。

Homebrewのインストールが終わったらdotfilesをホームディレクトリにgit cloneして、一連のbrewパッケージとmasアプリケーションをインストールする。Python, nodejs, rubyなどはasdfをホームディレクトリ以下にgit cloneして最新のバージョンをインストールした。最後にDropbox経由で必要なファイルを同期すればセットアップは完了。

Dropboxで同期しないファイル/フォルダを設定する

How to set a Dropbox file or folder to be ignored | Dropbox Help

Drobox監視下のうち特定のファイルを同期から外す機能がいつの間にか作られていて、とても便利だと思った。例えば、下記のコマンドで /absolute/path/to/the/file がWebや他のPCから消える。node_modulesなどファイル数が異様に多い割に同期する必要が全くないものは積極的にこの機能で除外すると良い。

$ xattr -w com.dropbox.ignored 1 /absolute/path/to/the/file

これまではどうしていたかというと、selective sync conflictという仕様を使って空のディレクトリを優先させたりrsyncでnode_modules以外のみを同期する中間層を作ったりしていた。

$ rsync -rptgoDh --delete --exclude "node_modules" ~/src ~/Dropbox/

iTunesからMusicへの移行

iTunes.appはMac OS CatalinaからMusic.app・TV.app・Books.app・Podcasts.appという4つの専用アプリケーションに分割された。分割以後もiTunesのフォルダ構成 (ライブラリ) でMusicを使えていたものの、いつサポートが切れたり挙動がおかしくなっても不思議ではなかったので、新しいMacのセットアップに合わせてライブラリを再構築した。

手順としては、古いiTunesのライブラリ (~/Music/iTunes/) を一時的にどこかにコピーし、Optionを押しながらMusic.appを起動して一時保存したライブラリ (iTunes Library.itl) を読み込む。それからPreferences > FilesでMusic Media folder locationをResetする。最後にFile > Library > Organize Libraryを選んでConsolidate filesにチェックを入れた状態でOKボタンで実行する。これでMusic.appに必要なファイルのみが ~/Music/Music/ にコピーされる。

南極

内藤さんに南極ツアーの申込みを行っていただいた。前々から気になっていたものの、個人で渡航する手段がなく、ツアーの場合は知らない人と10日ほど同じ部屋で過ごすのもどうかな (1, 2日なら良い経験なんだけど...)、と思っていたところだったので、波長が合う友人と一緒に行けてすごく嬉しい。南極、今行くか時間とお金に余裕が出てから行くか、という話になって、きっと我々が歳をとったころには火星とかもっと遠くの場所に行けるようになっているだろうし、今行ける場所には今行っておかないと時間足りなくなるんじゃないか、という結論になったのが面白かった。

今週のイベント

ミーティング・ワークショップ・イベントなどが盛りだくさんの一週間だった。まず、大阪府教育庁の方からご連絡いただいて大阪工業大学の先生方や大阪府の高校生の方々とワークショップを開催し、DFKIのiQL-Labや自分の研究・キャリアについて講演したり高校生の方々が取り組んだ研究プロジェクトの発表を聞いてコメントしたりした。また、日独仏の共同AIプロジェクトも始動し、オーストラリアを含めた4拠点をつないで研究の意見交換を行った。所属研究グループでは全博士学生がピッチするイベントがあった。その裏でNota Tech ConfxDiversity xTalk #1未踏会議・未踏ナイト未踏ジュニアのオンライン説明会など面白いイベントが配信されていた。オンライン開催がスタンダードになったことで、今まで以上に多くの人がイベントに参加できるようになったり、イベントの内容がアーカイブされやすくなったりしたのは、良いことだと思う。