Mac

2009年12月 3日 (木)

Google日本語入力のテストとか

グーグル日本語入力をインストールしたのでちょっと長い文章を書いてみたくてテストを兼ねた投稿です。半年ぶりぐらいになってしまったけどこの間にいろいろなことがありました。まず日本に帰ってきて。そのくらいしかないかな。ありませんね。あんまり面白い予測をしてくれないな。だいたい、自分は予測とかに頼る方じゃないからな。予測に出てくるか期待するよりキーを叩いた方が早いし。

と、ここまで打って飽きてきたので、キーバインディングの話に行きます。例によって自己流うんぬもどき配列です。でも20年ぐらい前にたまごを使い始めてから熟成されたバインディングなのでwnnというには恥ずかしいものがあります。きっとオリジナルとはむちゃくちゃ違っているはずです。ということで esewnnといってあります。

http://github.com/dagezi/googleIME/blob/master/esewnn

適当に持っていて、プリファレンスのカスタムからインポートしてやってください。実は自分の環境では Comversionステートでの C-b と C-jがうまく動きません(on SnowLeopard) 。うまく動いているかチェックしてくれる人がいらっしゃると嬉しいです。

で、感想なんですが予測変換を使わないにしても悪くはないのかもしれない。やはりAnthyよりはヒット率高い気がする。Anthyが悪すぎる可能性もあるんだけど。

でも全体的な操作感のためにまだ boiling-anthyをメインに使い続けるだろうな。ASCIIと JIS-X0208が混じった文章のためにいちいちモードを切り替えるのは面倒だし。ローマ字で入力してASCIIに戻すのになれればいいのかもしれないけど。

あと、Googleは複雑な技術を簡単そうにパッケージして出すのがうまいっすね。あの検索フォームしかないトップページ然り。裏にMapReduceが動いていようがユーザに単純なものしかみせない。Anthyとかの狂ったような設定項目の多さもハッカーにはいいんだけど。ちょっと悔しさもあります。

| | コメント (0) | トラックバック (0)

2008年11月20日 (木)

GCALDaemonにより iCalと Google Calendarの同期

G1を買ったんで、データを Google Calendarに移行中、というかコピー中です。

CalDAVってのを使えば iCalと Google Calendarの同期ができそうに 見えたんですが、Leopardについてる iCal 3.xにしないとダメみたい。 Tigerを使ってる自分には無理です。

といことで見つけたのが GCALDaemonという free software。 Javaでかかれた Google Calendarをいじるための Daemonで、Macでも動くと。 localの icalのファイルを読み書きして同期をとる機能も付いてると。 Javaなんで重そうだと思ったんですが、とりあえず簡単に動いたんで メモがてら書いときます。

