トップ 最新 追記

2009-12-01 [長年日記]

_ Macのインターネット共有メモ

えーとインターネット共有ってこういうやつ。結構古くから Windows にもあるやつ。いわゆるブリッジ。

+--------------+  +--------+    +------+
| LAN/Internet |--| MacOSX |-+--| PC 1 |
+--------------+  +--------+ |  +------+
                             |  +------+
                             +--| PC 2 |
                             |  +------+
                             |  +------------+
                             +--| iPod touch |
                                +------------+

なんとなく Mac 側からはちょっかい出せないものと思っていたけど、特に何の設定もなく、単に正しい IP アドレスを指定しただけで上の図で言う PC 1 の vnc サーバに Mac から繋がってしまった。VirtualBox の VM みたいに forward 設定みたいなの要るのかと思ってたからちょっと驚いた。

便利なんだけど、OSX 側の設定次第ではぶら下がっている機械に OSX の参加してるネットワークからそのままいろいろできるので気をつけないといけないなと思った。

え、「気をつける」は具体策ないから意味ない? そーですね。

Tags: Net OSX

_ picture-modeメモ

Emacs には picture-mode っていう mode があって、簡単に言うと完全に上書きモードで何も入力されていないところへもグイグイカーソルを持っていけるモードです。上のようなメモを書く際に使えるんだけど、凝った画を描くのにはやっぱ向いてなくて、ちょっと使いどころが難しいですまる。

Tags: Emacs

2009-12-04 [長年日記]

_ RubyGems自体のアップデート

なんとなく作業してたけどまとめたことがなかったので自分用まとめ。

いつのバージョンからかは知らないんだけど、少なくとも RubyGems 1.3 時代は

$ gem install rubygems_update
$ update_rubygems

で RubyGems 自体のアップデートを行っていく。Windows の場合どうなるんだろうと思ったら

C:\Ruby\bin\update_rubygems.bat

がインストールされていたので、基本的には Ruby のインストールディレクトリに入るのかな? コードもマニュアルも読まずに書いてるけど。

一部で流行りの ~/.gems? 方式でどうするのかは分からない。


2009-12-05 [長年日記]

_ rsync daemon は module 以下の path も受け付けてくれる

まずは man より

 Access via rsync daemon:
   Pull: rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
   Push: rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

rsync は --daemon オプション付きで起動することで daemon として listen することができる。そこに直接接続するには src なり dest の URI を rsync:// で書けばよいのだけれど、この

rsync://[USER@]HOST[:PORT]/[SRC|DEST]

の SRC なり DEST の部分は

rsyncd.conf

[module]
   path = /path/to/module

と指定した path 以下にしかアクセスできないようになっている。つまりここでシステムのパスへの無制限のアクセスはできないように制限されている。

で、今まで実は module でフルパスを指定するだけで事足りていたので気にしたことなかったんだけど、

rsync src rsync://host/module/path/to/dest

みたいにも書けるということを知った。これであるホストのある特定のパス以下の任意のディレクトリについて rsync プロトコルで同期を取ることが可能なわけだ。なるほどなー。


2009-12-09 [長年日記]

_ repository local の設定

とりあえず Git と Mercural だけの話。

Git Mercurial
ユーザー共通の設定 ~/.gitconfig ~/.hgrc
repositoryごとの設定 .git/config .hg/hgrc

こんな感じかな。

cf.

Tags: Mercurial Git

2009-12-15 [長年日記]

_ SpycはなぜPearパッケージ化しないのだろう

※ 2010年3月現在の話。

思い出したように Pear パッケージの話を書くけど、個人的に

どうして PHPer は Pear パッケージを積極的に利用しないのか理解できない

状態が続いている。

これは pear.php.net channel のパッケージをインストールして使うという意味じゃなくて、

せっかく作ったライブラリをなぜ Pear パッケージ化しないのか

という意味ね。分かりやすい例は

spyc - Project Hosting on Google Code

じゃないかな。

これはたぶん PHP でいちばん有名な YAML ライブラリなんだけど、このライブラリは Pear パッケージになっていないので、いろんなプロジェクトで勝手に収録している状態になっている。ライセンス的に問題ないなら別にいいんじゃないの?と思うかもしれないけど、違う。

