/ 最近 .rdf 追記 設定 本棚

脳log[2011-04]



2011年04月01日 (金) 々。以前はできなかった気がしたが、今の ATOKだと「おどりじ」で変換できる。小学校の漢字ドリルにそう出てたからね。実際は小さい文字の入力に使う Lや Xと同じで、きぎ、ひび、ひとびと、ささき、たた、みたいに語の一部として変換するので使わないけど。


2011年04月02日 (土) MSI Global – Mainboard - 790FX-GD70」使用中の PCの M/Bのページ。サイトのリニューアルでドライバなんかの更新が見つけにくくなった。でも深刻なのはそれよりも前。画像のギャラリーと拡大機能が jQueryを使ったスクリプトとともに埋め込まれたこと。画像以外のメインコンテンツが下に押しやられたり、PageDown, PageUp, Home, Endといったページナビゲーションキーを乗っ取られるのは不便の一言で済むが、←, →, Home, Endキーを押し続けると簡単にブラウザ(Fx3.6, Fx4)が DoS状態になる。Logicoolのマウスユーティリティ SetPointの機能 UniversalScrollを使ってると一層効果的に Firefoxをハングさせられる。リークしてるのかメモリの使用量も増加の一途。これはブラクラだよ。とっととギャラリーのキーボードインターフェイスを捨てたほうがいい。それが原因だし、どうせ不便を生んでただけなので。結局、作成者側が誰も使ってないからこの Webページとしての致命的な欠陥に気付かないんでしょ。


2011年04月04日 (月) ショートボブの女の子って可愛いよな しまぱん」。保存したくなる画像が一枚もなくて新発見。ショートボブはそれだけで*ナシ*だということがわかった。たぶんこういった偏見に基づいてる。アクティブで自分を主張する空気を読まない。男友達のような気安さがないのはもちろん、女性に対して期待してしまう要素もない。手に負えない存在。/// 性格診断「ISTJ型:やらなければならないことはする」 たしかに義務感で動いてるし、こうと決めたこと決まったことに従うのが好きだ(納得できる理由がある限り)。ただ、スペックが低いので「おかれた立場によっては社交的に振舞う」ことはできないし、「級長やプロジェクトの責任者や地域社会のリーダーに祭り上げられること」もない。荷が重すぎる。質問の「この世には論理的なもの、科学的なものでは割り切れない物事があると信じている。」にはメタ質問の前振りなのかと勘ぐるほど違和感を覚えた。もので割り切れるものって何?すいかと棍棒?


2011年04月05日 (火) Firefox4. なくなったステータスバーの代わりにリンク先を表示する左下の領域。ウィンドウに対してスペースが余ってるのにほとんど全ての URLで真ん中が省略されてしまって使えない。なんで左半分しか使わない。飾りじゃないんだよ。


2011年04月06日 (水) zenback を入れてみた」一点にだけ注目していた。期待は裏切られなかった。コメントの後に ZENBACKが表示されるのがイイ。そうでないと、読もうと思ったコメントが遅延ロードされた ZENBACKに押しやられて逃げていってしまうから。追記@2011-04-07:「zenbackをツッコミ欄の後ろに表示させた一件 - kayakaya日記(2011-03-28)」 突如わいてきた(ように見えた)要望の目的は最初からそこにあったのね。スクリプトを埋め込むのに tDiary本体の修正が本当に必要?って思って、danなにがしさんの(コメントが逃げる)ブログを Firebugで覗いてみたりしてたのよ。この後者のエントリを発見したのが、前のエントリの関連リンク(powered by zenback)だってんだから有用性は疑いえないな。

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

[SakuraEditor] BugReport/70 - SakuraEditorWiki

まったく、CViewCommander::Command_REPLACE_ALL ってのは人類の理解の範囲を超えている。

  • 通常選択範囲を置換
  • 矩形選択範囲を置換
  • ファイル全体を置換
  • 対象範囲を行単位で置換
  • 対象範囲をひとつのマッチごとに置換
  • 正規表現ライブラリを使って置換
  • クリップボードのテキストに置換
  • クリップボードの矩形テキストに置換
  • 置換ではなく前に挿入する
  • 置換ではなく後ろに挿入する

