<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>WAY TO GO</title>
        <link>http://www.kreis-net.jp/blog/</link>
        <description>つれづれなるままに、方法を求めて。</description>
        <language>ja</language>
        <copyright>Copyright 2009</copyright>
        <lastBuildDate>Fri, 02 Jan 2009 01:03:32 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>謹賀新年</title>
            <description><![CDATA[<p>あけましておめでとうございます。<br />
本年もよろしくお願いします。</p>

<p>はっきり言ってこのブログはかなり放置プレイしてました...<br />
これからもっと技術的な事も含め色々書いていきたいものです。</p>

<p>昨年はネットの露出をほとんどしなかったせいでいろいろ取り残されてる感が強いので、<br />
今年はもっとアンテナ張って頑張って参りたいと思います。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2009/01/post-27.html</link>
            <guid>http://www.kreis-net.jp/blog/2009/01/post-27.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">WAY TO GO</category>
            
            
            <pubDate>Fri, 02 Jan 2009 01:03:32 +0900</pubDate>
        </item>
        
        <item>
            <title>汎用apache起動スクリプトをでっちあげた</title>
            <description><![CDATA[<p>自宅のVMware Server上のCentOS 4.5で、いろいろhttpdを立ち上げて開発環境を区別していて、いちいち開発環境を立ち上げるたびに起動スクリプトを書くのが億劫になってきて、汎用スクリプトをでっちあげた。</p> <p>basenameで起動パスを識別するようにしたので、シンボリックリンクで別名を付けてやるだけで任意のhttpdを立ち上げてくれるという仕組み。</p> <p>こうしておけば、apacheを使ったWebアプリのプロジェクトを複数抱えてても面倒臭くないよ！</p> <p>apache以下一連の環境をconfigureする手間はやっぱりかかるけどｗ</p> <p>あととりあえずhttpd.workerは捨ててます(PHP(笑))</p> <p>使い方：(※注：以下、fooは任意の文字列)</p> <p>まずシンボリックリンクを張って</p>  <pre class="code">
ln -s /etc/rc.d/init.d/httpd_template /etc/rc.d/init.d/httpd_foo
</pre>  <p>あとは普通に呼び出すだけ</p>  <pre class="code">
/etc/rc.d/init.d/httpd_foo start
/etc/rc.d/init.d/httpd_foo stop
/etc/rc.d/init.d/httpd_foo restart
などなど
</pre>  <p>このスクリプトを使用する際の前提条件：</p> <ul>     <li>configure時に--prefix=/usr/local/apache_foo でビルドされていること</li>     <li>起動スクリプトは /etc/sysconfig/httpd_foo を読み込みます</li>     <li>httpd.conf で PidFile が /var/run/httpd_foo.pid に設定されていること</li>     <li>ロックファイルは /var/lock/subsys/httpd_foo を見に行きます</li>     <li>シンボリックリンクを張ること(killallするときに便利だから)：/usr/local/apache_foo/bin/httpd -&gt; /usr/local/apache_foo/bin/httpd_foo</li> </ul> <p>おすすめの構成はこんな感じ：</p> <ul>     <li>/usr/local/apache_base (port 80, mod_rewrite + mod_proxy にて各プロジェクト用にポート転送)     <ul>         <li>/usr/local/apache_foo (port 10080)</li>         <li>/usr/local/apache_bar (port 10081)</li>         <li>and so on.</li>     </ul></li> </ul> <p>スクリプトはhttpd-2.2.8に付属していたbuild/rpm/httpd.initをベースにしています。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2008/03/apache.html</link>
            <guid>http://www.kreis-net.jp/blog/2008/03/apache.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Linux</category>
            
            
            <pubDate>Sat, 08 Mar 2008 04:00:18 +0900</pubDate>
        </item>
        
        <item>
            <title>Wayback Machine</title>
            <description><![CDATA[<p>先日、ブログエンジンを movabletype 4.1 に更新したんですが、更新したときにうっかり<strong>画像フォルダを消してしまってました</strong>(汗</p>  <p>しかも、PC内をいくら探せども<strong>バックアップがない</strong>(汗</p>  <p>更新といいつつ、新規にフォルダ作ってエントリーとコメントとトラックバックだけ移し替えたもんだから、ブログ内の画像フォルダの存在を忘れてたよ&#8230;orz</p>  <p>4年前の画像とか、やべーもうどこにも残ってねーよなあ&#8230;とがっくり来てたんですが&#8230;</p>  <p><a href="http://www.archive.org/web/web.php" target="_blank">Wayback Machine</a> が保存してくれてました&#8230;ｗ</p>  <p>おかげで失われた画像は元通り表示されるようになりましたとさ。</p>  <p>バックアップはきちんと取りましょう、という教訓でございましたorz</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2008/02/wayback-machine.html</link>
            <guid>http://www.kreis-net.jp/blog/2008/02/wayback-machine.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">WAY TO GO</category>
            
            
            <pubDate>Thu, 28 Feb 2008 20:22:13 +0900</pubDate>
        </item>
        
        <item>
            <title>ActivePerl 5.10.x用のppm</title>
            <description><![CDATA[<p>いくつかActivePerl 5.10.x用のppmを作ったので<a href="/downloads/activeperl/5.10/ppm/" target="_blank">公開してみる</a>。</p>

<p><a href="http://search.cpan.org/~pia/Win32-FindWindow/" target="_blank">Win32-FindWindow</a>というPerlモジュールを作ってCPANにUPしてあるんだけど、そのモジュールのテストで必要なTest-Perl-CriticをWin32環境で手軽にインストールできないかなあといろいろやってるうちにVC6で自分でppm作っちゃったという...。</p>

<p>つかいかた：</p>

<pre class="code">
  ppm repo add http://www.kreis-net.jp/downloads/activeperl/5.10/ppm/ "WAY TO GO"
  ppm install Test-Perl-Critic
  ppm install Test-Spelling
</pre>]]></description>
            <link>http://www.kreis-net.jp/blog/2008/02/activeperl-510xppm.html</link>
            <guid>http://www.kreis-net.jp/blog/2008/02/activeperl-510xppm.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Perl</category>
            
            
            <pubDate>Fri, 22 Feb 2008 18:31:35 +0900</pubDate>
        </item>
        
        <item>
            <title>synergyその後(2)</title>
            <description><![CDATA[<p>Tab Mix Plusとか、userChrome.jsとかいろいろ書きましたが…<br />
NICのせいらしい。orz<br />
けどドライバ入れ替えてもダメ　＆　うちの環境以外で再現しない　orz</p>

<p>どうみても私のマシン固有の問題です。本当にありがとうございました　orz</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2007/10/synergy2.html</link>
            <guid>http://www.kreis-net.jp/blog/2007/10/synergy2.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">synergy</category>
            
            
            <pubDate>Wed, 31 Oct 2007 05:36:55 +0900</pubDate>
        </item>
        
        <item>
            <title>synergyその後</title>
            <description><![CDATA[<p>前のエントリで、Tab Mix Plusが原因と書いたけど、userChrome.jsのせいかもしれない…。<br />
どうやらFirefoxが立ち上がっていないときは正常に動作するっぽいことまでは確実っぽい。</p>

<p>うーん。もうちょっと調べてみよう。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2007/10/synergy-2.html</link>
            <guid>http://www.kreis-net.jp/blog/2007/10/synergy-2.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">synergy</category>
            
            
            <pubDate>Fri, 26 Oct 2007 21:54:59 +0900</pubDate>
        </item>
        
        <item>
            <title>synergy + Firefox with Tab Mix Plus</title>
            <description><![CDATA[<p>タイトルの通りの環境だと、マウスは正常に動作するけど、キーボードが正常に動作しない模様。<br />
Tab Mix Plusを有効にするとキーイベントがフックされて、synergyがそれを検知できないくさい。<br />
マウスはサーバの外へ出られるけど、キーボードだけがサーバ内に捕まっちゃってる感じ。<br />
仕方が無いのでTab Mix Plusは無効にしてFirefoxを使ってます。(削除をする必要は無さげ。)</p>

<p>WindowsXP SP2 + synergy 1.3.1 ( + <a href="/downloads/synergy-1.3.1jp.zip">自作パッチ</a>) + Bon Echo 2.0.0.8 (<a href="http://marilab.hp.infoseek.co.jp/buildfx/" target="_blank">ayakawa SSE2-PGU</a>) or Firefox 2.0.0.8にて確認。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2007/10/synergy-firefox-with-tab-mix-p.html</link>
            <guid>http://www.kreis-net.jp/blog/2007/10/synergy-firefox-with-tab-mix-p.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">synergy</category>
            
            
            <pubDate>Fri, 26 Oct 2007 05:49:28 +0900</pubDate>
        </item>
        
        <item>
            <title>サイトの設定を変更しました</title>
            <description><![CDATA[<p>長らく絶賛放置中ですみませんｗ</p>

<p>最近書きたいことも無く、少し色々な事に対して熱意も冷めがちな今日この頃です。<br />
またぼちぼち更新できたらいいなと思ってます。<br />
もう巡回ルートに入れてくれている方も少ないとは思いますが。</p>

<p>さて、この度<br />
・トラックバックを無効に<br />
・コメント投稿をTypeKey認証に<br />
設定変更します。</p>

<p>主にコメント／トラックバックスパムに対する消極的対応が理由です。<br />
先ほどコメントスパム約5000件、トラックバックスパム約3000件を削除しました。</p>

<p>もはやブログというシステムに対する性善説的思想は成立しえず破綻しているように思います。<br />
特にうちのブログは、最近何も発信していないですし。<br />
このS/N比を打開し得るコンテンツを私が発信できるようになったら、その時はまた考えてみたいと思います。</p>

<p>何より、スパムにまみれた、価値の低いサイトを晒しておくのがみっともないですしね。</p>

<p>というわけですので、何卒ご了承くださいませ。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2007/06/post-26.html</link>
            <guid>http://www.kreis-net.jp/blog/2007/06/post-26.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">movabletype</category>
            
            
            <pubDate>Fri, 29 Jun 2007 00:21:29 +0900</pubDate>
        </item>
        
        <item>
            <title>S25R + tarpitting + greylisting = taRgrey</title>
            <description><![CDATA[<p>前のエントリで少し毛嫌いしてたけども、 <a href="http://d.hatena.ne.jp/stealthinu/20060706/p5" target="_blank">Starpit</a> の手法であれば「まだマシ」かなぁと思った。 greylisting では確実に該当 IP からの一発目のメールが遅延してしまうけど、こっちならば遅延はない ( その代わりにサーバの初期応答が 1 分半ほど遅れる ( 応答遅延時間は設定による ) ) 。<br />
ただ問題なのは、<a href="http://d.hatena.ne.jp/stealthinu/20060728/p1" target="_blank">ここ</a>で述べられているけど、 Postfix 本体でこれを実現しているので、 RCPT TO 単位で tarpitting が起こってしまう。つまり 1 通のメールだったとしても宛先が 10 件あれば、 90 秒の tarpitting だとすると、全ての宛先に送りきるまでに 15 分待たされてしまう。<br />
この構造的にまずい点については、<a href="http://www.kozupon.com/postgrey/index.html" target="_blank">postgrey</a> による greylisting のように Postfix の filter で実現できるといい感じらしい。 この考えを取り入れた <a href="http://d.hatena.ne.jp/stealthinu/20060728/p2" target="_blank">taRgrey</a> というハイブリッドな手法にすれば、これらの弱点は克服できるそうだ。ふむふむ。しかしまだこの手法に対する実装は無いとのこと。</p>

<p>ここまで調べて、うちの鯖に実装するなら taRgrey だなぁと確信…。<br />
taRgrey なら、まずスパムのほとんどは tarpitting によって阻止可能。この部分の設定はメンテナンスフリー。<br />
スパムではないのに tarpitting で接続が切れてしまったものに対しては greylisting で救済する。この部分の設定は、ホワイトリスト & ブラックリストのメンテナンスが必要だが、そもそも tarpitting での誤検出はごくまれらしいので、単体で greylisting するよりもメンテナンスが容易 ( なはず ) 。<br />
S25R に該当する正当なメールに対して tarpitting してしまっても良いのであれば、ホワイトリストのメンテすらやらなくて良い ( はず ) 。</p>

<p>うーん、やっぱり「メンテナンスフリー」は大事ですよ。<br />
単体の greylisting なんて、趣味の自鯖では到底やろうとは思えない。いや、むしろ仕事なら尚更かも。<br />
taRgrey の実装が待ち遠しい今日この頃です。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/08/s25r-tarpitting-greylisting-ta.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/08/s25r-tarpitting-greylisting-ta.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Linux</category>
            
            
            <pubDate>Thu, 17 Aug 2006 10:24:04 +0900</pubDate>
        </item>
        
        <item>
            <title>Spamassassin とか S25R とか</title>
            <description><![CDATA[<p>自宅サーバでダイナミック DNS を使ってメールサーバを活用しようと思い立ったので、 Spamassassin とかいじってみる。</p>

<p>下記、 /etc/procmailrc の記述：</p>

<pre class="code">
  PATH=/bin:/usr/bin:/usr/local/bin
  MAILDIR=$HOME/Maildir
  DEFAULT=$MAILDIR/
  LOGFILE=$MAILDIR/procmaillog
  LOCKFILE=$HOME/.lockmail
  SPAM=$HOME/.spam
  
  # at first, check 'X-Spam*' and filter
  :0fw
  *!^X-Spam.*
  |spamassassin
  
  # already filtered, then send to '.Spam' folder
  :0
  * ^X-Spam-Status: Yes
  $MAILDIR/.Spam/
</pre>

<p>こうしとけば、 IMAP で繋いだとき、スパム判定を食らったメールは自動的に「Spam」フォルダに入る。<br />
判定漏れで INBOX に入っちゃったものはメーラ上で手動で Spam フォルダへ移した上で</p>

<pre class="code">
  # SPAM 学習
  /usr/bin/sa-learn --spam /home/*/Maildir/.Spam/cur
  # 非 SPAM 学習
  /usr/bin/sa-learn --ham /home/*/Maildir/cur
</pre>

<p>とか定期的にやっとけば後は手間要らず。のはず。 cron に入れておけばさらに手間要らず。<br />
もう少し突っ込んで Web 上を調べてると <a href="http://www.gabacho-net.jp/anti-spam/anti-spam-system.html" target="_blank">S25R</a> とか <a href="http://d.hatena.ne.jp/keyword/greylisting" target="_blank">greylisting</a> とか <a href="http://d.hatena.ne.jp/stealthinu/20060706/p5" target="_blank">tarpitting ( greet pause )</a> とか面白そうな技術も発見。<br />
これって、とりあえず怪しい IP やドメインを正規表現ではじいて、そいつらからのメールはとりあえず応答を遅らせてみたり reject してみたりして、それでもちゃんとメールサーバの作法通り再送してきた奴だけは許可します、っていう仕組みなのね。<br />
確かにこれでいけば「スパムうぜえ！」って思うことは少なくなるだろうけど、「応答を遅らせてみたり reject したり」はしたくないなぁ。そんなヘンな挙動が「当たり前」にはなってほしくない。<br />
というわけでこれは今回は見送ったけど、そうは言っても「とにかくスパムを受け取りたくない」って人には効果抜群なわけで、なんだか有名になりそうなのが微妙...</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/08/spamassassin-s25r.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/08/spamassassin-s25r.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Linux</category>
            
            
            <pubDate>Wed, 16 Aug 2006 10:58:41 +0900</pubDate>
        </item>
        
        <item>
            <title>MT4i/2.11</title>
            <description><![CDATA[<p><a href="http://www.hazama.nu/pukiwiki/index.php?MT4i%2F2.1" target="_blank">MT4i/2.11</a>へバージョンアップ。前までは自分で改造した Unicode::Japanese 版を使ってたんだけど、 ver 2.0 から Perl 5.8 の Encode.pm に対応してたのでようやく踏み切ってみました。<br />
あと、旧版では MT4i 経由でのコメントスパムがうざかったのでとりあえず当面コメント禁止設定で。<br />
また時間があったらいじろう…</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/08/mt4i211.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/08/mt4i211.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">moblog</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">movabletype</category>
            
            
            <pubDate>Wed, 16 Aug 2006 10:47:54 +0900</pubDate>
        </item>
        
        <item>
            <title>PHP4 で SHA-256 以上のハッシュ関数</title>
            <description><![CDATA[<p>を使うためには <a href="http://pecl.php.net/" target="_blank">PECL</a> から <a href="http://pecl.php.net/package/hash" target="_blank">hash モジュール</a>を落としてきてインストールすれば良いんだけど、 PHP5 から対応している <a href="http://jp2.php.net/manual/ja/ref.session.php#ini.session.hash-function" target="_blank">session_id() の SHA-1 化</a>とかって、 PHP4 では対応してなさげじゃん…<br />
ていうか、 SHA-1 すら<a href="http://slashdot.jp/security/05/02/16/0725239.shtml?topic=28" target="_blank">半年も前にコリジョン発見</a>されてるし、同じ SHA なら 256 以上に対応していて欲しいところなんだけど、 PHP4 ってメンテナンスバージョンだから新機能追加はほとんど期待できないよね…<br />
今時 PHP4 なんか使うなって言われたらおしまいですが…ｗ<br />
ただのぼやきですんません(汗<br />
<a href="http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" target="_blank">NIST の文献</a>とか見つけたけど、腰据えて訳さないとわけわかんねーし。<br />
誰か対応してくんないかなー。</p>

<p>こうしてる間にも納期は迫ってくるし…(結局それかよ)</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/07/php4-sha256.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/07/php4-sha256.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">PHP</category>
            
            
            <pubDate>Sun, 23 Jul 2006 18:01:03 +0900</pubDate>
        </item>
        
        <item>
            <title>Synergy パッチ</title>
            <description><![CDATA[<p>以前<a href="http://www.kreis-net.jp/blog/archives/000069.php" target="_blank">バイナリで公開</a>した<a href="http://synergy2.sourceforge.net/" target="_blank">synergy</a> 1.3.1の差分(パッチ)を公開してみる。<br />
下記に対応しています。<br />
<ul><br />
<li>無変換キー<br />
<li>変換キー<br />
<li>半角/全角キー<br />
<li>ひらがな・カタカナキー<br />
</ul><br />
<a href="http://www.kreis-net.jp/downloads/synergy-1.3.1-PIA_20060712.patch" target="_blank">どうぞご利用ください。</a>Windows版バイナリは<a href="http://www.kreis-net.jp/downloads/synergy-1.3.1jp.zip" target="_blank">こちら</a>。<br />
ただし、上記を使用した場合の責任は全て自己責任でお願いします。</p>

<p>これ、本家に報告したほうがいいかな？</p>

<p>追記：<br />
上記パッチ及びソフトウェアの改変物は、オリジナルの<a href="http://synergy2.sourceforge.net/" target="_blank">Synergy</a>と同様<a href="http://www.gnu.org/licenses/gpl.txt" target="_blank">GNU GPLライセンス</a>のもとに頒布されるものです。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/07/synergy-1.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/07/synergy-1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">synergy</category>
            
            
            <pubDate>Wed, 12 Jul 2006 05:42:38 +0900</pubDate>
        </item>
        
        <item>
            <title>PHP4で動的メソッド生成</title>
            <description><![CDATA[<p>以下のようにすれば、クラスを定義した後でも、インスタンス変数にアクセスするメソッド(のようなもの)を動的に生成できる。<br />
無名関数のスコープが生成時のスコープに依存しないため、引数に<code>&$this</code>を与えるのがポイント。</p>

<pre class="code">
  class Foo {
      var $str;
      function setStr($str) { $this->str = $str; }
      function doAnonFunc($argsdef, $code, $arg) {
          $func = create_function($argsdef, $code);
          return $func(&$this, $arg);
      }
  
  }
  
  $obj = new Foo;
  $obj->setStr('baz');
  
  echo 'STEP0:'.$obj->str."\n";
  echo 'STEP1:'.$obj->doAnonFunc('&$this, $str', '$this->setStr($str); return $this->str;', 'test')."\n";
  echo 'STEP2:'.$obj->str."\n";
</pre>

<p>出力：</p>

<pre class="code">
  STEP0:baz
  STEP1:test
  STEP2:test
</pre>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/06/php4.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/06/php4.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">PHP</category>
            
            
            <pubDate>Sat, 24 Jun 2006 03:19:31 +0900</pubDate>
        </item>
        
        <item>
            <title>また衝動買い</title>
            <description><![CDATA[<p>えぇ、クセですね衝動買いｗ</p>

<p><a href="http://1001010.jp/archives/000115.html" target="_blank">百式トートバッグ</a>買っちゃいました。完全受注生産、8月25日から順次発送だって。楽しみ～。</p>

<p>あの百式さんが企画・開発されたモノですよ。<a href="http://1001010.jp/archives/1001010_final_design.jpg" target="_blank">仕様書</a>も公開されてます。<br />
メインコンセプトのon/offスイッチがただの飾りではなく、本物のスイッチ部品が付いてるってとこが洒落てますね。配線すれば実際に使えるという。</p>

<p><a href="http://1001010.jp/" target="_blank">プロジェクトサイト</a>や仕様書を見る限り、とてもよく考えられていてすごく使いやすそう！</p>

<p>しかし、クレジットカード番号の入力とか、もう暗記しててカード見なくても決済できるようになってた自分にﾃﾗﾜﾛｽ。</p>]]></description>
            <link>http://www.kreis-net.jp/blog/2006/06/post-25.html</link>
            <guid>http://www.kreis-net.jp/blog/2006/06/post-25.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">WAY TO GO</category>
            
            
            <pubDate>Fri, 16 Jun 2006 11:34:55 +0900</pubDate>
        </item>
        
    </channel>
</rss>
