2011年5月18日水曜日

Hunchentoot で2chブラウザを作ってみた


このエントリーをはてなブックマークに追加


この程度でかなり苦労してしまった・・・

Win7 + CCL で動作してます。

参考>> HUNCHENTOOT - The Common Lisp web server formerly known as TBNL
参考>> CL-WHO - Yet another Lisp markup language
参考>> Common Lisp で Web アプリを作るためのブランクプロジェクト
参考>> (Lisperp sakuranbo) => t を目指す日記 会社から投稿テスト



2011年5月15日日曜日

自宅環境再構築のためヤフオクへいくつか出品


このエントリーをはてなブックマークに追加


家の環境を再構築するため、使用頻度の低い機器を放出。ヤフオクに出してるから良かったら買ってください。

Sun Ultra 27 Xeon W3520/12GB/2TBx4/Quadro1700+380 完売

HP110G6 Xeon X3430/8GB mem/160GB 7.2krpm SATA メーカ保証有 1台目 完売

HP110G6 Xeon X3430/8GB mem/160GB 7.2krpm SATA メーカ保証有 2台目 完売

入札が入ってない状態なら、twitterかここのコメントで連絡いただければ最低金額でお譲ります。

もし売れたらFC系でも購入しようかしら


2011/5/26
無事完売いたしました!ありがとうございます!


RHEL ストレージのベンチマークで便利なヤツ vm.drop_caches


このエントリーをはてなブックマークに追加


ベンチマークするときは毎回キャッシュをクリアしましょう。

RHEL6のman proc より抜粋。
/proc/sys/vm/drop_caches (Linux 2.6.16 以降)

このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。

・ページキャッシュを解放するには、echo 1 > /proc/sys/vm/drop_caches とする。

・dentry、inode を解放するには、 echo 2 > /proc/sys/vm/drop_caches とする。

・ページキャッシュ、dentry、inode を解放するには、 echo 3 > /proc/sys/vm/drop_caches とする。

この操作は非破壊的な操作で、ダーティな (dirty) オブジェクトは解放されないので、この操作を行う際は最初に sync(8) を実行しておくべきである。


仮想環境を使って簡単にRHEL6のiscsiマルチパスを検証する


このエントリーをはてなブックマークに追加


iscsi + multipath は仮想環境を使うと簡単にテストできるので、初めて本番環境で触ることになる人とか、触ったことないけどどんなものか知りたいって人はこの方法を試してみてください。

Table of Contents
=================
1 準備するもの
 1.1 仮想化ソフト
 1.2 Solaris10の環境
 1.3 このテストで構築している環境
2 ストレージサーバの準備
 2.1 仮想マシンの作成
 2.2 仮想マシンのネットワーク構成
 2.3 Solaris10のインストール
 2.4 Solaris10の準備
3 iscsi クライアント
 3.1 RHEL6でのテスト
  3.1.1 準備
  3.1.2 iscsiセッションを張る
  3.1.3 補足
  3.1.4 マルチパスを構成する準備
  3.1.5 マルチパスの設定
  3.1.6 マルチパス化されたストレージを使う
  3.1.7 テストしてみる



2011年5月14日土曜日

モテるSolaris女子力を磨くための4つの心得「パッケージの依存関係を解決できない女をアピールせよ」


このエントリーをはてなブックマークに追加


1.あえてUFSを使う

 あえてUFSを使うようにしましょう。そしてITインフラ勉強会で好みの男がいたら話しかけ、わざとらしくサーバを電源OFF/ONで強制再起動して、fsckを走らせましょう。。そして「あ~ん!このファイルシステム本当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「ファイルシステムとか詳しく無くてぇ~!ずっとこれ使ってるんですけどぉ~!再起動するとfsckしちゃうんですぅ~!ぷんぷくり~ん(怒)」と言いましょう。だいたいの男は新しいZFSを使いたがる習性があるので、古かったとしても1世代前のUFS loggingを使っているはずです。

 そこで男が「Solaris10にしないの?」と言ってくるはず(Veritasとか言い出す営業力あふれる男はその時点で他社へ再見積もり依頼OK)。そう言われたらあなたは「なんかなんかぁ~!最近Btrfsが人気なんでしょー!?あれってどうなんですかぁ?新しいのほしいんですけどわかんなぁぁああい!!私かわいそーなコ★」と返します。すると男は「SolarisならZFSでしょ? BtrfsはLinuxだよ。本当によくわからないみたいだね。Solarisのバージョンいくつを使ってるの?」という話になって、次のSolaris Night セミナーに一緒に行けるという訳です。あなたの女子力が高ければ、男がデータ移行してくれるかも!?



