at backyard

Color my life with the chaos of trouble.

Better Touch Toolを使って、Mojaveのダークモードへ瞬時に切り替えられるようにする

今日、Mojaveにしました。アップグレードしたばかりの頃、Finderが仲間外れになったりしましたが、今のところは目立ったハマりポイントなどはなし。
(気づけば直っていました)

といっても、まだちょっとしか使っていないけど。

一応Virtual Boxが動かなくなっていたので、新しいのをインストールし直したのと、Better Touch Tool使って、MojaveへのLight / Dark モードの切替をショートカットコマンドで瞬時に切り替えられるようにしました。

Virtual BoxがMojaveだと動かない件

Virtual Boxは下記を参照させていただき、対応

applech2.com

BTT使って瞬時にダークモードに切り替える

そしてBTT使って瞬時に切り替えられるようにする件も下記の記事を参考にさせてもらいました。

applech2.com

上のポストにも書かれていますが、BTTでやることは下記の手順でOK

  1. BTT開く
  2. keyboardタブを開く
  3. Add New Shortcut or Key Sequenceで新たにショートカットコマンド作成して、好みのショートカットキーを設定
  4. Trigger Predefined ActionRun Apple Script(async in background)を選択
  5. 下記のスクリプトを貼り付ける
tell application "System Events" to tell appearance preferences to set dark mode to not dark mode

これでショートカットキー叩くだけで、すぐに切り替わる。

Night Owlでダークモードとの切り替えを行う

最初、rebuild.fmでBasukeさんが紹介されていたNight Owlも試したりしていたんだけど、BTT使っているし、せっかくだからこっちにしようと思って切り替えた次第。
NightOwlの方も設定がわかりやすくて好感触だったし、Basukeさんも言っていたけどフクロウの鳴き声が良い感じで、BTT使っていなければこっち使っていたなーと思う。
日の出・日の入りで切り替わるのも良いですね🦉

rebuild.fm

nightowl.kramser.xyz

George Hotz、日本に来ていたのかー!

最近ちょいちょいコーディング動画上がっていて嬉しい私です。

最近アップされたこの動画は、おそらく日本で撮られているよう。裏で聞こえる店員さんの声が日本語のため。

www.youtube.com

道端で会ったりしたら、いつも動画見ているよ!って声かけたいけど、たぶんかけらんなそう。シャイだからなー

Docker上でC言語を気軽に試せる環境を作って、C言語の勉強をしている話

ども、Linux上でC言語を勉強しようと思い、Ubuntuをインストールして環境構築をしていたら、それだけで満足してしまって勉強まで至らなかったことのある私です。

先日このようなポストを書きました。さっそくCコンパイラ作成本を読んでいますが、とても面白いです。

shinshin86.hateblo.jp

Linux上で実際に動かしてみながら、読み進めています。
さすがに今回は環境構築で満足はできないので、以前作成したDocker imageを使用して、docker上でC言語を気軽に試せる環境を構築してそちらでコードを書いています。

ちなみに最近Neovimもよく使っているので、そちらも一緒にインストールしています。ま、そんなわけで、非常に個人的な構成となっています。
(ちなみに気分によってneovimvimを使い分けています。本当に気分によって)

github.com

そのうちDocker Hubに置こうと思っていますが、いまは一旦Github上で管理していき、微妙に改良を加えつつ行こうかと考え中。

使い方

一応使い方はREADMEに書いてありますが、下記のような感じで使えます。

github.com

# リポジトリをclone
git clone https://github.com/shinshin86/dev-c-lang-with-neovim-at-docker.git

# ルートに移動
cd dev-c-lang-with-neovim-at-docker

# ビルド
docker build -t dev-c-lang-with-vim .

# 立ち上げたdocker内でbashを起動。--rmをつけているので、exitすると同時に docker コンテナを削除してくれる
# また、workディレクトリをマウントしている
docker run -it --rm -v $(pwd)/work:/tmp/share --name dev-c dev-c-lang-with-vim /bin/bash

接続したdocker コンテナ内にて

# クローンしたリポジトリのwork内にテストコードがおいてあるので、そちらをdocker内にコピー。
cp -p /tmp/share/test.c $HOME/work/

# clangかgccでテストコードをコンパイルしてみる
cd $HOME/work
clang test.c # Also can use gcc => gcc test.c

# 実行!
./a.out
# ---> hello world

コードを編集するとき

Neovimはnvで起動するようにしているので、ソースコードを編集するときは下記のコマンドを実行する

nv test.c

ZOZOサポート神対応の話、iPhone XS、Pale Waves良かった

ZOZOSUITが届かないなーとTwitterで呟いたら神対応していただいた話

どんなことがあったかについては実際のTwitterを貼っとく。

素晴らしいサポートをしていただき、ZOZOSUITで計測したデータに基づいて、ジャストサイズのTシャツを着て、今これを書いている。 買ったのは胸ポケットがついている灰色のTシャツ。
ちょうど胸ポケットのついた手頃なグレーのTシャツが欲しかったのである。

