2009年8月25日火曜日

間が空きすぎ・・・

忙しすぎるというか・・・

間があいた。あいたあいた。

最近ではPHPの開発も、PDT+svnになって、まあ快調といえばうそではない。
だが複雑になったシステムの問題を片付ける能力は足りていない。 そう、
PDTとsvnを一人で使っても、一人ではチーム戦は出来るわけではないのさ。


                         まいった。

2009年7月11日土曜日

家からPCを追い出し、再び設置しなおす。

10日ほど前、むかっ腹を立てた私は、リビングを占領していた
自分のパソコンたちをすべて会社に放り込んだのである。
1日2日は、環境の変化に戸惑ったがそこはそれ。 人間は環境変えると
活動方針も変わる。 

まず変わった習慣。

・掃除をまめにするようになったこと。

ゴミ貯めのような一部屋を完全に整理してもう一度そこで仕事ができるように
することを実現できた。 仕事の効率も少しあがるといいのだけれど、液晶
アームも会社の向こうに持ってってしまったし、液晶を2枚買い足さないと。

2009年6月7日日曜日

GNU screen

最近物覚えが悪い。
何かやりっぱなしで移動している。

そーすると困るのは遠隔端末のやりかけの作業。
何をしてたか忘れている。 いやソレよりも困るのは、
勝手にデタッチされた端末でゴニョゴニョ続くジョブが
端末も無く、電源が切られるかプロセスが殺されるまで、
永遠に入力を待っている。 こいつは大量のCPU資源を
喰うようなので減らしたいが、出先でどうしても続きの
作業をしたいとかいう事態は常にある。

なら、screenを入れてみよう時にもなるのだ。
実際使ってみると気持ちが悪いくらい便利なんだが、
今までputtyを数多く開いて並行処理をしている人間だから、
最初にログインしたホストから、さらに別のホストを開くことが
多い。 デタッチして終わるとscreenで結合されたいくつかの端
末が出来てしまうことが判った。 これにはちょっと困る。

とかいってもやはり便利なんで、勢いあまって、 ついにscreenの
ログインシェル化をやったら、今度は scp を掛ける時に具合が
よろしくない。 ”ターミナルにつなげなさい”といって切れる。

何か抜け穴を見つけないと使えないなあ。

2009年5月28日木曜日

2009年4月24日金曜日

PHPのIDEは

ようやく仕事が一段落すると、開発環境の見直しをしなくちゃ成らんと思う。もちろん一人勝手にやってるのだけれど、誰が見ても恥ずかしくないものを作りたいと思うと、ドキュメントは大切だと思う。

Ecripse/pleiadesあたりのIDEを使うと、JavadocみたいなものをPHPでも見やすくしてくれんだろうかとほのかに期待するものの・・・。

PHPの仕事では、オブジェクト指向の端緒についたとはいえ、その実はかなり行き当たりばったりのコードが満載されているために、再利用が難しい状況

もちろんプロジェクト内で、同じようなフォームになることはめったにないが、CSSくらいは統一しておきたいので、そのようなメタファイルにおいてもいいものも、出力メソッドを用意して呼び出すようになった。たぶん、ずいぶんと管理するコード量が圧縮された。

 オブジェクト化が進むにつれ、次第次第にクラスは、雛形のクラスから拡張した実装を追加するようになる。すると、単なるエディターでは前に作った基本クラスから呼ばれるメソッドの見通しが悪い。 やっぱり無駄でも、再実装時に余計な上書きするしかないのだ。

MVCの分化もまったくといって進んでいない現状なので、もー、フルPHP+Javascriptでの継続を諦めて、GUIはFlash/AS3、AJAX絡みの裏にPHPがあれば済むなんて方法をぼーっとながら考えている昨今です。

進むも堅し、戻るもムツカシ。

2009年3月28日土曜日

去年からspamの増えた原因はっ!

最近、点検してまわっているのである。
そしたら、足元を掬われる思いである。

本来はsmtpdを動かさないところで、
動かししてるサーバがあるのは知っていた。
そこに変な穴があけられていた・・・。 orz...
自社ドメイン宛のメールは、受け取るサーバが決まってるのよ。

もー阿呆な後輩を持つとどうもならんわ。

