7月 282011
 

Mac を持っている人はもう既に MacOSX Lion に update してるでしようなぁ。そー言う僕もリリースされたその日の夜のうちにバージョンアップしてしまいました。でもって使い込んでいるわけですけども。

僕は MacBook を持っているのですが、普段はパタンと閉じて、包丁立てに立てて、ディスプレーとキーボード、マウスを接続して利用しているのですが「Lion ではやっぱり Magic TrackPad だべ。」とか思い、この間の土曜日にアキバで Magic TrackPad を探したのですが、Mac 製品を売っているお店三軒回って在庫ゼロ。

amazonにも在庫が無いみたいだったのでっ!! ってか、な、なんだぁ?! amazon では定価より 1,000yen 高くなっているぞぉっ!! 僕は オンラインの Apple Store で購入したのでありました。

IMG_1451_MagicTrackPad_1.jpg

ちゅーこって、これからの MacOSX Lion はこれを使ってバリバリ楽しむのであります;-)。

と、言うことで、ここから先はまだ日が浅いですが、僕が気がついた点をちょっと書いてみたいと思います。 GUI スゲーゼっ!! とか書かないですよ。それについては他のページを見てください;-)。

あ。自動保存機能は凄いですね。これは本当に凄い。テキストエディットアプリなんかはそのまま終了してしまうと言うか、開けたままで shutdown -r now とかしても全然平気だし、本当に恐ろしい世の中になって来た。と言う感じがします。
PhotoShop とか対応すればもう DTP の人も安心して仕事ができるでしょうね。
emacs なんかは自動保存機能に対応しないと使われなくなっていくんではないかなぁ、と思います。

と、言うことで、まずは IPv6 かなー。
Lion の IPv6 についてですが、Windows と同じ auto config の anonymous なアドレスが付加されるようになりました。なので、IPv6 アドレスは自動的に二個付加されています。すげ。けど、その割りに sysctl で kame のバージョンを見ると以下の感じ。特に変更されてない感じがします。

net.inet6.ip6.kame_version: 2009/apple-darwin

 
それならば、と思い、FreeBSD で言うところの ip6addrctl (8) は実装されたのか? と思いきや、このコマンドは存在していません。ありゃりゃ。ip6(8) で IPv6 のオン/オフ と ip6config(8) ってコマンドがあります。

あと、ネットワークインターフェースとしては p2p0 なんてのが増えました。sft0 ってのは SL のころからあったかなぁ?覚えてないや。

と、言うとこで、ソースアドレスセレクションについてはどんな動作になるんだろう?相変わらずロンゲストマッチかな?

次、開発環境である Xcode について少々。
Xcode 自体は App Store から無料でダウンロードできるのでそのままインストールすれば例のごとく /Developer/SDKs/MacOSX10.7.sdk/ とかインストールされます。

さてと、インストール終わったらからコンパイルするぞーーっ!! とか思っても gcc がまともに動作しない・・。orz。 Lion では llvm-gcc-4.2 が標準のコンパイラのようです。LLVM-gcc ってヤツかいな?初めて使ったよー。って感じです。
で、コンパイルは以下の要領で行う必要があります。

% gcc -mmacosx-version-min=10.7 helo.c

 
-mmacosx-version-min=10.7 無しだと 以下のメッセージが出力され configure さえも通りません。

% gcc helo.c
<built-in>:0: error: Unknown value '11.0' of -mmacosx-version-min

 
default が -mmacosx-version-min=11 で動作している感じですね。僕には SDK の設定などが解らなかったので /usr/bin/gcc は以下のスクリプトにしてしまいした。
#弱いなぁ。とか思うんですけども・・f(^^;;。

#!/bin/sh
llvm-gcc-4.2 -mmacosx-version-min=10.7 $@

 
これで、メッセージは出力されるんですけどもまぁ、なんとかコンパイルは通るようになるかなぁ。と言う感じです。

あ。そーそー。MacOSX Lion は default で x86_64 カーネルが動作するようになりました。 i386 バイナリも動作するんでけすけど、VMware Fusion 2 は動作しませんでした。カーネルモジュールなど全てをキッパリと削除しました。

