早くも無く遅くも無く。
そういや、ダイワハウスのCMで役所広司と黒木メイサが一緒に出てますが、
EPSONのプリンタであるColorioのCMでも一緒に出ているのはどういうシンクロ?
早めに帰着。
Webを散策していたら、あまりにも眠くなって急速停止。
気持ち遅めに帰着。
トライン。あれぇ?オブジェクト500個トロフィーって意外と時間かかるなぁ?
狙ってそればかりやると作業的でつまらないので、普通に魔法使いをメインに
使用してゲームを進めてみてるのですが......
けいおん最終回。映画化されるとな。何気に人気あるのかなぁ?
早くも無く遅くも無く。
トライン。残りはオブジェクトを500個召喚するってトロフィーだけなのですが、
結構作っている気がするにも関わらずまだまだ全然足りないらしい。
AM中に起床。
鉄腕DASHの3000歩の奴。あれだけ離れた異なる3箇所から3000歩という設定で、
楽勝という訳でも全然足りないという訳でもなく、本当にギリギリ届くくらいに
なってるって本当なのか?!と思ったり。
トライン。残っているトロフィーをダラダラと回収。そういや、経験値を取得すると
各キャラクタのステータスを強化する事ができるのですが、今まで一切ステータスを
いじらずにやってました(^^; 強化すると普段はヒネリを効かせないと登ったり乗り越えたり
できないような場所も全く無視できるくらいの勢いでショートカットできたりします(^^;;
つまり、経験値を手に入れると徐々に簡単になるという感じ。
元々、難易度バランス的には誰でもクリアできるくらいの設定になっている感じなのですが、
それだと簡単過ぎると言う人も出てくるだろうと想像されます。最近は色んな人が居る
ので、難易度バランスをとるのも難しいだろうなぁと思ったりも。
昼前起床。
トライン。やっと最後の経験値をゲット。そこか〜って感じでした。
ちょろりコーディング。ツリーのノードを移動するコードを書いてみたり。
移動元のノードを、そのノードのサブノードに移動すると、どこからも
参照できなくなるなぁと思ったり。因みに、cygwin上で
ファイルシステムに対して同じような事をすると次のような感じ。
$ mkdir dir1 $ mkdir dir1/dir2 $ mv dir1 dir1/dir2/. /bin/mv: cannot move `dir1' to a subdirectory of itself, `dir1/dir2/./dir1'
$ ls -l dir1/dir2/ total 1 lrwxrwxrwx 1 tane None 10 2010-09-26 01:36 dir1 -> ../../dir1 $ cp -rs dir1 work/. /bin/cp: `work/./dir1/dir2/dir1': can make relative symbolic links only in current directory
少し早めに帰着。
鳥人間コンテストを観たり。去年は景気の都合で開催されなかったのですが、今年は
大丈夫だった模様。2008年に36km折り返し飛行に成功した為、
今年は新たに40km折り返しルールとなりました。と、その前にタイムトライアル部門というのがありました。
500mの往復計 1kmのタイムトライアル飛行で、2分を切るという記録が出てたり。
1kmを飛ぶだけでも大変な事だと思うのですが、それを時速30kmくらいの速度で飛んで
いるというのが恐るべしです(^^; 極まってくると記録が接戦になりそうなので今後も楽しみな部門かも。
で、長距離部門な訳ですが、40kmルールは適用されたものの、今年は1位で約18kmという記録に
留まりました。前にも思った事なのですが、時速20kmくらいを
ずっと維持したまま40kmの間プロペラを回し続けるというのは尋常では無いと
思うのです。36kmいけたから次は40kmでって、言うほど簡単な事では無いのかも。
でも、やっぱり40km折り返し達成を見てみたいものです。来年も楽しみです。
そういや、二人乗りの機体が一機だけ出場していたのですが、案外長距離飛行に
対するアプローチの一つかも?と思ったりも。
そういや、人力飛行の世界記録ってどれくらいなんだ?と思ってWebを探ってみたところ、
人力飛行機なるWikipedia
が見つかったり。それによると「ダイダロス'88」なるMITの開発した機体が飛行距離/
滞空時間の世界記録保持機のようです。もう少し調べてみると、綴りはDAEDALUS、
制作年は1988年、距離は116.6km(当時の距離計測が正確で無い為か、Webページによって情報に
2kmくらいのブレがあるようです(^^;)、飛行時間は約4時間という事らしいです。
スピードにしておよそ30km/hなのでかなりスピードが速いという気も。
それよりも20年以上前の記録が未だに抜かれていないというのが恐るべし。それ以外にも
飛行時間4時間とか、パイロットは何食ってんだ?!みたいな所が気になります。
もう少し調べてみると、天候コンディションを得る為にギリシャで1ヶ月も風待ちを
して飛行したようです。なる。
あと、以前にも鳥人間コンテストに参加していたエアロセプシーというチームが、
今年 世界記録に挑戦する予定だったようですが、天候条件が整わず中止になったとか。
長距離飛行では天候コンディションの良し悪しが記録を大きく左右するという事なの
かも知れません。逆に、鳥人間コンテストは開催日が天候で決まる訳では無い点で、
記録を出すのがより難しいと言えるようです。
雷の音でAM中に起床。
調べ事をしていたら、全然関係無い流れで Emacsのthumbsモードなる
サムネイル選択式のイメージファイル閲覧モードを知ったり。ほー。
因みに、VMware上のFedoraに入っていたEmacs-23系でも使ってみたのですが、
何やら挙動が不振だったので、同様の事例が無いかWebで調べてると、Emacs-23系には image-dired
なるこれもサムネイル選択式のイメージファイル閲覧モードが用意されてました。
後発の為かこちらの方が使い易い様に思いました。でも、MeadowはEmacs22系
で止まってるのでimage-diredは使えず。cygwinのEmacsに入っているelファイル
をMeadowで使ってみたのですが、dired-xとの連携があるもよう。でも、dired-xの
方がエラーして動かなかったのであまり深く調べずに諦め。
そういえば最近は、NTEmacsJPなるWindows上で動作するEmacsが存在するようですが、
ここもEmacs-22系で止まっている感じ。
NTEmacs-23の日本語パッチ版も存在しているようなのですが、こちらは2chで
適当にやっているようで、バイナリ配布もパッチもどれを使えば良いのか
イマイチよく判らない感じです。
もそもそとコーディング。自作のツリークラスを弄ったり。
ツリー構造はデータ構造の話なんかでは良く聞くのですが、意外と自分では使う事が
無い構造だったりします(M-Design(仮)
で使ったくらい)。それほど使う場面が無いというのもあるのですが、実装やデータの入力
が面倒臭いというのもあまり使わない理由だったりします。実装の面で言うと、例えば
多分木(子ノードを3つ以上持つツリー構造)の場合、編集するなら動的なメモリ管理を行うのが必須
です。ノードを追加したり、枝を刈ったり、枝をコピーしたり、ツリーデータの操作を
行なおうとすると、なんだか面倒臭くなって使う事自体を避けたくなる感じです(^^;
データの入力という点でも同様に、例えばテキスト形式で構造を記述した場合、
そのパースが面倒臭くてツリーデータ使ってどうこうする以前に、ゲンナリしてしまいます(^^;;
まぁそう感じるのはTANEだけかも知れませんが(^^;;;;;
D言語を使って実装してみると、ノード自体をクラスで実装する事でメモリ管理や
追跡リストの実装が簡単になったり、連想配列を使う事で子ノード探索やノード管理が簡単に
なったような気がします。
そういや、そもそもツリークラスを考えるきっかけになったのは、コードの整理を
している中で、WinAPIのTreeViewコントロールをもっと楽に扱えないんだっけ?
と思ったのが理由でした。まだその問題を解決するところまでは至ってなかったり。
早めに帰着。
ちょろりコーディング。ふむー。
気持ち遅めに帰着。
ちょろりコーディング。ツリークラスを考えてみたり。
今のノードに子供を足したり、自ノードの上とか下に移動するのは
ファイルのディレクトリ構造っぽい感じにすれば良さげなのですが、
カレントディレクトリ的な概念が無いとやっぱ操作しづらい気がしたり。
でも、ファイルシステムのディレクトリみたいにした場合、
ノードに対して名前が付いてれば話は比較的簡単なように思うのですが、
特に名前を付けずに管理するとした場合、例えばフルパス
指定みたいな事を行いたいとき、普通はどうするんだ?
とか、ある枝を「mv dir1 ../../dir2/.」みたいな指定は普通はどうやるんだ?
みたいな所を疑問に思ったり。
先週最終回(?)だった けいおん!!。今回は番外編でこれで終わりかと思ったら、
来週も番外編らしい。どうなってんだ?
昼前起床。
もそもそとコードの整理。
少しほったらかしにしていたトライン。「開発者顔負け」というトロフィーを
取得してみたり。最終面をVeryHardで一度も死なずにクリア(3人の誰一人死んではダメと
いう条件)というものなのですが、なかなか良い感じの見せプレイになるパターンだったり。
でも、なんでも無い所で死んだり、もうちょいって所でワタワタして死んだりと
トロフィー取得に結構時間がかかったのは秘密。それよりも、経験値アイテムが
見つけられないステージがあって、そっちの方がどうしたもんかと悩み中。
カンブリア宮殿で紹介されていたハンズマンというお店。尋常ではない品揃えの
巨大ホームセンターです。あれだけ色んなものがあると本当に一日中居ても飽きない
かも。個人的にはかつての秋葉原の部品屋さんなんかもこんな感じでした(笑。
そういや最近の電子部品は小さくなり過ぎてダメですね。抵抗やコンデンサなんて
ゴマ粒くらいの大きさしかないものですから半田付けできません(^^;
そういやツリー構造を扱うクラスってphobosには無いなぁと思ったり。
昼頃起床。
もそもそとコードの整理。
PSオフィシャルサイトにTGS関連のムービーやらが色々
来ていたり。年末はMove推しで行くようですね。PS Eye(カメラ)とMove(コントローラ)と
おまけソフト込みのスターターパックを6000円を切る価格で出そうとしてるのは「安っ!」
と思ったかも(因みにDUALSHOCK3は5500円)。
Moveのおまけソフト的な物にBeatSketch!と
いうのがあるのですが、これの開発スタッフの一人にマンガ家の蛭子能収氏の息子が居る
というのをMoveのブースムービーを見て知ったり。過去にギャルゲーでプレイヤーの名前を含めた
音声台詞を、ちゃんとトーンに合わせて発音するようなのを作ってて何気にスゴイ事をやってる感じでした。
その後どうしているのか知らなかったのですが、まさかこんな所で登場するとは思いもよりませんでした(^^;
E3の時はPS3関連はパッとしない印象だったのですが、今回のTGSではMove推しという事で
見れば、まぁまぁ準備は整っているという印象だったかも。ただしデバイス的にはWiiの
二番煎じなので、物珍しさだけでは既に売れない状況だと思います。そこを踏まえてきっちり作った
良ゲーが沢山出ると良いなぁと思います。
まぁでも去年の薄型発売以降、本体出荷も延びているようなのと、地デジ買い替え需要に便乗する形で
3Dも推している点で、日本に限って言えば流れに上手く乗っているという気がしなくもありません。
ただし、年末商戦という点では任天堂の3DSがどう来るか判りません。当てられると荒れるかも知れませんが(^^;
昼過ぎ起床。
もそもそとコードの整理。
随分前にワンセグ録画してあったサイエンスZEROを観たり。
ウイルスを使ってガン治療を行うという話。
もやしもん風に言うと ガン細胞を醸(かも)すって事なのですが、本当に
そんな事ができるとは驚きです。
早めに帰着。
あまりに眠くて死亡。
気持ち遅めに帰着。
もそもそとコードの整理。
早めに帰着。
もそもそとコードの整理。以前、
GetOpenFileName()のOPENFILENAME.lpstrFileに、wchar[]宣言した変数の
ポインタを指定すると何故かダイアログが開かないという事がありました。
何気にWebで検索してみると、セットするポインタの先頭が0(NULL文字)に
なっていないと(つまり長さ0の文字列になっていないと)失敗するという
のを知ったり。D言語ではwchar[] は初期値はffで埋められているので、
それが失敗していた原因だったもよう。
dmdのオリジナルを使ってみようと思ったり。インストール自体はアーカイブを
展開するだけなので、特に問題はありませんでした。手持ちのソースを
いくつかコンパイルしてみるのですが、ちょいちょいコンパイルが通らない
箇所があるもののちょっと直せば大丈夫そう。でも問題あり。
一つはウインドの基底クラスの中で、クラスの参照を LPVOIDにキャスト
して、後にLPARAMから再びクラスの参照にキャストするという操作を行って
いるのですが、その一連のキャストのコンパイルが通りませんでした。
具体的には、
extern (Windows) LRESULT _WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) { : WindowBase wb = cast(WindowBase)(*(cast(int*)(lp))) ; :
早くも無く遅くも無く。
もそもそとコードの整理。昨日のはテストコードを使用していたのが原因でした。
気づくのに随分時間がかかってしまった。修行が足りません。
気持ち遅めに帰着。
もそもそとコードの整理。あれぇ?メモリが開放されなくなってる。
AM中に起床。
ぐうたら過ごしたり。
Xbox360版FF13の日本国内発売の話。最初Webで見たとき、へぇー 出るんだーと思ったのですが、
それで殺人予告ってなんのこっちゃ?良くわからなかったり。なんでも、FF13が北米では
360版が出る事になった時、日本国内ではXbox360版は出さないという事を開発者が言った
そうで、それと約束が違うという事に対して怒っている人が居るらしい。
と、理由を聞いてもイマイチ何に対して怒る事があるのか理解ができません(^^;
どうも、色々なパターンがあるようなので、暇つぶしに順に考えてみました。
AM中に起床。
満点青空レストランで もやしを扱ってました。ところで、もやしは日に当てないで
発芽させる訳ですが、これって意図して行わないとダメだと思うのです。最初に
このような栽培方法を誰が考えたんだろう?と思ったり。少し調べてみたのですが、
Wikipediaには
栽培方法の起源については特に書かれていなかったり。でも、古代中国の時代から
食べられているとされているようで、かなり前から存在しているものと思われます。へぇ。
もやしが「萌やす」から来ているというのは初めて知りました。
早めに帰着。
右手中指が不調。
猛烈に眠くて死亡。
気持ち遅めに帰着。
先日のgccのビルドはエラー無くmakeできていたり。make installして、ひとまず
IJGのソースをコンパイルしてみたり。一応makeは通って、make checkもエラー無し。
一応使えそう。
gcjでSWTとやらを使う事ができるのか試してみたり。MinGW版のGCJでは無いのですが、
このページの手順を
参考にテストコードをコンパイルしてみたり。ひとまずリンクはできたものの、
実行してみるとエラーで実行できず。
$ cat HelloSWT.java import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class HelloSWT { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello SWT"); shell.setSize(600, 400); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } } $ gcj --jni -c --classpath=swt.jar swt.jar $ gcj -mwindows --main=HelloSWT --classpath=swt.jar swt.o HelloSWT.java $ ./a.exe Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: libswt-win32-3650: No such file or directory libswt-win32: No such file or directory /tmp/swtlib-32/libswt-win32-3650.so: No such file or directory /tmp/swtlib-32/libswt-win32.so: No such file or directory at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.C.<clinit>(Unknown Source) at java.lang.Class.initializeClass(Unknown Source) at java.lang.Class.initializeClass(Unknown Source) at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source) at java.lang.Class.initializeClass(Unknown Source) at HelloSWT.main(Unknown Source)
早めに帰着。
Javaのアップデートが来ていたので行ったのですが、インストール画面
などのロゴからSunの文字
が無くなってORACLEになってるのがなんだか新鮮な気がするような、
少し寂しさを感じるような。
gcc-4.5.1のビルドを言語選択をc,c++にして試してみたり。終わらず。
そういや、gcc4.x系になってgcjが割と良い感じになってないのかなぁ?と
思って試してみたのですが、何やらHelloWorldレベルのコードのコンパイルに失敗したり。
$ gcj --main=HelloGCJ HelloGCJ.java Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.jdt.internal.compiler.batch.GCCMain at gnu.java.lang.MainThread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.batch.GCCMain not found in gnu.gcj.runtime.SystemClassLoader{urls=[], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at gnu.java.lang.MainThread.run(Unknown Source)
$ gcj-3 --main=HelloGCJ HelloGCJ.java $ ./a.exe Hello GCJ!
早くも無く遅くも無く。
トライン。最後のステージをVeryHardで一度も死なずにクリアするというトロフィー
があるのですが、それに何度となくトライ。なんとなく見えてきた気がするの
ですが、やってると何でも無い所で死んだりして、もーっ!って感じです。
早くも無く遅くも無く。
トライン。経験値コンプリートの為に、取り切れていないステージを
ステージセレクトで何度かやっていたりするのですが、ちっとも残りを見つけられなくて
我ながら節穴っぷりに愕然としてしまいます。
昼前起床。
先日のgdcビルド。cygwinビルドを試したのですが結論から言うと失敗。
configure.inの更新は行われているのですが、configureはそれが反映されていなく
てautoconfを実行しなくてはならないとかハマリどころがあるのですが、
それを引いても失敗。versionによるコード分岐でことごとくWindowsとlinuxしか
無いためにcygwinではどちらでもなくてエラーみたいなのが多数あります。
これ、流石にちょっと直せば済むレベルじゃなくて、そもそも対応されていないという
レベルなので挫けました(^^;;
他にも、配列演算に使用されると思われるプリミティブなコードが
x86用のアセンブラコードでしか書かれていなくて、PPC-linuxやdarwin(MacOSX)
だとダメそうな感じになってるとか、色々地雷が用意されてそうです。
そもそもdmdのオリジナルがx86しか想定してません。そう考えると 何気にgdcを
PS3-Linuxとかに持っていって、サックリビルドできてちゃんと実行できるバイナリ
が生成できたことは、実にスゴイ事だったのかもと改めて思ったりします。
そんな訳で、VMware上のlinuxでビルドを試してみる事にしたり。automake-1.9.6が必要
とか、SSE2を使用しているコードの為にちょいちょい手でコンパイルオプションを足す
必要があったりとかハマリどころはありましたが、結果で言うとビルドできました(^^)。
先日ダメだった配列演算も一応機能しているようです。
昼頃起床。
phobosのパッチは進まず。それよりも2.020対応が本当にうまくいってないのか
調べる方が早い気がしてきて、ソースの新しいのを見てみたところ、
どうやらdruntimeのビルドを行う為らしい? 変更が入っていたので、それを試してみる
事にしてみたり。
そもそも2.020の変更をイマイチよく判ってません(^^;;; てか、どこにも説明が無い
ので少し調べてみたり。メモリなどの管理は druntimeというライブラリに移動され、
phobosと分離されたというのが大きな変更点になってるようです。druntimeは
core/* というパスに置かれているようなのですが、これがちゃんとビルドされる
ようになっていない感じだったようです。最初に試した数日後にphobos2の下の
configure.inやMakefile.amにそれらしき変更が入ったようなので試してみるという流れ。
てか、ビルドできないような物がコミットされていたのはなんでだ?という事の方が謎です。
そういや、ソース管理にhgというコマンドを使うようなのですが、何者なのか
よく判らなかったり。どうやらMercurial
というソース管理ツールで、
ソースの取り出しとかを行うコマンドがhg (cvsやsvnなどに対応?)という感じ。
Webのソース表示では差分やリビジョン番号付けがどうなってるのかイマイチ
よく判らなくて、どのタイミングでタグ付けとかしてるのかが謎です。
ANIMAXで今敏氏の追悼番組として、東京ゴッドファーザーズとパプリカを放送
していたり。番組変更って可能なんだという事に少し驚きました。
早めに帰着。
libphobosに対して、2.019くらいまでを取り込んだパッチを作成してみようと
思ったり。diffで見ると大量のファイルに差分があるようなのですが、
それぞれは小さな差分ばかりという感じなので、ちょっとずつ見比べれば
大丈夫なんじゃ?と思った次第。
diffのパッチ形式を見るのは辛いので、MeadowのEdiffモードを使って
みてます。このEdiffモードの良い点は、差分行毎にキー一つで写す事が
できるところ。gdc用のパッチはそのままに、phobosのバージョンとして
入れた修正を順に見ながら取り込むという感じ。
んー、ファイル量が多いので早々にくじけそうになってきた(^^;;;;
高校生クイズ。準決勝くらいから観たのですが、それにしても良く知ってるなー
と感心するばかり。
早くも無く遅くも無く。
そういや、dmdの2.018で配列演算と称したベクター演算ができるように
なっていたなぁと思い、先日ビルドできたgdcで試してみたり。
結果はリンクでエラー。文法自体の解釈は問題無いようなのですが、
配列演算自体はライブラリに頼っているようで、その関数が見つからない
という感じ。libphobosはdmd2.014のままなのが原因だと思われ。残念。
早めに帰着。
昨日のgdcのmingwビルドはエラー無くlibphobosのビルドまで完了。
インストールして手持ちのソースをいくつかコンパイルしてみたり。
元々言語仕様にあるdeprecatedという属性に対して警告されないというバグが
dmd2.016で修正された為、Win32-APIのラッパーで使われているソースに
対してコンパイルがエラー停止するようになってます。-fdeprecated
オプションを追加すればひとまずコンパイルは大丈夫そう。
一応、コンパイルした実行ファイルも問題無く動作しました。
因みに、mingwターゲットビルドのバージョン表示は以下のような感じ。
bash-3.2$ gdc -v -mno-cygwin Using built-in specs. Target: i686-pc-mingw32 Configured with: ../configure --prefix=/usr/local/gdc_svn3 --with-gnu-ld --with-gnu-as --enable-threads --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-languages=c,c++,d Thread model: posix gcc version 4.0.3 (gdc hg, using dmd 2.020)