●Top ●Diary (old) ●Products ●Documents ●Donation ●Link

Diary.


2001年10月 2001年12月
2001/11/30

プログラミング

プログラミング言語を知っているってことと、ソフトを作るれるってことは違うの。 用件分析/設計とかいう話じゃなくて、いやそれはそれで必須なんだろうけど、 実装すべきアルゴリズムを理解する必要があるじゃない。
一から十まで足し合わせるのにループを十回まわすか、n(n+1)/2を 使うかで効率はぜんぜん違う。 それはそれで効率の違いですむから良い。 いや良くはないけど、それでも解ける。
パズルを解くにしても、ある種の三次元グラフィック処理にしても その問題に関する知識が必要になる。
レポートがおわらねーというお話。

2001/11/27

Horb

魔法の絨毯Horbをやってみる。たのしげ。とりあえずチャットを作ってみる。
結構簡単。

サーバーに20行、 クライアントに40行ぐらい。 dRubyもこんな感じなのかなぁ?

2001/11/25

日記スクリプト

なんか、今月分が消えてた。あせったです。タイムスタンプからして、昨日 Lynxからだとどうなるのかなぁとか思ってテストしたときに間違って消しちまったらしい。 スクリプトのバックアップ機能が正常に働いてて助かったけど、 Web上で書いてるとはいえたまにはバックアップしないとまずいということ。

2001/11/23

MuPad

数式演算・数値演算のソフト。Mathematicaと違って、条件付だけど フリーで使えるみたいなの。
Mathematicaは使ったこと無いけど、 これはこれでかなり便利なのだろうと思う。
(-1.0/11.0)*pow(c, 11.0)*a_5*b_5 + (1.0/11.0)*pow(d, 11.0)*a_5*b_5 - (1.0/10.0)*pow(c, 10.0)*(a_5*b_4 + b_5*(a_4 - 5.0*t*a_5)) + (1.0/10.0)*pow(d, 10.0)*(a_5*b_4 + b_5*(a_4 - 5.0*t*a_5)) - (1.0/9.0)*pow(c, 9.0)*(b_3*a_5 + b_4*(a_4 - 5.0*t*a_5) + b_5*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5)) + (1.0/9.0)*pow(d, 9.0)*(b_3*a_5 + b_4*(a_4 - 5.0*t*a_5) + b_5*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5)) - c*b_0*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5) + d*b_0*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5) - (1.0/8.0)*pow(c, 8.0)*(b_2*a_5 + b_3*(a_4 - 5.0*t*a_5) + b_4*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_5*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5)) + (1.0/8.0)*pow(d, 8.0)*(b_2*a_5 + b_3*(a_4 - 5.0*t*a_5) + b_4*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_5*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5)) - (1.0/2.0)*(c*c)*(b_0*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_1*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) + (1.0/2.0)*(d*d)*(b_0*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_1*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) - (1.0/7.0)*pow(c, 7.0)*(b_1*a_5 + b_2*(a_4 - 5.0*t*a_5) + b_3*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_4*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_5*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5)) + (1.0/7.0)*pow(d, 7.0)*(b_1*a_5 + b_2*(a_4 - 5.0*t*a_5) + b_3*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_4*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_5*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5)) - (1.0/3.0)*pow(c, 3.0)*(b_0*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_1*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_2*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) + (1.0/3.0)*pow(d, 3.0)*(b_0*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_1*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_2*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) - (1.0/4.0)*pow(c, 4.0)*(b_0*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_1*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_2*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_3*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) + (1.0/4.0)*pow(d, 4.0)*(b_0*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_1*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_2*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_3*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) - (1.0/5.0)*pow(c, 5.0)*(b_0*(a_4 - 5.0*t*a_5) + b_1*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_2*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_3*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_4*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) + (1.0/5.0)*pow(d, 5.0)*(b_0*(a_4 - 5.0*t*a_5) + b_1*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_2*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_3*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_4*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) - (1.0/6.0)*pow(c, 6.0)*(b_0*a_5 + b_1*(a_4 - 5.0*t*a_5) + b_2*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_3*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_4*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_5*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5)) + (1.0/6.0)*pow(d, 6.0)*(b_0*a_5 + b_1*(a_4 - 5.0*t*a_5) + b_2*(a_3 - 4.0*t*a_4 + 10.0*(t*t)*a_5) + b_3*(a_2 - 3.0*t*a_3 + 6.0*(t*t)*a_4 - 10.0*pow(t, 3.0)*a_5) + b_4*(a_1 - 2.0*t*a_2 + 3.0*(t*t)*a_3 - 4.0*pow(t, 3.0)*a_4 + 5.0*pow(t, 4.0)*a_5) + b_5*(a_0 - t*a_1 + (t*t)*a_2 - pow(t, 3.0)*a_3 + pow(t, 4.0)*a_4 - pow(t, 5.0)*a_5))
てかんじに展開してCコードとか、TeXコードとかに落としてくれたり。
こんなコードのメンテナンスできるかぁとかは思ってません。

