たぽブログ
車,音楽,コンピュータ,etc...2000/11/30(木): マルチメディアタイマー
OnTimer() じゃなくてマルチメディアタイマーとやらを使うようにしてみた.
これでたぶん Win9X でも 18fps の壁を越えれるはず.
でも,メンバ関数をコールバック関数にするためには,
static関数にしなくてはならない.
すると static でないメンバ変数にアクセスできなくなるので,
上のようにユーザがコールバック関数に渡せる引数
dwUserに自分自身のポインタ(CWinTabView*)を渡すのだが,
このコールバック関数の中(コールバック関数から呼ばれる関数も含む)で
UpdateAllViews() とかすると CDocument の ASSERT_VALID(pView) に引っかかる.
Invalidate() でメッセージを介して画面更新するとアサートしないので,
ところで Win9X のユーザリソース食いつぶし現象はどうなったんだっけ…?
これでたぶん Win9X でも 18fps の壁を越えれるはず.
でも,メンバ関数をコールバック関数にするためには,
static void CALLBACK TimeProc( UINT uTimerID, UINT uMsg,と
DWORD dwUser, DWORD dwParam1, DWORD dwParam2 );
呼び出す方は,
m_TimerID = timeSetEvent(m_TimerDelay, m_TimerResolution, &TimeProc,
(DWORD)this, TIME_PERIODIC);
static関数にしなくてはならない.
すると static でないメンバ変数にアクセスできなくなるので,
上のようにユーザがコールバック関数に渡せる引数
dwUserに自分自身のポインタ(CWinTabView*)を渡すのだが,
このコールバック関数の中(コールバック関数から呼ばれる関数も含む)で
UpdateAllViews() とかすると CDocument の ASSERT_VALID(pView) に引っかかる.
Invalidate() でメッセージを介して画面更新するとアサートしないので,
View->SendMessage(WM_USER_PUSHING, nFlags,(LPARAM)&point);というようにユーザメッセージを送るようにした.
ところで Win9X のユーザリソース食いつぶし現象はどうなったんだっけ…?
2000/11/29(水): 死亡メモリオークションへ
ダメ元というか半分ジョークで昨日昇天したメモリをオークションにかけてみた.
するとなんと,
質問が来た! びっくりだ.直す気かなあ.
しかし,こんなのほとんど何の利益にもならなくてめんどくさいだけだぞ.
だったら出品するなってか.
するとなんと,
質問が来た! びっくりだ.直す気かなあ.
しかし,こんなのほとんど何の利益にもならなくてめんどくさいだけだぞ.
だったら出品するなってか.
2000/11/28(火): HP, NEC のインクジェットプリンタの黒カートリッジ
NEC PICTY900, PICTY320 の黒カートリッジはどうも調子が悪い。
インクを使い切る前にうまく認識しなくなること3回。
そのたびに新しいインクに買い替えている。結構な出費だ。
そして今日は、PICTY 320 で1行おきに横しまが入るという現象に見舞われた。
インク自体は残ってるんだから、何とかならんのかねえ。
使い切ったカートリッジにインクだけ追加するとか。
いや、まともに最後まで使い切ったカートリッジはないなあ…。
今回の「1行おきに横しまが入る」カートリッジをうちの PICTY900 に突っ込んでみたら,ちゃんと印刷された.
ドライバの問題?ただのインク詰まり?ティッシュで拭いたから復活?謎だ….
インクを使い切る前にうまく認識しなくなること3回。
そのたびに新しいインクに買い替えている。結構な出費だ。
そして今日は、PICTY 320 で1行おきに横しまが入るという現象に見舞われた。
インク自体は残ってるんだから、何とかならんのかねえ。
使い切ったカートリッジにインクだけ追加するとか。
いや、まともに最後まで使い切ったカートリッジはないなあ…。
今回の「1行おきに横しまが入る」カートリッジをうちの PICTY900 に突っ込んでみたら,ちゃんと印刷された.
ドライバの問題?ただのインク詰まり?ティッシュで拭いたから復活?謎だ….
2000/11/28(火): メモリ死亡(T_T)
こないだ Yahoo! オークションで落したばっかりのメモリが死んだ。
だって EP-BX6SE と ASUS P5A で DIMM スロットの向きが逆なんだもん。
何か差しごたえが変だなと思いつつ電源を入れると、
「ぴーぴー…」とメモリが差さってないよ警報が鳴って、
ビニールが融けたようないやーなにおいがしてきた。
慌てて電源を切って差し直してみたけど、手遅れみたい(T_T)。
全く認識されなくなってしまった。まだ全然実力を発揮していないのに…。
思うに、DIMM の切りかきって、逆に刺さらないようにあるものだと思うんだが、
刺さってしまってその上壊れてしまっては意味ないじゃないか。と思うのは俺だけか?
だって EP-BX6SE と ASUS P5A で DIMM スロットの向きが逆なんだもん。
何か差しごたえが変だなと思いつつ電源を入れると、
「ぴーぴー…」とメモリが差さってないよ警報が鳴って、
ビニールが融けたようないやーなにおいがしてきた。
慌てて電源を切って差し直してみたけど、手遅れみたい(T_T)。
全く認識されなくなってしまった。まだ全然実力を発揮していないのに…。
思うに、DIMM の切りかきって、逆に刺さらないようにあるものだと思うんだが、
刺さってしまってその上壊れてしまっては意味ないじゃないか。と思うのは俺だけか?
2000/11/26(日): Perl のファイル削除
は,何で unlink() なんて名前なんだろう….おかげでなかなか見つけられなかったぞ.
それはともかく,月1で古い.deb を消して
Packages.gz を作り直す
スクリプト を書いてみた.うまくいくかな.
それはともかく,月1で古い.deb を消して
Packages.gz を作り直す
スクリプト を書いてみた.うまくいくかな.
2000/11/26(日): メモリ