やり方は簡単で "Sync Google Calendar with Apple iCal"に書いてあるとおり。 改めて説明すると以下のように進みます:

  • インストール:
    まあ、これはドキュメントのとおりに。
  • iCal同期を有効に:
    file.enabled=true
  • google ユーザID、パスワードの設定:
    file.google.username, file.google.passwordに 適当に設定します。
  • syncすべきファイルの見極め:
    file.ical.pathに設定するためです。 本文中 では、色つけて新しい Calenderをつくって見つける方法が書いてありますが、 使いませんでした。 ~/Library/Application Support/iCal/Sources/*/Info.plist をみてシコシコ見つけました。 既存のカレンダーを使うにはこうするしかなさそうだし。
  • syncすべき Google Caladar URLの設定:
    file.private.ical.urlに設定します。 Calendar setting の下の方にある Private Addressの ICAL URLを コピーします。 "http://www.google.com" を省くこと。
  • 以上を同期したい Calendar全てについてやる:
    file.google.username2のように 2,3 と数字をつけてやると、複数の calendarの syncができる。 もちろんあらかじめ、iCalと Google Calendarの両方で calendarを作っておく必要がありますが。
  • 細かい調整:
    documentを参考に:
    file.offline.enabled=true
    http.enabled=false
    
    あたりを設定。もちろんこれはごじゆうに。
  • iCalの backup:
    念のため。
  • テスト:
    bin/sync-now.shを実行してちゃんと iCalと Google Calendarの内容が一緒になったか確認。
ということで、とりあえず google phoneを使った幸せな 生活に一歩近づきました。

GCALDaemonは他にも RSSを iCalで読んだりするとか素敵な機能が 付いているようなのですが調べてません :)

次は Address Bookの同期かな

| | コメント (0) | トラックバック (0)

2008年8月19日 (火)

polipo の offline機能

Drikinさんの dolipoの解説記事 から参照されて、ちょっと access数が高くなっているうちに書いておきます。

polipoのちょっと便利な機能の一つにoffline browsing 機能があります。 networkが繋がってない状態でも、cacheに乗ってる情報を 返してある程度は browsing できるようにする機能です。

これは、たまに移動中とかネットが参照できない環境で、 documentとかを見たりするのに役に立ちます。 netで会場の地図が乗ってたけどわかんないとか、 飛行機の中で前見た技術資料が見たいとか。 そういうときに結構なヒット率を示してくれて役にたちます。

もちろん、後で offline環境で読もうと、 読むべきページを触りまくって prefetchするって使い方もできるはず (あまり大量だと cache outする可能性もあるけど)。

これを有効にするには、Polipo (or dolipo) を既に立ち上げてる場合は Polipoの config画面 から proxyOffline を Trueに設定すれば 利用できます。どうやら再起動するまで有効。

ただ、Safariで使うときに問題があります。 Proxyの設定が Portごとになっていて、本当に offline時 (全ての portが使えないとき) には Proxyの設定が効かない、 つまり Polipoにもつなぎにいってくれないみたい。 これ、何とかならないものでしょうか.. Safariの Proxy設定のデータモデルが悪いだけだと思うんだけど。

しかたがないので offline browsingのときだけ FireFoxを使ったりしてます。

ちなみに、この offline browsing機能、 WWWOFFLE 由来でしょう。 Polipo作者も長年利用してたらしいので。 自分も昔、電車の中で PCを使うことが多かった頃は愛用してました。

| | コメント (1) | トラックバック (1)

2008年8月 7日 (木)

class-dumpのわな

tar.bz2を持ってきて:
[22:35]marble:~/work<110> tar jxf ~/Desktop/class-dump-3.1.2.tar.bz2 
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
あれ?
[22:36]marble:~/work<112> file ~/Desktop/class-dump-3.1.2.tar.bz2
/Users/takesi/Desktop/class-dump-3.1.2.tar.bz2: bzip2 compressed data, block size = 900k
bzip2だよなあ.. とりあえず bunzipして中身を見るか:
[22:36]marble:~/work<114> bunzip2 ~/Desktop/class-dump-3.1.2.tar.bz2
[22:36]marble:~/work<115> file ~/Desktop/class-dump-3.1.2.tar 
/Users/takesi/Desktop/class-dump-3.1.2.tar: gzip compressed data, from Unix, max compression
げ、そういう落ちですか! それなら tar.gz.bz2 ってファイル名にしろよ!
[22:36]marble:~/work<116> tar xzf ~/Desktop/class-dump-3.1.2.tar 
[22:41]marble:~/work<118> lf class-dump-3.1.2/
class-dump-3.1.2:
README      class-dump* src/        
展開できました。自己適用してみると:
[22:42]marble:~/work<122> class-dump-3.1.2/class-dump class-dump-3.1.2/class-dump 
/*
 *     Generated by class-dump 3.1.2.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
 */

struct _NSZone;

struct __CFUUID;
       :
なんかよく分からんけど覗けてます。へー。

| | コメント (0) | トラックバック (0)

2008年2月28日 (木)

Leopard (MacOS 10.5.1) の Windows shareの bug回避

MacMiniに Leopardを入れて serverにしようとしたんだけど、 最初から入っている Sambaが腐っていて苦労しちゃいました。

/var/log/samba/log.smbdを覗くと以下のように 10秒ごとに rebootを繰り返していました:

[2008/02/28 01:19:36, 0] /SourceCache/samba/samba-187.1/samba/source/smbd/server.c:main(890)
  smbd version 3.0.25b-apple started.
  Copyright Andrew Tridgell and the Samba Team 1992-2007
[2008/02/28 01:19:36, 0, pid=1346] /SourceCache/samba/samba-187.1/samba/source/lib/charcnv.c:init_iconv(159)
  init_iconv: Conversion from UTF-16LE to 932 not supported
