/ 最近 .rdf 追記 設定 本棚

脳log[2011-05-14~]



2011年05月14日 (土) PCSX2 0.9.8 速くなってるし、フルスクリーンとウィンドウの切り替えもプラグインセッティングの変更もゲームを終了せずに行える。以前はタイトルで止まっていたミンサガも普通にプレイできる。ラストダンジョン直前で飽きてしまっていたが倍速プレイで三度目の正直を狙っている。たぶん適当なところでクリアしてしまって二人目を始めるべきなんだろうな。### ミンサガはそれまでのサガの要素を寄せて集めて高度に練り上げて遊びやすい一つのゲームに仕上げてある。どこをとってもサガだし、深さがあるけど間口も広いシステムデザインは間違いなく anti-アンサガで、それもやっぱりサガの一部だ。雑魚敵であっさり全滅する難易度も嬉しい(もちろんクイックセーブがあるからこそ)。足が短いなりに(つまりヒトの走り方のコピーではないわけだが)全身を左右に振って走るちびキャラがかわいい。目は大きすぎるかも。皆口さんの声聞きたさにクローディアはレギュラーメンバー確定。


2011年05月13日 (金) XTスプロケット到着。このシャラシャラしたシルバーの歯車が油と泥で真っ黒になるんだなあ。最近の BAD BOYは黒塗りの(塗り?)スプロケが付いてるみたいだけど、俺のはシルバーだったことがわからないほど黒い。今度は少しでも削れないように汚れを落とすことにしよう(年に一回くらい)。


2011年05月09日 (月) 原文を見なくてもわかる日本語訳のミス。>「グーグル社員の間でも、黄の社員証の階級はほとんど知られていない。彼らのビルは3.1459~という棟で、

最終更新: 2011-05-10T18:49+0900

[SakuraEditor] Re: 正規表現による複数行検索対応(簡易版)

 GetCountOfDividedStringW()はいけてない。

どういう関数?>「改行のエスケープシーケンス('\\'+'n')で区切られる文字列の個数を数える(WCHAR版)」

使われ方>「複数行指定方法の改善(正規表現パターンの行数とダイアログ設定値の大きい方を採用する)」

  • \rに対応していない。
  • LFの直書きに対応していない。(CRの貼り付けはできなかったのでとりあえず LFだけ)
  • 量指定子に対応していない。
  • \x0D\x00\x0A\x00や \x{0D}\x{0A}に対応していない。
  • [\s\S] や \s, [\w\W] や \W, . (sフラグONのドット)に対応していない。

これだけ対応していないなら「正規表現による」というより、\nというエスケープシーケンスにだけ対応した普通の検索といったほうが当たってる。正規表現ライブラリに今以上の機能(hitEnd)を求めないのなら、これが最大限度の対応なのかもしれないが……。GetCountOfDividedStringWには期待せず、ダイアログで 100とか設定しておけば大体はうまくいくのかもしれない。

 CMultiLineSearch::GetCompensationLengthには脱帽。

どういう関数?>「0文字マッチや改行文字の途中を考慮した置換文字数の補正値を取得する」

なぜ必要?>ドキュメントの操作がビュー経由でしか行えないため、ロジック単位で行った検索をレイアウト単位に変換してから置換を実行しなければいけない。置換関数の中ではレイアウト単位をロジック単位に変換して……といったことがもちろん行われるわけで……ムキー、ってなことを 20100907p01.03に書いた。

とりあえずロジック単位で置換範囲を指定できる置換関数をどこかに作ろうとして、20100709p01の複数行置換の実装は止まっている。CMultiLineSearch::GetCompensationLengthを使うアプローチはこれまでのやり方を踏襲するもので、置換範囲と置換文字列をレイアウト単位境界にそろえてから置換関数を呼び出す。計画倒れよりできあがってる方が偉い。


2011年05月06日 (金) google. タブインデックスが変更されてる。以前は 1.入力欄 2.検索結果リスト 3.サイドメニュー 4.次ページリンクだったのが 1.入力欄 2.サイドメニュー 3.検索結果リスト 4.次ページリンクになってる。検索結果の優先順位が下がってるけどフォーカスが上下に飛ばないことの方が嬉しい。前から何度も何度も(ブラウザに対して)書いてるけど、目でページを読んでる人間のフォーカスがどこにあるかを考えたら、画面外にフォーカスを飛ばすなんてありえない。