いろんなライブラリ、いろんなフレームワークが個別に spyc.php を収録すると、require 可能な spyc.php が複数存在する

ことになってしまう。これ、

require_once による再読み込み防止機能が利かず、Cannot redeclare class という Fatal Error が起きやすくなる

というアブナイ状態なのだ。Fatal Error がひとたび起きたらアプリを実行することはできない。つまり画面は真っ白さ。怖いでしょ?

勝手収録するなら spyc.php 本体を直接呼ばせず、代わりに require するためのファイルを用意してその中で

if ( !class_exists( 'Spyc' ) ) {
  require '/path/to/spyc.php';
}

みたいに気をつけて書かなきゃいけなくなる。まぁ PHP らしいっちゃ PHP らしいんだけど、これってけっきょく紳士協定だから、守ってないアプリがあればすぐに破綻するのです。

あるいはもう Pear パッケージ化しないライブラリは最初から

if ( !class_exists( 'Klass' ) ) {
  class Klass {
    ...
  }
}

で定義するよう義務づけるとか? 義務って書いちゃうと反感買うかな。優しさって言えばいい?

でも本当は、Pear パッケージ化してちゃんとインストール先のパスを意識してあればこんなのは問題でもなんでもない。PHPer が人力で頑張るのが好きなのは分かるけど、自分はこんなところで頑張りたくないんだよねぇ。

Tags: PEAR PHP
本日のツッコミ(全2件) [ツッコミを入れる]

