2010-01-01から1年間の記事一覧

Twitter のユーザ名は正しくエンコードされていない

Twitterのプロファイルで my&lt;br&gt;name と入力すると、ホーム画面では my<br>name と表示される。 正しくエンコードされているなら、ホーム画面でも my&lt;br&gt;name と表示されるはず。 どうも < と > は無条件に削除しているらしく、プロファイルに my<br>nam…

アレイ人間とマップ人間

他人や自分を観察していると、人は記憶方法によって2種類に大別できる気がしています。仮に、アレイ人間とマップ人間と名付けました。 アレイ人は、決められた順に確実にタスクをこなせるという特技を持つ人たちです。アレイ人間は、ある作業があるとき、一…

Subversion リポジトリの構成(完成版)

最近、リポジトリを作るときは必ずこうしている。 product├─dev│ ├─branches│ ├─tags│ └─trunk (svn:externals で /pub と /res をインポートする)│ ├─doc│ ├─libs│ └─src│ ├─project1│ └─project2├─pub│ ├─20091012│ └─20100821└─res ポイントは3つ。 バ…

Subversion リポジトリの構造を再構成する方法

Subversion リポジトリに誤った操作をしてしまったり、ディレクトリ構造を「過去から再構成」するには、次のようにする。 svnadmin create myrepo2 cd myrepo2 svn mkdir pub svn mkdir res svn mkdir dev svn mkdir dev\tags svn mkdir dev\trunk svn mkdir…

WPFのData Bindingとレイアウトの関係が分からん

とりあえず今やりたいことは、データの変更に伴って位置を移動する必要のあるUI要素を再レイアウトすること。UI要素の位置プロパティはデータバインディングしてあるが、データ(ランキング順位)と位置プロパティ(上からのY座標)を変換するためにConverte…

SYSTEM_INFO.dwNumberOfProcessors に注意

コンピュータの物理CPUの数 で、dwNumberOfProcessors が物理コア数だ、と書いたけど、どうやら間違いらしい。現在ではMSDNの記述自体が書き換えられている。 dwNumberOfProcessors The number of logical processors in the current group. To retrieve thi…

WinDbgのスレッドが謎

WinDbgをsos拡張入れて !threads するとこんな出力が出る。0:006> !threadsThreadCount: 319UnstartedThread: 0BackgroundThread: 10PendingThread: 0DeadThread: 4Hosted Runtime: noこのうち、DeadThreadが謎すぎる。続く詳細情報の、XXXX 4 0 000000001bd…

ソースコードでのクラスの記述順序

ひとつのクラスのコードを記述するときに、プロパティやメソッドなどの順序をどう決めているだろうか。 昔、C/C++を使っていた頃は、コンパイラが「ソースコードのそれまでに出現した行から定義を探す」のでその制約から順序を決めていた。このときは #inclu…

Windows 7 での滑らかなアニメーションの実現 (3)

前回のエントリで、DWMにはアプリのフレームをバッファリングする機能があり、これを使うことでモニタリフレッシュレートと同期した完全なアニメーションが実現できそうだという感触を得ることができた。 これには、前回リンクした記事より、下記のAPIが関係…

Windows 7 での滑らかなアニメーションの実現 (2)

前回のエントリで英語の記事が見つかったため、改めて英語ベースで調査を掛けてみた。(垂直同期とか滑らかなアニメーションという概念の英語表現が良く分かんなかったので、、、) smooth fraction fluctuation animation tearing monitor refresh frame re…

Windows 7 での滑らかなアニメーションの実現 (1)

# だんだんULWが関係なくなってきたので、タイトルを変更した。 こんなポストを見つけた。やっぱり困ってる人がいたらしい。 Smooth Animation Seems Impossible in WPF:http://social.msdn.microsoft.com/Forums/en/wpf/thread/03e5cc96-c8bf-436e-87f3-185…

コンピュータの物理CPUの数

アプリの一部でソフトリアルタイムな処理を行うとき、コンピュータに搭載されたCPUの数は非常に重要だ。なぜなら、リアルタイム処理用にCPUを一つ専有してしまうだけで、かなりの性能改善が見込めるから。もちろんそれでリアルタイム制約を満たせることの保…

BASE32デコード

BASE32 (cf. http://en.wikipedia.org/wiki/Base32) という謎エンコードの文字列をデコードする必要があったけど、ネットで探しても変に複雑なコードしかなかったので、自分で書きました。public static class Base32 { /// base32hexエンコーディングのBASE…

Windows 7 におけるULWの挙動 (3)

これまでの実験で、問題の原因はアプリ描画とDWM画面更新の同期問題ではないかという結論に至った(半分くらいは勘)。 Layered Window Accelerated by Direct2D そうして “windows 7 vsync” やら “dwm anti-tearing” やら “dwm framerate” で調べたら、今回…

Windows 7 におけるULWの挙動 (2)

DWMでもなく、タイマーでもない。原因になる得るものがなく、困ってしまった。 Direct2Dによる高速描画の試行 ということで、とりあえず原因究明はあきらめ、 「人事を尽くす」方向でアプローチすることにした。Windows Vista/7からはGDIはレガシーであり、…

Windows 7 におけるULWの挙動 (1)

ULW (UpdateLayeredWindow)を利用したソフトを開発しています。そのソフトではイメージを毎フレーム書き換えてアニメーションするんだけど、Windows Vista 32bit から Windows 7 64bit に乗り換えたときにソフトウェアの挙動が変わった。 どう変わったかとい…

テスト投稿

ためしにWindows Live Writerから投稿してみる。