/ 最近 .rdf 追記 設定 本棚

脳log[2011-05-09~]



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を効率的なスタンプにする方向かも。


2011年04月20日 (水)

最終更新: 2011-04-21T03:20+0900

[SakuraEditor] Regarding: Request/359(CSV編集モード) - SakuraEditorWiki

TSVだったら、タブ幅が可変になればよさそう。列ごとにフィールドの最大幅より1文字分だけ右側にタブストップがくるようにすると表形式に整列される。ファイルを最後の行まで読んで調べないとレイアウトを決定できなくなるのがデメリット。レイアウト↔論理座標変換も工夫しないと遅くなる。この変換は検索などでやたら無駄に呼び出されるから速度低下は増幅される。CSVなら、カンマの幅を半角文字○個分扱いするのかな。一文字編集するたびに画面全体の再描画が発生するケースもあるけど気にならない程度? 列を指定してソートできる秀丸さんかっこいい。タブストップを自由に設定できるというから、タブストップの位置を配列で持ってんのかな。タブ幅だけを覚えておいてその倍数がタブストップ、という現状にくらべると記憶領域も検索コストも必要になるけど、せいぜい人間が管理できる程度の数にしかならないだろうし。桁位置(64bits)×タブストップの数(10000)=80KBで十分過ぎるくらいか。


2011年04月19日 (火)

最終更新: 2011-07-30T13:35+0900

[] 言葉の選び方が合わない

難癖をつけようとてぐすねを引いてるわけじゃないのに、1ページ目、2ページ目、3ページ目と下のようにつまずいてばかりでさっぱり話が進まない。

百人の町がありました。

町の人は、十人が大悪人で、三十人が善人のふりをした極悪人で、五十七人が自分のことを善人だと思い込んだ悪人で、三人が善人です。

善人の一人は、(省略)

もう一人の善人は、(省略)

最後の一人の善人は、最初から何もしませんでした。前の二人が失敗したのを見ていて、何をしても駄目なのだと思いました。彼は家の中に閉じこもって、人の声を聞かず、人の目から逃れて、ただただ町の未来を儚みました。

(省略)

悪行や善行はあっても、「悪人」や「善人」はどうだろう。悪行ばかりを行う人を悪人と呼んでみても、「善人のふりをした極悪人」や「自分のことを善人だと思い込んだ悪人」は何をもって悪人とされているのだろう。「最初から何もしませんでした」という「善人」を善人たらしめているものは何?ここで区別されているような種類の人間が存在しうる?ただの言葉遊びでなくディテールをもって。

1

エレベーターを出ると床がなかった。

遙か八百メートル足下の遠い区街は、しかし一立方センチメートル辺り指の数ほどの煤煙もカビ胞子もない大気を透してシャープネスを施され、異様なリアルさで陽平の眼底に不躾に飛び込んでくる。そこに住み暮らす六万五千の人間男性と八万超の人間以外の人いきれが服に髪に染みついてくるようにすら思えた。

「シャープネスを施」す。何が言いたいのかはわかる。「シャープネス」は画像のエッヂを強調してノイズを増すフィルタのことなんだろう。でも sharpnessは特定の価値方向性を持たない中立の単語だと思ってるので、結果がどちらに倒れるのか推測はできても理解したくない。

「リアル」。微粒子をほとんど含まず、建物の輪郭が強調されたようにはっきり見える澄んだ空気。この描写は「住み暮らす六万五千の人間男性と八万超の人間以外の人いきれが服に髪に染みついてくる」ようなリアルとは対立するように感じる。大気の存在を感じさせない景色は CGのような作り物臭さを喚起しそうだ。

口の端から頬にかけて指でなぞるような仕草をしてみせると、後輩は青ざめた顔を押さえていた手でようやく防臭マスクを顔にかけた。臭いだけでこの様では、もし遺体が収容済みでなかったら、この若者は入室早々に床を汚していただろう。

特定の場所を指示せず、たんに収容するというとき、自分は内へ取り込む動作をイメージする。だもんで、遺体が収容されている「から」悪臭+グロ映像のコンボを避けられて吐かずに済んだ、という部分で接続が順逆ひっくりかえってるような混乱を覚えた(その場所に収容されているからこそコンボを食らうんじゃないの?)。「収容」という一語のみを手がかりに何を言ってるんだと思われるかもしれないが、ここは話の冒頭なので二人のいる場所がモルグだという可能性だって残しながら状況の把握につとめていたわけだ。