2019年も終わります
2010年代が終わります。10年のスパンで見るとそれなりに変わったところもありますけど、たいした変化もなかったようにも思えます。ましてこの一年なぞ「例年どおり」でございました。
そういえば今年はMacを買いませんでしたな。購入したApple製品はiPad miniとApple Watch。どちらも稼働率がけっこう高く、買って無駄だったって感触がないのは喜ばしいところ。それとiPhone 11 Proですね。これがこの一年で一番高い買い物だったかもしれないw こちらも現在満足して使ってるし、こいつの目玉機能であるカメラもまあまあ楽しく使えてます。
カメラといえば、今年初めて購入したものがPENTAXのLimitedレンズの福袋でした。3本入りを2本分のお値段で買った感じでしたかね。レンズプロテクターが付いてきたしお得だったと思うけど、稼働率はそれほど高くないのは残念なところ。
来年はPENTAXのAPS-Cのフラッグシップが出るかもと言われてるから、それでお財布軽くなるかもですね。
出来事としてインパクトが一番大きかったのは車が追突されたこと。低速域での追突だったから、車の損傷としては走行に大きな影響がない程度なので、相手の保険できれいに治ってきました。体は完全に無事とはいかず、軽い鞭打ちな感じとなったため病院に行って会社を休んだ日もありました。それの補償を相手の保険から貰え、それで車検のお金が出たのはまぁまぁよかったのではないか。
ということで、車検を迎えたうちの車はつまり3年過ぎようとしておりまして、でもあと2年は頑張って傷つけずに乗って行けたらなと。
遠出はあまりできませんでした。関東の外に出たのは夏休みに鹿児島に行ったのが唯一かもしれん。そう考えると寂しい気がしてきました。来年はもうちょっと回数どこかに行きたい。
ということで2020年代、わたくしはどうなっていきましょうか。どうなったとしても、平穏無事でいきたいものです。
Mac Proの素敵情報がいろいろ出てきました
注文したユーザの手にも届き始めているらしいMac Pro 2019でございますが、素敵な情報がいろいろ出てきていますね。
Apple、Mac Pro (2019)の電力消費と熱出力情報を公開。フルスペックモデルのMac Proの消費電力は待機中で302W、CPU最大稼働時は902Wに。 [AAPL Ch.]
アイドル時の消費電力だけで旧Mac Pro(銀Mac含む)のCPUフル稼働時の消費電力を超えるとか、熱量の値もCPU最大稼働時は3076らしいので、これは小型のヒーターなんかよりも高出力な暖房機器と言えそうです。MPXモジュールの電力供給能力をフルに使うモジュールを、PCIeスロットには補助電源を必要とするようなカードを挿したりするとさらに消費電力増えそうですし、一般のご家庭に入れる機材じゃないですねw
実際に注文するとして、各パーツは自分で交換しやすい構造になっているのが特徴の新Mac Proですけど、唯一、ストレージ容量だけは慎重に決めた方が良いようです。
Mac Pro (2019)のSSDモジュールとキャスターはAppleまたは正規サービスプロバイダでの交換が必要。 [AAPL Ch.]
Mac Proに搭載されるSSDは、そもそもApple独自のモジュールを採用しているということと、Apple T2と紐づけられているために個人での交換が難しいらしいから。だから少ない容量を買って価格を抑えて後で交換って考えると面倒なことになると予想されます。自ずとシステムドライブになるだろうし、個人的には最低2TB、頑張って4TB行きたいですね(買う予定は皆無だけど会社に買わせたい)。
ってか8TBが256GBとの差額で286000円ですよ。高ぇって思ったけど、SonnetのM.2 SSDを4枚させるPCIeカードに2TB SSD x 4とかすると25万円超えちゃうのでそんなもんなんでしょうな。ってことで、システムドライブとしての付属SSDはそこそこのサイズにしておいて、PCIeもしくはSATA接続で大きめのストレージを内蔵するのが良さそうです。
ちなみにそんな Sonnetのカードに970EVO Plus 1TBを4枚さしてのパフォーマンステストをしている動画[YouTube]がありました。Read/Write共に6GB/s超えた値になっているようです。作業領域としての利用には十分以上のパフォーマンスが出そうです。問題は大容量ストレージをどうするかですが、それは外付けにするか、SATAのHDDを増設するアダプタを投入する事になるかな。
またAfterburnerによるドーピング具合の情報も徐々に出てきました。こちらのグラフ[Youtube]ではMac Pro単体に比べてProRes RAWからProResへの変換が相当高速になっている様子が窺えるし、(おそらく23.98fpsのProRes 4444 XQの)16kのタイムラインの編集が可能だったというビデオも公開[Youtube]されています。8K 60fpsの16bitといったハイビットレートの映像はどうなんだろうという情報はまだみつけられてないけど…
しかし日本のユーザさんがまだ見当たらないのだけど、幅広くいろんな人が勝手にレビューを始めるのはこの調子だと来年ですかねぇ。
この世界の(さらにいくつもの)片隅に
12/20から公開が始まったのだけど、うまい具合に20日に代休を取れたので立川で観てきました。
「この世界の片隅に」はNHKでも放送されたし土浦では公開から今年の12/19まで上映されていたりとロングランをしていたところもあったから、観た人も多いかもしれず、だから観なくてもいいと思う人も多いかもしれないが、これは「この世界の片隅に」を観た人こそ観に行くべき映画だなと思いました。
物語の流れは大きく変わりません。始まりも終わりも同じです。けれども途中に挟まるエピソードの尺が半端じゃなく、それにはりんさんのエピソードがたくさん加わっているってのもあるのだけど、それ以外にもチョコチョコ加わってて、結果として
「この世界の さらにいくつもの 片隅に」を観る。長さが全く気にならない。前作以上に滑らかな映画と感じられ、とても素直に受け入れられた。はっきりとした区切りもなくするすると深まっていく戦争。戦後になっても困難は終わらない。最終決戦の兵器である竹槍でも誰かの夢を描けることを忘れない。
— 五味洋子 (@tominekoyouko) December 21, 2019
というように滑らかさが追加されています。結果として非常に長尺なのだけど、もしかすると「この世界の片隅に」よりも長さを感じなかったかもしれません。素晴らしい作品に昇華していたと思いました。
と言うことなので、「この世界の片隅に」を未見の人にとってもより観やすい映画になっているので、是非とも足を運ぶといいと思いましたですよ。
映画『この世界の(さらにいくつもの)片隅に』予告編
エイリアスとシンボリックリンク
ここに三つのファイルを用意しました。
一つはオリジナルのテキストファイル。他の二つはそのエイリアスとシンボリックリンク です。
上図が最初の状態。この状態からエイリアス、シンボリックリンクのファイルを動かしても、当然ながらオリジナルのファイルを参照して中身を見ることができます(下図)。
しかしオリジナルのファイルの場所を移動したときに、両者の挙動は異なります。
下図はオリジナルのファイルをORIGINALフォルダに移動させた状態です。こうなった時、エイリアスの方は問題なくオリジナルのファイルを参照するのに対し、シンボリックリンクの方はオリジナルのファイルを見失いもはやオリジナルのファイルを参照することはできません。
ということで普通に使う分にはエイリアス は非常に良くできた機能だと思っています。
一方でディレクトリをシンボリックリンクやエイリアスとして扱う場合です。
下図はORIGINALフォルダをエイリアス やシンボリックリンク として配した状態です。ALIASフォルダの下にはエイリアスとして、SYMBOLICフォルダの下にはシンボリックリンク としています。
Finder上ではどちらも同じような動作をします。
けれどもターミナルにおいては、エイリアスの方はディレクトリではないと認識されてしまいます。
下図はエイリアスの方は Not a directory と言われて cd 出来なかったのに対し、シンボリックリンクの方はちゃんと cd で中に移動できたことを示しています。
以上のことから、ターミナルからディレクトリを扱う場合にはシンボリックリンク が有利という印象になるわけですね。まぁそれは良いんです。便利だし。
問題はファイルを参照するアプリケーションがあった時、その参照先がシンボリックリンクのディレクトリの中にある場合です。例えばPhotsohopで外部ファイルをリンクして配置した時、その外部ファイルのパスはシンボリックリンクを利用したパスを辿るのではなく、オリジナルのパスになっちゃうのですね。
オリジナル:/Users/userName/Desktop/Original/ref.psd
シンボリックリンク:/Sym/Original/ref.psd
ってなってたとして、シンボリックリンクから辿ってref.psdファイルを配置しても、保持される情報はオリジナルのファイルパスという、ね。で、困ってます。
ルートディレクトリにフォルダを掘るための仕組み
周知の通り、macOS Catalina においてAPFSでフォーマットされたシステムボリュームは Macintosh HDとMacintosh HD - Data という二つのボリュームに分割され、ユーザがアクセスできる領域はMacintosh HD - Dataに限定されるようになり、結果、ルートディレクトリ( / )にファイルやフォルダを自由に置く事が出来なくなりました。
当然ながらそれは各所に大きな問題を引き起こす可能性があるわけで、Appleもその対処は考えていたようです。
それがsynthetic.conf ってもの。詳しくは man synthetic.conf で出るマニュアルを読めって感じですが、これを利用する模様。
ルートに作成されるシンボリックリンクとそのリンクの指し示す先のディレクトリを記述したものだそうです。例えば、空のディレクトリを
/System/Volumes/Data
の直下に作成し、それを / に何て名前でリンクをはるかを /etc/synthetic.conf に記述する感じ。
っていう風にネットに書いてあったんですけどね、/System/Volumes/Data 直下に作成したディレクトリを指定すると、確かにその名前のものが / に現れるのだけど、(Finder上では)白紙のエイリアスファイルとしてなんすよ。ディレクトリとして認識されていない。cd コマンドでそこに移動しようとすると、そんなファイルやディレクトリは無いと怒られる。
<追記>原因が判明しました。synthetic.confへの書き方が間違ってました。/System/Volumes/Data/Hoge を /Hoge として見せるためには synthetic.conf に
Hoge System/Volumes/Data/Hoge
と書く必要がありました。HogeとSystemの間はタブね。
Hoge /System/Volumes/Data/Hoge
では無い。頭の/が必要なかったのですね。</追記>
困ってしまったのだけど、試しに /Users/Shared 直下にフォルダを掘ってそれを指定してやるとちゃんと動きました。例えば /Users/Shared/Hogeフォルダを作成し、 /etc/synthetic.conf に
Hoge /Users/Shared/Hoge
って書いてやってマシンを再起動すると /Hoge が(Finderからは)エイリアスとして見え、その中にSMBでマウントした他のマシンの共有フォルダをマウントさせると、ちゃんと /Hoge/SharedFolder/ って階層で辿ってくれます。なを、synthetic.conf 内の Hoge と /Users/Shared/Hoge の間はタブです。複数行記せば複数ディレクトリを指定可能みたいです。
ただし、その共有フォルダは
mount -t smbfs //userName:Password @NetworkMachineName/SharedFolder /Users/Shared/Hoge/SharedFolder
というコマンドでマウントしており、つまりマウントポイントは /Hoge の中ではなく /Users/Shared/Hoge の中を指定しています。
ネット上の情報では /System/Volumes/Data 直下にディレクトリを作ってそこを指定する事が出来ているようなので、僕が試した環境では何かがよろしくないという事なのだろうけど、特に Data フォルダ直下にこだわる必要もなさそうだし、実害はないかな?>
<追記>Finder上でエイリアスに見えるっての、これがガンかもしれん。
/Users/Shared/Hoge/MountPoint/source.jpg
これが
/Hoge/MountPoint/source.jpg
と言うように見えて欲しいのに、PhotoshopとかAfter EffectsとかはFinder上で見えるパスと同様、エイリアスと解釈してオリジナルのファイルパスを保持しちゃう。つまり、/Users/Shared/Hoge 以下の階層になっちゃう。
BlenderとかMayaなんかは意図した通り /Hoge/Mountpoint の階層を保持してくれます。
よりMac的に作られたアプリほどこの辺の問題が起こるって事でしょう。困ったねぇ。
ちなみに synthetic.conf にリンク先を記述しなければ、つまり Fuga とだけ書いたなら /Fuga ってフォルダが登場するのだけど、リードオンリーなフォルダなので、今のところこの記述による使用方法は不明です。</追記>
<追記>という事で解決したように見えつつ、エイリアス問題は回避できない模様。Finder的には /Hoge は /Syste/Volumes/Data/Hoge のエイリアスなので、オリジナルのパスの方が認識されます。これは回避しようが無いのかな。つまり
/Hoge/SharedFolder/source.jpg
ってファイルパスで保持して欲しいのに、
/System/Volumes/Data/Hoge/SharedFolder/source.jpg
ってなっちゃう。困ったね、これ。</追記>
man synthetic.confのGoogle翻訳
synthetic.confは、ルートマウントポイントで作成される仮想シンボリックリンクと空のディレクトリを記述します。 ルートマウントポイントはmacOS 10.15の時点では読み取り専用であるため、この場所に物理ファイルが作成されない場合があります。 すべての書き込み可能なパスは、/ System / Volumes / Dataにマウントされているデータボリュームに存在する必要があります。
synthetic.confは、/でユーザーが制御する制限されたファイル作成のメカニズムを提供します。 このファイルに記述されている合成エンティティは、システムの初期起動時にカーネルによって合成されます。 それらはディスク上に物理的には存在しませんが、システムが起動されると、特定のパラメーター内にあるかのように動作します。
synthetic.confは、/(たとえば、エンタープライズ展開でのNFSマウントポイントとして使用)のマウントポイントとシンボリックリンク(システムボリュームを変更せずにパッケージマネージャールートを作成するため)の作成に使用することを目的としています。
synthetic.confは、システムの初期起動時にapfs.util(8)によって読み取られます。
synthetic.confは、行ごとに1つの合成エンティティを指定します。 各行には、タブ文字で区切られた1つまたは2つの列があります。 行に単一の列がある場合、/に作成される仮想空ディレクトリを示します。 行に2つの列がある場合、2番目の列にリンクターゲットが指定されている/のシンボリックリンクを示します。
どちらの場合でも、最初の列は/で作成されるエンティティの名前を示します。
#文字で始まる行は、解析されないコメントを示します。
合成エンティティは実行時に削除されない場合があります。 合成エンティティを削除するには、synthetic.confから削除し、ホストを再起動する必要があります。
合成空のディレクトリ内に新しいファイルとディレクトリを作成することはできません。
# /に「foo」という名前の空のディレクトリを作成します。
foo
#/に「bar」という名前のシンボリックリンクを作成します。これは、データボリュームのルートにある書き込み可能な場所である「System / Volumes / Data / bar」を指します
bar System/Volumes/Data/bar
#/に「baz」という名前のシンボリックリンクを作成し、Users/me/baz」を指します
baz Users/me/baz
Mac Pro 販売受付開始
ということでようやく始まりました、Mac Proの販売。
当初から予定されていた内容から8TB SSDは間に合っていませんが、それ以外は概ね予定されていた内容を盛り込める雰囲気です。仕様も追加され Radeon Pro W5700Xを選べるようになってますね。その仕様の追加で驚いたのがラックマウント可能な専用筐体を用意してきたこと。Radeon Pro W5700X共々、それはまだ選択できませんけど、市場のニーズを考えてはいるんだなと思いました。
お値段としては全部盛りにしても税抜き価格で600万円を超えません(現状で選択できない8TB SSDを選んだ時どんだけ値上がりするかは不明だけど)。意外とお安くおさまったのではないでしょうかw
もっとも価格の最低ラインが税抜き599,800円ですからこれはiMacの最上位を全部盛りにした価格よりお高く、趣味でポンと買うには絶対的にお高いのでうちの自宅にこれが来ることはないなぁと改めて思いました。
Apple純正品で固めると内蔵できるストレージは4TB(販売開始されれば8TB)が最大です。でもサードパーティーアクセサリの販売も同時に開始したようで、
Promise Pegasus R4i 32TB RAID MPX Module for Mac Pro [Apple]
MPXモジュールで販売される4ベイのRAIDが8TB x 4を搭載して24.88万円で売られているし、より多彩なストレージオプションでApple Store以外からも購入できるようになるのでしょう。
そんなPromiseの製品で面白いのが
Promise Pegasus J2i 8TB Internal Storage Enclosure for Mac Pro [Apple]
でして、Mac ProのPCIeスロットの一番上にSATAのポートが用意されていて、それを利用する形で筐体上部にHDDをぶら下げられるパーツですね。2台分の3.5インチベイが用意されるようです。HDD 8TB込みとはいえお値段4.28万円とお高いですが、これ系のサードパーティー品、Mac Proの数が出れば出てくるんじゃないかなと期待します。まぁそもそもMac Proはそんなに数は出なさそうではあるけど…
Mac Pro用アクセサリはApple Storeでその他いくつか売られてて
Belkin AUX Power Cable Kit for Mac Pro [Apple]
こちらはApple純正じゃないPCIeカードを買ってきたとき、そのカードが補助電源を必要とする場合の電源ケーブルですが、高くね?って価格ですけど安心してサードーパーティGPUを搭載できそうだなと思わせてくれます。実際BootCampでWindowsで起動させればNVIDIAのカードも行けるようです。
お高いMac Proですから盗まれたら大変です。そんなあなたにケーブルロックを取り付けられるパーツを用意しましょう、ってのが
Belkin Lock Adapter for Mac Pro [ Apple]
ですね。そもそもケンジントンロックの穴ぐらい筐体に開けておけよと思ったりはしますけど。しかも高い。まぁMac Proのシステム全体の価格からすれば誤差でしょうけど。
そんなアクセサリの中で最大の注目品はPro Display XDR[Apple] ですが、仕様に当初なかった内容がいくつか盛り込まれています。リファレンスモードの内容がその一つで、画像のコンテンツを作るとき、その出力先の規格に沿った表示能力が求められるわけで、映像分野ではHDRの何に対応しているかは重要です。そこに以前なかったHLGの再生のサポートってのが追加されました。これはテレビ業界には重要で、何せ日本のテレビのHDRはHLGで放送されていますから、そのコンテンツ作成にその規格で映像確認できるというのは必須と言っていいでしょう。
これまでHLG対応のディスプレイというとEIZOから出ていた物だけだったのが、ASUSがPro向けとしてProArt PA32UCXってのを出してきてその価格帯を一気に下げました(Amazon価格で31万円ほど)。お買い得感という意味ではそれにはかないませんけど、6K解像度を持っているということで、擬似8Kのモニタとして需要もあるんじゃないですかね。WWDCの時にこのモニタを見た人の画質面の評判も良さそうだし、実際にリリースされての詳細なレビューが待たれるところです。
またキャリブレーションが将来的に可能になるというのも(比較的お高いしかも画質を売りにしているディスプレイを使う際には)ポイント高いというかそもそもできないのが論外なんだけどね。何らかのキャリブレータによるハードウェアキャリブレーションが可能となるのでしょうか。
こちらのディスプレイも自宅に来ることはあり得ないかなぁって感じではありますが、職場周りに入りませんかねぇ。
さて、あとはMetal対応のアプリケーションの早期リリースをですね…
簡単なスクリプトを書いてみてみた
必要に迫られて書きました。簡単と言いつつ、作法が本当にわかってないので苦労したw なぜよく分かってないツール(Blender)でやった?というのは、たまたま開いていたソフトがこれだったからぐらいの理由。
import bpy obj = bpy.context.active_object msh = obj.data thVal = 0.75 tgtPoly = [] bpy.ops.object.mode_set(mode='OBJECT', toggle=False) for poly in msh.polygons: maxVal = -100000000.0 print('poly') for i in poly.vertices: v = msh.vertices[ i ] if v.co.z > maxVal: maxVal = v.co.z if ( maxVal + 0.001 ) < thVal: tgtPoly.append( poly.index ) for i in tgtPoly: msh.polygons[i].select = True bpy.ops.object.mode_set(mode='EDIT', toggle=False)
ポリゴンを構成する頂点のZの最大値が0.75より低いポリゴンを選択する、っての。本当はある高さより低いポリゴンを削除するってのを書きたかったのだけど、消し方がわからないw
事情をもうちょっと細かく書くなら、
こんなデータをもらいました。グリッドを「個々の面で押し出し」で高さ方向に押し出して、その個々の面の高さをバラバラにして、その上で全てのエッジを選択して「辺を分離」したようなデータです。上図右側は面同士はくっついてないよ、ってもの。
こいつのある高さより低い柱を削除したい、というのが今回の命題。しかしある高さより低いポリゴンを選択して 選択→リンク で選択しようとしても全ての面が分離しているために出来ず、じゃあ近接ポイントを結合すればいいんじゃないかと思っても、根元のポイントは隣の柱のポイントと同ポジにあるために隣の柱とくっついちゃう。
故にこんなスクリプト を書きました。
ちなみにもらったデータの柱には、柱の高さごとに色を変えるための頂点カラーが設定されているため、頂点カラーごとに柱を選択して 分離→選択 してやれば色ごとの柱オブジェクトを作成可能だなってことで、そんな作業を手動で全部やりよりかは楽になる程度のスクリプト も書きました。柱ごとの色は単色の想定です。
import bpy obj = bpy.context.active_object msh = obj.data color_layer = msh.vertex_colors.active colorList = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] tgtNo = 1 #分離する頂点カラーの番号。この場合緑色の頂点カラーのポリゴンが選択される予定 tgtPoly = [] i = 0 for poly in msh.polygons: for idx in poly.loop_indices: color = color_layer.data[i].color tmp = [ color[0], color[1], color[2]] if tmp == colorList[ tgtNo ]: tgtPoly.append( poly.index ) i += 1 for i in tgtPoly: msh.polygons[i].select = True bpy.ops.object.mode_set(mode='EDIT', toggle=False)
ネット上のスクリプトのコピペの組み合わせでやってるから、細かいことがわかってない。スクリプト周りはどこを見ると勉強になるだろう。