April 01, 2004

『エキスパート C プログラミング』

expert_c_progrqamming.gif
今日から大学生協の書籍部でアスキー出版の本が15%オフでした。これに乗じてアスキー出版からでている『エキスパート C プログラミング』という本を買いました。

この本、いいです。今まで断片的にしかなかったC言語の仕様にかかわる部分までが、詳細に解説がしてあります。私見をいわせてもらうと、C言語の本はK&Rの『プログラミング言語C』とこの本があれば十分な気がします。

コンピュータ言語の書籍についていわせてもらうと、コンピュータ言語の本というのは2種類に厳密に区別されるべきではないかと思います。この2種類というのは、文法書語彙書
文法書はコンピュータ言語のお作法が書いてある本で、語彙書はどのような関数や定数があるか(ライブラリのリファレンス)が書いてあるもののことです。多くの初心者向けの本はこの2つをごっちゃにして書いてあるから、よい本がないのではないでしょうか。コンピュータ言語を学ぶのは外国語を勉強することと同じだと思います。文法と語彙は、それぞれ文法書と単語帳で別個に学びませんでしたか?

17:02 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (3) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/230

April 02, 2004

RSS出力機能つけました

ほったらかしにしておいたTrackback機能付き掲示板RSSの出力機能をつけてみした。ソースはここに置いておきます。

以前の情報はこのページを参考にどうぞ。結局、いつものパターンでboard.exmlというファイルでERBしています。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/231

April 04, 2004

火の鳥、そしてナディア

NHKで火の鳥やってました。今日が初回でした。
絵がかなり綺麗です。必見かも。プラネテスのときもそうでしたが、NHKのアニメーションってやっぱりお金かけてつくっている感じがします。

NHKのアニメワールドのページをみたら、どうも4月からふしぎの海のナディアをやるそうです。懐かしー。あの宇宙戦艦ヤマトのほぼパクリシーンが再びみられるかと思うとわくわくね(笑)。

20:47 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (2) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/232

April 05, 2004

旬桜

[Photo]

2003sakura.jpg
去年の桜ですが、時期ということで。

Rollei SL66SE + Planer 80mm F2.8で撮影。

09:40 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/233

April 07, 2004

Trackbackで求人

[Tips]

Trackbackで求人されている方がいます。求職者はTrackbackでアンケートに答えればよいようです。『冗談で答えてみるだけでホントに応募する意思がなくてもOKです。』とのことでしたので、答えてみることにします。

あなたの得意なプログラム言語は? あなたの好きなOSは?
→言語ならC、C++、Java、Ruby、Perl少々、芋言語ならJavaScriptとVBA。OSはIRIX好きだったんですが、最近MacOSXにほれ込み中。

何かWEB上で見ることのできるあなたの作品はありますか?あればURLを教えてください
→ここです。https://fenrir.naruoka.org/

いつか書いてみたいと思っているプログラムはありますか?あればどんなプログラムですか?
→H8(マイコン)用、分散OS(TCP/IPスタック付き)、今年度中に書きたい

デートの最中に、サーバが落ちました。あなたならまずどうしますか?
→とりあえず携帯でリセット指令。

あなたなりのプログラマの三大美徳はなんだと思います?
→努力、根性、血と涙

あなたの書いたコードに破壊力抜群のバグが発見されたとき、第一声はなんて叫びます?
→シャーーー(猫が毛を逆立てるあれ)

あなたが尊敬するエンジニアはいますか?
→無難にKnuth先生とか

プロジェクトについてまた営業が無茶なこと言ってます。何かひとこと言うとしたら?
→契約と違う…の一点張り

最後に、本気でこの求人に応募します?
→すいません、Trackbackしたかっただけですm(_ _)m

11:00 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (3) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/234

April 09, 2004

PS2がやってきた

[Timely]

今さら感が否めないですが、PS2こと、PlayStation2が我が家にやってきました。でも中古で、本体のみ。そこで、以前ファミコン展で見てきた『塊魂(かたまり・だましい)』のことを思い出し、買ってきました。

