水曜日, 2月 28, 2007

バインダ

Bantex: Quotation Folder

こんなのがシンプルで激しく欲しいのですが。

何処かに売ってないでしょうか? orz

ごにょごにょ

こんなの聞きながらな所為か、久しぶりにノリノリでコード書き。
ここしばらく悩んでいたことが一気に解決した…ような気がする。

まとめると、
  1. Modelの状態の複製を作らない
  2. Viewer内に状態を作らず、常にModelから状態を参照する。
  3. なるべくデータ操作に係わるすべての演算はModelのメソッドとして関数やAlgorithmとして実装する。使い回しし易いようになるべくgenericな抽象化をする。
  4. 高い抽象性を表すAlgorithmは外部関数として実装した方がいいかも。
  5. ModelにI/Oを陽に組み込みたくない場合は、I/Oを抽象化したFunctorを作り、Model内に作りこんだgenericなAlgorithmに渡して処理を行う(I/O(この場合表示系)を行うメソッドの実行をViewerの中でのみに限定すればいいのであって、別に組み込んでもいいんだとは思うけど。でも見通しが悪くなりそうで)。
  6. 5.で渡すGenericなFunctor factoryを予め用意しておくと良いなぁ。
…改めて考えると当たり前なんだけど、肝に銘じておいた方がいいなとここにメモ

Doc-ViewにすべきかMVCにすべきか微妙な悩み方をしていて現在も判断保留なんだけど、GLUIをうまくマージするには今のままの「なんちゃってDoc-View」でいいのかなとか思ったり。
ねこさん的ぐうたらフレームワークの仕様の一部が出来てきた様な気がするのでぼちぼちまとめつつ、後はしばらく機能ロジックの実装かなぁ

月曜日, 2月 26, 2007

アイデアメモ

GL+ET+Functor+Algorithm …

再放送

ついこの間まで再放送してたのに今日からまたやってることに今気が付いたー

