ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2021年5月28日金曜日

これまで使ってきた Mac を回想する

私が普段使いのコンピュータを Mac に変えたのは 2007 年のことだった。知人が悪名高き MacBook Air (初代で何もしなくてもCPUスロットルするようなひどい世代)を可愛がることに決めて、私に 2006 年モデルの白色プラスチックモデルの MacBook を譲ってくれたので、 Mac に乗り換えることにした。 CoreDuo, 4GB RAM とかの時代のモデルで、快適に使えていた気がする。後述の 2008 年モデル購入後に、さらに知人に引き取られていった。

時間軸としてはこちらのほうが前なのだが、もともと 2004年頃に G4 Mac を購入して持っていて、まあ16年以上前のことだから書いてしまってもいいかな。まだ所属会社のセキュリティポリシも緩かったので、会社への申請を通して自分の G4 Mac を会社のデスクに設置、社内ネットワークに接続して、いつもロードアベレージが高いメールサーバからメールを吸い上げて、 imapd を動かして最強のメールスプールとして使っていた。数年後には社内のセキュリティポリシの変化に伴い、社内にもっていた私物 PC (ほかに自作FreeBSD PCのIRCサーバなども置いていた)は撤収することになった。

新品で買った MacBook は 2008 年モデルの 13 インチで、この個体では FreeBSD のソースコード読み込んだり、勉強会などに参加したりでかなり使い込んだ。仕事用 Windows PC は Cygwin, xinetd などを組み合わせ、普段使いは gVim な環境になっていたが MacBook 上は普通に UNIX ですっきりした環境でよかった。今でも手元に残ってはいるけど、通電はほとんどしていない。

2011年、転職のタイミングで MacBook Air 13インチを購入してメインPCにした。外回りのセールスになって、会社からの支給コンピュータは MacBook 13 インチだったが、一日に 3 アポとか都内を走り回る業務スタイルにおいてあの重さのコンピュータを常に携帯するのは負担だったので、自分でコンピュータを持ち込んでいた。当時は国内に社員が3~4名しかいない会社でやり放題(?)していたが、いまだと許されないかもしれない。

翌年の MacBook Air 2012 13インチを買ったのは、上記 Air のハードウェア故障で修理に出している間にコンピュータがないのは困るということで、買い換えた。当時の Air はフルスペックでも20万しなかったし、ノート型コンピュータをとても酷使していたので、1年しか使ってなくても買い換えていいかなというぐらいの気持ちで買い換えた。 2011 年モデルと比べると内蔵グラフィックスの性能向上がすごくて、良いコンピュータだった。

この頃の Mac はリーマンショック後の円高の影響で、スペックの高い個体がかなり安く買えていたこともあって、エンジニアにとっての Mac は安くてコスパのいい使い捨てマシンだったという感じがあった。

退職後、 MacBook Pro 2014 15インチを購入。 Pre Type-C 世代としては2015年モデルが最強だったが、 2014年モデルもハードウェア、ソフトウェア的に非常がバランス取れていて良いコンピュータだった。IkaLogの開発に使用したのもこのコンピュータである。冷却機構に埃がたまりサーマルスロットリングの病気が発生、掃除が必要だったが、当初はそれぐらいのトラブルで、とても快適な個体だった。残念ながら、手元の個体はディスプレイやキーボードの破損などが度々発生し、維持しつづけても負債になると考えて、保証切れとともに手放すことにした。30万以上したが、15万円ぐらいで売れた。

2017年に現職に入った際、 MacBook Pro 2016インチをメインマシンにして、ここでは(いまごろ私が改めて言う話でもないが)バタフライキーボード等のデキが悪くて正直かなり使いづらいコンピュータになっていた。とはいえソフトウェア面での仕上がりは悪くなくて、 MS OneNote が同期に失敗しはじめると無限に CPU 時間を消費してとネットワークトラフィックを吐き続けることぐらいだったと思う。

なおこの MacBook Pro 2016 、 2019年の AppleCare 保証が切れ&リースアップ前にキーボードの保守交換(在庫の都合上UK->US)でめちゃくちゃ良いマシンになったと思う。酷評されていたバタフライキーボードも、改善版になってからはびっくりするほど入力しやすくなった。

