たわごと日記

-- 1999年7月下旬 --

Last-modified: Tue, 10 Aug 1999 02:13:24 JST

[static,style:tom,jcode,cache:on]
banner


[最新版] << == >> [一覧] (all) [URL リスト] [辞書]
[購読上の注意] [tds-100版] [日記観察] [TDS] [TDS-DOC] [Tom's Squire]


1999.7.20(Tue)

○ 起床

07:30

○ 広末公式ページ

できたらしい。

○[TDS] TdfEditor

ひさしぶりに VC++ に触る。 hnfeditor に触発されたわけではない、と思う。

CRichEdit はけっこう複雑なので、 単純な CEditView を使う。

ID_FILE_NEW の受け取りがよく分からんかったので、 調べる。

ID_FILE_NEW: 新しい空の文書を作成します。

メ モ この機能を有効にするには、CWinApp 派生クラスのメッセージ マップに ID を結合します。

CWinApp::OnFileNew メンバ関数は、アプリケーション内のドキュメント テンプレートの数に応じて処理を行います。CDocTemplate が 1 つしかない場合は、その型の新しい文書と、該当するフレームおよびビュー クラスを作成します。 複数の CDocTemplate がある場合は、どの型の文書を作成するか、ダイアログ ボックス (AFX_IDD_NEWTYPEDLG) を表示してユーザーに問い合わせます。選択された CDocTemplate 型の文書が作成されます。

ID_FILE_NEW コマンドの一般的なカスタマイズは、文書の型をグラフィカルに選択させるためのものです。この場合には CMyApp::OnFileNew 関数をインプリメントして CWinApp::OnFileNew の代わりに、メッセージ マップに登録します。基本クラスのインプリメントを呼び出す必要はありません。

別のカスタマイズの方法として、文書の型ごとに別々のコマンドを提供するというものがあります。この場合は、新しいコマンド ID (ID_FILE_NEW_CHART、ID_FILE_NEW_SHEET など) を定義します。

ID_FILE_OPEN: 既存の文書を開きます。

メ モ この機能を有効にするには、CWinApp 派生クラスのメッセージ マップに ID を結合します。

CWinApp::OnFileOpen は、CWinApp::DoPromptFileName を呼び出してから、開くファイルのファイル名またはパス名を引数として CWinApp::OpenDocumentFile を呼び出すだけです。CWinApp の DoPromptFileName メンバ関数は、標準の FileOpen ダイアログを呼び出し、現在のドキュメント テンプレートから得たファイル拡張子を表示します。

ID_FILE_OPEN コマンドの一般的なカスタマイズでは、[開く] ダイアログ ボックスをカスタマイズするか、ファイル フィルタを追加します。お勧めするカスタマイズ方法は、デフォルトのインプリメントを独自の [開く] ダイアログ ボックスに置き換え、CWinApp::OpenDocumentFile メンバ関数を文書のファイル名またはパス名を引数として呼び出す、というものです。

ID_FILE_CLOSE: 現在開いている文書を閉じます。

CDocument::OnFileClose メンバ関数は、文書が変更されていると、CDocument::SaveModified メンバ関数を呼び出してユーザーに保存するかどうを問い合わせます。その後で、OnCloseDocument 関数を呼び出します。文書の破棄を含む、すべてのクローズ動作は OnCloseDocument ルーチンが行います。

メ モ ID_FILE_CLOSE の動作は、WM_CLOSE メッセージとも、ドキュメントのフレーム ウィンドウに送られる SC_CLOSE システム コマンド メッセージとも違います。ウィンドウを閉じると、そのウィンドウ以外に同じ文書を表示しているフレーム ウィンドウがなければ、表示されている文書も閉じます。ID_FILE_CLOSE で文書を閉じると、文書が閉じられるだけでなく、その文書を表示しているすべてのフレーム ウィンドウも閉じられます。

ID_FILE_SAVE: 現在の文書を保存します。

このコマンドでは、OnFileSave メンバ関数と OnFileSaveAs メンバ関数の両方にヘルパ ルーチン CDocument::DoSave を使います。以前に保存されたことがない文書 (FileNew された文書のようにパス名を持っていない文書) を保存する場合や、読み出し専用文書から読み込んだ文書を保存すると、OnFileSave メンバ関数が ID_FILE_SAVE_AS コマンドのように動作し、ユーザーに新しいファイル名を問い合わせます。ファイルのオープンから保存までの実際のプロセスは、仮想関数 OnSaveDocument が処理します。

主に 2 つの理由から ID_FILE_SAVE コマンドをカスタマイズします。まず、保存しない文書に対しては、ID_FILE_SAVE メニュー項目とツール バー ボタンをユーザー インターフェイスから取り除きます。文書が変更されていない (CDocument::SetModifiedFlag メンバ関数が呼ばれていない) 場合には、フレームワークはその文書を保存しません。また、ディスク ファイル以外の場所に保存されるドキュメントについては、保存のための新しいコマンドを定義する必要があります。

COleServerDoc の場合、ID_FILE_SAVE コマンドは、ファイル保存 (通常のドキュメント) とファイル更新 (埋め込みドキュメント) の両方に使われます。 文書データを別々のディスク ファイルに格納するときに、CDocument のデフォルトのシリアル化機能を使いたくない場合は、OnFileSave メンバ関数ではなく、CDocument::OnSaveDocument メンバ関数をオーバーライドします。

ID_FILE_SAVE_AS: 現在の文書を違う名前で保存します。

CDocument::OnFileSaveAs メンバ関数のインプリメントでは、OnFileSave コマンドと同じように CDocument::DoSave ヘルパ関数が使われます。保存する文書にファイル名がない場合は、OnFileSaveAs コマンドは ID_FILE_SAVE コマンドと同様の処理を行います。COleServerDoc::OnFileSaveAs メンバ関数では、通常の文書データ ファイルを保存することも、他のアプリケーションに埋め込まれている OLE オブジェクトを表すサーバ ドキュメントを別のファイルとして保存することもできます。

ID_FILE_SAVE コマンドの処理をカスタマイズすると、ID_FILE_SAVE_AS コマンドのカスタマイズも同じように必要になるはずです。カスタマイズしないと [名前を付けて保存] を使えなくなるからです。また、[名前を付けて保存] メニュー項目が必要がなければメニュー バーから削除できます。

どうやら、 CTdfEditorApp::OnFileOpen でハンドルして、 通常の CFileDialog じゃなくて自作のダイアログを開いて ファイル名を CWinApp::OpenDocumentFile() に渡せばいいらしい。

COpenTdfDlg dlg;
if (dlg.DoModal())
{
	CWinApp::OpenDocumentFile("d:/tom/diary/1999/07/20.tdf"); // とりあえず決めうち
}

m_strDiaryDir は CTdfEditorApp に持たせる

CWinApp::DoPromptFileName() をオーバーロードできれば CDocument::DoSave() とか気にしなくてもいいのだが、 どうもうまくいかない。 virtual つけても CWinApp の方が呼び出されちゃうし、、、

というわけで、

 BOOL CTdfEditorApp::PromptFilename(CString& strFilename)
{
	CTime t = CTime::GetCurrentTime();
	COpenTdfDlg dlg;
	dlg.m_nYear = t.GetYear();
	dlg.m_nMonth = t.GetMonth();
	dlg.m_nDay = t.GetDay();

	if (dlg.DoModal())
	{
		strFilename.Format("%s/%02d/%02d/%02d.tdf", 
			m_strDiaryDir, dlg.m_nYear, dlg.m_nMonth, dlg.m_nDay);
		return TRUE;
	} else {
		return FALSE;
	}
}

ってのを作って、

void CTdfEditorApp::OnFileOpen() 
{
	CString strFilename;
	if (PromptFilename(strFilename))
	{
		CWinApp::OpenDocumentFile(strFilename);
	}
}

ってしちゃう。

ID_FILE_OPEN や ID_FILE_NEW は CWinAPP の方でハンドルするけど、 ID_FILE_SAVE や ID_FILE_SAVE_AS は CDocument の方でハンドルするらしい。

DoSave(CString&) は、 ファイル名が渡されなければ、 AfxGetApp()->DoPromptFileName(..) するのだが、 これをオーバーライドできないので、

void CTdfEditorDoc::OnFileSave() 
{
	if (GetPathName().GetLength())
	{
		CDocument::OnFileSave();
	} else 
	{
		OnFileSaveAs();
	}
}


void CTdfEditorDoc::OnFileSaveAs() 
{
	CString strFilename;
	if (((CTdfEditorApp*)AfxGetApp())->PromptFilename(strFilename))
	{
		DoSave(strFilename);
	}
}

と卑劣な逃げをする。

うーむ、しかし OnFileNew で SaveModified 経由で、 DoSave() と引数無しで呼ばれてしまい、 AfxGetApp()->DoPromptFileName() がよばれ、 m_pDocManager->DoPromptFileName() で CFileDialog が呼ばれる。 CDocManager::DoPromptFileName は virtual だが、 CWinApp::DoPromptFileName は virtual じゃない。

CDocManager を派生して CTdfEditorDocManager 作って、DoPromptFileName をオーバーライドして、 CTdfEditorApp::CTdfEditorApp で m_pDocManager = CTdfEditorDocManager とかするのかしらん。 でも、CDocManager から派生しようにも、 ClassWizard には、そんな選択項目ないし、、、

ま、とりあえず、 CDocument::SaveModified をオーバーライドして、

	if (IsModified()){
		switch(AfxMessageBox("Save?", MB_YESNOCANCEL, AFX_IDP_ASK_TO_SAVE))
		{
		case IDCANCEL:
			return FALSE;
			break;
		case IDYES:
			OnFileSave();
			OnNewDocument();
			return TRUE;
			break;
		case IDNO:
			OnNewDocument();
			return TRUE;
			break;
		default:
			ASSERT(FALSE);
		}
	}
	return TRUE;

と逃げる。

とりあえず、こんなかんじ。 [can't get size: image/tdf_editor.gif]

これだけのことをやるのに、 こんなに大変だとは、、、

しかし View を違うのに変えるってのは非常に面倒だから、 最初っから CRichEditView 使えばよかったかなぁ。

_ CRichEditView

をちろっと。

基本的に、 GetRichEditCtrl() して、 色を変更する部分を SetSel(cr) して CHARFORMAT cfm 設定して SetCharFormat(cfm) して ReplaceSel(str) するらしい。 HideSelection() でくくると速くなる。 必ず SetSel したあとに SetCharFormat すること。

ただ単に SetCharFormat() して ReplaceSel() しちゃうと、 SetSel() した部分の属性が残ってしまうので、

cfm = GetCharFormatSelection();

cfm.cbSize = sizeof(cfm);
cfm.dwMask =  CFM_COLOR;
cfm.crTextColor = RGB(0, 0xff, 0xff);
SetCharFormat(cfm);

と GetCharFormatSelection() してあげるといいらしい。

やりたいのは、 行頭のコマンド部を色付けして、 (できれば http:// な部分を青下線してクリックでブラウザ起動できるようにして) ってことなので、 CRichEditCtrl::OnKeyDown() をオーバーライドして、 リターン、上下カーソルだったら その行調べてコマンド部を色付け、 ってことをやってみる。

void CRichTextTestView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	TRACE("chr:%02x\n", nChar);

	if (nChar == 0x0d || nChar == 0x26 || nChar == 0x28){		// 改行か上下キー
//		AfxMessageBox("CR");
		CRichEditCtrl& rich = GetRichEditCtrl();
		// 現在の値を保存
		CHARRANGE crOldSel;
		rich.HideSelection(TRUE, FALSE);
		rich.GetSel(crOldSel);
		CHARFORMAT cfmOld = GetCharFormatSelection();

		// 現在行を取得
		static char line[BUFSIZ];
		int nLine = rich.LineFromChar(-1);
		int n = rich.GetLine(nLine, line, BUFSIZ);
		line[n] = '\0';

		// コマンド行かどうか
		BOOL bCmd = TRUE;
		char cmd[BUFSIZ];
		for (int i=0; i<n; i++){
			if (line[i] == ' ' || (i>0 &&line[i] == 0x0d)){
				i--;
				break;
			} else if (!isupper(line[i])){
				bCmd = FALSE;
				break;
			} else {
				cmd[i] = line[i];
			}
		}
		// コマンド行
		long inxFirst = (long)rich.LineIndex(-1);
		//long inxLast = crOldSel.cpMax;
		long inxLast = inxFirst+i+1;
		if (bCmd){
			cmd[i+1] = '\0';

			// 表示する文字属性
			CHARFORMAT cfm;
			rich.SetSel(inxFirst, inxLast);
			TRACE("min:%ld, max:%ld\n", inxFirst, inxLast);

			cfm = GetCharFormatSelection();

			cfm.cbSize = sizeof(cfm);
			cfm.dwMask =  CFM_COLOR;
			cfm.dwEffects = 0;
			cfm.crTextColor = RGB(0, 0xff, 0xff);
			SetCharFormat(cfm);

			// 置き換え
			rich.ReplaceSel(cmd);
			SetCharFormat(cfmOld);
		} else {
//			SetCharFormat(cfmOld);
			rich.SetSel(inxFirst, inxFirst+(long)n);
			CHARFORMAT cfm;
			cfm = GetCharFormatSelection();
			cfm.dwMask = CFM_COLOR;
			cfm.crTextColor = 0;
			SetCharFormat(cfm);
			rich.ReplaceSel(line);
		}
		rich.HideSelection(FALSE, FALSE);
		rich.SetSel(crOldSel);
	}

	
	CRichEditView::OnKeyDown(nChar, nRepCnt, nFlags);
}

うーん、力技なコードだ。

入出力は基本的にテキストだけなので、 何も考えず Serialize() をオーバーライドし、

void CRichTextTestView::Serialize(CArchive& ar) 
{
	if (ar.IsStoring())
	{	// コードの保存
	}
	else
	{	// コードの読み込み
		CRichEditCtrl& rich = GetRichEditCtrl();
		CString str, strAll;
		while (ar.ReadString(str))
		{
			strAll += str + "\r\n";
		}
		rich.ReplaceSel(strAll);

	}
}

まだ読み込みだけだけど。 あ、SetWindowText()でいいのかな。

これだと読み込んだ状態で色付けされないので、 コマンド色付けをする部分を関数にまとめて、 行番号を渡すとその行を色付けする、というようにしたほうが よさそう。

とりあえず、こんなかんじ。 [can't get size: image/rich_text.gif]shotまだまだバグあり。

こーしたほうが良い、というのがあれば 教えて下さいませ。

○ 鼻水

が止まらない。 ティッシュだらけだ、机の上。

○ [email protected]

でなんでおれんところくるんだ?

○ 学院

二回戦で惜しくも敗退。 6ー9。

○ 某掲示板

禁断の愛は燃える、ってゆうけど、 さすがに肉親には欲情しないなぁ。 妹ってのは一番妄想しやすい対象ではあるが、 実際にいたら、やっぱ対象外になるんだとおもう。 従妹はいるけど、 性的感情は一切ないし。 そりゃ昔はすっぽんぽんで水浴びとかしたけど、 精通前の話だし。

この掲示板にある投稿なんて、 9割9分は妄想の類だと思うが、 障害者の母親の話とか、 謄本みたら母の父が自分の父だった話とか、 なんだかみょーにリアリティを感じる部分もなくもない。

ふむ、と思ったのが、 アダムとイブの話。 子孫を残すには、 子供同士を交わらせるか、 自分らが子供と交わらなきゃならない、ってやつ。 まあ、そうだわな。

○[TDS] ちゃんとした構文解析

ってのも考えなくはなかったのですが、 perl じゃねぇ、、 しかしコマンド開始を行頭 @ にしたり、[] で attributes を括ったり、 ってしてれば、 かなり解析が楽ではあったのだが、、、 ま、タイプ数はすくないのはいいこと、ってことで。


1999.7.21(Wed)

○ 起床

やべー9:30 だ、 と思ったら時計が 40分進んでた。

いつもどおり出発するも、 新宿にて激しいせきによる嘔吐感と腹痛に見舞われ、 20分トイレにこもる。 その影響でゼミに遅刻。

どんなにのどが痛くても、 煙草は吸ってしまう自分って、、、

○[TDS] TdfEditor for hns

違うのは出力するファイル名だけなので、 簡単に出来るとは思います。

TdfEditor とか言っても、

しかしてなかったりします。 ですので、 あんまり 期待されちゃったりすると、 照れちゃいます。

WebBase な TdfEditor は作ってはみたんだけど、 *.tdf 直書きだと、SuExec ないと駄目だし、 mail2tdf 経由だと、 メールに生パスワード書くのもなんかなぁ、ってかんじだし、 セキュリティ的にちょっと問題ありなかんじもします。

日記鯖なんかはパーミッションとかどうしてるんでしょか。

○ かみなりー

うをーなんだかすごいなぁ。

○ ぐるぐる

が順調に続いてる模様。 こりゃはやく 1.00 を beta にもってかなきゃな。

研究室で、 製品情報をちょっと見てみようとクリックしたら、 いきなりそういう画像が出て焦った。

_ 男日照りなりか

の SPAM は、 ReadMe! 登録者宛てだったらしい。

_ ICQ

私は26299053 だったりします。 このごろ全然使ってないけど。

_ 一言機能

だれか使ってみてくれー、 と言ってみるテスト。

○[涼子] 慶応??

hirosue-ml より:

10月17日に、慶応大日吉キャンパスにおいて開催される、OB向けの学園祭に出 演するそうです。

な、なぜに慶応、、、、

○ MFC

CWinApp の派生クラスの関数から ドキュメントを取得する方法(SDI の場合):

 POSITION pos;
pos = GetFirstDocTemplatePosition();
CDocTemplate* pTempl = GetNextDocTemplate(pos);
pos = pTempl->GetFirstDocPosition();
CTdfEditorDoc* pDoc = (CTdfEditorDoc*)(pTempl->GetNextDoc(pos));

ドキュメントテンプレート経由。

_ m_pDocManager

CWinApp::AddDocTemplate()(src/appui2.cpp) で new CDocManager される。

_ NetNews へ助けを求める

しかし、 ヘルプとソースが無いと(あっても)手が出せんな、MFC は。 SPYとか使えるといいのかもしんないけど。

ってことで、fj.os.ms-windows.programming,japan.comp.lang.visual-c++ へ。

From: TANAKA Tomonari <[email protected]>
Subject: [Q] replace CFileDialog to CMyDialog on ON_FILE_OPEN,,
Newsgroups: japan.comp.lang.visual-c++,fj.os.ms-windows.programming
Date: 22 Jul 1999 02:38:24 +0900
/PRESender: [email protected]
X-Emacs: Emacs 20.2, MULE 3.0 (MOMIJINOGA), Meadow-1.00 (MIDORI)
MIME-Version: 1.0 (generated by SEMI MIME-Edit 0.100 - "Shijima")
Content-Type: text/plain; charset=ISO-2022-JP
Message-ID: <[email protected]>
X-Newsreader: Semi-gnus 6.0.4 (based on Quassia Gnus v0.23)
Lines: 42
Xref: MAGI.morito.mgmt.waseda.ac.jp queue:1

たなかと申します。

「ファイルを開く」や「名前をつけて保存」をした時のダイアログを CFileDialog ではなく、

+-------------------------+
+ 日記ファイルを開く      +
+-------------------------+
+ ____ 年 __ 月 __ 日     +
+                         +
+       [OK]  [Cancel]    +
+-------------------------+

のような自作のダイアログ(COpenTdfDlg)に置き換えるにはどうしたらよいのでしょうか?

ヘルプやソースを追ったところ、 ID_FILE_OPEN を CWinApp::OnFileOpen() でハンドルし、 これが m_DocManager->DoPromptFileName()を呼び出し、 その中で CFileDialog が使われるようです。

ID_FILE_SAVE は、CDocument::DoSave(NULL) で AfxGetApp()->DoPromptFileName() が呼び出されます。

CMyApp で DoPromptFileName() をオーバーライドすればよいのかと思いましたが、 virtual ではないので呼び出されません。 CDocManager::DoPromptFileName() は virtual なのですが、 CWinApp::AddDocTemplate()(src/appui2.cpp) で new CDocManager に hard coding されているので、買える事が出来ません。

苦肉の策として、 COpenTdfDlg を使う CMyApp::PromptFilename() というのを作り、 CMyApp::OnFileOpen() で呼び出すようにしたのですが、 保存の時にも同じような事(というかもっと面倒)をやらなければなりません。

何かいい方法はないでしょうか?
(http://www.morito.mgmt.waseda.ac.jp/~tom/tawagoto/d199907c.html#20-3)に詳細があります。

-- 
tom	TANAKA Tomonari
	[email protected]
	http://www.morito.mgmt.waseda.ac.jp/~tom/
○ ひるめし

は十八番の旨煮チャーハン。 うまし。\600。


1999.7.22(Thu)

○ 起床

ひるー

○ ぐる
_ GNU-screen

私は prefix を C-t に しています。

○ かみなりー

またいきなりきた。 ほんといきなり、って感じ。 あわてて洗濯物を取る。

かみなりのせいか知らんが、 ここ数日モデムの調子が悪い。 ジー、ガーで止まっちゃう事多し。

○ 広告掲載依頼

のメールが BCC でくる。 大学サイトじゃ出来ないっちゅうに。

○ スケジューリング部会

いつもどおり青学にて。 学校寄ろうと思ったが、 かみなりがすごいんで直接行くことに。

「金型工程管理システムの構築と運用の実際」
Zexel 生産技術課 神垣 敏光

なかなか面白い話が聴けた。 「実際」というだけあって、 生産現場をかなり意識、というか尊重したシステム運用。 私らアカデミックな世界だと、どうしてもモデルとして捕らえ、 現場のことをさておいてしまう傾向が強いのだが、 「現場を味方につけると、強い」という言葉通り、 運用過程についての話が聴けた。

システム作りより、それを運用させるまでのほうが長い時間かかる。 現場の裁量生産を設ける。 特急ジョブは、 ラインに混ぜるのではなく、 特定の時間(一週間に半日など)特急ジョブ専用にラインをあける。 品質工学は田口チック。 生産システムの評価は、 生産の安定性とコスト。 余裕のあるジョブとないジョブを分ける。 これは部品構造による(足が長い、短い、など)。

○ 夏合宿

今年は趣を変えるようなので、 M1 も発表(あるいは補助調査)らしい。 どうやら MRP と JIT の違いをまとめることになりそう。 ってあと3日しかないやん。

○ ibook

うちの姉がほしーほしー言いそう。 おいらもちょっと欲しいかも。

○[TDS] スナップショット

を毎日取るようにした。 ここにあります。 cvs export ではなく checkout なので、 CVS/ がついてますが、お気になさらぬよう。


1999.7.23(Fri)

○ 起床

この頃夜更かし気味だからなぁ。 かぜは良くなってきたみたいだけど。

○ DoPromptFileName
ファイルを開く時
CWinApp::OnOpenFile() でハンドル。 m_pDocManager->OnFileOpen() 経由で DoPromptFileName() を呼び出し、 得られたファイル名 newFile を AfxGetApp()->OpenDocumentFile(newFile) する。
ファイルを保存する時
yet
○ inetd: junk pointer

が triones で出る。 なんだか log.cgi がとてつもなくメモリを使ったことが原因らしい。 ごめん、みんな。 ちと改良せねば。

cvs commit できないようなので、 ftp する。

○ ひな

あれ、

No such file or directory [] at hinadc.pl line 487.

ってのがでる。 別に何も変えてないのに、、 上記 junk pointer の影響か。

hinadc.pl で狙う remote を自分の所だけにしたら直った。

○ ぐる

リンクされたら補足する、という原則を忠実に守っています。

_ C-t

よく使いますか。 前後文字の入れ替えって、私はほとんど使いませんです。 どっちがどっちと入れ替わるか分かんなくなっちゃうので、 typo したら消して打ち直しちゃいますし。

_ ひらがな

私もメールのかきだしは、 「たなかです」とか「もりとけんのたなかです」とか ひらがなをよく使いますね。 別にどのような認識もないんだけど、、、 そういえば UNIX Magazine の記事の終わりの署名(?)は、

(あらい・みちこ ASTEC)

みたくみんなひらがなですね。

_ 流穂さんとこ

が全然見えない。 どうやら <title> の contents が文字化けしてるかららしい。

○

髪切ってがっこ行って論文取って triones リブートしてこよ、っと。

檸檬、堕落論をすでに読了してしまったので、 この前貰った図書券で何か買おう。

○ 散髪

いつもの床屋で散髪。 肩とかマッサージしてくれるのがキモチえぇは。

○ BOOK OFF

さっぱりしたところで学校へ向かうも、 途中寄った BOOK OFF につかまり、 数時間浪費してしまう。 文庫を探したのだが、 なんだか最近のいわゆる「売れ筋作家」ばっかりで 読みたいものが見つからない。 夏目も鴎外も置かない、ってのは それはそれで一つのポリシーなのだろうが。 岩波文庫なんてあるわけがない。

清水義範の「永遠のジャックアンドベティ」に笑う。 家にあるのだが、 思わず手に取ってしまったら読んでしまった。

いまいちピンとくるものがなかったので、 3F のコミックスにあがる。 哲也 8巻発見。即ゲット。 暴力の都 1,3,4 を読んでしまう。 最初の頃と顔ちがうな、やっぱ。

○ がっこ到着

ってなうちに外が暗くなってきてしまったので、 がっこに向かう。 日置に頼んでおいた論文をゲット。 調子悪げな triones を reboot。 あれ、なんで routed なんて動かそうとするの? sendmail も hostname not quori.. とか唸ってるし。 もいっかいちゃんと設定見直さねば。 それとも CQ2 導入に向けて Linux に統一するか?

○ たれぱんだ

UFOキャッチャーはこれ一色だな。

○ シッカロール

寝る前に首筋につけて寝るといいみたい。

○[TDS] TdfEditor on Web

を改訂。 ただいま、 限定公開中。まだ cookie認証をしていないので、 誰でも見られます。 ただし 1999/07 分のみ。 書き込みは実装していません。

ありゃ、エラーが出てた。 修正。


1999.7.24(Sat)

○ 起床

うぉー、あちー。 夏だな、こりゃ。 洗濯物が乾く乾く。

○[TDS] mail2tdf

がなんとか動いた。 tdf_editor.cgi からも送れるようになった。 自分では使わないけど、、、

しかしメールに PASSWORD 生書きは致し方ないのだろうか。

.forward に

\foo|/usr/local/bin/perl /home/foo/diary/bin/mail2tdf.pl foo

と記述。

メールの書式は、

From: [email protected]
Subject: [mail2tdf](ADD|GET|DELETE|REPLACE)
(空行)
 PASSWORD *****
 DATE CCYY MM DD
(空行)
本文、、、

ADD,GET などのアクションを省略すると、ADD と見做す。 DATEを省略すると、今日の日記を対象にする。 PASSWORDは必須。 @accept_from に書かれてない差出人からは受け付けない (@accept_from はデフォルトで $TDS::System::MailAddress が入っている)。

まだ受け取り通知などは発行しない。 一応 log/mail2tdf.log には書き込むが。 処理のはじめに入力をすべて print しているため、 tdfメールも同じようにメールとして送られる。 ほんとは結果に加工して print した方がいいのだろうが、 バグ混入時の安全のため、 まず出力するようにした。

パスワードを記録するためのツール。 make password で呼び出される。 しかし perl で getpass() ってどうやるんだろ。

_ tdf_editor.cgi

では、 SuExec モード と tdf2mail モードを自動判別する。 SuExec が有効かどうかは $UID == $EUID で判別。 Win32 上だと両方とも 0 なので、こっち。 そうではない場合は tdf2mail モード。 Win32 だと(通常は) sendmail ないもんね。

○ push/pull

論文読み読み。 JIT=pull/MRP=push とは正確ではない。

○[弓道] 縁日

大体読み終わったので、 弓に出発。 地元の商店街が縁日やってるみたい。 さすがに道着来てあるくのはなんなので、 ポロシャツトレパンで行く。

しかしこの商店街もさみしいなぁ。 最近子供もすくないし、 仕舞屋 *1が増えたし。

ってわけで、 とりあえず生ビール+焼き鳥を頂きながら道場へ向かう。

着いたのはお茶の時間。 私は燃費がいい方なので、 多少いい気分になりながら着替える。

ひたすら巻藁小僧。 一本足やクローズ、オープンスタンスを試す。 やはり手の内の中指が握り過ぎ。 だからパクパクしちゃうのだ。

やっぱ引分けを均等に、とか妻手の力を抜いて、とか考えないで引くと、 中るんだなぁ、これが。

-------
*1:しもたや:商売をやめた家のこと

○ リダイヤル

あぅ、切ったはずなのに、 いつのまにかリダイヤルしてる、、、 1時間半も無駄にダイヤルしてた。もったいない。 なんでだろ。


1999.7.25(Sun)

○ 起床

あづー

○[TDS] 一言の名前

をjavascript でクッキーから表示させるようにした。 noscript は value=""。 SSI使ってもいいんだけど、 こんだけのためには重過ぎ、ってことで。

しばらく安定稼動が続いたら、 alpha2 をリリース。 来月頭ぐらいか。

○ まや

なんだかまたポスペをやりはじめてしまった。 やっと「一生懸命配っています」に。 29通。

○ 長野行新幹線

東京発下り

あさま下り

しなの鉄道

○[読書] 痴人の愛

谷崎潤一郎。 \520。 図書券で買う。

○ 技術文書

追加。これは TDS についての文書ですが、 コマンド解析部は、hns も似たようなものですから、 これを元にそっちのほうも作っていきましょう。

○ ぐる
_ きいさん

直しておきましたです。

○ 山下洋輔のジャズの掟

再放送してたですか。 実はテキストだけ買って本編見てなかったりする、、

○ 開き過ぎ

明らかに開き過ぎな 画面


1999.7.26(Mon)

○ 起床

07:20。 7/28 に帰ってきます。

○ ゼミ合宿一日目
_ ゼミの内容

については一切書きません。 書いても構わないのかもしれないけど、 何か問題が起こったらいやなので。

_ 東京発

あさま 515 は、10:30 だと思ったら、10:20 だった。 10:05 には東京に着いてたので大丈夫だったが。 軽井沢まで \5,240。 すでに長蛇の列ができていたので座れないと思っていたが、 ちょうどぽつんと3号車の一番後ろの席が空いていたので、 さくっと座る。

ひたすら痴人の愛を読み読み。 男って、、 一時間で半分読了。

_ 軽井沢

5分で素通り。 11:28 着で 11:35 しなの鉄道発なんだもん。

_ 信濃追分

ものの5分で到着。 タクシーを呼ぼうとも思ったが、 去年坂本さんとか歩いてたよなぁ、ってことで徒歩。 たしか徒歩20分って書いてあったから、 まあ道なりに行けばなんとかなるだろう、と地図も持たないくせに 甘く見る。 案の定途中の三叉路でどっちに行けばいいか分からなくなり、 途方にくれる。 トラックの運ちゃんに聞くも、しらん。

しばらく歩いて対向車を止めて聞くと、 人の良いおっちゃんで、GPS つきなので、 探してもらっちゃう。 感謝です。ほんとに。 どうやらとても 20分じゃつけそうも無い距離なので、 「乗っけてってあげるよ」 という優しいお言葉に甘えて乗せてもらう。 あ、そういえばシートベルトしてなかった。

早稲田ということで、定番の広末ネタから始まり、 僕は理工で校舎が別でって話から、 「理工だけに利口そうだね」 などというベタな言葉ではなく、 「賢そうな顔してるもんね」などと言われる。

どうやら私は、 「真面目そう」とか「頭よさそう」とかいう第一印象を与えるらしく (もちろん社交辞令だが)、 実際はそうではない、と気づいた時点でその印象を告げられることが多い。



「田中さん、って真面目な人だと思ってました」

18 号から入るところが非常に分かり難いのだが、 一応そこは覚えていたので、 セミナーハウスまで無事到着。 ほんとありがとうです。

_ セミナーハウス到着

12:00 ジャストに到着。 集合時間の 30 分前に着くなんて、 おれじゃないみたい。 当然一番のり。 管理人さんと話したり おっきいうんこしたり 本読んだりしてるうちに、 続々と集まり出す。 が、幹事カーが来ない。 先生が来ても来ない。 ようやく30分過ぎて到着。

13:00 ゼミ開始の予定が、 なんやかんやで 14:30 開始。 二人分ずれこむ。

_ カレーライス

和歌山カレー事件の余韻を残しつつ、 カレーライス作り。

火をおこすのがやっぱり大変。 でもさすがアウトドアな 黒川君が火を手に、灰を頭に浴びつつ火を広げてくれる。 やっぱここらへんは経験の差だよなぁ、 とか妙に関心してしまう。

ってわけで、 鍋に油を入れ、 炒め係を担当。 ものすごい煙に涙しながらも、 鳥肉、野菜を炒める。 人参が全然柔らかくなんないので、 煮りゃどうにかなる、と打ち止め。

目の限界を超えたので、 煮る段になって交代。 バスケをしてご飯をおいしくする。

汗をかいてもどってくると、 なかなかうまい具合にいってるよう。 ちょっととろみが足りないが、 カレーの味してます。

それぞれのご飯にカレーをかける、という

小学校の時の給食係
を彷彿させる姿で準備を完了し、 いざ食事。

ふむ、なかなかいける。 うまいじゃないの。

○ 夜セミ

またもや片づけ等で開始が遅れる。 ぎりぎりの 22:00 まで。

○ 飲み会

ビールはなく発砲酒。 私は発砲酒の類はほとんど飲まないのだが、 ブロイって結構あまり変わらないのね。

開始が遅かったので先生もはやくひけて、 なんだかんだ飲んでて 26:00。 そろそろ片づけに入ったので、 布団しいて寝るか、と思ったが、 ちょっと本読んで一服してから、と 外のベンチに座っていたら、 逆瀬研のおっくんが来て、 そのままワインやらなんやら飲みながら話す。 もちろん内容は書けない。

さすがに 27:00 を過ぎると寒くなってきたので、 退散。


1999.7.27(Tue)

○ ゼミ合宿二日目
_ 起床

眠いが腹が減ったので起きる。 朝食は相変わらず同じメニュー。

_ そうめん

昼飯はそうめんとそば。 やっぱ火をおこすのに時間がかかる。

そばはなかなか上手し。 しかし、そうめんが、、、 スイカはヒットだったぞよ。

ゼミ開始が 45 分遅れる。

_ サッカー

予定より一時間オーバーでゼミ終了。 すでに4時だが、 逆瀬川研とのサッカー対決。

念願の

初(?)勝利
すくなくとも、この4年間は勝っていなかったはず。

今年の逆瀬研は、 サッカー経験者が多い上、 がたいのいい四年生が多いときいていて、 今年も駄目か、と悲観していただけあって、 なんともうれしい。

去年に引き続き、 私はゴールキーパー。 去年はコート一面だったのだが、 今年は二面になっていた。 広さが半分になった、ってこと。 ハーフウェイラインがすぐそこだから、 キーパーとしては恐い。

去年のようにシュートを打たれ続ける事を覚悟したが、 なんだか今年は攻める時間が多い。 ちゃんとパスもつながってるし、サッカーになってる。

驚くべき事に先取点をうちがいれ、 その後も2点3点と得点を重ねる。 何?どういうこと?

しばらく私も無得点に押さえていたが、 コーナーでファーに上げられ(私はニアに近いところにいた)、 ボールを追った所を折り返され、体ごと押し込まれてしまった。 二つ目の失点も、 カウンターで持ってこられ、 訳が分からないまま突っ込まれて押し込まれてしまった。 まだまだ俺も甘いな。

だが、 ロビングのキャッチングや、 ラインディングパスへの飛び出し、 一対一でのセービングなど、 なかなか的確な守りは随所に見られた。 この細い体、しかも眼鏡をかけた状態にもかかわらず、 体格の良い相手フォワードに果敢に飛び込んでく様は、 見るものに感動を、相手に畏怖感を与えたらしい。

なかでも圧巻だったのが、 前半終了間際、 至近距離からのゴール右上ぎりぎりへのシュートを フィスティングで見事に防いだ場面だ。 これは我ながら良い反応と処理をしたと思う。 (キーパから見て)右45度からのゴール右は、 キャッチしてしまうと体ごとゴールに倒れ込んでしまうし、 パンチングだと浮き玉をゴール前にあげてしまう危険性がある。 そこで手のひら(あるいは指)でポストバー上にはじいて コーナーに逃げる、という方法が有効らしい (この話は後から教えてもらったのだが)。 もちろんそんなことは露も知らず反射的にはじいただけなのだが、 だからこそ、

もしかしておれって天才?
と勘違いしそうになるのである。

前半はたしか 5-2 くらいで折り返す。 逆瀬研の方から、

森戸研、キーパー強すぎ」 とか、 「専属キーパー雇ってるの?」 とか話してる声が聞こえる。 たしかにちと張り切り過ぎたかも知れん。 結構こういうのってムキになって頑張っちゃうたちなのよねん。 だから眼鏡壊すんだっちゅーに *1。 コートが狭いので 11 人だと人多すぎってことで、 後半は 8-8 でやったみたい。

疲れたので見ていたが、 岡村君が交代したいらしいので、 フィールドプレーヤーとして参加。 ライトウィング。

だが走ると眼鏡がすぐ外れたり、 足の指の爪割ったりしてたので、 思うとおり動けず。 ってゆうか、 根本的に脚力が落ちてるのが原因なんだけど。

だが、相手のクリアミスのボールを奪い、 美味しい一点を挙げる。

後半になってくろがキーパーに下がったからか、 中盤を支配され立て続けにゴールを奪われる。 ついに同点となり V ゴール形式に移行した時、 くろが MF に復帰。 またもや私がキーパーに入る。

一点取られたらお終いという緊張が続いたが、 5分ぐらいして福島君がついに決勝ゴールを奪う。 かくして森戸研は久々の勝利の美酒に酔ったのであった。

_ 痴人の愛

風呂に入った後、 夕飯が始まるまで読書タイム。 痴人の愛を読了。

_ バーベキュー

勝負の掟に従い、 敗者の逆瀬研が火をおこす係に、 という訳ではないと思うが、 うちらはもう二回やってるから、 いい加減疲れた、ってのがある。

いろいろ問題はあったが、 まあ楽しいバーベキューではあった。

_ 夜のバスケ大会

怒られた。 ごめんなさい。

_ 卓球

夜の卓球教室。 逆瀬研の M1 衆を相手に、 卓球の基本、フォア、バックの打ち方を基礎から教える。

-------
*1:応用:二日酔いだっちゅーに


1999.7.28(Wed)

○ 帰宅

ふぅ、東京暑い、、、 筋肉痛が、、、

○ ゼミ合宿三日目
_ 起床

さすがに眠い。 体痛い。

_ ゼミ終了

あんなこんなで全予定終了。 記念撮影して解散。 帰りはあかっきーカーに乗せてもらう。

_ ひるめしー

軽井沢にいっておみやげ買い買い。 いつもどおり信州そばと野沢菜を購入。 弓の皆様用に信州限定コロン+α。

駅前の蕎麦屋でざるそば \700。 さすがに麺に腰が有る。

_ 帰途

関越乗って練馬で降りて 新目白通って学校着。 プロジェクターなどの荷物や酒などを搬入。 しかし、部屋は暑い。 35 度越えてるし。

ちょっとメール読んだり日記読んだりしたりして、 出発。 駅から家に辿り着くのに、 いつもの倍かかった。

17:40。 はふー。つかれち。

○[弓道] 脱力

速攻でシャワー浴びようと思っていたのだが、 あっという間にばたんきゅー。

目が覚めたらすでに19:30。 筋肉痛を押して着替えて出発。 歩くと体の節々が痛い。

20:00 着。 巻藁をちょっとやったあと、 立ちに出る。 この前妻手の力を抜ききる事を覚えたので、 それを定着させる練習。

最初の一射は外したが、 それ以後立射までの 11 射はすべて中り。

矢に色が着くのは、 離れで妻手で引っかいてるからか。 右は腕で張るだけ、 手首は全く力を抜く。 手先はすべて弦にまかせ、 引っかかってるだけ。 狙いをつけ腕を押し開けば、 当然のごとく矢はまっすぐ飛んでいく。

最近会が長くなったのだが、 かなり力んだ状態で持ってただけのような気がする。 今の射かただと、 会が全然つらくない。 あんまり長くもってると、 妻手の中指が外れそうになり逆に力がかかってしまうため、 無理に持とうとはせず、 気の流れにしたい離れを起こす。 そうすると、 矢飛びはまっすぐで、 中る、というより外れない状態になる。

手の内は確かに難しいが、 弓手はひたすら押していくだけなので、 動きに関する自由度はすくない。 それに対し妻手は、 「ひじを曲げる」という動作が入るため、 格段に自由度が増すため、 理想どおりの動きを行うのが難しい。 また、かけという人口物をはめ、 ちゃんと持たないと離れてしまうのではないか、 という恐怖心から、 脱力することが非常に難しい。 顔の後ろのため、 動きを確認することができない。 力を意識しやすい手先ではなくひじ、腕で引く、 という認識しがたい力の作用が必要になる。 多くの人は右が利き腕の上、 曲げるという動作のほうが力が入りやすいため、 どうしてもパチンコのように「引っ張る」 という動作になりがちである。

このような理由から、 弓手に比べて妻手の動きの方が格段に習得しづらい、 と私は考える。

○ ツール

tclock 2.2.6.2

○ メモリオーバー on triones

がよく起こると思ったら、 どうやら hina2.1 のバグ(?)らしい。

○ かれかのネットリンクス

停止したらしい。 っていっても、 全然ページ更新してなかったしなぁ。

○ 学院生

、、、

OBの皆さんの意見(7/28)と言っても、、、

○ ぐる

ふみゅ、参加してみちゃおうかなぁ、なんて。 本物名刺作らねば。

○ 木多康明

む、マガジン進出か。 いまいちネタの新鮮さに欠けるような。 やってること同じだし。


1999.7.29(Thu)

○ 起床

ひるー。 まだ体が痛い。 ソフトウェアの論文をやらねば。

○[TDS] 一言機能

triones で一言サブミットして back リンクで戻ると、 www の方にいってしまってました。 これは $TDS::System::DiaryURL を使ってたからで、 $ENV{'HTTP_REFERER'} に変えました。 domain が違うので、 triones で保存されたクッキーは、www の方では見えない、と。

すぐに反映されない件については、 静的モードだとすぐには HTML を更新しないからです。 これだといろいろ不都合が生じるので、 SSIで挿入することにしました。

○ ICQをアンインストール

勝手にリダイヤルすることがあるし、 繋がった時無条件でアクティブウィンドウになってしまうのが うざったかったから。

○ Openfind

ってロボットがいきなりががっと取に来た。 即 robotlist.txt 行き。

○ 福井県

ってあったっけ?と某人に聞かれる。

○ ブレンダ

ビバリーやってる、と思ったら、 ブレンダがいて驚く。 再放送か。 やっぱ高校の時のブレンダが一番好きだな。

○[HNS] webif

をいぢってみる。


1999.7.30(Fri)

○ ガス爆発

ひるめしを食ってたら、 消防自動車のサイレンがけたたましく鳴る。 今日は風が強いから危ないなぁとのほほんと構えてたら、 なんだかとっても近くで鳴り続けてる。 ほにゃ?と思ってると、 続いて2台、3台と続いきて商店街に入っていくし、 続いてきた大型消防車も何故か家の前の狭い道を入っていく。 パトカーや救急車も来たので、結構大事らしい。

しばらく家の前で傍観していたが、 なんだかこりゃすごいんじゃないかと、 ズボンを着替えて偵察 *1に出発。

事前に近くの酒屋さんでタバコを買いつつ、 情報集め。 どうやら商店街の真中辺で ガス爆発があったらしい。 一般車が商店街入り口の止めてあり、 全然どかなかったので、 数台裏から回ったのが、うちの前を通ったものらしい。 担架が搬入されたので、 怪我人が出たらしいとのこと。

店を後にし事故現場へ向かう。 何台もある大型消防車の横をすりぬけ、 近くに辿り着くと、 やはり多少焦げ臭い。 だが、ほとんど火の手はあがってないようだ。 現場は商店街からちょこっと入った住宅のよう。 さすがにそこまで足は伸ばせなかったが、 燃えてる様子も消した様子も無い。 ホースは伸びていたが、 使った形跡は無く、 既に片づけに入っていた。 酸素ボンベを背負った隊員が撤収作業に入った所だった。

担架もおいてあったが、 救急用具が上に乗せられているだけで、 怪我人は出なかった模様。

大型消防車6台、パトカー、救急車1台が出動したわりには、 思いのほか小規模な事故だった模様。 隊員の皆様はご苦労さまだが、 大きな事故にはならなかったことは幸いだ。 当事者は 始末書書かされるんだろうけど。

-------
*1:決して野次馬ではないはずだ

○[授業] ソフトウェア管理レポート

をふにふにと作成。 明日まで。

各発表のまとめは、 abstract をちょこちょこっと変えて作成。 あとは感想。 計3ページ。

○ 冷やし中華

腹が減ったので、 冷やし中華を作って食う。 具はきゅうりと玉子と白州干し。 ハムが無かったのが残念。

玉子はなんだかプレーンオムレツになってしまった。 麺はちと茹で過ぎて、 細切れになってしまった模様。 でもまあうまし。

この頃料理をとんとしてないんで、 またやり始めるか。

○ ぐる
_ 当選

しましたか。おめでとうございます。 一回もぐりこんじゃおうかしらん。 すぐばれるって。

_ hauN 移転

お、しばしばさんhauN に移転しましたかぁ。

○ 落ち

この頃突然マシンの電源が落ちる事が多い。 暑さのせい?

あまりに頻発するので、 scandisk かけて最適化をやる。

、、が、

最適化の最中に、突然フリーズ。
再起動もいかず、 すわディスククラッシュかとフロッピーで 立ちあげようとしても駄目。 やべー、と思い筐体の蓋を空けて 電源を投入したところ、 なぜか上手く立ち上がる。 ふーむ、何故だろう。 不安定な時に最適化をしてはいけないらしい。

OS再インストールになったとしても、 データは D: に置いているので被害はすくない。 大きいアーカイブもとってあるし。 D: もやられたとしても、 www も source も tex も My documents も ほぼ学校のマシンと同期を取っているので、 まあ大丈夫といえば大丈夫と言える。 メールも完全ではないが学校のマシンでも落してるし。

○[TDS] スタイル

hns でいうところのテーマ機能を導入することにした。

基本的に設定は skelton.html だけで出来るようにしてたのだが、 設定項目を増やそうと思ったととてつもなく面倒なので、 素直に perl script に書いた方が楽なのだ。 もちろん skelton.html でも基本的な設定はできるが、 拡張的な設定はこっちに移行しよう。

$WebDiaryDir/styles/スタイル名 以下に 雛形ファイル(skelton.html,summary_skelton.html, log_skelton.html)、 テンプレート設定スクリプト(template.ph)を置くと、 それが用いられる。 スタイル名を指定しない場合や それらのファイルが存在しない場合は、 $WebDiaryDir 直下のが用いられる。

デフォルトのスタイルは、

の三つ。

○ フルハウス

やっぱ映画とかドラマ(特にコメディ)って 聞き取るの難しい。 早口だし、ぼそって言う事有るし、 ユーモアとかスラングとか分からんし。 ビジネス英会話のインタビューとかの方が、 論点がはっきりしてるし、 発音もかなり正確なので非常に聞き取り易い。

まあフルハウスの場合は、 笑い所は流れで簡単に分かる(というか観客が義務的に笑ってる) けど。 みんなおっきくなったなぁ。


1999.7.31(Sat)

○ 起床

10:10。 今日も暑い。 レポート書いて出しにいかなかきゃ。

○ ごき

台所は裸足であるいては行けない。 コンバットで弱っていたごきをふにゃっと踏んでしまった。

○[授業] レポート

ソフトウェアも、 やっつけで作った知識情報処理もどうにか終わった。

これで前期科目はすべて終了。

○[弓道] きれそう

ふにゅー、また駄目だあ。 この前「外れる気がしない」とか言ってたのが、 まったく逆。 掃き矢ばっか。 どうやら妻手の問題より、 弓手の問題っぽい。

腕を打ったり胸を払ったり前矢ばっかでたりするのは、 大抵手の内が逃げていて弓手が押せていない。 妻手が悪い時は矢に色がつく。 トラブルシューティングでも作ろうかな。

中盤まで全然駄目。 いっくらやっても掃き矢ばっか。 この状態で的前に出てもしょうがないので、 ひたすら巻藁。

会に入った時、あ、こりゃ腕打つな、と思うと、 ほぼ 100% 打つ。 意識的、無意識的に離れが緩む、というか 弓手を前にしてしまうので、 しっかりつのみがきかずに前矢になる。

だからといって大三でいれすぎないようにしても、 ちゃんとからまず、変なところでとまってしまい、 やっぱり前矢。

なんだかんだ言って、 ちゃんと虎の口を弓にからませないと駄目。 大三で下手に 7-3 にしようとすると、 逃げてばっかになる。

そっからからみが逃げないように押していくと、 思いのほか上手くいった。 妻手はまだまだ力が入ってるが、 弓手がちゃんとからんで押せるようになると、 分散が小さくなる。

妻手に力が残っていると、 離れの際に、 一旦力を抜く(緩む)、あるいは 自分で切る、などの動作が必要になってくる。 これが弦への振動となり、 矢所の正確性を落す。

とにもかくにも、 明日は月例会。 控えめに、 羽分けを目標にしよう。

○ SPAM

また risa から。

下のURLをクリックすと、 自動接続プログラムが御客様のデスクトップにダウンロードされます。 そして、デスクトップに戻って、もう一度このボタンを押すと「秘密のURL」へ接続されます。 その後は自動的にりさの極秘ライブにリンクされるのでりさとHな会話を思う存分に楽しんでください!

勝手に接続されて、 馬鹿だかい情報量とられるんだろうなぁ。

○[TDS] mail2tdf

package 化する。 なかなかいいかんじ。

○ 就寝

やば、明日朝早いのに。 26:14。


以上、 12 日分です。



[最新版] [一覧] << == >>


このページは Tomsoft Diary System 1.00-alpha4-unreleased を用いて 生成されています。
[TDS]


[Tom's Squire]