2011年05月02日 (月) [Vista] タスクスイッチ。いつのまにか Alt+Tab、→(←)で行うようになってた。たまに AeroGlassが無効になってると矢印で(マウスでも)ウィンドウを選べなくて戸惑う。


2011年05月01日 (日) スプロケを取り替える代わりに新しいのを新しいのに……

最終更新: 2011-05-12T14:37+0900

[BAD BOY] リアホイール

今は後ろだけシマノの完組ホイールが付いてる。

フレームのリアエンド幅が MTBの 135mm. 最初から付いてたタイヤのリムのサイズがロードの 700C. ロード向け完組ホイールのハブは 130mm幅にしか対応してないし、MTB向け完組ホイールの小径・幅広リムはいただけない。タイヤ径が変わると Vブレーキの取り付け位置も変わってくる。2万円と少しで工具を買って MTBハブとロードリムの組み合わせで手組みするのが割と現実的な選択肢。手組みは入り組んだスポークが見た目にうるさいのが唯一の不満。変則組みで解消できるけど自分では安全と耐久性を担保できないし……。

結局、日和って組んでもらうことにした。XTハブ+CXP33+DT Champion 2.0+真鍮ニップルといったありきたりな構成。選択肢がもともと少ない上に、駆動力のかかる(Vブレーキだけど制動力も)リアホイールなので 1.8mm径のスポークやアルミニップルは選べなかった(小心者)。スポークは DT Competition 2.0/1.8の方が良かった。スポークが切れるのは端っこ(後輪だと特にテンションの低い左側)だというから真ん中は 1.8mmでも大丈夫そう。OpenProリムのセラミック加工がブレーキ面の色的にベストだし、CXP33より軽いんだけど、ブレーキシューの変更が必要になるのとブレーキの効きや音がどうかわるかわからないので避けた。雨でもシューが減らないらしいのもポイントは高いのだが……。CXP33の三角リムが前輪とおそろいだというのが CXP33を選んだ一番の理由。二番目は OpenProは手組みの定番中の定番だということに対する幼稚な抵抗。


今のタイヤがダメになったらひとつ細い 25Cのタイヤにして更なる慣性質量の減少を目指す(転がり抵抗もおまけで)。まち乗りだと信号とパチ屋の出入りの車によるストップ&ゴーが多すぎるからこぎ出しの軽さが重要。


 @2011-05-06

DT Champion 2.0 黒が欠品とのことで DT Competition 2.0/1.8 黒で組んでもらうことになった。しかし余分なお金が……。


 @2011-05-12

DT Competition 2.0/1.8 黒も欠品と判明。黒の真鍮ニップルもないみたいで結局 DT Champion 1.8 黒とアルミ黒ニップルになった。壊れなければ 1.8mmでもアルミでもいいんだけど……(耐久性は落ちるよね)。パーツの入手性が悪すぎる。9速のシフターだって、Deoreも SLXも XTも、どこも在庫してないし。

 後上方にすっとんでいくような力がハブに(そしてスポークに)かかるような気がした。ディスクブレーキだと駆動力と反対の力がまんべんなくかかるような。Vブレーキとスポークの関係はディスクブレーキの場合と比べてどう?


2011年04月29日 (金) チェーンリングは無事でありますように。

最終更新: 2012-09-03T17:57+0900

[BAD BOY] スプロケットが限界。

 症状と診断

負荷をかけると力が逃げてたたらを踏む。スプロケットのあたりを観察してると、チェーンがふくらんだように見えて、そしてガクっとくる。タイヤを空転させてるときは問題の徴候がないので、隣のギアに浮気しようとしてるのとは違うみたい。テンションがかかると歯と歯の間に収まるべきチェーンの駒が歯の上に乗っかってしまうんだろう。伸びたチェーンを使い続けたせいでスプロケットがそちらに最適化されてしまったとでもいおうか、一昨日チェーンを新品にしたせいで症状が出たと思われる。