細かい耐性はともかく,現在の常用クロック FSB 136 CL2 Vio 3.5V Vcore 1.75V で
各種ベンチ完走.いずれ限界を調べてみたいところだが,すでに CPU が限界.
安い PentiumII の ES 品でもオークションで落としてみるか.
2000/11/26(日): Willy goro3
さっさと置き換えよう.置き換え自体は結構スムーズに行ったが,
例によって ghostscript のコンパイルに手間取り,
結局自宅から ssh 経由でとどめを刺した.それから,
日本PHPユーザ会 から落とした
PHP日本語マニュアル を
Namazu で検索できるようにせよとの指令が下っていたが,
こいつが Unicode で書いてあって,うまく日本語で検索できない.
いったん nkf かなんかで EUC に変換しないとダメなのかなあ.
と思ったら,どうやら nkf も kcc も unicode には対応してないみたい.
Web をさまよってて tcs というのを見つけた..deb もあるのでさっそくこれで
連続変換スクリプト!
例によって ghostscript のコンパイルに手間取り,
結局自宅から ssh 経由でとどめを刺した.それから,
日本PHPユーザ会 から落とした
PHP日本語マニュアル を
Namazu で検索できるようにせよとの指令が下っていたが,
こいつが Unicode で書いてあって,うまく日本語で検索できない.
いったん nkf かなんかで EUC に変換しないとダメなのかなあ.
と思ったら,どうやら nkf も kcc も unicode には対応してないみたい.
Web をさまよってて tcs というのを見つけた..deb もあるのでさっそくこれで
連続変換スクリプト!
#!/usr/bin/perlこれで改めてインデックスを作ったら,めでたく検索成功.
#
# unicode -> euc 変換
# 元のファイルに上書き
while ($ARGV[0]) {
print "tcs -t ujis $ARGV[0] > $ARGV[0].tmp\n";
system "tcs -t ujis $ARGV[0] > $ARGV[0].tmp";
print "mv -f $ARGV[0].tmp $ARGV[0]\n";
system "mv -f $ARGV[0].tmp $ARGV[0]";
# print "rename $ARGV[0].tmp, $ARGV[0]\n";
# rename $ARGV[0].tmp, $ARGV[0];
shift;
}
2000/11/25(土): Pentium4 と GeForce2 Go
このページ に Pentium4 1.5GHz のベンチ(Superπ104万桁)が載ってるんだけど,
「Superπでは104万桁を
2分ジャストと、以前テストしたIntel PentiumIII 1.13GHzよりかなり高速な数値を叩き出している」
なんて言っているが,俺のメインのマシン(PentiumIII 700@950MHz)の最高記録は,
もうちょっとオーバークロックしたときに,
2分切ったことがあるんだけど….するってーと,俺のマシンは Pentium4 1.5GHz に勝った!?
それから,GeForce2 Go 搭載ノートPCは,今のところ東芝が
「2001年の第1四半期の終わり」 に発売するらしい.
それって,ちょうど修論発表終わったころだね.(T_T)
「Superπでは104万桁を
2分ジャストと、以前テストしたIntel PentiumIII 1.13GHzよりかなり高速な数値を叩き出している」
なんて言っているが,俺のメインのマシン(PentiumIII 700@950MHz)の最高記録は,
もうちょっとオーバークロックしたときに,
2分切ったことがあるんだけど….するってーと,俺のマシンは Pentium4 1.5GHz に勝った!?
それから,GeForce2 Go 搭載ノートPCは,今のところ東芝が
「2001年の第1四半期の終わり」 に発売するらしい.
それって,ちょうど修論発表終わったころだね.(T_T)
2000/11/24(金): Samba-JP
samba 2.0.7-jp-2.1 (いつの間に2.1?) のコンパイルには msgfmt というコマンドがいるようだ.
正確にはコンパイルではなくインストール時(% make install)に必要.
それがないと,エラーが出るけどインストールは一見終了したように見えて,
SWAT の日本語化が中途半端になる.画像は日本語なんだけど,テキストが英語.
で,この msgfmt は Debian では,gettext のパッケージに含まれる.
こいつを入れてから,改めてインストールした.
念のため,
正確にはコンパイルではなくインストール時(% make install)に必要.
それがないと,エラーが出るけどインストールは一見終了したように見えて,
SWAT の日本語化が中途半端になる.画像は日本語なんだけど,テキストが英語.
で,この msgfmt は Debian では,gettext のパッケージに含まれる.
こいつを入れてから,改めてインストールした.
念のため,
% ./configure --with-i18n --with-smbmount --with-automount (だったかな?)した.
% make
% sudo make install
2000/11/22(水): PingPump成功?
4時半頃研究室から日記の更新とかしてたら,急に外からアクセスできなくなった.
ping も通らないので例のケーブルモデムが赤くなる現象みたい.
5分後にちゃんと立ち直って,
MRTG のグラフにもちびっと青い線が立ってる.もうちょっと目立つほうがいいな.
まあとにかく,これで5分後には復活することが確認できた.めでたしめでたし.
ping も通らないので例のケーブルモデムが赤くなる現象みたい.
5分後にちゃんと立ち直って,
MRTG のグラフにもちびっと青い線が立ってる.もうちょっと目立つほうがいいな.
まあとにかく,これで5分後には復活することが確認できた.めでたしめでたし.
2000/11/22(水): patch
パッチが何のエラーも出ずに一発で成功するとなんか気持ちいい.
きのうの ALi の DMA パッチは大成功だった.でもちょっと物足りない.
カーネルのパッチぐらい大量にスムーズに行くととってもいい.
しかし,patch も make のように GNU のと OS 標準ので挙動が違うようだ.
結局 SUN とかが自前で用意してるコマンドって全然使えんじゃないか.困ったもんだ.
きのうの ALi の DMA パッチは大成功だった.でもちょっと物足りない.
カーネルのパッチぐらい大量にスムーズに行くととってもいい.
しかし,patch も make のように GNU のと OS 標準ので挙動が違うようだ.
結局 SUN とかが自前で用意してるコマンドって全然使えんじゃないか.困ったもんだ.
2000/11/21(火): カーネル再構築 for Debian
# hdparm -d1 /dev/hdaとしても ATA33 が効かないので
ここ から Linux 用のドライバパッチを落としてきてカーネルを再構築した.あと,
ここ を参考にして,
$ cd /usr/src/kernel-source-2.2.17とした.再起動1回目はモジュール関連のエラーが出るけど,
$ patch -p1 < ~/ALiIde2212.patch
$ make xconfig
$ make-kpkg clean
$ sudo make-kpkg --revision=custom.3 kernel_image (途中でroot権限がいる)
$ sudo -i ../kernel-image-2.2.17_custom.3_i386.deb
$ sudo reboot
自動的に修正されるので次回からはOK.結果,めでたく自動的に
dmesg より
ALI15X3: IDE controller on PCI bus 00 dev 78
ALI15X3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xd400-0xd407, BIOS settings: hda:DMA, hdb:pio
************************************
* ALi IDE driver (1.0 beta3) *
* Chip Revision is C1 *
* Maximum capability is - UDMA 33 *
************************************
ide1: BM-DMA at 0xd408-0xd40f, BIOS settings: hdc:pio, hdd:pio
hda: ST38641A, ATA DISK drive
hdd: MATSHITA CR-571, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ALI15X3: Ultra DMA enabled
hda: ST38641A, 8207MB w/128kB Cache, CHS=1046/255/63, UDMA
hdd: ATAPI 2X CD-ROM drive, 256kB Cache
Uniform CD-ROM driver Revision: 3.11
...
2000/11/20(月): 時計が狂ってる
新 sanapon の時計が派手に狂ってた.
ほぼ1日未来になってて,xntpd が修正できなくて落ちてた.
手動で戻したら,今度は MRTG のログの時間が未来になってるとか言ってエラーが出てた.
おかげで cron から5分おきにメールが来てた.
仕方ないので,あしたまで crond を止めることにした.
ほぼ1日未来になってて,xntpd が修正できなくて落ちてた.
手動で戻したら,今度は MRTG のログの時間が未来になってるとか言ってエラーが出てた.
おかげで cron から5分おきにメールが来てた.
仕方ないので,あしたまで crond を止めることにした.
2000/11/20(月): メモリさらに安く
PC133 CL3 128MB がとうとう5千円台突入だそうだ.
しかし,来週には値上げするという店の話だ.
うおーーー,買いてー!!!
でも,オークションで耐性の高いやつを狙った方がいいかなあ.
っていうか,メインのマシン,今 128MB になってるけど,特に不自由を感じないよな….
しかし,来週には値上げするという店の話だ.
うおーーー,買いてー!!!
でも,オークションで耐性の高いやつを狙った方がいいかなあ.
っていうか,メインのマシン,今 128MB になってるけど,特に不自由を感じないよな….
2000/11/19(日): New(?) PC
ストレス発散(?)を兼ねて結局 PC を1台組んだ.
例の刈谷のパソコンショップでマイクロ ATX 並に小さい ATX ケースを買ってきて,
余ってた K6-2 500MHz + ASUS P5A + G400 に sanapon から引っぺがした LAN ボード * 2
HDD * 2,コンパックの古いやつから引っぺがした CD-ROM(2倍速?),FDD で,できあがり.
こいつを新たに sanapon としよう.
しかし,まともに動くまでに,結構てこずった.
まず,ISA の NE2000 が Linux からうまく認識できなかった.
これは結局,BIOS で LAN ボードが使う IRQ を ISA 用にキープしとくことで解決した.
それをしないと,ちょうどその IRQ 11 が G400 に取られてしまって,
それから,最初 FDD が認識できなかった.
ケーブルを抜き差ししてたらうまくいった.ありがち….
HDD を 3.2GB + 8GB だったんだが,8GB にまとめた.
今までは 3.2GB の方から起動してたが,
8GB には昔入れてた Laser5 の MBR が残ってたみたいで,
とりあえず起動はできたので改めて lilo を書き込んで引越し成功.
で,Samba や日記の CGI のスピードはどうかというと,
速くなったような,たいして変わってないような….
とりあえず日記のログのページは速くなったな.
ところで,今日はついでに(ついに!?)
"SETTEN" No.1 *1を買ってしまった.だって残り1個だったんだもん.
はてさて,効果のほどは…?
それから \1,980 の怪しげな 10/100 BASE LAN ボードも買った.
帰って箱を開けたら中の紙に
Linux 用ドライバの URL が書いてあった.Wake on LAN 対応だし,結構掘り出し物?
と思ったら上のリンク死んでた(T_T).
たぶん
こっち が正しい.
*1:メーカーのホームページ
例の刈谷のパソコンショップでマイクロ ATX 並に小さい ATX ケースを買ってきて,
余ってた K6-2 500MHz + ASUS P5A + G400 に sanapon から引っぺがした LAN ボード * 2
HDD * 2,コンパックの古いやつから引っぺがした CD-ROM(2倍速?),FDD で,できあがり.
こいつを新たに sanapon としよう.
しかし,まともに動くまでに,結構てこずった.
まず,ISA の NE2000 が Linux からうまく認識できなかった.
これは結局,BIOS で LAN ボードが使う IRQ を ISA 用にキープしとくことで解決した.
それをしないと,ちょうどその IRQ 11 が G400 に取られてしまって,
# modprobe ne io=0x300 irq=11とすれば一応モジュールはロードできるものの,なんか気持ち悪い.
それから,最初 FDD が認識できなかった.
ケーブルを抜き差ししてたらうまくいった.ありがち….
HDD を 3.2GB + 8GB だったんだが,8GB にまとめた.
今までは 3.2GB の方から起動してたが,
8GB には昔入れてた Laser5 の MBR が残ってたみたいで,
とりあえず起動はできたので改めて lilo を書き込んで引越し成功.
で,Samba や日記の CGI のスピードはどうかというと,
速くなったような,たいして変わってないような….
とりあえず日記のログのページは速くなったな.
ところで,今日はついでに(ついに!?)
"SETTEN" No.1 *1を買ってしまった.だって残り1個だったんだもん.
はてさて,効果のほどは…?
それから \1,980 の怪しげな 10/100 BASE LAN ボードも買った.
帰って箱を開けたら中の紙に
Linux 用ドライバの URL が書いてあった.Wake on LAN 対応だし,結構掘り出し物?
と思ったら上のリンク死んでた(T_T).
たぶん
こっち が正しい.
*1:メーカーのホームページ
2000/11/18(土): 穴埋め1 ほぼ完成!
複数の穴を同時に埋めることもできる.ほぼ完璧.
ただし,EdgeMap の扱いに注意が必要.
吹き付け方向を変更したときなど,EdgeMap がちゃんと更新されていないようだ.
それから,ウィンドウからはみ出した頂点の扱いを修正する必要がある.
はみ出た頂点は FrontList には入ってないのに,
EdgeMap で頂点をひとつに戻すときに FrontList をいじってるようだ.
ただし,EdgeMap の扱いに注意が必要.
吹き付け方向を変更したときなど,EdgeMap がちゃんと更新されていないようだ.
それから,ウィンドウからはみ出した頂点の扱いを修正する必要がある.
はみ出た頂点は FrontList には入ってないのに,
EdgeMap で頂点をひとつに戻すときに FrontList をいじってるようだ.
2000/11/18(土): ping値監視
MRTGで
デフォルトゲートウェイまでの ping 値をグラフ化 してみた.単位は ns.そんなに細かく出るわけないんだけど,
ping は 0.1ms で,MRTGは整数値しか扱えないので,キリのいいところで ns .
ついでに,ping が通らないときは pumpd を再起動するようにしてみた.
これで突然ケーブルモデムに拒絶されても5分で復活するはずだ.
しかし,メディアスが工事中のときはちょっとやっかいかな.
デフォルトゲートウェイまでの ping 値をグラフ化 してみた.単位は ns.そんなに細かく出るわけないんだけど,
ping は 0.1ms で,MRTGは整数値しか扱えないので,キリのいいところで ns .
ついでに,ping が通らないときは pumpd を再起動するようにしてみた.
これで突然ケーブルモデムに拒絶されても5分で復活するはずだ.
しかし,メディアスが工事中のときはちょっとやっかいかな.
2000/11/17(金): goo
11/15 に突然gooから大量アクセスがあったと思ったら,
その後,Referer が goo になってるアクセスがいくつかあった.
どうやら goo の検索で引っかかるらしい.
笑ったのは
http://goo.ne.jp/default.asp?MT=mmaru&WTS=ntt&SM=MC&DE=2&DC=10&_v=2 なんて Referer で
大西研 からアクセスがあったことだ.世間はせまいのう.
しかし,いったい誰が goo で mmaru なんて検索したんだろうか?
さらに笑ったのが,上の goo のページの中に
NAGI-P SOFT の掲示板の過去ログ(?)があったのだ.
なつかしいねー.
この辺のヤツ なんてほとんど MSX FAN を見ながらソースを手で打ち込んだもんだ(すでにフロッピー付きだっけ?).
まだいたんだねえ.しかし,同じハンドルネームを使いつづけられるってのはある意味偉いよな.
ていうか,DHCPでもらってるIPで勝手に個人的に開いてるサーバまで
検索対象にするから goo で検索すると大量にヒットするしリンク切れも多いんだな.
節操なさ過ぎだぞ > goo
その後,Referer が goo になってるアクセスがいくつかあった.
どうやら goo の検索で引っかかるらしい.
笑ったのは
http://goo.ne.jp/default.asp?MT=mmaru&WTS=ntt&SM=MC&DE=2&DC=10&_v=2 なんて Referer で
大西研 からアクセスがあったことだ.世間はせまいのう.
しかし,いったい誰が goo で mmaru なんて検索したんだろうか?
さらに笑ったのが,上の goo のページの中に
NAGI-P SOFT の掲示板の過去ログ(?)があったのだ.
なつかしいねー.
この辺のヤツ なんてほとんど MSX FAN を見ながらソースを手で打ち込んだもんだ(すでにフロッピー付きだっけ?).
まだいたんだねえ.しかし,同じハンドルネームを使いつづけられるってのはある意味偉いよな.
ていうか,DHCPでもらってるIPで勝手に個人的に開いてるサーバまで
検索対象にするから goo で検索すると大量にヒットするしリンク切れも多いんだな.
節操なさ過ぎだぞ > goo
2000/11/17(金): sanapon入れ替え失敗
Fujitsu DESKPOWER TII-200 (MMX Pentium 200MHz) じゃ,
この日記や Samba の処理がいまいち遅いので
試しに余ってる K6-2 500MHz と入れ替えようとしたが,失敗した(T_T).
まず,もともとのマザーボードを外すのに苦労した.
電源のファンまで外さないとビスが外せない.
で,がんばって外したところで tapon からメモリを持ってくるのを忘れた.
さらに,ケースのスイッチや電源LEDのコネクタがはまらなかった.
今度省スペースのケースでも買ってこようかな….
そうすると MMX200 が余るけど,こいつはおやじの暇つぶし用にでも回すか.
ん,そのためにはディスプレイがもう一個いるじゃん.
すでに 1280x1024 に慣れちゃったから液晶というわけにはいかないだろうなあ.
おやじ用に普通の 1024x768 の液晶か.もったいねーなあ.
だいたいうちのおやじはパソコンなんて使わねーだろ.
この日記や Samba の処理がいまいち遅いので
試しに余ってる K6-2 500MHz と入れ替えようとしたが,失敗した(T_T).
まず,もともとのマザーボードを外すのに苦労した.
電源のファンまで外さないとビスが外せない.
で,がんばって外したところで tapon からメモリを持ってくるのを忘れた.
さらに,ケースのスイッチや電源LEDのコネクタがはまらなかった.
今度省スペースのケースでも買ってこようかな….
そうすると MMX200 が余るけど,こいつはおやじの暇つぶし用にでも回すか.
ん,そのためにはディスプレイがもう一個いるじゃん.
すでに 1280x1024 に慣れちゃったから液晶というわけにはいかないだろうなあ.
おやじ用に普通の 1024x768 の液晶か.もったいねーなあ.
だいたいうちのおやじはパソコンなんて使わねーだろ.
2000/11/16(木): Debianのパッケージ一覧ファイル">Debianのパッケージ一覧ファイル
Debian の apt-get などのコマンドはサーバから Packages.gz を持ってきて
取得可能なパッケージの一覧を得るようだ.
そこで,ローカルにある .deb パッケージから Packages を作るスクリプトを書いてみた.
/var/www/debian/dists/potato/main/binary-i386/hoge
を /usr/local/archives/Debian へのシンボリックリンクとして,
このスクリプトの出力を gzip で圧縮して Packages.gz として,
/var/www/debian/dists/potato/main/binary-i386/Packages.gz
に置くとうまくいきそう.ファイルサイズがないと,
ダウンロードはするけどサイズが違うとかぬかしてうまくいかなかった.
ファイル名に ":" が含まれると,"%3a" に変換されて,
この変換済みのファイル名を元に Packages.gz を作るとうまくいかないので
元に戻すスクリプトを作った.
さらにこんな cron を書いてみた.ちゃんと動くかな?
取得可能なパッケージの一覧を得るようだ.
そこで,ローカルにある .deb パッケージから Packages を作るスクリプトを書いてみた.
/var/www/debian/dists/potato/main/binary-i386/hoge
を /usr/local/archives/Debian へのシンボリックリンクとして,
このスクリプトの出力を gzip で圧縮して Packages.gz として,
/var/www/debian/dists/potato/main/binary-i386/Packages.gz
に置くとうまくいきそう.ファイルサイズがないと,
ダウンロードはするけどサイズが違うとかぬかしてうまくいかなかった.
takayuki@sanapon:~$ cd /var/www/debian/それから,Debian のサイトからダウンロードしたファイルは,
takayuki@sanapon:/var/www/debian$ sudo ln -s /usr/local/archives/Debian dists/potato/main
/binary-i386/hoge
takayuki@sanapon:/var/www/debian$ ~/bin/MakePakages.pl dists/potato/main/binary-i386/hoge
/*.deb | gzip > /tmp/Packages.gz
takayuki@sanapon:/var/www/debian$ sudo mv /tmp/Packages.gz dists/potato/main/binary-i386/
ファイル名に ":" が含まれると,"%3a" に変換されて,
この変換済みのファイル名を元に Packages.gz を作るとうまくいかないので
元に戻すスクリプトを作った.
#!/usr/bin/perl/etc/apt/source.list には
while ($ARGV[0]) {
if ($ARGV[0] =~ s/%3a/{%3a,:}/) {
print "mv $ARGV[0]\n";
system "mv $ARGV[0]";
}
shift;
}
http://www.mizuno.or.jp/debian potato mainを先頭に追加するべし.しかし,もっとシンプルにできんのかねえ.
さらにこんな cron を書いてみた.ちゃんと動くかな?
#!/usr/bin/perl
system "apt-get update";
system "apt-get -y upgrade";
chdir "/var/cache/apt/archives";
@deb = `ls *.deb`;
if (@deb == 0) {
exit;
}
foreach $i (@deb) {
chomp $i;
}
system "~takayuki/bin/Colon.pl @deb";
system "mv @deb /usr/local/archives/Debian";
chdir "/var/www/debian";
system "~takayuki/bin/MakePackages.pl dists/potato/main/binary-i386/hoge/@deb
| gzip >> dists/potato/main/binary-i386/Packages.gz"
2000/11/14(火): 穴埋め
ひとまず表側はできた.
一括で穴を埋める方法と,z軸に垂直な方向に吹き付けるのと両方やってみた.
動きとしては z軸に垂直に吹き付ける方が面白いけど,
交差したポリゴンの処理がやっかいそう….
それにしても,ソースがぐちゃぐちゃだ.
カプセル化とかクラス化とかが中途半端ですげー読みにくい.
ダイアログバーというヤツも試してみたいなー.
一括で穴を埋める方法と,z軸に垂直な方向に吹き付けるのと両方やってみた.
動きとしては z軸に垂直に吹き付ける方が面白いけど,
交差したポリゴンの処理がやっかいそう….
それにしても,ソースがぐちゃぐちゃだ.
カプセル化とかクラス化とかが中途半端ですげー読みにくい.
ダイアログバーというヤツも試してみたいなー.
2000/11/13(月): メモリの価格
最近またメモリの値段が下がってるらしい.
よーく探せば PC133 128MB で6千円台とかあるらしい.
一時期値上がりしてからは,もうかつてのように安くはならんといわれていたのに….
こうなると,怪しい 64MB * 2 をやめて一本買ってしまおうかという気になってしまう.
オークションでオーバークロック実績のあるやつでも探そうか.
む,そんな暇ねーか.とりあえず水曜まで我慢我慢….
ちなみに,大須は意外にも秋葉原や日本橋よりも安いらしい.
TWO TOP とかが特に安いらしい.
またつぶれたりしねーだろうな….
よーく探せば PC133 128MB で6千円台とかあるらしい.
一時期値上がりしてからは,もうかつてのように安くはならんといわれていたのに….
こうなると,怪しい 64MB * 2 をやめて一本買ってしまおうかという気になってしまう.
オークションでオーバークロック実績のあるやつでも探そうか.
む,そんな暇ねーか.とりあえず水曜まで我慢我慢….
ちなみに,大須は意外にも秋葉原や日本橋よりも安いらしい.
TWO TOP とかが特に安いらしい.
またつぶれたりしねーだろうな….
2000/11/13(月): 関数ポインタ
スプレーの分布関数の実装を,
各頂点ごとに switch で現在のスプレーの種類を判別する方法から,
スプレーの種類を変更するときに分布関数へのポインタを更新する方法に変更した.
果たして switch 文と関数ポインタのオーバーヘッドではどちらがお得だろうか…?
ついでに頂点へのポインタの代わりに参照を使ってみた.
確かにソースがすっきりした.実行効率はどうなんだろう?
それ以前にメンバ関数へのポインタってどうやって書いたらいいんだろう?
試行錯誤の末にとりあえずコンパイルの通るものを見つけたが,なんだか納得がいかない.
とはいえ本質的な部分では進歩がない(T_T).
水曜のゼミに間に合うんだろうか….
各頂点ごとに switch で現在のスプレーの種類を判別する方法から,
スプレーの種類を変更するときに分布関数へのポインタを更新する方法に変更した.
果たして switch 文と関数ポインタのオーバーヘッドではどちらがお得だろうか…?
ついでに頂点へのポインタの代わりに参照を使ってみた.
確かにソースがすっきりした.実行効率はどうなんだろう?
それ以前にメンバ関数へのポインタってどうやって書いたらいいんだろう?
試行錯誤の末にとりあえずコンパイルの通るものを見つけたが,なんだか納得がいかない.
とはいえ本質的な部分では進歩がない(T_T).
水曜のゼミに間に合うんだろうか….
2000/11/11(土): GeForceのファン
また tapon の GeForce256DDR のファンが鳴くようになってきた.
2000/11/11(土): 東海支部連合大会特集号
自宅に帰ると,「東海支部連合大会特集号への投稿のお勧め」なんてのが届いてた.
やれやれ,めんどくさいなあ.
というか,こういう論文の投稿や発表の扱いって,いまだに良く分からん.
なんだか外で発表したり投稿したりしないといけないような暗黙の了解があるけど,
俺が今までやった東海支部(はダメだとしても)や Interaction2000 でもダメなのかなあ.
やれやれ,めんどくさいなあ.
というか,こういう論文の投稿や発表の扱いって,いまだに良く分からん.
なんだか外で発表したり投稿したりしないといけないような暗黙の了解があるけど,
俺が今までやった東海支部(はダメだとしても)や Interaction2000 でもダメなのかなあ.
2000/11/10(金): メリッサ再び
またしてもノートPCでメリッサが発見された.
例によってWordのテンプレート,Normal.dot と設定ファイル なんとか.INI だった.
うーむ….一度OSから再インストールした方がいいかなあ.
そういえばこのノートPCは,俺が関わってるPCにもかかわらず,
買って以来約3年1度も再インストールしたことがない.
これは結構驚異的.しかしそれもこれまでか….
例によってWordのテンプレート,Normal.dot と設定ファイル なんとか.INI だった.
うーむ….一度OSから再インストールした方がいいかなあ.
そういえばこのノートPCは,俺が関わってるPCにもかかわらず,
買って以来約3年1度も再インストールしたことがない.
これは結構驚異的.しかしそれもこれまでか….
2000/11/10(金): ソースを整理
これまで穴あけは CSprayModelerDoc クラスで処理していたが,
関数が結構増えたのとその関数郡でしか使わないメンバ変数が増えたので,
CHole という別のクラスを用意した.でも根本的には変化なし.すなわち進歩なし(;_;).
しょうがない.この研究を引き継ぐヤツ(いるのか?)のためにコメントでも加えてやるか.
…
何をやってるプログラムなのか,自分でも分かんなくなってきたぞ….やばいぞー.
それから,初期化や終了の順番をメモっておこう.
メンバ変数をできるだけ protected にしたり,
画面とディスプレイリストの更新でフラグを介して1ヶ所にまとめたり,など.
関数が結構増えたのとその関数郡でしか使わないメンバ変数が増えたので,
CHole という別のクラスを用意した.でも根本的には変化なし.すなわち進歩なし(;_;).
しょうがない.この研究を引き継ぐヤツ(いるのか?)のためにコメントでも加えてやるか.
…
何をやってるプログラムなのか,自分でも分かんなくなってきたぞ….やばいぞー.
それから,初期化や終了の順番をメモっておこう.
初期化あと,COpenGLView, CMainView, CSubView をちょっと修正.
CMainFrame::PreCreateWindow
CMainFrame::PreCreateWindow
CMainFrame::OnCreate
CMainView::OnSizeGL
CMainView::OnSizeGL
CSprayModelerDoc::OnNewDocument
COpenGLView::OnUpdate
CMainView::OnInitialUpdate()
COpenGLView::OnUpdate
CMainView::OnSizeGL
終了
CMainFrame::OnDestroy()
CMainView::OnDestroy()
CSubView::OnDestroy()
CSprayModelerApp::ExitInstance()
メンバ変数をできるだけ protected にしたり,
画面とディスプレイリストの更新でフラグを介して1ヶ所にまとめたり,など.
2000/11/07(火): アクセス制御
相棒さんが他人に日記を読まれるのがいやだというので
~tapo/public_html/diary/.htaccess に
210.236.64.0/19 というキャッチのエントリが不安だったが成功したようだ.
しかし自宅に帰ってログを見てて気付いたんだが,
相棒さんがアクセスするときはプロキシ経由なので,
210.236.64.12 だけ許可すればいいのかもしれない.
それとも,内容に応じてグループで制御しようかなあ.
あるいは人名をイニシャルにするとか.
~tapo/public_html/diary/.htaccess に
order deny,allowという行を追加した.
deny from all
allow from localhost .***.or.jp silveria.ohnishi.nuie.nagoya-u.ac.jp \
.***.co.jp 210.236.64.0/19
210.236.64.0/19 というキャッチのエントリが不安だったが成功したようだ.
しかし自宅に帰ってログを見てて気付いたんだが,
相棒さんがアクセスするときはプロキシ経由なので,
210.236.64.12 だけ許可すればいいのかもしれない.
それとも,内容に応じてグループで制御しようかなあ.
あるいは人名をイニシャルにするとか.
2000/11/04(土): smbmount
研究室から tapon の HDD にあるスプレーモデラの最新版のソースを持っていこうと思って,
smbmount を使おうとしたら,いつの間にかなくなっていた.
どうやら最近の Samba はデフォルトでは smbmount はコンパイルされないらしい.
と言うわけで,最新の samba-2.0.7-ja-2.0 を入れ直すことにした.
今回は1つ前のソースにパッチを当てることにした.
smbmount を使おうとしたら,いつの間にかなくなっていた.
どうやら最近の Samba はデフォルトでは smbmount はコンパイルされないらしい.
と言うわけで,最新の samba-2.0.7-ja-2.0 を入れ直すことにした.
今回は1つ前のソースにパッチを当てることにした.
tapo@sanapon:~$ tar -zxvf /usr/local/archives/sources/samba/samba-2.0.7-ja-1.3.tar.gz
tapo@sanapon:~$ cd samba-2.0.7-ja-1.3/
tapo@sanapon:~$ zcat ~/samba-2.0.7-ja-1.3_2.0.patch.gz | patch -p1
tapo@sanapon:~$ ./configure --with-i18n-swat --with-smbmount --with-automount
tapo@sanapon:~$ make
tapo@sanapon:~$ sudo make install
tapo@sanapon:~$ sudo /usr/local/samba/bin/smbmount '\\tapon\Programing'
Programing/tapon/
tapo@sanapon:~$ cd Programing/tapon/SprayModeler/
tapo@sanapon:~$ tar -zcvf ~/20000930.tar.gz --exclude 20000930/Debug --exclude
20000930/Release 20000930
2000/11/04(土): エッジの頂点の2重化・マージ
ひっさしぶりにコーディング.前々から考えていた表面と裏面の境目の処理.
CMapPtrToPtr を使ってとりあえず実装できた.
問題は完全に横を向いている面の処理だ.現在は裏面の一部として扱っている.
それに,EDGE, BACK_EDGE, FRONT_EDGE, SIDE の扱いももうちょっとつめなくては….
ちょっとはまったのは,EdgeDoubler.前に書いたはずなのに検索しても引っかからない.
結局 EdgeDubler なんてつづりが間違ってただけだった.
関係ないが,T木さんにスライドバーについて聞かれた.
昔のソースを引っ張り出して説明したけど,この辺のも実装しなくちゃなあ.
ちなみにH岩は OnDraw() に全部詰め込むスタイルだから
あんまり詳しいことは知らんらしい.あ,M野@B4のが詳しいんじゃないか?
CMapPtrToPtr を使ってとりあえず実装できた.
問題は完全に横を向いている面の処理だ.現在は裏面の一部として扱っている.
それに,EDGE, BACK_EDGE, FRONT_EDGE, SIDE の扱いももうちょっとつめなくては….
ちょっとはまったのは,EdgeDoubler.前に書いたはずなのに検索しても引っかからない.
結局 EdgeDubler なんてつづりが間違ってただけだった.
関係ないが,T木さんにスライドバーについて聞かれた.
昔のソースを引っ張り出して説明したけど,この辺のも実装しなくちゃなあ.
ちなみにH岩は OnDraw() に全部詰め込むスタイルだから
あんまり詳しいことは知らんらしい.あ,M野@B4のが詳しいんじゃないか?
2000/11/02(木): /etc/apt/source.list
Debian の ftp のディレクトリ構造が変わったせいで goro & www2 の Debian2.1 組が
うまくアップデートできなくなってた.タイトルのファイルを書き直したら ssh も入った.
ついでに sanapon のも debian-jp とかを追加した.
うまくアップデートできなくなってた.タイトルのファイルを書き直したら ssh も入った.
ついでに sanapon のも debian-jp とかを追加した.