DELPHIER

プログラミングを中心にした思いつきの書きとめ場所です。

2005年07月25日

はてなダイアリーを使ってみる

はてなダイアリーを使ってみました。

しばらく使ってみようかと思います。

2005年07月09日

C++にはまってしまった

え、DELPHIERのくせにC++ですか?と言わないで下さい。

DELPHIを使い始めて早8年、ついにC++にはまってしまいました。

主な理由は二つあります。
一つは、OpenH323というオープンソースソフトウェアのソースコードに感動したこと。
一つは、VCのエディタが非常にしっくりくること。
これの比率は8:2くらいです。なので、一つめの理由について書きます。

具体的にいうと、pwlibライブラリに含まれるPSemaphorePWaitAndSignalというクラスが、非常にツボにはまりました。「スコープを抜けたらオブジェクトが解放される」ということを利用して、スレッドプログラミングでおなじみの同期オブジェクトのシグナル状態の変更をエレガントにやってのけています。

コードで書くと、こんな感じです。

PSemaphore semaphore;
:
{
PWaitAndSignal w( semaphore );
// ここに保護したいコードを書く。
}

かっこいい。

これの何がかっこいいかというと、コメント部のコードのロック、アンロックを、クラス変数の宣言コードが一行だけで済む。ということです。普通、ロック、アンロックで保護したいコードをはさむ必要があり、途中でreturnするときなどを考えると、コードがぐちゃついてしまうのです。

同時に思ったのが、今僕が知りうる知識では、同等のことをDELPHIではやれない、ということです。
DELPHIではクラス変数はコンストラクタで初期化する必要があり、破棄する場合にはデストラクタを呼び出す必要があるからです。

言語の選択によって、コーディングセンスは変わってしまう。
そう気づかせるようなコードでした。
コードを読むことによる感動は、Extreme Shootersのコードを読んで以来の事です。ちなみにExtreme Shootersは、Quadruple Dの作者であるSANDMANさんの作品です。

「スコープを抜けたらオブジェクトが解放される」を利用したテクニックは、処理時間計測などにも活用(どっちかというと適用かな)できます(コードはここに書きませんが)。

DELPHIで、同等のことはできないのでしょうか?(結局DELPHI)

2005年07月08日

Musical Batton

uoxさんからMusical Battonをいただきました。
Musical Battonの存在は、日頃よく見ているブログやはてなダイアルで知っていましたが、
まさか僕にも来るなんて!!

コンピュータに入ってる音楽ファイルの容量

12.4GBでした。全部MP3です。
iPodに入っているのをそのまま聞いてます。

一時期Apple Losslessも使いましたが、iPodの電池の減りが早いので止めました。

今聞いている曲


アーティスト単位で。

Los Van Van
The Beatles
BUMP OF CHICKEN
I EXCUSE
Bob Marley & The Wailers

最後に買った CD


戦場のメリークリスマス

最近坂本龍一さんの曲にハマり始めているので。これが二枚目です(一枚目はChasm)。

よく聞く、または特別な思い入れのある 5 曲


  • ラフ・メイカー - BUMP OF CHICKEN
  • MORUKARA PARTY TONIGHT - NOT REBOUND
  • プライマル。 - THE YELLOW MONKEY
  • Drawing - Mr.Children
  • Pauline - the tone

バトンを渡す 5 名


そんなに渡せません。DELPHIつながりってことで・・・

爆裂プログラマンさん
あかさたさん
SANDMANさん

ところで、Musical Battonをいただいてから、誰かに渡すまでのアクションって、「〜をする」っていう名前はついているんですかね。

2005年05月10日

Webページに含まれる単語を列挙すると何が分かるのか?

日本の方が作られているソフトウェアに、単語を抽出できるソフトウェアがあります。
MeCab、ChaSen、kakasiなどです。

これを使えば、Webページに含まれている単語を列挙することができそうです。
単語を列挙すれば、頻度、総単語数が分かります。
・・・思いつきませんが、いろいろと面白い使い方が出来るんじゃないか、と考えています。
[続きを読む..]

2005年05月09日

fladdict.net blog: 世界最強のajaxアプリ TRIGLAV

Diablo風ajaxアプリが紹介されていました。
すごくなめらか。実際に動かして見て下さい。

fladdict.net blog: 世界最強のajaxアプリ TRIGLAV

ゴクリ・・・。
ってなりますよね?

余談ですが、個人的にJavaScriptにはあまりいい思い出がありません。
過去にFlashとJavaScriptを連携させようとしたことがありました。
この場合、SetVariable、fscommandを駆使することになりますが、
IE以外でうまく動かせなかった、ということが起因しています。

それはさておき。
ちょっとajaxについて整理しておきます。
[続きを読む..]

2005年05月05日

スケボーのチックタックでレースをするゲーム 2

一年も時間が空きましたが、再考してみます。
前回はFlash中心で考えてましたが、もうそれは忘れます。