2.ネットワーク設定にipadm/dladmを使うとモテる

 ネットワーク設定をipadmやdladmを使うと、ファイル直接編集派やifconfig派の男性ユーザーは「そういうのもあるのか!」や「新しいコマンドも便利かも」と思ってくれます。dladmやipadmは非常にオプションが多いので、dladm show-dev -s -i 1 e1000g0 とか ipadm create-addr -T static -a 192.168.1.10/24 e1000g0/v4 等の一見凄そうに見えて実は普通、なコマンドを使うことによって、男性はあなたを可憐なSCSA保持者と勘違いしてくれるのです。もちろん直接ファイル編集でも全く問題ないので、どちらでも好きな方を選びましょう。



3. とりあえずSPARC男には「えー! なにそれ!?  知りたい知りたーい♪」と言っておく

 飲み会などでSPARC男が女性に話すことといえばT3のスレッド数自慢や、いかにT3の省電力が優れているかの話ばかり。よって、女性にとってどうでもいい話ばかりです。でもそこで適当に「へぇーそうなんですかぁ~?」とか「よくわかんないですけどすごいんですねぇ」と返してしまうと、さすがの男も「この女、x64だな」と気がついてしまいます。x64女だとバレたら終わりです。そこは無意味にクロック数をあげて、「えー! なにそれ!?  Apache動かしたーい♪」と言っておくのが正解。たとえ興味がない話題でも、データセンタでの電力・スペースコストとバイナリ互換性の話でその場を乗り切りましょう。積極的に話を聞いてくれる女性に男は弱いのです。

 いろいろと話を聞いたあと、「T3は16core/cpuで、8スレッド/core で最大128スレッドなんですね! 覚えたぞぉ! メモメモ!」とコメントすればパーフェクト。続けてzfs でスナップショットをとりつつ「キュンキュンキュン! キュンキュンキュン!」と言って、「どうしたの?」と男に言わせるのもアリ。そこで「BCPサイトのUnified Storage にzfs send |ssh zfs recv しているのでありますっ☆」と言えばSolaris女子力アップ! そこでまた男は「この子バックアップだけじゃなくてssh でセキュリティも気にしてる!?」と思ってくれます。大容量のバックアップはリストアが大変だったりしますが、zfs cloneとrollbackでリカバリーも簡単。運用者は簡単な手順書が好きですからね。



4.構築ではパッケージの依存関係を解決できない女をアピールせよ

 まっさらなSolaris環境を見つけたら、真っ先にXEmacsなどの依存関係が複雑なパッケージをpkgaddしようとして「あーん! 私これインストールできないんですよねぇ~(悲)」と言いましょう。するとほぼ100パーセント「どうして?IPS使わないの?」と聞かれるので、「IPS嫌いじゃないし使いたいけど使えないんですっ><」と返答しましょう。ここでまた100パーセント「IPS使えるのにどうして使わないの?もしかしてpkg-util派なの?」と聞かれるので、うつむいて3~5秒ほど間をおいてからボソッとこう言います。「……だって、……だって、IPSで依存関係も解決して、自動インストールしちゃったら、同じバージョンの環境が構築しにくいじゃないですかぁっ! 開発者さんかわいそうですぅ! 開発環境と本番環境の構築時期がずれただけなのにぃぃ~(悲)。本番環境でバージョン違いによるバグが出て徹夜ですよ……」と身を震わせて言うのです。

 その瞬間、あなたのSolaris女子力がアップします。きっと男は「なんて開発者に優しい天使のような基盤SEなんだろう! 絶対にプロジェクトにゲットしてやるぞ! コイツは俺の女だ!」と心のなかで誓い、あなたに惚れ込むはずです。意中のプロジェクトに参加することになったら、そんなことは忘れて好きなだけIPSでパッケージいれて大丈夫です。「IPS使わないんじゃなかったっけ?」と言われたら「提案書で使わないって言ってない」とか「開発するの私じゃないし」、「議事録にも書いてない」と言っておけばOKです。



