Hatena::ブログ(Diary)

(ひ)メモ このページをアンテナに追加 RSSフィード

2006-03-31 (Fri)

kernel 2.6.16でiptablesが使えない

kernel 2.6.{14,15}.*から2.6.16にしたらiptablesが使えなくなって焦る。

# iptables -nvL
FATAL: Module ip_tables not found.
iptables v1.3.5: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

元の.configをそのまんま2.6.16にもっていたんだけど、どうもiptables関連の設定項目が大幅に変わったらしく、2.6.16でmenuconfigしてもずっぽりiptables関連が無効になる模様。

というわけでkernelを作り直したらiptablesできるようになりました。

2.6.16にする際はお気をつけください。

Wanderlustで、ActiveDirectoryを引いてアドレス補完をする

WanderlustにはLDAPを利用してメールアドレスを補完する機能があります。

んで、WindowsのActiveDirectoryはLDAPを喋れるらしく、同僚にldapsearchする方法を教えてもらったのでwlから引けるようにしてみました。

(setq wl-use-ldap t
      wl-ldap-server "ADのサーバ名"
      wl-ldap-port "389"
      wl-ldap-base "OU=このへんは,DC=状況に,DC=あわせて,DC=変更")
(setq my-ldap-passwd-file "~/.ldappw"
      my-ldap-passwd
      (if (file-readable-p my-ldap-passwd-file)
          (with-temp-buffer nil
                            (insert-file-contents my-ldap-passwd-file)
                            (buffer-string))
        nil))
