Archive for 11月, 2008

pecl ssh2を使いたい

phpのssh2関数群はpeclのssh2ライブラリをインストールしないと動かないが、使えるようにするまでが面倒だったのでメモ。

おおよその手順は、opensshとlibssh2を何らかの方法でインストール(yumで入れるなら-develも必要)して、peclのssh2をいれればいい。引っかかるのはたいてい最後のpeclのssh2で、あちこちのサイトに書いてあるようにpearコマンドでインストールしようとしても失敗する。ということでそこだけフォロー。

wget http://pecl.php.net/get/ssh2-0.10.tgz
tar xvzf ssh2-0.10.tgz
cd ssh2-0.10
phpize
./configure --with-ssh2

この後、出来たconfig.hの最下行に次の1行を追加する。

#define LIBSSH2_APINO 200412301450

後は、modules/ssh2.soを適当なところに突っ込んで、php.iniなりそれに類するところで、extensionとして読み込めばOK。要するにphpのAPIバージョンが違うから転けていたということなのだろう。

しかし、ssh2関数を使いたくてここまでやったはいいが、2005/11/01からアップデートされてなくてbetaが外れていないというのは、betaで安定しちゃったのかコミッタが飽きたのかどっちなのだろう。そしてPackage Bugsを見る限り、どうも後者のような気がしてならない。

よほど最低限の機能だけで挙動が読める(たとえばローカル間のみとか)環境以外では使わない方が良さそうな気もするのだけど、どんなものなのだろうか。おしえて偉い人!

VMWare with ESET Smart Security

VMWare上のFedora9で、eth0(bridge)、eth1(NAT)設定をしているとき、DHCPでのIP取得を行おうとすると、eth0がDHCPに失敗する、という問題がでていた。

結論からいうと、下記許可ルールを追加すると解決する。

ローカル側:UDP 67-68ポートリモート側:UDP 67-68ポート 信頼ゾーン

非常に気持ち悪いのだが、ひとまず解決策。

追記: VMWareのIP幅を信頼ゾーンに加えてないと、失敗するかもしれない。未検証。

追追記: サポートに推奨設定を問い合わせていたが、その返答がきた。曰く、

プロトコル:UDP 方向:内向きアクション:許可ローカルポート:68 リモートポート:67

を追加するようにとのこと。これで変なところで引っかからずきちんとファイアウォールを使うことができる。ありがたい。

OS入れ直し

メインマシンであるThinkPad T60のOS(WindowsXP)入れ直しをする。バックアップデータを見ると前回は2008/05/13。およそ半年ぶりの更新ということになる。いつもより長い期間OS入れ直しをせずに使っていたつもりだったのだが、期間としては毎回同じくらいの半年ごとになるのがおもしろい。

入れ直しに際して、いくつかのソフトウェアのバージョンをあげてみた。根幹をなすソフトウェアの場合、入れ直す手間も大きいし他の関連ソフトへの影響も大きく、だからといっていつまでも古いままだと後々困ったりする。だからこういうタイミングでバージョンをあげるのが一番いい。以下、変化したものと感想。

IE6をIE7に。これは結局失敗だったかも、と思っている。現状、Firefox3にSafari3にChromeにIE、とOperaを除くメジャーなブラウザはすべて使っている状態なのだが、お手軽にすぐ立ち上げてすぐ閉じてしまう目的はIE、という使い方をしていたため、IE7はその目的にはちょっと重い、というのが失敗に感じる理由(Chromeはアプリ的ウェブアクセス用、Firefoxはタブ開きっぱなし用、Safariは動作確認用、と分けている)。起動した直後にURLを叩き始めると、たまにキャンセルされたりするのも腹立たしい。うーむ。

Evernoteを2.xから3.xに。ウェブクリップの閲覧速度が劇的に上がったのでこれは非常によかった。これくらいなら前の環境でもやってもよかったのになんでやらなかったんだろう。記憶にない。

Office2003 ProfessionalをOffice2007 Enterpriseに。リボンインタフェイスがあまりにも不慣れすぎて、最初のうち何もできない雰囲気になってしまった。これはOffice 2007 オールドスタイル メニュー アドインを導入してごまかすことに。クラシックメニューもどきがある状態で、少しずつ慣れていけばなんとかなるだろう。しかし何故Microsoftがクラシックメニューを作らないという判断をしたのか、納得がいかない。

