2009年12月31日木曜日

Mac OS X で 自分でインストールした Ruby が OS付属のものより遅い - 最適化・・・!

ことの発端は
・とある iso イメージのチェックサムが sha512 のものしか書かれてない

・sha512 に対応しているコマンドがない
(md5deep は hash, md5, sha1, sha256, tiger, whirlpool 、openssl は dgst, md5, md4, md2, sha1, mdc2, ripemd160)
NetBSD の digest が MacPorts にあればそれで済むのだけど、無い。(pkgsrc の導入はここでは考えない)
後で分かったけど、 gpg --print-md sha512 [filename] でできるなこれ・・・

・ruby でちょいと書けばよさげだ

ちょちょいとぐぐって

Digest::SHA512 - Rubyリファレンスマニュアル

Digest::Base - Rubyリファレンスマニュアル
を参考にした後、ひとまず目的は達成。

ふと 自分でインストールした Ruby と OS付属のとで time をとってみたところ、どーも自分で入れたのが遅い・・・。

以下の通り。

順に OS付属、MacPorts、自分で入れたもの

・バージョン
% /usr/bin/ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]

% /opt/local/bin/ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10]

% ~/local/bin/ruby --version
ruby 1.8.7 (2009-12-24 patchlevel 248) [x86_64-darwin10.2.0]

・バイナリ具合を file で確認
% file /usr/bin/ruby
/usr/bin/ruby: Mach-O universal binary with 3 architectures
/usr/bin/ruby (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/ruby (for architecture i386): Mach-O executable i386
/usr/bin/ruby (for architecture ppc7400): Mach-O executable ppc

% file /opt/local/bin/ruby
/opt/local/bin/ruby: Mach-O 64-bit executable x86_64

% file ~/local/bin/ruby
/Users/katsuji/local/bin/ruby: Mach-O 64-bit executable x86_64


・500M のファイルを用意して、sha512 チェックサムをとってみたときの time 結果
1回目
% time /usr/bin/ruby =sha512.rb ~/testfile >/dev/null
/usr/bin/ruby =sha512.rb ~/testfile > /dev/null 4.85s user 0.45s system 99% cpu 5.297 total

% time /opt/local/bin/ruby =sha512.rb ~/testfile >/dev/null
/opt/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.75s user 0.43s system 99% cpu 5.185 total

% time ~/local/bin/ruby =sha512.rb ~/testfile >/dev/null
~/local/bin/ruby =sha512.rb ~/testfile > /dev/null 9.78s user 0.52s system 96% cpu 10.717 total

2回目
% time /usr/bin/ruby =sha512.rb ~/testfile >/dev/null
/usr/bin/ruby =sha512.rb ~/testfile > /dev/null 4.84s user 0.44s system 99% cpu 5.287 total

% time /opt/local/bin/ruby =sha512.rb ~/testfile >/dev/null
/opt/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.75s user 0.44s system 99% cpu 5.205 total

% time ~/local/bin/ruby =sha512.rb ~/testfile >/dev/null
~/local/bin/ruby =sha512.rb ~/testfile > /dev/null 9.79s user 0.52s system 96% cpu 10.637 total

んー、倍くらい遅い。。。1.8.7-p174 も手で入れてみて計ってみようか・・・。


追記1:
1.8.7-p174 を入れた。やっぱり遅い。
% ~/local/ruby18-p174/bin/ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-darwin10.2.0]

% time ~/local/ruby18-p174/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174/bin/ruby =sha512.rb ~/testfile > /dev/null 9.66s user 0.45s system 99% cpu 10.116 total

% time ~/local/ruby18-p174/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174/bin/ruby =sha512.rb ~/testfile > /dev/null 9.67s user 0.46s system 99% cpu 10.211 total

ということは MacPorts のパッチ当てるとよいか?


追記2:
1.8.7-p174 を MacPorts のパッチあてて入れたのでリトライ。
だめだ。。相変わらず遅い。んっんー。

% time ~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null 9.71s user 0.44s system 99% cpu 10.183 total

% time ~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null 9.71s user 0.44s system 99% cpu 10.167 total

てーことは configure のオプション等がよろしくないのか?見直してみよう。


追記3:
判明。
最適化だった orz.... 見落としてた・・・。
前述の 1.8.7-p174 + MacPorts のパッチに加え、 CFLAGS に -O2 を追加したバイナリの場合↓

% time ~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null 4.72s user 0.44s system 99% cpu 5.172 total
% time ~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null
~/local/ruby18-p174-patched/bin/ruby =sha512.rb ~/testfile > /dev/null 4.73s user 0.44s system 98% cpu 5.223 total


追記4:
というわけで 1.8.7-p248 を入れ直して OS付属の、MacPortsのとともに追試
入れ直しついでに、-O2 でなくてアグレッシブに -O3 にしたった。
MacPorts でのパッチは p174 のものがそのままでは p248 で使えないだろうと思ったので当ててない。

1回目
% time /usr/bin/ruby =sha512.rb ~/testfile >/dev/null
/usr/bin/ruby =sha512.rb ~/testfile > /dev/null 4.82s user 0.45s system 99% cpu 5.290 total

% time /opt/local/bin/ruby =sha512.rb ~/testfile >/dev/null
/opt/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.78s user 0.44s system 99% cpu 5.254 total

% time ~/local/bin/ruby =sha512.rb ~/testfile >/dev/null
~/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.69s user 0.44s system 99% cpu 5.139 total


2回目
% time /usr/bin/ruby =sha512.rb ~/testfile >/dev/null
/usr/bin/ruby =sha512.rb ~/testfile > /dev/null 4.82s user 0.44s system 99% cpu 5.269 total

% time /opt/local/bin/ruby =sha512.rb ~/testfile >/dev/null
/opt/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.78s user 0.44s system 99% cpu 5.238 total

% time ~/local/bin/ruby =sha512.rb ~/testfile >/dev/null
~/local/bin/ruby =sha512.rb ~/testfile > /dev/null 4.69s user 0.45s system 98% cpu 5.194 total

いいね!

まとめ(?):
OS付属のものやパッケージシステムを使わずに手で入れるとき、最適化を忘れると損をしてるかもしれないよ!(RedHat の Perl がパッチのせいで性能劣化してたことはあったけど・・・)

ちなみに OS付属のは -Os, MacPorts は -O2 だった

% /usr/bin/ruby -r rbconfig -e "p Config::CONFIG['configure_args']"
" '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--enable-pthread' '--enable-shared' '--prefix=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr' '--with-sitedir=/Library/Ruby/Site' 'ac_cv_func_getcontext=no' 'ac_cv_func_setcontext=no' 'CFLAGS=-arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE' 'LDFLAGS=-arch i386 -arch x86_64 '"

% /opt/local/bin/ruby -r rbconfig -e "p Config::CONFIG['configure_args']"
" '--prefix=/opt/local' '--enable-shared' '--mandir=/opt/local/share/man' '--enable-pthread' '--without-tk' '--with-vendordir=/opt/local/lib/ruby/vendor_ruby' 'CC=/usr/bin/gcc-4.2' 'CFLAGS=-O2 -arch x86_64' 'LDFLAGS=-L/opt/local/lib' 'CPPFLAGS=-I/opt/local/include'"

2009年12月30日水曜日

2009年は

友人の結婚式以外、ほぼ無かったことにしたいトシだったかな。

淀んだ汚泥にはまってずぶずぶ沈んでる感じで暗澹たる状況であった。

2009年12月28日月曜日

年末

帰省しない。

今年は、
・2008年末からの帰省
・GWに帰省(結婚式)
・秋に帰省(結婚式)

してたということもあり。

2005年(2004年の年末)て帰ってたっけなー。2006年以降は帰ってた。

入門 Objective-C 2.0

最近、入門 Objective-C 2.0 をちょいちょい読んでみてる。

前から興味はあったのだけど、iPhone アプリでもなんか作って遊んでみるかなーと思ったのがおおきい。
書籍自体はちょっと前に買っていて、しばらく寝かせていた。。

iPhone やら Mac OS X のプログラミングはさっぱりなので
・まず Objective-C をつかむ
・Cocoa の流儀をつかむ
・iPhone アプリの作り方をつかむ(Cocoa Touch ?)

という具合?うーむ険しい。
多少読み進めてみたところ、Java や C++ バリバリやってたひとはこの入門本は物足りないかも。

入門終えたらこれかな・・・
詳解 Objective-C 2.0

本業でないので、隙間時間で続けたいところ。

2009年12月27日日曜日

VMware Fusion 3.0.1




3.0.0 -> 3.0.1 にアップグレードした。12/10 にでてた。

VMware Fusion 3 Release Notes

あいふぉーん アプリ

ひさしぶりに無料のを漁ってみた。

結果、以下をげっと。

(iTunes Store が起動するよ)
基本六法 2010年版
TOKYO FM
ボキャキン(英単語"ゲーム"。"学習用"は有料、というパターン)

2009年12月20日日曜日

ギョーカイヨーゴ?

「“A m e b a な う” は T w i t t e r と カ ニ バ ら な い」

カニバらない・・・。
カニバリズムという言葉は知ってたけど、このように使うのは初めて見た。

それはそうと、永山氏かわいい。

2009年12月19日土曜日

Twitter 障害のアレ

(追記: techcrunch に手口が載ってる -> イランによる(?)Twitter攻撃の手口はこうだった )

Twitterブログ: 昨日のDNS障害についての追加情報

で、「DNS設定がハイジャックされました。」ということらしい。

発生時、Tweetie の更新が止まってたのでなんだろなーと思ってて以下を実行してみた
(けどスクリーンショットなどとってない、、)

・Twitter 専用クライアントでなくて ふつーのブラウザで閲覧
-> 遅かったのか、アラビア語や英語の「クラックしたぜ!」なのはみれなかった。ただタイムアウト。

・A RR ひいてみると NTT America なアドレスではなかった
(追記:そうそう、Firefox だと WorldIP でも入れておくと常に確認できていいよ。ふつーはこんな具合で NTT America なアドレス。)


復旧してほとぼりがさめたところで、個人的興味から以下調査(というほどでもないか)

NS レコードひけばすぐわかるけども、
最初に書いた追加情報にあるとおり、DNS は Dynect というとこのサーバがやってる。
% dig twitter.com ns +short
ns1.p26.dynect.net.
ns2.p26.dynect.net.
ns4.p26.dynect.net.
ns3.p26.dynect.net.

じゃ dynect てなにやさん?と、試しに www.dynect.net を見る。
http://dyn.com/dynect にリダイレクトされる。
CDN や DNS屋さん。GSLB て初めて見た。global server load balance か。