2001/11/21

Freeserve&Livedoor

どっちも、今年の12月末にフレッツISDNの無料サービスを停止するそうです。 両方とも試験サービスだったから仕方ないといえば仕方ないのだろうけど。 どうしようかなぁ。Aかなぁ?
今度は、ここもメールも関係ないから多少は気が楽だ。

試験サービス

といえば、ここのPHPもドメインも試験サービスって言ってる奴を使ってるので、 その辺が止まるとかなり困る。PHPは特に。 がんばれふゅーちゃりずむわーくす

2001/11/18

DFT

音声解析のさわりとか。
STLのvalarrayとか、complexとか初めてつかったけど、結構良いかんじ。
3Dのベクトルとして使ってもパフォーマンスの問題はないのかな?
高次のベクトルまで、あつかえるようになってるぶん,若干不利なのかも。 機能には、とくに遜色ないから、調べてみる価値はありそう。
gnuplotで波形表示してみたり。こっちも、とりあえずグラフをかかせるには 案外便利。

やっぱ、微妙になれない。指が憶えた漢字は、完全にストレスなく打てるん だけどたまにしか使わない文字を探すのがつらい。もうちょっと使いこむと 良いかんじになりそうな雰囲気。
あやふやな漢字をIME2000で調べたりして、ちょっと無意味。

2001/11/17

超多段シフト方式日本語入力システム「風」を使ってみる。
英語キーボードだと、若干キーが足りないようなきがしないでもない。 でも、思ってたよりは慣れるのが早い。誤変換は全部自分のせいになるなぁ。 一度は、ためしてみるのも悪くはないのかもしれない。
でも、シェアウェアだよう。

2001/11/16

Kylix 2 Open Edition

英語版が出てた。あんまり使わないんだろうなあと思いつつ落としてみる。 なんか、最近C++のテンプレートが快適すぎて、JavaとかObject Pascalとか ぜんぜん書いて無いや。Rubyなんかのスクリプト言語はまた別の話。

Ray Tracing

速度は、オブジェクトの数よりも画面全体にオブジェクトが占める面積によるところが大きいみたい。
高速化のために立体の論理和・論理積を使わなくしたり、オブジェクトを無駄に値渡ししているのを直したり、メモリリークをなくしたり。
研究用&一回レンダリングして終了な感じのやつがベースなのでその辺はいろいろと。
でも、実際このcpgってので処理速度は結構変わる。 オブジェクトの輪郭を用いて、無駄な最初のレイキャストをなくすってことらしい。

2001/11/15

RayTrace

320x240で、球三つ表示でも6fp。無理か。一般化されてる部分を 球に最適化かければもうちょっといけるか?
160x120なら、結構滑らかに見える。けど、いくらなんでも小さすぎるし。 計算量1/4だから、24fpsぐらいなのかな。

2001/11/14

Doxygen

使ってみた。すごすぎるんですけどこれ。doc++やkdocを見た後でも十分インパクトあります。 この二つも、クラス階層を分析してくれるんだけど、Doxygenはdotと組み合わせて、 コラボレーション図も出力してくれるの。
こんな感じ。
pimplイディオムを使ってるせいで、見通しが悪くなる。
Windows版は、dotの設定がおかしいのか何なのかわからないが、 図がnodeとかかれた楕円になってしまう。

2001/11/12

コメント

書かなな。人のソース読んでると思う。自分の昔のソースは、汚いって 思うだけだけど、他の人が書いたソースはきれいに書いてあるなぁって思っても なかなか何をしてるのか理解できなかったりする。
Ray Tracing高速化プログラムを読んでて思った。

ドキュメント生成