これ、あえて異なる複数の分類を一括りのリストにしてるけど、実際のコードがそうなのだ。こんな処理が一つの関数の中に、変数を共有しながら―しかも型を偽って本来とは違う使い方が特定の処理ルートではなされていたりする―、一部の処理を共有しながら、インターリーブされてる。

BugReport70.patch (1.7KiB, 2011-04-07 02:50)

submit(<commit以前)はしない。怖すぎる。


「「すべて置換」は置換の繰返し」フラグが ONのときの対策がまだ。

コミットログも読まずに軽率な修正。>BugReport70.rev2.patch (2.7KiB, 2007-04-07 06:50)

これから読む。>「SourceForge.net Repository - [sakura-editor] Revision 1049」, 「SourceForge.net: Sakura Editor: Detail: 1636751 - 行置換のオプション化&問題修正

うむ。削除したコードがなぜあえて論理座標だったのかわからない。


 @2011-04-11 「// 行単位で置換するので colDifは常に 0。」

って書いて削除したコードがパッチにあるけど、一つの行が複数のレイアウト行に分割されてることがある。一行処理して次の行……と思ったらまだ折り返された同じ行にいた、とか。前にも別件で書いてるけど、折り返しと矩形選択(+文字一括挿入/+置換)は本当にひどい組み合わせ。結果を予測できるものにするためには選択範囲の末尾の行から処理をしないといけない。そうすると文字の削除や挿入による折り返し位置の変化が後の処理に影響を与えないので。でもそうはなってない。だから、結果を維持する労力を割く必要もない「未定義」の動作だと考えてしまう。


2011年04月07日 (木) この日記に書くコード片や各所へのパッチに対するスタンス。>NYSL Version 0.9982。面倒くさい義務や管理はナシ。プログラムやソースコードは自由で、個人や組織に独占されるのは面白くない(冒頭の copyrightは必要悪だと思うようになった。ソースに入り込んだ手垢のごとき名前付きコメントは見るのも書くのも嫌(でも名前だけに消しづらい)。ライセンスだって自由を担保するための必要悪だ)。という考えが自分の根底にある。まして、自分が書くのは独立したアプリケーションでなく欠片だけだから、何をか主張できようというもの。


2011年04月11日 (月)

最終更新: 2011-04-16T21:35+0900

[Ruby] 「HsbtDiary(2011-04-11) rubygems の taint と LOAD_PATH と $SAFE について

前にこうならんかな?って書いたのをもう一度。

require 'hoge'

したときに hoge.rbなり hoge.soなりが taintedな $LOAD_PATH要素に基づいて発見されたときは SecurityError。見つからなければ taintedな要素はスルー。という動作を Rubyに期待したい。今は taintedな $LOAD_PATH要素を無造作に File.expand_pathして SecurityErrorが起こるに任せているんではなかったか。


 @2011-04-16 Ruby 1.9.2p136と 1.8.7p330で挙動が違うのが SecurityErrorへの疑問を増す。

1.9.2では(確かめたわけではないけど)汚染されたパスの展開がセキュリティエラーにつながってるから、汚染されたパスが $LOAD_PATHの末尾にあった場合は $SAFE=1の状況下で require 'cgi'が成功する。require '存在しないファイル'はセキュリティエラー。汚染されたパスを基に展開を試行したかどうかが分かれ目。

1.8.7では $SAFE=1の状況下で汚染された文字列を引数にした File.expand_pathは 1.9.2と違い成功するものの、上のような場合でも require 'cgi'に失敗する。これは requireが内部的に File.expand_pathを呼び出し――これは 1.9.2とは違いセキュリティエラーを起こさないけれど 1.9.2同様汚染された文字列を返す――、その汚染された戻り値を使った require_internal(仮名)が 1.9.2とは違い $SAFE=1のときにセキュリティエラーを起こしてるのだと思う。挙動からの推測。