マニア向けの Lion としては今のところこの辺りでしょうか。僕は epkg のパッケージとか作っているので、開発環境はそこはかとなく利用しているのですけどもね。

今後も引き続きバリバリ利用し、気がついた点があれば書いて行きたいと思います。

あ。最後に一点納得行かない点。

suspend/resume から目覚めた MacBook ですぐにネットワークを利用しようとすると全てのアプリケーションにおいて「接続エラー」と表示されますね。これは非常にやってらんない。resume 後のネットワークの初期化が上手に動作してないでないの?って感じ・・。それがちょっと納得行かない・・。

7月 202011
 

KDE4 のアプリケーションの中で Twitter を表示できるヤツなんかないかなぁ。と探し回っていたら Choqok というのが見つかりました。ports 的には www/choqok になります。Makefile を見てみると KDE micro-blogging client と書いてありますね。

で、実際に make して起動すると、ふむ。Twitter クライアントとして利用できるようです。なので KDE4 を利用している場合には、これを使うことにしましょうかねぇ。となるのであります。

あ。今回は Choqok の設定方法とか使い方については一切書かないです。直感的に利用できるので頑張って設定してください;-)。

で、しばらく使い続けていると、どうも日本語がしっくり来ない部分があるのであります。

Choqok_orig.png

こちらが default の日本語表示。LANG が ja だと ja.po を利用するので日本語表示してくれるようになります。

ただ、MacOSX や Windows、iPhone アプリなどで数々の Twitter クライアントを利用して、それと日本語の表示を比べてみてもしっくり来ない。なのでちょっと po ファイルをいじって見ました。ソースファイル的には choqok-1.0/po/ja/choqok.po ですかねぇ。

改修した後の表示はこんな感じ。あと、キャプチャでは見えない部分の直訳ぎみのヤツもそれらしく直しました。

Choqok_new.png

タブの部分は「タイムライン」とか書くと長くなってしまうので「Timeline」にしました。これとかは他のアプリ作っている人も苦労しているんだろうなぁ。というのが実際にやってみるとわかりますね。なので半角英数字で 「Timeline」て書いた方が短いタブで済む。みたいな。

それにしても「返信」ってのはやっぱり Twitter 的にはちょっと変で「Mentions」かなぁ。みたいな。もとの英文は以下のように “Reply” ってなっているんですが、最近の Twitter では “Mentions” だよなぁ。みたいな。

#: helperlibs/twitterapihelper/twitterapimicroblog.cpp:110
msgctxt "Timeline Name"
msgid "Reply"
msgstr "Mentions"

 
今回改修した po ファイルは以下の URL に置いたので、試してみたいと言う方いましたらちょっとお願いできませんでしょうか。

http://icmpv6.org/Prog/ja.po/choqok-20110613.po

感想やパッチなどを頂ければと思います;-)。

あるタイミングで本家のほうに送ろうかと思っております。 JKUG のほうでもその方向で話が進んでいる感じですねぇ。

7月 112011
 

さてと。久しぶりに「CPU コレクション」です(本当に久しぶりなのかな?)。ここまで Socket7 から始まったオールドタイプの CPU がドドドーっときました。今まででのべ38個。今回が 39 回目ですね。いよいよ Intel の CPU の Sockect370 の最終回です。

今回登場するのは Tualatin コアの Celeron。

Sokct370_Celeron_Tualatin_1.jpg

前回掲載した Tualatin コア PentiumIII と対になる Celeron ですね。

あんまり書くことないかf(^^;;。こっちが裏側。

Sokct370_Celeron_Tualatin_2.jpg

この CPU も会社の廃棄 PC からもらってきたのかな?あれ?この Celeron だけ手に入らなくて、アキバでジャンクを買ってきたんだっけか?

まぁ、どっちにしても製品としてはたくさん出たはずなので色々なところに今でもゴロゴロしている CPU ですかねぇ;-)。

7月 082011
 

なんとっ!! 自宅のネットワーク環境において、無線 LAN 環境のネットワークが二つできてしまい、SSID をネットワーク毎に切り替える必要性がでてきてしまいました。

