mieki256's diary



2005/11/17(木) [n年前の日記]

#1 [jiji] _デポログ / DEPOLOG : 紀宮さまさまの夢 - 中学校時代からあこがれていたアニメのヒロインの衣装を模したドレス

_(via ARTIFACT@ハテナ系 - 紀宮のドレスはクラリスのドレスに似ているらしい。)

イラストを見て驚いた。筋金入りだ。なんか応援したくなってきた。いや、別に応援する必要性はもうないんだけど。

_犬にかぶらせろ!: 紀宮オタク説の真偽、ロールモデルとしてのサーヤさま
天皇家っていうのはその時代における模範となるモデルケースであって、(中略) そういう意味で独身で仕事を持ってサブカルチャーにも愛情を示すサーヤさま像というのは、まさに世相にかなった存在だった。負け犬のロールモデルとしてのサーヤさまだ。

そんな愛すべき紀宮様が“アニメ好き”っていうのは、知財立国だクールジャパンだとかいう政府方針にもろに合致しているのであって、がんがん宣伝していかなきゃいけなかった。その辺、宮内庁はなにをやってるんだ弾幕が薄すぎるぞ! といった感が大きい。

犬にかぶらせろ!: 紀宮オタク説の真偽、ロールモデルとしてのサーヤさま より

たしかに。<オイ。

この記事へのツッコミ

王女による王女のコスプレ by がんした    2005/11/19 00:44
どこのブログを覗いても、「サーヤのクラリスコス」ネタばかりで、一般ピープルの皇室好きに、改めて驚いたり。
お相手の黒田さんのキャラ設定として、こんな↓意見も。

-----
もう晴れて自由の身?になったサーヤがコミケに現れる日が近いかも、クロちゃんは車好きだからロータスやめてFIAT500を買えば、完全にルパンですよ、二人でルパンとクラリスのコスプレをしてコミケに現れたらネ申ですね
-----
http://deepend.blog3.fc2.com/blog-entry-230.html

ああ、見てみてみたい。クラリス&ルパン コス。
つーか、元・現人神の一族をネ申呼ばわりって、捻ってるんだかストレートなのかワカラン。
Re: 王女による王女のコスプレ by mieki256    2005/11/21 21:37
> 王女による王女のコスプレ
> FIAT500を買えば、完全にルパン