(setq ldap-host-parameters-alist
      (list (list "ADのサーバ名"
                  'binddn "ADドメイン名\\自分のユーザ名"
                  'passwd my-ldap-passwd))
      ldap-coding-system 'utf-8)

見ての通りパスワードはファイルにぺろっと書いてあるわけなんですが、どんなのダサーイということでエライ人にwl起動時に対話的に入力させるコードを教えてもらいました。m(_ _)m

(setq wl-use-ldap t
      wl-ldap-server "ADのサーバ名"
      wl-ldap-port "389"
      wl-ldap-base "OU=このへんは,DC=状況に,DC=あわせて,DC=変更")
(let* ((binddn "ADドメイン名\\自分のユーザ名")
       (passwd (elmo-read-passwd (format "Password for %s: " binddn))))
  (setq ldap-host-parameters-alist
        (list (list "ADのサーバ名"
                    'binddn binddn
                    'passwd passwd))
        ldap-coding-system 'utf-8))

これで新人が入る度に~/.addressesをちくちくいじらなくてよくなりました〜

2006-03-30 (Thu)

word-count-modeでバイト数を表示

『ページ 1500 文字』といった原稿依頼の場合、たいていの場合「1 文字」は2 バイト文字の 1 文字です。つまり、『ページ 1500 文字』は『ページ 3000バイト』ということになります。

で、Emacs用にword-count-modeというものがあります。

これはリージョンや専用マーカとカーソルの間の文字数/単語数/行数をモードラインに表示してくれるもので、文字数制限のある原稿を書くときに重宝します。

ただ、最近の Emacs だとマルチバイトの 1 文字をちゃんと 1 文字と数えるので、word-count-mode でも文字数≠バイト数になってしまいます。なのでword-count-mode の「文字数」を『ページ 3000 バイト』と比較することができません。

そこで word-count-mode の表示を『文字数/単語数/行数』から『バイト数/文字数/行数』に変えるパッチを作ってみました。

--- word-count.el.orig	2004-06-04 16:58:17.000000000 +0900
+++ word-count.el	2006-03-30 12:16:23.000000000 +0900
@@ -424,8 +424,8 @@
 (defun word-count-CWL-string (string)
   (setq string (word-count-preremove-string string))
   (list
+   (word-count-byte-string       string t)
    (word-count-characters-string string t)
-   (word-count-words-string      string t)
    (word-count-lines-string      string t)
    ))
 
@@ -435,6 +435,9 @@
 (defun word-count-words-region (&optional start end)
   (word-count-words-string (word-count-buffer-substring start end)))
 
+(defun word-count-byte-region (&optional start end)
+  (string-bytes (word-count-buffer-substring start end)))
+
 (defun word-count-lines-region (&optional start end)
   (word-count-lines-string (word-count-buffer-substring start end)))
 
@@ -451,6 +454,15 @@
      (mell-match-count-string word-count-non-character-regexp string)
      ))
 
+;;; encode-coding-string で buffer-file-coding-system にすると、*-dos
+;;; な文字コードの場合に改行で1バイトカウントされてしまうので、
+;;; shift_jis-unix 固定にしている。
+(defun word-count-byte-string (string &optional nopreremove)
+  (or nopreremove
+      (setq string (word-count-preremove-string string)))
+  (- (length (encode-coding-string string 'shift_jis-unix))
+     (mell-match-count-string word-count-non-character-regexp string)))
+
 (defun word-count-words-string (string &optional nopreremove)
   (or nopreremove
       (setq string (word-count-preremove-string string)))

2006-03-29 (Wed)

2006-03-28 (Tue)

2006-03-27 (Mon)

2006-03-24 (Fri)

2006-03-23 (Thu)

2006-03-22 (Wed)

kernel 2.6.16でVMware

kernel 2.6.16が出たので早速入れ替えたんだけど、VMware-5.5.1-19175のvmware-config.plが

The kernel defined by this directory of header files does not have the same address space size as your running kernel.

といって先に進まなくなった。

とりあえず、場当たり的な↓なパッチでOKそう。

--- vmware-config.pl.orig       2006-01-19 15:00:36.000000000 +0900
+++ vmware-config.pl    2006-03-22 18:34:17.000000000 +0900
@@ -1969,7 +1969,7 @@
     . ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
     . shell_string($pattern));
   chomp($header_page_offset);
-  $header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
+  $header_page_offset =~ s/^$pattern \(?.+?0x([0-9a-fA-F]{8,}).*$/$1/;
   if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
     # We found a valid page offset
     if (defined($gSystem{'page_offset'}) and

安全なWeb アプリケーション構築の手引き

The Open Web Application Security Project (OWASP) の日本語訳。

経路分析ができるWebログ解析器

  • Visitors
  • Pathalizer
  • webdruidは本家サイトがどっかいっちゃったみたい…

2006-03-21 (Tue)

進化しすぎた脳 中高生と語る「大脳生理学」の最前線

進化しすぎた脳 中高生と語る「大脳生理学」の最前線

「心」はどこからくるのか、意識と無意識、「見る」は意識ではなく無意識、抽象的な思考をする上で「言葉」が重要、逆に思考は言葉に制限されてもいる、「あいまい」な記憶の重要性、シナプスというミクロの視点でほりさげつつも、総体としてみることの重要性から「複雑系」へ、などなど。

大脳生理学のさまざまなトピックを扱いつつも、わかりやすい言葉で説いているので、ちと脳科学を覗いてみたい向きへのイントロ的な読み物としてよい本だと思います。

2006-03-17 (Fri)

2006-03-16 (Thu)

転けつまろびつ Macintosh

  • Desktop Managerを試してみよう。(今は名前忘れたけど別なのを使ってる)
  • caps→ctrlに変えたときにキーロックすることがあるのは12インチのPowerBook G4だけらしい… ショック…

Goby

Goby は、Emacs 21.4 または

Emacs current 上で動く WYSIWYG

プレゼンテーション・ツールです。

2006-03-15 (Wed)

ss - socket statistics

netstatだとIPv6なアドレスがちょん切れて表示されて不便この上なかったんだけど、iproute2に含まれるssというコマンドはちょん切れずに表示してくれるらしい。

manはないけどss --helpでみたかんじは一通り必要な機能はありそう。

[DRBD-announce] drbd-8.0_pre1.tar.gz

  • Support for primary/primary (for OCFS2, GFS...)

むむ! これは要チェック。

2006-03-14 (Tue)

Apache 2.2でWebサイトをパフォーマンスアップ!(1/3) − @IT

  • 認証モジュールの命名規則。mod_authn_とかmod_authz_とか。
  • ドキュメントキャッシュ機能。
  • ロードバランシング。
  • 2GB超のファイルを扱えるようになった。(2.0.53でもOK)
  • mod_filer フィルタのカスケード。
  • graceful stop。
  • event MPM。keepaliveな接続は別スレッドにお任せしちゃうので、keepaliveのためにhttpdのプロセス/スレッドが占有される、ということがなくなる。
  • mod_sslモジュールのRFC 2817対応。HTTPSで別ポートという縛りがなくなり、名前ベースの仮想ホストも使えるようになるらしい。RFC 2817 日本語訳

2006-03-08 (Wed)

携帯電話向けのCSS(ウェブの作り方・携帯電話向けコンテンツの書き方)。

<head>の中に書くならこんな感じで。

<style type="text/css">
@media handheld {
  html * {
    font-size: x-small;
  }
}
</style>

2006-03-05 (Sun)

2006-03-04 (Sat)

2006-03-02 (Thu)

2006-03-01 (Wed)

qmail-injectに流すデータはCRLFじゃなくてLFじゃないとダメ

今まで知らなかった…

qmail-smtpd converts the SMTP newline convention into the UNIX newline convention by converting CR LF into LF. It returns a temporary error and drops the connection on bare LFs; see http://pobox.com/~djb/docs/smtplf.html.

qmail-smtpd(8)

End-of-file in SMTP is encoded as dot CR LF. A dot at the beginning of a line is encoded as dot dot. It is impossible in SMTP to send a message that does not end with a newline. qmail-remote converts the UNIX newline convention into the SMTP newline convention by inserting CR before each LF.

qmail-remote(8)

で、

 qmail-smtpd --- qmail-queue --- qmail-send --- qmail-rspawn --- qmail-remote
               /                     |      \
qmail-inject _/                 qmail-clean  \_ qmail-lspawn --- qmail-local

なので、qmail-injectに流すデータの行末をCRLFにすると意図しない行末コードのメールが届くというわけです。

2003 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2012 | 01 | 02 | 03 | 06 | 08 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |
2015 | 01 | 02 | 07 | 10 |
2016 | 01 | 05 | 10 | 12 |
2017 | 07 |
2018 | 05 |