Category:コンピュータ,
2000/10/16(月): 新ns後始末
その愛工大からTeraTermでファイアーウォールにつないで,
telnetでiceにつないで,iceでsshをコンパイルして,
sshで研究室につないで,さらにsshでwillyにつないで状況を確認した(すんげー重かった).
rootのパスワードが変わってて/etc/sudoersも俺だけしか入ってなかったので困ってた.
あとはwiの検索がリンク先が間違ってた.
telnetでiceにつないで,iceでsshをコンパイルして,
sshで研究室につないで,さらにsshでwillyにつないで状況を確認した(すんげー重かった).
rootのパスワードが変わってて/etc/sudoersも俺だけしか入ってなかったので困ってた.
あとはwiの検索がリンク先が間違ってた.
2000/10/15(日): ns入れ替え
だいたい順調に行ったけど,結局11:00-20:00ぐらいかかってしまった.
てこずったのは大ざっぱに言ってこんな感じ.
てこずったのは大ざっぱに言ってこんな感じ.
IP, ホスト名付け替え :
結構いっぱい忘れた./etc/network/interfaces, /etc/bind/named-LAN.conf,
named-INET.conf
/etc/modutils/ne,v :
/etc/modutils/ne にモジュールのオプション(I/O)を書き込むんだけど,
これを rcs で書き換えたら,/etc/modules.conf に ne,v がまきこまれて,
スクリプトがおかしくなってしまった.
どうやら起動時に自動的に /etc/modutils/ 以下のファイルを読み込んで
/etc/modules.conf を生成してるようだ.
IRC :
これが一番手ごわかった.
パッケージで ircd を入れると,とりあえず動いてnanaやdiからはつなげるのに,
自分自身がつなげない.旧nsの設定ファイルもエラーが出る.
あきらめてソースからコンパイルして前の設定でそのまま動かした.
MRTG (snmpd) :
まだぜんぜんできてない.わけ分からん.
POP3 :
ipopd をパッケージで入れたらすぐに使えるようになったのでOKだと思ってたら,
自宅からPOPで取っていったらサーバに残す設定にしてたのに全部なくなっちゃった.
どうやら ipopd はサーバに残せないようだ.
設定しだいでできるのかもしれないけど,探すのもめんどうだったので qpopper
を入れた.パッケージで入れてすぐOK.
2000/10/13(金): ゼンリン電子地図帳Z[zi:]? 全国版 CD-ROM版
が届いた.
前々から思ってたけど,このシリーズってインターフェイスが独特で,
慣れるまでちょっと使いにくい.
でも,拾い物のZ1よりかなり地図が詳細になっててGOOD!
自分ちの輪郭まで出る.
3D表示もCOOL!!
名古屋駅のタワーズとかかっこいい.
でも,名大の建物とかの自動生成されたようなヤツは,
天井のポリゴンがいいかげん.はみでてる.
それから,結局こいつには関係なかったけど,
CD革命の吸出しがうまくいかなくなっちゃった.
一般ユーザだと「TOCが認識できませんでした」みたいなダイアログが出て,
Administratorでやると,マウスカーソルすら動かないぐらい固まる.
IEもよく落ちるようになったし,そろそろWin2k再インストールかな….
前々から思ってたけど,このシリーズってインターフェイスが独特で,
慣れるまでちょっと使いにくい.
でも,拾い物のZ1よりかなり地図が詳細になっててGOOD!
自分ちの輪郭まで出る.
3D表示もCOOL!!
名古屋駅のタワーズとかかっこいい.
でも,名大の建物とかの自動生成されたようなヤツは,
天井のポリゴンがいいかげん.はみでてる.
それから,結局こいつには関係なかったけど,
CD革命の吸出しがうまくいかなくなっちゃった.
一般ユーザだと「TOCが認識できませんでした」みたいなダイアログが出て,
Administratorでやると,マウスカーソルすら動かないぐらい固まる.
IEもよく落ちるようになったし,そろそろWin2k再インストールかな….
2000/10/12(木): クラスCよりせまいサブネットの逆引きネームサーバ
Willyの新nsの準備は着々と進んでる.
今日はグローバル側のネームサーバの設定を解決した.
まず,/etc/hosts にグローバル側の設定が書いてなかったので
nslookup でグローバル側のネームサーバにアクセスできなかったようだ.
そして,クラスCよりせまいサブネットでは,
親ドメインのネームサーバがちゃんと設定してあれば
クラスCと同じように自分のところで設定できるんだが,
最初の1回は,親ドメインのネームサーバに問い合わせて
自分がそのサブネットを管理していると言うことを認識するようだ.
つまり,LANケーブルを完全に引っこ抜いた状態では逆引きできない.
一度つないだ状態で nslookup で逆引きすれば,
あとは引っこ抜いててもOK.
今日はグローバル側のネームサーバの設定を解決した.
まず,/etc/hosts にグローバル側の設定が書いてなかったので
nslookup でグローバル側のネームサーバにアクセスできなかったようだ.
そして,クラスCよりせまいサブネットでは,
親ドメインのネームサーバがちゃんと設定してあれば
クラスCと同じように自分のところで設定できるんだが,
最初の1回は,親ドメインのネームサーバに問い合わせて
自分がそのサブネットを管理していると言うことを認識するようだ.
つまり,LANケーブルを完全に引っこ抜いた状態では逆引きできない.
一度つないだ状態で nslookup で逆引きすれば,
あとは引っこ抜いててもOK.
2000/10/11(水): ゼミ当番
割と予定どおりに行動できたけど,ちょっと遅刻した.
久々すぎて時間感覚がずれてるようだ.
ゼミ当番は無難にやり過ごした.
久々すぎて時間感覚がずれてるようだ.
ゼミ当番は無難にやり過ごした.
2000/10/11(水): 留学生
バングラディッシュ人だとさ.
名前は…忘れた.
益村と玉木さんと工藤先生の3人がかりでアカウントを作っていた.
shillaでうまくいくのにrafflesでうまくいかないのは,
アカウント名が8文字以下でないといけないからだった.
ほら,俺の言った通りじゃん.
名前は…忘れた.
益村と玉木さんと工藤先生の3人がかりでアカウントを作っていた.
shillaでうまくいくのにrafflesでうまくいかないのは,
アカウント名が8文字以下でないといけないからだった.
ほら,俺の言った通りじゃん.
2000/10/10(火): 外からアクセス.
次の2つの方法を試した.
2番目のようにすればアクセスもとのIPアドレスが記録される.
ちなみにこれは,
squid による透過型プロキシ を参考にした.
ついでにこの透過型プロキシもやろうかと思ったけど,
SQUID FAQ を見ると,いろいろ問題があるようだ.
研究室でも透過型プロキシをやるつもりだったけど,
もうちょっと検討がいるな.
1. stone localhost:80 100801番目の方法では,日記のログにlocalhostからのアクセスとして記録される.
2. ipchains -A input -p tcp --destination-port 10080 -j REDIRECT 80
2番目のようにすればアクセスもとのIPアドレスが記録される.
ちなみにこれは,
squid による透過型プロキシ を参考にした.
ついでにこの透過型プロキシもやろうかと思ったけど,
SQUID FAQ を見ると,いろいろ問題があるようだ.
研究室でも透過型プロキシをやるつもりだったけど,
もうちょっと検討がいるな.
2000/10/10(火): CGIスクリプト自身のURL
こんなスクリプト *1を作って環境変数をチェックしたら,
$ENV{'SERVER_NAME'} は sanapon.mizuno.or.jp
で,$ENV{'HTTP_HOST'} がアクセスされたホスト名になることが分かった.
なので,~/public_html/diary/lib/HNS.pm のコメントを戻して,
~/public_html/diary/config.ph を,
$MyDiaryURI = "http://$ENV{'HTTP_HOST'}/~takayuki/diary/";
とした.
*1:CGIメーリングリスト [cgi:16189] Re: URL 取得
$ENV{'SERVER_NAME'} は sanapon.mizuno.or.jp
で,$ENV{'HTTP_HOST'} がアクセスされたホスト名になることが分かった.
なので,~/public_html/diary/lib/HNS.pm のコメントを戻して,
~/public_html/diary/config.ph を,
$MyDiaryURI = "http://$ENV{'HTTP_HOST'}/~takayuki/diary/";
とした.
*1:CGIメーリングリスト [cgi:16189] Re: URL 取得
2000/09/08(金): 東海支部発表練習
なんとかかわした.
1分ぐらい時間オーバーか.
最後の「今後の課題」は適当に切り上げよう.
ところで,最後の玉木さんの番で,プロジェクタが爆発した(笑).
当日持ってくプロジェクタどうしよう….
1分ぐらい時間オーバーか.
最後の「今後の課題」は適当に切り上げよう.
ところで,最後の玉木さんの番で,プロジェクタが爆発した(笑).
当日持ってくプロジェクタどうしよう….
2000/08/10(木): GLU Tesselator の謎,解けた!
やーれやれ,ずいぶん苦労したぞ.
gluTessVertex の2,3番目の引数が同じサンプルばっかりだったけど,
どうやら2番目がOpenGLが内部で使う座標で,
3番目が vertexCallback の1番目の引数として渡されて,
gluTessBeginPolygon の2番目の引数が vertexCallback の
2番目の引数として渡されるようだ.
それ以前にも,関数の宣言などで CALLBACK をつけるだの色々はまりまくりだった.
まあなんにせよ,これでタイリングは自前でやる必要がなくなったわけだ.
あとは,このタイリングに渡すポリゴンの頂点を作るのが問題だ.
いや,頂点は計算できてるから,後は並べるだけだ!
あと,ステンシルバッファによる見かけ倒しのきれいな穴!
gluTessVertex の2,3番目の引数が同じサンプルばっかりだったけど,
どうやら2番目がOpenGLが内部で使う座標で,
3番目が vertexCallback の1番目の引数として渡されて,
gluTessBeginPolygon の2番目の引数が vertexCallback の
2番目の引数として渡されるようだ.
それ以前にも,関数の宣言などで CALLBACK をつけるだの色々はまりまくりだった.
typedef struct vd {
double v[3];
double rgb[3];
int id;
} VertexData;
void CALLBACK vertexCallback(GLvoid *vertex, void *user_data)
{
const VertexData *ver = (VertexData *) vertex;
double *data = (double*)user_data;
if (ver) printf("pointer(%f,%f,%f)[%f,%f,%f] %d\n",ver->v[0],ver->v[1],ver->v[2],
ver->rgb[0],ver->rgb[1],ver->rgb[2], ver->id);
else {
printf("pointer == NULL!?\n");
return;
}
if (data) printf("data (%f,%f,%f)\n",
data[0],data[1],data[2]);
else printf("data == NULL!?\n");
glColor3dv(ver->rgb);
glVertex3dv(ver->v);
}
/* combineCallback is used to create a new vertex when edges
* intersect. coordinate location is trivial to calculate,
* but weight[4] may be used to average color, normal, or texture
* coordinate data. In this program, color is weighted.
*/
void CALLBACK combineCallback(GLdouble coords[3],
VertexData *vertex_data[4],
GLfloat weight[4], VertexData **dataOut )
{
VertexData *vertex;
int i;
static id = 100;
vertex = (VertexData *) malloc(sizeof(VertexData));
vertex->v[0] = coords[0];
vertex->v[1] = coords[1];
vertex->v[2] = coords[2];
for (i = 0; i < 3; i++)
vertex->rgb[i] = weight[0] * vertex_data[0]->rgb[i]
+ weight[1] * vertex_data[1]->rgb[i]
+ weight[2] * vertex_data[2]->rgb[i]
+ weight[3] * vertex_data[3]->rgb[i];
vertex->id = id++;
*dataOut = vertex;
}
gluTessBeginPolygon(tobj, tmp);
gluTessBeginContour(tobj);
gluTessVertex(tobj, rect[0].v, &rect[0]);
gluTessVertex(tobj, rect[1].v, &rect[1]);
gluTessVertex(tobj, rect[2].v, &rect[2]);
gluTessVertex(tobj, rect[3].v, &rect[3]);
gluTessEndContour(tobj);
gluTessBeginContour(tobj);
gluTessVertex(tobj, tri[0].v, &tri[0]);
gluTessVertex(tobj, tri[1].v, &tri[1]);
gluTessVertex(tobj, tri[2].v, &tri[2]);
gluTessEndContour(tobj);
gluTessEndPolygon(tobj);
glEndList();
まあなんにせよ,これでタイリングは自前でやる必要がなくなったわけだ.
あとは,このタイリングに渡すポリゴンの頂点を作るのが問題だ.
いや,頂点は計算できてるから,後は並べるだけだ!
あと,ステンシルバッファによる見かけ倒しのきれいな穴!