再教育しようかとマジなやむ。もう少し目を光らせていないとまたやらかすであろう。
つーかね、余計なメールを受け取るように設定するなよ。 無茶な要求をだしてくる客の
受け取りたいメールは、その客だけが受け取ればいいから。 ね、K君よ。

ったく、ほかにも発注2台を1台にしちゃうわ、こっちの頼み方が悪いんだろうけど。
これはないぜよ。

2009年3月22日日曜日

SharpDevelopとかこのタイプのツールについて

こっちもまた、Microsoft系お仕事で使って、もう2年以上過ぎた・・・・。

VB.Netな案件2つくらい片付けたくらい。

小生、あんまりソフトウェア資産を持ってないし、それも相当多方面に分散投資しているので(=悪く言えばチャランポラン、あてずっぽうにコードを書くので)、開発環境にこだわることは無いが、あえて言えば無料で無いと・・・。

お試しくらいで終わってしまう開発に、大枚叩くほど、暇じゃないのです。

敢えて言うとPHPとかにIDE使えるとありがたいのですが、あんまり気に入ったのが無い。Eclipseも以前に入れたことがありましたが、非力な開発環境だったもので気に入らなかった。

ということで、今は

・VB6.0
・PHP(単なるエディタだけ)
・VB.Net
・AS3
・python

程度はすぐ取り組めます。もし rubyやれだの、tclがあるんだけどとか、perl読めだのC#やれだのいわれればそれなりの努力はしますです。

FlashDevelop

半年くらい前に、頼まれてFlash/Flexの開発にはじめて取り組んだことがあった。

AS3のことはよく知らなかったが、まー、あの手のECMAな奴はどこか似ているから・・・半月ほどで簡単なものをこしらえることができた。

当時、同時並行的にPHPのオブジェクト指向なコードスタイルに移行したものもやっていた。仕様が固まらなかったので、先週あたり漸く終わった仕事だった。

んで、機材を入れ替えた際にちゃんと動くかをまた試すことに。

まったく忘れている気がする。インストールした際のこととか・・・
3ヶ月触らないと記憶の片隅にも無いらしい。

挑戦しつづけること

何でも新しいことに飛びつこう。

私には、100才になんなんとする大叔父がいるのである。

このヒトがまた新し物好き。

Googleのツールをよく使っている。 SKYPEも便利そうに使う。

見習うというより、どうも同じ血がどこかに流れているらしく、比較的保守的でもありながら新しいものにも挑戦したいことがある。

2009年3月14日土曜日

今ほしいもの




PCを取り替えついでに色々増やしたものがある。USB関連のHUBとか。

バスパワードなHUBはモバイルPCむけではあるが、バッテリが気になるスマートフォン向きではない。
んで、ほしい物はUSB充電器兼USBハブだったりするのだ。

2009年2月19日木曜日

NEXSM動かない原因

動かない原因がわからない……
デバッグのためログをとってみたが、正しくクエリが出ている。
phpは開発も保守もやってるので、お手のモノと思っていたが、
Java-Applet越しだとどうなってるかわからない。
「NO Gzip Format!」というエラーが出たんで、その線を探る。

phpスクリプト側が GZIPを使うのがだめだというのであれば、
止めてしまえばいいのかと思っていろいろいじったがダメ。
アプレット側がどうしてもGZIP'ed データがほしいというのだ。

 apacheがgzip圧縮に対応してないんかなと思っていろいろしてみるが
それでもない。

面倒だな~、Java側弄ってしまうかと思ってみたら、アンマリ弄りたくない
状態になっている(あちこち圧縮がらみの記述が多いから弄ると大騒ぎになる)
ので、これもできない。さて困った。

んー、PHPがGZIP圧縮できてないとか!?と思い立ったのはその時だった。

んで、portsで入れたんだから、 portsのphp5-extensionsみたら、全然入ってなかった・・・・・。orz..............

原因が分かった感じなので、さっさとコンパイルして、突っ込んだらちゃんと出るじゃない。
最後に一発エラーが出たけど、さほど重要じゃないポイントであったので構わないことにした。


んで、動かしてみたら、なんてことはない。 ただのネットワーク図が得意なJUNG派生アプレットじゃねえかこれ。 まあユーザインターフェイス的には面白いし、自由にレイアウト変えられるけれど・・・