下のほうの Our Clients をみると、(自分の知っている)有名どころでは Twitter の他、bit.ly37signals がある。

というわけで bit.ly と 37signals.com の NS レコードを引いてみる
% dig 37signals.com ns +short
ns4.p25.dynect.net.
ns1.p25.dynect.net.
ns2.p25.dynect.net.
ns3.p25.dynect.net.
% dig bit.ly ns +short
ns1.p26.dynect.net.
ns4.p26.dynect.net.
ns2.p26.dynect.net.
ns3.p26.dynect.net.

おー。bit.ly は twitter.com とおなじネームサーバ。

やっぱり BIND かなー、バージョン問い合わせに答えてくれるかな?と思って引いてみたら答えてくれた。
% for i in $(jot 4 1); do echo "--- ns${i}.p26.dynect.net"; dig @ns${i}.p26.dynect.net version.bind chaos txt +short ; done
--- ns1.p26.dynect.net
"9.6.1-P1"
--- ns2.p26.dynect.net
"9.6.1-P1"
--- ns3.p26.dynect.net
"9.6.1-P1"
--- ns4.p26.dynect.net
"9.6.1-P1"
どうハイジャックされたのかわからないけど、もしや bit.ly (の A RR)が書き換えられててもおかしくなかったのかな、と想像。BIND の事情よくわからんし、攻撃手法がわからないとなんとも・・?
外から動的更新できる設定でした、なんてぇことはないだろうしなぁ。

2009年12月12日土曜日

そういえば FreeBSD 8.0-RELEASE

でてたなぁ。

おうちのとあるマシーンはこないだまで 8.0-CURRENT だったので、タグが打たれた時点で csup を使って RELENG_8 なソースを取ってきて make buildkernel buildworld 〜〜 をして、8.0-STABLE にしてた。

おうちの環境で buildkernel buildworld する時は -j8 が最速っぽいので最近は常に -j8。最速、っても35分ちょっとかかるのだけどね。

Xen DomainU やら階層型 Jail やら、いろいろ楽しそうなものはある。ここんとこそれどころではないので落ち着いたらお触りしてみようかなぁ。

virtualization.info にも載ってたのか
FreeBSD 8.0がついにXen domUを(試験)サポート(20091204-2)
32ビット限定。

2009年12月8日火曜日

もでる

mixi のエコーで、どうやら小中学校が同じだった子がモデルになってたらしいことを知る。
誰かなーとぐぐってみたら、すぐ見つかった。

・Wikipedia にしっかり載ってた(「〜〜県出身の人物一覧」なとこでまず発見)
・所属事務所のサイトにしっかり載ってた
・顔ちっさ!
・雑誌のインタビューみたいなのもあった
・大手企業のCMにもでてた
・ミュージックビデオにも
・ブログを書いてる、もちろん(?)アメブロ

いやぁ、驚いた。

記憶がたしかならば小学校 1,2年と 5,6年で同じクラス。中学の時は一度も同じクラスにならず。
んで、高校は市外の女子校にいってたハズ。(いまみたら、2005年4月に共学化してた。)

2009年12月5日土曜日

ある日の SunSpider 結果

JavaScript 以外のベンチを取ってみたいとふと思ったのだけど、、よくわからず。

SunSpider JavaScript Benchmark

手元の環境(Mac)で3回実行した結果。Total だけコピペ。
最速の Safari は nightly の Webkit を利用したもの。

Safari 4.0.4 (6531.21.10, r51708)
Total: 370.6ms +/- 1.2%
Total: 356.8ms +/- 1.5%
Total: 373.2ms +/- 1.1%

Safari 4.0.4 (6531.21.10)
Total: 424.4ms +/- 3.2%
Total: 424.0ms +/- 1.0%
Total: 427.8ms +/- 1.5%

Chrome 4.0.249.22
Total: 435.6ms +/- 0.8%
Total: 447.0ms +/- 5.0%
Total: 437.4ms +/- 1.3%

Firefox 3.5.5
Total: 1038.6ms +/- 0.8%
Total: 1042.6ms +/- 1.8%
Total: 1040.4ms +/- 1.3%

2009年11月8日日曜日

[tmux] tmux 1.1 でてた

存在を知って、なんとなく使い始めたのがバージョン 0.9 の頃。 -> 以前のエントリ

cvs HEAD を試してみたり、しれっと 1.0 がリリースされてたので入れ替えてたりしたのだけど、
いつのまにか 1.1 がでてた。

tmux

1.1 にしたら、scroll-mode が使えなくなった!とおもってみてみると、
冗長だから消した、代わりに copy-mode つかいなされ、となってた。
↓ここ
http://tmux.cvs.sourceforge.net/viewvc/tmux/tmux/cmd-scroll-mode.c

1.1 前に消されたので、TMUX_1_1 なタグは付いてないのがわかる。

あまりヘビィな使い方をしてないので、今のところ困ったことがないな。。
HEAD 使ってたらセッションが突然死したことがなんどかあったくらい。
あぁ、EUC-JP な環境で使ったことがないので、そこだとはまるかもしれないな。

2009年11月4日水曜日

MacBook Pro 直った



トラックパッドが壊れたので 10/31 に修理にだしていた。
11/2 に「修理が完了したから都合のいいときに取りに来てね」と連絡があったので Apple Store Ginza へ足を運ぶ。
前回、前々回とくらべ、人が大勢いたよ。。

保証期間なのでパーツ代、修理代は 0 。
レシートみると、保証が切れたときにかかると思われる代金が書かれていた。
それなりにかかるよねぇ。

AppleCare Protection Plan に入っておくのがいいかなぁ。
前はバッテリだけ何度も何度も何度も交換してもらったのだけど。。

2009年11月2日月曜日

[Apache] event MPM

そういえば、今年3月おわりごろに trunk だと experimental ではなくなってた。
どこかのブログをエントリを clip してたなぁ。。

Index of /httpd/httpd/trunk/server/mpm/event

前は mpm/experimental/event だった

2.2.14 だとこんなん
Index of /httpd/httpd/tags/2.2.14/server/mpm/experimental/event

[DNS] いじったことのある DNSサーバ

いくつかさわってみてたりするので、軽く浅くまとめ。


・djbdns
コンテンツDNS サーバである tinydns、
キャッシュDNS サーバである dnscache を含む。
あと dnsq 、dnsqr コマンドとかも。

数年前、業務で dnscahce, tinydns を使っていた。
いじりはじめたのが、BIND から移行された後だったので、どっぷりつかる。
DNS に関してはほぼ djbdns から入ったおかげか、
「コンテンツDNS とキャッシュDNS は別にするもの」
と覚えた。

導入後の手間がかからないのはこれかなぁ。セキュリティ的にも。
(更新されてないだけかもしれないけど。。)


・BIND
コンテンツDNSサーバ、キャッシュDNSサーバ。
バージョン9 のものを多少個人的におさわり。
使いこなせない(使わない)機能がいろいろ(気のせい・・・?)
これでもか!というくらい使い倒してみたいなぁ。
「ドット」付け忘れに注意。


・NSD
コンテンツDNS サーバ。
tinydns, BIND ではない別物を求めていたときにみつけたのが NSD
ゾーンファイルは BIND のものが「ほぼ」そのまま使える。
RFC なんとかで決められてるらしい。詳細は割愛。
BIND は BIND独自拡張があるのでそいつは使えない。

今個人で使ってるのはこれ。BIND に比べるとわかりやすいかも。


・unbound
開発元が NSD と同じ、キャッシュDNS サーバ。
dnscache と比べると、導入にやや手間がかかる印象。常用はしていない。
脱 djbware でキャッシュDNS サーバ使うならこれかな。


・maradns
djbdns, BIND とも違うゾーンファイルの形式。今は使ってない。
慣れるのは容易だった気がする。
名前がいい。


・powerdns recurser
名前が違ってるかも、、キャッシュDNS。
やっぱり dnscache よりかは手間。少し使ってみた程度。

wikipedia あたりにまとめられてそうだな。マトリックスで。

2009年11月1日日曜日

ThinkPad X32 復帰その2

前回のつづき。いくつかアプリケーションを入れた。

あんまりなかった。

- ESET Smart Security
何ヶ月前かに更新のお知らせがきていたけど、見送っていたため期限切れになってた。
ルータのない環境のため PPPoE しゃべって直接つなげるので、更新して再びつかうことにした。Microsoft Security Essentials で事足りる気もする。


- 7-Zip
だいぶ前は Lhaca を使ってた。7-Zip いいよ、うん。

- PuTTY
PuTTYごった煮版

- WinSCP
WinSCP、しばらく使わないうちに、アイコンが変わっていた。

- Firefox

- Google Chrome

- Thunderbird
MBP が戻ってくるまでいちおうメールを吸う環境も、ってことで入れた。
スパムフィルタが強力だなー。Mac の Mail.app のと同じ具合でフィルタしてくれてる。

- AltIME
AltIME
Ctrl - CapsLock 入れ替えだけのために

- Skype
気がつけば、自宅で起動することはほとんどなくなってるけど入れた

- GoogleDesktop
Spotlight や QuickSilver のようなものを探して、
ぐぐるさまのを使うことにした。
Ctrl を 2回ちょんちょんっと叩いて呼ぶのがなかなかよい。小指でビシビシ!
ちなみに Mac の Spotlight だと Ctrl + command + space で呼び出すようにしてる。

- Enso Launcher
Enso Launcher
GoogleDesktop の前に試してみたけど、合わなかったのでやめ。

- TweetDeck
TweetDeck
Adobe AIR アプリな Twitter クライアント。やや重いかな。。

- Tween
Tween
.NET なんとかが必要な Twitter クライアント。

- Strawberry Perl
ActiveState の ActivePerl のほうが有名な気がする。Strawberry Perl を入れてみた。

- VLC
Mac でも入れてる VLC

- UltraDefrag
よさげなデフラグメンター UltraDefrag
ギガジンで紹介されてたり。
オープンソースで超高速に動作するフリーのデフラグソフト「UltraDefrag」

っても、いろいろあってわけわからんのだけど。

起動するだけで全自動デフラグ可能なフリーソフト「JkDefrag」

ピンポイントでデフラグできる高機能フリーソフト「Power Defragmenter」

断片化を爆速で処理する無料デフラグソフト「Auslogics Disk Defrag」

こいつはレジストリのデフラグ
レジストリをデフラグするフリーソフト「Auslogics Registry Defrag」

無料だが有料デフラグソフト並に高機能なフリーのデフラグソフト「MyDefrag」


- サクラエディタ
サクラエディタはよいと思う。
エディタは xyzzy なぞをいれてたりもしたけど、さっぱりつかいこなせないヘタレだったので入れることもなかろうとおもい見送り。、、と思ったけど xyzzy も入れておいた。

