ふぁびこん

Welcomeのページにも載せている後輩に書いて貰った自画像を縮小1してfaviconにしてみました。

そうしようと思った理由は、FirefoxでRSS購読してるときに、開いたページにだけfaviconが表示されるからです。
HTML上のリンクのように、FirefoxのRSS購読機能でも既読か未読かで色分けとかできたらいいんですけど、現状ではfaviconの有無が目安になるようだったので。

  1. 縮小時に目の辺りが潰れちゃったので、少しだけ修正してあります。

2時間45分でWILLCOMの通話を切る

WILLCOMは24時間通話無料といわれていますが、実際には、2時間45分以上連続通話すると従量課金されます。
普通の電話で2時間越えることなんてまずないのですが、恋人と繋ぎっぱなしとかしているとあっという間だと思うので、注意が必要でした。

そこで重宝するのがこのソフト。
gChargeAlarm

W-ZERO31にインストールすると、通話時間が設定した時間になったときにアラームを鳴らし、それだけでなく、もうひとつ設定した時間になると自動的に通話を切断してくれます。

これめちゃくちゃ便利です。
普段あまりWILLCOM同士で電話しない方も、念の為に入れておけば役立つのではないでしょうか?

さて、このソフトが今度発売されるHYBRID W-ZERO3にも対応してくれればいいんだけどなー

  1. 僕はW-ZERO3[es]で使ってます

Firefoxに任意のショートカットキーを割り当てる

ノートパソコンに付いているマウスって使いづらいですよね。
なので、ノートパソコンでブラウジングするときは、だいたいショートカットキーを使って操作をしています。

ブラウジング中に僕がよく使う動作は、ページのスクロール、タブの切り替え、タブを閉じるの3つです。

まず、ページのスクロール。
これは普通に[PageUp]キーと[PageDown]キーで行えます。
ノートパソコンの場合、[Fn] + [↑]が[PageUp]、[Fn] + [↓]が[PageDown]に割り当てられてるものが多いですよね。
ページをちょっとだけスクロールしたい場合には[↑][↓]キーを使うので、[Fn]キーのオン/オフでスクロール量を細かく調節できてとても便利です。

また、ページの先頭を表示させたい場合は[Home]キー、最後を表示させたい場合は[End]キーが使えます。
これもノートパソコンでは、[Fn] + [←]が[Home]、[Fn] + [→]が[End]と割り当てられているものが多いので、ほとんど手の位置を動かさずにスクロール操作ができます。

次にタブを閉じる動作。
これは、[Ctrl] + [w]で行うことができます。
ちょっと手の位置は離れますが、間違って閉じてしまう確率が低くなるので、これでいいのかもしれません。

最後にタブの切り替えなのですが、Firefoxではこの動作にはショートカットキーが割り当てられていません。
というわけで、前置きが長くなりましたが、今回はkeyconfigというアドオンを使って、この動作にショートカットキーを割り当てる方法を紹介します。

サーバーでのパスワードの取り扱いについて

これは僕が学部3年のときに習ったことなのだけど、案外知らない人が多い気がしたので、ここに記しておくことにします。

ユーザーがログインするタイプのサービスを作るとき、パスワードを設定することはよくあります。
サーバーでログインの認証を行うためには、ユーザーが入力したパスワードが正しいかどうかを、プログラムの中で判定しなければなりません。
が、このとき単純な文字列比較で認証をしている人はいませんか?

万が一サーバー内の情報が流出した場合を考えると、パスワードをソースファイルの中に直に書いたり、あるいはデータベースの中にそのまま保存したりするのはとても危険です。
また、サーバー管理者が、ユーザーが設定したパスワードを容易に見ることができてしまうというのも、ユーザーとして気持ちいいものではありません。

ではどうするか。

ProFTPDのサービスへの登録

Fedoraにはサービスという管理ツールがあって、例えば

# service httpd start

このようにして、各種デーモンを簡単に起動したり(start)再起動したり(restart)停止させたり(stop)起動状況を見たり(status)できます。

また、GUIの管理ツールの中にもサービスというものがあり、ここでOS起動時に自動的に起動するかどうかなどの設定ができたりします。

今回は、自分でソースからコンパイルしたProFTPDを、このサービスに登録する方法を紹介します。

FTPが繋がらない

我が家のサーバのFTP(ProFTPD/Fedora12)に、外部からアクセスできないみたいです。

LANの外部(WAN)からのアクセスには、PASVモードを使ってもらっているのですが、これがうまく機能していないみたいで、PASVモードを使わずにLAN内から接続した場合には繋がります。

FTPクライアント(FFFTP)で繋いでみると、">PASV"と表示されたまま時間が経ち、タイムアウトになっているようなので、実際に21番ポートにTelnetで繋いで調べてみました。

PHPの標準タイムゾーン

PHPを5.3にアップデートしたところ、様々なアプリで以下のようなワーニングが出てしまいました。

PHP Warning: date() [<a href='function.date'>function.date</a>]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /www/hoge.php on line 100

これはdate()関数の仕様が変わったのが原因だそうで、date()関数の実行前にデフォルトのタイムゾーンを設定しないといけないみたいです。

設定の方法は2種類あって、ひとつは各プログラムごとに、以下の関数を実行してデフォルトのタイムゾーンを設定する方法。

date_default_timezone_set('Asia/Tokyo');

もうひとつは、php.iniで以下の設定をするという方法。

date.timezone = Asia/Tokyo

一つ目の方法ではプログラム全てに修正を加えないといけないので、僕は二つ目の方法で対処しました。

コメントスパム対策

昨日、本ブログのある記事に対して秒間1回くらいの間隔でコメントスパムが書き込まれてしまったので、急遽コメント機能を停止し、本日対策用のプラグインを探して入れてみました。