塊魂、最高です。はじめ5cmぐらいだった塊が1mくらいになると、がくっつきます、そして10mぐらいになると信号街路樹とかが巻き込まれて、そのうちがくっついて…(以下未プレー)。
ゲームバランスが非常にいいと思います。テーマが明確、操作が簡単なんで、頭使わなくていいし、ストレス解消にもってこいかと。一つ難点をいえば、小さい塊がでっかくなるまで、けっこう待ち遠しいです。

18:38 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (2) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/235

April 11, 2004

月=763m

[Timely]

はい、塊魂のやりすぎです。月が763mになりました。

なかなか王様プレゼントがgetできなくて、いらいらしています。かっこいいお面(実は王様の顔のお面)を含め3種類しかまだgetできず。プレゼントは一度巻き込んだだけじゃだめで、制限時間いっぱいまでぶつかって落としたりしては駄目というからけっこう難しいです。

22:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/236

April 13, 2004

定義済み実体

XMLの処理をJavaでやっているわけですが、定義済み実体参照はデフォルトで解決してくれるみたいです。調べた限りどこにもドキュメントがなかったので、自分でテストクラスをつくって試してみました。解決されるのがあたりまえすぎて、書いていないのかな??

試したのは、デフォルト状態のSAXParserで、定義済み実体が文字に変換されるか。結果、XMLで定義済みの実体参照5種類はすべて文字に変換されました。
ちなみに定義済み実体の5種類とは>(&gt;)、<(&lt;)、&(&amp;)、'(&apos;)、"(&quot)です。

テストコードは続きをどうぞ。

続きを読む "定義済み実体"
18:16 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/237

MTElse問題

MovableTypeで、もともと組み込み済みのMTIf系の条件タグを使うと、それと組み合わせでMTElseというのが使えますよね。でも、自前でつくったプラグインの条件タグはこのMTElseがうまく作動しないようです。

そこで、ネットで調べてみたところ自前プラグインでも、このMTElseを動作させる方法が書いてありました。ソースが英語なので、修正方法を日本語で書いておきます。

修正方法は続きをどうぞ。

続きを読む "MTElse問題"
20:27 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/238

April 15, 2004

大富豪

[Tips]

今日、暇な時間に大富豪というトランプゲームをやりました。知っている方は知っていると思いますが、何を隠そうこの大富豪というゲーム、異常なくらいローカルルールが多いのです。
で、ゲームをはじめるにあたり、ルール統一から、なんてことをやったのですが、『そんなルール知らねぇよ』といわれたりしたので、ここで僕が知っている(ローカル!?)ルールを紹介したいと思います。

8切り
8はマークに関わらず、そこでターン終了となり、8を出した人が次ターンの親(手札を一番はじめにきれる人)になれるというルール。メジャー度(5段階評価中)5。
イレブンバック
11を出すとそのターンに限りカードの強弱が逆になるというルール。すなわち平常時なら2が最強、3が最弱だが、11が途中で出現すると、3が最強、2が最弱になる。ジョーカはその限りではない。メジャー度3。補足として、ジャックの場合は強弱反転に選択性がある(出した人がバックするかしないか決められる)というルールもあるらしい。
2あがり(3あがり)、8あがり、ジョーカーあがり
2であがること(平常時、革命時は3あがり)、8であがること、ジョーカーであがることを禁止したルール。メジャー度4。
スペ3
ジョーカーは最強のカードだが、スペードの3に限り、ジョーカーが出されたときに、その最強性を打ち破れるというルール。メジャー度3。
革命
同数字のカードを全マークコンプリートしてまとめて出すと、強弱の順がそれ以降逆になるのが革命。出せるタイミングは自分が親のときのみだという人もいるが、いつでも出せるとする人の方が多いと思われる。ちなみに革命を返せるのは革命だけであり、8切り、イレブンバックも作用する。メジャー度5。
(マーク)しばり
同一ターン内で同種のマークが複数人続けてきられた場合、それ以降はそのマークと同じカードしかだせなくなるというルール。ジョーカーはその限りではない。僕が知っているルールでは、ターン初期は2人、ターン途中からは3人によってマークしばりが発動するとしていた。メジャー度4。
階段しばり
マークしばりの数字バージョン。なお、この場合もジョーカーは出せるが、数字カードの代役としての機能しか果たさない。メジャー度2。
階段
同マークのカードの連番カードはまとめて同時にだせるというルール。ジョーカーを含ませていいルール(この場合、ジョーカーは代役になるだけ)と含ませてはいけないルールの両方を聞いたことがある。出せるタイミングも3枚以下の階段は自分が親のときのみ、4枚以上のときは革命に続く強さで任意のタイミングで出せるというルールもあれば、親のときのみしかだせないという人もいる。ちなみに階段内の8切り、イレブンバックは作用する。メジャー度2。
エンペラー
マークが全て異なり数字が連続した4枚のカードを同時に出せるとするルールがエンペラーである。8切り、イレブンバックも作用する。出せるタイミングは任意で、強さは革命、5枚以上階段に次ぐ強さ(次点は4枚階段)。メジャー度1らしい。メジャーだと思っていたのに。
階段革命
5枚以上の階段は革命として作用するというルール。メジャー度1らしい。

