本日は有給消化のためと、たまには骨休めも必要ということで、休んでゆっくりしています。(でもいろいろ作業しているのだけど)


ところでFreeBSDではメーラにmnewsを利用しているのだが、ちょっといろいろいじってインストールしたのでメモ書き。


まずインストールについてだが、UNICODEが利用したかったので、mnews-PL6に対して以下のパッチを適用してソースからビルドした。


http://www.doga.co.jp/~taka2/mnews/


ビルド方法やインストール方法についてはいくつかの場所で説明してあり、まあそのままやっただけ。

FreeBSDでのmnewsのビルドについては以下を参照。そのままではうまくいかずMakefileを修正する必要がある点に注意。


http://www.cory.jp/98/mnews.html


さらにそのままではいくつかの不具合があったので、以下の修正を入れた。


まず、そのままだとメール送信時にサイズ上限があるので、リミットを外す。
--- src/mailsend.h~     2000-08-18 08:37:08.000000000 +0900
+++ src/mailsend.h      2011-03-29 22:38:24.000000000 +0900
@@ -21,7 +21,7 @@
 #endif /* (!MSDOS || USE_LONG_FNAME) */
 #define        ALIAS_PARAM1    "alias"         /* エイリアスパラメータ(1)      */
 #define        ALIAS_PARAM2    "group"         /* エイリアスパラメータ(2)      */
-#define        MAX_SEND_SIZE   (48L * 1024L)
+/* #define     MAX_SEND_SIZE   (48L * 1024L) */

 #define        FORWARD_START_MESSAGE   "------- Forwarded Message\n"
 #define        FORWARD_END_MESSAGE     "\n------- End of Forwarded Message"
--- src/newspost.h~     2000-03-26 01:27:29.000000000 +0900
+++ src/newspost.h      2011-03-29 22:38:29.000000000 +0900
@@ -15,7 +15,7 @@
  */

 #define        POSTER          "poster"
-#define        MAX_POST_SIZE   (60L * 1024L)
+/* #define     MAX_POST_SIZE   (60L * 1024L) */

 #define        PF_FROM_MASK    0x0001
 #define        PF_SUBJ_MASK    0x0002

さらに、メールに添付された画像等を見る際にファイル名が正常に表示されず、セーブしようとしてもやはりファイル名が空欄になってしまう問題の修正と、IMAP4対応パッチを適用するとmnewsのメール選択画面などでカーソルキーがなぜかうまく利用できなくなってしまうので、その修正。select()で待ってしまうのがまずいらしいので削除する。

