2007年10月アーカイブ

全く持ってスルーしてましたが、せっつかれて気になったので。

気になったのは、「ウェブクリップで作られたウィジェットがどんなソースになるのか」という事。

適当にfindを実行してみてもさっぱり分からなかったので、お茶を濁して終わります。

/Library/Widgets/Web\ Clip.wdgt/WebClip.html
        <div id='front'> 
          <embed id='clipper' type="application/x-apple-webclip-plug-in"></embed>
        </div>

embedで埋め込まれているプラグインを経由して、どこかにあるデータ(切り取り結果)から再現しているのですか?

はじめ、ウェブクリップで作られたウィジェットはそれぞれ単体のウィジェットになるのかと思っていたのですが、どうも「Webクリップ」というウィジェットとしてまとめられて管理される雰囲気。

検討はずれなきがしないでもないですが、このくらいで終わっておきます。ちゃんとした情報は、きっとAppleの開発者向けドキュメントにでも書いてあるのでしょう。

Leopardとフォルダアイコン

非常に不満。

アプリケーションフォルダとかライブラリフォルダとかが分かりにくい。

慣れの問題でしょうけどね。

憤慨っ。

ハロウィンと山手線

恒例行事らしいですが、初めて知りました。
痛いニュース(ノ∀`):【ハロウィン】 外国人による山手線ジャックで大混乱、日本の治安は大丈夫?

駅員さんも、お巡りさんも、英語が話せなかったのかな。

Leopardとzsh

なんだか、シェルの立ち上がりが遅くなった気がします。

Terminal.appとかiTerm.appとかの重さではなくて、zshの話です。

ひとまず、~/.zshenvと~/.zprofileの間に何かがある事が分かりました。

で、zshのマニュアルをみて、/etc/zprofileが臭い事が分かったので、またechoをつけてみて見ると、やはりこれのようです。

/etc/zprofileの"eval `/usr/libexec/path_helper -s`"のあたりがにおいますが、めんどくさくなったので調べてません。

とりあえず、我慢が出来ないほどではないので放置予定。

Leopardと/etc/hostsとlookupd

Tiger時代に、/etc/hostsに書いた内容を反映させる為に、"sudo lookupd -flushcache"するという方法を学びました。
OSXで/etc/hostsをすぐに反映させる方法

Leopardを入れてから、/etc/hostsを編集する事があったので、いつものようにlookupdを使おうとしたら、lookupdはないようです。Netinfoがなくなった事に関係するのでしょうか。

まあ、hostsに書いた直後にpingで名前解決できたので問題ない気がしますが。

LeopardとApache2.2

MacPortsで入れたApache2.2のapachectlでエラーを吐くようになりました。

/opt/local/apache2/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument

ulimitの仕様変更とかでしょうか?70行目で実行されるのは以下。

ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

シェルスクリプト(sh)に書いてみると、"ulimit -S -n unlimited"で同じようなエラーが出る事が分かりました。"unlimited"が使えない?

とりあえず、Apache2.2は動いています。

予想通り、問題発生です。

当初、「情報やアップデートが出そろってから買おう」と思っていたわけですが、ついつい、インストールしてしまいました。

さて、新機能はともかく、既存環境でいくつか問題が起きました。

  • MacPortsで入れたzsh
  • CarbonEmacsで使っていたM+ OUTLINE FONT

ログインシェルに/opt/local/bin/zshを指定していましたが、どうもmallocがどうこうというエラーを吐いて強制終了してしまうようになりました。さっぱり対処方法がわからなかったので、管理ユーザを別に作ってそちら側からchshを使ってログインシェルを/bin/zshに変更して対応しました。
darwin8とdarwin9.0の違いですかね。とりあえず/bin/zshで問題なさそうなので、これで解決としました。

CarbonEmacsのフォントに、M+を使っています。これが、突然使えなくなってしまいました。サイズを14として使っていたのですが、どうもこのサイズに対応できない風なメッセージ。これもさっぱり対処方法が分からなくなったので、M+を改めてダウンロードしてフォントを入れ直したら解決しました。

さて、気づいていないだけで色々と問題がありそうです。まあ、ぼつぼつ対応していきます。

iMacでTrac(mod_wsgi)動いた

気になったので少し見てみたら、単純なミスだったっぽい。

なんだかんだで、apacheのエラーログに以下をはかせたことで発覚。

ImportError: dlopen(/opt/local/lib/python2.5/site-packages/libsvn/_fs.so, 2): Library not loaded: /opt/local/lib/libsvn_fs_base-1.0.dylib

期待しているファイルが無いというだけの話。

/usr/localにソースからコンパイルしたものが入っているので、/opt/local側のリンクを/usr/localにつなげて対応しました。

という訳で、無事tracが動くことが確認できました。


Trac関係のパッケージをMacPortsやらソースやらいろいろな方法で入れたので、何が原因なのかさっぱりです。

眠れる獅子の目を覚ますときが来たようだ。

まあ、今は千尋の谷の底で目を回しているわけですがね。

アメーバブログのRSS

経緯や内情を知らないので1点。

RSSに広告が入っていて、そこから収益上げてたら、対応は違ったのだろうか。


アメーバブログのユーザでその辺の影響がある人っているのかな?

どうやら、アルミボディiMacに問題があるらしい。
アップル、“新型iMacフリーズ問題”の調査を開始 : トレンド - Computerworld.jp

会社のiMacの場合、Parallels Desktop for Macのver2でWindowsXPを動かしていると、1日に1回くらいフリーズします。原因は不明ですが、たいてい、フリーズする時は仮想マシンのWindowsXPが動いていました。

修正パッチが今月末との事で、Leopardの後になる雰囲気。無事、解決される事を祈ります。


やはり、仕事では「出たばかりの製品」は使うのを控えた方がいいのかな。iMac以外に、選択肢がなかったしなぁ。MacBookで我慢したら良かったのかも?

そっちではないつもりですが、思わずキュンとしてしまいました。

アラン・シアラーのDVDを買ってきて見たわけですが、すごい人ですね。なんとなく知っていたくらいでしたが、10年間で206ゴールですか。毎年20得点以上(内訳は知りません)。日本とは試合数が違うんでしたっけ?

何よりも、ゴールした後の笑顔がかわいらしい人です。ごついだけにギャップでやられますね。

一緒にロビー(バッジョ)のDVDも買ってきましたが、こっちはすごさの再確認。有名だったので、それなりに知ってました。やっぱ、ホームタウンに愛される選手ってのはいいですね。スタジアムの盛り上がりは、見てるだけなのに興奮します。

そういえば、ダルビッシュが「ずっと、日本でやりたい」なんて言ってましたが、本気でしょうか。本気なら、ちょっと好きになりそう。今のところ、応援する気はゼロですが。

とにかくあれです。アラン・シアラーは自分の中でゴンに並びましたね。カズにはかないませんが。


とか言いつつ、そろそろカズはヤバいかなと思ってる。枠に飛ばないんだもの。あれは、ねぇ。さすがにかばえない。

おれ、だまされやすい!

今回は、ネクシーズコミュニケーションズ様。いや、だまされたというか、自分の勘違いですけどね。

話の内容は、「ソフトバンクADSLを使えばフレッツADSLよりお得ですよ、契約切り替えましょうね。」という事。まあ、電話勧誘ですね。

私の頭が悪いのだと思いますが、途中まで「へぇ、(フレッツ)ADSLが1,500円も値下げしたんだぁ。お得。」と理解していました。実際は、ソフトバンクADSLの売り込み。

"突然の電話"、"間延びした話し方"、"頭軽そうな女の子"。「ああ、またきた」と思いましたが、「お知らせ」の電話だと思って聞き続けてしまいました。「よかったですぅ〜。」なんて話し方は、それなりの所であれば許さない気がする。けど、聞き続けてしまった。

普通は、電話回線の契約とADSLサービスの契約は別にしていると分かっているでしょうから、引っかかる事もないのでしょうね。「今ご利用いただいている回線はそのままご利用いただけます。」「面倒くさい書類手続き不要で、今より1,500円程度お安くなります。」「ソフトバンクBB様のご協力で値下げに成功しました。」を「ソフトバンクBBとの提携(?)によるフレッツADSLの値下げなので契約が発生する事はありません。値下げのご連絡です。」と勘違いした私は負け犬です。

電話の人は、ちゃんと「ソフトバンクBBのソフトバンクADSLをご利用する事で、月額2,999円となります。」という風な事を言っていたので、自分の理解力が足りなかったのだと反省しています。

なぜか、"商品管理部"から再度電話があるとの事だったので、その間にググったところ悪い評判がすぐに見つかったので、商品管理部とやらの人に確認してみました。「今回のお話は、フレッツADSLをやめてソフトバンクADSLと契約する、という事ですよね?」と訪ねたところ「そうです。そういう説明を受けましたよね?」と返ってきたので、「NTTのままでいいです。じゃ。」として終わらせてもらいました。

別に、「ソフトバンクADSLを使いたくない。」とか「フレッツADSL最高!」とかいう話ではありません。単純に、突然電話をかけてくるようなとこの商品は信用できないという話です。

それにしても、主題が「ソフトバンクADSLと契約しましょう。」という話だと気づくのが遅い。まさしく、カモですね。


それにしても、「フレッツADSLの値下げ」と思ってたくせに、名前と住所を聞かれた事を「まあ、本人確認かな」ですませる自分が憎い。あきらかに、アレじゃん。NTTの人じゃないのは分かってたしさ。

ホント、電話は嫌いだ。

tracdでは動くけど、apache2.2+mod_python3.3.1(python2.5)で動いてくれない。

自宅のMacBookProだと簡単に動いてくれたのですがね。どちらも、MacPorts頼りですが、微妙に経緯が違うのかもしれません。

問題は、subversionのpythonバインディング(swigのやつ)が認識(?)できていない云々なところらしいです。apache(mod_python)からでなければ、importも出来ているのですがね。

とりあえず、諦めてみましたが、なんとも不完全燃焼。仕事に必要なわけではないのでかまわないのですが、なんともやるせない。

そんなわけで、自宅のMacBookProでapache2.2+mod_wsgiなtracが動いたので、それを試す事にします。


以下、余談。

wsgiスクリプトへのアクセス権限に詰まりましたが、おおむねすんなりと動いた感じです。

以下、mod_wsgiのインストール。
InstallationOnMacOSX - modwsgi - Google Code
MacPortsに関して記述がありましたが、よくわかりません。というか、動いた後に読んだので、気にしません。動けばいいんです。

$ cd ~/local/src
$ svn checkout http://modwsgi.googlecode.com/svn/trunk/ modwsgi
$ cd modwsgi/mod_wsgi
$ ./configure --with-apxs=/opt/local/apache2/bin/apxs --with-python=/opt/local/bin/python2.5
$ make && sudo make install

以下、mod_wsgiのロード。/opt/local/apache2/conf/httpd.confに記述。

LoadModule wsgi_module modules/mod_wsgi.so

以下、trac用のバーチャルホスト設定の抜粋。mod_wsgi用に必要な部分だけ。ServerNameとログ設定をのぞいただけです。DocumentRootの設定もしてません。

...
    <Directory /Users/koshigoe/c/lib/python>
        Order allow,deny
            Allow from all
    </Directory>
    WSGIScriptAlias / /Users/koshigoe/c/lib/python/trac.wsgi
...

サーバのルート以下でないと、deniedなんでしたっけ?その辺曖昧ですが、allowの設定をしないと403エラーが出ました。

以下、wsgiスクリプト。
IntegrationWithTrac - modwsgi - Google Code

import os
os.environ['TRAC_ENV'] = '/Users/koshigoe/local/var/trac/myproject'
import trac.web.main
application = trac.web.main.dispatch_request

こんな感じで、osx(MacBookPro)でapache2.2+mod_wsgi(python2.5)+trac0.10.4が動いてくれる事を確認しました。細かいところで動かないのかもしれませんが、それは後回し。

はぁ、家だと期待に答えてくれるんだよなぁ、mac。会社のはなんだろう。家のmacに嫉妬してるのかしら?


結局、mod_wsgiを使っても同じエラー。apacheとpythonの間で何かをミスっている模様です。とりあえず、時間もないし必要な分けでもないので棚上げ。

なんだか、販売店に販売奨励金(だっけ?)を払わずに、その分を通話料値下げにつなげるという話だったっけか?

販売店への補助金みたいなのがなくなるから本体価格があがるって話だけど、みんな買わなくなるから値下げ競争につながるってことを期待しては駄目なのかな。業界的にコスト削減は厳しいのかな。

携帯をほとんど使わないので、「〜ついてます」とか言われても、「えぇ、邪魔。」とか「いらないから安くしろ」とか思うわけです。

初めて手にした携帯はD103ですが、正直言って、機能的にはあれで十分だと思う。あとは操作性とかが良くなってくれれば。

携帯電話は、もう「カジュアル(?)」なイメージなので、今更値上げとか言われてもね。通話なんてそんなにしないし、パック料金(?)のだから大してうれしくもない。

D103以降は、J-Phone系(現Softbank)を使っているわけですが、3Gのエリア問題もあって、ますます新機種への乗り換えが遠のいた感じ。あれ、Softbankは関係ないんだっけか。DoCoMoとAUだけか?AUは奨励金云々はない?細かい事は知りません。

まあ、きっと自分は少数派だろうし、世の中の大半は通話料値下げでうれしいのでしょう。

とりあえずは、相も変わらず、入力装置の進化待ちです。

ひょっとしたら乗り換える事ができるかも。

とはいえ、「開発用」と「普段用」とを分ける事に失敗し続けているので、きっと無理だ。

ひょんな事から、昔に購入したSTUDIO MXの存在を思い出しました。

さて、8のテンプレートを触る事が出来るなら問題が解決するわけですが、無理かなぁ。


エデュケーション版だった事に気づいてボツ。

set_time_limitでFatalエラー吐かせて、ob_startで出力変えて強制終了。

この方法では、処理を継続させる事が出来るけど出来ません。設計をやり直す必要がある気がします。タイムアウトありきで設計してなかったので、かなりきつい事になりそうです。きれいに設計出来る自信はありません。

ある処理(ブロック)の処理時間がタイムアウト時間を超えたら、その処理をキャンセルしてコールバック関数を実行して(必要なら)結果を返し、そのまま何食わぬ顔で処理を継続させる。こういう事をしてみたいわけですが、いまいち実現方法が思いつきません。

まず、「タイムアウト」というイベントを発生させる方法がさっぱりです。ここでは、set_time_limitは考えません(強制終了につながるので)。例えば、preg_match関数の実行中にタイムアウト時間を超えたとして、preg_match関数の中から「タイムアウト」を知らせる必要があるわけですが、きっと無茶ですよね。

監視対象の処理を別プロセスに切り出せばよいのかとも考えましたが、どうなんでしょうか。子プロセスの結果を親プロセスが受け取る事って出来るんでしたっけ。別ファイルに切り出してexecとかはなしです。色々と、ぼろぼろになりそうなので。

マルチスレッドだと簡単なんですかね。実行パスが複数同時に存在する(?)ようなプログラミングを本格的に経験した事がないので、マルチプロセスもマルチスレッドもさっぱりです。

今回は、「見た感じそうなってればよい」程度と割り切って冒頭の方法で実装しましたが、どうにもスッキリしません。

多分、知らないだけなんでしょうね。なさけなし。。。

プロフィール

このアーカイブについて

このページには、2007年10月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年9月です。

次のアーカイブは2007年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。