症状が出るのはリア 1-8速のうち 3-6速。難を逃れたギアに理由をみつけるなら、1速は全く使わないから。2速は発進後 1から数秒で 3速に上げてしまうからと、径が大きく多くの歯に負荷を分散できるから。8速はオーバートップギアなのでよっぽど舗装が良く平坦な道路でないと使えない稀なギアだから。7速は事実上のトップギアなので加速のために使うことがほとんどないから。

チェーンを CN-HG50に換えても変わらなかったので、9速用のチェーンのせいではなかった。

ゴールデンウィーク明けまで直せないのが痛い。なんでそろいもそろって休むんだよー。


2011年04月28日 (木) [BAD BOY] チェーンを8速対応のに戻そうかな。シフターとスプロケットを 9速化しようかな。今や Alivioも 9速だしな。シマノが Dyna-Sysといって MTB向けの 10速を出したけど、手持ちのリアディレイラーが対応してないのと、大径のドリブンギアが増えても重いだけで使わないので不採用。9速のコンポーネントが入手しづらくなったら困るなあ。


2011年04月27日 (水) OUがウだったり Iがアだったりするとフランス語(あるいはそれに由来する)かなと思う。ジュルナリステン、カムフラージュ、ランデブー、ブルボン、シルエット、ブティック、ブーケ、グルメ、リュパン、ショパン、フォション、ショコラ、シャトー、ロシニョール、カンパニョーロ、……

最終更新: 2011-04-28T00:00+0900

[BAD BOY] チェーンを交換した。

チェーンは CN-HG73。

標準のチェーンは 110リンク。アウター×トップの組み合わせでガイドプーリーとテンションプーリーが垂直線上に並んだので CN-HG73も 110リンクにカット。アウター×ローでリアディレイラーがかわいそうなほど引っぱられてるがローは使わないので良しとする。

接続部(チェーンカッターでコネクトピンを押し込んだところ)の動きが渋すぎる。山を作ったらテンショナーのバネの力では戻らない。そのせいだと思うが、リアの 3-8速(径の小さいギア)でカタン、カタンとチェーンが滑るような現象が起きる。後輪に動力が伝わらないよ。いつになったら全力でこげる。

最終更新: 2011-04-28T01:14+0900

よくない書き方。

5. COM オブジェクトのインスタンス作成

COM の初期化が済んだので、次には COM オブジェクトのインスタンスを作成する方法について確認しましょう。既に触れたように、今回のサンプルでは [6] の CoCreateInstance 関数を呼び出すことで、COM ベースのオブジェクトである Shell Link オブジェクトのインスタンスを作成しています。この [6] の Shell Link オブジェクトの作成の様子を、あえて C++ プログラミング スタイルで表現すると次のようになります (実際にはこのように書けません)。仮にクラス名を CShellLink とします。

例 1.5 インスタンスを作成し、特定のポインターで参照する

  IShellLink* pShellLink = (IShellLink*) new CShellLink();

間違ったコードを書いて拡散させてはいけない。正しいコードを書いて導くこと。どうしても間違いを紹介する必要があるときは、コードそれ自体に間違っていることを主張させる。たとえばこの場合は

IShellLink* pShellLink = (IShellLink*) new CShellLink(); // 間違い!

とでもする。記憶も不確かな受け売りだけどね。

参考までにこのコード片を読んだ俺の反応。

  1. えっ、COMオブジェクトって newで作成できんの。聞いたことないで。えっ?ええっ?
  2. さっきのサンプルコードにこんな部分あったっけ。あったならできるかもしれんな。
  3. ない。どう考えてもおかしい。……とここですぐ上に「実際にはこのように書けません」という一文があることに気付く。

頭から順に読んできたけど、問題のコードのすぐ上のパラグラフはまだ読んでなかった。サンプルコードは目をひくし、図や表と同じように何が書いてあるかをざっと掴む手がかりにもなる。ところがとんだトラップだ。