こんなもんでしょうか。こんなルール知っている(知らない)よ~、ということでしたらコメントしてください。

18:47 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (5) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/239

April 17, 2004

研究室快適化計画

[Timely]

大学4年なので、卒論の研究室配属がありました。で、配属された研究室では、部屋を1つ4年用に使わせてくれるらしいので、何を持ち込もうか色々と画策しています。

まずは、座布団。普段の授業でも大学の椅子(あの後の机とつながっているやつ)だとお尻がいたくなるので愛用しているくらいなので、絶対必須。
つぎにマグカップお茶。お茶は日本茶と紅茶のティーパックの予定。
そしてそして、サンダルすのこ。裸足は健康にいいのです。

あとはまた考えよう。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/240

April 18, 2004

今更だけど、ユニクロ

[Tips]

今更だけど、ユニクロってすごいよねって話を会社の仲間としてました。何がすごいかって、それは駐車場と店舗の位置関係

ユニクロの店舗は郊外店だと、大きな通り沿いにありますよね。で、通りからみるといつも車が満杯になっていて繁盛しているなっていう印象を受けますが、実際車をいれてみると駐車スペースはまだまだある。これには駐車場にちょっとした工夫がしてあるのです。

uniqlo.gif

これなら表からみると車が常にいっぱい。こういうのが『ノウハウ』ってやつなんでしょうね。

22:44 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/241

April 20, 2004

Regnessem

MSN Messengerを使っていたのですが、やめました。理由は呼んでもいない相手にいきなり話はじめられるのがイヤだから(嘘です)。本当の理由はOutlook Expressを起動すると同時に立ち上がるから。

とにかくRegnessemというフリーのMSN Messenger互換ソフトに変えてみました。このソフト、純正品に比べ次の2点がずごくいいです。
まず第一にマルチアカウント対応。複数MSNのアカウント持っていても、同時にログインして使用することが可能です。
次に『不可視モード』の存在。ログインしても他人から自分の状態が見えないモードです。これは便利。

他にもプラグインで、ICQ対応になったりと機能拡張もできるようです。

23:16 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/242

April 22, 2004

フライトシミュレータ

研究室ではラジコンを飛ばしているので、それの操縦訓練の一環としてラジコンのフライトシミュレータを現在特訓中です(遊びではありませぬ)。

なかなか難しいですね。ラジコンといえども凄いやつになるとジェットエンジンで脚までついていたりします。離陸の際に脚をしまって、着陸の際に脚を出したり、という操作もあったりしてけっこう大変です。

忘れないようにメモ。離陸時はスロットルをちょっと多目に入れて、適当なところで、エレベータを引くと、離陸。旋回は、はじめラダーとエルロンを同じ向きに倒し、バンクが効き過ぎているようなら、エルロンを逆に倒して、姿勢を安定させる。着陸時にはスロットルを半分にし、滑空状態で降りること。

23:16 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/243

April 23, 2004

Numerical Recipes

現在、固有値、固有ベクトルを求める課題に取り組まされているのですが、いいのを見つけました。Numerical Recipesという本ですが、なんとオンラインで公開されています。
Cのコードがのっているので、大助かりです。この他にもFortran 77Fortran 90のコードがオンラインブックとして無料公開されていました。C++版もあるそうですが、それは購入せよとのことです。

