Macbookのモニタ以外でターミナルのフォントレンダリングがなんとなくおかしいのを直す

Macbookのターミナルでのフォントレンダリングはなんとなく強いボールドがかかってレンダリングされており、僕はこのフォントレンダリングが大好きなんですが、どうも外部ディスプレイ出力しているMac miniなんかではそのようにレンダリングされないという問題がありました。もしかして直せるのかなーと思って10分ぐらいgoogleしてみたところ直せたのでメモっておきます。Quoraの「Why do my fonts look better in TextMate than in iTerm?」というやりとりを参考にしました。

やることはシンプルで、ターミナルで

$ defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

というコマンドを実行してログアウトするだけです。しあわせ!!

Mac OS X Snow Lopardでmysql2 gemをインストールする

Rails3(3.0.5)をいじっていたら、どうやらActiveRecordmysqlアダプターがmysql2というgemを使うように実装がかわったらしいので、mysql2 gemを試行錯誤してインストールした。(いちおう書いておくと試したOSXは10.6.7)

gemのインストール

MySQL/Rubyのときと同じオプションでOKっぽい。

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include

※rvmを使ってる人はsudoいらないです

このままrake db:migrateとかすると以下のようになった。

$ rake db:migrate
(in /Users/tomotaka/code/bookmark)
rake aborted!
dlopen(/Users/tomotaka/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/tomotaka/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Reason: image not found - /Users/tomotaka/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
/Users/tomotaka/code/bookmark/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

ダイナミックライブラリのファイルを読み込めてないっぽい感じがする。


dylibのパス

こちらのページを参考に、DYLD_LIBRARY_PATH変数に/usr/local/mysql/libを加えてやればよくなった。LinuxならLD_LIBRARY_PATHだろうか。

$ export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

毎回手動でやるのはめんどくさいのでbashrcとかに書いておけばよさそうですね。~
ライブラリ側の問題っぽいし、そのうちなおる気もする。

改行モードにした

はてなダイアリーのHTML化でむかついてたのは改行すると勝手にPにするところだったのだけど、改行モードというのが出来たので変更してみた。でも改行2個あってもP(パラグラフ)にはしてくれないみたい。
だめやん...

同じネットワークのMacを見つけてIPを調べる

たまに横にあるDHCPでIPをとってるMacbookのIPが知りたい、と思うわけですが、その場にいるのであればMacbook側でifconfigとかステータス表示系のウィジェットなんかで簡単に知ることができますが、今回はネットワーク越しにできる方法がないか調べてみました。(追記: MacからMacを見つける、という想定で書いています。)

リストするにはMacに標準搭載されているBonjour(Zeroconf, multicast DNS)を使います。ここではサービスタイプにsshを使っていますが、httpやsmbを使ってもいろいろと出てくるでしょう。

$ mDNS -B _ssh._tcp

mDNSコマンドに関しては僕も詳しくしらないのでmanを見たりして頂ければと思います。

さらなるアドバタイズを待つようで、コマンドが終わらないので適当にCtrl-Cなどで終了します。リストから、IPを調べたいマシンのInstance Nameをresolveipコマンドに入れると解決できます。(.localをつけるのがミソ?)

$ resolveip hoge.local

追記: resolveipはどうやらMySQLをインストールするとインストールされるコマンドのようでした。MySQL一式がインストールされていない環境ではping hoge.localなどとして表示されるIPをもとに知ることができそうです。

どうやらsshなど一部の組み込みコマンドではこのIPアドレスの解決は自動的に行われるようで、以下のようにして直接接続することも可能でした。

$ ssh hoge.local

一人暮らしエンジニアが持ってるとうれしいもの

  • いいベッド...体力回復で次の日もたくさんコードを生産できます。
  • いい椅子...体の負担を軽減し、コード生産効率がガチ上がり。机に向かってられる時間も増える。
  • いいキーボード...手の負担を軽減し、きもちいい気分になり、コード生産効率が(ry
  • いいマウス...同上
  • いいディスプレイ...目の負担を軽減し、視力の低下をおさえ、広いデスクトップ領域を提供。
  • 広い机...ディスプレイをたくさんおける。

冷静になってみると自分が贅沢したいだけの自己満足すぎる。

僕と、僕の周りの人たちが使ってるものをリストしてみます。

他にもいいガジェットはたくさんあると思うので、ぜひみなさんの思いのたけをアツく語ってほしいですね。