一貫性が欲しかったね。できれば実用的なものが。特定のディレクトリ(汚染された$LOAD_PATH要素)に特定の .rb, .soファイル(requireされたファイル)があるかないか判った(SecurityError or not)ところでどうだというの。


2011年04月12日 (火) Firefox4の、保存期間の設定がなくなった閲覧履歴(20110327)。places.sqliteが固定サイズになったとのことで、趨勢を考えればまあ十分なサイズがあるとは期待できないな。履歴を長いこと残してると訪問済みリンクというのが役に立つ。(一週間なり三か月なり記憶も新しい)一定の期間に訪れたことがある、というのではない、これまでに訪れたことがあるかどうかということを自分の記憶力を超えて知らせてくれるようになる。「と思いながらそのサイトをうろうろしていたら、未訪問のはずのリンクが何カ所も閲覧済みの色になっていることに気付いた」ということが実際にあった。異なるルートから二度も行き着いた、という発見がブックマークボタンに手を伸ばさしめたのだ。不意に再訪問の必要に迫られて、漠然とした記憶から履歴を検索することが何度かあったが、保存期間が仮に一週間では見つかる可能性は薄いし、あるとわかってなければ手を尽くして探しだそうという気も起こらない。実のところ五年という履歴の保存期間は一年、三年と延長してきた結果の数字だ。全て保存されているという確信が本質的に重要。


2011年04月13日 (水) 「機能比較: サクラエディタ, Binary Editor BZ, K2Editor - Softonic / ソフトニック」 << 笑っちゃうな。「日本語に対応: いいえ、、いいえ」だって。日本人(たぶん)が作ってるエディタだし、サクラエディタに至っては「日本語テキストエディタ」を名乗ってるのに。そんなんで大丈夫か? そして Unicode版推進派としては 1.6.6.0を掲載されるのはありがたくない。が、インストーラ付きが必要なんだろうな。2.0.2.0にはない。


2011年04月16日 (土)

最終更新: 2011-04-16T18:41+0900

 

Firefox4. browser.overlink-delay を 70から 0へ。階層化されポップアップするサイトナビゲーションなどディレイを入れるべきところもあるがこれは違う。表示場所が決まってて邪魔にならないし、リンクに気付かないまま通り過ぎてしまわないように遅延なし。こういう設定があるはずであり、実際にあって、すぐに見つけて変更できるのが Firefoxのいいところ。

 

なんで左半分しか使わない」の答え。「If your mouse cursor is on the left and the new line of text with URL would be covered with the cursor, then the URL is displayed on the right side of the content instead on the default left side.」右半分は URL表示の避難先として予約されていました。そういうレアケースのために長めの URLがいつでも省略されます。何が気に入らないって、省略されてることが一目でわからないのが良くない。右側にスペースが余ってみえるんだから。いっそ最下段のリンクの飛び先は表示されなくていいよ。見たければスクロールしたり貼り付けたりするから。その代わり下手な省略をやめて。

 

省略に関連して。googleに裏切られてはてブが応えてくれることに、省略されていないタイトルが title属性に設定されていることがある。...の先が非常にもやもやするの。ページ移動するかどうかはタイトルの全体を見て決めたい。でも googleでは見えない。見映えのために切り詰めて横幅をそろえるのはいいけど、その制約は title属性にはないから。実装上の制約があったとしても、そんなのは考慮しないから。


2011年04月17日 (日) 渋皮栗 おしらせ「画集を出版していただくことになりました。まんだらけ出版より7~8月頃発行です。待ってました


2011年04月19日 (火)

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

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

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

百人の町がありました。

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

善人の一人は、(省略)

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

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

(省略)

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

1

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

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

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

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

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

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


2011年04月20日 (水)

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

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

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


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


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


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月26日 (火) 鬼畜。キティさんお仕事は選んで><


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


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

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

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

 症状と診断

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

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

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

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