前なら VMware Workstation を買って入れていたなぁ。FreeBSD, GNU/Linux の試せる環境を作っていた。当時ものすごく活用していた気がする。。今は Mac で VMware Fusion に。

ThinkPad X32 復帰

ちょっと前にかいた「MacBook Pro 修理予定なのでバックアップをとりたいのです」ということで、こないだ修理にだした。

2,3日で戻ってくるらしいし、せっかくなので「PC/Macに触れない生活」をしてみるものいいかと思ったけど、これを機に暫く使わずに眠っていた ThinkPad X32 を引っ張り出して再び使ってみることにした。

ThinkPad はトラックポイントが至高。やっぱりキーボードのタッチもいい(最近のはしらんが)。



2005年4月発表モノで、2672-M8J。4年もたつと、なかなか見劣りするスペックとなっているなぁ。
メモリは 1G 追加して 1.5G にしてた。

ThinkPad X32(2672-M8J) - 製品仕様



1. まずリカバリ
DtoD で出荷時状態に戻せる仕様だけども、別のOSでまるっと上書きしていた(CURRENT なときの FreeBSD 8 をインストールしていた。Journaling UFS を試してたらクラッシュ、fsck がさっぱり通らずにそのまま放置。)ので、別途CD-ROM からブートしてリカバリ。

2. リカバリその2
せっせと CD-ROM を入れ替え、順調にリカバリがすすむ。出荷時に戻ったので、Windows Update を実行&再起動を繰り返してると、、どうもこいつなんだか遅いなーと感じる。その後、BSOD が発生。エラーメッセージは

STOP: c000021a Unknown Hard Error
Unknown Hard Error

とでていた。再起動後、引き続き Windows Update & 再起動してると、いくらまっても起動しなかったり、ふつうに起動してくれたり。おかしい。。
chkdsk かけると、いくつかファイルが破損してた。。うーん。。原因はこれか?

3. リカバリその3
こうなったらもういちど最初からリカバリしちゃおう、と思い振り出しに戻る。
今度はリカバリ途中でぼこぼことエラーが出るように・・・・!

4. ディスク交換
これまでなんどかリカバリしたときはなにも問題なくできてたので、今回ディスク交換をすることにきめた。 常用しないし、80G でいいのだけどメガ単価から、量販店で 160G のバルクディスクを購入。やや高かったな。。

買ったのはこれ。ウェスタン・デジタル製。これまで使っていたのは HGST製。


追記:
HDD Regenerator で一旦復活させて使うことはできるかも。
http://www.dposoft.net/#b_hddhid
60%らしい。
使用不能になったハードディスクを復活させる「HDD Regenerator」

5. 交換後リカバリ
元気になった。リカバリが本来どおりリカバリしてくれた。。

6. リカバリ後の処置
ひたすら Windows Update、その後 ThinkPad 付属の古いアプリケーションを削除して、新しいものに入れ替え。これっていつまで提供してくれるのかな。。

削除
Access IBM Message Center
ThinkPad ソフトウェア導入支援
など。

導入
ThinkVantage Access Connections - Windows XP
http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-4ZLNJB

System Update 3.14
http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-66956

ThinkVantage Rescue and Recovery
Rescue and Recovery 4.21 Windows XP (32 ビット) / 2000 用
http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-70034

Rescue and Recovery 4.21 修正パッチ Windows XP Service Pack 3 用
http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-71729


7. ほかアプリケーション導入
いくつか使うもの、使いそうなのを入れておいた。次エントリにかく。

こうして Windows をごそごそするのは久しぶりだな。。業務中は日報提出&メール専用になってるからなぁ、、。

こうしてまた使ってみると Windows もいいなぁ。

今年中に BootCamp が Windows 7 正式対応らしいので、 Windows 7 購入フラグたちそうな感じ。。

アップル、「Boot Camp」の対応OSにWindows 7を追加すると発表――2009年中予定

X32 は XP のままのつもり。
入れてるひとはいるみたい↓型番も同じだ。
ThinkPad X32にWindows 7

2009年10月28日水曜日

VMware Fusion 3.0 にアップグレードした

バージョン 2.0 のころからつかってる VMware Fusion、気づけば今月アタマに 3.0 が発表されていた。

“Windows 7対応”をうたった「VMware Fusion 3」が発表

おもむろに www.vmware.com をみてみると、10/26 付けでリリースされていた!
(日本語のサイトは準備中なのか、リンクがみあたらなかった。。)

ここがくわしい 「VMware Fusion 3」正式リリース

リリースノート;
VMware Fusion 3 Release Notes

32ビット/64ビットの Snow Leopard 対応、Windows 7 をゲストとしてフルサポートだし、アップグレードで購入〜。

12ヶ月のサブスクリプション付きのとそうでないのが選べ、無しのを選択して支払いへ。

JPY 支払いだとややお高くつくので USD 支払いにした。

すぐダウンロードして、ぽちぽちっとインストール完了。



今後もがしがしつかおう。

2009年10月27日火曜日

Apple のサイト

http://www.apple.com/server/macosx/snowleopard//だと、古いサイト(ZFS の記述あり)がみられるっぽい。
ので、記念にスクリーンショットを撮っておいた。





一方、// でなくて / の
http://www.apple.com/server/macosx/snowleopard/
は、
http://www.apple.com/server/macosx/
へリダイレクトされる。

// にあった ZFS の記述がありそうなところはないかなーとポチポチ。
ファイルシステムのところを発見。
http://www.apple.com/server/macosx/technology/file-system.html

当然ながら ZFS の記述は全くなし。HFS+ と UFS。

2009年10月26日月曜日

MacBook Pro 修理予定なのでバックアップをとりたいのです

トラックパッドが効かなくなったので Apple Store, Ginza のジーニアスバーを事前に予約して、もちこみ。
おさわりする操作はできるのだけど、クリックがきかんので。。

当初は先週いこうと思ってたのだけど、予約せずにいって人多くてみてもらえなかったら残念なので日を改めていた。

2階へあがって時間までじっとまつ。。

診てもらって、トラックパッド部分を交換することに。
交換パーツが届いたらまたもってきてね、ってことでしばし連絡を待つことになった。
(そのまま預けてもいいですよ、と言われたけど手放す日数が増えるのでやめ)

でだ。Time Machine つかうどころか、バックアップをまーーーったくとってないので、今度預ける前に念のためバックアップをしたい。でも Time Machine 用のディスクはない、1台 PC はある。

ふと思いついたのが以下

PC に、
FreeNAS いれてもりっとコピー
Openfiler いれてもりっとコピー
・なんかOS いれる + samba いれて(略

まず上二つをためした。。ものの、よくわからん。ディスク1本しかないPC でもそこに OS 領域とデータ領域同居させてさくっと使えるよなー、と思ったけどそこからつまづいた。。
多少 GUI でぽちぽちやってみたけどだめ。
さーて調べるかなーとおもったけども、さっさと MBP 上のデータをまるっととりたい気持ちが強かったので、別の方法に。

別の方法・・・NFS ! (ぉぃ

FreeBSD 8.0-RC1 入れて NFS サーバ起動、 Mac OS X で mount_nfs して ホームディレクトリ以下をほぼほぼコピーした。自宅内で1対1のギガビットイーサだと、もりもりコピーがすすんでハイおしまい。データ量は 70GB くらい。今度はもっていく前に rsync すりゃいいや。

FreeNAS, Openfiler いじりは修理終わってからまたやろう。どうせならもっといいもの揃えてつかいたいね。。

Openfiler て CentOS ベースかと思ってたけど、元 RedHat 社員がはじめた rPath Linux てやつベースだった。(rPath Linux 自体、 CentOS から派生したものかもしれない)

そうそう、もりもりコピってくれたので ネットワークのスループットを測定してみた。
iperf を使用。

・サーバ側 (FreeBSD 8.0-RC1)
# portinstall benchmark/iperf
# /usr/local/bin/iperf -s

・クライアント側 (Mac OS X 10.6.1)
# port install iperf
# iperf -c <接続先さーば>

結果:
freebsd8# /usr/local/bin/iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.2.250 port 5001 connected with 192.168.0.3 port 56265
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.08 GBytes 931 Mbits/sec

% iperf -c 192.168.2.250
------------------------------------------------------------
Client connecting to 192.168.2.250, TCP port 5001
TCP window size: 129 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.0.3 port 56265 connected with 192.168.2.250 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 932 Mbits/sec

930Mbps でた。sysctl でパラメータ調整すれば、 950Mbps 以上いくのかな?

NFS関係のベンチもとってみたいところ。

2009年10月25日日曜日

Mac OS X ZFS Project が終了していた

Apple Shuts Down Mac OS X ZFS Project


ちょっとまえ gizmode で取り上げられてたのだけど、
Snow LeopardのZFSはどこへ?

・ZFS は Sun のプロダクトだ
・ライセンスは CDDL だ
・Sun は Oracle に買われた
・Oracle は Oracle で Btrfs 作ってる(まぁこれは Oracle のものってわけでもなく GNU GPL なので語弊があるかな)

などなどの理由で、Apple にとってはこのまま ZFS やるのはマズイと判断したのかしらん。

osnews のリンク先には File System Engineer - Mac OS X などというのがあるから、その後メドがたったのから停止したのかな。

[DNS] namebench

Google製のDNSベンチマークソフトウェア「namebench」

Google は全領域を改善しようとしてるのだなぁ。
というより「推測するな、計測せよ」を徹底してたらそうなっただけなのかもね。。
これも 20% プロジェクトで生まれたものらしいのでまた素敵。

これで「コンテンツサーバだと NSD はえー!キャッシュサーバだと unbound はえー!」というのが確認できるわけかな。

[DNS] DNS本 - Alternative DNS Servers



Alternative DNS Servers

目次はここ

Amazon のカスタマーレビューから引用
Coverage:
- 8 Name servers (MaraDNS, MyDNS, PowerDNS, Bind, NSD, tinydns, ldapdns, dnsmasq)
- 5 caching name servers (Bind,PowerDNS,DNSCache, DNSProxy, Unbound)
- many Perl based scenarios
- Load balancing
- A HUGE variety of DNS Backend types (text files, DB, LDAP etc.)
- DNSSEC
- internationalization (i18n)
- OS Coverage of Windows and Linux
- incredible amount of detailed DNS products coverage never seen elsewhere !!

主要な DNSコンテンツサーバ、DNSキャッシュサーバを網羅している。素晴らしい。

片手間ではなくDNS をおさわりするのを仕事にしてるひとってどのくらいいるんだろうな・・・

それはおいておいて、多少でもいじることがある人なら読んでおいてよさげ。

2009年10月22日木曜日

いくつある?

定期的に数えてみるといいかもしれない。

http://labaq.com/archives/50769730.html

mod_fcgid て サブプロジェクトになってたんだ

http://dnscheck.continuous.ly/
は、worker MPM な apache2 にしてるので、
mod_php でなく cgi版(cgi-fcgi) php と mod_fcgid を (aptitude で) 入れて動かしてたりする。( php5-common, php5-cgi, libapache2-mod-fcgid あたり)
2007年くらいから。

で、最近 mod_fcgid てどうなんだろねぇ。とおもってぐぐってみたところ、どうやら今年に入って Apache HTTP Server のサブプロジェクトになったようだ・・!

(最下部の History を参照のこと)
mod_fcgid - FastCGI interface module for Apache 2 - The Apache HTTP Server Project

2.4 や 3.0(いつでるんだ) には標準添付されるようになるのかな。

2009年10月21日水曜日

キャッシュ DNS としてつかえるのかどうか軽く調べるヤツ

を、別サーバに移した&ドメイン変えたので書いておこう。

旧) http://dnscheck.sakuretsu.net/
新) http://dnscheck.continuous.ly/

