2009年02月21日

液晶用アームを買った

 寝室兼書斎においてある20インチワイド型AQUOSのために液晶用モニタアームを買いました。
 上海問屋(エバーグリーン)のシングルモニターアーム(2関節モデル):DN-ARM192という商品です。

arm1.JPGarm2.JPG
これが設置した写真。
ちょっとわかりにくいですが、AQUOSが宙に浮いています。足がないので、AQUOSの下にワイヤレスキーボード(メディアプレイPC用)を置くことができます。

 メインPCや職場のPCはデュアルモニタなのでデュアル液晶モニターアーム:DN-ARM142も欲しくなってしまいます。


上海問屋(楽天市場)←液晶用アームが3,999円からあります
posted by 鯖缶 at 09:11 | Comment(0) | TrackBack(0) | 商品紹介 | このブログの読者になる | 更新情報をチェックする

2009年02月10日

utfフラグの挙動

UTFで保存しているソースコードで、
use utf8;
とするとそのスコープ中で書かれた非ASCII文字にはUTFフラグがつきます。

例:
use utf8;
my $str = 'ほげほげ';

↑の$strに入っている文字列は、UTFフラグつき。

この場合、requireで外部ソースを読み込んだ場合、読み込むファイルでも use utf8;が必要です。


例:読み込まれるファイル(hoge.pl)

use utf8;
sub hogehoge{
my $str = "文字コード";
return($str);
}
1;



読み込むファイル(sample.pl)

use utf8;
require 'hoge.pl';
my $string = 'UTF8な';
## ↑これはフラグつき
my $exfile = &hogehoge;
## ↑これもフラグつき
$string .= $exfile;
## ↑これもフラグつき



use utf8されていない(そして中で非ASCII文字を扱う)ライブラリ等をrequireする場合は、ライブラリ側でuse utf8するか、返ってきた結果を利用する前にEncode::decodeする必要がある……みたいな感じ。

いや、1時間ほど嵌りました
posted by 鯖缶 at 16:05 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

半角カナの変換

ちょっと必要なんでメモ。

PerlでJcode.pmを使わずに半角カナを全角に変換する方法。

●Encode::JP::H2Z::h2z を使う。
use Encode::JP::H2Z;
$str = 'ハンカク';
Encode::JP::H2Z::h2z(\$str);

※Perl5.7.3からコアモジュール
 utf8では変換されない

●Unicode::Japanese を使う。
use Unicode::Japanese;
$str = 'ハンカク';
$str = Unicode::Japanese->new($str)->h2zKana->get;

※コアモジュールではない。
 CPANのサイトからソース落としてきて、実行ファイルからみてUnicode/Japanese.pmに保存したら何か動いた。(コンパイル不要?)
 隠しコマンドがある(半角全部変換とか半角カナだけ変換とか)
 どうやらUTFフラグは落とすようだ。

参考にしたサイト:
 Encodeで全角半角変換 - くれすのPerl日記
 半角←→全角変換,Unicode::Japanese に未公開機能が… - daily dayflower
posted by 鯖缶 at 12:44 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2009年01月25日