Windows なんかの場合だと比較的容易にアクセスポイントを切り替えられるのだけど、 FreeBSD の場合は CUI がメインかなぁ。なので「なんか GUI ないかなぁ?」とか思い探しまわったら ports に net-mgmt/wifimgr というのがあったので早速インストールしてみました。

まぁ、QT ベースの KDE4 を利用している僕にとって、gtk ベースのアプリっちゅーのはどうもしっくりこないんだけどもそれはそれしょーがない。 QT ベースのものを利用したい場合には net/wpa_gui ちゅーのがあります。こっちは FreeBSD でインストールされている wpa_cui の GUI 版なんだけど、wpa_supplicant のバージョンがずいぶんと古い。でもって実際に起動してみてもたともに動作しているようにみえなかったんですね。

なので、今回は net-mgmt/wifimgr を利用しました。 ports からインストールして wifimgr と叩いて起動するだけです。コンパイルも早いですしね。非常に簡単。

起動する時に /etc/rc.conf の ifconfig_ をチェックして WPA と言う文字があった場合にのみ起動します。最初、ifconfig_wlan0=”DHCP ssid test” だけしか書いてない状態で wifimgr を起動したんだけど、動作しなくて・・。で、ソースコード見たら WPA って文字をチェックしているみたいだったので ifconfig_wlan0=”DHCP ssid test WPA” とか書いたら無事に起動しました;-)。

起動後は root のパスワードを聞かれ、そのあとで管理画面が表示されます。

スクリーンキャプチャを掲載しようと思ったのですが、表示されているのが SSID とかパスフレーズだったのでちょっとやめました。実際に自分で起動して確認してみてください;-)。

起動したあとは Windows 上でよく見る Wi-Fi マネージャとほぼ一緒です。まだあまり使い込んでないのですが、使い方も直感的で解りやすいです。

新しいアクセスポイントを利用するようにした場合、その設定情報は /etc/wpa_supplicant.conf にダイレクトに書き込まれます。そのあとで「保存と再起動」ボタンを押すと wpa_supplicant が再起動されて指定したアクセスポイントに接続されるようになります。すげーぞ。

以上が動作です。さてと。ソースコードを見てみると po ファイルがあるのでこらー日本語化は簡単だな。とか思い覗いてみると、今のところは英語とフランス語にのみ対応しているようですね。

まぁ、せっかくなので ja.po を書きました;-)。

日本語に対応した ports は以下にあるので良かったら皆さん試してみて頂けませんでしょうか。

http://icmpv6.org/Prog/FreeBSD_ports/ports-wifimgr-20110708.tgz

po ファイルの追加だけなら簡単だっんですけど、 src/Makefile にも手を加える必要があったので新しい ports にしてしまいました。

po ファイルだけは別に切りだしてあって以下の URL にあります。「日本語変だよ。」とか思われた方、改修して頂ければと思います。

http://icmpv6.org/Prog/ja.po/wifimgr-20110708.po

もし、問題がなければ作者さんにメールを送って、実際に ja.po ファイルをソースコードに取り込んでもらおうかなどと思っています。

と、言うことで、wifimgr と言う、GUI インターフェースが利用できる Wi-Fi マネージャなのでありました。ところで、ソースをちろっと眺めただけなんだけど、wlan が 0,1 と複数あったらどう言う動作するんだろうなぁ・・。

6月 292011
 

僕はメールを読んだり書いたりするときに emacs 上の mew を利用しています。で、今回たまたま「マニュアル」というのを見ていたら “対話” というのがあったんですね。

この “対話” と言うのは mew のインストール時に合わせて /usr/local/bin/cmew と言うコマンドをインストールして、こいつが sqlite3 に Massage-ID を突っ込んで、一括して mew のバーチャルモードで表示してくれる。と言う機能です。

cmew 自体は ruby で書かれているので、実行。ばーんっ!! とかやるのですが、 require ‘sqlite3’ の行がエラーになります。どうやら ruby の sqlite3 モジュールが無いみたいなんですね。