301 でリダイレクトを最初に設定、その後 A RR を 同じにした。
リダイレクトはそのまま。

いずれ 旧 の A RR は抹消する。と思ったけどとりあえず CNAME に変更した。

うーん、多少 HTML, CSS 覚えておきたいところ。

2009年10月20日火曜日

ブログのタイトルを元に戻した

tech memo に戻した。

「てくにかる・でぃふぃかるてぃーず」は Racer X の曲名でもあるのだけど、
タブ譜を探して迷い込んできたひとがいたみたいなので、、、



technical difficulties

あえて一つあげるなら Fire Of Rock が (・∀・)イイ!!

アイバニーズ PGM シリーズ20周年記念らしい



2009年10月18日日曜日

えんぷろいいーず とりっぷ

がありました。国内、南の方。

・ぬるっとあつまり、ぬるっとチケットをもらい、ぬるっと搭乗
・行き、早い便の昼飯はよかったとおもう。満足。

某ミーティング
・座りすぎてケツがいたい

パーテーその1
・民族衣装コスプレ

某果物の園と水族館
・果物くいまくり
・サメは(やっぱり)カッコイイなぁ。フォルムが美しい。

パーテーその2
・民族衣装コスプレ再び

ほか
・耳栓もっていけばよかった(まさか鼾で熟睡を妨げられるとは、、、二日とも苦しそうだったけど当人は知ってるのかな)

感想
なんか、大所帯になってたんだなぁ。。と改めて認識。
どちらかというと少ないほうがいい。

2009年10月10日土曜日

よろよろしながらも披露宴へ - その2

前回の続き。

着く迄に疲労困憊。。会場最寄り駅のトイレでネクタイをしめ直して、なんとか着いた。
目的階に着いてエレベータ降りようとしたら、丁度目の前で新郎新婦が写真とってた w

受付しおえて、きているはずの会社の人を探して合流。

と、今度はネクタイのしめしめが今の体調には苦痛。。。しめつけるのもよろしくないとは、、。どうしようもないので、がまん。

やや予定時刻をすぎてから、開宴。(ぼくのせいではないぞ)

披露宴の具合は次エントリにするとして、料理を書いてみよう。
メニューあるけど、細かに書くのもなんなのでぼやけた書き方に。