Eclipse-PDTをPDT1.0系からPDT2.0系に。インタフェイスはあんまり変わった気がしないので今後もう少し使い込むとわかるはず。ついでにSubclipseをSubversiveに変更した。

という感じで、主にMicrosoft系のものが変わったのが大きいところ。他にもThinkPadのユーティリティであるThinkVantage Client Security Solutionを8系に変えたりもしたのだが、これはまぁユーティリティなので深くは書かないでおこう。

しかし、こうも半年に一度のフルバックアップ、工場出荷時に戻して入れ直し、をやっているとかなりノウハウもたまってくる。たとえば、自分で作ったファイルはすべて一カ所にまとめておくとか(My documentsだけだと一部気持ち悪いので、そこだけではないが、今は3つのディレクトリをバックアップすれば殆どのユーザデータが吸い上げられるようにしてある)、アプリケーションごとの設定バックアップ方法を覚えておくことだとか、インストーラがいらないフリーソフトの類はProgram files以下に入れないで拾い出せば済むようにするとか。おかげで慣れていないころと比べたら格段に短い時間で元の環境に戻せるようになった。

それでも、バックアップとリストアにかかる時間だけはどうしようもない。特にインストールの必要なアプリケーションの入れ直しにかかる時間はかなりのものだ。確かにレジストリという機構をもって、いろいろな設定情報やコピーを防ぐ方策などをとっているのはわからないではないが、もう少し簡単に時間がかからないようになると本当にうれしいのになぁと思う。

 

こうやって再インストールをするたびに、アプリケーションがウェブ上にあるという未来はナシではないのだなぁ、と思わないではない。尤もそれは、自分が負担すべきコストを誰かに転嫁することに他ならない、のだが。

薬缶で湯を沸かす

 引っ越してから知ることになったのだが、自宅の100V配線は部屋が4部屋あるにも関わらず、すべての部屋の壁面コンセント(エアコン系のぞく)が1つの配電盤系統(20A)につながっているというかなりトンデモな配線になっている。そのため、せっかく50A契約にしているにもかかわらず、消費電力の大きい機械(電子レンジ、食洗機、電気ポット、伏兵としてウォシュレット)はトータル負荷を考えながら使わなければならないことになっている。単純に言えばそれらを2つ並行して動かすな、ということなのだけれども。

 そして最近は急激に寒くなって体調を崩す人が増えている。身の回りでも、風邪まではいかないものの腹を冷やすとトイレとお友達になってしまう人が増えている。そうなると、誰かがトイレとお友達になっている間、いくら暖かいお茶を飲みたいとおもっても電気ポットを使うのは危険が伴うことになる。寒いのに。

 そこで、昔買ったもののほとんど使われることなく仕舞われていた薬罐を出して湯を沸かすことにした。

 結論から言うと、薬罐、いい。もっと言うと、ガス火、いい。電気ポットと比べると、ガスコンロというのは熱がやたらめったら逃げている(お湯を沸かしてるんだか部屋を暖めてるんだか、というほど熱は逃げている)構造なので熱効率はすさまじく悪いのは知ってるし、お湯が沸くまでの時間も長めだ。だが、目の前で薬罐が火にあぶられて湯気を出している様なんてのは、なんというか理屈抜きで良い。これが火鉢や囲炉裏に鉄瓶だったりするともっといいのだろうけれど、それに近い何かがある気がする。

 エコだなんだ、利便性ばかり追いかける社会になってしまったけれど、もう少しゆっくりと、エコじゃなくても(*)必要なだけしか消費しないようにする、というのも考えてみるべきなんじゃないだろうか。特に、GNPやら売り上げやら利益率ばっかり見てる人、お金となーんにも関係ない状態になったら何がイイのか、考えてみるといいと思う。

そして茶(*)がうまいなぁ。。

()尤も、企業の推し進めるエコは裏がありすぎてエコ以前に嫌いなんだけれど。 ()うちの茶は荻窪駅前の繁田園のほうじ茶。週末になると店の主人が店先で焙煎していてとても香りがよい。繁田園2FのBROWN CHIPもおすすめ。

ラジオのある生活