それならば ports からインストールするべか。とか思って /usr/ports/ 辺りを捜すのですが、あれあれ? ports になって無いじゃん・・。orz。 となるのでありました。

ちゅーこって、ports 作って以下の URL に置いたので使ってみたい人はご利用くださいー。って感じなのであります;-)。

ダウンロードした後、/usr/ports/databases 辺りで展開して make;make install すればおしまいです。

http://icmpv6.org/Prog/FreeBSD_ports/ports-sqlite3-ruby-20110629.tgz

インストールが完了したら cmew を実行する(mew 上で “KI” と叩く)と ~/Mail/id.db とかいうのができて “V” で一覧表示してくれるようになります。この辺りについては mew のマニュアルを見てください。

それにしても FreeBSD の ports 的には databases/ruby-sqlite は sqlite2 対応、databases/rubygem-sqlite3 っちゅーのはなんかちょっと冗長気味ででかいぞ。でもって cmew が動かないぞ。的なので、ズバっと cmew が動作する sqlite3 モジュールは存在していないんですねぇ。

中々思い白い。それにしても ruby をおいかけるなんざ dtcpc 以来だぞぉ;-)。

あ。当然ながら “ノラ ports” です。コミットしてくださる方、絶賛募集中;-)。けど、利用者、少ないんだろうなぁ。だとするとコミットしてもあまり価値無いような気がしますねぇ・・f(^^;;。

6月 232011
 

最近は色々と書くネタがあったので立て続けに書いていました。やっぱりネタがたくさんあるブログってのは良いですよねぇ。”久しぶり” とは言えませんが、CPU コレクション 行ってみみましょうかねぇ。今回が 38 回目になりますね。でもって Intel 系 Socket370 の最終章に突入するわけであります。

Intel は PentiumIII を Slot1 から Socket370 に変更してコアも変更していくわけであります。しかし、1GHz 到達を AMD Athlon に先に許してしまい、その後もズルズルと AMD の後塵をふむわけであります。そんな中で Tualatin コアの PentiumIII を投入するんですね。

こんな感じの CPU ですな。

Sokct370_PentiumIII_Tualatin_1.jpg

この前に出していた CPU はコア丸出しだったのですが、ここに来てヒートスプレッタが付きましたね。左下の穴はなんなんだろ?通常、この穴はグリスじゃなくてなんて言ったけか。CPU ファンの冷却を助長する白いクリーム。あれが詰まっていることが多いんですけども;-)。

でもってこの CPU はあちこちでみることができました。と、言うことはやはりたくさん売れた CPU なんでしょうなぁ。

今回の CPU も会社の廃棄 PC からもらってきたのですが、確かに企業系サーバの CPU に大量に使われていたと認識しています。この頃の AMD はまだコンシューマ向け(しかも自作)メインで企業ユースには進出できなかったんですな。

こちらがその CPU の裏側です。

Sokct370_PentiumIII_Tualatin_2.jpg

理路整然とコンデンサ(なのか?)が並んでおります;-)。

それにしてもこの頃の Intel はそろそろ危機感を持っていたのではないのかと思われます。当時僕はもう既にどっふりと AMD の CPU ラバーな人だったのでねぇ;-)。

けど、会社のサーバではとことんまで利用されていた CPU なのでやはり底力があると言うか・・。

6月 192011
 

こーいうの、実際のところなんと言うのだろう?

iPod の曲を飛ばしたり戻ったりボリュームを大きくするヤツ。

タイトルは「iPhone4 用リモコン」にしたんだけど、コントローラーとかアンプとか言う場合もあるし。僕的には iPhone4 に触らず iPod の曲の操作ができるだけで十分なんだけどねぇ。

そもそも iPod Touch 時代からこの手のリモコンは使い続けていた。聞いている曲を次の曲に飛ばしたり、止めたり、ボリュームの調整が手元でできるので非常に便利だと思っていた。

今まではずーっと Audio-Technica の AT335i BK というのを使っていた。大体一年以内に壊れるので都合三個くらい使い続けてきたかな。けど、いきなり生産中止は無いでしょうーー。値段も 1,500yen くらいで手頃だったのに・・。

