/ 最近 .rdf 追記 設定 本棚

log[2009-09-01]



20090901() [C++] 1994年に原著が出版されて 2005年に日本語版がでた D&Eを読んでいる日本語版には前書きが追加されていて「私たちはどこに向かうのか―2005-2014という節があるそこにはコンセトと一般初期設定子という小節があるでもでもコンセトが規格からこぼれ落ちてる > 本の: Bjarne StroustrupConceptと未来を語る無情なり


20090831() >祇園精舎の…海部さんの言葉朝日新聞で「生者必滅った読売は勝手にバリエーションを増やさないで欲しい盛者必滅(ょうしゃひつめつ)生者必衰(ょうじゃひっすい)喧々諤々(けんけんがくがく)全部間違いでも侃々囂々(かんかんごうごう)とは間違えないそれで喧々諤々が混用だと判断できている「しょう‐じゃ【盛者】 シヤウ‥ (正しくはジョウシ「生者と混同した誤読か「じょう‐しゃ【盛者】 ジヤウ‥ (ショウシャ・ョウジャとも勢いの盛んな者ときめく者(広辞苑 第6) なにこのミスリング

最終更: 2009-08-31T09:35+0900

[Vista]っぱりありましたVistaAero Snap > AeroSnap BETA | News

今のバージョンは 0.61とりあえず気付いた点

  • Win+↓を何度か押してるうちに AeroSnap.exeが落ちる
  • (起動した後マウスで一度も snapしないうち) Win+←や Win+→で落ちる
  • (Aero Snapには含まれないのかもしれないけ) 下フレームをダブルクリックしたときに上下方向に最大化したい
  • こんなエラーも出た

    Just-In-Time (JIT) デバッグを呼び出すための詳細については、
    ダイアログ ボックスではなく、このメッセージの最後を参照してください。
    
    ************** 例外テキスト **************
    System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
       場所 AeroSnap.Application.SnapManager.SnapController.SnapTimer_Tick(Object sender, EventArgs e)
       場所 System.Windows.Forms.Timer.OnTick(EventArgs e)
       場所 System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
       場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** 読み込まれたアセンブリ **************
    mscorlib
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
    ----------------------------------------
    AeroSnapApp
        アセンブリ バージョン: 0.6.1.0
        Win32 バージョン: 0.6.1.0
        コードベース: file:///C:/Program%20Files%20(x86)/AeroSnap/AeroSnap.exe
    ----------------------------------------
    System.Windows.Forms
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    mscorlib.resources
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
    ----------------------------------------
    AeroSnap.Application
        アセンブリ バージョン: 0.6.1.0
        Win32 バージョン: 0.6.1.0
        コードベース: file:///C:/Program%20Files%20(x86)/AeroSnap/AeroSnap.Application.DLL
    ----------------------------------------
    System.Windows.Forms.resources
        アセンブリ バージョン: 2.0.0.0
        Win32 バージョン: 2.0.50727.4016 (NetFxQFE.050727-4000)
        コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    
    ************** JIT デバッグ **************
    Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
    またはコンピュータ (machine.config) の構成ファイルの jitDebugging
    値を system.windows.forms セクションで設定しなければなりません。
    アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
    なりません。
    
    例:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
    ハンドルされていない例外はすべてコンピュータに登録された
    JIT デバッガに設定されなければなりません。

20090830() 黒軸の Majestouchを買うにあたって英語配列にしようか迷った不要な変換/無変換/カタひらキーが最初からないし引用符の入力がしやすそうだからでも右トとバックスペースキーは長すぎるそのスペースで Enterーを大きくしてIMEのオンオフを Altなしの 1ーで行えるようにしたい結局日本語フルキーボこれの記号類の配列はShiftの状態によらず ASCIIドの下位 4トが同じなのだそうな(はたしてそれに実用的な意味があるか)PnPの必要がなくM/BAMD系で徹底したレガシーフリーというわけでもないのでーボドは妙な制限のある USBでなく PS/2で繋ぎたいだが無線もいいPS/2延長ケーブル(一緒に買った)を使うくらいなら無線がいいMajestouch Wirelessという Bluetoothと黒軸採用のキーボドがほとんど同じ値段で売られているだが BluetoothOSが起動するまで使えないのが普通。レシーバによっては BIOS操作のできるものもあるらしいが確実ではない今回は見送り非常に残念……っと重めのパンタグラフ式だとっかり指乗せミスタイプ(PCでよくある)を防ぎつつ静かに打てるだろうパンタグラフ式って悪くないんだけどむしろ良いんだけどPCのおまけ品質キーボドとの分かち難い連想が評価を不当に下げてるかも十分なトロークがあって隣接するキップの間に十分な溝があって黒軸茶軸みたいにハッタリのきいた高級パンタグラフ式の登場を待つ……Excellio 「登場を待つではない退場(生産終了)済みでした……箱つぶれ特価品? ぽち

最終更: 2009-11-15T05:11+0900

[][COSMOS]["ダイヤテック Excellio(エクセリ) 日本語 カナなし FKB109EXNB"]

188 :不明なデバイスさん:2009/08/03(月) 17:58:15 ID:Q6o7dXxt
    好みがあるだろうからハッキリ書いておくと。

    往年のThinkPadやDynabookのキーボードが好きだったという人。
    こういう人はエクセリオ買ったら幸せになれる。 

192 :不明なデバイスさん:2009/08/03(月) 18:45:23 ID:Q6o7dXxt
    逆に言うと。

    往年のThinkPadやDynabookのキーボードが嫌いだったという人。
    こういう人がエクセリオ買うと不幸せになる。

193 :不明なデバイスさん:2009/08/03(月) 21:26:29 ID:0MB6rQRJ
    ThinkPadって一緒くたで言ってるけどどのThinkPadだよ。
    TP600か?iシリーズの1200か?X32か?S30か?全部違うのわかってるか?
    往年のとかひとくくりにしてるからネタ臭が消えないんだよ。

194 :不明なデバイスさん:2009/08/03(月) 22:27:36 ID:Q6o7dXxt
    そんな細かい型番まで憶えてないから「往年の」としか言えんのよ…

    そうね、日本IBM社製といおうか。「90年代の」といえばいい?
    俺が知ってる(使ってた)のは90年代後半~2000年代初頭の頃。

    DynaBookの方は2000年代初頭。まだスティック・ポイント(だっけ?)の頃。
    どっちもWinの95~98辺りだなあ。XPの入ったThinkPadやDynaBookは
    使った覚えがない。 
パンタグラフキーボPart10 ※ポテチが天敵

っはっは今日のタトルに書い「うっかり指乗せミスタイプ(PCでよくある)PCってのは Windows98で、ク・ポイアキュポイトでっちが右()ボタン?ってなマウスボタン配置の DynaBookのことだ不幸せになんかならないよね?逆ではなくて裏だしいずれにしても元の命題の真偽とは関連しないから大丈夫<うるさい


 到着@2009-09-01

楽天の FILCOーボドシップ3000以上で送料無料だったんだけど箱つぶれ Excellio2980円で 20円足りない。ップリムーバ(315)をセトにした箱も説明書もなくビニール袋に入ってるだけだったので使い方に困ったが針金部分が同じように見えて微妙に長さが違うので長い方をキップに引っかけて左右に広げてからキーの奥にもぐり込ませるみたいパンタグラフ式の Excellioには使えないので Majestouch用です。

箱つぶれ特価品なのに箱をつぶす手間もかけていないNTT-Xトアの箱汚れ品と同じあからさまな建前商法全然悪くはないけど

評判通りキーは重いトロークは普通のパンタグラフ並に浅いがもう少し深い方がいい深くすると押し下げ時の左右のずれが大きくなるらしい深ければキータッチは軽くてもミスタイプの原因にならないと思う(これは Realforceト?)裏を返せばトロークが浅いのだから今の重さはちょうどいい

ぺちぺちにちゃにちゃ音がするもののそこはパンタグラフMicrosoft Wired Desktop 500(RT2300, SN25Pのために買った間に合わせ)よりずっと静指がキップを叩く音が支配的TabCtrlAlt変換キーだけはキップからチャラチャラした音が目立つ

Alt手前のフレームが浮いている手前でなければ気付かなかったのに手のひらを置いたときに気付いてしまった残念

前のキーボドの慣れがあるのでHome, Endの配置はこうなった

HomeEndPageUp
DeleteDeletePageDown

Windowsーは右Altになった

以下にレジトリの設定

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,05,00,00,00,47,e0,52,e0,4f,e0,47,e0,\
  53,e0,4f,e0,38,e0,5c,e0,00,00,00,00

バイナリの意味は以下の通り

00 00 00 00 # バージョン。0固定。
00 00 00 00 # フラグ。0固定。
05 00 00 00 # ターミネータ込みで 00000005個のマップエントリが続く。
47 e0 52 e0 # Insert(e0 52) → Home(e0 47)
4f e0 47 e0 # Home(e0 47) → End(e0 4f)
53 e0 4f e0 # End(e0 4f) → Delete(e0 53)
38 e0 5c e0 # 右Win(e0 5c) → 右Alt(e0 38)
00 00 00 00 # 終了。ターミネータがあるのに個数を入力させたのは何故?

(使えるかもしれない)スキャンコド一覧 > Keyboard scancodes: Keyboard scancodes

明日は 25日に注文した FKBN108ML/NBが来るんだけど二枚もどうすんだ


PS/2ーボドじゃないから S3からホトキーでのレジームができなくなったResume from S3 by USB Device (Enable/Disable)みたいな設定が BIOSにあるけどーに触っただけで復帰するのは勘弁してほしい―だからマウスによるレジームも無効にしてる―からやはり PS/2ーボドだな

箱の裏面の白い部分がものすごく黄ばんでる(ような色をしてる)角のほうにわずかに白い部分があるからもとは全部真っ白だったのかも(このへん「箱つぶれ)

Excellioをマウス用の USB->PS/2変換コネクタを通して接続してみたけどっぱり使えずUSB専用キーボドだったところで確認を終えて元の通りに繋ぎ直してもPS/2に接続していトラックボールが使えなくなっていたBIOSトアップに入トラックボールをいじると右移動=F5右ボタン=F6みたいにキーボド扱いくまった


 追記@2009-09-06: S3から復帰後にキーマップが元に戻ってることがある(今日で 2回目)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout にも設定してみて改善するか様子を見る


 @2009-06-13

CapsLockの位置に左CtrlがあるとCtrlと組み合わせられるキーが増えるねこれは良い


20090828() はてなの引用は元ページのタトルを自動取得できるのねん404 Not Foundからの引用になってる日記(マジックリン!)を見て気付いた。日記ブログの書かれた当時は当然 404ではなかったはずでどういうタイミングでページ取得を行ってるんだろう@2013-09-14Hatena Pagetitle Agent/1.0っていうのがそうかな?

最終更: 2013-09-14T00:17+0900

[tDiary] 一日のタトルを HikiDocーマトで HTML

使えないのを知っていて以前から HikiDocーマトでタトルを書いていた>>20090823 >>20090403

これを HTML化するのは意外と簡単プラグインでできる

add_title_proc {|date, title|
  if title.index('<')
    title.sub(/<span class="title">([^<>]+)<\/span>/){
      %/<div class="title">#{WikiSection.new(CGI.unescapeHTML $1).body_to_html}<\/div>/
    }
  else
    WikiSection.new(CGI.unescapeHTML title).body_to_html
  end
}

今日のタトルに含まれ==日記==ブログという部分があまりにわかりにくかったのでHTML化してみた次第URL自動リンクも有効になってうまうま


勘違い発覚Headingがブロック要素を包含できる気がしていたがHeading自身がブロック要素だということの記憶違い<div>を含めちゃだめだ

修正

add_title_proc {|date, title|
  inline_or_nil = lambda{|src|
    lines = src.split(/\r?\n/)
    return nil if 1 < lines.length
    html = WikiSection.new(lines.first).body_to_html
    return nil if html[0,3] != '<p>' or html[-4,4] != '</p>'
    return html
  }
  if title.index('<')
    title.sub(/<span class="title">([^<>]+)<\/span>/){|_0|
      html = inline_or_nil.call(CGI.unescapeHTML $1)
      html ? %/<span class="title">#{html}<\/span>/ : _0
    }
  else
    inline_or_nil.call(CGI.unescapeHTML title) or title
  end rescue title
}

それなりにチックはしてるけどブロック要素を返すプラグインを呼んだりしたら(HTMLの文法的に)即ア


20090827()

最終更: 2010-02-02T01:32+0900

[][BAD BOY] ["トアイ(CAT EYE) サイクルコンピータCC-RD300W CC-RD300W"]

3台目は CATEYE CC-RD300W無線現在/平均/最高速度計測ケイデス非対応

リセトを繰り返していた CC-MC100W とうとう電池を替えても画面が映らなくなったので買い換え

均・最高ケイデスを記録できる CC-TR200DW V2C が第一候補だったがップ機能が不要なのと測定結果を 14まで保存できるがその記録の中に積算距離()が含まれていないせいで役に立たない(ドだけがログのプライマリキーになれる)のと5分で節電モドに入ったあとの計測再開が手動なのが不満

CC-RD300Wより新しい CC-RD400DW というのもあるが付加機能のケイデス機能が現在ケイデスの表示にしか対応していないセンサー部の電池寿命が他機種の多くの半分にあたる半年間しかないより高機能な V2Cとの実勢価格差が¥2000というのも躊躇させるちなみに付加機能はケイデスだけでなく無線の ID対応というのもある

結局壊れた CC-MC100Wより機能が絞られてるわりにお高い CC-RD300W にした最低限必要な機能は揃ってるしょくちょく落っことすので高級機はもったいない走行中のモドの切り替えはやりやすくなっているがブラケトから外した状態ではむしろやりにくい俺の使い方では外してからの操作の方が実は多かったりブラケトからの取り外しも固くてやりにくいツメが削れて外しやすくなってきたときは走行中に落っこちやすくなったときセンサーは CC-MC100Wのが流用できた(どちらも無線 ID非対応だから)


ダメボタン長押しでリセトというのが本体自体がボタンになってることと相まって誤爆しまくりHL-EL400 のバドが走行中に開かないように(すぐに固定がゆるむへなちょこ)CC-MC100WでやっていたようにCC-RD300Wをバドの上に重ねて取り付けたらシーソーみたいにボタンが押し下げ状態になってリセ本体をブラケトから取り外すときももたもたしないでガッと外さないとリセリセトボタンを新設してブラケトとの脱着方法を考えなければ次はない


20090825() Emacsってイーマックスだったのねんエマックスだとばかり……VMAX(名前からの連想)みたいなデカブツは好みじゃないんだよね……ってどちらも重量級だからそれでいいのEmacs(名前も含めて)好きにならないだろう

最終更: 2010-05-19T17:19+0900

[SakuraEditor]ーテーション文字列の色分

 確かに変ですが、ここの部分をきっちりやろうとするとレイアウト処理性能にシビアに影響するみたいです。
 ざっと試したところでは、ファイル読み込みで1.5~3倍くらいの処理時間がかかるようになってしまいました。
 右端で折り返す設定で画面幅を変化させるときの応答にも同様に効いてきます。
http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=data&tree=r7015

さらりとできなくはないと書かれているがどうやるんだろう?

sakura_core\view\colors\CColorStrategy.cpp の後半(「色開始部分)をこう書きかえてみても中途半端な結果ァイルの内容は同じでも文字の追加や削除ゥなどの操作によって意図通りの結果になったり現行通りだったり処理速度に関しては5MBのファイルを開いてファイルタイプをいろいろ切り替えてみたら変更前よりプログスバーの進みが明らかに遅い1.5から 2倍というのは体感に一致している

bool CColorStrategyPool::CheckColorMODE(
	CColorStrategy**	ppcColorStrategy,	//!< [in/out]
	int					nPos,
	const CStringRef&	cLineStr
)
{
	//色終了
	if(*ppcColorStrategy){
		if((*ppcColorStrategy)->EndColor(cLineStr,nPos)){
			*ppcColorStrategy = NULL;
			return true;
		}
	}

	//色開始
	if(!*ppcColorStrategy){
		for(int i = 0; i < (int)m_vStrategies.size(); ++i) {
			if(m_vStrategies[i]->BeginColor(cLineStr, nPos)) {
				*ppcColorStrategy = m_vStrategies[i];
				break;
			}
		}
	}
	return false;
}

違うCheckColorMODE()のときに正規表現キーワドは働いてないそもそも CheckColorMODE()の目的って? CLayoutMgr::Match_Quote()がとりあえず行末を返す( return cLineStr.GetLength(); )って? それでどうやって行をまたげているんだろう


白々しさ爆発だけど書く下は sakura/trunk2/sakura_core/doc/CLayoutMgr_DoLayout.cpp から削除されたコ(の一部)この部分が修正を加えられたうえで sakura_core/view/colors/CColorStrategy.cppに移動しているreturn falseを使わずに breakしているあたりがさらに嘘くささを増してるけど別にこのときの変更をロールバックしたかったわけじゃない知らなかったし参考にしたのは SColorStrategyInfo::DoChangeColor()の方

	if(!*ppcColorStrategy){ 		
		CColorStrategyPool* pool = CColorStrategyPool::Instance(); 		
		for(int i=0;i<pool->GetStrategyCount();i++){ 		
			CColorStrategy* pcSample = pool->GetStrategy(i); 		
			if(pcSample->BeginColor(cLineStr,nPos)){ 		
				*ppcColorStrategy = pcSample; 		
				//bRet = true; 		
				break; 		
			} 		
		} 		
	} 		

俺が感じたプログスバーの進みの遅さはたぶん基底クラスからの仮想関数の呼び出しに伴うものだったんだろう一歩戻って進んでふりだしに戻る


CheckColorMODE()がないとクーテーション文字列が行をまたげない

レイア(禁則処理とか折り返しとか)とクーテーション文字列(+コメ)の関係がわからない癒着してるならトルネックにもなってるらしい CheckColorMODE()をなくして正規表現キーワドが行をまたぐことでカバーしたい


 @2010-05-19 関連ログ発見

http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev&v=4079#4083

サクラエタの色分け解析ルーチンは全部で3つあって

  • 行データの変更に各レイアト行の先頭色を決めるもの(CLayoutMgr)
  • 実際の作画時に各文字の色を決定しつつ作画するもの(CEditView::OnPaint)
  • 対括弧の色を戻すときに各文字の色を決定するもの(CEditView::GetColorIndex)

20090824() [Vista] エクスプローラは痴呆気味だけ>explorer .でカレトリを開けるのがえらいMDIEに乗り換えなかった理由の一つ

最終更: 2009-09-24T04:29+0900

[SakuraEditor] 最近使ったファイルを名前でソトしないで!

方法は sakura/trunk2/sakura_core/sakura_rc.rcから CBS_SORTを一か所削除するだけでしたCRecentImp.AppendItem()が名前に反してあえ「アイムを先頭に追加しているけど俺もそれが自然だと思う「開く...(ドロップダウン)ールバーボタンから出るポップアップメニーには CBS_SORTみたいなフラグがないのだろうトはされていない望み通りでも Windowsはスタトメニーの最近使った項目をファイル名でソトしてるそういう考え方もあるんだろう好きにやります。

ダイアログつながりで拡張子補完も完全に切ったお節介は不要拡張子補完って主にエクスプローラで拡張子を隠したままにしてる人のためにあると思う


20090823() またしても LADY GREY欠乏の危機(前回>>20080314, 20080617)だだっ広い(体力と時間を浪費させる)ッピングモールができたあおりなのだろう電器屋が移り本屋が撤退しーパ(+パン屋)がなくなったグレイの他にも 1500円くらいするもの(缶の大きさは隣に並んでいた 500円のものと同じだった)を置いていたりっと変わった店だった他のスーパーを 78件まわってみたけど全然駄目徒歩 5分の FRESCOは唯一点を稼いだがーバッグに戻るつもりはない400/85gったのを覚えていると片岡物産の Web(525/85g)で買うのもためらわれる


20090821() 悪意のあるコンパイラを見破るのは難しいよなあ > Delphi + Induc

最終更: 2009-08-24T23:53+0900

[]ちうもん

STAY~夜明けのSoul~(初回限定盤A)(DVD付) STAY~夜明けのSoul~(初回限定盤A)(DVD)
GARNET CROW
GIZA
2,843
たまにアマゾンを検索して CDの発売を知る


20090817() HikiDoc 0.0.4 でた正規表現に関連した DoS脆弱性楽しいアップデトではないですな自前の valid_plugin_syntax?を使ってる tDiaryには影響なし


20090816() トゲ界隈で蔓延しているようだが一抹の抵抗を試みる課金をするのはサービスの提供者~を課すっていうじゃないあなたは支払い義務を課されてるんだよと書こうとしてあれ課する? 課(おお)す? なにそれ

最終更: 2009-08-28T23:41+0900

[tDiary] セクションごとに最終更新日時を(セクション単位の編集機能とからんでカオ)

表示方法はこう

# coding: utf-8
require 'date'
add_section_leave_proc{|date, index|
  diary = @diaries[date.strftime('%Y%m%d')]
  next unless diary # in case @mode == 'preview'
  section, sidx = nil, 0
  diary.each_section{|sec| sidx+=1
    if sidx == index
      section = sec
      break
    end
  }
  lm = section.last_modified rescue next
  next unless lm
  lm = DateTime.new(*(lm.utc.to_a.values_at(5,4,3,2,1,0))).new_offset(Rational(135,360)) # 日本時間
  lm.strftime %<<p class="lastmodified">最終更新: %Y-%m-%dT%H:%M%Z</p>> # 色分けテストとして、あえてタグと同じアングルブラケットで囲ってみた。
}

DateTimeのオフセトの単位がわからんかったブラウザのブックマークRubyリファレスマニュアル - 20051129だからなあるりまには載ってるかもとりあえfraction of a day(date.rb documented by William Webber)とのこと慣れない Rationalを使ったもんだから Rational(135,360)と書くべき所に Rational(135/360)と書いてしまいオフセ0の結果にしばし首をひねったRational()の呼び出しより引数の評価の方が先だからやむをえないことだけど分数を表現するのにはやっぱり / を使いたい(使ってしまった)FixnumBignumのシームスな移行のように Rationalへも融通無碍に切り替わって欲しい利用者には Numericだけを利用しているように思わせるということ必要なときに整数化(小数化)メソドを呼ぶし変数に整数(や分母を 1に約分できる分数)が入ってることを利用者が知っていればそのまま整数を前提としたメソドを呼んだりできるといい変わるのは整数型の演算結果が整数型であることを前提にした(旧来の言語の呪縛に過ぎない)切り捨て除算がなくなる以外にあるだろうそれも Pythonみたいに // を割り当てれば無駄な有理数化再整数化を避けられる実感に基づいて既に通った(んじゃなかったっけな?)議論を蒸し返してみました俺は整数と小数の垣根を取っ払った JavaScript最初は驚いたけど評価しているJavaScriptのシンプルさが好きだセミコロンインサーションもCより怠けることを許していながらRubyの改行をターミネータにするやり方よりフーマトが自由で最高にバラスがいい(はまるのは returnだけだ)require 'rational'; 10.to_r/2 とか不格好すぎるでしドウェアと型から離れて本質に戻りましょう算数で割り算と分数は同じものだったはずだ。<追記@2009-08-22>require 'mathn' がつまり FixnumBignumRational(と Complex)をより親密にするおまじないでした(いまさら何を)mathnって読めない(マスエヌ?)のと名前から中身が想像できないのとで意識せず無視してたけどRationalとセトで見かけることが多かった気がするそれはそうとRationalComplexの細々した議論に埋もれて全体の方向性が見えないRuby 2.0あたりでは require 'mathn' が不要になっているんだろうか……。</追記>

るりまにはスタドアロンサーバー版と chm版よりスタック HTML版を用意して欲しいなあchmだと閲覧が IEースになってしまって文字の大きさやスクロール量進む戻るが自由にならなくて使いにくいマニュアルサーバーを起動しておくのは嫌ですよview.cgiCGIしようとしたらリンクがルトからの絶対スなせいで Not FoundApacheは既に動いてるから名前ベースのバーチャルホトや待ち受けポトの追加でるりまに一つのホ(or)を与えることはできると思うけど……大仰なのでやらないbase_urlのオプションが用意されてるから view.cgiの設定を間違えてるだけの気もするけど……わからない

組み込みの TimeUTClocaltimeしか扱わないのがもったいない任意のオフセトに基づいた日時を出力したいだけだからDateTimeは牛刀な印象がある。<追記@2009-08-21>ーくかんがえよ(命令形)・・・・・・・・なんてことはないオフセト分だけ未来(過去)UTC時刻が即ちローカルタイムだよ当たり前すぎて俺が何を言いたいのかわからないでしょう先のスクリト片の最後は DateTimeを使わずにこう書けるということです。

  lm = section.last_modified rescue next
  next unless lm
  offset = 9 * 60 * 60 # 秒
  lm_local = (lm + offset).utc # UTCと見せかけて lmの地方時。
  %<<p class="lastmodified">最終更新: %d-%02d-%02dT%02d:%02d%s%+03d%02d</p>> %
    [lm_local.year, lm_local.month, lm_local.day, lm_local.hour, lm_local.min, offset/60/60, offset/60%60]
}

……てなことをmakerss.rbの中の TDiary::RDFSection#time_string

  g = @time.dup.gmtime
  l = Time::local( g.year, g.month, g.day, g.hour, g.min, g.sec )

gmtimeに基づく年月日時分秒からローカルタイムを作っている部分を見ていて(遅まきながら)気付いたgmtimelocaltimeも皮をむけば UNIX epochからの経過秒に過ぎないんだからどういう意味を持たせるかはこちらの自由だった。まあ比較はできなくなりますが……(lm.to_ilm_local.to_i はその意味(同じ瞬間の別表現であること)を考えると望ましくない結果)</追記>

脱線終了表示するまでの仕込みがこんな感じ

add_last_modified_to_every_section@defaultio.rb (2.4KiB)
日記の一日分のデータの一部としてその日のセクションの更新日時をまとめて記録しているWikiStyleのフーマトの一部として更新日時や著者名を埋め込む方法があればそちらの方が利用者の自由度は高い
新設したヘッダ(Sections-Last-Modified)と日記の本文とが連動しているので tDiary以外から *.td2をいじりにくくなっている
add_last_modified_to_every_section@wiki_style.rb (1.7KiB)
都合が良いように変更
add_last_modified_to_every_section@tdiary.rb (10.6KiB)
っちゃりもちろん*今の*自分にとってはそうではない
tdiary_style.rbを変更してないから TDiarySection#last_modifiedは未定義tDiaryスタイルでも日記を書いてみて見つかったエラーは rescueした

主に plugin/makerss.rbからの要請で更新日時を記録したいのでっとした修正では最終更新日時は更新されないとかいいながらこの日記には変更のあったセクションを見つける別の方法が入っている(20090705p01)ので makerss.rbが最終更新日時を利用するようにはしていない


最初にポトされた時刻も有用だろうか? 日記だから最初にポトされた日はほとんど確定してるし時刻まで知りたいとも思わないけど


WikiSectionlast_modifiedプロパをくっつけたけどWikiSection自体はこれを管理してなくて外部から操作されるだけだってのがいけてないっぱり to_src()initialize()DUMP & LOADを担う(last_modifiedauthorその他の情報をフーマトに含める)メソド群を整備してこちらの望む操作を WikiDiaryWikiSection自身にやってもらう(自分でやるから付帯情報のコピー漏れも発生しない道理)のがいい


 2009-08-22

「編集でセクションを追加したとき更新日時のコピー処理でのぬるぽを修正(if old_section and...を追加し)


20090814() [TM-150][MX610] SetPoint 4.80 でた例によってイールはしないなんだろこの BIOSップデトより慎重な態度どんだけ地雷だったのかが偲ばれますね


20090813() 不格好なのmL(ミリリトル)ときっちり大文字で表記されていた同じ面「処方せん医薬品ともちと納得塩水と生理食塩水の違いのひとつかも