ICT スクール 2008 を修了して。

あれは・・。あれですね。

非常に高速な授業内容で、短い期間で作品を作成して。

知恵熱(覚えすぎや頭の使いすぎやらなにやらで、強烈な頭痛に悩まされます。これ。)もでますし、
期限とにらめっこしながら、膨大な量のかつよくわからないコードを、初めての言語で操作して。

そんな新しいことづくしで、高速な内容で。

制作中はやっぱり、「来年は・・。もしあってもちょっと遠慮させてもらうかな・・。」と正直思っていましたが、ふと思い返してみれば、「来年もやってみようかな」となるわけです。

なんとなく、あの猛烈に頭が動いている時というのは、
ICT スクール内のコミュニティの中でも記述されていましたが、いいのかもしれませんね。
(そのへん、茂木先生どうなんでしょうか。

そいでもって、さらに持ってくるなら、これを浦島効果 というそうで。

にしても、あれです。まず最初に生活リズムが完璧に狂っています。今のところ。
睡眠時間が、ICTっぽい睡眠時間になってます。

それと、コードが早く浮かぶようになりまして、
文章もいい感じで早く浮かぶわけです。

これはあれでしょうね。脳みそのコアクロックが確実にあがったような。そんな気がしないでもありません。

コミュニティサイトの方には 一気に学習してみることを薦めます。とのこと。
ちょうど良く夏休みの宿題が完全に放置されているのでやってみることにします。

それにしても・・。本当に疲れました。えぇ。疲れた。本当に。
でも、無駄な疲れ方ではないですし。

Goto 大阪 (大阪出張1日目)

研修先である、x wave 梅田 より。

 

そんなわけで、

朝5時起きで起きて、6:20頃の電車に乗り、

東海道新幹線(のぞみ)にのって、

今大阪におります。

 

降りてすぐに感じたのが、

大阪は暑い。と。

非常に暑い。と。

とても蒸し暑かったのが第一の印象です。

すんでいるところが涼しいのか。その辺はよくわかりませんが、とにかく暑かったです。えぇ。

 

そして。

 

ICT スクール 2008 ということで、とりあえずはまぁ、やっております。

結構次元が違うと思います。あれは。

好きじゃなきゃできませんよ。

でも、PCについて相当レンジが広いので、

お絵かきやりたい、だとか、曲を作りたい、だとか、もちろんプログラム書きたい。ってのも。

なんでもやってます。

驚きですが、好きな分野でないと到底ついて行けません。

今日はグラフィックについて(3Dテクスチャをメタセコイアで作ってみたり。)やってみましたが、これは・・。家である程度予習しないと厳しいですね・・。

私も一度しか使ったことないですし、もう忘れていましたので、恐ろしい状態に。

おかげさまで、完成しているような完成していないような不思議な状況になってしまいました。

 

それでも、操作方法が覚えられたので、これはこれでおもしろかったかな・・。と。

 

明日は午前9:00からまた講習があるようで、

終了が午後11:30までPCに浸かってきます。ここまで授業名目で浸かるのもないのですがね・・。

 

さてさて・・。午前9:00からといっても、なぜか朝食が8:00までという悲惨すぎる状況なので、早く寝ます。

と言っている割にはずいぶんと夜更かししていますよね・・w

鏡を見てみると、自分の目がとろーんとしています。こりゃ寝なきゃ。

 

にしても、あれですね。

食事は・・。高い食事ですので私には余りおいしくないように感じてしまいましたが、きっとおいしいのでしょう・・。高級なお食事をお食べになられている皆さん。教えてくださいませ。

そして。浴槽はよくわからない、カーテンを風呂に入れて入る方法。私にはどうも合いません・・。浴槽に頭を洗った洗剤が流れるなんて。そして、浸かるのにも時間が要るし、余りお湯が張れないし。と。困ったものだ。

 

ベットは非常に寝心地が良さそうです。とっても高級感を感じます。

個室についても、カードキーっていうんですか?あれ。

カードをかざすとロック解除になって、中のリーダーにカードを差し込むと電気がつく。と。

文明ですね。これは。

 

まぁ・・。そんなところで本当に寝ないとまずそうなので。ではでは。

レジストリ肥大化は本当にまずいのか。

という、至って純粋な疑問が浮かんだために、ならば実験。

(夏休みですから・・。って関係ないか。

 

用意したもの

・レジストリに無駄なデータを大量に書き込むバッチスクリプト

・テスト用PC (PenM 2Ghz MEM:512MB)

 

観察

・最初はどーってことなく肥大化が進む。

system    は 117,440,512 バイト
software は 210,239,488 バイトでエラーが出る。

エラーが出た場合はREGコマンドは使用しているDLLファイルがおかしいとエラーを出し始め、

クリップボードについては「クリップボードのエラーです」と出て、

ワークグループの別のPCにアクセスしよう物なら、「リソースが足りないためこの処理を実行できません」とのこと。

ペイントでは大きい画像は勿論いじれないので、スクリーンショットなんて取ることはできず。

動画はとりあえず再生できるようでした。 (720×540 Divx エンコード  WMP で再生) ただ、初期化が極端に遅くなります。

マルチタスクがうまくできなくなってきます。

ネットワーク接続自体がおかしくなってきます。

キーボードの入力もおかしくなってきます。

DHCPでのIPアドレスの取得に相当時間がかかります。(5分や6分じゃ終わらない。

どこまでもプログラムが遅くなります。

字を忘れ始めます。

シャットダウンにどこまでも時間がかかります。

でも起動は特に変わらず。ふーしぎー。・・と思ったけど、ログイン画面が出てこない・・。あ。出てきた。

「やうこそ」からデスクトップが出てくるまで時間がかかります。

 

とまぁ。非常に危ない状態になります。

でも、普通のXP の環境でしたら SOFTWARE ファイルでも、5~6MBぐらいですから・・。

(多くても数十MBぐらい。100MB越えはしないかと。)

レジストリクリーナーを本当に実行しなければならないほど肥大化することはなさそうです。

でも高速化しそうですのでやってしまいます。でも、Vista のメインマシンでは不安なのでやりません。

適当な覚え書き。 HSP で PARAFORMAT2

なんでこうC++ で書かなかったのだと思うところではありますが、

しょうがないのでSDKのRichedit.h に書いてあったのをHSP風に解釈

 

———————————————————- (Richedit.h より抜粋。 持ってきて良いのかは疑問だけど。)

typedef struct _paraformat2
{
    UINT    cbSize;
    DWORD    dwMask;
    WORD    wNumbering;
    WORD    wReserved;
    LONG    dxStartIndent;
    LONG    dxRightIndent;
    LONG    dxOffset;
    WORD    wAlignment;
    SHORT    cTabCount;
    LONG    rgxTabs[MAX_TAB_STOPS];
     LONG    dySpaceBefore;            // Vertical spacing before para           
    LONG    dySpaceAfter;            // Vertical spacing after para           
    LONG    dyLineSpacing;            // Line spacing depending on Rule       
    SHORT    sStyle;                    // Style handle                           
    BYTE    bLineSpacingRule;        // Rule for line spacing (see tom.doc)   
    BYTE    bOutlineLevel;            // Outline Level                       
    WORD    wShadingWeight;            // Shading in hundredths of a per cent   
    WORD    wShadingStyle;            // Byte 0: style, nib 2: cfpat, 3: cbpat
    WORD    wNumberingStart;        // Starting value for numbering               
    WORD    wNumberingStyle;        // Alignment, Roman/Arabic, (), ), ., etc.
    WORD    wNumberingTab;            // Space bet 1st indent and 1st-line text
    WORD    wBorderSpace;            // Border-text spaces (nbl/bdr in pts)   
    WORD    wBorderWidth;            // Pen widths (nbl/bdr in half twips)   
    WORD    wBorders;                // Border styles (nibble/border)       
} PARAFORMAT2;

———————————————————-

参照:MSDN – PARAFORMAT2 Structure()

http://msdn.microsoft.com/en-us/library/bb787942(VS.85).aspx

 

宣言 HSP変数 メンバ名 オフセット サイズ
UNIT cbSize pfm2(0) cbSize 0 4
DWORD dwMask pfm2(1) dwMask 4 4
WORD wNumbering
WORD wReserved
上位ワード
下位ワード

pfm2(2)

wNumbering
wReserved
8
10
2
2
LONG    dxStartIndent pfm2(3) dxStartIndent 12 4
LONG    dxRightIndent pfm2(4) dxRightIndent 16 4
LONG    dxOffset pfm2(5) dxOffset 20 4
WORD wAlignment
SHORT cTabCount
上位ワード
下位ワード

pfm2(6)

wAlignment
cTabCount
24
26
2
2
LONG    rgxTabs[MAX_TAB_STOPS] pfm2(7) ~ pfm2(38) rgxTabs 28 128
LONG    dySpaceBefore pfm2(39) dySpaceBefore 156 4
LONG    dySpaceAfter pfm2(40) dySpaceAfter 160 4
LONG    dyLineSpacing pfm2(41) dyLineSpacing 164 4
SHORT    sStyle
BYTE  bLineSpacingRule
BYTE  bOutlineLevel
上位ワード
上位バイト
下位バイト

下位ワード

pfm2(42)

sStyle
bLineSpacingRule
bOutlineLevel
168
170
171
2
1
1
WORD    wShadingWeight
WORD    wShadingStyle
上位ワード
下位ワード

pfm2(43)

wShadingWeight
wShadingStyle
172
174
2
2
WORD    wNumberingStart
WORD    wNumberingStyle
上位ワード
下位ワード

pfm2(44)

wNumberingStart
wNumberingStyle
176
178
2
2
WORD    wNumberingTab
WORD    wBorderSpace
上位ワード
下位ワード

pfm2(45)

wNumberingTab
wBorderSpace
180
182
2
2
WORD    wBorderWidth
WORD    wBorders
上位ワード
下位ワード

pfm2(46)

wBorderWidth
wBorders
184
186
2
2

 

適当に書いてみましたが、こんな感じかな・・?

あっていればいいけれど。

 

んー・・。それより前に疑問なのが、

PARAFORMAT2 構造体をHSPで使う人って居るのかなぁ・・。なんて。

もしかして自分だけかも?なんて思いますが、

一応需要があったらいいなー。と

 

HSPで書く人への補足

cbSize は 188 バイト。

それと、ワード・バイトの書き込みは、

wpoke とか poke とか使うと楽かも。

逆は wpeek と peek

 

そんなわけで、一応書いてみると、

 

dim pfm2,47

pfm2(0)=188

 

ってなかんじで。

 

そんなわけで、

・間違いを発見した人

-> すぐに教えてください。

・これを見て書く人

-> 少しでも生かせれば幸いです。

Windows Live Messenger への曲通知。

ふと。

フリーソフトの H2k6 を使っている友人から

「曲通知したい」と。

作ってみました。

 

なかなか簡単なシステムで。わかりやすかったです。

最初はタイトルバーから取得しようかとも思っていたのですが、

見てみれば、再生時にコマンドラインを指定してプログラムを実行するオプションがあるじゃないですか。

 

ということで、これを使って・・。

http://mimumimu.net/software/#wlmis

Windows Live Messenger Music Info Sender.

つくってみました。

 

2010/02/13 
ここのページに飛んでくる人が多いのに、ダウンロードリンクを的確に指していなかったので、

上記リンクを現在の物に変更しました。

 

1.ダウンロードして、H2k6 と同じフォルダに send.exe を置く。

2.オプション -> 設定 -> トリガーに以下のように設定

演奏開始時 : send.exe %tagTitle%\0%tagArtist%

演奏停止時 : send.exe

 

これで再生時に通知されて表示され、

止めたときに消えます。

 

そして・・。

いちおーこのプログラム、

取っても単純で、

send.exe に続いて (曲名)\0(アーティスト)

を送りつけるだけで動きます。

新しいソフトウェアのサポートや

既存のソフトウェアに曲通知機能を付けたり。引数指定で起動できればどんなプログラムでも利用可能です。

 

—————————-

今回使用させていただきました 「H2k6」のダウンロード先

http://hogehoge2006.genin.jp/

 

————————————————————

P.S.

プログラマーの皆さんにいろいろと。

まず引数についてですが、チェックは何もやってません。(うわぁ。

あと、(曲名)と(アーティスト)のあいだの\0 ですが、

これは 0x0000 の \0 ではありません。

0x5c,0x30 の \0 です。

もっと言えば、 \0 ではなくて \\0 になりますね。

単刀直入に言えばただの文字の「\0」です。NULLとかじゃなく。

 

そして、もっと恥ずかしいことを言えば、

この通知のプログラムを組んだことのある方はもう説明書きを見たときに、

「こいつ・・・何手抜きしているんだ」と内心思っていたと思います。

そうなんです。

内部的に曲名とアーティスト名の区切りは \\0 で行うようになってるんです。

本当は曲名とアーティスト名を指定するときに、もっと優しく指定できるようにすべきなのかも知れませんが、

実際の所、このように引数を指定すると、実に内部構造が楽なんです。

そのまま与えて、あとは適当に設定すればいいんですから。

んー・・。手抜き過ぎるかな・・。