そんなこんなで後継機種を検討することになりました。 Audio-Technica からは AT335i の値段程度では後継機種が出てないのね。うーんと値段の高い「アンプ」って位置づけのヤツを購入しなければならない。
この手のヤツって過去の経験から結構頻繁にぶっ壊れるので高いの買うとうんと”損する”ってイメージがあるので・・。

で、今回は二機種を検討し、実際に購入してみました。

iLuvi EA15
これは amazon で一個 990yen だったので二個購入しました。AT335i と価格も近いですしね。まぁ、短時間で壊れても納得せざるを得ない価格です。

IMG_1346_iphone_vol_1.jpg

操作は、真ん中ボタンをシングルクリック → 再生/停止、真ん中ボタンをダブルクリック → 次の曲、トリプルクリックで → 前の曲に戻る になります。その横にはボリュームボタンが二つあって大、小のボタンになります。

見た感じですが、これがまたケーブルが短い。ヘッドホンジャックへの接続になるのですが、そこから 20cm くらいしかありません。僕の経験で言うと多分、しばらく使っているとヘッドホンジャック側のケーブルが断線して片方のスピーカーから音が出なくなるような気がします。

さて、音についてですが、Audio-Technica の AT335i よりも悪いんではないかなぁ。と言う気がします。低音部分がごっそり抜け落ちたようなそんな感じの音のような気がします。

まぁ、値段も安いので・・。

FiiO E1
こちらはヘッドホンジャックではなく、ドックコネクタに接続するタイプのものです。アキバのヨドバシで 2,980yen で購入しました。Apple のブースでも売っていましたが、オーディオのブースでも売っていたので、扱い的には「アンプ」の部類に入ると思います。

iPhone とかの場合ってドックに接続するものは「アンプ」の扱いになるものが多いような気がします。

IMG_1337_iphone_vol_2.jpg