現在、実装はC++で行っています。できあがり次第、誰かの役に立つかもしれないので公開するつもりです。
細かいことになりますが、実非対称行列をヘッセンベルク変換後、ダブルQR法でといています。

22:56 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (3) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/244

April 25, 2004

川苔山、本仁田山

奥多摩にある、川苔(かわのり)山、本仁田(ほんにた)山に登ってきました。コースは、鳩ノ巣駅→川苔山→本仁田山→奥多摩駅。

天気がよくって富士山とかも見えました。さぁて、GWはどこにいこう!?

21:07 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/245

April 27, 2004

ハウスホルダー変換経由、ダブルQR法

『8×8行列の固有値、固有ベクトルを求めよ、しかも固有値は複素数じゃ!!』とのことでしたので、C++でハウスホルダー(householder)変換、ダブルQR法を実装をしました。

大変でしたが、なんとかできたので、ソースとそのCppDocを公開します。

Matrix.hとそのCppDoc
Complex.hとそのCppDoc

※メンテを行っているより新しいバージョンはこちらのmatrix.hcomplex.hです。

21:24 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (4) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/246

April 28, 2004

Wiki設置

[Info]

Wikiを設置しまた。Wikiというのは、あれです、要は書き換え可能掲示板。Wikiにも種類がいろいろありますが、今回はHikiというのを使用してみました。設置したのはここですが、まだ公開するほど色々やっていないので、リンクはこれ以外に張るつもりなしです。

Hikiになった経緯を書けば、結局はRubyで書いてあるものがよかったということです。で、Rubyで書いたものというと、RWikiが有名ですが、RWikiは以前の使用でページ数増大につきメモリを大量に食うということが発覚しており、それが嫌だったのでRWikiはパス。それ以外のものということで、Hikiになりました。

HikiのいいところはAmritaを使用しているので、ModelとViewの分離がきちんとできているらしい、ということじゃないでしょうか。そのうちソースを読んでみようかと思っています。

それと、MacOSX10.2でHikiを使う人はインストール時に、スタックサイズを増やしましょう。これをしないと動きませんでした。インストールマニュアルにも書いてありますが、apachectlの前のほうに以下を足してください。

ulimit -s 1024

もし、これでも動かないようでしたら、1024の値をもっと大きな値にしてみてください。うちのサーバはMacOSX10.2.8+apache1.3.28ですが、1024では動かず、2048にしたら動くようになりました。mod_perlとかが原因なんでしょうか?

20:53 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/247

April 30, 2004

鶏が先だと思われ

C++には演算子のオーバーロードという便利な機能があって、+(プラス)や-(マイナス)なども関数として定義することが可能な言語仕様になっています。この前の行列ライブラリ作成の際もこの機能にはお世話になりました。

で、ふと思ったことなのですが、自己改変をするメソッド(例えば+=とか)と、自己改変をしないメソッド(例えば+とか)、どちらの定義が本質的なのでしょうか。
考えてみた結果、前者の定義、すなわち自己改変をするメソッドの定義の方が先にあったほうが都合がよい、つまり本質的ではないかと思います。

以下の例を見てください。この例はメンバ変数がポインタであり、代入演算子やコピーコンストラクタではデフォルトの動作でシャローコピー(アドレスのコピー)しか行われません。

template<class T>
class Hoge{
    private:
        T *member;
    public:
        Hoge(T ada){member = new T(ada);}
        ~Hoge(){delete member;}

        Hoge copy(){
            Hoge deep_copy(*member);
            return deep_copy;
        }

        Hoge &operator+=(const Hoge &hoge){    //自己改変するメソッド
            (*member) += *(hoge.member);
            return *this;
        }
        Hoge operator+(const Hoge &hoge) const{    //自己改変しないメソッド
            return (copy() += hoge);
        }
};


自己改変するメソッドを先に定義することによって自己改変しないメソッドの定義が簡単にできます。

オブジェクト指向というのは、デフォルトの操作がオブジェクトを増やさない方向にあることもあわせて考えれば、自己改変をすることこそ、メソッドの定義として本質的なのでは。

19:43 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (1) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/248