foreach と map を比べてみた

perlの話です。文字列1と文字列2を比較して、文字列2に文字列1の文字が全て含まれているか確認する処理をperlで書いてる最中に、「foreachとmapのどちらで書いた方が早いのか」と急に気になったのでベンチマークして比較してみました。つまりこんなような処…

ffmpegのportsを0.9に対応してみる

ちょっと思うところがあってffmpegをサーバにインストールしようかとportsを探ってみたところ、どうやらmultimedia/ffmpegはバージョン0.7.8のまま放置されているのが解ったうえに、multimedia/ffmpeg-develは [root@hogehoge /usr/ports/multimedia/ffmpeg-…

SMTP AUTHチェックスクリプトを書いてみた

ちょっとした理由で特定のメールサーバのSMTP AUTHが機能してるかを確認する必要が出てきたのでちょっと書いてみました。 半年くらい前に書いて以来Evernoteに入れて満足していたのですが、自分だけで保存しておくのはちょっともったいないくらい簡単にでき…

今日の小ネタ! (2) push()で配列を統合できる

今日の小ネタ! 「コレ多分出来るよね」って思ってやってみたら出来ちゃった!けど一発ネタすぎる!という内容を投げっぱなしで書いて終わるコーナーです。 今回は「push()って解説サイトとかではスカラを継ぎ足す方法しか書いてないけどリストも継ぎ足せる…

今日の小ネタ!(1) 特殊変数$nはスコープの影響を受ける

今日の小ネタ! コーディングしてて気がついたトリビア的な(知ってる人にはトリビアでもなんでもないけど)内容を唐突に書き殴って終わって行こうと思います! #!/usr/local/bin/perl use strict; my $val; my $matched1; my $matched2; $val = "hoge12345"…

ここ最近の私がやらかした極めてみっともない失敗を晒す(1) open()の成否をif()で確認しようとした

前々から「ブログでプログラムの話題に触れたらいつかはやっておかないといけないだろうなあと思っていた事をやってみようかと思い立って、ちょうどネタもあったし唐突にコーナーを始めてみることにしました。 世の中に手本となる記事は数あれど、これから僕…

dovecotでIMAPの挙動を細かくログに取ってみる

dovecotが1.2系になって大分経ちますね。1.2系からは以前から実装済みだったmail_logプラグインにイベントのログを取る機能が追加されまして、これの御陰でPOP3/IMAP共にメールの受信・削除・移動等々が細かくログに残せるようになりました。これ意外に知っ…

Perlモジュールが入っているか調べる2つの簡単なやり方

Perlのモジュールがインストールされているかを調べる方法の中でも初心者向けのものを書き残しておきます。 Perlでスクリプトを書いているとよく自分が使おうとしているモジュールがインストールされているのか調べたくなる時がやってきます。 僕の知人にも…

dhcpdをインストールする

……というわけで、PS3を設置する時にDHCPでアドレスを取得するように設定してみたところ なぜかブロードバンドルータのDHCPサーバが上手く機能していないことが発覚したので、 面倒になって自宅BSDサーバにdhcpdをインストールすることにしました。 ちなみに…

"Bad fd number"について詳細に調査してみた

色々あって急に空き時間が出来たので、 "Bad fd number"の検索結果で訪れてくる方が以外に多い事もあって 折角なのでこの問題を詳細に調査してみることにしました。 さて、まずはこのメッセージを出しているのが一体誰なのかを確認してみましょう。 エラーが…

"syntax error: bad fd number"ってなんだ?

2009/09/19:追記:表題のエラーについて詳細に調査してみました。こちら ほっとんどプログラミングの話題を扱っていなかったので、たまにはプログラミングの話題でも。 サーバにインストールしているFFmpeg::CommandのバージョンをPorts経由でバージョンア…

今回までのあらすじ1−クライアントPCの乱

6月の終わりからまたしても1ヶ月以上日記を書いていない時期が過ぎ去ってしまいました。 どうにも記録を残すという作業が自分の体に定着しない悪癖があるようで、 億劫がっているわけではないのだけれど気がついたら記録を残すことなく ずるずると日々を過ご…

バックアップサーバからのメールが不達になった

記事にするのはもっと後でも良いかとは思ったが、よくよく考えたら 時間が空きすぎてしまうと情報を引っ張り出すのが少々面倒なので ここら辺で記事にしておこうと思う。まあそれくらいちょっとした話。 現在自宅に設置してある全てのサーバのperiodicやcron…

もっと簡単なRSSの作成方法があった

以前RSSの作成方法としてXML::RSSとPlaggerを組み合わせる方法を記述したが、 実はこれよりももっと容易にフィードを作成・編集出来るモジュールの存在を発見してしまった。 XML::FeedPPを使えばRSS/ATOMフィードは簡単に作成できてしまうのだ。こんな便利な…

dovecotでCRAM-MD5認証を使えるようにする

1年ほど前から自宅サーバのpop3/imapサーバをdovecotにしているのだが、 こいつの認証方式が長い間plainになっていたのを今日発見したので 暇を見て暗号化される認証方式にチェンジすることにした。 ちなみにAPOPでも良かったのだが、qpopperを導入していた…

バックアップHDDの復旧を試みる

自宅サーバのコンテンツバックアップとして補完していたバックアップHDDから 久しぶりにデータを拾い上げようと試みたところ、見事に大変な事態になってしまった。 今回はHDDをUSBで接続する変換コネクタを使って接続を試みたのだけど、 電源を入れてUSBケー…

Perl5.8.9のsuidperlにバグがあるらしい

自宅サーバのハードウェアグレードアップをしたついでにFreeBSD7.1を新規インストールした。 FreeBSD7.1のPortsに載っかってるPerlは5.8.9だったのだが*1、 こいつをインストールした後suidperlを使っているスクリプトを走らせてみたところ suidperl needs (…

自作CGIを改造してポッドキャスト対応にする

表題の通り。以前趣味で作成した3gpやらそれ以外のCODECでエンコードされた動画を 別の形式に変換してダウンロードさせるスクリプトを作成したのだが、 今回はそれをポッドキャスト対応にすべく色々と試行錯誤を繰り返すことにした。方法としては幾つかある…

プロバイダ乗り換えにつきOP25B関連の設定を変更する

これまでISPはDTIを利用していたが、先週の日曜日から訳あって@niftyへと乗り換えることになった。 DTIではOP25Bに関して自宅サーバ側でとりわけ設定が必要になっていなかったが*1、 nifty側ではどうやら明確な設定が必要なようなので、サポートのサイトから…

日記投稿CGIの続き

前回の投稿時に考えついていた事柄を一通り試行してみた。今回試行したのは はてな記法を一旦HTMLに変換した後文章の部分だけを抽出する方法 はてな記法を投稿したい文体の平文に変換する方法 の2つだ。どちらも基本コンセプトははてな記法を変換するという…

日記書き込み用のCGIを作ってみよう(模索中)

毎回日記を投降する際にmixiの日記とはてなダイアリーの両方に 同じ記事を投稿しているわけだが、これの作業がなかなかに面倒臭い。 はてなダイアリー側では部分的ではあるが「はてな記法」を使っているからだ。 【サーバ運用】のカテゴリに入るような記事で…

ploneのインストール(の前にzopeのインストール)に挫ける

自宅サーバのWebスペースに以前Xoopsを置いてなんのかんのとやっていたのだが、 しばらく弄っていない間にApacheのバージョンアップやらMySQLサーバの移動やらで xoopsの構成がことごとく崩れ去ってしまったため、この際なのでxoops以外のCMSを使ってみるこ…

日本語ファイル名をHTTPで転送する手法を調査してみた

趣味で作成しているCGIでサーバ上に一時的に置いたファイルを 日本語名でDL出来るようにする必要があったため、色々と調べてみた。 結果、どうやらHTTPヘッダに Content-type: application/octet-stream Content-Disposition: inline; filename="日本語名(sj…

メールサーバを小リニューアル

メールサーバの機能を部分的に更新した。 これまでMailbox形式だった物をMaildir形式のものに変え、 POP3だったものをIMAP4にした程度だが。 ……あ、qpopperをやめてdovecotにしたなそういえば。 というわけで、1ヶ月ぶりの更新はここから始めようと思う。 う…

ngをインストールするときにやっておくと良いであろう3つの事柄

ports経由でngをインストールするときにやっておいた方が良いであろう事柄。・/usr/ports/japanese/ng/Makefileの編集 post-patch: @(cd ${WRKSRC}; ${LN} -sf sys/bsd/Makefile . ) ^^^ ・一旦makeしたあとで以下のファイルを編集 /usr/ports/japanese/ng/w…

Operaのウィジェットを使ってみる

というわけで、予想以上にメモリ領域が空いたので Operaのウィジェットを使ってみることにした。 高評価なウィジェットをざっと眺めたところ、 時計やなんかのガジェット類とミニゲーム系が人気なようだ。 とりあえず殺伐とした生活に一服の清涼を求めて水槽…

Operaの設定をチューニングする

職場でも自宅でもWebブラウザはOperaを採用しているのだが、 こいつが職場PCで稼働させている方は重くてしょうがないことがままあったので 本格的に設定をチューニングすることにした。 で。opera-wiki.com等々で情報を集めたところ、 どうやらキャッシュ周…

FFFTPの設定をチューニング(して頂く)

当サーバの利用者の中で、時折「複数ファイルをDLしている最中に途中でDLが止まる」という 問い合わせを頂くことがあった。当初はサーバ側に問題があるものと思い様々なチューニングを 施してみたものの、問題の再現率が低かったために決め手に欠き続けてい…

やっちまったんだよ!

昨日Sambaを2系に逆移行したのを受けて、今日は3系の設定ファイルを バックアップに待避させようとむにゃむにゃやっている最中に、 ついに恐るべき事態が発生してしまった。 # rm /usr/local/etc/s* # そう、いわゆる「やっちまった」のである。正しくは # m…

Samba3系の文字化け問題

サーバで使っているSambaを3系にしてから、 特定の文字(〜とか)が正しくSJISに変換されない現象が発生している。 この問題自体は既に確認しており、1〜2年ほど前に散々っぱら調べたあげく 文字コードの仕様上の問題と3系のネットワーク上の文字コードの問題…