結局、ネットワーク的なトポロジーを考えたようなデータを作ったりするわけじゃないじゃん!?

ということで、Nagiosいじりはまだまだつづくことになりそう。

NAGIOS & NEXSM

NAGIOS は 古くはNetSaintから発展した、かなりメジャーな統合監視システムである。

わが社では監視エージェントとして4つのシステムで100台前後を監視しているのであるが、やはりフリーソフトだからだろうか、幾分表現力に欠けるところがある。特にネットワーク図などの面倒なものについては、普通に使うとスター状のものしか書けない。 まあホストベースでの監視だから、スター状トポロジーで監視が成り立つのは普通なんだが、NRPEと複数のNAGIOS監視システム間で連合し、ネットワーク全体の監視システムに作り上げることも不可能ではないので、複雑なネットワーク形状を表現できてもいいのだが、やはり樹状図しか書けない。

そこで NEXSMを試すことにしたのだ。
前日の "JUNG"、java環境の構築はそのために行われたのである。

かなりてこずりながら、 必要とされる coltやら、common-collectionなどを揃えた。

私は、物事に取り組む際に最初からはさして判ってないが取り組むうちに、見えてくる人間だし、Javaは別に知らないでも怖くも、なんともなくてただただ動かせるようにするのが面倒なだけである。

今回のシステムの概要が見えてきたのは、必要なものを揃え終わってから、さあビルドすっかとえっちらみると、おやまantが要るんだ。 makeじゃないんだ、蟻んこが要るんだ…と、もう探す探す。

antが入ったら、common-collectionを作ろうとするがうまくいかん。 どうも野良ビルダには難しいので、jakarta-common-collectionから行こうかと動かしてみる。 まあこっちは、ちゃんと入った・・・っつか、javacが動く環境あればそんなに大変じゃない。

そんなこんなで、ようやく nexsmを ant でビルドができるぞ! とやると、今度はライブラリがないと騒ぐ。 いろいろ調べるとどうもライブラリの入る libsディレクトリに全部叩き込んでおかないとだめらしい。 しかも、バージョン依存だたりするので、common-collectionも3.2.1だけど、3.1に無理やり名前を変えて叩き込んだ。 jungはバージョン見てなかったのに気がついたが、あとから「組み込んじゃってるから要らない」的な記述発見! 何だよ~。

ビルドしてみたらあっけなくできてしまう。 java環境をこしらえるのと違ってなんてことはないのだ。

 んで、次にやることは・・・ INSTALL.TXTによれば、htmlというフォルダを 公開してどーちゃらこーちゃら。 phpが動かんとダメよん的な書き方をしていたので、もうすでにphpを入れたapache2.0が準備してあるわけで、まーこれでNAGIOS本体も動いているわけでね。

 公開フォルダにphpファイルの設定ファイルがあって、ちょっと手こずり。 これは書かれた通りにやれば何のことはないのだけれど、ちょっとしたミスが発覚。

 あとBASIC認証なんて気休め程度の保護を、手順通りに突破する方法が準備されてないらしく、大胆かつ屈辱的にURLにパスワードも入れておかなきゃならん状態。 ま、https使えって感じで、そもそも、うちもその辺見られても触られても良い(所詮NAGIOSで出来ることは知れてる)投げやりなので、別にいいんですけどね~。

ここまで来て、クライアントから見てみるとappletが立ち上がりました。 んーよく考えてみれば、ターゲットでしかJava動かさないんだよねこれ。Serveletですらない。PHPが動きゃいいんだ? ってなことにいまさら気がつくわけですよ。 ってことは~、わざわざ苦労してまでJava稼働環境をFreeBSDマシンにこしらえる必要なんかさらさらなかったわけでして・・・・・。

・・・・動かない。

2009年2月17日火曜日

JUNG

Javaな世界は避けていた。10 年くらい前に、痛い目に逢っているからだ。

とはいえ、避けるのは難しいな。

FreeBSDで、Java6を始めるにあたっては

/usr/ports/java/jdk16

から始めるのが最も楽だろう。まあ、make と打つと、ライセンスがらみでいろいろ言われるから、次のものを手で拾い集めてくること。

jdk-1.6.0.3p4_8
 jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar

上の奴は、簡単。 下のは手間がかかる。