_ wozozo [http://openpear.org/package/Spyc これどうですか?]

_ wtnabe [ありがとうございます。これも解の一つですね。unofficial packageをどう思うかは人それぞれかなと思いま..]


2009-12-17 [長年日記]

_ stat系ツールの定番てなんだろう?

シス管としてまだまだ知らないことが多いのでお勉強。これまで少し漠然としていたんだけど、Release It!を読んでモニタリングとレポートの違いをはっきり意識できたので、この観点で挙げてみる。

とりあえずこの辺のツールを不自由なく使えれば多少マシなのかな? ちなみに、*BSD と書いてあるけど、OSX にはこの手のツールはないっぽい。

reporter

sar ( sysstat / Linux )

Linux の sysstat は reporting ツールで、sar が reporter.

report に使う元情報は sa1, sa2 というツールで収集しているらしいが、これらは bin/ 以下にないのでユーザーには使ってほしくないみたい。

bsdsar ( *BSD )

基本的には sysstat の sar と同じ役割を果たすはず。bsdsar は ports でインストールしたら

/etc/crontab
/usr/local/etc/bsdsar.conf

に情報が加えられ、bsdsar_gather によって情報収集が行われ、結果、bsdsar で report を出力できるようになる流れ。

monitor

systat ( *BSD )

sysstat とはベツモノなので注意。BSD系にしかないっぽい。curses を使って、今の状態が表示され続ける。top のようなもんだけど、よりビジュアルにリソースの空き具合が分かる。それでいて Terminal 上でそのまま確認できる。標準で入っているので何も準備する必要がない。嬉しい。

cf. monitor: top + systat: uyota 匠の一手

dstat ( Linux )

systat の Linux 版のようなものがないか探していたら見つけた。

DAG: Dstat: Versatile resource statistics tool

Python製のmonitoringツール。systat とは表示の仕方が違う。今の状態が表示されるのは systat と同じなんだけど、これが流れていく。twitter や irc のようにどんどん情報が流れていくツール。

過去(数秒前とか)の状態と一応比べられるのがメリット、なのかな? systat と違って何もなくても一度に目に入る情報量が多くなってしまうので、あんまり好みじゃないかもしんない。でも systat の Linux 版はないみたいだしなぁ。


2009-12-31 [長年日記]

_ 2009年最後の買い物は Pocket Wifi

iPod touch を買って以来、

Twitter / wtnabe: Mobile Safariのある今、ガラパゴスケータ ...

2009.09.19
19:53:27 >wtnabe< Mobile Safariのある今、ガラパゴスケータイWebの貧相さ
加減が本当に残念。あとWebに繋ぐと電池なくなり過ぎ。アプリでのキャッシュ
の活用ができないケータイはもっとメールを活用すべきだなと思った。

ケータイの Web が本当に不便だなと思っていた。

  • 以前に比べれば速いとは言え、やはり性能が足りない
  • ケータイ向け HTML の表現力不足
  • ケータイ向け HTML が PC 向けと分離しているため、ケータイでは逆立ちしても取得できない情報も多い
    • ケータイ向けのページがあっても PC に比べて情報量が少ないため、例えばせっかく目的のお店の近くに来ていても分からないとか、携帯できる便利さをちゃんと享受できていない
  • キャッシュの容量も小さいのでやたらと通信が発生して電池がすぐ切れてしまう

touch は普段それほど Web 閲覧には使っていなかったが、フリックにも慣れ、文字入力でもケータイの方が使いにくいなと感じるようになったので、ネット端末としてはケータイよりも iPod の方を中心に使った方がよいのではないかと感じるようになってきた。

そこで、以前から持っていた emobile の端末を PocketWifi に変更し、PC を持っていなくても iPod touch をインターネットに接続できるようにすることにした。

2009.12.31
19:31:23 >wtnabe< Pocket WiFi 契約してきた。違約金と端末代でそれなりの
出費だけどきっと満足するはず。ケータイの定額サービスを変更した。

これは、1月からケータイ代の端末代キャッシュバックキャンペーンの効果が終わり、端末代が上がるので通信料の方を見直す必要があったためでもある。au のパケット定額でいちばん安いものに変更した。

Pocket Wifi の設定については

2010.01.01
12:10:14 <wtnabe> Pocket WiFi の設定って WiFi で繋いで設定できるのか。
えー。ということは WiFi を他人に解放しちゃうのはオススメしない機械なの
か、これ。
12:33:41 >wtnabe< Pocket WiFi の IP アドレスフィルタリングっていうのは
種別「拒否」で方向「OUT」に固定されてるんだけど、これは外からの攻撃へ
の対応は考えてないのか。まぁモデムだと思えばそらそうなんだけど。
12:51:32 >wtnabe< とりあえず Pocket WiFi の設定完了。設定画面のパスワー
ド変更と WiFi の自動接続オフ、3G 接続をマニュアルに。こんなもんか。
12:57:42 >wtnabe< なんかでもこれ、プライバシーセパレータあるから出先で
3G 回線を共有するにはいいけど、家用の回線にするには fw 周りがちょっと
なぁ。電気屋ではそういう売り方(まとめちゃえば安いよ的な)してたけど、
まずいんじゃね。
  • 10分でWifiが切れる設定を無制限に
  • 自動で3G回線に接続する設定をマニュアルに
  • Wifiには無認証で接続できるように

設定を変更した。繋ぎっぱなしにするわけではないので、自動接続を切ってしまった方がよいかなという判断。これまでも emobile はそれほどヘビーに使っていなかったので、あんまり贅沢に回線を開くとランニングコストが急上昇してしまう危険性がある。

それにしても Pocket Wifi は本体の設定を Wifi 経由でできるのはちょっとあぶないかなーという気がした。まぁすぐリセットできるからブルートフォースで破られてもいいっちゃいいんだろうけど。設定する機会なんて多くないし、USB 経由でしか設定できなくてもよかったんじゃないか。でもそうすると touch からは設定できないからダメなのか?

あと 3G 回線の接続をマニュアルにしたので [ CONNECT ] ボタンを使うんだけど、これの使い勝手が微妙。というのも長押しして接続するんだけど、長く押しすぎると接続モードが切り替わってしまうのである。これ、分かりにくい。


しかしなんだ。

最近でこそガジェット系やケータイ Web にはあまり興味がないが、もともとは cdmaOne の速度と WAP という世界標準を求めて当時のセルラーに乗り換えたくらい Web を持ち歩くことに強い関心を持っていた10年前の自分を思い返すと、この選択は至極当然の判断のような気がしている。

Tags: Mobile iPod