ぶたさんのなんとか ... うん、今の体調ではこれは食えない。二、三口だけ。。うまいんだけどね。。
トメイトゥなスープ ... いける!もうちょっとあっさりしてるとなおよし、、なんとか完食。
おさかなさん ... うまい・・・んだけど、今のダメダメな体調では受け付けてくれない。半分。
シャーベット ... こういうのを待ってた。
うしさん ... うめー!やわらけー!・・・・んだけど、(以下略
デザート系 ... あっさりしてるのでペロっと
コーヒー ... 胃をいたわるため、気休め程度にミルクをいれてもらって飲んだ

あー、こんな体調でなければなー、、、、ととても残念な気持ちで下げてもらった。。。

つづく(今日はもう寝よ。。)

よろよろしながらも披露宴へ - その1

前述のとーり、絶不調だけどもお呼ばれして出席するよーと返信した披露宴を欠席するわけにはいくまい、と思ったのでなんとかなるだろうとやや早めに家をでた。

開始時刻は 17時。16時半くらいにつくつもりででた。
その場合ののりかえは以下のようなかんじ。

1. 自宅最寄り駅 <-> 某乗換駅 (私鉄)
15:18 - 15:22
|
2. 某乗換駅 <-> 東京(JR)
15:27 - 15:48
|
3. 東京 <-> 会場最寄り駅(JR)
16:02- 16:33

いいかんじだ。これで Go! と家をでたものの、、
1. 乗った時点でなんかキモチガワルイ。。これはマズイ。。しかも変な汗かいてるし。
というわけで某乗換駅についたらトイレに駆け込む。。
駆け込んだものの、ん、大丈夫ぽい!イケル!

2. の時間に遅れそうだったのでやや駆け足で 乗換。セーフ。
どうやら普段は心地よいはずの電車の揺れがものすごく体にくる、、またキモチワルイ。。
プラス、隣に座ったおねーちゃんの香水でさらにキモチワルイ。。(平常時なら気にならない香りだったとおもう)
このままだと車内が大惨事になるので 2. を変更、携帯カチカチして別ルートを調べて 2' + 3'で行くことに変更。

2' 某途中で降りた駅 <-> 新木場(私鉄)
16:05 - 16:20
|
3' 新木場 <-> 会場最寄り駅(JR)
16:24 - 16:46

これだと会場につくのがギリギリ 10分前になってしまうけど、、やむをえず。(駅から会場までは徒歩4分)

というわけで途中で降りて、(以下自粛
それに加え、アタマが痛くて動けないので、しばらくめを瞑ってなんとかしようとする。。
ギリギリまで休んで、 2' の乗り換え。水分が必要だ!と思い自販機でポカリをゲット。

ぐったりしながら電車に揺られ、なんとか会場最寄り駅に到着。。
途中、Amazon Kindle 持ってるおっちゃんいたな。
洋書を読む集い?みたいなひとたち三人で話してた。(おっちゃんひとり、おばちゃんふたり)

会場、わかりやすいところにあって助かった。。

つづく

ここ一週間、体調がわるくて辛い

10/4 ... なんとなくダルさなど, 違和感
10/5 ... よりダルダル/微熱/頭痛
10/6 ... 同上
10/7 ... いいかげん病院へいく(インフルエンザではなかったのは幸いか ?)、点滴一発やってもらっておいた
10/8 ... 猛烈に発熱 (といっても 39度前後)
10/9 ... 同上, やや快復へ向かうか.... (?)
10/10 ... 微熱続く, 夕刻からの披露宴にお呼ばれしていたので気合いで千葉へ向かう

点滴、効果なかったか・・・?点数稼がれただけっぽいな。。

何年か前くらいから、半年くらいのスパンで風邪?をひいて発熱 -> 2,3日寝込むのパタンが発生するのだけど、今回は長くて辛い・・・
やっぱり自分の場合は 38度超えると動けなくなるな。

ブログかけるくらいに治ってきたのでもう大丈夫かなとは思う。

健康第一だ。

2009年10月4日日曜日

.ly なドメイン取った

いわゆる「ドメインハック」で 英単語で 〜〜〜ly にすることが多い(と思われる)ドメイン。
例にもれず、 〜〜〜ly になるものを取った。

↓ 取得はここで。


国外のものが取るとセカンドレベルはちょっとお高め。それでも前の半額になったとか。

wikipedia に詳しい。前は別のところ( lydomains.com )が売ってたけどとりやめ、今は リセラーがいくつかある。
参考) .ly

もしアラビア語しか用意されてなかったら取得はムリだなー、、、と思った。(読めない、、、。

2009年9月30日水曜日

subversion がおそいとかなんとか

いうのが慢性的に続いているらしい。社内の subversion 。
「らしい」、というのは自分ではその「おそい」のに出くわしたことがないため。
(巨大なリポジトリをいじる身ではないので)
何分も待つことがあるらしい。。

以前軽く調べてみたことはあって、リポジトリなサーバは

- FreeBSD 4.x
- subversion 1.3.x
-- リポジトリのタイプは fsfs, NFSマウントしてる

クライアントは ほとんど Linux(のはず)

サーバ側でいくつか問題ぽい点
- FreeBSD 4.x での NFS はあまりよくなかった気が
- subversion 1.3.x = sharding 導入前のバージョン
-- 1 ディレクトリ以下に 20万くらいファイルがたまってる状態!

というわけで subversion のバージョンアップするとマシになるかも?とは思っていたけど、近いうちに DVCS なもののなにかに置き換えられるらしいので、特に対応する理由は無し、、。

まぁ、それでも置き換えるまでに多少はなにかできることないかなーと
もう一度見直してみたところ、 /dev/random 周りをいじるとマシになりそうな気がしたので、こそっと設定しておいた。使い始めたときにこの辺は気づくよなー、と思ってるのできっと効果は薄い、もしくは全くない。でもまぁ気休めに。。自分が困ってたら効果がみえやすいのだけど。

設定内容
- rndcontrol で 乱数のエントロピーの元を設定

とりあえず ATA の プライマリから頂こう、とおもい、さて IRQ 番号は、、、と。
最初、割り当てられてる IRQ番号がわからなかったため カーネルのコンフィグファイル (/sys/[arch]/conf 以下のやつ) みて 14 だろうということで以下実行

# rndcontrol -s 14
rndcontrol: setting irq 14
rndcontrol: interrupts in use: 14


その後、/var/log/messages のローテートされたものに起動時のログが残ってたので IRQ 番号が判明。ログは以下の通り。時刻とホスト名は消した。

/kernel: pci0: at 3.0 irq 9
/kernel: ata0: at 0x1f0 irq 14 on atapci0
/kernel: ata1: at 0x170 irq 15 on atapci0
/kernel: ohci0: mem 0xeddff000-0xeddfffff irq 10 a
t device 15.2 on pci0
/kernel: bge0: mem 0xed6f000
0-0xed6fffff irq 7 at device 4.0 on pci2
/kernel: bge1: mem 0xed4f000
0-0xed4fffff irq 5 at device 5.0 on pci2
/kernel: fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
/kernel: atkbd0: flags 0x1 irq 1 on atkbdc0
/kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
/kernel: sio1: configured irq 3 not in bitmap of probed irqs 0
/kernel: pci0: at 3.0 irq 9
/kernel: ata0: at 0x1f0 irq 14 on atapci0
/kernel: ata1: at 0x170 irq 15 on atapci0
/kernel: pci0: at 15.2 irq 10
/kernel: bge0: mem 0xed6f000
0-0xed6fffff irq 7 at device 4.0 on pci2
/kernel: bge1: mem 0xed4f000
0-0xed4fffff irq 5 at device 5.0 on pci2
/kernel: fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
/kernel: atkbd0: irq 1 on atkbdc0
/kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
/kernel: sio1: configured irq 3 not in bitmap of probed irqs 0


14 で合っていた。ついでに 5 と 7 も追加しておいた。

# rndcontrol -s 5 -s 7
rndcontrol: setting irq 5
rndcontrol: setting irq 7
rndcontrol: interrupts in use: 5 7 14


サーバ起動時に設定されるよう /etc/rc.conf に記述。ちなみに該当のサーバは 1000日以上起動している。次再起動したらそのままお亡くなりになる気がしてならない。

rand_irqs="5 7 14"

FreeBSD 5.0 以降なら yarrow が導入されたから、このあたりを意識することは無いだろな・・・うーむ。FreeBSD 4.x で BIND9 や gnupg 使ってみたことがある人はマイノリティですかそうですか。
検索してみたかんじ、colinux での subversion だと結構知られてるみたいだなぁコレ (/dev/random)
coLinux はかるーくしか使ったことがない。

参考)
coLinux subversion問題

subversion book の古いのには FreeBSD での問題が明記されている。cvsweb で ports をみてみたものの、それらしい記述はみつけられなかった。

On FreeBSD, certain operations (especially svnadmin create) sometimes hang.
This is usually due to a lack of available entropy on the system. Subversion asks APR to generate random numbers to create UUIDs from time to time, and certain operating systems will block for high-quality randomness. You probably need to configure the system to gather entropy from sources such as hard-disk and network interrupts. Consult your system manpages, specifically random(4) and rndcontrol(8) on how to effect this change. Another workaround is to compile APR against /dev/urandom instead of /dev/random.

[Google Chrome] Mac OS X 版 Chromium

Mac OS X 版の Chromium 、のスナップショット最新版を入手できるちゃちいしぇるスクリプトを
書いて以前から使ってたりする、。
(Chrome のように「今すぐアップデート」があれば要らない。)

zip ファイルをただ open して終わっちゃうから、いらんファイルが残るし /Applications に移動しなきゃいけないけどねん。。

自分は普段あまりつかわない curl を使ってるのは wget がないから。
Mac OS X 、Public Beta - 10.0 まで はあったようで。。
いま敢えて「Wget」をリスペクト
さて、今回は「Wget」について。いわゆるダウンローダとして利用できるコマンドで、Public Betaから10.0のときには標準装備されていたが、なぜか10.1からその役割は「cURL」に取って代わられた。


ちなみにこれ書いてる時点での バージョンは Chrome/4.0.219.7.
↓ User Agent
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.7 Safari/532.1

2009年9月19日土曜日

[Hacker] Mark Shuttleworth や Matthew Dillon

Mark Shuttleworth
・90年代は Debian のデベロッパ
・Thawte の創業者
・Thawte が Verisign に買われる
・宇宙旅行した一般人
・2004年 Canoncal 創業 & Ubuntu をはじめる

Matthew Dillon
・Amiga のプログラマ (Cコンパイラ作者)
・Linux カーネルハッカー (たしか NFS まわりだったような)
・FreeBSD の仮想メモリサブシステムに貢献
・Best Internet Commications 創業者のひとり
・Best Internet Commications が Verio に買われる
・2003年に DragonFly BSD をはじめる

ビジネスの才があるハッカー、という感じを受けるけど、実際どんな人なんだろうな。

2009年9月17日木曜日

[Xen] Domain-0 ごと持って行かれた - つづき

前回のつづき

dom0_mem を指定したらサクっと解消した

[hoge:root/578]#xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 512 8 r----- 84.2
hoge1 1 7167 2 -b---- 257.2
hoge2 2 16383 6 -b---- 46.7

↑の通り、 dom0_mem=512M で起動。
dom0-min-mem のデフォルトでは 256 (MB) になっているから dom0_mem=256M でもよさそうだけど、 そこまで減らさなくても、、ということで 512M に一旦落ち着いた。

前回書いたように、dom0_mem で Domain-0 のメモリを固定しておかないと、Domain-0 ごと持って行かれたので要注意。。みかけ上はDomain-0 だけど、ハイパーバイザごと、かなぁ。いただけない挙動なのでバグレポートのようなものがあがっていそうだけど、いまのとこ調べる気力なし。。

また、dom0_mem はきちんと設定しましょう!といったドキュメントもいまのところみあたらず。設定項目の一つにあるよ、という程度。うーん。

第二版でてた。足が速いな。


2009年9月14日月曜日

[Xen] Domain-0 ごと持って行かれた><

・24Gのメモリを搭載

・メモリ7G の Domain-U を 1つ起動
・メモリ16G の Domain-U を 1つ起動
・・・してみたら固まった><

[hoge:root/34]#ls
hoge1 auto scripts xend-pci-permissive.sxp xmexample1 xmexample.hvm
hoge2 qemu-ifup xend-config.sxp xend-pci-quirks.sxp xmexample2 xmexample.vti
[hoge:root/35]#xm create hoge1
Using config file "./hoge1".
Started domain hoge1
[hoge:root/36]#xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 17020 8 r----- 1579.4
hoge1 1 7167 2 r----- 7.5
[5bm05a1:root/37]#xm create hoge2
Using config file "./hoge2".

(だんまり. 死亡.)

サーバを再起動してもらったところ、/etc/xen/auto からsymlink 張ってたため、 Domain-U を起動しようとしてまた死亡。しかたがないのでシングルユーザモードで起動 & symlink 削除 & マルチユーザに移行してもらい Domain-0 起動してもらうハメに、、。

また、サーバ起動時(Domain-0 起動時) に dom0_mem を指定していない状態のため、Domain-U 起動時に ゴリっと Domain-0 のメモリが減っていく環境。なので、 dom0_mem=512M などと指定してリトライ予定。容量としては余裕(なはず)なので。。

serverfault をみてみたら、Domain-0 は 256M 割り当ててるよ!ってのみつけたので、できるでしょ。

2009年9月13日日曜日

アメーバの MySQL 本

アメーバの中のひとたちが MySQL 本を書いたみたい。
(MySQL によるタフなサイトの作り方)



内容紹介をみるにハードウェアの選定もかかれているっぽいから
ハイパフォーマンス MySQL のようなのを想像。



よんGbps 本とともにソフトバンク・クリエイティブからでる。技術評論社のGoogle本、サーバ・インフラ本に続け!という感じか。
本書はタフMySQL本、MySQLタフ本などと呼ばれる、のかな。

どうでもいいけど、いまさらながらアメーバとアメブロの区別がつかん。
http://www.ameba.jp/ いくと Ameba (アメーバブログ)なんだけど、実際のブログエントリは http://ameblo.jp/ふんふん 。

先ずブログありき、でそこから別コンテンツもあるよーという解釈でいいのかな?

よんGbpsを超えるWeb の本

(よんを数字で書いてないのは ぐぐるさまにひっかかってもしょうがないよなー、と思ったため気休め程度に変更)

ついったーで 4Gbps で検索すると、それらしきつぶやきをみることができるので、たまにみている。こんな具合。いつまででてくるかな。


まだ買っていない、ので誤植が直されると思う次の刷で買おうかな。

アマゾンの評価はこのエントリを書いている時点では一件しかない。買っているひと多そうに思えるのだけど、レビューするひといないんだなぁ。

512MB/s の方がイメージはしやすい気がする。CD-ROM 1枚弱の容量だし。


ほにゃらら bps だと CDN なアカマイが最高? 2Tbps らしい。イコール 256GB/s 。バケモンですな。。
2009年1月20日 - アカマイ、歴史的な大統領就任式で記録的なストリーミングおよびウェブコンテンツを配信
「多くの視聴者が、何としても式典を見て、我が国の第 44 代大統領が初めて語る言葉を聞こうとしているなか、我々はアドビの Flash 技術とアカマイの組み合わせがあれば、これまでにないほど広範なオンライン視聴者に今回の就任式の様子を届けられると分かっていました。」アカマイ・ネットワークの総トラフィックは、東部時間の午後12時15分すぎに毎秒 2 テラビットを超えました。 同時にアカマイは、毎秒 12,000,000 以上のリクエストを配信しました。

2009年9月11日金曜日

NAS が壊れた! - その3

無事fuck you復旧を終え、先日代引きで受け取った。

が、、代金が代金なので、配達のアンチャンに
「ちょ、これ金額・・・あってます・・よね?」と言われた。

予想外の出費だったので、あとで支払いかえとかねば、、。

というわけで、バックアップの大切さをこんなかたちで思い知るハメになった。

NAS の代わりをどうするかは検討中。
iTune Music は 通常通りローカルに置き直したので、ようやく TimeMachine 使うか。
てことは TimeCapsule にしようか、どうしようか、、。



いずれにしてもおさいふがーーーー。

2009年9月10日木曜日

[MySQL] 異なるバージョンでの replication

ついったーでのつぶやきで
5.0 と 5.1 で replication できるの〜?というのを見かけたので、「できるよー」と reply した。

ただし、

マスタのバージョン <= スレーブのバージョン

でないといけない。なのでこの場合は 5.0 がマスタで 5.1 がスレーブなら OK.
以下の URI も reply しておいた。

ソース:
MySQL バージョン間のレプリケーション互換性
一般的なルールとしては、マスタとスレーブを同じバージョンで実行しているときにレプリケーションを設定してください。(MySQL 5.1, 5.0 または 4.1 など)異なるバージョン間でレプリケーションを実行する必要がある場合は、クライアントにマスタと同等またはそれ以上のバージョンを使用していることを確認してください。(例: マスタで 4.1.23、スレーブで 5.0.24)
とか、
マスタで使用中のものが新しく、スレーブで使用中のものが古い場合にレプリケーションを行うと失敗するケースが多分にあります。一般的には、MySQL 5.1.x を実行しているスレーブは、マスタで使用しているバージョンが古い (MySQL 3.23、4.0 または 4.1) でも使用できますが、その逆の場合はできません。
こんなぐあい。

実は去年の MySQL カンファレンスの MySQLジーニアスバーで直接聞いてたりもしたので、知っていた。

自分の手で replication 作ったことがないんだけどね.... orz....

MySQL のサイトはリファレンスマニュアルがしっかりしていていいなー、となにか調べる度に思う。一部古いのもあるけど、、。

2009年9月6日日曜日

Snow Leopard は XQuartz がちと古め

X112.4.0 - XQuartz

があるのだけど、これは(今書いてる時点では) Leopard 用だけ・・・。

10.6 だと
XQuartz 2.3.4 (xorg-server 1.4.2-apple45) が入ってる。

X でふんふんする人ではないけど、どうせなら新しくしたいなぁ。。

と、みたところ MacPorts にもあるのか。

% port search XQuartz
xorg-server @1.5.3-apple15 (x11, devel)
The X.org / Xquartz X server.

xorg-server-devel @1.5.3-apple15 (x11, devel)
The X.org / Xquartz X server.

Found 2 ports.

NAS が壊れた! - その2

査定額でた・・・
  。    。 スポポポポーン!!!
 。 。 。 ゚
  。゚。゜。 ゚。 。
 /  /
( Д )
被害は甚大です。。
XFS がお逝きに・・・

こんどは FreeNAS で ZFS ふんふんして作るのがいいかなぁ・・・。
使ってたのは↓左端のふるーーい型。(もう生産中止)

[Mac OS X] 10.6 - Snow Leopard のちょっといい点

その1

スクリーンショット(command + shift + 3、もしくは領域を選択できる 4)
を撮ったときのファイル名が 

スクリーンショット(YYYY-MM-DD H.MM.SS)

になっててちょっとイイ。

(前は 1, 2, 3... と付いてた)

その2
Finder で並び替えしたときススーッと動くようになってキモチいい

2009年9月5日土曜日

NAS が壊れた!

自分で samba 入れてシコシコ作るのが面倒なので、
某B社製の NAS を使っていたのだけど、壊れてくれました orz...
買ったのが 3年2ヶ月前くらい。うーむ。

当時 FreeNASOpenfiler を知っていたらそいつで作ってたかな。いつからあるんだっけ。。と、
FreeNAS は 2006年
Openfiler は 2004年っぽい

どうしようもないので、これをみて、銀座へ行くことにしたよ・・・

無料査定、で査定額みて
  。    。 スポポポポーン!!!
 。 。 。 ゚
  。゚。゜。 ゚。 。
 /  /
( Д )
とならなければいいなぁ・・・・

さてさて、どうなることやら・・・。

2009年9月3日木曜日

Mac OS X 10.6 - Snow Leopard にした後 MacPorts であれこれしこしこ入れ直してんだけど、ビルドに失敗するようになったもの



"深追いはしてないので、ひょっとしたら問題なくできるのかもしれない。けどビルドできなくなっちゃったなとほほー" 、というものを書く。

今のところ以下。何か入れようとして失敗したら随時追記予定。書いたものがビルドできるようになったら適宜修正。

python26 できた (9/7 確認)
gauche できた (2010/1/7 確認、2009/11/22リリースの Gauche 0.9 で Snow Leopard 対応してた。)
sbcl できた (2010/1/7 確認)
ccl
ghc
erlang できた (9/4 確認)

徐々に修正されつつある。
MacPorts の ML やら リポジトリみてればわかるんだろうけどね・・・
そこまでやる気力なし・・

プログラミング言語関係は厳しい・・・? (ruby19, perl5.8, python30 は ok
% uname -v
Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386

% port installed perl5.8 ruby19 python30
The following ports are currently installed:
perl5.8 @5.8.9_3 (active)
python30 @3.0.1_4+darwin+ucs4 (active)
ruby19 @1.9.1-p243_0 (active)

% file /opt/local/bin/{ruby1.9,python3.0,perl5.8}
/opt/local/bin/ruby1.9: Mach-O 64-bit executable x86_64
/opt/local/bin/python3.0: Mach-O 64-bit executable x86_64
/opt/local/bin/perl5.8: Mach-O 64-bit executable x86_64

% port provides /opt/local/bin/{ruby1.9,python3.0,perl5.8}
/opt/local/bin/ruby1.9 is provided by: ruby19
/opt/local/bin/python3.0 is provided by: python30
/opt/local/bin/perl5.8 is provided by: perl5.8

追記: その後 python30 無くなって、python31 が現れた。
% port search python30No match for python30 found
% port search python31
python31 @3.1 (lang)
An interpreted, object-oriented programming language

入れた。

% port provides /opt/local/bin/python3.1
/opt/local/bin/python3.1 is provided by: python31
% file /opt/local/bin/python3.1
/opt/local/bin/python3.1: Mach-O 64-bit executable x86_64

環境としては、
- 10.6 を Upgrade DVD で入れて
- Developer Tools を入れて (アップグレードした時点で消されるのねぇ)
- /opt/local 全消ししてから
- 最新 MacPorts を dmg で入れなおした
という状態で、10.5 の時に入れていたものをちくちく入れ直し中、そんな状況。
variants で universal があってもつけずに入れる方針。うれしさがわからん。

python26 がビルドできなくなったので、それまで python26 で 野良make して入れていた mercurial は python26-apple(OS付属のpython. python_select での呼称) で 野良make しなおした。

ので python_select は今のところこんなん。mercurial 用でしか使ってないからpython30 と python31 はディスクのこやしに、、、、
% python_select -s
python26-apple
% python_select -l
Available versions:
current none python26-apple python30 python31

2009年9月2日水曜日

Mac OS X 10.6 の mach_kernel

PowerPC 捨てだけど
ppc 残ってるのはなんでだろう。(ほかのバイナリも)
% uname -v
Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386
% file /mach_kernel
/mach_kernel: Mach-O universal binary with 3 architectures
/mach_kernel (for architecture x86_64): Mach-O 64-bit executable x86_64
/mach_kernel (for architecture i386): Mach-O executable i386
/mach_kernel (for architecture ppc): Mach-O executable ppc


ls なぞは ppc なかったり. (bash もなくて zsh は あったり.まちまち.)
% file /bin/ls
/bin/ls: Mach-O universal binary with 2 architectures
/bin/ls (for architecture x86_64): Mach-O 64-bit executable x86_64
/bin/ls (for architecture i386): Mach-O executable i386

2009年8月28日金曜日

2009年8月18日火曜日

[Linux][netfilter] とある NAT-box

のちょーしが悪かった、らしい。「らしい」としかわからんのよね。
(担当らしき人がいなくなった、みなしごサーバのため。。)

それでもなんかすぐできることはないのかな、と
ちょいとログをみるに、

ip_conntrack: table full, dropping packet.

がずらっと刻まれてた。。はぁ。

値はすでにかなり大きく設定(12万ちょい)されていて、かつ積んでるメモリ(2G)から計算するに、もうあげられない。んーー。

参考)
Netfilter conntrack performance tweaking
On i386 architecture, CONNTRACK_MAX = RAMSIZE (in bytes) / 16384 =
RAMSIZE (in MegaBytes) * 64.
So for example, a 32 bits PC with 512MB of RAM can handle 512*1024^2/16384 =
512*64 = 32768 simultaneous netfilter connections by default.

But the real formula is:
CONNTRACK_MAX = RAMSIZE (in bytes) / 16384 / (x / 32)
where x is the number of bits in a pointer (for example, 32 or 64 bits)


2009年8月9日日曜日

[VPS] 今度は provps にした

今使ってるのから、 provps に徐々に移行。
使っている、といっても前かいてるように

・おうちに置かずに
・ssh ではいれて
・root つかえる

というのであればいいので、スペックは今のより少し落とした。VPS 256 プラン。
アドレスはムダに追加2つ。( +$2 / month)

自宅からだと、vpslink で借りてるところよりも

・round trip time が「きもち」短い
・TTL の減りが「きもち」少ない

両方 US だから、ほとんどかわらん。


Ubuntu 8.04 でイメージを作って起動し、ちょっとさわりはじめてハマった。
(なぜ Intrepid や Jaunty でないのか、は、選択できる Ubuntu で最新のが Hardy だったから。LTS だからかな。)

というのも、ssh-keygen で鍵を作って、今使ってる他の VPS なサーバの authorize_keys に追加して鍵認証で入ろうとしたところ、全然入れない。
パーミッションがおかしいわけでもないし、 別ポートで sshd -ddd や ssh -vvv しつつ入ってみてもだめ。。

なんだろなーと思っていつものようにログ (/var/log/auth.log) をみてみると、、、あー。すぐわかった。。
Aug 9 XX:XX:XX xxxx sshd[12394]: Public key xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx blacklist
ed (see ssh-vulnkey(1))

これは、Debian GNU/Linux に含まれる OpenSSL/OpenSSH の脆弱性な鍵だ、、。orz..

いや、でも aptitude update して safe-upgrade してから作ったから新しいよな−、と思ったものの、、apt-line がウンコだったので以下に書き換えた。
deb-src http://mirrors.kernel.org/ubuntu hardy main restricted
deb http://mirrors.kernel.org/ubuntu hardy-updates main restricted
deb-src http://mirrors.kernel.org/ubuntu hardy-updates main restricted
deb http://mirrors.kernel.org/ubuntu/ hardy multiverse universe main restricted
deb http://mirrors.kernel.org/ubuntu hardy-security main restricted
deb-src http://mirrors.kernel.org/ubuntu hardy-security main restricted

改めて safe-upgrade して、鍵を再作成&鍵追加しなおして問題なくログインできましたとさ。

ssh 周りで嵌るのはひさしぶりだったなー。

経験上、「ログをみる」とだいたいのことはわかることが多い。
あとは Google 先生でさらに絞ることができる。
残りはマニアックなものか属人性によるものか、ニッチなものか、かなぁ。


おまけ
・かなーり前つかってたところ
linode
前は User Mode Linux だったけど、Xen になってるのな!使い続けてたひとはどう移行したんだろ?
・今つかってるとこ
vpslink
・使い始めたとこ
provps

探し方が悪いのか、国内で同じくらいのがないんだよなぁ。。うーん。やや割高&初期費用とられたりするし。。

2009年8月6日木曜日

tmux

tmux がよさそうなので使うことにしたよ。

tmux
・BSD ライセンス
OpenBSD のベースに取り込まれた (tmux 作者は OpenBSD の中の人にもなったとか.)
compat 以下、strlなんたら.c とか strtonum.c があるので OpenBSD 由来のコードつかってるのがみてとれる。

参考にしたところ:
時代はGNU screenからtmuxへ

tmux 入れてみた

インストール
- Mac OS X (MacPorts)
$ sudo port -v tmux

- FreeBSD (portupgrade)
$ sudo portinstall misc/tmux

- RPM
http://rpmfind.net/linux/rpm2html/search.php?query=tmux&submit=Search+...
DAG Packages というのであるけど、やや古い

- 野良make
http://downloads.sourceforge.net/tmux/tmux-0.9.tar.gz
↑こっからとってくる
$ tar zxf tmux-0.9.tar.gz
$ cd tmux-0.9
$ ./configure
$ make
$ sudo make install
(たとえば $HOME 以下に入れたかったら sudo make install PREFIX=$HOME のようにすれば ok )

でも、ソースを落としてきて入れるなら、HEAD のがいいんじゃないかなと思う。
バージョン0.9、とある ちょいふるい GNU/Linux だとこんなコンパイルエラーがでたりした。
cc -DBUILD="\"0.9\"" -D_GNU_SOURCE -D_POSIX_SOURCE -I. -I- -c -o compat/strtonum.o compat/strtonum.c
compat/strtonum.c: In function `strtonum':
compat/strtonum.c:56: error: `LLONG_MIN' undeclared (first use in this function)
compat/strtonum.c:56: error: (Each undeclared identifier is reported only once
compat/strtonum.c:56: error: for each function it appears in.)
compat/strtonum.c:58: error: `LLONG_MAX' undeclared (first use in this function)
make: *** [compat/strtonum.o] Error 1

てきとーに LONG_LONG_ほげ に書き換えたら通ったけどねん。

んで、cvs でのソース取得方法は以下
$ cvs -d:pserver:anonymous@tmux.cvs.sourceforge.net:/cvsroot/tmux login
(Enter おす)
$ cvs -z3 -d:pserver:anonymous@tmux.cvs.sourceforge.net:/cvsroot/tmux co -P tmux

入れたあとの設定
よくわからないのでいまのとここれだけ、、。
set-window-option -g utf8 on
set-window-option -g mode-keys vi
set-window-option -g automatic-rename off

set-option -g status-bg blue
set-option -g status-fg yellow

set-option -g prefix C-t
unbind-key C-b
bind-key C-t send-prefix
C-b は screen の時に使ってた C-t に変えた。? でヘルプがみられるので、ちょこちょこみて使ってればそのうち覚えるでしょう。

2009年8月3日月曜日

デジもの処分

使わなくなった MacBook Pro, iPod, docomo の携帯電話 SH-04A を処分した。
定期的に"もの"は処分するのがよい。

3年経つのは早いね。

2009年7月13日月曜日

島根の技術者

という本があるようで、実家から送ってもらった。
(尼でぽちるからいいよ、と言ったのだけど、、1-2週間で発送ということもあり、、。ものを買ってもらうのは抵抗あるんだよねー、いいかげん。さすがに地元だと店頭にたくさん?ならんでるようで。)



当然ながら、「島根で(はたらく)技術者」ということだな、これは。
NaCL の前田さんが載ってた。面識はない。

編者は母校の「学生支援GP出版委員会」だそうで。
山根先生と徹ちゃんしかわからんな。。

ちゃんと読もう。

でも、こういうのをみると、情熱大陸みたく
「あー、このひとすごいなー、うん。しっかし、一方自分ってなんもないよなー。がはは!」
と思って萎えること必至。

2009年5月25日月曜日

エソヅニヤの未来サミット 0905

タイトルを変にしたのは検索回避のため(とくに内容は無いし)

前日にイベントの存在を知り、当日はust で見ていた。

第一部、ひととおりパネラー陣の自己紹介が終わった時点で、用事があるので外出。。λ....
ほとんどきけず

第二部、そそくさと帰ってきてほぼ最初から見ることができた。
ちょこちょことメモをとってみたけど、まぁ誰かが詳細なログとってると思うので、ここに書くことはなかろう。

自分の場合、やっぱり一番「あー、そうそう」と思ったのは山崎さんだったな。
過去の話もニヤニヤしながら聞いた。


「エンジニア」ってひとくくりにされるのはなんだかねぇ。

2009年5月19日火曜日

EC2、 いろいろ機能充実らしい

とタイトルにはかいたけど、ぼくは使ってないので周辺事情に大変疎かったり。

内容は以下
ここ
・Elastic Load Balancing
・Auto Scaling
・Amazon CloudWatch

(読めばわかるけど)ロードバランス、オートスケール、監視機能、と。

ITProあった : Amazon EC2に冗長化/負荷分散などの機能加わる

wakame の動向が気になってくる.

2009年4月29日水曜日

[Mac OS X] VPN

職場には外部からの接続用に VPN 環境が整えてあるのだけど、

「まー、ぼく外からつながないよなー。休日におうちいながら働くようなワーカホリックじゃないし。フヒヒ。」

とおもって試さずにいた。

どうも、「windows マシーンからだと繋がんねー!つかえねー!」 とみなさん口をそろえていう。
管理者に相談し、「接続環境にもよるので mtu をごそごそいじくってみては?」 といったやりとりをしているようで、、。
エンジニアならそれを自ら解決してなんぼだとおもうけど。。

それはさておいて。

windows での設定例しかメールで流れていなかったため、ためしに Mac OS X から接続テストをした。以下手順。

システム環境設定

ネットワーク

左下 "+" をクリック

インターフェイス: VPN
VPNタイプがニョキッと現れるので
VPNタイプ: L2TP over IPSec (管理者に教えてもらっていたもの)
サービス名: てきとう
で、"作成"

作成したものを選択している状態から、
サーバアドレス: 管理者に教えてもらっていたもの
アカウント名: 同上

認証設定... をクリック
ユーザ認証: 管理者に教えてもらっていた項目を選択
コンピュータ認証: 同上
で、"OK"

接続をクリッククリック!
ぶじ接続完了。
あとは「メニューバーに VPN の状況を表示」にチェックを入れておくといい。

接続先がなんなのか(なにが動いているのか)は不明なんだよなぁ。「詳細なログを作成」でわかるんかな。

windows はおうちでほぼつかわないので試す気はない。。
(追記: 自宅の環境だとなんら問題なくできた、いや どういうわけか ESET Smart Security 切らないとダメなようでややハマった。うーん。深追いはしない)

2009年4月24日金曜日

クラウドをつかむ



先月買って、さらっとだけ読んで放置していた、、。

今クラウドふんふんはどうなってるのよ?というのをつかむのにいいよ。
UNIX magazine 、6月18日売分で最終号というのが残念

2009年4月23日木曜日

Wakame について

刺身さんが書き綴っているので特別書くことが無いなー。と思いつつ、wakame について少し書こう。

まず、紹介。
4/22、株式会社あくしゅ が、Wakame をリリース。(バージョン 0.3)

Wakame のサイトから引用
「Wakame」は、株式会社あくしゅが、中心となって開発している、ネットワーク構成を自動でマネージメントするためのエンジンであり、それに関するサブプロジェクトを含むプロジェクトの総称です。
s/ネットワーク/サーバ/ ?

実は先週、Wakame についてのプレゼンをしてもらった。
自分は未だに EC2 を使ったことがないものの、どんなものかは軽く知っていた。(クラウドクラウドいってる世の中だし、、)

現状、 EC2 に対応。FAQ を見た感じだと、これが「Wakame EC2」というものになるようだ。


特徴は
-スモールスタート
-マネジメントネットワーク
-オートスケーリング

スモールスタートは、web系(と呼称していいのかな) だと当然といえば当然、某ブログサービスも最初は一台だった。

マネジメントネットワーク/オートスケーリングがキモ。サーバ群の launchd みたいなもの。オートスケーリングについては、その解釈にもよるけど、実際に適用できるかやや疑問ではある。たとえばスパイクが起きたときにサーバがウニウニ増えてくれたとしても、ピークは終わってたりする。この場合にオートスケーリングに期待しててもダメ。使いどころを考える必要有り。

蛇足ながら、、、
ここで「ネットワーク」と言うのがあってるか疑問、EC2 的にはあってたりするのかな。個人的には「サーバマネジメント」がしっくりくる。
(たとえば「SNMP」は Simple Network Management Protocol だよねぇ。と)

でだ。もし自分でつかうとしたら、、、いまのところひとつ。

・(敢えて)外向けのサービスではつかわず
・自分(たちの)ための「分散させるなにか」の作業(たとえばなんとかの集計、とか)を
・起動〜集計タスク実行〜停止

させ、いわゆる cron でやってる、結構負荷がかかって台数が多いと有利な処理に使うかなぁ。。となると Amazon MapReduce だねということか?うーん。

使いたいときだけぽちっと起動させて必要な処理「だけ」させて停止させるのは EC2 おいしいです!と言える。まさに「計算機資源」を買っている状態。

と、書いてみたものの、これって誰かすでにやってるよなぁ。。間違いなく。
EC2 関連、全然アンテナ張れてない。。

仕事柄(?)、雲の中に常時起動させておくサーバがあるのは、そこそこ年を取ったせいかキモチワルイ。今のところは。Amazon EC2 によるインフラが、たとえば CDN でいう Akamai のような存在になったなら違うだろうなぁ。自分の場合は、どことなく感じている (クラウドの中にある|Wakameの自動化による)「怖さ」をいかに払拭するか、かなぁ。

えーとなんだかまとまりが悪くなってきたけど、上の層のエンジニアにとってはかなり魅力的にうつるんじゃあないかな、と思う。「サーバのことなんてしちめんどくさいから、おれのつくったクールでキッチュなうぇぶアプリケーションをうごかすサーバどもが楽に増えればいいんだよ!こまけぇこたぁいいんだよ!設定しとくからおちるなよ!スケールしろよ!」という人にはささりやすそう。

一方、それ以外、とくに非エンジニアのひとにとっては理解が難しそうだ。

・ん?スモールスタート?それ大丈夫?ちゃんと計画してよ?
・マネジメントネットワーク?当然でしょ?余所のひとが作ったもの使うのやめてよ?
・オートスケーリング?勝手にふえる?なにそれ?お金かかるでしょ?予算をきめ(以下略

まぁ、こういうようなひとはまず Amazon EC2 とはなんぞや、からだろうけど w

まとまりがないまま、了。ねむいのであとで見直して大幅に書き直すかも。

2009年4月20日月曜日

Software Design 2009/5

Software Design 2009年5月号

Amazon さんでポチってたのがきてた。
これ一冊だけでダンボール使われるので、地球に優しくないなー。

新連載多い。9本。

FreeBSD インストールしてみました、の記事は今後「これには無理だろ。。」と思えるマシンに入れるのを期待。

RFC に学べ!もよさそう

ZABBIX は、、業務ではつかいそうにないけど個人的に興味

組み込みの記事は、、だいぶ分野が違うので読まない(読めない)

Emacs トラノマキは、まぁ。。

第二特集の ZFS 記事は実践入門だけあってわかりやすい。
でも、業務では Solaris 10 無いし, FreeBSD は今後つかわないし、利用する機会はなさそうだ。至極残念。Linux で FUSE 経由で使う手はあるけど、ねぇ。

AsiaBSDCon 2009 のレポートは良かった。

2009年4月19日日曜日

FreeBSD勉強会いけなかった

2009年4月10日 ≪注目≫gihyo.jp FreeBSD勉強会 第0回申し込み開始,≪注目≫Flash10登場,≪注目≫NFSv4サーバ機能のマージ開始

ってことで、「ヒャッハー勉強会ダゼェ」と思ってここぞとばかりに応募したものの、

第0回の応募倍率は3.5倍!

だったようで、見事に外れていけなかった。

でも、実は申し込んだあと都合が悪いことに気づいて(会社で社員どものつどいがあった)、もしあたってても結局キャンセルするはめになったんだけどね。

第1回がいつなのかヲチしておこう。。



社内ではどういうわけか異様に評価が悪いというか、毛嫌い?するひとが多くて社内で話題にすることはしない。絶対に。Yahoo! 並に使いこなしてないと、そんなもんなんだろうなぁ。そもそも OS まわりに興味のありそうな人もみあたらない気もする。それに、かそうかかそうか言ってるから、GNU/Linux 一択になってしまうのはうなづける。

まぁそれでも、数ヶ月前にとあるサーバ群を僕の独断と偏見で Jail を使ってサーバ減らしたんだけど。19台 -> 5台。ものは減ったけどサーバ数としては変わらんので微妙っちゃ微妙。サーバ数自体を減らせない、とある過去のしがらみがあったのでやむをえず。

Perl 関連

最近 Perl 関連で bookmark したもの、の一部

Perlは古い? イメージ復権へ普及団体「JPA」始動、技術者レベル底上げへ

なぜ今Perlか - parsley の日記

Perlの啓蒙と促進を目指す「Japan Perl Association」発足 - スラッシュドット・ジャパン

Perlが嫌いなやつはPerlプログラマだ! 嫌いじゃないやつは、訓練されたPerlプログラマだ! - hylom の日記

Perlがダメな理由 - あもあもダイアリー日記

Perl Sucks - and what to do about it � SlideShare

スラドが多いのは気のせいだよ!
Perlが嫌いなやつは〜〜のエントリは「ふんふん、ふんふん」と噛みしめつつ読んだ。

2009年4月16日木曜日

memo - MySQL で tcmalloc つかう

ネタとして古いのは否めない。
ちょうど一年前に関連するもの書いていたんだけど。

LD_PRELOAD でなくてビルド時にリンクさせる。

x86_64 な GNU/Linux でのみ試した。

- libunwind
http://ftp.twaren.net/Unix/NonGNU/libunwind/

- google-perftools
http://code.google.com/p/google-perftools/downloads/list

いずれも ./configure ; make ; make install なりなんなりで入れとく
必要なら ldconfig

(かったるいので、その後 libunwind, google-perftools 共に RPM つくった)

- MySQL
configure 時に
--with-mysqld-ldflags="-ltcmalloc" つける
個人的には --with-mysqld-ldflags="-ltcmalloc -lstatic" かな

いれたあとは ldd で見たり mysqld 起動して lsof してみたりする

ベンチをとるならやっぱり sysbench で。
「とりあえずこうやっとけ」という項目は気がむいたらまとめる。

追記:
なんか、「ruby tcmalloc」で見に来るひとがときどきいるみたいなので追記。
Ruby Enterprise Edition
は、ビルド時に(可能なら)tcmalloc を使うようにしてくれるっぽいよ。
tar玉展開して、 installer.rb をみればそれっぽいのがみてとれるよ。
source/distro 以下には google-perftools がある。
なので powered by tcmalloc な ruby を使うなら、これがいいんじゃないかな。

2009年3月30日月曜日

某ストレージ

数ヶ月前、某ストレージについてなんかよくわからないけどなりゆき?で調査することになって、これもまたよくわからないままなんか適当に調べてみたものの、結局はとある設定を1つ変更したら解消して(自分はコマンドわからないのでやってないけど)、自分がやったことってなにも得るものはなかったなー、と残念な結果だったな、てのを改めて思う。ゼロ知識(資料も)で DataONTAP を触るなんてむぼーだ。はぁ、とても空しい。。

2009年3月24日火曜日

結婚します

友人が。

っても、籍はすでに入れたってーことみたいなので、(式がまだ)
「はて?結婚てば、なにを以て結婚ていうんだっけ?あれ?」

と素朴な疑問が・・・

そこで wikipedia の登場です。

結婚 - 定義
日本においては、婚姻届を出し戸籍に記載される婚姻を結婚と定義することもある。

その他にも以下のような要素に着目した様々な定義のしかたがありうる。

* 社会的結びつき
* 経済的結びつき
* 人間的結びつき
* 法的正当性

結婚は必ずしも同居を伴わず、単身赴任等で離れて暮らしていても婚姻関係は成立する。つまり親族以外の両性の心理的繋がりが婚姻状態であると言える。

内縁関係であっても、実際に夫婦関係が構築されているのであれば、結婚と同様に扱われるケースがある。

広辞苑では「婚姻」の定義として、「結婚すること」とした上で、「夫婦間の継続的な性的結合を基礎とした社会的経済的結合で、その間に生まれた子が嫡出子として認められる関係」としている。

フランスにおいては、結婚は契約として解される。そのため、契約書を取り交わす必要があり、挙式だけでは(それが教会で行われようと)法的に結婚を行ったとは認められない。

2009年3月23日月曜日

COC

細マッチョ、ゴリマッチョ」の CM が妙にツボ。
で、ふと思い出したのが COC.

以前、2ch スレ紹介サイトかどこか経由で彷徨い行き着いた。

目指せ握力166kg! 世界最強の「キャプテンズ・オブ・クラッシュグリッパー」で漢を磨け!

166kg て、、 ・・・・・・ゴクリ

学生のとき計った結果がたしか 40kgw ちょい。でもあれってクラッシュ力(wikipedia より)でしかない。

wikipedia 調べだと、平均は
# ヒト--成人男性50kgw>成人女性30kgw
なのでやや下回る。。まぁ体格を考慮すると特に鍛えてない以上、こんなものか。
COC だと
トレーナー 44kg程度 初級~中級者向け
ここらがピッタリ!

買わないけど。

2009年2月22日日曜日

lenny で MySQL 4.0.x をいれようとする人がいた

前、以下のエントリを書いた

- FreeBSD 7.0 で
- MySQL 4.0.x を手でいれてみる(諸事情により ports つかわず)
- コンパイルが通らない
- ports をみると gcc 3.4 だと ok
-- 使わないにしても最初からみろ、という話ではある..
- なので gcc34 を package でいれて対応

新しいOSには新しいアプリケーションだよなー

と締めたんだけど、最近 これをバグとして登録したよー
というコメントをもらう・・・。
いや、、4.0.x はもうサポート外なんだけど、、知らなかったのかな。

EOL Announcement -> http://www-jp.mysql.com/support/eol-notice.html

件のバグレポート -> http://bugs.mysql.com/bug.php?id=43063

しかもつい最近でた lenny でしようとしてる。さらにダメダメな気がする・・・。
案の定、「サポート切れてるから新しいのつかってちょー」と返されてるし。

この場合も gcc 3.4 でイケるのかわからないけど、
つけてもらったコメントに返しておいた。バグレポートに書かれたログを見る限りは同じ症状だ。
あとで試してみるかもしれん。

2009年2月11日水曜日

マルチスレッド・プログラミングについてきかれても困る、の巻

タイトルのとーり。

最初、「Dragonfly てどうなの?」と聞かれた。

(瞬時に、「てめぇで調べろや!」と思った。思っただけね。)

プロダクション環境で使ってる事例は聞いたことがないなー、(どこかにはあるのだろうけど) もしかして HAMMER でも使いたいのかなーと思って聞いてみると、

・あるマルチスレッドなプログラムを作成中
・FreeBSD, GNU/Linux で動かしてみている
・或る条件で(聞いたけど忘れた) 、CPUをやたらと食うようになる(但し動作にはなんら影響なし)
・プログラムの書き方が悪いのかはわからない
・ほかのOSだとどうだろね

といったことらしい。。
libkse やら libthr 周辺の話題はそれとなーく追ってたり、MySQL でベンチとって比較してたりする記事をよく目にしていたりはしたものの、

そもそもぼく自身はマルチスレッドプログラミングなんぞしてない

ので、ぼくに聞くだけ無駄なのよね。。それに、「何が問題なのか」がはっきりと汲み取れなかったりして。。

Dragonfly のスレッドライブラリは FreeBSD の libthr の中のひとと作者がおなじ (David Xu) はずで、それをしれっと伝えた。libthread_xu.so て名称だったようなきもするなぁ。デフォルトのスレッドライブラリになったのは確かそんな前でもないんで、あんまり枯れてないんじゃないのかなぁとも伝えた。詳しくは知らないけども。

あと、別のOSでごにょごにょする余裕があるなら、そこは Solaris とか、、
windows で pthreads-win32 とか、、(Google Chrome でも使われてるっぽいし! about:credits でそんなのがみてとれる) すすめてみた。

もし自分が同じような状況で、「正しく」コードをかいていたなら、スレッドプログラミングなMLにポストしてみるかなぁ。あればだけど。

2009年2月7日土曜日

DQ XV

前回 dq10.jp みてみた。けど、10以降もあるんだろうなーとおもったら、 dq15.jp までとってある。


% whois dq16.jp
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]

No match!!


% whois dq15.jp|nkf -w
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]

Domain Information: [ドメイン情報]
[Domain Name] DQ15.JP

[登録者名] 株式会社スクウェア・エニックス・ホールディングス
[Registrant] SQUARE ENIX HOLDINGS CO., LTD.

[Name Server]

[登録年月日] 2008/10/02
[有効期限] 2009/10/31
[状態] Active
[最終更新] 2008/10/02 17:49:53 (JST)

Contact Information: [公開連絡窓口]
[名前] トムソンコーポレーション株式会社 トムソンブランディ
[Name] Thomson Corporation K.K. Thomson Brandy
[Email] admin@thomsonbrandy.jp
[Web Page]
[郵便番号] 105-0002
[住所] 東京都港区愛宕1-3-4
愛宕東洋ビル11階
[Postal Address] 1-3-4, Atago, Minato-ku,
Tokyo
[電話番号] 03-5733-6120
[FAX番号] 03-5733-6130

2009年2月5日木曜日

C のコード

さほど気合いはいれずになにかのコードでも読もう。