参考
http://kirei.biglobe.ne.jp/news/detail/20110426162331_pch19894
http://d.hatena.ne.jp/Yuzuemon/20110508/1304799524
http://tech.kayac.com/archive/moteru-js-joshi.html


Ultra24/27が最強ZFSストレージサーバになる奇跡のパーツを発見!


このエントリーをはてなブックマークに追加


Sun Ultra24/27は外見、スペック共に最高グレードだと勝手に思い込んでるんだけど、唯一の欠点が内蔵HDDを4台しか搭載できないこと。
http://www.sun.com/desktop/workstation/ultra24/

今回はその欠点を覆す救世主を発見したのでご紹介。



cl-twitter を使ったフォロワーを自動で増やすサンプルプログラム


このエントリーをはてなブックマークに追加


Twitterのフォロワーを増え方を調査した時に見つけた、フォロワーを自動で増やすプログラムをまねて作ってみた。

1週間ほど動かしたところ、1000 → 3000までフォロワーが増えました。

勉強がてら作っているので、かなりコードはしょぼいです。エラー処理はコンディションが良く分からなかったので無視。リスト処理も集合処理を知らなかったので力技で処理してます。



Clozure CL に乗り換えてみた


このエントリーをはてなブックマークに追加


Win環境でSBCLから乗り換えて使ってみた感想。



2011年5月11日水曜日

VirtualBox rawdisk on Windows7 host


このエントリーをはてなブックマークに追加


やっとやり方が分かったので掲載。

1.管理者モードでコマンドプロンプトを実行

2.VBoxManage コマンドでパーティション情報を確かめる。
c:> VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive2
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x06  0   /32 /33  1023/254/63        102400         2048
2       0x06  1023/254/63  1023/254/63        374537    209717248

c:> VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive3
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x06  0   /32 /33  1023/254/63        102400         2048
2       0x06  1023/254/63  1023/254/63        374537    209717248

3.マッピングする。
c:> VBoxManage internalcommands createrawvmdk -filename d:\virtualbox\rawdisk2.vmdk -rawdisk \\.\PhysicalDrive2
RAW host disk access VMDK file d:\virtualbox\rawdisk2.vmdk created successfully.

c:> VBoxManage internalcommands createrawvmdk -filename d:\virtualbox\rawdisk3.vmdk -rawdisk \\.\PhysicalDrive3
RAW host disk access VMDK file d:\virtualbox\rawdisk3.vmdk created successfully.
ここで作成したファイルを経由してrawdeviceへアクセスする。

4.VirtualBoxのマネージャを管理者モードで起動する。

5.3で作成したマッピングファイルを指定すると仮想マシンからrawディスクへアクセスできる。

何回か試したところ、パーティションを切った環境で使おうとすると動作が怪しかったので、全ディスクを割当方がよさそうかも知れない。

後、当然ながらダイナミックディスク環境ではrawdiskは使えない。


2011年5月10日火曜日

Emacs anythig から hyperspec と cltl2 を引く


このエントリーをはてなブックマークに追加


こちらを参考に、そのままで動きました。
http://d.hatena.ne.jp/kitokitoki/20100912/p1

私はCygwinを使っていないですが、w3m.exe を cygwin でコンパイルされたものを利用しているのでパスの与え方だけ注意。

cltl2.el http://www.uuhaus.de/software/cltl2.el
ドキュメント http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_ht.tgz

dot.emacs は以下