ここ数ヶ月、自宅の Mac のソフトウェア・アップデートが不調で、更新の通知はされるものの正常にアップデートができない状態でした。最近は忙しくてそれを直すこともできなかったのですが、今日やっと重い腰を上げて直すことにしました。
そのついでと言っては何ですが、 OS も 10.5.6 に更新してみました。
まず、自動更新が効かないのでMac OS X 10.5.6 統合アップデート を手動で実行します。これでソフトウェア・アップデートの問題が解決するかと思ったんですが解決せず。
いろいろと検索してみると、キャッシュに壊れたファイルがあったりするとアップデートに失敗するみたいなので、$TMPDIR/../-Caches-/com.apple.SoftwareUpdate を消してみたらビンゴ。無事にアップデートが通るようになりました。キャッシュディレクトリはここ以外にも何箇所かあるみたいなので、必要に応じて他の場所も消さないといけないかもしれません。
これでアッサリ解決?と思いきや、友達から”メールが戻ってきちゃうんだけど?”というお知らせが;;まじですか。
かなり焦ったものの、Topic : Firewall enabled/changed after 10.5.6 update? の内容そのまんまの症状でした。ていうか、勝手に /etc/postfix/main.cf の内容を書き替えるなんて反則でしょうよ…
自宅の Mac をメールサーバーにしてる皆さんはくれぐれも気をつけてくださいww
OSX って、アップデートすると必ずトラブるんでいつも二の足を踏んじゃうんですよね。。。
動いた〜!!いろいろハマって、休暇終了ギリギリになっちゃった。本当ならば、ここから話が始まるはずだったのにw
思ったよりも細かいところで仕様が変更されてて、それがバグなのか仕様なのか突きとめるのに時間がかかった。でも、これで fltk2.x 系に移行することができたしこれからは楽ができるんじゃないだろうか。
それにしても、今改めて見直してみると、いろいろ拙いところが目につく。社会人になりたての頃に 3DCG の理論を勉強しながら作ったプログラムだからしかたないけど、このまま流用するんじゃなく、一から作りなおしたいなと思う。
ただ、習作ながらもオブジェクトの選択・移動はもちろん、階層化やオブジェクトの動的な追加・削除も実装しているので CG ツールとして最低限必要な機能は揃っている。あとはインターフェースを作りこめばいろいろ遊ぶこともできたのだけれども、当時は一通り動かすことができただけで満足してしまったのを覚えている。
そうそう。開発環境は結局 XCode に移行した。ウィンドウが際限なく表示されるのさえ慣れてしまえば、まあまあ快適なんじゃないかと思う。少なくとも Emacs+gdb とは比較にならない(笑。あとは、全てのウィンドウについてくるゴテゴテしたボタンさえ何とかなってくれればいいんだけど…
半日かけて数年前に作った fltk1.x+OpenGL on Windows なアプリを fltk2 on OSX に移植してみた。
fltk1 から fltk2 への変更はほとんどがネームスペースまわりの扱いなので機械的な作業なのだけれども、たまにクラスが無くなっていたり定数の定義が変わっていたりするので、それを追いかけながら修正するのに結構時間を取られてしまった。
今日の作業で一通りコンパイルが通るようになったのだけれども、立ち上げようとすると Bus error で落ちてしまう。gdb で追いかけてみると、数年前にも似たような症状でハマった記憶があるようなところで落ちている。落ちた記憶はあるけれども、どうやって直したのかが覚えてない(笑。もしかしたら、応急処置的に動くようにしただけだったのかも。
こういうことは長期休暇ぐらいにしかできないし、半年以上まともにプログラムを書いていなかったリハビリも兼ているのでちょっと気合いを入れて動くところまで持っていきたい。
今回ほぼ初めて OSX 上でまともにコードを触っているのだけれどもそろそろ Xcode を使って開発をすることも試さないと。21世紀になって早数年、未だに Emacs+gdb で頑張るのもどうかと思うし。でもなぁ。Linux でも使える環境と言ったら Emacs+gdb が一番な気もするし。最近だと Eclipse もアリなのかな? 何だかんだ言って VisualStudio ってよくできてると思う。特にデバッギング環境は充実してて使いやすい。あれに匹敵するぐらいの環境ってないものかな。
ただ、VisualStudio を使うっていうことはあのメモ帳並の機能しかないエディタを使うっていうことになるのがたまらなく苦痛でしかない。あそこに Emacs が入ってればいいのに。昔はキーバインドだけ Emacs モドキにするようなことも試したけれども、中途半端すぎてむしろストレスが溜まるだけだったな。今でもかわらないんだろうか?
そういえば最近やねうらおさんのとこでもIDEの話をしてたよなーと思ったら見つけた 。何かやねさん(VS派) vs 他(Eclipse派)みたいになってるような(笑。業界が違うんで鵜呑みにはできないけど、議論は参考になる。
昨日目をつけていた不具合を手当り次第修正したら、エディタの文字が崩れるのはなおった。ただ、まだカーソルを移動するとサブピクセル単位で文字がウネウネ動くのでちょっと気持ち悪い(笑。これもどこかで数値を丸めてしまっているんだろう。
とは言え、自分用に使う分には問題ないのでこのまま放置してしまおうかと思っているw。今は単に手軽に使える(そして一番慣れている)ツールキットを使って 3D の描画がしたかっただけだから。それに、このままだと fltk のバグを直すだけで休みが終っちゃうし(笑。
fltkを OSX で使うために最新のリビジョンをビルドしたものの、テキスト編集まわりの挙動がどうにもおかしい。
カーソルを動かせばゴミが残るし、エディタなんかになると表示がボロボロに崩れて使えたものじゃない。
正式リリースじゃないしテキスト入力系のバグはよくあるのでとりあえず調査開始。
・Windows でビルドすると?
最新版じゃビルドできないww。ML のアーカイブを見ると、Windows 版では対応していない機能が最近追加されたらしい。追加される前のリビジョンでテストするとうまく動く。OSX ではやっぱりダメ。
・もっと古いリビジョンを試す
かなり古いものを持ってきても症状は同じ。
・src をいじる
Windows で OK で OSX で NG なので、怪しいのは src/osx の中。問題のあるウィジェットのソースを見てるとFont.cxx の中の getwidth() 関数が怪しそう。OSX のテキスト処理とか詳しくないし調べるのもメンドいので、とりあえず返り値の数字をいじってみる→思った通りに挙動が変わる。更に、7.201172 とかキリの悪い数字を返していることもわかる。この時点で嫌な予感。
・TextDisplay.cxx に戻る
予想通り、getwidth() の返り値を int でキャストしてる(ぎゃー!!。これが原因か。半端な数字が丸められて、結果カーソル位置の計算がずれるっぽい。
これを直すのは面倒臭そう。キャストするのをやめるだけで直ればいいんだけど、それだけで足りるかなぁ。
とりあえず今日はここで力尽きたのでやめ。あんまりにも面倒臭そうだったら fltk-ml に丸投げするかw
というか、OSX でちゃんと使ってる人は誰もいないの!?
一昨日のことですが、遂に念願のビデオカメラを買っちゃいました。機種は Canon のHF11 。
先日書いた記事 では候補にすら上がっていなかったのですが、某氏の助言からいろいろ調べたら、意外といいんじゃない?っていうことでこれに決めました。
で。買ったからには何か使わねばってことで、今週は休みだし冬休みの課題と称して Youtube デビューをしてみたいと思います。ネタは、先日おわったプロジェクトで使えないかと思って休みの日に作ったもののお蔵入りしてしまったプログラム。
アカウント作成
まずは Youtube のアカウントを作るところからですが、これはすんなりと作れました。philosy という名前が使われてしまっていたので philosy08 です。
撮影・編集
次に素材の撮影。手元には iMovie HD しかないので、これを使います。が、ここで大ハマり。DV WideScreen なプロジェクトにビデオ入力経由で録画をすると、画面が縦長になって両側に黒が入ってしまいます。画面ではきちんとなっているんですけどね。。。
いろいろ試したところ、最初に 4:3 のプロジェクトで録画をしておいて、その DV ファイルを 16:9 のプロジェクトに持っていけばいいようです。これは面倒臭い 。Final Cut Express ならここらへんはさっくりと行けるんでしょうか?発注はしたので、到着次第確認したいと思います。
アップロード
ムービーの撮影・編集が終ったらあとは YouTube にアップロードすれば完成。ファイルの転送が終っても、サーバー側で再エンコード処理をするのでしばらく時間がかかります。
完成
そんなこんなでできたムービーはこちら。 Hello World!
あれ。4:3 になっちゃった orz。。。
Proce55ing が触りたいだけなのに、何で Emacs lisp をいじってるんだ…w
3Delight を触るにしても、データを作る際に全部 vi でゴリゴリやるわけにもいかないので、ちょっとしたモデリングと RIB エクスポートができる環境を用意することにしました。
とは言っても Mac の CG ソフトでフリーで RIB が出力できるものなんて Blender ぐらいしか知らないわけで。Blender ですかウムムムム…
そこでひらめいたのが MikuInstaller 。これを使って Metasequoia を動かせば万事解決です。Metasequoia なら RIB エキスポートできるし、昔に買ったライセンスがあるので追加の出費も必要ありません。
思いついたら即行動!!ということで MikuInstaller と Metasequoia をインストールしてみたら、アッサリと動いてしまいました。ほんと、意外なぐらい。更にサンプルデータを RIB で出力して 3Delight でレンダリングすると何も問題なくレンダリングされます。これはすごい!!
ただ、一つ問題があって Metasequoia が劇重ですw。OpenGL描画が有効になってると、まともにビューを動かすことができません。Configuration で OpenGL をオフにするとかなり軽くなりますが、それでもモッサリ感は残ります。これだったら VMWare 上で動かした方が軽快かも(笑。
第一歩としては悪くないですが、もうちょっと正攻法でいける方法を探した方がいい気がしますね。
自宅 Mac を Leopard に変えてからいろいろとトラブルが起きているんですが、その中で一番不可解なのが謎の TMPDIR 環境変数。
chiyama@lain:/etc[121]% echo $TMPDIR
/var/folders/Jo/Jonjry+EHaeb9BGfWDzB2k+++TI/-Tmp-/
‘+’ が入ってたりして気持ち悪いなぁとかもあるんですが、一番の問題はこのディレクトリの権限が 700 になっていて、オーナーしかアクセスできないところです。
この TMPDIR 、OS のどこかで設定されているらしくていろいろなプログラムの起動のタイミングによってオーナーが変わることがあるみたいです。すると、他のプログラムはこのディレクトリが使えなくなってしまうのでいろいろ困ったことになるんですね。
一通りググってみたんですが根本的な解決策が見つからない状態で、しかたがないので手動で
chiyama@lain:/etc[122]% sudo chmod 775 $TMPDIR
とパーミッションを変更して凌いでいます。でも、これって OS が再起動する度に戻っちゃうんですよね…何かいい解決策はないものなんでしょうか。
akiras さんから本を頂いたので、早速読んでみました。
この本はちょっと前に話題になってて、私も読みたいなと思ってたのでちょうどよかったです。
いやいや、この本に出てくるジョブスは、正に極悪非道、鬼畜と言うしかない酷い人物です。自分の気に食わないことをした人間は即クビ、どんなに会社に貢献した人物だとしても、存在した痕跡すらすっきりと消してしまうほどの非情さを持つなど、伝説のスピーチ をした人間と同一人物とは全く思えないです。
だからこそ今の Apple があり、PIXAR があるんだとも言えるんでしょうが近くにいる人はたまったものじゃありません(笑
ただ、本書の内容はどこまでが事実で、どこからが著者の主観や憶測で書かれたことなのか曖昧な点が多すぎるので話半分、どちらかと言うと読み物として楽しむ程度に留めておいたほうがいいんじゃないかとは思いました。間違っても、ここに書かれているジョブス像を鵜呑みにして同じように振る舞うなんていう愚行だけはやめましょう(笑。ジョブスだからこそできることなんですから。
あと、各エピソードの終りに挟まれている著者の小噺が一々鬱陶しいです。途中からこの部分は読み飛ばしてしまいました。松下幸之助とかの話をされてもねぇ…本書が想定している読者は興味を持つ話なのかもしれないですけど。