Written in Japanese(Shift-JIS)
2007. 4.28
INASOFT
/トップ/目次/管理人のひとこと/2007年5月分/3月分/2月分
0739078 (+0020)[+0376]

【管理人のひとこと2007年4月】

上に行くほど新しくなっていきます。
忙しいと簡単に更新が止まります。




2007年5月


■「x64対応をまじめに始めてみる」を公開しています。(2007/ 4/ 9公開、4/15更新)
■「Windows Vistaにおけるオートメーション(マイナーなやつ)」を公開しています。(2007/ 4/22公開)

2007/ 4/28 10:45(#281045)

ゴールデンウィーク(GW)期間中は、更新はお休みしようかと思っていたのですが、ちょっとヘルプーな事象が発生しちゃいまして。何か解決策をご存知の方がいらっしゃったら、ぜひご連絡を。

Windows VistaのWindows Media Player 11(WMP11) というのを使ってみたんです。これですね。

Windows Media Player 11
Windows Media Player 11

ところが、ふとした拍子に、右側にある「」なボタンを押しちゃったらしく、右側の再生リストが消えちゃいました。

再生リストが消えちゃった
Windows Media Player 11 (再生リストが消えちゃった)

で、再生リストを復活させることができなくなっちゃいました。これがライブラリのページなら、

ライブラリのページ
Windows Media Player 11 (ライブラリのページ)

検索欄の右側にある「」のボタンを押すことで復活できるんですけど、それに相当するボタンがプレイビューのページには無いようで……。

困ってしまった……。どなたか解決策をご存知の方がいらっしゃったら、ぜひご連絡を。(WMP11以外にも、こんな便利な再生ソフトがあるから、そっちを使えや!ってのもアリかも)

[16:25追記] 上の問題、解決しました。メールを下さった方、ありがとうございました。

「プレイビュー」メニューに「リストウィンドウ領域の表示」がある
Windows Media Player 11 「プレイビュー」メニューに「リストウィンドウ領域の表示」がある。

こんなところにあったとは。灯台下暗しでしたね。

しかしそれにしても、「リストウィンドウ領域」などという名前だったとは…。わかりにくいにもほどがある…。


さて、話は変わりまして、新しいOSの話でも。

マイクロソフトが、Windows Server "Longhorn" Beta 3 日本語版のダウンロードを開始しました。"Longhorn" はコードネームなので、正式版になる際には新しい名前が決められます。

で、このWindows Server "Longhorn"はサーバ系OSですので、INASOFTで公開しているソフトが公式に対応することはありません。ただ、個人的興味から、どういう風に動くのか、見てみたいなぁと思いました。というわけで、さっそくダウンロードしてみまして、Virtual PC 2007に入れて試してみます。

ダウンロードをしてみようということで、マイクロソフトのページに行ったのですが、Windows Live!へのログイン(旧Passport)を求められたり、「0$で購入」みたいな手続きを取らされたりと、かなり面倒くさい。

まぁ、ここはマイクロソフトの広報ページでも批判ページでもありませんから、詳細な手順までは書きませんが、すげぇ面倒くさい。

最終的にダウンロードページにたどり着き、日本語版をクリックするも、なぜかファイル名が「〜〜.lnk」とか書いてあって、クリックすると「Not Found」とか言われる。仕方がないので、英語版をダウンロードしました。(現在は、日本語版へのリンクは .iso に修正されています)

英語版を入れはしましたが、インストール時のオプションで、いろいろ日本語っぽい選択肢を選んで行けば、日本語のソフトは正しく起動されるようになります。ここらへんは、さすがマイクロソフトと言ったところ。

インストールは15分ほどで終わり、さっそく起動に入ります。起動画面とログオン画面は、Windows Vistaそっくりですね(まぁ、今後変わっていくかもしれませんが)。

で、こちらがデスクトップ。

Server Lonhorn デスクトップ
デスクトップ

ちょうど、Windows Vistaから、高度なグラフィック機能を失わせたときの画面と同じです。まぁ、今後変わっていくかもしれませんが。

恒例の、環境情報の取得です。環境情報の取得は、いじくるつくーるの最新のα版を使っています。

いじくるつくーる 環境情報の表示
いじくるつくーる 環境情報の表示

バージョン番号は、NT ver.6.0.6001 ということで、バージョンチェックをすり抜けて起動できました。デスクトップアイコンにUAC(ユーザー アカウント制御)の4色シールドアイコンがついていないことから、UACは入っていないみたいですね。まぁ、今後変わっていくかもしれませんが。

ちなみに、バージョン情報の右側が切れていますが、この部分には Windows Server "Longhorn" Enterprise Edition (Full installation) ver.6.0.6001 Service Pack 1, v.126 と表示されています。初っ端から、っていうかβ版の時点から Service Pack とはどういうことでしょう。

最近のマイクロソフトのOSは、「サービスパックが出るまで買うのを控える」なんていう風潮を聞くことが多いですから、その対策ってことかもしれません……が、それって意味あるのか!?

続いて、(なぜか職場でも聞かれたのだが) すっきり!! デフラグは動くのか!? です。

すっきり!! デフラグ ノーマルモード
すっきり!! デフラグは動くのか!?

最新のα版を使っていますので、シェル入れ替えのモードで実験しています。

起動時チェックディスク
起動時チェックディスク(Autochk)

まずは、起動時チェックディスク(Autochk)。問題なく動いていますが、まだ画面が Windows Vista のものになっていますね。ここは、正式版では変わっていくでしょう。で、このあと起動画面で5分近く待たされました。その後、

デフラグ
デフラグ

デフラグが起動しました。一瞬だけMMCのウィンドウが立ち上がりましたが、すぐに閉じて処理続行。どうやら問題ないようです。今のところは。それにしても、OSをインストールしただけで7GB近く食ってますね……。恐るべし、Server "Longhorn"

もう一つ。

Server "Longhorn"には、脆弱性排除の施策として、無駄なサービスやソフトウェアを入れない「Core」なオプションがあります。これも試してみることにしました。

インストールまでは普通(VistaやFullインストールのServer "Longhorn"と同じ)でしたが、初めての起動がこんな感じ。

Server Longhorn 起動画面後
Windows Server "Longhorn" 起動画面後

でっかい。

このあと、ユーザの選択に「Other」とだけ表示されましたが、そこを選んでユーザ名を入れたら、なんとなく起動しました。それ以降は、ここで入力したユーザがユーザ一覧に並ぶようになりました。

Server Longhorn Core
Windows Server "Longhorn" Core

見ての通り、コマンドプロンプトしかありません。コマンドプロンプトがシェルってあたり、どこかUnixっぽさを漂わせています。

Server Longhorn Core フルスクリーン
Windows Server "Longhorn" Core フルスクリーン

Alt+Enterを押してフルスクリーンにすると、なおさらUnixっぽい。っていうか、MS-DOSだ。

まぁ、ここはマイクロソフトの広報ページでも批判ページでもありませんから、詳細な宣伝はしませんが、どこまでCoreに気合が入っているかというと、

メモ帳は実行可。エクスプローラは実行不可
メモ帳は実行可。エクスプローラは実行不可

メモ帳(notepad.exe)は起動できたのに対し、エクスプローラ(Explorer.exe)は起動できません。Explorerを起動しようとした時に表示されているメッセージは「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」という、お決まりのメッセージです(DOS時代の Bad command or filename.コマンドまたはファイル名が違います」に相当)。

で、どこまで気合が入っているのか調べようと、「メモ帳」で「開く」を選んだら、……コレだ……。

メモ帳で「開く」
メモ帳で「開く」

なんだか、Windows 3.1っぽいダイアログが出てきました。ドラッグ&ドロップを防ごうというのでしょう。

さらに、タスクマネージャからアプリケーションを開こうとして「参照(Browse)」ボタンを押したら………、

タスクマネージャでアプリケーションを開く
タスクマネージャでアプリケーションを開く

「参照」を押しても、なにも出てきません。コモンダイアログを出すためのDLLが足りないのでしょう。

このあと、すっきり!! デフラグ等をインストールしようとしたら、こちらもDLLが足りないということでインストールすることすらできず。なるほど、こういうセキュリティでしたか。

最後、シャットダウンもコマンドプロンプトから行って、実験終了です。お疲れ様でした。

shutdown -s
シャットダウンコマンドで終了

さて以前に、Edition部分(BusinessとかUltimateとか)は、Windows Vistaより新しく提供されるAPI GetProductInfo() APIを使うべしと書きましたが、Server "Longhorn" の各種プロダクトを見分けることにも使うことができます。で、GetProductInfoのページを再び覗いてみたら、情報が更新されていました。

そんなわけで、改訂版サンプルでも書いてみようかと思います。

// 関数定義
typedef BOOL (WINAPI *PFUNC_GetProductInfo)(DWORD, DWORD, DWORD, DWORD, PDWORD);
PFUNC_GetProductInfo pGetProductInfo = NULL;
DWORD dwReturnedProductType = 0;
// GetProcAddressにより、Kernel32.dll内のGetProductInfoのアドレスを直接取得
pGetProductInfo = (PFUNC_GetProductInfo)::GetProcAddress(GetModuleHandle(_T("kernel32.dll")), "GetProductInfo");

if (pGetProductInfo != NULL) {
   // GetProductInfoの呼出し
   // 引数は、とりあえずVista or Server "Longhorn"(開発中)のv6.0で固定打ち
   pGetProductInfo(6, 0, 0, 0, &dwReturnedProductType);

   switch(dwReturnedProductType) {
      case 0x00000006: //PRODUCT_BUSINESS
                puts("Business");
                break;
      case 0x00000010: //PRODUCT_BUSINESS_N
                puts("Business(N)");
                break;
      case 0x00000012: //PRODUCT_CLUSTER_SERVER
                puts("Cluster Server Edition");
                break;
      case 0x00000008: //PRODUCT_DATACENTER_SERVER
                puts("Datacenter Edition (Full installation)");
                break;
      case 0x0000000C: //PRODUCT_DATACENTER_SERVER_CORE
                puts("Datacenter Edition (Core installation)");
                break;
      case 0x00000004: //PRODUCT_ENTERPRISE
                puts("Enterprise");
                break;
      case 0x0000001B: //PRODUCT_ENTERPRISE_N
                puts("Enterprise(N)");
                break;
      case 0x0000000A: //PRODUCT_ENTERPRISE_SERVER
                puts("Enterprise Edition (Full installation)");
                break;
      case 0x0000000E: //PRODUCT_ENTERPRISE_SERVER_CORE
                puts("Enterprise Edition (Core installation)");
                break;
      case 0x0000000F: //PRODUCT_ENTERPRISE_SERVER_IA64
                puts("Enterprise Edition for Itanium-based Systems");
                break;
      case 0x00000002: //PRODUCT_HOME_BASIC
                puts("Home Basic");
                break;
      case 0x00000005: //PRODUCT_HOME_BASIC_N
                puts("Home Basic(N)");
                break;
      case 0x00000003: //PRODUCT_HOME_PREMIUM
                puts("Home Premium");
                break;
      case 0x0000001a: //PRODUCT_HOME_PREMIUM_N
                puts("Home Premium(N)");
                break;
      case 0x00000013: //PRODUCT_HOME_SERVER
                puts("Home Server Edition");
                break;
      case 0x00000018: //PRODUCT_SERVER_FOR_SMALLBUSINESS
                puts("Server for Small Business Edition");
                break;
      case 0x00000009: //PRODUCT_SMALLBUSINESS_SERVER
                puts("Small Business Server");
                break;
      case 0x00000019: //PRODUCT_SMALLBUSINESS_SERVER_PREMIUM
                puts("Small Business Server Premium Edition");
                break;
      case 0x00000007: //PRODUCT_STANDARD_SERVER
                puts("Standard Edition (Full installation)");
                break;
      case 0x0000000D: //PRODUCT_STANDARD_SERVER_CORE
                puts("Standard Edition (Core installation)");
                break;
      case 0x0000000B: //PRODUCT_STARTER
                puts("Starter Edition");
                break;
      case 0x00000017: //PRODUCT_STORAGE_ENTERPRISE_SERVER
                puts("Storage Server Enterprise Edition");
                break;
      case 0x00000014: //PRODUCT_STORAGE_EXPRESS_SERVER
                puts("Storage Server Express Edition");
                break;
      case 0x00000015: //PRODUCT_STORAGE_STANDARD_SERVER
                puts("Storage Server Standard Edition");
                break;
      case 0x00000016: //PRODUCT_STORAGE_WORKGROUP_SERVER
                puts("Storage Server Workgroup Edition");
                break;
      case 0x00000001: //PRODUCT_ULTIMATE
                puts("Ultimate");
                break;
      case 0x0000001c: //PRODUCT_ULTIMATE_N
                puts("Ultimate(N)");
                break;
      case 0x00000011: //PRODUCT_WEB_SERVER
                puts("Web Server Edition");
                break;
      default:
                printf("Unknown Product:%08x\n", dwReturnedProductType);
                break;
   }
}

windows.hやstdio.hやtchar.hのインクルードを忘れずに。

なお、(N)は、たしか、ヨーロッパで公開されているエディションで、WMP11が入っていないバージョンだったと思います。


2007/ 4/27 0:01(#270001)

明日から5月6日まで、ゴールデンウィークとなります。

去年は、例の、長期にわたる「短期出張」のおかげで、1日しか休みを取ることができなかったのですが、今年はどうやらフルで休むことができそうです。明日からのゴールデンウィークは、普段することのできない、溜まりに溜まった用事を済ませようと思います。

そんなわけで、明日からのこのサイトの予定です。

すべて「予定」ですので、変わるかもしれません。


2007/ 4/26 0:01(#260001)

先日、ユーザーの方から、すっきり!! デフラグに関するご質問をいただき、返事を出しました。しかしながら、1日半くらいすると「宛先を確認しなおしてください」みたいな感じのエラーメールが返信されてきてしまいます。どうやら、相手には届いていない様子。

よくあることとしては、メールソフトの設定が間違っていて、from欄に誤ったアドレスが書かれてしまうというもの。これでは、メールを返信しても届きません。

ただ、今回の場合、インターネットの検索エンジンを用いてメールアドレスを検索すると、どうやらそのアドレスは存在するらしいので、間違っているというわけでもないようです。しかも、エラーメールが1日半遅れで返ってくるというのも謎。

仕方がないので、この場を借りて回答を…。

すっきり!! デフラグのWindows 95対応版のダウンロード先が知りたいとのことなのですが、現在、私の知る限りでは、Windows 95対応版を入手できるサイトは存在していません。また、Windows 95対応のバージョンは、すでに1年以上前のバージョンになるため、私自身も所持していません。私の知らない範囲のサイトに転載されていたり、付属メディア付き雑誌のバックナンバーなどを調べてみたら、もしかしたら存在しているかもしれません。


2007/ 4/25 0:01(#250001)

今期のアニメに関するお話でも

前にも書いたと思うのですが、ちょうど一年前の長期出張を境に、深夜アニメを見る文化が自分の中で廃れていってしまいました。そんなわけで、昨今はほとんどの深夜アニメを見ていなかったりします。とはいえ、全廃というわけにはいかないので、とりあえず今期は、「魔法少女リリカルなのはStrikerS」を見ておこうかと思います。

のだめカンタービレ」が前期からの継続なので、計2つってことになるかな。一時期、大量に見ていたことを考えると、すごい激減しているなぁと思ってみたり。


2007/ 4/24 0:01(#240001)

いじくるつくーるのメッセージで、けっこう痛いミスを犯しているところがありまして、最新の開発途上版で修正しています。スクリプトの一覧検索の結果を表示する部分を示す文字列なのですが、前のバージョンアップで「検索」のメニューの場所を移動したにもかかわらず、そのことが反映されていなかったもので。

さて、今、迷っているのですが、x64テスト版を、いずれ正式版に格上げすべきかどうか?

これまで通りのソフトウェアなら、開発途上版はいずれ正式版に格上げとなるわけなのですが、フィールドデバッグを行なっていても、x64の利用者はx86の利用者に比べると極端に少ないので、テスト効率も良くないし。

そういえば、どこだったか、公開されているソフトは「常に発展途上という意味で、最終形がβ版」としていることもあるようだし、それに習ってβ版を最終形にしてしまうのも良いかなぁと思ってみたり。

今のところ、INASOFTの一般的なライセンスでは、β版のソフトウェアを転載したり大量再配布したりすることには制限がありますが、まぁx64のソフトウェアを転載したり大量再配布するような人は、今後しばらくは居ないでしょうし、特に問題はないのかなぁと思っています。

この問題は、主な転載サイトへ転載のお願いを出すときにも問題になるんですよね。x64版はx86版の上位互換を保てるものではないので、後継バージョンという扱いにはなりませんから、窓の杜とかベクターに転載をお願いするときはどういう扱いにしたらよいのか、とか。

技術レベルの問題が片付いた後は、次は政治レベル(?)の問題の解決ということで、まだまだ道は長そうです。


2007/ 4/23 0:01(#230001)

Windows Vistaにおけるオートメーション(マイナーなやつ)」を公開しました。

すっきり!! デフラグをWindows Vistaで動かした場合、Windows Vista特有の制限により、Windows XPでは使えていた機能の多くが使えなくなります。これをどうにかすることはできないかなぁ…ということを、ここ数週間、いろいろ試していたのですが、ようやくその成果が実りましたので、その成果を公開しているといった感じです。

Windows向けの代替シェルを開発する場合にも役立つかも。


ところで、ベクターが一部ソフトのURLを勝手に変えちゃってしまったようで、リンク切れになっている場合があるようです。ユーザーからの報告で発覚しました。今のところ、ベクターから新URLに関する連絡は一切来ていません。いったい何を企まれているのやら…。


2007/ 4/22 0:01(#220001)

弟がいつの間にか、デスノートDVD (実写映画・前後編) を借りてきていたので、見てました。

この映画の宣伝をちらっと見てから、昨日DVDを見るまでの間に、探偵役の松山ケンイチさんの出演しているドラマを見ていたこともあって、なんだか面白い役者さんだなぁと感心していたり。実写映画でありながら、なぜか彼のまわりだけマンガ的な空気が流れているような感じがするのが面白い。

デスノートは原作コミックを見ていますので、作品の感想を述べようとすると、どうしてもそれとの比較になってしまいますね。で、ベースとしては原作コミックのままですが、その後の展開がだいぶ違ってきている様子。

前後編合計4時間強の枠内に収めるために、大分苦労した様子が読み取れます。ですが逆にそれが良い方に働いて、原作以上にさっぱりと物語を収束させたなぁと思います。キラとLの勝負の行方という意味でも、(私的な思いによるものですが)かなりしっくりくるものがあって、終わり方としては映画の方が好きかも知れない。

原作コミックを読んでいても、映画を楽しむことができる作りになっているとも言えますね。まぁとにかく、面白い映画でした。

あともう一つ、中村獅童さんの声の演技がいい感じだ。


2007/ 4/21 0:01(#210001)

Windows Vista環境になって使えているフリーソフトの一覧でも。もちろん、開発元の方でVistaでの動作を保証していないものもありますので、そこらへん、使う場合は自己責任ということで。

少なくとも、うちの環境では元気に動いてくれているようです。まぁ、すべての機能を使っているわけではないので、検証と呼べるような程の事をしているわけではありませんが。なんとなく。このほかに、無料のソフトとしては、Adobe Reader 8とか、Internet Explorer 7とか、Virtual PC 2007なんかも動いています。

なお、ユーザー アカウント制御(UAC)は容赦なくオフにしています。でないと、ヘルプましんVisual Studioで、エクスプローラからデータファイルのダブルクリックで起動しようとした時に失敗するもので。ってか、純粋にウザイもので。


2007/ 4/20 0:01(#200001)

ミラー1においたファイルが破損する問題についてですが、いつの間にか「臨時メンテナンス」なるものが入っていたらしく、問題が起こらなくなっていました。

土日になったらいろいろ探ってみようかなぁと思っていたのですが、その前に問題が解決してしまったようです。まぁ、良いことですけどね。


2007/ 4/19 0:01(#190001)

う゛っ、アルコールのせいで気持ち悪い……。

う〜ん、今日はちゃんと「ひとこと」になってるかも。


2007/ 4/18 0:01(#180001)

先日、ある家電量販店に行った友人からメールが届きました。
なんと、ついこの前、定価で買った「スターフォックス コマンド」(希望小売価格:4800円)が、980円で売っていたんだとか……。

定価で買った自分って一体……。
っていうか、2日間で10時間近くも遊んで燃え上がったゲームの、世間的評価がこの値段かと思うと………、なんか萎えるなぁ……。


2007/ 4/17 0:01(#170001)

x64対応をまじめに始めてみるがようやく実を結びまして、x64テスト版の各ソフトウェアの公開に至ることができました。工数自体は多かったのですが、土日を利用して作成をしているうちに、なんとなくコツみたいなものがつかめてきまして、サクサク進めることができました。思ったよりもラクだったかなぁ…という印象。

まぁ、この話はまたβ版に挙がるときにでも話題にするとして…。

ウィキペディア・タイマ Premium Edition スクリーンショット

もう一つのHome版こと「ウィキペディア・タイマ Premium Edition ver.1.31」を公開しています。

まぁ内容は見ての通り、そんな感じです。

Kamioさんのところの写真を見ていると、いろんな衣装が出てくるので、「次はこれかなぁ…」なんて思っていた方もいるかもしれません。まぁ、なるべくコンプライアンス的に問題のなさそうな当たりで突いていきます。

■製作協力:Kamio (http://kigurumi-kamio.jp/)
Kamio


2007/ 4/16 0:01(#160001)

もうひとつ、ネットワーク系のトラブルがありました。

最近、ミラー1として使っているサーバに大きなファイルを転送すると、ほとんど必ずと言っていいくらいの確率でファイルが壊れるんです。(壊れるのはアップロード時のみ。ダウンロード時は問題なし)

ちょっと前(2007年4月4日〜 4月7日の間くらい)は、何度か試していると、たまに成功することもあるのですが、最近はほぼ100%壊れるようになってしまったため、アップロードするのは控えるようにしています。

メインの方では問題は起きていないため、ミラーサーバ側に問題がある可能性はあるのですが、前にも述べたとおり、最近はルータの調子も悪いですし、Windows Vistaに入れ替えたばっかりですし、ノートンが悪行を働いている可能性もありますし……まだ原因はわかっていません。


2007/ 4/15 0:01(#150001)

最近、ローカルのネットワークにはアクセスできるのに、インターネットにはアクセスできなくなってしまう現象が頻発するようになりました。(2週間に1度くらいの頻度)

この前は、ネットワーク上のドライブをウィルスチェックしている最中に突然、ブラウザやメールソフトが動作不能に陥りました。ネットワークドライブへのアクセスは引き続き可能で、HTTP軽油のメンテ画面も呼び出せます。ただ、インターネットにだけアクセス不可で、ルータのHTTPによるメンテ画面を呼び出すこともできません。

ルータの電源を再投入してやると問題が解決するので、どうやらルータが原因らしいです。購入した日付を調べてみると3年前であることがわかります。1日たりとも電源を切ることなく稼働させ続けているので、さすがに限界ということでしょうか。

そろそろ新しいルータの購入も検討…しつつ、そろそろ Wii の購入も念頭において WiFi 対応のやつもいいかなぁと思ってみたり。どうしようかなぁ。


2007/ 4/14 0:01(#140001)

一昨日は会社の方で懇親会という名の飲み会があったのですが、普段残業しているときよりも早く帰ってこれたため、昨日のx64関連のコーディングをいろいろ試してみることにしました。

詳細はあとでx64対応をまじめに始めてみるのページへ追記するか、他のページにまとめたいと思いますが、メモ程度にブチあたった壁について書いておきます。

ちなみに、対処法が書いてあるものについて、それで本当に合っているのかどうかは、検証していません。


2007/ 4/13 0:01(#130001)

昨日付で、すっきり!! デフラグ等の最新の正式版のバージョンアップを行っています。主な更新点などについては、β版の時の記事を参照ということで。

で、x64対応をまじめに始めてみるに書いてあるとおり、新しい情報が入ったため、もしかしたら短期間のうちになんらかの対応ができるかもしれません。とりあえず、x64にネイティブに対応するにせよ、WOW64上のx86プロセスとして質を高めていくかにせよ、技術検証を始めてみようかと思っています。

で、次にブチあたったのが、(まだ上の記事に追記はしていませんが)x64用のVC++コンパイラでは、インラインアセンブラに対応していないこと。

CCPUという環境情報取得用の独自ライブラリで、CPUIDとかRDTSCの発行のためにインラインアセンブラを利用しているのですが、これができなくなってしまいます。とりあえず、CPUの情報取得に関する部分をごっそり削ることで対処をしたいと思いますが……なんだか残念です。


2007/ 4/12 0:01(#120001)

プログラミングをしていて、ふと思ったこと。

ランダムアクセスできるメモリがあって、使用するメモリの範囲がCPUキャッシュに入りきらない程度の大きさであるとき、ABCDEFG…XYZ とデータを用意したら、次の処理は ZYX…CBA という順番で行った方が良いのかなぁ、とか思ってみたり。

というのも、少なくともZとかYのあたりは、まだCPUのキャッシュに残っている可能性があるので、少しくらいはキャッシュヒットに貢献できるかもしれない、と。

でも、昇順にメモリを読んだ方が、CPU的には先読みしやすいとかの特徴もあるかもしれないし、一概にそうとも言い切れないかな、とも思ってみたり。

まぁ、80486くらいのメモリでガリガリコーディングしていたころならば、結構真剣に悩める問題だったかもしれないですが、現代ではあまり問題とはならない話かもしれませんね。


2007/ 4/11 0:01(#110001)

先日、実際にバグらしちゃったやつなんですが、C++でクラスを扱っているときのこと。

class A {
public:
    A();            // コンストラクタ
    A(int i);       // 引数入りコンストラクタ
 :
 :

private:
    int a;
    int b;
    int c;
};

というような構造のクラスがあって、

A::A()
{
    a = 0;
    b = 0;
    c = 0;
}

A::A(int i)
{
    A();        // もう一個のコンストラクタの方で初期化
    :
    : // iを使った処理
    :
}

ってやると、見事に失敗するようで。

コンパイルエラーになるだけならともかく、コンパイルが正常に通って、あたかも正常に動くように見えるからたちが悪い。

A::A(int) の中で A::A() を呼んでも、別のインスタンスが一時的に生成されて初期化されて破棄されるだけのようなので、元のインスタンスの変数は初期化されないわけですね。通常、new式とともに呼び出される構文ですから。いや、別のインスタンスが一時的に生成されるならまだしも、newを伴っていないのだから、実はゴミメモリか別領域を破壊しているってこともあるかも。

一応、C++の文法規則に近い本を読む限りでは、「コンストラクタはそれらを直接呼び出すことができない点で特殊」である、とのこと。上の書き方ではどのような解釈になるのかというと、どうやら一時オブジェクトとしてのインスタンスを返却する関数的な動作になるようで。おかしな破壊とかはしていなかったものの、一時オブジェクトはその場で削除されるので、実行結果はただちに破棄されて何も残らない。

う〜む、奥が深すぎる。


2007/ 4/10 0:01(#100001)

というわけで、昨日より「x64対応をまじめに始めてみる」を公開しています。

まぁ、読んでいただければわかるとおり、絶望的な結果です。

x64へのネイディブ対応をしようとすることを考えた場合、Windows Vistaへの対応と比べると、悩むことは少ないけれど、工数が多いということになるので、さっそく滅入ってきています。x64への対応そのものの必要性自体から、検討を始めなければならないかな、と。

まぁ、対応した方が喜ぶ人が多いのは確かだと思いますが…なにせ、工数が大きくなると、実生活への影響が無視できなくなって、もはや趣味の領域を超えてしまうんですよね。

少なくとも、今すぐに対応できるほど簡単な問題ではないため、しばらく放置になることは確定っぽいです。今年6月を過ぎれば、少しは余裕が出てくるかもしれないので、何かするとしたら、それからかなぁ……。画期的な解決策でも思いつけば、話は別ですが。


2007/ 4/ 9 0:01(#090001)

ENDLICHERI☆ENDLICHERIって、「エンドリケリ・エンドリケリ」って読むんだそうですね。堂本剛さん、歌がうまくなったなぁ…とは思うんだけど、どうも、歌い方が鼻にかかっている感じがして、聞き続けていると、なんだかムカムカしてくる……。う〜ん、大昔に比べればうまくなってきたけど、なんだか、好きな感じがしなくなったかも。

で、話は全然変わりますけど、Internet Explorer 7(IE7) のお話。

IE6からIE7への変化の中で一番大きいもののうちの一つとして、「タブブラウザになった」というのが挙げられるかと思います。

まぁ、タブブラウザ推奨委員会によると、(私的)奨励度・機能性ともにC評価だそうですけど。たしかに、IE6からの見た目の変化が大きくて、なんだか直観的に使えないんですよね。Vistaだと、デフォルトでメニューバーが表示されないし。

で、今日はIE7の「ホームページ」の設定に関する話題です。

IE7 ホームページの設定(ja-jp)

(VistaではAltキーを押して)「ツール」メニューの「インターネット オプション」から呼び出せる画面から、この設定を行うことができます。

ちなみに、(以前…とくに学生の時にしつこく書いたような覚えがあるのですが)ホームページというと、Webサイト全般を指す言葉のように使われることが多いのですが、それはスラングなんだそうで、実際はこの通り、ブラウザを立ち上げたときに最初に表示されるページといったような意味をもつのだそうで。

野球のホームベースと、1塁・2塁・3塁の違いみたいなもんですかね。(自分で言っていて意味が分からなくなってきた)

まぁ、聞くところによると、和製英語というわけでもなく、アメリカに行っても通じたなんて話もちょこっと聞きますから、スラングよりはレベルの高い言葉なのかもしれません。

で、IE7では1つのウィンドウ内に複数のWebページを表示できるようになったことから、「ホームページも複数設定できるようになって」います。複数行に分けて複数のURLを入力しておけば、IE7起動時に、指定したURLのすべてが、タブに分かれて表示されるという感じ。

そこでふと思ったのですが、このように「ホームページが複数」になったということは、Homepage も複数形になって Homepagesとか思ってみたり。

IE7の英語版の画像を取り寄せてみました。

IE7 ホームページの設定(en-us)

残念。Home pageになってやがる…。


2007/ 4/ 8 0:01(#080001)

Windows Vistaでエクスプローラの詳細表示を使っていると、無駄に、詳細表示の表示内容が狂ってくるのが嫌な感じ。どういう論理だか分らないけど、勝手に写真が格納されているフォルダと思いこんで「撮影日」とか表示し始めたり。欲しいのはファイルサイズと属性だってのに。

正しく表示されるように直しても、勝手に元に戻ったり、うまくいっていると思ったら、しばらくすると元に戻ったり……。なんか嘲笑されているような気がしてならん。イライラしているところで、エクスプローラが「不正な処理で強制終了」。全く、まだまだ不安定なOSです。

ところでエクスプローラの詳細表示で属性を表示していると、ふいに「N」なる属性のついたファイルを見つけることがあります。どういう基準だか分らないけど、勝手に、ついていたり、消えていたりと統一感が無い。

属性=N

いろいろ調べてみると、高速検索のための情報(インデックス)を作成しないような指定のされているファイルに、そういう属性が付いているらしい。ただ、初期設定として、どうして、ついているファイルとついていないファイルができているのかが…不明。

まだまだ、謎の多いOSです。


2007/ 4/ 7 0:01(#070001)

ずーっと前に、あずまんが大王に登場する大阪さんの本名はなんだっけ、という話題が出ました。(正解:春日 歩)

が、先日、友人と話しているときに、もっと重要なことがわかりまして。

たしか、榊さんが大好きな女の子が登場していたはず。その子の名前はなんだっけ、と。とりあえず、愛称が「かおりん」だということはすぐにわかったのですが、その本名がわかりません

あちこち調べてみたんですが、全く分からず。アニメ第1回の人物名紹介のシーンでも「かおりん」としか出てこないし、エンディングでの「かおりん」としか出てこないし、クラス替えの張り紙にも「かおりん」としか出てこない。他人から呼ばれる時も「かおりん」だし、木村先生から呼ばれる時も「かおりん」だし。

謎は深まるばかり……。


2007/ 4/ 6 0:01(#060001)

最近身近で、2人ほど、XBOX360向けゲームの「アイドルマスター」(バンダイナムコ)をプレイしていることがあって、一時的に話題がアイドルマスター一色になることがあります。

まぁ、ゲームの詳細はネットで検索してもらうこととして、とりあえず、プロデューサー(というかマネージャー)になって、アイドルを育て上げるゲーム。これまでになかった要素とか、刺激的な要素がたくさんあって、意外なほど人気が出ているのだとか。

XBOXとしては異例の盛り上がりといっても良いでしょうか。友人でゲーム会社勤務のN氏によれば「(ゲームの規模に対して、異常に大きな)製作スタッフの愛情を感じる」とのことで、褒めたたえておりました。

一人は、アイマスマスターと呼べるほどのスーパープロデューサーになっちゃって、自らが育てたアイドルの(最高の)ステージの映像を見せてもらったりして。愛情を感じますな。→Googleでプロデューサー道と検索

そういえば、ネットの検索エンジンで「とかちつくちて」って検索すると、いろいろ面白いものが見られるそうです。YouTubeの動画なんかもひっかかりますね。

気をつけていただきたいのが、いちおう著作権侵害なので…リンクははらないで置きます。ただ、バンダイナムコ的には、逆にこうやってYouTubeにアップロードされることが良い感じでプロモーションになっており、売上も伸びているようなので、静観しているんだとか。

以前、著作権侵害が「親告罪」(告訴がなければ公訴を提起することができない罪のこと)でなくなるという話が出たことがあって、ずいぶん厳しくなっちゃうなぁ…と思ったんですが、どうやらそういう動きは最近見られないようで、ちょっと安心しています。でないと、上のようなプロモーションもできなくなっちゃうわけで。

まぁ著作権等知的所有権が保護され尊ばれなければならないことは当然でありますが、著作権者としては明確にバラマキを認める文章を出すわけにもいかないってこともあるでしょうし、このような現在の「グレーな部分を残した」運用は、良いことも多くあるんじゃないかなぁと思うわけで。

もちろん、無制限に認めていくのもいけないとは思いますけどね。僕も著作権法をよりどころにしてライセンス条項を書いて、フリーソフトを公開している立場ですので。ただ、著作権者に全てを無制限に認めるのもまた、いけないことだと思います。著作権者は他の著作物とか人類共有のものから知恵をえて著作物を作っていることもあるので、いずれはそこへ還元していかなくてはならないということもありますし。

う〜ん、なんか難しい話になりそうなので、今日のところはここら辺で。


2007/ 4/ 5 1:12(#050112)

Vista環境丸ごとフリーズの件ですが、いくつか情報が集まりました。

とりあえず、うちの環境の、しかもメイン環境のみで起こる固有環境問題でありながら、どこかとの相性問題の匂いも発散しつつ、セキュリティホールっぽさも残しながら、謎のまま問題解決となりました。う〜ん、謎!


ところでもうひとつ。Vista関連の不具合として。

スリープモードを利用したあと復帰すると、キーボードの受付けがやけに遅くなるという現象が発生します。これだと、Vistaのウリの一つであるはずのスリープモードも、なんとなく敬遠しがちで。


2007/ 4/ 4 0:01(#040001)

春が近づいてくると、スポーツニュース(特に野球のコーナー)で「ブルペン」なる、不思議な響きのある言葉が流れてきます。

どうやら、ピッチャーが関係する言葉らしいことは確かなのですが、意味をよく知りません。

周りの人に聞いてみても、やはり同じ程度の理解のようで、曖昧な説明しか返ってきません。周りの人たちの情報を収集すると、

周りの人たちの意見を羅列すると、こんな感じでしょうか。だんだん答えが見えてきたような気がします。というわけで、辞書で調べてみました。

■ブルペン(bull pen)

野球場の一角に設けられた、投手のための練習場。
(雄牛の囲いの意)

なるほど。そういう意味でしたか。大辞林さん、ありがとうございます。


2007/ 4/ 3 0:01(#030001)

一昨日初めて、Windows Vistaが環境ごとフリーズしました。

マウスとかはグリグリ動くんだけど、デスクトップタスクバーサイドバーアプリケーションが次々と死んでいき(白い半透明の膜のようなものが掛かる)、最後にはHDDへのアクセス音だけがむなしく鳴り響いている状態。

HDDへのアクセスが続いているので、リセットボタンを押すことには勇気がいるんだけど……5分くらい待っても復活しないので、リセットボタンを押しました。

どうも、うちの環境だけかもしれませんが、次の条件がそろうと、そんな状態になってしまうらしい。

うちの環境に限った話かもしれませんが、これで5回くらい、環境を巻き込んでフリーズしました。背後ではインデクサデフラグメンタが動き続けていました。フリーズするたびにリセットボタンを押していたので、HDDに負担がかかってしまっているかもしれません。

発生条件については、まだ検証する必要がありそうですが、まだまだWindows Vistaもバグが残っているってことみたいですね。


2007/ 4/ 2 0:01(#020001)

一晩明けました。皆様、お楽しみいただけましたでしょうか。

今年の企画は読者プレゼント付きだったりしました。すでに締め切ってしまいましたけどね。またそのうち、同じようなプレゼント企画をやることもあると思いますので、今回逃しちゃった方は、次回を楽しみにお待ちください。

そういえば去年はこの企画の直後、会社の魔の手により遠方に連れ去られた(2週間の短期出張のはずが4ヶ月間)という苦い思い出があります…が、今年はまぁなんとか大丈夫そうです。問題は、この2ヶ月後…今の仕事がひと段落するころなんですよねぇ……。

さて、3月31日付と、4月1日付で、すっきり!! デフラグと、いじくるつくーるのβ版を公開しています。今日はそれに関する話題でも。

バージョン番号を見ていただけるとわかるとおり、今回の変更は、「バグフィックスや機能追加」というよりは、現在公開している正式版に対する「補完的」意味合いの強いバージョンとなっています。

正式版への格上げの日程については、今のところ未定ですが、4月中には出てくるかなぁと思います。


で、とりあえず、リトルバスターズレコンキスタをソフマップで予約してきました。リトルバスターズの方は…言われてみれば確かにその通りなんだが、…レコンキスタとは違って、一般PCゲームに分類されるんですよねぇ。レコンキスタに引き続いて予約しようとして、なかなか見つからないんで焦りましたが、ただのうっかりさんでした。


2007/ 4/ 1 0:15(#010015)

今日の時点では、どこからもこのページへのリンクが行われていないので、このページを見つけた人は、まさにINASOFT通ってこと!!

毎年恒例ってこともあって、「期待して待ってます」的なメールも何通か受け取っちゃったりとかして、いやいや、うれしいもんですね。

以下、随時追加しています。

ところで先ほどチラっと覗いてみたら、ちゆ12歳のところでも、なんかやってました。あと、イモプレス うぉっちも相変わらず全力って感じ。窓の社(やしろ)もね。そういえば、こちらはイモプレスではなくてイソプレスのまんまなんですね。

コットンソフトもなんかやってますねぇ。橙汁もだ。Vectorもだ。

他にもあるかな〜。

全然話題は違うのだが、リトルバスターズ(Key)が予約開始だそうである。ソフマップ辺りで通販予約が始まったら、予約してみようかなぁ。

もっと話が変わるんだけど、シグルイがアニメ化ってマジですか。アレが。あの描写が。まぁ、R指定みたいなのが入るって話だから、問題ないのかな。

もっともっと話が変わるんだけど、3月末に、マリア様がみてるの最新刊と、涼宮ハルヒの分裂(涼宮ハルヒの憂鬱のシリーズ)の最新刊が出ているとのことで。買いに行かなきゃ。そういえば、6月にも、涼宮ハルヒの驚愕が出るんでしょ? ずいぶんハイペースだなぁ。




2007年3月
質問・感想・ご意見・投稿などはメールで
本ページは、公開から1年半経過後の任意のタイミングで削除される予定です。
/トップ/目次/管理人のひとこと/2007年5月分/3月分/2月分