Jul 8, 2001 (Sun) 0:45 - 日記CGI

うちも変えてみました.

・表示は過去24時間分まで
・新着だったらマークを★に.それ以外は●

TmmDiaryで変更したい人は以下のように.

43行目を
my $dispdays = 2;

126目以降あたりを
for(my $id = $INDEX->{maxid}; ;$id--)
{
last if(!$DIARY->{$id});
last if($DIARY->{$id}{update} < $time - 60*60*24);
# next if($DIARY->{$id}{update} < $lasttime);

$dispcount++;

if($DIARY->{$id}{update} < $lasttime)
{
$t->node('list')->node('old')->add;
}
else
{
$t->node('list')->node('new')->add;
}
$t->node('list')->add({ ID => $id,

のように変更してください.



Jul 8, 2001 (Sun) 1:27 - 理夢.jp

#~~~~
# 転送メアド欲しいかもー、と言ってみたり。

というわけで作りました.

mikage@rimu.jp
mikage-???@rimu.jp
lovelove@rimu.jp <日記送るときに使っちゃった(爆)

の2つ以外の @rimu.jp あてのメールを転送するようにしました.

あと,HTTP転送の方は,

http://rimu.jp/diary.htm

とかでも転送できるので良ければ使ってください(^^;

----

そして,ココまで書いて気づく.
理夢って,綴りは rim?(爆)

・・・そしてすでに取得済みという罠.
しくり〜



Jul 8, 2001 (Sun) 2:44 - 日本語ドメイン

設定分かりません(爆)

せっかくだから設定しようと思ったけど,mdnsproxy は
うまく動かないし‥‥‥.
とりあえず,ネコミをwrapしようとしたら,
日本語ドメイン見ようとした瞬間落ちるし(^^;

日本語ドメイン使ってる人全然いないのかなぁ(^^;
む〜.とりあえず今日は飽きたので終了.
また今度いじってみよう‥‥‥



Jul 8, 2001 (Sun) 5:21 - 日本語ドメインその後

mDNKit は諦めて,Squid の dnsserver を改造することで
日本語ドメインに対応できないかと考えてみる.

早速,Perlでスクリプトを書いて,実行.

しかし,dnsserver に渡される前にURIのチェックで引っかかる.
と,これは予想通りなので,mDNKit のパッチを当てることにする.

Kondaraデフォのsquidを使っていたので,ソースをダウンしてきて
コンパイル.

・・・コンパイル後,dnsserver を使うには,--disable-internal-dns
を付けないといけないことに気づき,再コンパイル‥‥‥.

そして,設定を変えて起動してみると,無事 dnsserver.pl に
名前解決の依頼が来る.

早速,「日本語ドメイン名試験.jp」の名前解決をさせてみる.
が,うまくいかない‥‥‥

ログを見てみると,「日本語ドメツン名試験」でリクエストが来てる.
何故だ・・・とおもえば,「イ」の2バイト目は「c」
「ツ」は,「イ」と1バイト目が同じで,2バイト目が「C」
どうやら内部で大文字に変換されてからdnsserverにくるらしい.
でも他の文字は小文字のまま.なぜココだけ大文字変換が・・・??
やっぱりよくわからない

・・・ってわけで,失敗.

IE5には,「URLを常にUTF-8で送る」というオプションが
付いている‥‥‥.
ので,それを使ってみる.
UTF-8なら,小文字大文字変換をされても,その範囲を
日本語が使わないので問題ないはず‥‥‥

と思いきや,届く文字列がおかしい.
「理夢.jp」をおくると,「http://%e7%90%81e%a4%a2.jp/
でリクエストが来る.どう考えてもおかしい‥‥‥.
理夢は,「e7 90 86 e5 a4 a2」のはずなんだけど,
真ん中の2バイトが化けている.原因不明.
SquidかIEかどっちかがおかしいんだとは思うけど‥‥‥.(^^;

・・・というわけで,とりあえず力つきました(爆)
Squidの小文字大文字変換をやめさせれば,
SJISでの日本語ドメイン化は可能になると思うのだけど.

続きは後日.ソース追わないと解決しないっぽいので.



Jul 8, 2001 (Sun) 6:16 - 日本語ドメイン・・・

SJIS変換で,理夢.jp は通るようになった.
なんで「ドメイン」が化けるのかは謎だけど...

とりあえず,Apacheの設定をしておくけど,
Host: ヘッダーが RACE じゃないので,ジャンプできない(^^;

そこで,どのVhostにも引っかからなかったときの
デフォルトの飛び先に index.cgi をおいて,

#!/usr/local/bin/perl

if($ENV{HTTP_HOST} =~ /^\x97\x9d\x96\xb2/)
{
print "Location: http://bq--3b2amwjc.jp/\n\n";
}
else
{
print "Location: http://$ENV{SERVER_NAME}/index.html\n\n";
}

こんなカンジで飛ばしてあげることに.

とりあえず,SJIS環境ならコレでみれるように‥‥‥.

でもなんだかな〜.というカンジはかなりするけど(^^;

みかげ.jp とか,日記.みかげ.jp を同じように設定する
気力は無し.どうせほとんどの人みれないだろうし(^^;



Jul 8, 2001 (Sun) 11:35 - 転送

#~~~~
# 転送アドレスはcgiかphpでLocationで飛ばしてやればいいのかな?

Apache に mod_rewrite をいれて,以下のように
RewriteEngine で飛ばすのがよさげかと‥‥‥

<VirtualHost 210.81.123.80:80>
ServerName rimu.jp
ServerAlias bq--3b2amwjc.jp
ServerAdmin webmaster@rimu.jp
DocumentRoot /home/mikage/htdocs.rimu
ErrorLog /home/mikage/logs.rimu/error_log
CustomLog "| /usr/local/apache/bin/logsplit /home/mikage/logs.rimu/access" c
ommon
User mikage
Group mikage

RewriteEngine on
RewriteRule ^/(.*) http://www.geocities.co.jp/Playtown-Yoyo/7033/$1 [R,L]
</VirtualHost>



Jul 8, 2001 (Sun) 11:57 - こーど

#~~~~

過程を楽しむ‥‥‥.確かに,結果よりは過程の方が面白いかも(^^;

# LD A,B
# ADD A,&h01
# POP A

最後は PUSH なのでは‥‥‥.
A レジスタをスタックに保存するのが PUSH ですよね(^^;確か‥‥‥

しかし,上のはCPU何だろう.Z80?

% わたしは 386系 と,SPARC しかわかりません(^^;

しかし,読まれてるのは結構意外だったり.
アンテナに補足されてるからカウンタは増えるけど,
どのくらいの人が読んでるのかは結構謎ですね(^^;

昔書いていた日記は,見るときに名前を入れてもらっていた
(2度目以降はクッキー保存)ので,誰がいつ頃の日記を
見たのかがすぐに分かったのですが,ここでそれやると
結構じゃまだと思われそうですし.(^^;



Jul 8, 2001 (Sun) 12:33 - mdnsproxy

動いた.

client-encoding Shift_JIS

ではなく,

client-encoding SHIFT-JIS

じゃないとダメだったっぽい(^^;

でも,perlスクリプトから gethosybyname すると失敗する...(^^;

tcpdump で見ると,リクエストはちゃんと RACE エンコードされて
forward 先のネームサーバーへ問い合わせが行われていて,
その返事も正しく帰ってきてる.

けど,gethostbyname から処理が戻ってこなくて,なんども
リクエストを送り直しているカンジ.う〜む...



Jul 8, 2001 (Sun) 12:47 - う〜ん

きのこに多言語ドメイン対応 HTTP Proxy 機能とか搭載されないかなぁ(^^;

Proxomitron が対応してくれるのがラクだけど,
ソースは非公開っぽいし.ぐ〜



Jul 8, 2001 (Sun) 13:46 - 日本語ドメイン

とりあえず,mdnkit-users なMLになげてみる.
みんなどうやってるのかなぁ(^^;



Jul 8, 2001 (Sun) 20:58 - C++

#~~~~
# 便利だなあ。俺もCなんかさっさと捨ててC++を早くマスターしよう。

STLを覚えると更に便利です♪

解説ページ

例えば,入力した単語をカウントしたい場合,以下のようなカンジ.

#include <iostream>
#include <string>
#include <map>

using namespace std;

int main(int argc,char *argv[])
{
map<string, int> counter;

while(true)
{
string buff;
cin >> buff;

if (buff.size() == 0) continue;
if (buff=="exit") break;

counter[buff]++;

cout << buff << endl;
}

cout << "Word Count" << endl;

for(map<string, int>::const_iterator it = counter.begin();
it != counter.end(); it++)
{
cout << (*it).first << endl;
cout << " " << (*it).second << endl;
}

return 0;
}



Jul 8, 2001 (Sun) 21:57 - あせんぶら

#~~~~
# あー、Z80っぽいですねぇ。 とすると、PUSH/POP は 16ビットロード
# 命令ですので、 オペランドは16ビットのペアレジスタを指定します。

AFでペアでしたか.(^^;

Z80って,そこらへんがなんかあまり好きではなかったり.
x86も,386以前はインデックス指定時のレジスタの組み合わせの
制限が大きくてイマイチだし.
([bx+cx*2+500] とかの指定が出来ないし(^^;)

386になってからそこら辺は使いやすくなったカンジですが‥‥‥.

386で,構造化アセンブラ使ってゴリゴリコード書いてました.
で,スレッド自力で実装してみた後,システムコールが
リエントラントではないことに気づく罠.

% タイマ割り込みで駆動するやつ作ったのに‥‥‥(笑)

# もし UNIX系の OSのソースコードを読むチャンスがあったら、
# メモリ管理の一番下で使われてる関数 (sysbrk() とか) を
# 鑑賞して欲しいなぁ。 そこには牙を剥き出しにした C言語が
# 嬉々としてメモリと格闘する様が書かれております。

OS のコードは・・・(^^;
タスク切り替えあたりも複雑そうだし.
アセンブラは勉強して,どんなカンジでやってるのかの
想像はだいたいはつきますが,詳細知っても使い道なさそうなので(^^;

アセンブラの方は,PS2のVUあたりを勉強したいですねぇ.
Linuxキットに資料ついてくるらしいので,それが楽しみです.



Jul 8, 2001 (Sun) 23:03 - ねここ


ねこー ねこー




2001年07月
01
12
02
7
03
14
04
17
05
22
06
13
07
16
08
13
09
8
10
6
11
7
12
6
13
10
14
6
15
6
16
4
17
6
18
3
19
4
20
0
21
0
22
0
23
0
24
3
25
8
26
6
27
8
28
2
29
4
30
2
31
6
01
7
02
3
03
2
04
10

TmmDiary / Copyright 2001 Ymirlink,Inc. & Mikage Sawatari
このアドレスにはメールを送らないで下さい.
Don't send mail to this address.
hina@mikage.to