[2008/02/28 01:19:36, 0, pid=1346] /SourceCache/samba/samba-187.1/samba/source/lib/charcnv.c:init_iconv(167)
  init_iconv: Attempting to replace with conversion from UTF-16LE to ASCII
  	      :
[2008/02/28 01:19:36, 1, pid=1346] /SourceCache/samba/samba-187.1/samba/source/lib/util_tdb.c:tdb_log(662)
  tdb(unnamed): tdb_open_ex: spinlocks no longer supported
[2008/02/28 01:19:36, 0, pid=1346] /SourceCache/samba/samba-187.1/samba/source/passdb/secrets.c:secrets_init(67)
  Failed to open /private/var/db/samba/secrets.tdb
[2008/02/28 01:19:36, 0, pid=1346] /SourceCache/samba/samba-187.1/samba/source/smbd/server.c:main(986)
  ERROR: smbd can not open secrets.tdb
[2008/02/28 01:19:46, 0] /SourceCache/samba/samba-187.1/samba/source/smbd/server.c:main(890)
  smbd version 3.0.25b-apple started.
  Copyright Andrew Tridgell and the Samba Team 1992-2007
結論から言うと既知のバグのようです。使えん。 Appleの Discussionによれば /var/db/samba/の 下の *.tdbを消せばいいよう。 へたれなので rmじゃなくて mv *.tdb bak/しましたが、 それでとりあえず動きました。めでたし。

まだ、謎の iconvがらみっぽい文句は吐いてますが、 漢字まじりファイル名も windows から見られてるのでとりあえずよしとしよう。

ちなみに 同じような対処をしてもうまくいかない例もあるよう。 万能の対処法じゃないようです。 俺も今後変にならない用に見張って置かないと。

さらにもひとつちなみに。 上の Appleの掲示板はログのメッセージでググって発見しました。 生のログを載せることで、こうやって googleで症状を共有することも やりやすくなるもんすね。

ということで、俺もlog載せておきました。 だれかの役に立ちますかね。

| | コメント (0) | トラックバック (0)

2008年2月14日 (木)

Panasonic SDR-H18 でとった動画が ffmpegで変換できないわけ

「ffmpeg compileできたけど変換がうまくいかないよう」って書いたけど、原因が分かりました。

本質的には、同じようなのが FAQにのってて、 AC-3って audio codecの decoderが標準では含まれてないからのよう。 分かってしまえば簡単だけど、multimedia関連は MPEG2-TSぐらいしかしらない素人の俺には大変でした。

そもそも俺の VCR、Panasonic SDR-H18で撮った .MODファイルは、音声が AC-3 (aka Dolby Digital or A/52) って やつで encodeされているらしい。

でもってそれを decodeする free software、liba52ってのもあるんだけど、GPLらしい。

ffmpegは LGPLにしておきたいんで、liba52 は linkしないように なってるらしい。 GPLになっても構わん、ってのなら configure に --enable-gpl をつけろ、 ってのは FAQに 書いてあるとおり。

もう、ここらへんいろいろ権利とかごっちゃになっているから、ややこしいすね。 ほかにも Portsfileのままだと mp3 encodingができないので LAMEを入れろとかややこしい。 いろいろ configurationを考えなきゃいけない、 古き良き時代を思い出します。 とりあえず今は眠いんで、明日入れ直します。

でも、LGPLで作ってもそれが GPLを参照するようにしたら、 GPLになっちゃうもんですかねえ。 さらにもとの LGPL libraryを dyanamic linkしてた applicationも、 ソースを公開しなきゃいけなくなっちゃうんでしょうか。 LGPLだと思って使ってたのになんか理不尽ですねえ。 この場合、だれのせいなんでしょうか、って思っちゃう。 ここらへん、パズルになりそうだけど、 やっぱり眠いので夢の中で考えます。

| | コメント (0) | トラックバック (0)

2008年2月13日 (水)

ffmpeg on MacOS X

FFmpegを MacOS Xで MacPortsを使って 入れたよ、という話です。

出来心で、最近買った Videoカメラの動画を変換したくなったので。 こっそりYouTubeに あげたりしたんだけど、実家のPCじゃみられないので、 aviにしたりすればいいのかなあ、と。