お値段は¥1500ぐらい、着心地は良い、生地はしっかりめな印象。
実際に着てみて計測した故の特別な感動があったかという正直そういうものはなかったが、気兼ねなく着れる感じで満足度はしっかりある。

ZOZOのサポートの方々、ご対応ありがとうございました。

iPhone XSに変えました

www.apple.com

最近iPhone XSに変えました。

以前使っていたのはiPhone7。

最初使ってみたときにまず感じたのは、アプリの立ち上げがかなり早くなったこと。やはり処理速度の向上は嬉しい。
あとポートレートモードがめちゃめちゃ凄い!実際にどういうものかは理解していたつもりだったが、実際に使ってみるとこれはなかなか感動。
友達と会ったときとかに皆の写真をこれで取ると、かなり感動してもらえる。自分も本当感動した。
カメラとかにあまり興味ない自分にとってはiPhoneのカメラで満足な今日このごろである。

最初フェイスIDはそれほど使いやすいとは思わなかったが、一週間も使っていると体がなれて、もう何も感じなくなった。結局指紋認証でも顔認証でもどっちでも使えるんだなーと思った次第。風呂上がりによく顔認証に失敗するときあるけど、どういうことだろう。普段小汚い顔をしているから、風呂上がりの顔は別人と認識されているということだと思う。

容量も256で買ったので、これからガンガン使っていこうと思っています。
(ちなみにiPhone 7のときの使用容量見たら30GBちょいしか使っていなかった。256の容量をフルに活かせるだろうか?)

Pale Waves良かった

偶然知りました。マンチェスターのバンドらしい。

youtu.be

週末はCコンパイラナイト🌜

TCFMでもおなじみのRuiさんが公開してくれました。

時間を見つけて低レイヤーな部分にもいろいろ触れてみたいと思っていた自分には非常にありがたいかぎりでございます。 早速少しずつ読み進めていますが、すごく面白い...!

ちなみにRuiさんはYoutubeでもライブコーディング動画を公開しており、こちらもめっちゃ良い内容。

www.youtube.com

上の言語処理系に関する動画以外にもcatコマンドやwcコマンドを実装している動画などもあったりして、まさに宝の山! ありがたや!

www.youtube.com

www.youtube.com

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory~というエラーができたときの対応法

とあるプロジェクトでyarn installしたとき、node-gyp rebuild周りでエラーが発生した。

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

もうこのエラーメッセージに書いてあるとおりで、

  • Xcodeをインストールする
  • sudo xcode-select -s /Applications/Xcode.app/Contents/Developerを実行してactiveなdeveloper directoryを変更する

という二点をやれば解決できる。 ちょうどxcodeが入っていないmacbook proでの作業だったので、直面した問題だった。

下記のページを参考にした。

github.com

Babel 7 へのupgrade toolを使ってみたメモ

あくまで個人用メモ、備忘録的なものになります。

babel7がリリースされましたが、Babel7へのupgradeツールもリリースされています。

github.com

試しに自身のリポジトリに適用してみました。 全然更新できていない、todoアプリ。
react/reduxの練習用に、触りたての頃に作っていたもの。めっちゃ途中のまま放り出してしまっていた。。

npx babel-upgrade

を実行した場合、どれがアップロードされるかを 確認することができる。

   "devDependencies": {
-    "babel-cli": "^6.26.0",
-    "babel-core": "^6.26.0",
+    "@babel/cli": "^7.0.0",
+    "@babel/core": "^7.0.0",
+    "@babel/plugin-proposal-class-properties": "^7.0.0",
+    "@babel/plugin-proposal-decorators": "^7.0.0",
+    "@babel/plugin-proposal-do-expressions": "^7.0.0",
+    "@babel/plugin-proposal-export-default-from": "^7.0.0",
+    "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
+    "@babel/plugin-proposal-function-bind": "^7.0.0",
+    "@babel/plugin-proposal-function-sent": "^7.0.0",
+    "@babel/plugin-proposal-json-strings": "^7.0.0",
+    "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
+    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
+    "@babel/plugin-proposal-numeric-separator": "^7.0.0",
+    "@babel/plugin-proposal-optional-chaining": "^7.0.0",
+    "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
+    "@babel/plugin-proposal-throw-expressions": "^7.0.0",
+    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
+    "@babel/plugin-syntax-import-meta": "^7.0.0",
+    "@babel/preset-env": "^7.0.0",
+    "@babel/preset-react": "^7.0.0",
+    "babel-core": "^7.0.0-bridge.0",
     "babel-eslint": "^8.2.2",
     "babel-jest": "^22.4.1",
-    "babel-loader": "^7.1.2",
-    "babel-preset-env": "^1.6.1",
-    "babel-preset-react": "^6.24.1",
-    "babel-preset-stage-0": "^6.24.1",
+    "babel-loader": "^8.0.0",

下記のコマンドで実際にupgradeを行う。

npx babel-upgrade --write

試してみたリポジトリ上ではうまく行ったよう。

下記がそのときのコミット。

github.com