jce_policy-6.zip
bsd-jdk16-patches-4.tar.bz2
tzupdater-1_3_11-2008i.zip


まあ、この辺を拾い集めてくれば jdk の 「材料」 はそろったが肝心のコードをコンパイルするための道具がないので、これも後から拾って来いと言われる。

diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

と、これらを集めると1時間かそこらでコンパイルは終わる。私のマシンは Athlon64/3500+(AM2+)でディスクもそれほど速くない機材。今2009年時点でも非力なもんだからもう少し早く片付く人の方が多いだろうね。


つことで、とりあえず 続きはまたあとで。

2009年2月6日金曜日

復活させるのにかかった時間・・・

先日ライブラリを消してしまっておかしくなったマシン。
/ を入れ換えただけで済み、 /usr /var は保全された。

しかし古いライブラリに依存するバイナリが多数残る。

make buildworld は当然だけれど、それ以前に perl すら動かない状況に頭を抱えることになる。

ldd * して、片っぱしからダメなバイナリをリストし、makeしなおした。
portupgrade/portmaster を計三回 forceオプションでやり直したら、
ようやく消えた。

その作業が完了するのに1日半くらいかかっている。
ライブラリがないので、当然動いていていいはずの基礎のツールが死ぬことで何度も portmasterが死んでしまうし、 rubyも死んでるので、 portupgradeもちゃんと動かなかった。
肝心のNAGIOSは、すでに別のマシンに移してしまっており、多少がガタガタしたが、今は問題もなく動いているので、慌てることはないのだが。

今回の目論見的には、サービス多重化が大きいかも。サービス多重化は将来的に落ちないシステムへ変わるだろう。

2009年2月4日水曜日

FreeBSDマシンをダメにし、復帰させる。

FreeBSD5.x時代から、連綿とアップグレードをかけ続けてようやく7.1p2迄更新をかけたマシンで、古いライブラリを消してしまったとたん破綻したお話。

古いライブラリを頼りに動いていたものばかりだったのだ。たぶん、7.0Relが動いていたもの。

buildworldして新しくなっていたはずなのに…。酷い目にあった。

そこで、レスキューを実施したが、バージョンが違うとレスキューがひっかけないし、何を間違えたか i386で構築したつもりで、amd64のマシンだったことに後から気が付き…。

壊しまくってしまいました。 まあ、/usr/local とか保全出来たのでよしとしよう。

2009年1月27日火曜日

くそ速くてでかいサーバは

バーチャルサーバのホストに最適。

客先の、Dell PowerEdge2900/III(Xeon 4 core 2.66GHz/4GB ) Windows2008サーバに VMware Server を入れてみた。 客は仮想化について一切言及しなかったけれど、客が望んでいる方向に限りなく近いソリューション。

これで、ばらばらにインストールされたWindows2003サーバたちに引導が渡せるのかもしれない。
しかもFreeBSDも乗るんだ。これが単体のサーバよりもなんかかなり速い。