--- src/mnews.c~        2011-03-29 22:36:45.000000000 +0900
+++ src/mnews.c 2011-04-01 00:38:15.000000000 +0900
@@ -2962,20 +2962,24 @@
                if (mime_mtype == M_MTYPE_MULTI) {      /* multipart    */
                  if (!mime_get_param(ptr3, MIME_BOUNDARY, boundary)) {
                    fclose(fp1);
                    fclose(fp2);
                    mime_part_menu(file1, boundary, mime_news_group,
                                   mime_stype);
                    return(1);
                  }
                } else if (mime_mtype == M_MTYPE_APP) { /* application  */
                  mime_get_param(ptr3, MIME_NAME, file_name);
+               } else if ((mime_mtype == M_MTYPE_AUDIO) ||
+                          (mime_mtype == M_MTYPE_IMAGE) ||
+                          (mime_mtype == M_MTYPE_VIDEO)) {
+                 mime_get_param(ptr3, MIME_NAME, file_name);
 #ifdef notdef
                } else if ((mime_mtype == M_MTYPE_MSG) &&
                           (mime_stype == M_STYPE_PART)) {
                                                /* message/partial      */
                  mime_mtype = M_MTYPE_UNKNOWN;
                  mime_stype = M_STYPE_UNKNOWN;
                  while (fgets(buff1, sizeof(buff1) - 1, fp1)) {
                    if ((!buff1[0]) || (buff1[0] == '\n')) {
                      break;
                    }
@@ -3960,21 +3964,25 @@
       mouse_row = key - ' ';
       mouse = 0;
       break;
     }
     key = '[';
   }
 #endif /* MOUSE */
   switch (escape) {
   case 0:
 #ifndef        DONT_HAVE_SELECT
+#if 0
     if (key == 0x1b && term_select()) {        /* ESC                  */
+#else
+    if (key == 0x1b) { /* ESC                  */
+#endif
 #else  /* !DONT_HAVE_SELECT */
     if (key == 0x1b) { /* ESC                  */
 #endif /* !DONT_HAVE_SELECT */
       escape = 1;
       key = 0;
     }
     break;
   case 1:
     if ((key == '[') || (key == 'O')) {
       key = '[';       /* O はキーバインドで使うので [ に変換 */

さらに、MSPLが無効でビルドした際に.mnews_setupでpop3_modeをoffにしたときに強制的にMSPL利用になってしまい起動が遅い問題の修正。

--- pop3lib/pop3lib.c~  2002-01-09 15:07:09.000000000 +0900
+++ pop3lib/pop3lib.c   2011-04-01 00:35:11.000000000 +0900
@@ -133,26 +133,30 @@
   static int           first = 1;
   char                 spool_dir[PATH_BUFF];
   struct stat          stat_buff;
 #endif /* MSPL */
   char                 *ptr;
   POP3_ERR_CODE                status;

   switch (pop3_connect_mode) {
   case 0:                                      /* MSPL→POP3 接続      */
 #ifndef        MSPL
-    pop3_connect_mode = 1;
+    pop3_connect_mode = 2;
 #endif /* MSPL */
     break;
   case 1:                                      /* POP3→MSPL 接続      */
 #ifndef        POP3
+#ifndef        MSPL
+    pop3_connect_mode = 2;
+#else
     pop3_connect_mode = 0;
+#endif /* MSPL */
 #endif /* POP3 */
     break;
   default:
     break;
   }
   status = POP3_ERR_COMM;
   switch (pop3_connect_mode) {
   case 0:                                              /* MSPL 接続    */
 #ifdef MSPL
     if (first) {

あと、上記サイトではmmfilterというファイル添付用のフィルタを公開しているのだが、ソースを見たところ、バッファサイズが固定なので添付できるファイルのサイズに上限があるように思える。


まあサイズ拡張すればいい話ではあるのだが、面倒なのでperlで同等のフィルタを書いてみた。せっかくなので以下で公開する。「mnewsでメール送信時にファイルを添付させるスクリプト」ってやつね。mimefilter.plというやつ。


http://kozos.jp/tools/


これでメール参照も快適だ。


ブログを読み返して思ったのだが、最近、告知みたいなものしか書いていない。

なのでたまには雑談でも書こう。地震や原発で世の中ちょっと不安な状態なので、ちょっと軽い話題を提供してみたい。


この冬に発見した大きな大発見として、鍋の食べかたというのがある。


鍋をつくるときって、普通は鍋に水を張って、お湯が沸いてきたら火が通りにくい順に具材を入れてというぐあいでやるよね。で、香りの強いものは最後みたいな。


ちなみにぼくは市販の鍋のもとはあまり使わない。味が濃すぎるから。

ダシもあまりとらない。これは単に面倒だから。


で、鍋を作るときなのだけど、いきなりお湯を沸かすのでなく、まず鍋にちょっと油をたらして、具材をいためるととてもいい。軽くいためたら水を入れて鍋にする。あとはいつもどおり。


とくに肉とかは煮る前にいためるととてもおいしい。そのまま食べちゃったりして、鍋のはずなのに焼肉状態になったりもするけど。豚肉とかおいしいよ。豚肉使う場合には肉から油が出るので、油をたらす必要はない。あとはソーセージとかも。


アサリとかエビとかもとてもいい。あとちんげん菜みたいな青物もいためるとおいしい。


このような炒め系の鍋というと、キムチ鍋かカレー鍋がいいだろう。


カレー鍋は市販の鍋のもともあるけれど、カレー粉使ったほうがずっとうまい。で、アスパラとかブロッコリーとかインゲン豆とか米ナスとかオクラみたいな、ふつうは鍋に入れないようなゴロゴロした野菜を入れるととってもうまい。


具材の3分の1はいためて、それ以外はいためずにとかやると、味の違いが楽しめておもしろい。


肉も、カレー用のごろごろしたものをいれるといい。牛肉とか個人的にはスキヤキ用の薄い油たっぷりの肉がちょっと苦手で、赤みの分厚い部分が好きなのだが、カレー鍋にはそういう赤みのゴロゴロしたカレー用肉がよく合う。肉食ってる~って感じで。


ジャガイモは、難しい。個人的には好きなのだけど、ジャガイモ入れると煮崩れして全体的にジャガイモの味になっちゃうよね。このへんは好みだなあ。

おすすめは、豆類だ。枝豆とかも入れるととってもおいしい。さつまいももOKだ。


今日の鍋は何鍋にするか、具材は何をいれるかを考えながらスーパーをうろうろするのは、とても楽しいことだ。大切なのは、鍋の本とかを(参考にするのはかまわないとおもうが)うのみにしてそのとおりにやるのでなく、何をどのように食べたらおいしいかを自分で一生懸命考えることだ。


何をどうやっておいしく食べようか、どう工夫するかを一生懸命考える。工夫がちょう大事。こーいうのが習慣になると、ただただお金をむやみに使っておいしいものを買うことにそれほど魅力を感じなくなってくる。


いや、お金を使っておいしいものを買って食べるのは好きだけどね。それがすべてじゃあないな、と。


でもここで、「本のとおりに作った教科書どおりの鍋よりも、自分で一生懸命考えて作った失敗作の鍋のほうが絶対うまい」とか書くと、あーやっぱりクリエイター気質だなーこれって一般論じゃないなーとか思ってしまう。


KOZOSのコンパイルサーバを立ち上げました。


インターネット上のコンパイルサーバを利用することで,開発環境を構築すること 無く開発可能になります.ソースコードをメールで送信すると自動コンパイルして 返信してくれます.


http://kozos.jp/books/makeos/index.html#build_environment


以下のかたの利用を想定しています.開発環境の選択肢のひとつとして考えてみてください.

  • 12ステップ本を始めてみたけど1stステップの環境構築ですでにハマッてしまって いるひと.
  • 12ステップ本の内容を面倒な準備作業無しでパッと試してみたいひと.
  • 普段は開発用PCを利用しているが,出先などでも暇を見て開発したいひと.
  • ネットブックなど,非力なPC環境でも開発したいひと.

VPSの契約をしたのは以前に書いたが、連休にホームページの移動とwikiの開設作業を一気に行った。


新ホームページ http://kozos.jp/

KOZOSのwiki http://kozos.org/


ホームページについてはいままではプロバイダのホームページを利用していたのだけど容量的に厳しくなってきたので、VPSを契約してそっちに一気に移行。これで容量のこととか意識する必要は無し。快適。じぶんのドメインのサーバがあるっていいね。


kozos.jpのほうは自分の作業用に使うが、kozos.orgのほうはwikiや読者サポートなどに利用する予定です。


wikiは、今まではKOZOS関連の各人の作業とか成果とかが散逸してしまっていたので、共通の発信場所を作るために開設してみました。KOZOS関連のことならば何でも書き込み可とします。なにか作ったので公開したいとか情報発信したいとかいうひとは、利用してみてください。まあ誰も使わないかもしれないけど、それはそれでいいや。


ちなみに今回、GNU/Linuxでのサーバ設営とpukiwikiインストールを初めてやってみました。ちょっとハマった箇所もあったけど、こういうのって昔は本を買って読みながらちまちまやったもんだが、今はネットでちょっと検索してあとは適当にやるだけでそこそこ動いてしまう。


昔に比べてインストールはラクだし情報は多いし、技術というかこういうベース環境ってずいぶん進化したなあと思います。