まずは、ゲーム中で行うアクションの書き出し。

[続きを読む..]

2005年05月02日

最近読んだ本

村上龍の本。






2005年05月01日

MovableTypeからNucleusへの移行

本サイトのCMSをMovableTypeからNucleusに移行しました。

最初、MovableTypeからNucleusへの移行ツールを見つけられなかったんですが、普通にありました。

MT to Nucleus conversion
http://www.hjg.com.ar/nucleus/mt_nucleus.html

MovableType からNucleus への移行 | alectrope
http://alectrope.ddo.jp/mt/archives/2004/06/29/mt_to_nucleus

プラグインを使うとかなり快適になる。
Japanese NucleusCMS wiki : CategorizedPlugin
http://japan.xiffy.nl/CategorizedPlugin

2005年04月28日

Nintendo DSの開発環境

なにーもうWindows上で開発できてしまうのか!

GBAプログラミング研究所 - NDS Development

WonderWitch、GB、GBAでも同様にWindows上で開発出来ることを知ったときがある。
となると、僕が知っている中でWindows上で開発できるのはこれで通算4機種目となる。

携帯ゲーム機は、PS以降の据置機と違って開発に特別なハードウェアがいらない、
(実機での動作確認はのぞく)というのがいいなぁ。
個人開発者にとっては比較的敷居が低くなる。

2005年04月25日

オープンソースソフトウェアとかのメモ

近頃オープンソースソフトウェアを見ることが多いので、メモしておきます。

RealVNC
いわずと知れたリモートコントロールソフト。
Winsock 1.1はこれで勉強できます。C++もこれで勉強しました。

OpenH323
電子会議システムの規格H.323を実装している。
動画つき音声チャットが出来る。
これにはPortable Windowsというライブラリが使われていて、こちらもかなり参考になる。マルチプラットフォーム対応のソースコードには、Windows APIも多様されているが、普段見かけないスレッドや同期など難しいところのソースも含まれているからだ。
音声チャットの実装には、リングバッファが活躍している。後述のSpeexの使用例としても参考になる。

Speex
素晴らしい音声コーデック。
あくまで音声コーデックなので、Skypeのように暗号化はされないものの、GSM 6.10よりも音質はいいんじゃないか、と思っている。まだ開発が続けられていて、少しずつ機能が増えている。Windowsからも利用可能で、ACMも配布されている。

Rigid Chips
遊べる剛体シミュレータ。
剛体を自分で作ることが出来るようです。飛ぶやつが非常につぼにはまりました。かなり面白いです。

その他技術的なトピックとしては、Skypeの影響を受けて今更ですがP2Pなどに興味があります。NAT越えとか、UDP hole punchingとか、そのへんです。

いやぁ、ほんとにオープンソースは宝の山ですね。

2004年09月11日

昔書いたもの

昔書いたページのうち、リンクがどこからも張られていないものがありました。せっかくですので、リンクしておきます。

2004年06月15日

Flashで3D、少なくとも無限平面

Flashでパースつき無限平面、パースなしテクスチャマッピングが出来る、
ということは、実物を見て知っていたのですが、サンプルなどを見て
確実に実装できるという確信を持ったので、取り組んでいきます。

参考になるページを列挙しておきます。

■国内
vas animation
Flashで興味深い実験をいろいろとなされています。
実際に動くものを公開されており、参考になるリンクも多いです。

■海外
実際に動くもの
マリオカート的なサンプル。
http://www.nlc.net.au/~oceana/games/rc.htm
http://www.nlc.net.au/~oceana/games/rc.zip
ソースつきの無限平面サンプル。

3d texture mapper and OOP engine
テクスチャマッピングのサンプル。ただし、テクスチャの形が正三角形で作られていたため、
四角形のテクスチャを張るためなら即戦力にはならない。

3D rotating cube (large version with pictures as texture)
こちらは四角形テクスチャマッピングが簡単。
画像を変えるだけですぐに使える。

Flash kit
上記のような参考になるものが数多く集まっている。
[続きを読む..]

衝突後の速度を求める計算

衝突後の速度を求めるための数式をWordで書いたものが見つかったので、
あげておきます。

Download file

2004年03月14日

二代目 NaGu−Ru デモムービー

二代目NaGu−Ruのデモムービーです。
以前は二代目NaGu−Ruの紹介ページで再生されていましたが、重いので分けました。

http://www.o440.info/software/naguru2/naguru2_01c.wmv

こんな感じのゲームです.30秒程度の紹介にしておきます.続きはプレイして体験してください.
[続きを読む..]

2004年03月05日

物理シミュレーションのリンク

Akapa's Space 2
結構ためになるリンク&サンプルがある模様。
ShowckWaveってHavok使えるから結構面白いなぁ・・・。
もう少し環境が簡単に手に入ればいいんですけどねぇ。

266206 Since 2005-05-01