で、IRCでC対応のドキュメント生成ツールはあるのに、C++対応のは無いよーって言ってたら、 Doc++を教えてもらう。すげー。
よく考えたら、QtもKDEもソースからドキュメント生成するんだった。
で、kdocを使ってみる。楽しげ。
doxygeって言うのもあるらしい。
でも、あんまりコメントかいてないから構造しか見えない。あーkdocのサイトってどこだろう? よくわらかんのでKDEのとこからたどってください。

2001/11/10

STL

虫の世界のパズルを解く。
STLのvectorって使ってるときは配列とほとんど変わらない性能出るけど、 ctrとdtrのコストはスタック上に配列とるのに比べると断然大きい。

void make_vec()
{
	vector vec(4);
}
void make_arr()
{
	int arr[4];
}
だと100倍ぐらい違う。可変長配列を固定長配列と比べてるんだから当然といえば当然なのか。

2001/11/09

きーぼーど

ナチュラルキーボードをノートパソコンにつないで使ってるとキーボードのほうが本体より大きくて変な感じ。
説明書眺めててはじめて知ったんですけど、パームレストってタイプしているときには使わないものなのですね。今そうやって打ってるけど、上段のキーも打ちやすいけど疲れる。

りんく

更新しました。
なんか、移転しましたってしか書いてないページにリンク張らせろっていうのもなかなか強い。やる気ないなぁ。
ロボットかなんかなのかなぁ。まあ面白いからいいや。
SHさまからも、依頼来てたし。

2001/11/08

FreeBSD 4.4 Release

VMwareにインストール。でも、HDDのフォーマット中にSegmentation Faltでおちる。なぜ? もうちっといろいろ試してみるか。

ウィルスメール

はじめてもらう。なんとなく、わくわく。どうなるんだろ?
動かしてみたいなぁ。
もういらないので、送り付けないようにしてくださいませ。

PHP

PerlにHTML埋め込むって形式より、こういうHTMLにコード埋め込むって方が やりやすいような気がする。用途にもよるのかもしれないけど。

日記システム

とりあえずいい感じにまとまったと思う。ブラウザから書き換えられるのは予想以上に 楽なものかも。

2001/11/07

風邪

のどが痛い。一日寝てる。

PHP

寝すぎた。暇だ。
日記を読むときにも、PHPで動的生成することもないよなぁということで、 HTML版に改造。
しかし、PHPはなかなか書きやすい。流行る(?)のもわからないでもないなぁ。

2001/11/05

ディコン

ってどういうもの?なぜに、炭疽菌や化学兵器を分解しつつ人体や環境に 完全に無害。少なくともある種の最近は殺しちまうんですよね?ふえ?

2001/11/04

PHP日記設置。

ここのサーバで、PHPが使えるようになったみたいなので。 あとは、Rubyあたりが。

落ちる

それはそうと、良くここ落ちてるみたい。大丈夫なのか?

2001/11/03

英語

変な英文(だと思う。)を大量生成。言いたい事は相手方に一応伝わったっぽい。

CG

拾ってきたCGIを、改造中。もうちょっといじってからリンクを張るつもり。

日記

PHP化しようとしたり。

2001/11/02

Natural Keyboard Elite

星野君にそそのかされて買ってしまった。だって、夏目漱石3枚っすよ。お買い得っぽいじゃないですか。
英語キーボードなんで、CtrlやAltが大きくていい感じ。Home、End、Delete、PageUp、PageDown、Insert、カーソルキーが若干小さいのが難と言えば難。キーボード二つ挿して同時に使うこともできる。でもあんまりいいこと無い気がしないでもない。
星野君ごときにそそのかされているようじゃ、黒い先輩方には歯が立たない気がする。

Think Pad

こたつトップに布団トップだ。CPUも速めでいい感じ。
常に持ち運ぶのには重い。使わなきゃいけない理由があればバックに入れて持ち運ぶぐらいならOKか。

できる?

「Linuxできる?」とか「C++できる?」とか聞かれて「はい」って答えるのはかなり勇気がいるような。
なんか、「触ったことぐらいは有ります。」とか「一応は。」とかになってしまう。

2001/11/01

CG

ページにエッセイCGIをおく。セグメンテーションフォールトは悪趣味な気がするので。
よく考えたら一番更新頻度の低そうなところをCGI化する前にここを何とかしたほうが幸せ度は高いような気がしないでもない。

Contact me <zakki@peppermint.jp>
© 2001-2006 zakki. total:total /yesterday:yesterday /today:today
updated:Monday, 20-Dec-2004 09:15:30 JST