笑った。もう何がなにやら。母さん全然わかんないわよ!
( http://www.geocities.co.jp/HeartLand-Namiki/2627/ajio1.html )

まあ、なんというか、ある面では、確実に、
「国民に愛される皇室」ってヤツを実現させてしまってるのかもなぁ、と。

#2 [prog] if と switch - case

_「内部的にはbool値の組み合わせで設定」 という一文を読んで、ふと。もしかしてフラグで管理するよりは選択肢で管理するほうが処理が速かったりしないか、てなことをぼんやり思ったり。
if ( flag1 ) {
    ...
}
if ( flag2 ) {
    ...
}
if ( flag3 ) {
    ...
}
if ( flag4 ) {
    ...
}
よりは、
switch ( n ) {
  case 0:
    ...
    break;
  case 1:
    ...
    break;
  case 2:
    ...
    break;
  case 3:
    ...
    break;
}
のほうが条件分岐が1回で済みそうな、とここまで書いたところで気がついた。switch - case って結局は、
if ( n == 0 ) {
   ...
} else if ( n == 1 ) {
   ...
} else if ( n == 2 ) {
   ...
} else if ( n == 3 ) {
   ...
}
になってしまうのではないか。としたら条件分岐の数は変わらない。つまり、速度的なメリットはないだろうと。アホだ。>自分。

どうしてこんなアホなことをつい思ってしまったかというと :

条件分岐を使わない switch - case も、かつて、世の中にはあったからで。<過去形。アセンブラで組んでたときにやってたけど、テーブルを使って…。
void (*adrs[])() = {
  job0,
  job1,
  job2,
  job3
};

(*adrs[n])();
Cの書き方は忘れちゃったので、こんな感じの記述で合ってるのかわかんないけど。

条件分岐が入らないから、CPUの命令クロックを数えると多少は速かったりするのかしら。わからんけど。 *1 …クロック数を稼げると言っても微々たるものだけど、その処理が何十回も繰り返されれば結構違ってくるわけで。昔のCPUはそんなに速くなかったというのもあるし。

今となっては使う意味がないよなぁ。10年〜15年前、X68Kで動いてたコンパイラあたりでも、そのへん判断して適切なバイナリを作ってくれる・最適化してくれる等を聞いたような記憶もあったりするし。人間がわざわざCPUのつもりになって書く必要性なんてない。CPUの動作も今と昔では違うし。1命令1クロックとか当たり前で同時にいくつもの命令が走ってたりするんだろうし。こんなやり方を要求される場面なんてもはや存在しないわな。

と思ったが、例えば、100種類ぐらいの敵処理をメインループから呼び分けないといかん、てな場面では必要になったりもするのかしら。速度的なメリットではなく、管理する上でのメリットだろうけど。処理をする関数のアドレスをテーブルに列挙していくだけで済むだろうし。…まあ、そのへんよくわからんのだけど。

*1: シフト+メモリリード+ジャンプ命令のクロック数が、条件分岐命令のクロック数より少なければ、とか?

この記事へのツッコミ

Re: if と switch - case by 名無しさん    2005/11/19 11:47
switch-caseって最適化の結果によっては「飛ぶ」処理になったりすることもあったような…
Re: if と switch - case by mieki256    2005/11/21 21:47
> switch-caseって最適化の結果によっては「飛ぶ」処理になったりすることもあったような…

私もソレ、聞いたことがあります。
昔の Oh! X とかでもgcc絡みで載ってたような… <記憶違いかもしれず。

ただ、言語、というか、コンパイラというか、インタプリタというか、
あるいは最適化オプションによっては、違ってきそうではありますね。
gccはやってくれそうだけど、
Perl、Ruby、Python等のLLはどうなのかとか、
javaはそのへんちゃんとやってくれてるのか、とか…よーわからんです。
Re: if と switch - case by otsune    2005/11/25 21:50
Pythonにswitch-case文はありません。
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/410695
で例外を使ってswitch caseを実現したり
http://simon.incutio.com/archive/2004/05/07/switch
でいろいろな方法のコメントがついていたりします。(if文で書くのがいちばんPythonっぽい気が)
Re: if と switch - case by mieki256    2005/11/28 18:25
> Pythonにswitch-case文はありません

知らなかった…!

紹介されたページなり、関連ページを検索したりしましたが、
なるほど、プログラマー自身が処理のやり方を選べる・意識できるあたり、
(ジャンプテーブルにするか、if の羅列にするか等)
ちょっとメリットっぽい感じもしました。
各言語のポリシー(?)って、面白いなぁ…。

#3 [neta][game] 夢の中で広告入りゲームの画面を見たのだけど

ゲームオーバーになったあと、ゲームのキャラクターを使った関連グッズの静止画広告が延々と表示される、みたいな夢で。フィギュアとか。ゲームの攻略本とか。夢の中ではあれど、ゲームオーバーになった直後にゲームの攻略本の宣伝を見せつけるというのはずいぶんアコギな商売だなと思ったり。あと、廃刊になった雑誌の広告もあった。ゲーム批評とか。…ちょっと待て! ゲーム批評は廃刊になってるのか? まあ、夢の中の話だから。 *1 とはいえゲームの中に広告を入れると、時期的に合わない宣伝も入ってしまうのが必然、みたいな予感も。

起きてからぼんやり思ったけど、ゲームのCD-ROM・DVD-ROMの中に、TV-CM映像を入れて売るってのはどうかなと思ったけど既にどこかでありそうだな。昔と違って映像バンバン流せるし。まあ、CM映像を入れたことで、どんなメリットが得られるのか思いつかないのだけど。

というかマクドナルドのドナルドが登場するトレジャー制作のアクションゲームは、ゲームそのものが広告と化してた気もするのだけど。アレ以来ほとんどその手の商品が出てこないように見えるということは、開発費の額の割りには宣伝効果が薄いと判断されてしまったということなのだらうか。ゲームって開発期間が結構かかるから宣伝すべき時期も逃しやすいしなぁ。
*1: 検索してみたら、隔月刊でちゃんと出てるらしい。>ゲーム批評。夢の中の話とはいえ、なんと失礼な。

#4 [game] _ガンスタースーパーヒーローズ

GBAで続編が出ていたらしい。知らなかった。最近、ゲーム情報は全然チェックしてないからなぁ…。さておきプロモーション映像を見たら、CM映像を見てるだけなのに手に汗握ってしまった。これは熱い。当時の、ワクワクさせられた気持ちを思い出してしまったり。
_(via AB2)
_(via ARTIFACT@ハテナ系 - かつてセガマニアだった人におくる)

#5 [pc] 昨日、今日と、メインPCが安定してる気がする

青画面も見ないし、いきなりリセットがかかることもない。CPUクーラーの音は怪しいけど。なんか「リー」って鳴ってます。うーむ。

IRQの割り当ては、今のところこんな感じ。
 IRQ 00   排他   システム タイマ
 IRQ 01   排他   日本語 PS/2 キーボード (106/109 キー Ctrl+英数)

 IRQ 03   排他   通信ポート (COM2)
 IRQ 04   共有   SiS 900-Based PCI Fast Ethernet Adapter

 IRQ 05   共有   Conexant's BtPCI WDM Video Capture
 IRQ 05   共有   YAMAHA DS-XG PCI Audio CODEC (WDM)

 IRQ 06   排他   TOMCAT 3-mode floppy controller

 IRQ 08   排他   システム CMOS/リアル タイム クロック

 IRQ 09   共有   Microsoft ACPI-Compliant System
 IRQ 10   共有   Intel(r) 82371AB/EB PCI to USB Universal Host Controller
 IRQ 11   共有   Matrox Millennium G400 DualHead - English

 IRQ 12   排他   Logitech-compatible Mouse PS/2
 IRQ 13   排他   数値データ プロセッサ
 IRQ 14   排他   プライマリ IDE チャネル
 IRQ 15   排他   セカンダリ IDE チャネル
IRQ5 だけが共有されてるな。…どうしてパラレルポートをBIOSで無効にしても、IRQ7 を使ってくれないのか。COM1を無効にしたことで、IRQ4 は使ってくれているのに…。

とりあえず、G400 が専用のIRQを使ってるあたりが安定するか否かの鍵なのだろうか。…たしか、ATIのビデオカードであれば、IRQを使わないと聞いた記憶もあるのだけど。そっちのほうがトラブルに巻き込まれなくて済むのかしら。

この記事へのツッコミ

Re: 昨日、今日と、メインPCが安定してる気がする by けいと    2005/11/19 19:24
> Conexant's BtPCI WDM Video Capture

私の経験では、こいつも結構曲者…
Re: 昨日、今日と、メインPCが安定してる気がする by mieki256    2005/11/21 21:56
> 私の経験では、こいつも結構曲者…

ああ、たしかに。「キャプチャボードは曲者」に同意なのであります。
Win9xのときはめっちゃハマった記憶が。
本来なら、真っ先に外すべき・除外していくべきはキャプチャボード、
という気もするでありますな…。

今なら、USB2.0接続・MPEG2キャプチャで、
転送速度はなんとかなりそう、なのかな。
であれば、
仮に、新規にキャプチャー機器を導入する場面があったとしても、
内蔵型をあえて選択する理由も無い、と言えるのかもしれんなぁ…。

手持ちの古いパーツをどうにか、
とか考えてるからハマるのかもしれん… >自分。

#6 [pc] システム情報を出力してくれるツール

先日はデバイスマネージャを見ながら、IRQ割り当てを手打ちしてたけど。アホらしくなってきた。何かツールを使って楽できないか。

_窓の杜 - PCView - パソコンのシステム情報を指定したメールアドレスに送信したり色々と :

このツールを使えばテキストで出力してくれるのだな。…と思ったが、IRQの割り当てまでは出力してくれないらしい。惜しい。

_窓の杜 - EVEREST Home Edition :

完璧。あらゆる情報を出力してくれる。前述の記事内の、IRQ割り当ては、これで出力・コピペした。

#7 [xyzzy] _xyzzy - xml-mode簡易ガイド

xml なるものを編集しなきゃいけない感じがしてきたので、インストール。

タグを閉じたときの文字色が黄色で文字が見えにくかったので、~/.xyzzy に、
(setq xml::*xml-tag-attribute* '(:bold t :foreground 10))
を追加して変更。これで合ってのかどうか自信はないけど。

#8 [xyzzy] _xyzzy 関連の覚え書き - 選択・矩形操作

時々、矩形操作がよくわからなくなってしまうわけで。

とりあえず、Ctrl を押しながらマウスで選択して右クリック、が簡単かもしれん。ただ、右クリックメニューからの「貼り付け - 矩形」に2つあることに注意、かしら。片方は Windows 標準の矩形貼り付けで、片方が xyzzy の矩形貼り付け、らしい。

というか。C-SPC でマークして、M-x copy-rectangle or M-x kill-rectangle して、M-x yank-rectangle でいいのか。emacs と同じで。

#9 [wsh] 時間をテキストファイルに記録するJScript

作業時間を記録しておかないといかん気がしてきたので作成。タイムレコーダ代わりに。
// timerecord.js
// 時間を特定ファイルに追加書き込みする。

function addWriteFile(fn,s)
{
    var fs, a, ForAppending;
    ForAppending = 8;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    a = fs.OpenTextFile(fn, ForAppending, false);
    a.WriteLine(s);
    a.Close();
}

function str_right(n,l) {
    var s = "0000" + n;
    var p = s.length;
    return(s.substr(p-l));
}

function getDateTimeString() {
    var d, s = "";
    var p = "/";
    var c = ":";
    d = new Date();
    s += str_right(d.getFullYear(),4) + p;
    s += str_right((d.getMonth() + 1),2) + p;
    s += str_right(d.getDate(),2) + " ";
    s += str_right(d.getHours(),2) + c;
    s += str_right(d.getMinutes(),2) + c;
    s += str_right(d.getSeconds(),2) + " ";
    return(s);
}

function popupMes(s) {
    var WshShell = WScript.CreateObject("WScript.Shell");
    var BtnCode = WshShell.Popup(s, 2, "時間を書き込みました。", 0 + 64);
}

// 書き込むファイルを指定
var fn = "c:\\hoge\\timerecord.txt";

var s = getDateTimeString();
addWriteFile(fn,s);
popupMes(s);
c:\hoge\timerecord.txt の最後に、「2005/11/17 20:34:05」といった感じで時間を追加していくだけ。

ついでに、TClock Light のマウス操作も設定。Ctrl + 左クリック or Shift + 左クリック で該当スクリプトを実行するように。

専用の機器として売ってないのであらうか :

いや、タイムレコーダがそれだけど。もっとデジタル化して、小さくして、個人用に。

_パソコンでタイムレコーダー for Win :

_セイコープレシジョン株式会社 タイムレコーダ :

多拠点で発生するデータを一つのパソコンに収集することができるシステムタイムレコーダです。

セイコープレシジョン株式会社 タイムレコーダ より

進化してるのだな。

#10 [flash] _Macromedia Flash - XMLでJPEGスライドを作成する

コレを見ながら試してたのだけど、もしかしてこれって ActionScript 2.0 用だろうか。Flash Creator って、ActionScript 1.0 までしか対応してないわけで…。

いや。Flash Creator でも可能だった。ヘルプにも書いてあったわ。

なんか忘れそうなのでメモ。

(2005/11/19追記:下のはやっぱりおかしかった。 _書き直し。 )

最初のほうのフレーム。
// 表示確認用変数
img_name = "name";
img_path = "image path";
img_nvalue = "node value";

enemy_length = 0;
xml_length = 0;
counter = 0;

// image に付随する情報。xml で渡される。
var enemy_name      = new Array();
var enemy_imgpathA  = new Array();
var enemy_nodeValue = new Array();

// 以下は後で呼ばれる
// 敵情報の格納をする関数
function setEnemyData(n) {
    enemy_name.push(n.attributes.name);
    enemy_imgpathA.push(n.attributes.jpegURL);
    enemy_nodeValue.push(n.firstChild.nodeValue);
}

// ムービークリップにJPEG画像を読むための関数
function updateImg(n) {
    img_name    = enemy_name[n];
    img_path    = enemy_imgpathA[n];
    img_nvalue  = enemy_nodeValue[n];
    loadMovie(img_path, this.targetClip);
}

xml を読ませるフレーム -1。
flag = 0;

xml を読ませるフレーム + 0。
// xml がロードできたときに呼ばれる関数
function myXmlOnLoad(success) {
    if ( success ) {
        //エラーが出ることなくXMLドキュメントがロードされた。処理を継続。
        
        rn = myxml.firstChild;
        xml_length = rn.childNodes.length;
        node = rn.firstChild;

        // xml の内容を、データ用配列に格納
        do {
            setEnemyData(node);             // 格納
            nextnode = node.nextSibling;    // 次のノードを求める
            node = nextnode;
        } while ( node != null );

        enemy_length = enemy_name.length;
        
        flag = 1;
    } else {
        //XMLドキュメントがロードされなかった。処理を停止。
        flag = -1;
    }
}

// xml 読み込み
myxml = new XML();
myxml.onLoad = myXmlOnLoad;
myxml.ignoreWhite = true;
myxml.load("temp_utf8.xml");

if ( flag == 0 ) {
} else {
    if ( flag == 1 ) {
        this.gotoAndPlay("loadsuccess");
    } else {
        this.gotoAndPlay("loaderror");
    }
}

xml を読ませるフレーム +1;
this.gotoAndPlay( _currentframe - 1 );
xml を読ませるフレームを1回だけ経由したのではそれらしい結果が帰ってこなくて、何度もループするように書いてしまったのだけど、いいのかしら…。たぶん何かを間違えてる…。>自分。

後のほうのフレーム。
counter++;

if ( (counter % (24*1)) == 0 ) {
    
    // 画像更新
    updateImg(loadimgnum);
    
    loadimgnum++;
    if ( loadimgnum >= enemy_length ) {
        loadimgnum = 0;
    }
}

xml はこんな感じで。
<Cards>
  <cardNode name="ぬらりひょん" jpegURL="image/000a.jpg">node value A</cardNode>
  <cardNode name="蝙蝠男たけし" jpegURL="image/010a.jpg">node value B</cardNode>
  <cardNode name="ライダー1号" jpegURL="image/020a.jpg">node value C</cardNode>
  <cardNode name="ライダー2号" jpegURL="image/030a.jpg">node value D</cardNode>
  <cardNode name="ライダーV3" jpegURL="image/040a.jpg">node value E</cardNode>
  <cardNode name="ライダーマン" jpegURL="image/050a.jpg">node value F</cardNode>
  <cardNode name="ぬりかべさん" jpegURL="image/060a.jpg">node value G</cardNode>
  <cardNode name="ねずみ男さん" jpegURL="image/070a.jpg">node value H</cardNode>
  <cardNode name="亀太郎ちゃん" jpegURL="image/080a.jpg">node value I</cardNode>
  <cardNode name="雷鼠クローン" jpegURL="image/090a.jpg">node value J</cardNode>
</Cards>
xml の中に日本語を使う場合は、UTF-8 で保存しておかないといかんみたい。途中で読み込みが終わるわ、表示すると日本語部分が文字化けするわで悩んでしまった。…それとも、WinXP でやってるからそうなるわけで、Win9x のような SJIS で2バイト文字を管理してるような OS なら結果は違ってくるのだろうか。

_Macromedia - Flash TechNote : fl0262 - Macromedia Flash Player 6 以降でのエンコーディングについて
Flash Player バージョン 6 以降で作成された Flash ムービー (swf) 上に、loadVariables などを使って外部テキストを読み込んだ場合、日本語文字が化けてしまうことがあります。これは、Flash ムービーのバージョン 6 以降でのエンコーディングの扱いにおいて、マルチ言語に対応するための仕様が追加されているためで、デベロッパの方は、コンテンツを作成する際に以下のいずれかの作業を行っておく必要があります。

1. コンテンツ 1 フレーム目のフレームスクリプト最上部に、「System.useCodepage = true;」という一行を付け加える。
2. 読み込むテキストのエンコーディングを UTF-8 として作成する。

Macromedia - Flash TechNote : fl0262 - Macromedia Flash Player 6 以降でのエンコーディングについて より

これか。

メモしづらいActionScript :

ActionScript ってソーススクリプト部分をずらずらと書けないのが厳しい。フレームとかムービークリップとかスクリプトがくっついてるからなぁ…。ただ、.as なるファイルで管理することもできる云々をあちこちで見かけるわけで。ActionScript 2.0 からはそういう管理ができるのかしら。それとも、本家 FLASH MX 等の特典機能なのだろうか。そのへん、まだ、よくわかってなかったり。

_ActionScriptどこに書く? - MXスタイルからAS2.0まで :

MovieClipLoader でハマる :

_Macromedia の解説ページ や、 _Flash講座 - WEBチュートリアル - ActionScript 2.0の基礎とGraphの概念 というページを見ながら打ってみたのだけど。ウンともスンとも動く気配が無い。Flash Creator のヘルプには該当項目があるから、有効だろうと想像するのだけど。うーん。

_Eclipse - Building Flash Applications :

ASDT(ActionScript Development Tool) のチュートリアル映像。たぶん。…これで動作確認して動いてしまったら、Flash Creator 側に何かあるのかもしれない。

Eclipse + ASDT 上で、試しに打ち込んでみた。動かない。ということは、Flash Creator 上のソレも、記述の仕方が悪いだけなのだろうか。

#11 [linux][vine] .htpasswd にユーザ追加

Basic認証を設定したフォルダを作成したのだけど、ユーザ追加の仕方をすっかり忘れてた。メモ。

_アクセス制御 についての記述を見ながら作業。

既にファイルはあるので、
$ /usr/bin/htpasswd /home/hoge/.htpasswd newhogeuser
かしら。

ファイルを作ってなかった場合は、
$ /usr/bin/htpasswd -c /home/hoge/.htpasswd newhogeuser
-c をつける。

以上、1 日分です。

過去ログ表示

Prev - 2005/11 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project