ports fileは用意されているので ports installで 頑張ってくれます。でも以下のようなエラーが:

gcc -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/work/trunk"/libswscale -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/work/trunk"/libavcodec  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/work/trunk" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/work/trunk" -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/work/trunk"/libavutil -O2 -DHAVE_LRINTF -I/opt/local/include -no-cpp-precomp -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3  -c -o i386/cavsdsp_mmx.o i386/cavsdsp_mmx.c
i386/cavsdsp_mmx.c: In function 'ff_put_cavs_qpel8_mc01_3dnow':
i386/cavsdsp_mmx.c:447: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
make[1]: *** [i386/cavsdsp_mmx.o] Error 1
あ、一行が長いんで大変っすね。まあ、肝心なのは "GENERAL_REGS" 云々っすから。

これはasm命令で割り当てる registerがないってことらしい。恥ずかしながら GCCの asmはいじったことないのでなおし用もわからない。だいたい、MMXだの 3DNow!だのはいって、最近の x86はわからんし。

こちらによると -mdynamic-no-picをつけるといいよって説もありますが、 PowerPC用optionだし、 shared libraryに向かないって書いてあるんで止しました。

代わりに日和って-disable-mmxです。これを Portsfileにちこっと書いてやり直し。これで無事 compileできました。せっかくの MMXやらを使えないのは悲しいけどねえ。

で、喜び勇んで変換してみると

[1:10]marble:~<109> ffmpeg -i ~/Movies/takesi/PRG00C/MOV002.mpg /tmp/aho.flv
FFmpeg version SVN-r11532, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --prefix=/opt/local --prefix=/opt/local --disable-vhook --mandir=/opt/local/share/man --enable-shared --enable-pthreads --disable-mmx
  libavutil version: 49.6.0
  libavcodec version: 51.49.0
  libavformat version: 52.4.0
  libavdevice version: 52.0.0
  built on Feb 13 2008 00:50:33, gcc: 4.0.1 (Apple Computer, Inc. build 5367)
Input #0, mpeg, from '/Users/takesi/Movies/takesi/PRG00C/MOV002.mpg':
  Duration: 00:01:20.5, start: 0.255589, bitrate: 2464 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 704x480 [PAR 8:9 DAR 176:135], 9542 kb/s, 29.97 tb(r)
    Stream #0.1[0x80]: Audio: 0x0000, 48000 Hz, stereo, 256 kb/s
Output #0, flv, to '/tmp/aho.flv':
    Stream #0.0: Video: flv, yuv420p, 704x480 [PAR 8:9 DAR 176:135], q=2-31, 200 kb/s, 29.97 tb(c)
    Stream #0.1: Audio: adpcm_swf, 48000 Hz, stereo, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
[adpcm_swf @ 0x132a810]Sample rate must be 11025, 22050 or 44100
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
うーむ、Audio stream の sampling rateがダメだよ、っていってるんですね。そんなの変換してくれないのかよ。

どうもここらへん、multimedia業界の formatってのはよくわかりません。 勝手に変換されるのを気にする風潮とかあるんでしょうか。 もう少し調べてみます。


2008-03-07 (Fri) 追記:
macport でいれるのは以下のコマンドラインでうまくいきました。
sudo port install ffmpeg +gpl +lame +extvorbis +faac +faad +xvid +x264 +a52
ちゃんと SDR-H18でとった AC3 audioも変換できてます。

ffmpeg macports で検索されてきている方も多いので、ここに追記しときます。

| | コメント (1) | トラックバック (1)

2008年1月25日 (金)

MS Office 2003 on CrossOver Mac 玉砕

MacWorldExpo会場で CrossOver Mac 体験版をもらったので、
やっとこさ installしてみてあそぼうということで。
MS Office 2003を入れてみようとした。


けど、玉砕:




うーん、Cnetの blogでは installできたようにかいてあるんだけどなあ。CrossOver 6.2だからいけないのかしらん。謎だ。


素直に Windowsを買って VMWare Fusionの上で走らせるのがいいか。それとも Office for Macかなあ。でも Home Editionじゃ Entourage が Exchange Serverに対応しないんだよなあ。$400はかなり高いし。

| | コメント (0) | トラックバック (0)

その他のカテゴリー

Gadgets Mac NetServices Programming