次回作構想

 インフルエンザA型で本業も副業もお休みの鯖缶です。ゲフンゲフン

 次はクイズ出題スクリプトを作ってみようかと。はてな人力検索を見ていて思いつきました。(→http://q.hatena.ne.jp/1232879008
 この手の質問って、なんか定期的にあがっているような気がするんですが、需要ってあるんでしょうか。

 Perlでならささっと組めそうだけれども、Rubyで挑戦してみるのも面白いかも。
 いや、ChildTreeの改造版早く完成させろよと。
(でもね、人の作ったプログラム(それも時代の違う)を弄るより一から自分で書いた方が楽って事もあるのですよ)
posted by 鯖缶 at 21:35 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2009年01月20日

データ用HDDが突然死の危機に

最近コード書きをサボっている鯖缶です。こんにちは

 Seagate(通称「海門」)のSATAのHDDに、ある日突然BIOSから認識しなくなるファームウェアバグ(→Gigazineの記事)が発見されてここ数日慌ただしくなっておりますが、皆様いかがお過ごしでしょうか。

 不幸なことに、cgi-bin.jpでデータ領域をRAID1で担当しているHDDが2本ともこれに該当しておりました!!
 ファームウェアのアップデートが推奨されていますが、少々迷走気味&アップデートしたら認識しなくなった!という報告もあるようなので、アップデートはしばらく保留にします。再起動かけなければ現象は発生しないようなので。

今後のこの件の予定:
 1.日立かWDのHDD(1TBがお手頃かな)を2本調達
 2./home(←データ領域)をtarで別ディスクにバックアップ
 3.サーバシャットダウン
 4.SeagateのHDDを取り外し、新しいHDDを装着
 5.シングルモードでDebian起動
 6.追加したHDDをfdisk&mdadm --create
 7./homeにマウント
 8.再起動
 9.バックアップしたファイルをコピー
 a.SeagateのHDDは別PCにおいてファームウェアアップデートを試みる

・・・GUIでサクっとできないかな。Xとかwebminとか
posted by 鯖缶 at 13:09 | Comment(0) | TrackBack(0) | 障害・メンテナンス | このブログの読者になる | 更新情報をチェックする

2009年01月01日

あけましておめでとうございます

あけましておめでとうございます。
2009年になりましたね。

ChildTreeの改造版は、2008年中にリリースさせたかったのですが、結局2009年に持ち越してしまいました。

以下プライベート。
2年参りに行ってきました。鷲宮神社に。
いやー、凄かったよ。人が。

0時5分位に参拝の列に並び始めましたが、参拝できたのは2時55分頃。3時間弱も並んでしまいました。んで帰るときには列短くなってるの。一番のピークだったのかな。

wasi.JPG

」が0時ちょっと過ぎの最後尾でした。
で、下の写真(解像度ばかりでかくて露出不足。携帯カメラなんでサーセン)が1時ジャストにだいたい高橋酒店の前くらいで撮ったもの。

SBSH0035.JPG

鳥居をくぐってからがまた長かったです。
ああ、そうそう。神社に到着した時点で(正面からではなく駐車場の方から来ました)、限定ねんどろいどの出店が出ていましたが、午前2時までだったようで、参拝が終わって戻ってみたら撤収済みでした。(いや、いいんですよ。2.5次元に興味はない……から)

 帰りは東武伊勢崎線の元旦運行を期待して鷲宮駅にいきましたが、電車の来る気配なし。なんか寝袋持参で始発待ちの人もいるし。
 反対側の口に降りてみるもタクシーの影もなし。ついでに電話ボックスにタクシー会社の番号もタウンページもなし。
 仕方ないから東鷲宮まで歩いてJR宇都宮線にかけるかと思い再度神社側の出口に出たところで、タイミングを計ったかのように空車のタクシーが参上したんで東鷲宮駅までやってもらって、3:36の電車に乗れました。

7時頃に実家から迎えが来るんで、戦利品(といってもらき☆すた絡みは1つだけ)の写真は後で撮って追加うpします。
posted by 鯖缶 at 06:18 | Comment(0) | TrackBack(0) | その他 | このブログの読者になる | 更新情報をチェックする

2008年12月11日

LinuxでO_EXLOCK使えない

 ChildTreeのファイル操作部分(ロック含め)を見直しています。
 ラクダ本を読んでいたら、sysopen関数に、O_EXLOCK,O_SHLOCKという便利なオプション(それぞれ排他ロック・共有ロック)があるのを発見しまして、「ああ、flock使わないで済むな」などと思いましたがテストスクリプトを書いてみたところ“Your vendor has not defined Fcntl macro O_EXLOCK〜”。

 グーグル先生に聞いてみたところ、LinuxのFcntlではO_EXLOCKはサポートしていないらしい。BSD系はOKらしいけど。
参考:
http://www.lingr.com/room/gauche/archives/2006/11/02
http://practical-scheme.net/wiliki/wiliki.cgi?Lingr%3a%e3%81%be%e3%81%a8%e3%82%81#H-6z2dr0

 結局、sysopenのすぐ後の行でflockしなければならないということですか。極稀だけど、その間に割り込まれる可能性があります。
posted by 鯖缶 at 01:50 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2008年12月09日

ネットワーク障害

2008年12月9日 23時頃
 cgi-bin.jpへ接続できなくなるネットワーク障害が発生しております。
 現在原因を探索中です。

2008年12月10日 0:17
 ネットワーク周辺の再設定、ルータ及びサーバの再起動によって復旧しました。
posted by 鯖缶 at 23:28 | Comment(0) | TrackBack(0) | 障害・メンテナンス | このブログの読者になる | 更新情報をチェックする

2008年12月04日

YouTubeのサムネイルとコメントを表示するYT*Tをバージョンアップ

 YouTubeのサムネイルやコメント一覧をインラインフレームで表示する「YT*T」が地味にバージョンアップなのです。

●fmt=22の例


●fmt=18の例
(追記あり)
posted by 鯖缶 at 00:16 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2008年11月06日

[Perl]リファレンスの使い方(サブルーチン編)

 備忘録を兼ねて、Perl5での無名サブルーチンのリファレンスの作り方と使用法。
 ChildTreeで「やっぱflock使えるなら使いたいよね」とか思いつつソース追ったらflock関数使ってない……。
 そんなわけで(まだ)ソースを書き換えているんですが、一部「ロック」→「ファイル読み込み」→「ロック解除」→「処理」→「ロック」→「ファイル書き込み」→「ロック解除」でロックが分断されるところがあるんですよ。処理している間に新たな書き込みがあったら、先に処理していた方が反映されなくなってしまいます。で、そんな部分がいくつかあってみんな処理が違うと。ちまちま書いていけばいいんだけど、ディレクトリトラバーサル対策のファイル名チェックとか色々やっているわけですよ。同じような処理はサブルーチンにまとめたいというわけで、異なる処理を引数にしてサブルーチンに投げてしまえってことです。(ファイルロックについては とむねこのページ > Web&Mail&Mac講座 > Perlの排他制御も参照)

(続きあり)
タグ:Perl
posted by 鯖缶 at 22:57 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする