写真
写真を載せてみた。夕焼け。
« 2007年04月 | メイン | 2007年06月 »
写真を載せてみた。夕焼け。
GWは知人と3人で今流行り?の開発合宿をやってみました。ネットで紹介されていた、水上のペンション木馬に2泊滞在。ひたすら開発。時々温泉。ひたすら開発。いい湯でした( ´ー`)。
こんな感じ。
快適な環境と適度な緊張感で過ごす時間は、確かに作業にはとても効率の良いものでした。2日とも昼過ぎから作業を開始してしまったりと、時間の使い方には多々反省点がありましたが、それでもかなりの成果が上がったと言えます。本当は作ったものを公開するまでやるつもりだったのですが、そこまでは辿り付きませんでした。残念。
ペンション木馬のオーナーは理解のある方でとても助かりました。無線LAN完備。カードも無料で貸してもらえます。広い食堂のテーブルを作業環境として使わせていただいたので作業環境としては完璧。申し分のないものでした。コーヒーも飲めるし。
Mac好きとのことで食堂に歴代のMacが飾られているのが微笑ましいです。客用の共用PCがVine Linuxだったりとかなりマニアックな方のようでした。値段の割りにご飯も美味しいし温泉にも入れるし、先例があるだけあって開発合宿には適した場所です。ただ、ブラシやバスタオル等のアメニティが「ない」のは減点ポイント。そのくらい置いて欲しいです。ちょっと困ってしまった。
アップライトピアノが置いてあるので、次に行く機会があれば譜面を持って行きたいかも。静かで環境の良い場所なのでできればのんびり長期滞在してみたいものです。ただ交通の便が悪いので、基本的にクルマで行くべき場所ですね。
合宿を終えての反省点や感想をいくつか書いておきます。
前日まで何の計画も立てずにいたので、かなり甘い見通しで作業に入ってしまいました。
私が突然言い出したので同行してくれた二人も計画や準備を行う時間がなく、初日の半分は皆、作業計画に費やすことになってしまいました。大変申し訳ない。
また、ろくに見積らなかったので私の場合は作業量が多すぎてローンチまで行くことができませんでした。
宿も、直前までどこに行くかも考えていなかったのでほとんど選ぶこともできませんでした。昔から旅行の計画を立てるのは苦手なのですが開発合宿はきちんと準備しておくべきだと、痛感しました。(´・ω・`)
初日に到着したのは15時。2日目に本格的に開始したのは午後になってからでした。2日共深夜まで作業はしていましたが、もっと効率よく時間を使えたのではないかと思います。折角特殊な場所と時間を演出しているのだから時間は最大限に活用すべきでした。
開発合宿に温泉は付きものですが、体験して見て効果を実感しました。温泉に入ると一気に行楽気分になれます。気分転換にとても良いです。次は露天風呂のあるところがいいなぁ。
観光はあまり好きではありませんが、静養は楽しめるのかもしれません。忙しく過ごしてはいましたが、これは多分そういう類の行動なのだと思います。
概ね満足できたので、近いうちにまた企画することでしょう。
知人よりintelのギガビットNIC(Intel PRO/1000 MT Desktop Adapter)をもらったので、NIC交換するついでにネットワークのベンチマークを行ってみました。
ベンチマークにはNetPerfを使いました。NetPerfはI/Oの速度に関係なくネットワークの速度が測れるツール、らしい。サーバとクライアントの双方にインストールします。いつものようにサーバはFreeBSD、クライアントはMac OSX。ローカルエリア内での測定です。
# cd /usr/ports/benchmarks/netperf # make install # rehash # netserver ←サーバを起動しておく。
ftp://ftp.cup.hp.com/dist/networking/benchmarks/netperf/ よりnetperf-2.3.tar.gzをダウンロード(最新バージョンはmakeがうまくいきませんでした。)
makefileを修正。CFLAGS = -O -D$(LOG_FILE) -DNEED_MAKEFILE_EDIT ↓ CFLAGS = -O -D$(LOG_FILE) -DUSE_PROC_STAT -DDO_FIRSRT_BURST
# make # make install
# /opt/netperf/netperf -H myserver.com TCP STREAM TEST to myserver.com Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 65536 65535 65535 10.00 62.89
# /opt/netperf/netperf -H myserver.com TCP STREAM TEST to myserver.com Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 65536 65535 65535 10.02 17.88
有線でのスループットが62.89Mbit/secであるのに対して、無線では17.88Mbit/secでした。大体予想通りの数値です。
さて、本題のNIC交換です。intelのNICなので対応しているとは思いましたが念のため下記でFreeBSDの対応状況を確認しておきます。下記にあればブート時に自動認識してくれます。
FreeBSD/i386 6.0-RELEASE Hardware Notes
http://www.freebsd.org/releases/6.0R/hardware-i386.html#ETHERNET
/etc/rc.confを書き換える。
# vi /etc/rc.conf #ifconfig_sis0="inet 192.168.0.4 netmask 255.255.255.0" ifconfig_em0="inet 192.168.0.4 netmask 255.255.255.0"
元々はSiSのカード(IO DATAのもの)でしたが、今回はintelに変更するのでem0としておきます。
この後はさくっと電源を落としてNICを取り付け、ケーブルを新しいNICに挿して起動します。連続稼働は343日でした。安定安定。
再計測(有線)# /opt/netperf/netperf -H myserver.com TCP STREAM TEST to myserver.com Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 65536 65535 65535 10.00 63.95
ギガビットNICにしたのに全然変わらないwwwww
まぁサーバとクライアントの間に100BASE-TXのHUBが2個挟まっているので当然なのですが。
初めてNICを交換してみましたが意外に簡単でした。次はHUBを交換して速度比較してみたいものです。
何故か早起きした土曜日。ふと思いついて余っているmacminiをサーバにしてみることにしました。Yellow Dog Linuxを入れるつもりだったのですが、PowerPC対応の日本語版は現在販売していないので別のOSに。
何を入れようか探していたところ、慣れているFreeBSDがあったのでこれを入れてみることにしました。FreeBSDは6.0からPowerPCに対応したようです。Tier 2なのでβ版という感じですが、遊ぶ目的なのでこれを選びました。バージョンはFreeBSD 6.2-RELEASE。
これでディスクをフォーマットできました。
あらかじめ、http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼いておきます。
macminiのちょっとした問題点はCDの取り出し機構がないこと。上記作業後はMac OS X CDが入ったままなので、Command + Option + O + F を押しながらブートしてOpenFirmwareプロンプトに入り
http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼き、「C」キーを押しながらブート。後は通常のFreeBSDと同じようにインストールするだけでした。
バーティションは/のみ。swapなし。それ以外ではインストールに失敗します。 当初、これでもエラーが出ていたのですが、再起動して同じ事を試したところ、何故かうまくいきました。
ここまではすんなりと進むのですが、なかなか起動せず四苦八苦。http://people.freebsd.org/~grehan/install.htmlを参考にして以下のようにしたところうまくいきました。
0 > dir cd:,\ 0 > boot cd:,\boot\loader 0 > set currdev=hd:3 ※ディスクユーティリティで確認できるパーティション番号 0 > boot -s
起動時には毎回このプロセスを辿らなければならないので、リモートでのリブートができない状況です。これでは公開用サーバには使えません。解決する方法はありそうですが、起動したところで満足してしまったので今回は追いませんでした。
ということで、取りあえずpowerpc版mac miniをFreeBSDサーバとして使うことができるようになりました。mac mini、まだまだ活躍してくれそうです♪
参考
要するにFreeBSD版のWindows Update。最新版へのバージョンアップではなく、当該バージョンにおける脆弱性の修正らしい。ソースツリーを取得して再構築する必要なしに、FreeBSD セキュリティブランチを容易に追いかけることができる、と。
freebsd-updateのインストール
# cd /usr/ports/security/freebsd-update/ # make install # cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf # rehash
アップデート実行。バイナリパッチをダウンロードしてからインストール。
# freebsd-update fetch # freebsd-update install
再起動後、適用を確認する。
# shutdown -r now # uname -a FreeBSD hoge.example.com 6.0-SECURITY FreeBSD 6.0-SECURITY #0: Wed Feb 14 12:22:36 UTC 2007 root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
最後にcronに登録しておく。こうしておけばバイナリパッチが提供されている場合にrootにメールで告知してくれるそうです。
# vi /etc/crontab 0 6 * * * root /usr/local/sbin/freebsd-update cron
参考
ちなみに、ppc版はツールのインストールすらできませんでした。この辺がTier2ってことか・・。
# cd /usr/ports/net/cvsup-without-gui/ # make install ===> cvsup-without-gui-16.1h_2 is only for alpha amd64 i386 sparc64, and you are running powerpc.. *** Error code 1 Stop in /usr/ports/net/cvsup-without-gui. # cd /usr/ports/net/cvsup/ # make install ===> cvsup-16.1h_2 is only for alpha amd64 i386 sparc64, and you are running powerpc.. *** Error code 1 Stop in /usr/ports/net/cvsup. # cd /usr/ports/security/freebsd-update/ # make install ===> freebsd-update-1.6_2 is only for i386 amd64 alpha sparc64, and you are running powerpc.. *** Error code 1 Stop in /usr/ports/security/freebsd-update.
前回のエントリーでご指摘を頂いたので早速試してみました。portsnapはFreeBSD の ports ツリーを更新することができるということ。CVSupよりも効率的らしい。6から標準で入っているので、バージョン6.2のFreeBSD/PPCでも動きました。ということでメモメモ。
# portsnap fetch && portsnap extract && portsnap update
初回はこれで持ってきてportsツリーを展開する。
# portsnap fetch && portsnap update
2回目以降はこれでOK。
今更DBICでなくCDBIネタ。事情によりmy.cnfを書き換える事ができないのでset names utf8しようとしたらやり方が判らず、しばらくいらいらしたのでメモ。
環境はMySQL 5.0.18 + Class::DBI 3.000014
package MyApp::Model::CDBI; use strict; use base qw[ Catalyst::Model::CDBI Class::DBI::mysql ]; __PACKAGE__->config( dsn => 'DBI:mysql:dbname=データベース名', user => 'データベースユーザ', password => 'データベースパスワード', options => {}, relationships => 1 ); 1;
package MyApp::Model::CDBI::Users; use strict; use base 'MyApp::Model::CDBI'; __PACKAGE__->db_Main->do( q(SET NAMES utf8) ); __PACKAGE__->set_up_table('users'); 1;
上記はCatalystのModel例。
ちなみにDBICは下記のような感じでいけるらしい。
__PACKAGE__->connection( 'dbi:mysql:foo', 'root', { on_connect_do => ['SET NAMES utf8'], }, );
Golden Best ~15th Anniversary~ (通常盤) ZARD ビーグラムレコーズ 2006-10-25 売り上げランキング : 1 Amazonで詳しく見る by G-Tools |
ネットで訃報を見て愕然としました。ファンという訳ではないしCDは一枚も買ったことがなかったけれど、最も音楽を聴いていた頃に何度となく口ずさんでいました。好きな曲なら、いくつもあった。
そんなに聞いてたわけでもないし近頃は存在すら忘れかけていたのに、自分でも驚くほど衝撃を受けました。悲しいです。
週末になったら、一枚目のZARDのCDを買いに行きます。