リンクのお礼メール
フレッシュアイをホームページにリンクしたら、リンクお礼メールが来た。
Refererでもチェックしたんだろうか?
マメだな〜と感心した次第。
version control on XEmacs
XEmacs 20.4からversion control systemマクロを利用していると、vc-next-actionまたはvc-toggle-read-onlyでロックを解除した際に、カーソル位置がファイルの先頭に戻るのが気になる。
mule-2.3(19.28ベース)の場合は、カーソル位置がちゃんと保存されているのに。
これは謎パッチを作らないといけないかな。
メモメモ
Celeron-266-SL2QG(?)で400(?)とか448(!?)が人気なんだって。
メモのためリンクCeleron World。
しげんとこ
しげのとこに来て、スーパードクターK 44 + ドクターK 6 を完全制覇してる途中だったりして。
安楽亭であんなに食べたのは久しぶり〜。
はうはう
スーパードクターK読破の続き。
44巻読破って結構大変だわ。
ぐるぐる
ぽめれちょー
ところで、ぽっかいどーにはクマが出るので注意らしいぞー。
x-tt with Accel-X
x-tt with Accel-Xネタを発見。
あとで試してみよう。
メモメモ。
トライガン
脳内BGMがトライガンのオープニングになってしまっている今日この頃。
トライガンの原作1、2巻をゲット。
原作の方は3話(しかも3話目は途中)しか無いのか〜。
ということは、TV版を作っている人達ががんばって話を作っているのね。
ちょっと謎が補完されたのでよかよか。
wwwoffle
この前拾っておいたwwwoffleをインストール。
を。
online状態、offline状態への変化を明示的に指定するのね。
自動fetchもあるのか〜。
こりゃいいわ。
早速squidをpkg_deleteしてwwwoffleの利用を開始。
現在最適な設定を調査中。
とりあえずwwwoffleの利用方法のメモ。
他にも、指定したURL内部からたどれるリンクを再帰的にゲットしたりもできる。
その際、同じサーバ上にあるリンクだけを再帰的にゲットするなどの指定も可能。
なんて便利なんだっ!!!!
MLの抜け方
某MLにて、「MLの抜け方」ってなタイトルでコメントツリーがぼこぼこ作成されていたりして(笑)。
書いている内容は正しいことなんだけどねぇ。
書き方がアレなんだよねぇ。
さてさて。
萌えキャラ
ゆきずりの日記を巡回中、1997年萌えキャラベスト5に遭遇。
順位は微妙に違うけど、1位〜4位までの萌えキャラに大賛同。
(5位のキャラは単に知らないだけ。)
これで真宮寺さくらとか神崎すみれとかがランクインしていたら大ウケだったのにな〜。
IBMのチャンドラ2
IBMからチャンドラ2が。
ThinkPad 235か〜。
VAIOやらなんやらが大流行している今日この頃では、ちとサイズがでかいかな〜。
FM/V BIBLO
FM/V BIBLO NC313ユーザー宛として、Windows98の優待販売のお知らせが届く。
普通にWindows98 Upgrade版を購入した場合は1500円のキャッシュバック、富士通にWIndows98 Upgrade版を注文した場合は11,800円だそうだ。
メーカー通販だと、下手をすると秋葉原などの実売価格の方が安くなってしまうが、キャッシュバックという方法は良いかも。
Shoさんの日記からたどって
FM WORLD:Windows98(R)対応状況を見ると、BIBLO NC313はWindows98対応らしい。
FreeBSD 2.2.7R
FreeBSD 2.2.7Rが予定通りリリースされた模様。
日本に住んでいるユーザーは、www.cdrom.comで注文する前にPacific HiTechを参照してくれとのこと。
Pacific HiTechはWalnut Creek CDROMと提携した模様。
Pacific HiTechをつらつらと見物したが、FreeBSDのSubscriptionはwww.cdrom.comでないと注文できない模様。
2.2.7Rでの目立った変更点は、msdosfsのFAT32対応、VFATによるlong file name対応、pppコマンドがさらに変更、XFree86は3.3.2.3になったなどなど。 さて、ずいぶん昔にFreeBSD CDROMをsubscriptionしたけど、ちゃんと届くかな。
wwwoffleその後
wwwoffleをしばらく使ってみた感想。
すげー良すぎる。
電車の中でもぐるぐるできるよ〜。
あらかじめ読み込んでおいたページなら一瞬で表示されるよ〜。
自分のページのリンク先存在チェックも手早くできちゃいそうだよ〜。
などなどなど。
マジで涙モノのソフトだ。
ダイアルアップ者は絶対にインストールするべしっ!!!!!!
Links2Go
Links2Go: FreeBSD Awardsに当選しました〜という謎のメールが届いた。
メールの文面は英語で書いてあったので、上の意味内容が正しいかどうか不明(^^;)。
出だしがCongratulationsだったんで、新手のキャッチセールスかと思ったぜい。
見たところ英語ベースのページみたいだったけど、おいらのページにゃ日本語版しかないぞな...。
上記のページからFreeBSDを検索すると、日本語のページが多くヒットしているようだし、別に問題ないのかな。
ちなみに、Links2Go: FreeBSDをみると、なぜか帝撃楽屋とか、きわもとさんとことか、でんきそうじきがリンクされていたり。
関連性がつかめない...。
それに、あまりにもオレ巡回ポイントと合致しすぎてるし...。
いったいどんな仕組みになっているのやら。
Links2Go: FreeBSD (FreeBSDの検索結果)を起点にちょっとぐるぐる。 NetBSD Install noteなるページを発見。 メモメモ。
qvwm
qvwm ホームページをみてみたら、qvwm-1.0b10a.tar.gz 191KBがでていたのでゲット。
雨
結構派手な雨。
今年の夏はなんとなく涼しいような気がする。
wwwoffle-2.2
wwwoffle-2.2をFreeBSD 2.2.6Rで動かすための差分。
diff -car wwwoffle-2.2.orig/Makefile wwwoffle-2.2/Makefile *** wwwoffle-2.2.orig/Makefile Tue Jun 16 03:58:24 1998 --- wwwoffle-2.2/Makefile Thu Jul 23 00:35:23 1998 *************** *** 15,22 **** ######## INSTDIR=/usr/local ! SPOOLDIR=/var/spool/wwwoffle ! CONFDIR=/var/spool/wwwoffle ######## --- 15,22 ---- ######## INSTDIR=/usr/local ! SPOOLDIR=/usr/local/wwwoffle ! CONFDIR=/usr/local/etc ######## *************** *** 240,246 **** [ -e $(SPOOLDIR)/html -a ! -e $(SPOOLDIR)/html.old ] && mv $(SPOOLDIR)/html $(SPOOLDIR)/html.old ;\ [ ! -e $(SPOOLDIR)/html ] && mkdir $(SPOOLDIR)/html @for f in html/* ; do \ ! cp -a $$f $(SPOOLDIR)/$$f && echo "Installing $(SPOOLDIR)/$$f";\ done @([ -d $(SPOOLDIR) -a ! -d $(SPOOLDIR)/prevtime1 ] && ./endian-cache > /dev/null 2>&1 ) || \ (echo "WWWOFFLE: " ;\ --- 240,246 ---- [ -e $(SPOOLDIR)/html -a ! -e $(SPOOLDIR)/html.old ] && mv $(SPOOLDIR)/html $(SPOOLDIR)/html.old ;\ [ ! -e $(SPOOLDIR)/html ] && mkdir $(SPOOLDIR)/html @for f in html/* ; do \ ! cp -Rp $$f $(SPOOLDIR)/$$f && echo "Installing $(SPOOLDIR)/$$f";\ done @([ -d $(SPOOLDIR) -a ! -d $(SPOOLDIR)/prevtime1 ] && ./endian-cache > /dev/null 2>&1 ) || \ (echo "WWWOFFLE: " ;\ diff -car wwwoffle-2.2.orig/misc.c wwwoffle-2.2/misc.c *** wwwoffle-2.2.orig/misc.c Tue Jun 16 03:29:01 1998 --- wwwoffle-2.2/misc.c Wed Jul 22 23:31:22 1998 *************** *** 503,509 **** tim->tm_hour, tim->tm_min, tim->tm_sec, ! utc?"GMT":tzname[tim->tm_isdst>0]); return(value); } --- 503,509 ---- tim->tm_hour, tim->tm_min, tim->tm_sec, ! utc?"GMT":tim->tm_zone); return(value); } diff -car wwwoffle-2.2.orig/wwwoffle.h wwwoffle-2.2/wwwoffle.h *** wwwoffle-2.2.orig/wwwoffle.h Mon Jun 15 02:56:57 1998 --- wwwoffle-2.2/wwwoffle.h Thu Jul 23 00:04:51 1998 *************** *** 27,36 **** #define DEF_WWWOFFLE_PORT 8081 /*+ The default spool directory. +*/ ! #define DEF_SPOOL "/var/spool/wwwoffle" /*+ The default configuration file directory. +*/ ! #define DEF_CONF "/var/spool/wwwoffle" /*+ The absolute maximum number of servers to fork in total. +*/ #define MAX_SERVERS 64 --- 27,36 ---- #define DEF_WWWOFFLE_PORT 8081 /*+ The default spool directory. +*/ ! #define DEF_SPOOL "/usr/local/wwwoffle" /*+ The default configuration file directory. +*/ ! #define DEF_CONF "/usr/local/etc" /*+ The absolute maximum number of servers to fork in total. +*/ #define MAX_SERVERS 64linuxで使われているらしいcpコマンドの-aってオプションはいったいどんな意味なんだろう。 一応 -rp に置き換えておいたけど。
さてと。 portsにするかな〜。 timezoneの部分の差分はwwwoffleの作者さんにメールした方がいいのかな? ほかの変更部分は、FreeBSDのportsノリに合わせるための変更だからどーでもいいんだけど。
TRYGUNサントラ
ついついTRYGUNのサントラを買ってしまった。
そんなわけで現在鑑賞中。
漢字コードの見分け方
FreeBSD-users-jp MLのネタ。
とあるファイルの漢字コードがJIS, EUC, SJISのどれかを判別するには
Java on FreeBSD
FreeBSD ANNOUNCE MLによると、
http://www.freebsd.org/javaにて、JDK 1.1.6対応になったアーカイブが置いてあるらしい。
今晩あたりゲットしよう。
cp -a その後
cp -aの意味の調査ありがとうございました。
cp -dpRと同じということで、FreeBSD 2.2.6Rでもチェック。
-R If source_file designates a directory, cp copies the directory and the entire subtree connected at that point. This option also caus- es symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files. Created directories have the same mode as the corresponding source directory, unmodified by the process' umask. -p Causes cp to preserve in the copy as many of the modification time, access time, file flags, file mode, user ID, and group ID as al- lowed by permissions. If the user ID and group ID cannot be preserved, no error message is displayed and the exit value is not altered. If the source file has its set user ID bit on and the user ID can- not be preserved, the set user ID bit is not preserved in the copy's permissions. If the source file has its set group ID bit on and the group ID cannot be preserved, the set group ID bit is not preserved in the copy's permissions. If the source file has both its set user ID and set group ID bits on, and either the user ID or group ID cannot be preserved, neither the set user ID or set group ID bits are preserved in the copy's permissions. COMPATIBILITY Historic versions of the cp utility had a -r option. This implementation supports that option, however, its use is strongly discouraged, as it does not correctly copy special files, symbolic links or fifo's.-dってオプションは無いらしい。 -rってオプションは廃止寸前のオプションだったのか。 差分を変更せねば。
遊技王
シンジ君(おいおい)が遊技王やってるのね。
花火大会
今日は浦安市の花火大会があった。
フフ。
JDKにおけるproxy設定
javaアプリケーション(スタンドアローン)をwwwoffleによるproxyに対応させる方法をチェック。
Java House ML Topicsから探してみると、以下の方法でシステムプロパティに設定すればOKらしい。
java -DproxySet=true -DproxyHost=proxyhost [-DproxyPort=portNumber] ....
# proxy.conf proxySet=true proxyHost=RealProxyHostName proxyPort=80ってなファイルを作成しておいて、アプリケーション内部で
System.getProperties().load(new FileInputStream("proxy.conf"));と読み込む。
これでJavahinaアンテナ(仮称)のテストがオフラインでできるぞ。
朝日奈アンテナ の方はhina.sh内部で環境変数http_proxyを設定すればproxy経由で情報取得してくれる。
これでアンテナのテストもオフラインでばっちりだ。
あああ。 wwwoffle様々だ〜。
サクラ大戦:4話:真夏の夢の夜
レンタル屋に寄ったらあったので借りてみた。
オープニングは新作。
物語序盤では、ゲーム中ミニゲームのシーンが利用されていたり。
これにはちょい受け。
このあたりはゲームやりこんだ人へのサービスサービスってところ。
話の内容はまぁいつもの通り。
全体的な雰囲気は「魔女の宅急便」に近いかな(←どこがやねん(笑))。
というわけで、サクラ大戦のOVAはこれにて終了。
爆睡
我即爆睡ス、故にネタ無し(おいおい)。
東京電脳遊園地
しゃあるさんのところから
TDY(東京電脳遊園地)へ移動。
そういえば、ここのIDを持っているけど、ここんところ巡回してないな...。
kermitもインストールしたし、あとで巡回しよう。
wwwoffle:その後2
wwwoffle-2.2は絶好調。
ただ、キャッシュファイルが意外な速度で増加中で、ディスク容量を圧迫していたり。
(キャッシュディレクトリのサイズはすでに50MBを突破している...。)
こんなにぐるぐるしてたっけ?>オレ。
パソコン通信
kermitでパソコン通信してみた。
Last Loginからすると、1998/04/16以来だったらしい。
今日のパソコン通信の気になったネタ。
トライガン
今回は過去の因縁が明らかになる話。
大墜落(ビックフォール)の原因はコレだったのカー。
ウォッチャーが選ぶ今日のサイト
ウォッチャーが選ぶ今日のサイト
から
YAMAGATA Hiroo: The Official Pageへ移動。
ををを。
wwwoffleの利用方法
回線速度が遅い場合、ブラウザでリンクをクリックしてから画面が出てくるまで結構時間がかかるので精神衛生上良くない。
そんなわけで、wwwoffleを利用して、リンクをクリックしたらすぐに画面が出てくる方法をチェック。
wwwoffle-2.2の気になる動作
しばらく使ってみて、ちょっと気になる点もあった。
wwwoffle -online が遅い理由
wwwoffle -onlineによってオンラインモードを指示されると、connect.c:114からDeleteLastTimeSpoolFile(NULL)をコールする。
connect.c:729:DeleteLastTimeSpoolFile関数内部では、
Getweb!
Windows95/NTで動作するWWW自動巡回ソフトGetweb!というものがあるらしい。
メモメモ。
wwwoffle -online の高速化
いちいち一つずつファイルをmvせんでも、ディレクトリをmvすりゃええのに...と思ったが...。
wwwoffleは複数同時動作してるんだったっけ。
うーむ。
mv lasttime previous1してmkdir lasttimeする間にCreateLastTimeSpoolFileを呼ばれるとマズイな。
mvからmkdirしている間はlasttimeにアクセスしないようにロックを使わねばなるまい。
(ヒモとタライ......か(!?))
とりあえず、ロックは使わずにディレクトリ名をmvするようにしてみる。 DeleteLastTimeSpoolFile内部をちょっと変更。 1200個ほどのmvをこなしていた以前よりは高速だが、prevtime3をrmdirする時には300個ほどのシンボリックリンクを削除しないといけない。 これにはちょっと時間がかかるな〜。 素直に#define NUM_PREVTIME_DIR 0 した方が良いのかもしれん。 ただ、オリジナルのwwwoffle-2.2のソースのままだと、#define NUM_PREVTIME_DIR 0した場合はlasttimeディレクトリ内部にシンボリックリンクが残ったままになりそうだけど。 もっと素直に mount -o async すれば良いとゆー話もあるよな...。 ふにふに。
とりあえず差分。
*** wwwoffle-2.2c.orig/spool.c Sun Jun 21 00:14:26 1998 --- wwwoffle-2.2c/spool.c Sat Aug 1 02:28:09 1998 *************** *** 786,865 **** else { int i; struct dirent* ent; DIR *dir; ! for(i=NUM_PREVTIME_DIR;i>0;i--) { ! sprintf(prevtime,"prevtime%d",i); ! ! if(chdir(prevtime)) ! {err=PrintMessage(Warning,"Cannot change to directory '%s' [%!s].",prevtime);return(err);} ! ! dir=opendir("."); ! ! if(!dir) ! {err=PrintMessage(Warning,"Cannot open current directory '%s' [%!s].",prevtime);chdir("..");return(err);} ! ! ent=readdir(dir); /* skip . */ ! if(!ent) ! {err=PrintMessage(Warning,"Cannot read current directory '%s' [%!s].",prevtime);closedir(dir);chdir("..");return(err);} ! ent=readdir(dir); /* skip .. */ ! ! while((ent=readdir(dir))) ! if(i<NUM_PREVTIME_DIR) ! { ! char *prev=(char*)malloc(strlen(ent->d_name)+16); ! sprintf(prev,"../prevtime%d/%s",i+1,ent->d_name); ! ! if(rename(ent->d_name,prev)) ! PrintMessage(Warning,"Cannot rename previous time page '%s/%s' to '%s' [%!s].",prevtime,ent->d_name,prev+3); ! ! free(prev); ! } ! else ! { ! if(unlink(ent->d_name)) ! PrintMessage(Warning,"Cannot unlink previous time page '%s/%s' [%!s].",prevtime,ent->d_name); ! } ! ! closedir(dir); ! ! chdir(".."); } ! ! if(chdir("lasttime")) ! {err=PrintMessage(Warning,"Cannot change to directory 'lasttime' [%!s].");return(err);} dir=opendir("."); - if(!dir) ! {err=PrintMessage(Warning,"Cannot open current directory 'lasttime' [%!s].");chdir("..");return(err);} ! ent=readdir(dir); /* skip . */ if(!ent) ! {err=PrintMessage(Warning,"Cannot read current directory 'lasttime' [%!s].");closedir(dir);chdir("..");return(err);} ent=readdir(dir); /* skip .. */ while((ent=readdir(dir))) ! { ! char *prev=(char*)malloc(strlen(ent->d_name)+16); ! sprintf(prev,"../prevtime1/%s",ent->d_name); ! ! if(rename(ent->d_name,prev)) ! PrintMessage(Warning,"Cannot rename previous time page '%s/%s' to '%s' [%!s].",prevtime,ent->d_name,prev+3); ! free(prev); } ! closedir(dir); } ! ! chdir(".."); ! return(err); } - /*++++++++++++++++++++++++++++++++++++++ Create a file in the lasttime directory. --- 786,833 ---- else { int i; + char lasttimedirname[NUM_PREVTIME_DIR+1][16]; struct dirent* ent; DIR *dir; ! strcpy(lasttimedirname[0], "lasttime"); ! for(i=1;i<=NUM_PREVTIME_DIR;i++) { ! sprintf(lasttimedirname[i], "prevtime%d", i); } ! ! if(chdir(lasttimedirname[NUM_PREVTIME_DIR])) ! {err=PrintMessage(Warning,"Cannot change to directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);return(err);} dir=opendir("."); if(!dir) ! {err=PrintMessage(Warning,"Cannot open current directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);chdir("..");return(err);} ent=readdir(dir); /* skip . */ if(!ent) ! {err=PrintMessage(Warning,"Cannot read current directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);closedir(dir);chdir("..");return(err);} ent=readdir(dir); /* skip .. */ while((ent=readdir(dir))) ! if(unlink(ent->d_name)) ! PrintMessage(Warning,"Cannot unlink previous time page '%s/%s' [%!s].",prevtime,ent->d_name); ! closedir(dir); ! chdir(".."); ! if(rmdir(lasttimedirname[NUM_PREVTIME_DIR])) ! {PrintMessage(Warning,"Cannot rmdir directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);return(err);} ! ! for(i=NUM_PREVTIME_DIR;i>0;i--) ! { ! if(rename(lasttimedirname[i-1], lasttimedirname[i])) ! PrintMessage(Warning,"Cannot rename directory '%s' to '%s' [%!s].",lasttimedirname[i-1], lasttimedirname[i]); } ! if(mkdir(lasttimedirname[0],0755)) ! PrintMessage(Warning,"Cannot create directory '%s' [%!s].",lasttimedirname[0]); } ! return(err); } /*++++++++++++++++++++++++++++++++++++++ Create a file in the lasttime directory.