キーボード交換の際、バッテリ交換、本体シャーシ交換、温まったときにクラック音が生じていた問題があり液晶パネル交換となり、システムボード以外は新品同様になったのでこのまま暫く使い続ける選択肢も考えたのだが、過去の経験上 Mac を修理なしで使い続けられるという感覚がなく、使い続けても故障のタイミングで想定外のキャッシュアウトを会社に負担させるのもどうかと思ったので、リースアップの際に泣く泣く手放した。

2019年、本当はノート型コンピュータなんて1台だけ持っていれば十分だと思っていたのだが、情シスなどと相談したうえで海外出張時の PC を普段使いと分けることになって、 MacBook Air 2019 を併用しはじめた。正直、あまり使っていないし思い入れのない個体。もっと使ってくれる人のところに行けたら、よかったのにね。のちにコロナウイルスの蔓延もあり、本当にほとんど出番がない。

いま在宅で普段使いしているコンピュータは MacBook Pro 2019 16インチで、キーボードのタイプ感がまた変化した。個人的には2016年の改善版のバタフライキーボードでもよかったかなと思うけど、まあ過去には戻れないので仕方がない。コロナウイルス禍にあり家から出ない日も増えたし、 MacBook Pro 2019 16インチは最強のリモートワーク母艦となっている。

ただ、この普段使い MacBook Pro 2019 、またOSのアップデートが増えてから、いまいちOSとして安定しなくなってきた。ハードウェアとしては気に入っているんだけども、ソフトウェアとのバランスが微妙になったのかなーと感じている。

「インストールしているソフトウェアや接続しているハードウェアが悪いんじゃないか」「俺のMacは暴れねえよ」などとは度々言われるのだが、なぜかうちの Mac はどうしても暴れてしまう。ここ1年ぐらいで kernel_task の CPU 時間消費が極端になってきて実用に耐えないレベルになりつつあるので、仕事する上で困るし、対策を打たないといけない。

自分にとっていちばん Mac が使いやすかったのは、 2012年~2015年のことだった。2017年以降、新しい Mac を手にする際には毎回「これが自分にとって最後の Mac になるかもしれない」と思っている。

2013年12月8日日曜日

Enabling Thunderbolt PCIe tunnelling for device drivers on OS X

Recent Mac computers have Thunderbolt interfaces. Thunderbolt allows connecting with devices by tunnel PCI Express protocols. Thunderbolt interface is physically backward-compatible with DisplayPort interface. Therefore you can connect both of DisplayPort devices and Thunderbolt devices.

I have a thunderbolt chassis, EchoExpress SE from sonnet. This box can contain a two-slot height PCI Express card inside, and allows connecting to recent MacBook series using Thunderbolt interface.
 

However, you man not able to load its device driver correctly. One of the known reason is that the driver is not configured to allow Thunderbolt tunneling mode. You can find out if you hit this issue.

To enable Thunderbolt tunneling, you can enable "IOPCITunnelCompatible." As an example, iomemory-vsl.kext is the implementation of Fusion-io ioMemory VSL. Its package has Contents/Info.plist file, and you can enable "IOPCITunnelCompatible" by editing this. This hack also should work with other PCIe device drivers.

  157  cd /System/Library/Extensions/iomemory-vsl.kext/Contents/
  159  vi Info.plist

~~~~
66                 <key>iomemory-vsl</key>
67                 <dict>
68                         <key>CFBundleIdentifier</key>
69                         <string>com.fusionio.driver.iomemory-vsl</string>
70                         <key>IOClass</key>
71                         <string>com_fusionio_driver_iomemory_vsl</string>
72                         <key>IOKitDebug</key>
73                         <integer>65535</integer>
74                         <key>IOPCIMatch</key>
75                         <string>0x10001aed&amp;0x0000ffff</string>
76                         <key>IOProviderClass</key>
77                         <string>IOPCIDevice</string>
78                         <key>auto_attach</key>
79                         <string>1</string>
80                         <key>parallel_attach</key>
81                         <string>0</string>
+82                         <key>IOPCITunnelCompatible</key>
+83                         <true/>
84                 </dict>
85         </dict>
~~~~


When you are done, try reloading the driver by running kextunload & kextload, and I'll find the device probed.

I spotted Fusion-io driver this time, but current Fusion-io driver supports Thunberbolt tunning by default, so actually you don't need to do this today. I had tested ioDrive2 and ioFX through the chassis earlier days.