今月号のクーリエジャポンは福島の放射能汚染に関して風評被害がどうのといって白雪姫の風刺画を紹介してた。存在は知ってたがどういうものかをそこで初めて見た。文脈がどうであれ自分が拡散に荷担してる自覚はある? Webなんかでも消えて欲しいと思うものに対して、引用して欠点をあげつらったり批判を加えたり、あげくご丁寧にリンクまではるのは逆効果。無視して埋もれて消えるに任せるのが一番。


2011年04月26日 (火) 鬼畜。キティさんお仕事は選んで><


2011年04月25日 (月)

最終更新: 2011-04-26T02:32+0900

[BAD BOY] チェーンが限界。

 症状

フロント・アウター✕リア・ロー(セカンド)の組み合わせで、チェーンが内側のチェーンリングに落ちる。もともと、チェーンが斜めに走るやや無理がある組み合わせなので仕方ない、メンテと調整不足のせいなんだと思ったが、Fディレイラーを外側に移動させたり、Rディレイラーを分解清掃してみたりしても直らない。変速自体は快調なのに、こぎ出しで力を加えるとチェーンが外れる。ペダルに負荷をかけてるときにチェーンが外れると足場を失ってバランスを崩すので危険。ふくらはぎをペダルに噛みつかれた。

 診断

タイヤを浮かせてペダルを手で回すとチェーンがチェーンリングから浮いてる!手で押さえたり負荷をかけて張らないと歯と歯の間にチェーンが収まらない。伸びすぎでしょ。

チェーンリングの前側でチェーンをつまみ上げると歯の先っちょが完全に見える。ふた山ぐらい見えるんじゃない?

 寿命

一年に一回とか数千キロで交換するとかいうレベルらしい。こぎ方やメンテ具合によりけりとはいっても。新車から数えて丸4年、15000kmだから時期的にも遅いぐらい。スプロケにダメージを与えてたおそれだってある。

 替えのチェーン

グレードの高いの(CN-HG91)はピカピカしてるので一つ下の黒っぽいの(CN-HG70)にしようと思ってる。9-speedの方(CN-HG73)が 6,7,8速対応品より 1割ほど軽いんだけど使えないものなんだろうか。そんなに幅が違う? 6速よりも 9速の方が近いのに。できるだけ楽がしたいのに。


豆知識: 7,8速はプレートを増やした分だけ横幅が増えた。9,10速は 8速と同じ横幅により多くのプレートを詰め込んだ、という経緯があるらし。8と 9、9と 10の間には(チェーン(やシフター)にとっては)断絶があるみたい。

そうはいっても、若干細くなったところでさしたる支障はないとも。変速時、チェーンが隣の歯の上に乗っかるときのキャパがコンマ数ミリ減るが、調整さえできてたら気にならないだろう。だったら 9-speed用の黒いのを。


コマ数はどうやって決めるのだろう。今のを数える? アウター✕ローやインナー✕トップでリアディレイラーがどういう状態だったら OK?


2011年04月24日 (日) [Vista] ごみ箱しかない Vistaの標準デスクトップ。唯一のアイコンはスタートメニューの中へ(リンク(≠ショートカット)みたいなのが作成される)。でもデスクトップが片付いてる時間は短かった。一区切り付いたら新しいフォルダにひとまとめにして片付けるけど。


2011年04月23日 (土) いまどき等幅フォントを前提にして全角/半角のマス目にスタンプを押すように文字を置いていくような処理もないだろうと思う。それもハイレベルな APIをスタンプ代わりにして。同じ ExtTextOutWを使うにしても ETO_GLYPH_INDEXを渡せば軽くなるんじゃないかと最初思ったが、単純にそうすると化ける。このフラグに関係する GetCharacterPlacementを調べたら「この関数は下位互換性のためにだけ存在し、Uniscribe モジュールの機能で置き換えることができます。」だもんな。今から手を付けるようなもんじゃない。かといって、Unicodeテキストを解析してフォントファイルから直に適切なグリフを選んで適切に配置して、というのもできる気がしない。DirectWriteの枠組みの中で表示をカスタムするのが自分の手を出せる範囲。あるいは最初に踏み出すべきは DirectWriteを効率的なスタンプにする方向かも。