ますます年をとった気がする。


Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.1-RELEASE-p2 #0: Sat Jan 24 16:39:50 JST 2009
root@mail:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz (2662.37-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x1067a Stepping = 10
Features=0xfebfbff <FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS>
Features2=0x80080201 <SSE3,SSSE3,SSE4.1,<b31 > >
AMD Features=0x100000
real memory = 536870912 (512 MB)
avail memory = 511299584 (487 MB)
ACPI APIC Table: <PTLTD APIC >

.....

メンテナンスの日々

FreeBSD7.1がやってきた、ヤアヤアヤア。

ということで、あちこちで FreeBSD7.1 アップグレードを行っている。
でも、あっという間に patch2 になっていた… RELよ、さようなら。
パッチ2よいらっしゃい。


なんて、悠長なことは言っていられない。複数プロセスを回すと落ちる
システムがあって、なぜか make buildworld が流れないとかそんなのが
あちこちに。

しかし、Core2ベースのシステムはめちゃくちゃに速い。

2009年1月16日金曜日

FileAlterationMonitor

ファイルアルタレーションモニタ。

って、gaminを調べてたら出て来やがつた。

ということで、ピンときた。

内部統制がらみの仕事で使えるツールかもしれぬ。
ま、使えない人にはごみと同じ。

IRIX/SGI出自の由来を持つツール。 gaminはそれのyet another なんちゃらである。
どこで使いますかって、たぶんそれはサーバで、ファイルの更新が行われたかを逐一教えてくれるような仕事。 んー、でもこれはファイルサービスを行っているアプリケーションレベルサービスデーモンをdebugログ付きで動かして、ログからアラートを拾って送ったり、騒いだりしても等価な仕事(むしろ、より細かい)ができるように思うのだが違うかな。

監視コストが少なければ買いなのかも知れぬ。

2009年1月14日水曜日

日々更新

FreeBSDを扱っていると、セキュリティアドバイザリが時折くる。
30台前後常時扱っている関係で、毎日が更新作業の日々となってしまう。

Nagiosで監視しているが、更新作業直後は、いろいろな問題が出てくる。
ひたすら手作業が必要なので面倒である。

かといって、自動化をいろいろするのは、トラブルの元である。
やはりメンテナンスは目で見てやらなければ。

2009年1月10日土曜日

リモコン無くして

DiGAのリモコンが何処かに行ってしまった・・・。

んで、作業できなくなってしまったことがいくつか。そもそもこのDiGaはちょっとケチったためにPCから作業できるらしいがディーガマネージャーなるものがついておじゃらぬ。 もちろん、ビエラリンクはかなり便利で、ビエラ本体からコントロールできるし、HDMIケーブルからデータを送ることができるようだ。 昔から使うことのできた赤外線リモコンIF経由での更新はそれよりちょっと遅いためケーブルテレビのリモコンからはリンク技を使うことができない。

出来なくなってしまったのは、番組の分割保存。 DVD-Rに焼き付けるとき 4.7Gbytesの壁に阻まれるため、データを間引いて無理やり片面1層分4.7GBのメディアに押し込める(つまりLPモードに落とす)かしかない。 仮に2層分あっても分割はどうしても必要…というのはDVD-Rドライブの特性だろう。

また分割ができない理由として、ビエラリンク経由でのリモコン操作では再生中のビデオを編集するような操作キーがないことがある。 つまり分割ポイントまで放置するかということになるが、そんな状態ではタイムアウト状態になってしまってうまく分割できないようだ。

そこで、大枚はたいて高機能なリモコンを買ってきた。 最近のこの手の統合用リモコンは、テレビもDVD/HDDドライブ、チューナ類も一個のリモコンで管理できてしまう・・・。

あとからWebで調べたら、本体付属品よりも高かったのが判明。

2009年1月7日水曜日

地球にやさしく

FreeBSDで "powerd" について、正しい認識を得たので書いておく。

無駄に発熱するだけのCPUに電力を食われるのは、誰の役にも立たない。

sysctl -a dev.cpu.0.freq

で、クロック周波数を確認することができる。 最近の機材では、
CPUの動作周波数を変更できるものが多く、FreeBSDそのもので制御できる。

それが "cpufreq" モジュールと "powerd"である。
さすがに4年以上昔の機材では使えない。
だが、LGA775、Athlon64+くらいからは、CPUクロックを変えられる。

powerdは、負荷に応じてクロックを下げられる。 これを起動しておくと
待ち受けとか立ち上がりはもっさりするが、CPUの消費電力を大幅に削減できる。
まあ、しょぼいマシン群では75W~100Wが、30W~70Wになる程度だが、数多い
機材を抱えるサイトではこれが効いてくると思われる。

こんな基本的なこと、まだやってなかったのだ。


/etc/rc.confに、以下の1行を追加。

powerd_enable="YES"

動いてない場合なら、

# powerd

をたたくとよい。

2009年1月5日月曜日

停電ではないが・・・・

休みに入ると、ふだんより電圧が上がってイベント発生する機材がある。

田舎ほど、こういう時に電圧が上がって困る。
溶融塩蓄電池にでもためておけないものかね。


ある常時インバータ方式ではないUPSは、バッテリ駆動に変わってしまう。
安物だから仕方がないが、どうにかしてほしい。

2009年1月2日金曜日

年始早々のメールは

停電だかなんだかの為に、やたら警報メールが出る。

もう、癪に障ったので、Nagios は 止めてしまった。

散々な年明けだった。 まあ今年はもう少し安全保障の観点から(笑)仕事をしよう。