玄箱でGD::Graph

最近、WEBでデータをグラフ表示することが多い。

今のところは、PHP&JPGraphを使うことが多いのだが、Perlでのグラフ作成もできるようにしておこうかと思って調べてみると、GD::Graphというモジュールがあるらしい。

じゃあ、こいつを使ってグラフを作成してみよう。

環境:

うーん。。。いまどき、こんな環境使ってる人いるんだろか?(笑)

GD::Graphをインストールしようとしてみる。

#perl -MCPAN 'install GD::Graph'
すると、「GDがアカンで」といわれる。

#perl -MCPAN 'install GD'
「libgdのバージョンがダメ」って言われる。

#apt-get install libgd-gd2-perl
してからやってみても変わらない。

#apt-get install libgd2-noxpm
とやって、その後
#perl -MCPAN 'install GD'
したらOK。

#perl -MCPAN 'install GD::Graph'
やっと入ったよ。

入ったら早速テスト。

前提:

  • コードを置くフォルダはCGIが実行可能であること。
  • CGIは .cgi .pl で実行可能であること
  • /usr/share/fonts/truetype/ttf-ipaIPAフォントを配置してある

ここで、http://www.gadgety.net/shin/tips/unix/perl-gd.html
のサンプルコードを元に、

#!/usr/bin/perl -w
use strict;
use Jcode;

use GD::Graph::bars;

my @labels = qw( under 10s 20s 30s 40s 50s 60s 70s over );
my @dataset = qw( 20 40 60 80 65 15 10 20 5 );
my @data = ( \@labels, \@dataset);

my $graph = GD::Graph::bars->new( 400, 300 );

$graph->set( title => jcode("にこにこ村の人口")->utf8,
y_label => jcode("人数")->utf8 );


GD::Text->font_path( "/usr/share/fonts/truetype/ttf-ipa" );

my $font="ipaexg.ttf";

$graph->set_title_font( $font, 14 );
$graph->set_legend_font( $font, 8 );
$graph->set_x_axis_font( $font, 8 );
$graph->set_x_label_font( $font, 10 );
$graph->set_y_axis_font( $font, 8 );
$graph->set_y_label_font( $font, 8 );

my $image = $graph->plot( \@data );

open( OUT, "> graph.jpg") or die( "Cannot open file: graph.jpg" );
binmode OUT;
print OUT $image->jpeg();
close OUT;

print "Content-type: text/html\n\n";

print "\n";
print "\n";
print "<img src='./graph.jpg'>\n";
print "\n";
print "\n";

というコードを、

で保存して、ブラウザから、該当ファイルを叩いてみると、
グラフが表示されるはず。

]CentOS5.3 で VNCServer を使う

ワケあって、CentOSのサーバをあげることに。

本体はサーバルームにあるので、メンテナンスは当然リモート。
なので、

  1. putty を使った ssh 接続
  2. VNC経由でのリモートデスクトップ使用
  3. Xming経由

の3つのアクセス経路を用意する。

CentOS自体は、「Server-GUI」でインストールして、
gnomeを選択すれば、一通り必要なものは入る(はず)。

あとはリモートのPC側の設定。

putty は、特筆すべき事項なし。
VNCを使えるようにする設定は、
http://blog.nyarla.net/2006/10/25/1
を参照。ここに書いてある通りにやれば、多分OK。
puttyでのssh接続ができれば、Xmingがきちんと使える状態に
なっていれば、問題なく使える。

SSDっておいしいの?

すでに隠居している COMPAQ ARMADA M300 のHDDをSSD
変えてみた。

SSD は Trancend の MLC の32G のやつ。約\8000。

Windows2000を入れてみたところ、これが快調。
起動は早いし、IE6もサクサク動く。

なんか、若返ってますよ(笑)。

SSD にするだけで、こうもぱっと見のパフォーマンスが
あがるなら、いま持ち歩いている SC3 も SSD
しようかしら。。。

工人舎のSCを買った

XPで、Bluetoothついて、44800だって。
これでポイントがつくから、実質40000ですよ。

即買い。

ソッコーでメモリ2Gに増強。

キーボードは確かにちっさいが、普通に使える。

ほんとはSSD化したいけど、結構大変なようで。。。。
悩む。

はよバックアップとらんといかんなあ。

いいたいことはわからなくはないけれど。。。

笠原一輝のユビキタス情報局

Microsoftにお願いしたいのは、はっきり言えばWindows 7のSKU見直しだ。あるいは、ULCPC版のWindows 7 Home Premiumを用意することだ。

そして、これはIntelにも言えることだが、ネットブックにかけられているハードウェア仕様の要件はぜひとも撤廃して欲しい。

うーん。。。個人的には違うんじゃないかなあと。

「機能の削り方」が間違えているだけであって、「機能を削る」ことは間違いではないと私は思う。

「PCでできることと同じこと」がネットブックでできるのなら、それはネットブックではなくてPCでしょ?
IntelやMSが言っていることは、ざっくり言えば、
 ネットブックってのは、x86アーキテクチャではあるけど、PCとは違うものだよ
ってことだよね?だからこそ、画面の解像度に制限を加えたりとかしてるんだよね?


無論、ネットブックでも「できなきゃいけない」ことはあるよね。
PCのIEネットブック版のIEで機能の差があってはいけないんですよ。
PCのIEネットブック版のIEユーザーインターフェースが違ってはいけないんですよ。
ネットブックでも、Youtubeの動画はきちんと再生できないといけないんですよ。
ネットブックでも、Googleマップはきちんと見れないといけないんですよ。

でもね、

ネットブックでOfficeが動く必要はないんですよ。
ネットブックでTVキャプチャボードが動く必要はないんですよ。
ネットブックMPEGエンコーダーが動作する必要はないんですよ。

Windows7の時には、もうちょっとマトモな「ネットブック」が出てきてくれることを期待します。

「ガンバレ!」を言いたくない:タケルンバ卿日記

「ガンバレ!」を言いたくない - (旧姓)タケルンバ卿日記避難所

人に対しても「ガンバレ」って言うのはあんまり好きじゃないのです。できれば言いたくない。それ以外の言葉を言いたい。

私もそうなんですよ。

「がんばれ」って、つい言いたくなる人って、もう、十分にがんばってたりとか、理由があって「がんばれない」人だったりするわけで。そういう人に「がんばれ」っていう意味あるのか?と。

なので、私はこれを使ってます。

「一生懸命やれ。」

Zabbix1.6.1 で遊ぶ

1.インストール
・configure でハマる。
 →libmysqlclient15-dev を apt-get
・WEBモニタリングするときはCurlが必要。
 →apt-get install php5-curl、apt-get install libcurl3-dev

configure --enable-server --enable-agent --with-mysql --with-libcurl
make と make install
で、めでたく /usr/local/sbin に入りましたとさ。

2.設定
・misc/init.d/debian 下の zabbix-server と zabbix-agent を /etc/init.d/にコピー
・zabbix-agentを書き換える
 ・DAEMON=/home/zabbix/bin/${NAME} → DAEMON=/usr/local/sbin/${NAME}
・zabbix-serverを書き換える
 ・DAEMON=/home/zabbix/bin/${NAME} → DAEMON=/usr/local/sbin/${NAME}
・misc/conf 下の zabbix*.conf を /etc/zabbix へコピー
・zabbix_server.conf を書き換える。
 ・DBHost,DBUser,DBPassword を書き換える
・fping を使うなら、 FpingLocation も設定する。

と、いうわけで、入れてはみたものの。。。。

重い!(笑)

さすがに、PowerPC200Mhzでは荷が重いか。。。