ケーブルは太くて長いです。しっかりしている感があります。なので、いつまで経ってもトグロ巻いてますf(^^;;。

リモコン部分は裏側に洗濯ばさみが付いているので AT335i に近いですね。操作については真ん中ボタン → 再生/停止、曲飛ばし、曲戻り、ボリュームはそれぞれ個別のボタンを持っています。しかし、曲飛ばし、戻りのボタンが大きいのでちょっと触れるとボタンが押されてしまうところがありますね。

音ですが、かぁなり良いです。アキヨドの店員さんも言っていましたが、ドックコネクタに接続する機器はヘッドホンジャックに接続するものと比較して総じて音が良いとのことです。確かになぁ。ドックから出るとデジタルでしょー。みたいな。

僕が感じる音的には高い音も低い音もリアルに出ているような気がします。2,980yen でこの音だと立派リッパ。そらね、もっと値段の高いモノにすればもっと音が良いとは思うんだけど、どうせ毎日使って壊れてしまうものだし。みたいな・・。

あと、ドックコネクタに接続するこの手のヤツってボリューム調整は本体の横にあるボタンでは動作しないのね。リモコンのボタンを押すことによるボリューム調整となります。

けど、ドックに接続されていると、色々な面で「ジャマだ。」と思えてきますf(^^;;。

とまぁ、二個買ってみましたが、僕的には当分、多分壊れるまでは FiiO E1 を優先して使うと思います。「ジャマだ。」と思っても音が良いのでねぇ。けど、実際問題としては iLuvi EA15 はケーブルが短すぎる。ってのもあるんですけどね・・。

そー考えると Audio-Technica の AT335i が一番しっくり来ていただけに、生産終了となったのがかぁなり痛いです・・。orz。

6月 162011
 

さてさて。このブログでは過去三回ほど、MRTG の IPv6 化と言うか対応について書いたことがあります。

mrtg が IPv6 で動作しない。
net-snmpd+mrtg の IPv6 化とその他もろもろ。(2)
net-snmpd+mrtg の IPv6 化とその他もろもろ。

今回は過去に検証したものについて、再度の検証を行い、実際にはどういう動作になったのかを確認してみたいと思います。

と、言うのも最近の perl は 5.14.0 になって IPv6 回りに改良が加えられました。 Socket モジュールがちょっと変更になったんですね。そして、mrtg 自体も以前からはバージョンが上がっているので IPv6 回りに改修が入ったのではないかと思い、再度の検証とするのであります。

今回利用するのは最新の ports-current です。このエントリーの一日前に csup したものを利用します。mrtg が動作するのに必要なものは以下辺りでしょうかねぇ。

    perl-5.14.0
    p5-IO-Socket-INET6-2.67
    p5-Net-SNMP-6.0.1
    p5-SNMP_Session-1.13
    p5-Socket6-0.23
    mrtg-2.17.1
    net-snmp-5.5_4

今回の検証はこれで試してみました。ports の net-mgmt/mrtg は WITH_IPV6=true で make config します。すると関連性で net/p5-IO-Socket-INET6 と net/p5-Socket6 がインストールされ、IPv6 Ready な mrtg となります。

IPv6 の機器に対応した設定ファイルである mrtg.cfg を書いて、早速 env LANG=C mrtg mrtg.cfg とかを実行します。が・・。エラーが出て動作しませんでした。

一個目は SNMP_Session.pm が以下のメッセージを出力します。長いので改行してあります。

% env LANG=C mrtg mrtg.cfg
Subroutine SNMP_Session::pack_sockaddr_in6 redefined at \
/usr/local/lib/perl5/5.14.0/Exporter.pm line 67. at\
/usr/local/lib/perl5/site_perl/5.14.0/SNMP_Session.pm line 149
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at \
/usr/local/lib/perl5/5.14.0/Exporter.pm line 67. at\
/usr/local/lib/perl5/site_perl/5.14.0/SNMP_Session.pm line 608

 
このメッセージはエラーだと思い込んでいたのですが、ただのワーニングメッセージなので一応は mrtg は問題なく動作するようです。

しかし、インストールした mrtg コマンド、つまり /usr/local/bin/mrtg のほうが別のエラーを出力してまともに動作してくれません。エラーメッセージは以下の通り。

% env LANG=C mrtg mrtg.cfg
Undefined subroutine &main::AF_UNSPEC called at /usr/local/bin/mrtg line 2247.
Undefined subroutine &main::AF_UNSPEC called at /usr/local/bin/mrtg line 2247.

 
AF_UNSPEC が無い。と言われるんですね。このメッセージは本当にエラーなので、 mrtg はまともに動作しないので問題を取り除く必要があります。

僕は以下のように改修しました。

--- mrtg.orig   2011-06-16 15:40:42.000000000 +0900
+++ mrtg        2011-06-16 17:22:07.000000000 +0900
@@ -2244,7 +2244,7 @@
my @res;
my ($too,$port,$otheropts) = split(':', $$target{SnmpOpt}, 3);
$port = 161 unless defined $port;
-            @res = getaddrinfo($hostname, $port, AF_UNSPEC(), SOCK_DGRAM());
+            @res = getaddrinfo($hostname, $port, &Socket::AF_UNSPEC(), &Socket::SOCK_DGRAM());
if (scalar (@res) < 5) {
warn "$NOW: WARNING: Skipping host $hostname as \
it does not resolve to an IPv4 or IPv6 address\n";
return 'DEADHOST';

 
AF_UNSPEC がどこにあるのか解らないみたいなので、明示的に Socket モジュールの中のを利用するように記述しました。あと、SOCK_DGRAM も「&main には無いよ。」と言われるのでこっちも直します。しかし、他にもっと美しい改修の方法があるんでしょうなぁ。とは思いますが・・f(^^;;。

これで実行すると無事に mrtg が動作するようになりました。良かったです。

さてさて。ここまでで一応 mrtg コマンドは動作しました。実は順番が逆になっているかもしれないのですが、続いて mrtg.cfg のほうを見ていきたいと思います。

以前の「net-snmpd+mrtg の IPv6 化とその他もろもろ。(2)」のエントリーのところで Target 節のパラメータに ifIndex しか指定できない。などと書いたのですが、この点は結構重要になってきます。

ifIndex と NIC なんてのは増設すると同期が取れなくなるので ifIndex で mrtg は取得してくないですよね。今回試したのは以下の四パターン。

Target[server_bge0]: 1:public@[2001:3e0:a71::f:10]:::::2
Target[server_bge1]: \bge1:public@ipv6.running-dog.net:::::2
Target[router_gi01]: 32:public@2001:3e0:a71::f:1]:::::2
Target[router_gi02]: \GigabitEthernet0/1:public@cisco.running-dog.net:::::2

 
ふむ。以前試した時は ifDescription では mrtg で情報が取得ができず ifIndex でのみしかダメだったのですが、今回は無事に上のどのパータンでもトラフィック情報を取得することができました。インターフェースだけでなく、フツーの MIB も IPv6 アドレスでも FQDN でもどちらでもきっちり取れるようになりました。これは非常に嬉しいことですね。

あと、MRTG の公式サイト http://oss.oetiker.ch/mrtg/doc/mrtg-ipv6.en.html を見れば色々書いてありますが、FQDN で問い合せた時、当該機器の snmp が IPv6 に対応していない場合 IPv4 に fall back せずにそのまま終わってしまう件ですが、

1. EnableIPv6: yes の設定で
2. Target: 節に FQDN を書いていて
3. その機器は IPv4 にしか対応していない場合は mrtg が取れない。
4. そんな時は IPv4Only: 節を利用すると良いですよ。

と、言うことらしいです。つまりは IPv4Only: 節がある機器の場合は最初から IPv4 で mrtg が動作するみたいです。これは良かった;-)。

Target[macosx_en0]: \en0:public@mac.running-dog.net:
IPv4Only[macosx_en0]: yes

 
こんな感じで mrtg.cfg を書けば IPv4 にしか対応していない MacOSX SL の snmpd に対しても無事に mrtg が取得できます。

過去、何回かこのブログに書いた mrtg ですが、これで多分は全部大丈夫っぽいかなぁ。

いやぁ。良かった良かった。それにしても CentOS 5.6 では IPv6 対応の mrtg がまともに動作していなんだよなぁ。今回は FreeBSD で検証したんだけど、CentOS の Final でも再度検証が必要かなぁ。

と、おもーちょります。

6月 142011
 

emacs-23.3 になったら ibus.el 経由の mozc がインラインで日本語入力できなくなってしまいました。

以前のエントリで「ibus-mozc を使う。」というのを書いているので詳細についてはそっちを参考にしてください。

それにしても emacs 上でインラインで日本語入力ができないのはちょっと悲しいなぁ。と思い、ibus.el とか眺めたり、ウェブで調べてみたりしたのですが、 Vine のほうでは無事に吸収できたようですね。 FreeBSD ではそーは行かないみたい・・。

ちなみにインラインで日本語が入力できると何か嬉しいかと言うと、Ctrl や Esc キーなどがかな漢字変換システムに食われることなく emacs のキーバインドが利用できる点ですね。これは実際にやってみると結構重要です。

なので、他に何か別の emacs で利用できる日本語入力無いかなぁ?とか思い調べてみたら、mozc 自体が emacs lisp として mozc.el というのを提供しているのねぇ。

早速試してみました。が・・。
mozc 関連の FreeBSD の ports としては japanese/mozc-server 、 japanese/mozc-tool があるのですが、このどちらでも mozc.el をインストールしてくれない。きっと ports の作者さんは emacs との関連性をつけるのを嫌ったのでしょうなぁ;-P。

mozc のソースの中に unix/emacs/mozc.el があります。が、こいつは mozc_emacs_helper という、同じディレクトリにあるソースをコンパイルしたものをインストールしてあげないと動作しないんですな・・。orz。

ちゅーこって mozc-emacs とか言う ports を作りましたよー。そもそも、mozc のコンパイルは python を利用しているので非常にややこしい。試行錯誤した結果 mozc のソースツリーで以下のコマンドをたたけば mozc_emacs_helper の make ができます。

# setenv BUILD_COMMAND gmake
# ./build_mozc.py gyp
# ./build_mozc.py build -c Release --qtdir= /usr/local/lib/qt4 \
unix/emacs/emacs.gyp:mozc_emacs_helper
# cp out_linux/Release/mozc_emacs_helper /usr/local/bin/
# cp unix/emacs/mozc.el /usr/local/share/emacs/23.3/site-lisp/

 
これで mozc.el が動き出します。あ。当然 GTK_IM_MODULE 環境変数などの設定は必要ですよ。
僕の場合、emacs 以外は ibus-mozc を利用するようにして、 emacs からは ibus 経由ではなく、直接 mozc と通信できるように、あとで下のほうに出てきますが ~/.emacs に設定しました。

で、これらをやってくれる ports は以下に置きました。

http://icmpv6.org/Prog/FreeBSD_ports/ports-mozc-el-20110614.tgz

基本的には emacs に関連した部分のみを切り出したので mozc-el と言う ports にしました。ports/textproc 辺りに展開してください。 mozc_emacs_helper を make してインストールしてくれます。あと、 mozc.el と mozc.elc をインストールします。関連性で editor/emacs が必要がです。
また、当然ですが、 make deinstall にも対応しています。

で、~/.emacas への設定ですが、以下のような感じでしょうかね。

(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
(global-set-key (kbd "C-o") 'toggle-input-method)

 
早速入力してみると。おぉっ!! ちゃんとインライン入力ができますね。すげー。試しに emacs -nw な状態でも試してみましたがこちらでも日本語入力ができます。ibus-mozc よりもちょっと良い感じです。

 
さてとー。僕の場合、もう何回もここに書いていますが、かな入力の人なんですよ。で、その設定はあるのかなー?とか思って色々調べてみましたが、今の段階では mozc.el にはカナ入力の設定は無いみたいで、mozc.el には 「;; TODO(yuizumi): Supports Kana input.」などと書かれていました。orz。

通常、mozc の設定は mozc_tool_config で、行うのですが、ここではちゃんとかな入力になっているのですが、やはり ibus.el もそうですが emacs lisp の側でも何かしら対応しなければならないんでしょうなぁ。

 
と、言うことで、かな入力の僕にはいまいちご利益が無いのですが、ふつーにローマ字入力をする人にはベタに mozc が利用できるのと、あと tty 上の emacs でネーテェブというかインラインで日本語入力ができるというのは非常に嬉しいことではないでしょうか。

是非とも ports になってもしくは ports からインストールできるようになって頂きたいものだと、僕は思いました;-)。

6月 122011
 

「CPUコレクション」の第37回目は Socket370 の Celeron です。前回掲載した PentiumIII の Celeron 版になります。そう言われてみると、Intel は Socket370 において、PentiumIII と Celeron は綺麗に両方とも出していた。と言うことになるんですね。

Socket370_Celeron_2_1.jpg

パッケージは前回掲載したものと一緒で黒い、色々書いてある部分が上と下の両方にあります。

こっちのは下のみに色々書いてあるんですけどもね。

この二つは同一コアなはずなんですが、ヨクヨク見てみると、ベースクロックが違うんですなぁ。前に掲載した PentiumIII と Celeron は 100MHz、今回掲載するシリーズのは 133MHz。Intel は、コアは一緒なんだけど、ベースクロックを変えたのでデザインもちっくと変更した。と、言うことなんでしょうかね。
って・・。全然違うか。PentiumIII は 133MHz、Celeron は 100MHz か。やっぱり違いがよーわーらんf(^^;;。

こっちは裏側です。

Socket370_Celeron_2_2.jpg

Coppermine コアは全てにおいて裏にデコボコがついているですね。しかし、 CPU によって微妙に付いている数が違ったりして。裏だけで、CPU 当てゲームができるような気がします;-)。ただ、今回のは PentiumIII と Celeron の区別が中々難しい。ポッチの違いだけかな。

さてさて。このシリーズの CPU だけどういったタイプなのかちょっと解らなかったのですが、まだまだ Socket370 は続きます;-)。