R0011932

 最近、テレビの時間を減らして、代わりにラジオを聞くことにしてみたところ、これが割と良い感じ。

 聞いているのは主に、というか完全にNHK第一のみ。夜中もラジオ深夜便でやっているし(24時間延々人がしゃべるコンテンツで埋まっているというのはこれまで知らなかった!)、なによりも視覚を持って行かれないだけでなく、内容を理解するためにあまり頭を使わなくて良いのも良い。深夜トラックの運転手が聞いたりするシーンを考えてのことだろうが、他の作業をしながらでも聴けるのは大きい。

 そして昨日、ラジオ生活をより楽しむために、それまで使っていた目覚まし時計兼ラジオの代わりにちょっと古いYAMAHAのチューナーを引っ張り出してきた。白木ケースにシルバーのフロントパネル、電源を入れるとメーター類がほのかに光る。なんだかそれだけで落ち着く。

 利便性ばかり追い求めると人間性が欠けるんじゃないか、もっと不便でも人っぽいモノの方がいいんじゃないか、なんて思ったこの頃。便利なのは好きだし、いいことだと思うけどね。

追記: その後続けているが、仕事中も流しておくと「喫茶店や電車の中だと集中力が上がる」的な効果が得られるような気がしてきた。良い感じ。

フレームワークの好き嫌い

 MVCフレームワークのような、モノを作るにあたって煩雑になりがちな部分を吸収してくれるライブラリを嫌う人が時々いる。その嫌いな理由はいろいろあるのだけど、そういう人は「とにかく動くこと」を要求していて、細かいこと、例えばXSS脆弱性だとかの面倒さだとか、学習コストの高さだとかを嫌っているように思う。そういう自分も「フレームワークなんて馬鹿じゃない?」と思っていた時期があるし、今でさえふとそんな気分になることもあるので、どちらが駄目とかいう話ではない。ただ、フレームワークについてぼちぼち考えてみる。

 何しろ、フレームワークと言われるモノ全般が、とっつきにくいのは間違いない。最初のうちは、チュートリアルこそ作れるものの、そこから一歩でも外れようものならあっという間にバグの嵐、全く訳がわからなくなる。そこでヘルプを読んだり誰かのレポートを読んだりするのだが、結局駄目でソースコードまで読むことになる。まぁそのコストはフレームワークを一から作るコストよりは安いのだけど、少なくともちょっとしたアプリを1つ作るコストよりはよほど高い。この辺のコスト意識が好き嫌いを分けているのではないかなと思う。昔フレームワークが嫌いだったのはこの辺の感覚があった。

 じゃぁなんで今はsymfony使ったりして開発してるのか、というと、結局コストをかけて慣れてしまうことで、おおよそのものが作れるようになるし、何が出来て何が出来ない(出来無くないけどコストが高い)のか、がわかってきて、システムの提案時点でそこを外すように誘導できるから、ということがわかったからだ。外すように誘導する、という言い方は誤解を招きそうだが、要は「必須」ではないところに無駄にコストをかけると、プロジェクトの成功率も下がるしコストも高騰してお互い幸せじゃないんだから、「出来れば」のところは曲げてくれるといいなぁ、という話をするということ。これが出来るならばフレームワークを使うことに依る省コスト度合いはぐっと上がり、使うメリットも出てくるはず。

 もっとも、最近の悩みは海外の良くできたフレームワークは日本のウェブサイトの慣習をフォロー出来てない(確認画面とかさー)ので、そこの実装にむやみにコストがかかってしまうところか。良くできたプラグインを作ってしまえばいいのだけれど、なかなか難しいところなんだよなぁ。

 本当にぼちぼちな話すぎて、日常タグしか付けられない。

手持ちの部品、プレゼント(ただし条件付き)

 ちょっとした思いつきだが、冗談ではなくてホントの話。

 これまで、仕事やいろいろな目的でかなりの数のSOIC AVRチップを購入したのだが、その後メインで使うチップをPSoCへ移行したり、その関係の仕事がしばらく薄かったりして、それなりの数、使っていないものが浮いてしまった。 だが、AtmelがMicrochipに敵対的買収を仕掛けられるなど、今後先行きがわからない。先行き次第ではチップがゴミになってしまう可能性すらある。それはちょっともったいない。

 ということで、手持ちのAVRチップ類、欲しい方には無償(ただし条件付き)で差し上げます。詳細はこちらのページに記載しますので、遠慮せずどんどんご連絡ください。