GTK on Snow Leopard

Testing the latest GTK+-X11 (installed by MacPorts) on my MacBook, but opening particular windows take too long… I found this problem with my own application, but this is common to other GTK-based applications.
Last night I took a profile with GQVIEW, then found the most time consuming part is Pango. But… why?
gqview_profile.png

MacPorts on Snow Leopard: Take 2

Python26 port is now updated, so we can build and install without any hacks!
Things that I couldn’t build with MacPorts:
– screen
– osxutils (hmm, osxutils uses MacOSX10.4sdk ???)
– ncbi_tools
– gcc43
– libsdl
Things I could build successfully:
– coreutils, lv, lha
– ccache, boost, git, subversion
– ncftp, wget
– iverilog, gtkwave
– tgif, ImageMagick, ghostscript, gv, gqview
– a2ps, ptex
– gtk2, pidgin
– gnuplot, EMBOSS
– w3m

Mac Pro設置

成蹊に移ってきてからの半年間、研究室のデスクトップは初代 Mac mini でした。
つまり G4 1.5GHz であり、メモリは 1GB なので、何か作業している状態で MS Office を使う、なんていうことはそうとうしんどい。
で、ようやく Mac Pro を購入して、昨日搬入。今日は設置作業。
設置する場所をあけるのに、自分の部屋のコンピュータ関係の配線を全部なおして配置を変更する、という作業が必要で、これで2時間くらいかかってしまった。
いよいよ箱をあけます。
DSCN2130.JPG
DSCN2131.JPG
あけると、お約束の “Designed by Apple in California” 。
DSCN2132.JPG
この、白い小さい箱の下に電源ケーブルとか、Mini DisplayPort – DVI アダプタとかが入ってました。
DSCN2134.JPG
いよいよ本体を取り出します。梱包が汚いのは、一度検収のために箱から出して自分で入れ直したからです。すいません。
DSCN2135.JPG
アクセサリボックスからキーボードを取り出すと、下にマウスが入ってる。
DSCN2136.JPG
DSCN2138.JPG
あとで内蔵ハードディスクを増設する予定だったけど、設置しちゃうと引っ張り出すのが大変なことに気づいたので、いまやることに。
カバーを開けたところ。4層構造になっており、一番上から電源+光学ドライブ、ハードディスクのベイ4つ、PCI カードがささるところ、CPU+メモリのモジュール、となっている。
DSCN2140.JPG
ハードディスクのベイは4つあって、それぞれ引っ張るだけで取れて、SATA のドライブが付けられる。ネジ回しは +1 のドライバがあれば OK だった.
DSCN2141.JPG
一番下の CPU+メモリのモジュールも引っ張り出してみた。ヒートシンクがすごい。
DSCN2142.JPG
右 CPU 側のメモリを前から。
DSCN2143.JPG
左のを後ろから。バックプレーンには、VME とか Compact PCI とか、そういう感じのコネクタでつながってる。
DSCN2144.JPG
ヒートシンク。
DSCN2145.JPG
よく見ると、中に 6cm 角くらいのファンが入ってる。
DSCN2146.JPG
新旧交代の儀。ふたつある Mac mini のうち、10.4 がインストールしてあるほうは引き続き開発用に使います。
DSCN2147.JPG
キーボードは買い置きしてあった、前のモデルの Apple Wireless Keyboard を出してきた。こっちのほうがストロークが深くてお気に入り。
DSCN2148.JPG
DSCN2149.JPG
DSCN2150.JPG
夕方にはいろいろインストールも終わり、仕事可能な態勢に入りつつあるのだけれど、ま、ディスプレイつながってる写真とかはそのうち。机片付けないと…

MacBook のディスク

VMware で CAD を動かす環境を持っていたりする関係で、MacBook のディスクがほとんどいっぱいになっており、250GB のうち 230GB 以上を使った状態になっていたのだけれど、残り 20GB だと、ちょっとでかい計算をして結果を保存すればいっぱいになっちゃう。というわけで、500GB のハードディスク買った。ぷらっとオンライン で 11,000 円。もっと安い通販はたくさんありそうだけど、普段仕事でお世話になっている業者さん、という安心感は大きいよね。営業の人の顔も見えるし、何かとオンラインで済む時代になったけど、人と人のつながりっていうのは大事だと思います。
moge.tiff
というわけで、500GB になった。Mac のすばらしいところは、OSのインストールからアプリケーションの再インストールとアップデートまで、2,3時間で終わるということ。自分のホームディレクトリの移行は、Unix ユーザならおなじみの rsync で、大事なディレクトリからはじめればすぐに作業マシンとして使えるようになるし、あとは寝ている間にでもやっておけばよい。
データの移行は、けっこう前に買った、玄人志向の怪しげな SATA (2.5inch) – USB 変換ボックスを使ったのだけれど、40MB/sec くらい出ており、まあ、USB の限界までびしっと使えるということで、いい感じ。まあ、ハードディスクはもっと速いと思うので、本当は Firewire 800 とか eSATA があればいいんだけど、MacBook にはどっちもないからね…

GTK+-Quartz and GdkModifierType

On MacBook and other Apple’s laptops, X11.app emulates right-button click by command key + click. I have to do this by myself because GTK+-Quartz doesn’t (and of course, my MacBook has only 1 button to click).
I’ve tried to sense shift, ctrl and command key in my motion-notify event handler and button-press event handler. That’s reasonably possible by gdk_window_get_pointer(). However, gdk_window_get_pointer() doesn’t work as we’ve discussed on Imendio GTK+-Quartz developer forum.
Instead, struct GdkEventMotion given by motion-notify event itself has a “state” member, that is a GdkModifierType (I didn’t know, and told by Richard Hult at Imendio. Thanks!). So I can sense the modifier key status straightforwardly in my motion-notify event handler.

Automated GTK+ build script

sed -i \~ -e ‘s/\\$.wl.-undefined \\$.wl.dynamic_lookup//g;s/-undefined dynamic_lookup//g’ libtool
… sed -i \~ -e ‘s/\\$.wl.-undefined \\$.wl.dynamic_lookup//g;s/-undefined dynamic_lookup//g’ libtool

As I wrote before, I wrote an automated GTK+ build script. GTK framework is already available from gtk-osx.org but I still need my own package because this is for Intel Macs only.

I think GTK’s Quartz support is enough stable now, so this script builds an Quartz-GTK.

To use this script,

  1. Put all archives you need in archive/
  2. Make /opt/gtk writable by your account
  3. Check whether your /tmp has enough capacity
  4. Then run this script, and do rm -rf /tmp/gtk

and you’ll get your GTK installation in /opt/gtk.

“Automated GTK+ build script” の続きを読む

iPhone + G-Call

そういえば iPhone 使ってるんですよ。
で、ソフトバンクの、ホワイトプランという料金プランは、ほかの電話会社にかけたりするとけっこう高いので、G-Call というサービスを使っているのですが、これは電話番号の前に G-Call につなぐための番号を付け足してやる必要があります。付け足した状態で電話帳に入れておいたり、覚えている番号はそのままダイヤルしてしまえばいいのだけれど、やっぱり電話帳使いたいわけで。
そこで発見したのが、Edit before Call/SMS というソフト。電話帳から呼び出した番号を修正して発信したり、番号修正ルールを設定しておいて、それをワンタッチで適用したりできる。230 円ですが、あっという間に元が取れる気がします。というわけで、超おすすめなのです。