これで失敗した回の録画が出来る~ ( ´∀`)

SED

誰でも知ってる話なんて書いても仕方がないかなと思って身の回りの話だけ書いてますが、やっぱり時事ネタを書いておいた方が自分の記憶の記録には大事かなと。

個人的時事ネタ

なかなか出ないと思ってたら大変なことになってたのね。

日曜日, 2月 25, 2007

3月までの計画

さて、再来月からはねこさんの家は社宅では無くなってしまいます。
それに伴い来月下旬に会社から用意してもらっていた家具・家財道具・照明・電化製品・寝具・ 台所用品等、一切合財が持っていかれます。まぁねこさんの物ではないので文句は言えません(これまでに支払った金額を考えると微妙ですが)。

持っていかれる物の代替も考えなければいけないのですが、問題はねこさんの部屋がとても散らかっているということ。
今週の土曜日の朝に資源ゴミ回収があるので、部屋に溜まった新聞紙を出したいと考えていたのですが、気力・体力・時間が無くて、いまからがんばってもだめっぽい。

取り敢えず考えたこと:
  1. 机・ラック・ワゴン周辺等を整理し、作業できるだけのスペースを確保する。
  2. 広告等どうでも良くなったり直ぐに整理可能なものをまとめておく。
  3. それ以外の新聞紙を邪魔にならない様に巧く(?)積み上げる。
  4. 溜まったDVD等を箱にしまい積み上げる。ワゴンに適切にスペースを空ける。
  5. PC等をワゴンに配置し机・テーブルを空ける。
  6. 古いモニタを箱にしまい、押入れに入れておく。
  7. 古い服などを整理する。
  8. 細々した物を最低限整理して取り敢えず箱に格納する。
  9. スチールラック・ワゴンを増設する。
  10. 無くなる箪笥・食器棚の代わりを間に合わす為に簡易ケースを買う。
  11. 必要となる最低限の家電製品(照明・冷蔵庫・洗濯機)を用意する。
こんなとこかなぁ…そのうち気が付いたら加筆していこう。

取り敢えず今週は早く帰るようにして、今週金曜日までに出来るだけ片付けてゴミを整理しよう。

あんまりぐうたらしてられないや orz

土曜日, 2月 24, 2007

ゆうごはん

先週末は悲しいものを食べてしまいましたので、今週末はちょっとましなものを食べたいなと。
今日は奮発して干したポルチーニを買いました。あと具には…良い小松菜が目に留まったので買って…だいじょうぶかなぁ (^^;

そういうわけで「小松菜とポルチーニとドライトマトのペペロンチーノ」という世にもわけわかんない食べ物が orz

ちなみにデザートは大奮発であすかルビー1パック…意味もなく贅沢です

金曜日, 2月 23, 2007

svnとか

例の謎開発マシンにPoderosaTortoiseSVNを入れますた。
そのうちTracでも入れようかなとか。

GLUT関連のメモ

「glutMainLoopが終了しない」問題について、忘れかけていたのでメモ

OpenGL FAQ 3. GLUT

お昼ごはん

社内食堂の炊飯器がショートして厨房の電源系統が飛んでしまったんだって。
外でご飯食べて…ってこんな田舎の何処で食べろとおっしゃいますか?

ということで、日頃あまりお蕎麦屋さんに行かない方々と会社の近所のお店へ。

相変わらず凄いお蕎麦なのですよ?

OpenGLEAN

メモメモ: http://openglean.sourceforge.net/

今すぐはアレだけどそのうち試しておこう

木曜日, 2月 22, 2007

GLUI on FreeGLUT

昨日謎プログラムを書いていて 、GLUIの細かい仕様を確認しようとglui.hの中を見ていたら
#if defined(GLUI_FREEGLUT) // FreeGLUT does not yet work perfectly with GLUI // - use at your own risk. #include <GL/freeglut.h> #elif defined(GLUI_OPENGLUT) // OpenGLUT does not yet work properly with GLUI // - use at your own risk. #include <GL/openglut.h> …起動時の挙動が変だったりするのはその所為かなぁ。

仕方ないので、地雷原の中を進んで行くことにしました orz

火曜日, 2月 20, 2007

SynergyKM

以前も書きましたが、 ねこさんは仕事にSynergyを使っています。Windowsは公式のバイナリを入れましたが、Mac OSXにはFink古いPackageを入れて使ってました。
でもいちいちコンソールを使うのが微妙…な気分になってきたので、も少しOSXっぽいインターフェースはないものかと、いくつか物色してみてこれを使ってみることにしました。
ただ、ねこさんのメインの仕事環境はDebian(sarge)だったりして、Synergyのバージョンが1.2.2とちょっと古かったりします※1SynergyKMの最新版(Version 1.0 Beta 6)のベース※2は1.3.0だったりして※3、そのままでは互いに接続して使うことが出来ません。本来synergysの方のバージョンを上げるべきなのでしょうが、ねこさんはぐうたらなのでDebianにパッケージ以外を入れたがりません。SynergyKMの古いバージョンは公式サイトを見る限りはリンクがないようです。

…が、適当にURLを叩いてみると…なんとか落とせますよ?

取り敢えずこのまま使ってみようと思います。

※1: 最新は1.3.1
※2: SynergyKMはSynergyのGUIラッパー
※3: 1.2.xとはプロトコルの互換性がない

日曜日, 2月 18, 2007

ログ取得

ようやくぐだぐだと書き続けられるようになってきたねこさんですが、シャイな質なもんで誰も見に来ないように何処にも記載・更新を通知しておりません。
それでも何か気になるのでちょっとアクセスログでも見てみようかと思ったら…ぐうたらなねこさんもびっくりな事にアカウントのアクセスログを残す設定をしてません。

慌てて設定致しました…さてrobot以外に誰かいるのでしょうか?

近所のラーメン屋さん

ねこさんが今住んでいる所に流れついてもうそろそろ7年になろうとしていますが、いちばん近所にあるラーメン屋さんには行ったことがありませんでした。
酒屋さんも一緒にやってる変なお店で見るからにだいぶ以前からやってるお店のようなたたずまいです。
恐くていままで近付きませんでしたが、いつにも増してぐうたら気味なねこさんは空腹に負けてとうとう行ってしまいました。

多分もう行きません…ごめんなさいおやじさん

土曜日, 2月 17, 2007

今日のごはん

お昼は近所のパン屋さんでカツサンドと紅茶。
夕ごはんはどうしよう…と思いながら棚や冷蔵庫を覗いて…賞味期限がアレな保存食や体調壊した時に買い込んだ物ががちらほら。
とりあえず片っ端からやっつけることでおわりということにしました。

金曜日, 2月 16, 2007

出雲そば

今日は夕ごはんに、行ったことのないおそばやさんを新規開拓してきました。 出雲そばというのも初めてだったのですが、とりあえず普通に割子そばの定食を。 黒い蕎麦殻がたくさん含んだおそばで、香りもよくとても腰のあるそばでした。お値段も比較的リーズナブルだと思います。 カウンター式のお店の構えで、客席から厨房が丸見えです。おかげで丁寧な仕事ぷりを堪能することも出来ます。 駐車場がちょっと判りにくいので注意してください。

木曜日, 2月 15, 2007

ようやく落ち着きました

「今年こそは継続して日記を書くぞ!」とぐうたらなねこさんらしからぬことを考えていたにもかかわらず、先月すぐに体調を壊して全然こなせていなかったのですが、暇を見てちょっとづつ思い出せることを書き足して、もう大体充足したかなぁ…という感じになりました。

これからもしばらくはぐうたらしつつ認め続けたいと思います。

水曜日, 2月 14, 2007

C++でプロパティ

昨日の続き…&某MLから

演算子オーバーロードって手もあるよなぁ…なんて考えてましたが、こんなこと考える人がいましたよ?なんてグッドタイミング!

オーバーヘッドが問題になるような粒度が低い数値計算系アクセサだとアレだけど、とっても便利そう!
早速パクろうかな?

追記: こんなのもあるそうですよ

火曜日, 2月 13, 2007

無名構造体

例の参照元コードから。

名無しの構造体はCでは立派に合法でANSI C++でも合法なはずですが、g++-3.4.2 で -pedantic オプション付けてコンパイルすると「ISO C++では違法」なエラーが帰ってきてしまいます。

…どうしようかな?

porting to Linux

ここのところ書いてる謎プログラムはなるべくシステム依存なしに書くように心がけているので(そのためにg++&GLUT使ってるので)、周りの人には「(MinGWで書いてるけど)たぶんLinuxでもそのまま動きますよ」と嘯いてましたが、書きかけのコードを試しにLinux上でコンパイル…そのまま動いてる事に書いてる本人がビックリしてますよ? (^^;;

日曜日, 2月 11, 2007

チーズをたらふく

お昼は近所のパン屋のランチメニュー…とか考えてたら、冷蔵庫の中からいつぞやに買ったカチョカバロ(チーズ)の塊が…
しかもちょっと点々と緑ぽかったり薄茶っぽかったり白いもやもやが(怖

どうしようかとしばし凍り付きましたが根が貧乏性なので、ナイフでヤバそうな所を切り落として薄くスライスして、めっちゃ高熱に熱したフライパンに放りこみ、両面焦げ目を付けて食べまくり。

…なんだかんだいって美味しかったです(笑
チーズだけで腹を膨らましたの初めてかも

土曜日, 2月 10, 2007

お買い物

日本橋へお買い物。
散々悩んだ挙句、11nはあきらめて子機付の11a or 11b+g排他な無線LANルータ(ルータは要らないけど)を買った。11nはリリースされてないし、11n導入後も11aなアクセスポイントを(保険として)残したかったので。
後は5in3ベイに3.5in HDD x 4 積めるマウンタと小物いろいろ。
Tower RecordでCD。

帰りになんなんタウンに最近出来たタイ料理のファーストフード店の 「挽肉とホーリーバジルの炒め物と目玉焼きのせご飯セット」で夕食。

金曜日, 2月 09, 2007

MinGW覚え書き

MinGWを仕事として再び触る日々が続くとは思っていなかったのですが、いろいろ調べたり触ってわかった事をちょっとだけメモ。
  1. 追加で野良ビルドライブラリやインクルードファイルを入れるのは\$HOME以下か/mingw/{include,lib}以下に直接入れてしまうかにした方がよさげ。
  2. MsysDTKは今まで使った事なかった(その必要を感じなかった)けど良いものが結構入っている。特にssh関連(scpとか)は素晴らしい。積極的に入れるべし。
  3. いろいろしている人達もいる。
  4. 探すとRubyとかGaucheとかもありな様子とか。
気分的にはもうCygwin要らない気が。出来ないことは割り切った方がいいかも。
あと、よくよく見るとFreeTypeのmingwPORTがあった…こっちを入れるべきですね。野良ビルドで動いてるからもういいけど。

FTGL on MinGW

積み残していたFTGLですが、ふつーにconfigureを動かしても--with-gl-libで指定しても、ライブラリ名を変更してみてもconfigureがGLのライブラリを見付けてくれない。でAutoconfに潜ろうかと思うも、根がぐうたらなねこさんなのでいにしえの小手先テクに逃げてしまおうと
g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTBitmapGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTCharmap.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTContour.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTExtrdGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTFace.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLBitmapFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLExtrdFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLOutlineFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLPixmapFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLPolygonFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGLTextureFont.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTGlyphContainer.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTLibrary.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTOutlineGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTPixmapGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTPoint.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTPolyGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTSize.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTTextureGlyph.cpp g++ -I..\include -Ic:\mingw\local\include -Ic:\mingw\local\include\freetype2 -O3 -c FTVectoriser.cpp ar -r libftgl.a *.o ranlib libftgl.a ってバッチファイルを作成して(もちろんぐうたらなので手で書いたりはしません)実行。
nekosan> g++ -mwindows -DFREEGLUT_STATIC -I..\include -I\mingw\local\include -I\mingw\local\include\freetype2 -O3 -o FTGLDemo.exe FTGLDemo.cpp tb.c trackball.c -L\mingw\local\lib -L..\src -lftgl -lfreetype -lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32 てな感じで動作確認、そうそうXPで動かすときはフォントパスを
#define FONT_FILE "C:\\WINDOWS\\Fonts\\arial.ttf" 変更するのを忘れずに。

木曜日, 2月 08, 2007

未読読了

先月、体調を壊してから物凄い勢いで溜ってしまったGoogle Readerの未読がようやっと片付きました。
こういうのは「読まない」判断を素早く行うのがミソなのだとは思うのですが、それが苦手でしかたないのです。

お話

今日、社長のお話がありました。
差し支えのない範囲でまとめると、
  • もうちょっとだけしばらくはつぶれない。
  • おまいらもちゃんと仕事せい!
…夢と希望に溢れたお話ありがとうございました orz

いろいろコンパイル

以前も使ってみて便利な反面、仕様がいろいろアレなGLUIをMinGW用にコンパイル。正月に久々にちょっと触ってみていろいろと拡張・ソース修正がなされてて大分よくなってた気がしたし、イベント待ちループがCPU Load 100%で空回りし続ける基本仕様が修正されただけでも使う気倍増です(笑。コンパイル自体は修正なしにいける。問題は今回FreeGLUTでスタティックリンクして使うので、Makefileを
LIBGL = -lglu32 -lopengl32 LIBS = -lwinmm -lgdi32 -lm LIBGLUT = -lglut32 CPPFLAGS += -DGLUI_FREEGLUT -DFREEGLUT_STATIC こんな感じに修正してできた。

次はboostここを見ながらインストール。prefixディレクトリは
nekosan> bjam -sTOOLS=mingw --prefix=c:\mingw\local installこんな感じで指定。確かMsysからコンパイルしようとしてハマった記憶があるのでCMD.exeからコンパイル。その際に環境変数PATHに"C:\mingw\bin;C:\mingw\mingw32\bin"とかコンパイラ・リンカのパスを付加するのを忘れずに (^^;;

んでFreeType。2.1.10でないとだめなんかとか思ったけどなんとなく2.3.1でもよさげ。configure --prefix=/mingw/local ; make ; make install でいけた。コンパイルするカレントディレクトリパスに空白があるとダメなもよう。

最後にFTGL…はだめだ、明日にしよう orz

水曜日, 2月 07, 2007

とれねこ

富山ライトレールのマスコット

にゃーですよ?
にゃー

もろもろ

NotePCのJIS配列がやっぱり慣れないので、SynergyをインストールしてデスクトップのASCII配列キーボードから使えるようにする。

後はMeadowの".emacs"の後ろに"(cd "~/")"付け足したりとか、インデントにTAB入れないように

;;タブではなくスペースを使う
(setq-default indent-tabs-mode nil)
;;(setq indent-line-function 'indent-relative-maybe)
とか、XKeymacsでIME制御するようにしたりとか。

火曜日, 2月 06, 2007

UTF-8 on Meadow

昔勝手にMeadowをインストールしてたのを思い出して使ってみたものの、Mule-UCSが入ってなかったらしくてUTF-8なソースが編集できなかった…orz なのでここを見ながらインストール。
setup-ja.exeからMule-UCSをnetinstallして、".emacs"に
(require 'un-define) (require 'jisx0213) (set-language-environment "Japanese") を付け足すだけ。

ついでにC++-mode用に
;; c++-modeの設定 (add-hook 'c++-mode-hook '(lambda() (c-set-style "stroustrup") (c-set-offset 'innamespace 0) ))も付け足しときました。

windres

ここ見ながら初めてwindresを使ってアイコン属性を付加してみるテスト。

GLUT_ICON ICON glut.ico
みたいなリソースファイルを作成して、

nekosan> windres -i glut.rc -o glut.o
でオブジェクトファイル"glut.o"を作成して、実行形式ファイルをリンクする時に一緒にリンクするだけ。

MIT MathML Fonts

会社の(自分のというわけではありませんが)NotePCの使用頻度が高くなっていますので、ここにも勝手ではありますがここを見てMIT MathML Fontsを入れさせて頂きました(どうせ自分しか管理してないし(^^;)

月曜日, 2月 05, 2007

FreeGLUT on MinGW

謎プログラムを会社のNotePCでコンパイルできるようにGLUTのライブラリを用意しようと考えて、「どうせだからglut32.dllなしで動くようにスタティックライブラリを作ろう!」なんてぐうたららしかなぬ事を考えてみたり。

ここを見てここからソースをダウンロードしてコンパイル…「ctrdbg.hが無いよ」と怒られつつも華麗にコメントアウトしてスルー(^^;;;
なんとなくコンパイルできて「ヤター」とか思いながら簡単なテストコンパイルもパス…これは調子がいいとか思いながら謎ソースをコンパイルして実行…なんだかTimer callbackが1回しか呼ばれない?…いや違う、最初の1回以外は1000msec以上の間隔を置かないとcallされない不具合が… orz

なんかもうGLUTはやめてFreeGLUTに宗旨変えしようとここを見ながらコンパイル…。

無事に動作成功 (^^v

…よかったよかった

GNU Make拡張機能

今までGNU Makeの拡張機能を使ったことがなかったのは、NMakeとかとの互換性を気にして…とかいう事はまったくなくて、単にねこさんがぐうたらなだけなのですが、MinGWとかのとソースの互換性を考えるとやっぱり使いたかったわけで、ここいらへんとか見て

ifdef COMSPEC # ごろごろ else
# うにゃうにゃ endif
ちょっと幸せになった気がしました。

土曜日, 2月 03, 2007

買い物

最近PCのSuper Multiドライブの調子が悪くてDVD-RWのフォーマットが出来ずに困っていたので新しいものを買うことに。今回はちょっと遊べる物をといろいろ悩んだにもかかわらず衝動的にASUSDRW-1814BLTを買ってみますた。ついでに電源周りやSerial ATAのケーブル何種類かも。

ついでにTower RecordでCD(&SACD)を何枚か。

金曜日, 2月 02, 2007

真空管アンプ試聴会

夕方から会社のNさんが組み立てた真空管アンプキットの試聴会がありました。
ねこさんはPS3(SACDプレーヤ?)とCDを持って参加。

楽しかった〜♪
またやりたいですぅ〜…今度は会社の可変残響室で(笑

モニタ開封

しばらく放置かなぁ…とか思っていたモニタですが、貧乏なねこさんには高額な買いものを放置するのもまずい…とか思い直して慌てて開封。
今まで古いNotePCからRemote Desktopで操作してましたが、これで直接操作することが出来ます!…自慢するようなことじゃないけど orz

問題はデスクトップPCを全然直接触らなくなっていたので、PC周辺が既に魔境と化していて、作業できる状況にないという事 orz

ぐうたらしてないでちゃんと掃除せい!…という事で orz

木曜日, 2月 01, 2007

そうそう

今日はねこさんの誕生日でしたよ?

誰か祝って下さい orz

PLAYSTATION@Networkにログイン

また続き
教わったポート番号のパケットが上手く通るようにルータiptablesを設定。
…無事ログインできました。
いろいろファイルをダウンロード(笑

よく調べるとオンラインマニュアルに書いてありますね。
ぐうたらしてるねこさんが悪かったということで。