mieki256's diary



2024/01/18(木) [n年前の日記]

#1 [prog] トラックバーの横に数値入力欄をつけて連動できるか試した

_昨日、 トラックバー/スライダーだけでは値の指定が難しい場面もあるのではないか、数値入力欄やスピンボックスも必要になるのではないかと考えてしまったのだけど。実装はどのくらい大変なのか、ちょっと気になってしまったので、そのあたりを試してみた。

環境は、Windows10 x64 22H2 + Visual Studio Community 2019。

ダイアログ上では、トラックバー("msctls_trackbar32")、数値入力欄(EDITTEXT)、スピンコントロール(UpDownコントロール?、"msctls_updown32")を横に並べて配置した。これらを連動させないといけない…。

実行結果 :

先に実行結果を見せておく。以下のような動作になった。どれも連動しているように見える。

ソース :

とりあえず動いてるように見えるので、一応ソースを置いておく。このやり方で正しいのかどうかは分からんけど…。

_resource.h
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ で生成されたインクルード ファイル。
// trackbarandspinbox.rc で使用
//
#define IDC_MYICON                      2
#define IDD_TRACKBARANDSPINBOX_DIALOG   102
#define IDS_APP_TITLE                   103
#define IDC_TRACKBARANDSPINBOX          109
#define IDR_MAINFRAME                   128
#define IDD_DIALOG1                     129
#define IDC_SLIDER1                     1000
#define IDC_EDIT1                       1001
#define IDC_SPIN1                       1002
#define IDC_STATIC                      -1

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC                     1
#define _APS_NEXT_RESOURCE_VALUE        130
#define _APS_NEXT_COMMAND_VALUE         32771
#define _APS_NEXT_CONTROL_VALUE         1003
#define _APS_NEXT_SYMED_VALUE           110
#endif
#endif


以下のリソースファイル内の IDD_DIALOG1 のあたりが、ダイアログの指定。

_trackbarandspinbox.rc
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// 日本語 (日本) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_DIALOG1 DIALOGEX 0, 0, 325, 66
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
 FONT 11, "Segoe UI", 400, 0, 0x0
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,204,42,50,14
    PUSHBUTTON      "Cancel",IDCANCEL,261,42,50,14
    CONTROL         "",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | TBS_TOOLTIPS | WS_TABSTOP,36,18,188,12
    EDITTEXT        IDC_EDIT1,225,18,54,12,ES_AUTOHSCROLL | ES_NUMBER
    CONTROL         "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS,280,18,9,12
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_DIALOG1, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 318
        TOPMARGIN, 7
        BOTTOMMARGIN, 59
    END
END
#endif    // APSTUDIO_INVOKED


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#ifndef APSTUDIO_INVOKED\r\n"
    "#include ""targetver.h""\r\n"
    "#endif\r\n"
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE
BEGIN
    IDS_APP_TITLE           "trackbarandspinbox"
    IDC_TRACKBARANDSPINBOX  "TRACKBARANDSPINBOX"
END

#endif    // 日本語 (日本) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED


_trackbarandspinbox.cpp
// trackbarandspinbox.cpp
//
// trackbar + spinbox(edit + spin control) sample

#include <Windows.h>
#include <CommCtrl.h>

#include "framework.h"
#include "trackbarandspinbox.h"

#define MAX_LOADSTRING 100

#define IDC_BUTTON_OPENDIALOG   110

// グローバル変数:
HINSTANCE hInst;                                // 現在のインターフェイス
WCHAR szTitle[MAX_LOADSTRING];                  // タイトル バーのテキスト
WCHAR szWindowClass[MAX_LOADSTRING];            // メイン ウィンドウ クラス名

static int number = 1000;

// このコード モジュールに含まれる関数の宣言を転送します:
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    DlgProc(HWND, UINT, WPARAM, LPARAM);

// entry point
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
    _In_opt_ HINSTANCE hPrevInstance,
    _In_ LPWSTR    lpCmdLine,
    _In_ int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    // TODO: ここにコードを挿入してください。

    // グローバル文字列を初期化する
    LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadStringW(hInstance, IDC_TRACKBARANDSPINBOX, szWindowClass, MAX_LOADSTRING);

    // ウインドウクラスを登録
    {
        WNDCLASSEXW wcex;

        wcex.cbSize = sizeof(WNDCLASSEX);
        wcex.style = CS_HREDRAW | CS_VREDRAW;
        wcex.lpfnWndProc = WndProc;
        wcex.cbClsExtra = 0;
        wcex.cbWndExtra = 0;
        wcex.hInstance = hInstance;
        wcex.hIcon = NULL;                              // icon無し
        wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
        wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
        wcex.lpszMenuName = NULL;                       // menu無し
        wcex.lpszClassName = szWindowClass;
        wcex.hIconSm = NULL;                            // icon無し

        RegisterClassExW(&wcex);
    }

    // メインウインドウ生成
    {
        hInst = hInstance;

        HWND hWnd = CreateWindowW(
            szWindowClass,
            szTitle,
            WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT, CW_USEDEFAULT, // x, y
            320, 180, // width, height
            nullptr,
            nullptr,
            hInstance,
            nullptr);

        if (!hWnd)
        {
            return FALSE;
        }

        ShowWindow(hWnd, nCmdShow);
        UpdateWindow(hWnd);
    }

    MSG msg;

    // メイン メッセージ ループ:
    while (GetMessage(&msg, nullptr, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return (int)msg.wParam;
}


//
//  関数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  目的: メイン ウィンドウのメッセージを処理します。
//
//  WM_COMMAND  - アプリケーション メニューの処理
//  WM_PAINT    - メイン ウィンドウを描画する
//  WM_DESTROY  - 中止メッセージを表示して戻る
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_CREATE:
        // メインウインドウ生成時の処理

        // ”Open Dialog" ボタンを配置
        CreateWindow(
            L"BUTTON", L"Open Dialog",
            WS_CHILD | WS_VISIBLE,
            20, 20, 100, 24, // x, y, width, height
            hWnd,
            (HMENU)IDC_BUTTON_OPENDIALOG, // ボタンに割り当てるID
            hInst,
            NULL
        );
        break;

    case WM_COMMAND:
    {
        int wmId = LOWORD(wParam);
        switch (wmId)
        {
        case IDC_BUTTON_OPENDIALOG:
            // "Open Dialog"ボタンが押されたのでダイアログを表示
            DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, DlgProc);

            InvalidateRect(hWnd, NULL, TRUE); // これを入れないとメインウインドウが再描画されない
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
    }
    break;
    case WM_PAINT:
        // メインウインドウ描画処理
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hWnd, &ps);

        // TODO: HDC を使用する描画コードをここに追加してください...

        // 設定値を描画
        {
            wchar_t szBuf[1024];
            swprintf_s(szBuf, sizeof(szBuf) / sizeof(wchar_t), L"number=%d", number);
            TextOut(hdc, 20, 70, szBuf, lstrlen(szBuf));
        }

        EndPaint(hWnd, &ps);
    }
    break;

    case WM_DESTROY:
        PostQuitMessage(0);
        break;

    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

INT_PTR CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hEdit1, hSlider1, hSpin1;
    int n;
    BOOL success;

    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
        // ダイアログ生成時の処理
        hSlider1 = GetDlgItem(hDlg, IDC_SLIDER1);
        hEdit1 = GetDlgItem(hDlg, IDC_EDIT1);
        hSpin1 = GetDlgItem(hDlg, IDC_SPIN1);

        // SpinBox(UpDOwnコントロール)を設定
        SendMessage(hSpin1, UDM_SETBUDDY, (WPARAM)hEdit1, 0);  // EDITTEXTと連動
        SendMessage(hSpin1, UDM_SETRANGE, (WPARAM)0, (LPARAM)MAKELONG(4000, 10)); // 値の範囲を設定
        SendMessage(hSpin1, UDM_SETPOS, 0, (LPARAM)number); // 現在の値を設定

        // trackbarを設定
        SendMessage(hSlider1, TBM_SETRANGE, TRUE, (LPARAM)MAKELONG(10, 4000)); // 値の範囲を設定
        SendMessage(hSlider1, TBM_SETTICFREQ, 500, 0);  // 目盛りの間隔を設定
        SendMessage(hSlider1, TBM_SETPOS, TRUE, (LPARAM)number); // 現在の値を設定

        return (INT_PTR)TRUE;

    case WM_HSCROLL:
        // trackbarが操作された
        if ((HWND)(lParam) == hSlider1) {
            int n;
            n = SendMessage(hSlider1, TBM_GETPOS, 0, 0);  // get trackbar pos
            SendMessage(hSpin1, UDM_SETPOS, 0, (LPARAM)n);  // set SpiBox pos
        }
        return (INT_PTR)TRUE;

    case WM_COMMAND:
        // ダイアログからコマンドを受け取る
        switch (LOWORD(wParam))
        {
        case IDOK:
            // OKボタンが押された
            n = GetDlgItemInt(hDlg, IDC_EDIT1, &success, FALSE);
            if (success)
                number = n;

            EndDialog(hDlg, LOWORD(wParam)); // ダイアログを終了
            return (INT_PTR)TRUE;

        case IDCANCEL:
            // Cancelボタンが押された
            EndDialog(hDlg, LOWORD(wParam)); // ダイアログを終了
            return (INT_PTR)TRUE;

        case IDC_EDIT1:
            // EDIT欄が変更された
            n = GetDlgItemInt(hDlg, IDC_EDIT1, &success, FALSE); // get edit int value
            if (success)
                SendMessage(hSlider1, TBM_SETPOS, TRUE, (LPARAM)n); // set trackbar pos
            return (INT_PTR)TRUE;

        default:
            break;
        }
        break;
    }
    return (INT_PTR)FALSE;
}


_framework.h
_targetver.h
_trackbarandspinbox.h

少し解説 :

ダイアログプロシージャ、DlgProc() の中を見れば、やってることが分かるかなと…。

スピンコントロール(UpDownコントロール)は、どの入力欄(EDITTEXT)と連動させるかを指定できる。SendMessage() に UDM_SETBUDDY を指定することで、連動させるコントロールを設定する。ただ、その場合、リソースファイル(.rc)内のスピンコントロールについては、以下のスタイルを指定しておかないといけない。UDS_SETBUDDYINT というのが、他のコントロールと連動させるための指定だろうか。
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS

スピンコントロールは、値が変化する範囲を指定できる。このあたり、トラックバーとよく似ている。

更に、スピンコントロールは、現在の値を保持している。これもまた、トラックバーと似ている。

つまり、トラックバーとスピンコントロールは、見た目は違うけれど、内部的に持っているものがほぼ同じ、似たもの同士と言えそう。

トラックバー(横向き)が操作されると、WM_HSCROLL というメッセージが送られてくる。ちなみに縦向きのトラックバーなら、WM_VSCROLL が送られてくるらしい。

その際、lParam には、そのメッセージを送ってきたトラックバーのハンドルが入っているので、そのハンドルを利用して対象となるトラックバーを絞り込んで(?)、トラックバーの現在値を、SendMessage() を使って取得することができる。

トラックバーの現在値が得られたら、それをスピンコントロールの現在値として設定してやれば、入力欄(EDITTEXT)の表示も自動的にその値になってくれる。これで、トラックバーの操作を入力欄に反映させることはできた。本当にこのやり方でいいのか分からんけど、一応それっぽく動いてる。

スピンコントロールの2つのボタンをクリックすると、入力欄(EDITTEXT)上の値も変化する。あるいは、入力欄にカーソルを合わせて、直接数値を打ち込んでもいいけど…。何にせよ、入力欄の値が変化すると、WM_COMMAND と、その入力欄のIDが送られてくる。入力欄の数値を int として読み取れたら、その値をトラックバーの現在値に設定してやる。これで、入力欄の操作や、スピンコントロールの操作を、トラックバーにも反映させることができた。本当にこのやり方でいいのか分からんけど。

そんな感じで…。
  • スピンコントロールの操作を、入力欄に反映。
  • 入力欄の操作を、トラックバーに反映。
  • トラックバーの操作を、スピンコントロールに反映。
三種類のコントロールを連動させることができた。

しかし…。一々こんな風に書かないといけないものだろうか?

巷のアプリは、もっと膨大な数のトラックバーやスピンボックスがずらりと並んでいると思うのだけど。その一つ一つにこんな処理を毎回書いていくのは、さすがに大変なのでは…。何かもっと上手いやり方、便利な方法が用意されてそうな気がする…。

余談。入力欄の種類 :

巷の解説ページを見ていて気付いたけれど、入力欄(EDITTEXT)に、ES_NUMBER というスタイル指定を追加してやれば、その入力欄は数字しか受け付けない/アルファベットを打っても拒否してくれる入力欄になってくれるっぽい。数値しか扱わない EDITTEXT にしたい場合は指定したほうが良さそう。

参考ページ :

#2 [prog] iniファイルが妙な場所に作られてしまって悩んだ

C/C++を使った場合のiniファイルの読み書きの仕方も分かったし、設定ダイアログ上の値を読み書きする方法も分かったので、先日作成した「宇宙飛行」スクリーンセーバモドキのOpenGL描画プログラムをスクリーンセーバ化しようと作業を始めたのだけど…。

C:\Window\SysWOW64\ 以下に、スクリーンセーバのプログラム、.scr と、設定ファイル、.ini をコピーして、スクリーンセーバから .ini に設定を書き込もうとしたものの、.ini の内容が全く更新されなくて悩んでしまった。

スクリーンセーバの設定値は、たしかに変更されていて、設定ダイアログを開いても設定値がちゃんと反映されているのに、.ini の内容は以前と変わってない。何故。

試しに .ini ファイルを削除してみたけれど、その後もまるで .ini があるかのように動作してしまう。設定した値も読み取れている。しかし .ini ファイルは存在していない…。どういうこと…?

おそらくはどこか謎の場所に .ini があって、それを読み書きしているのだろうけど、一体どの場所に存在しているのか…。

Cドライブ内を検索しまくったところ、何故か以下のフォルダに .ini があった…。
C:\Users\(USERNAME)\AppData\Local\VirtualStore\Windows\SysWOW64\ssstars_opengl.ini

VirtualStoreのせいだった :

ググってみたところ、Windows Vista以降は、各種権限が厳しくなってシステム絡みのフォルダに書き込みができなくなっていたそうで。しかしそれでは昔のアプリが動かなくなってしまうので、VirtualStore という機能?を追加して、そちらを読み書きすることでどうにかしていたらしい…。

_Windows の VirtualStore 機能 - ラボラジアン
_VirtualStoreにやられた。。。 - ak days

C:\Windows\SysWOW64\ 内の .ini を読み書きしているつもりが、実際には、ユーザーフォルダ\AppData\Local\VirtualStore\ 内の .ini を読み書きしていたのだな…。だから C:\Windows\SysWOW64\ 以下の .ini を削除しても、何事もなかったように動いたわけで…。

さて、どうしたもんか。どうせユーザフォルダ内の VirtualStore\*.ini ファイルにアクセスしているなら、最初からユーザフォルダ内に設定ファイルを保存して読み書きするようにしてしまったほうがいいよな…。

となると、ユーザフォルダのPATHを取得する方法、AppData\Roaming\ 以下にスクリーンセーバ名でディレクトリを作る方法について調べないと…。

いや、本当にそれでいいのだろうか。もしユーザ名が日本語だった場合、正常にPATHを取得して読み書きできるのだろうか。それに、ユーザフォルダ内に謎の設定ファイルが勝手に作られるスクリーンセーバもなんだか怖くないか。アンインストールしたい場合はどうすればいいのか。

そう考えると、C:\Windows\SysWOW64\ 内に設定ファイルもあるものとして作っておいて、Windows Vista以降はここに設定ファイルがありますよとドキュメントで一言触れておくだけのほうがマシだったりしないか…。このあたり、どの方針が妥当なのだろう。

#3 [prog] スクリーンセーバのフレームレートが安定しない

C/C++ と OpenGL でWindows用スクリーンセーバを作っているところだけど、何故かフレームレートが安定しない。

スクリーンセーバ設定ウインドウを表示して、「プレビュー」をクリックした時は、60FPSで動いてくれるのだけど。実際に時間が経ってスクリーンセーバとして呼び出されると、40 - 50FPS で描画されてしまう。おそらくはバッググラウンドで何かがせっせと動いていて負荷がかかっているか、もしくはアイドル状態になるとCPUその他が省電力に切り替わってパフォーマンスが出ないのではないかと想像しているけれど…。

何にせよ、処理落ちっぽい見た目になって動きがギクシャクしてしまうので、前回のフレームと今回のフレームの時間差をミリ秒で取得してオブジェクトの速度に反映させてしまうことにした。時間取得は timeGetTime() を利用。1000 で割って、0.xxxx の値にして、1秒間あたりの移動量に掛けてやる。この値をそのフレームの移動速度にする。

_【Windows】実行時間の計測 #Windows - Qiita
_C/C++ programming technique @ catfish
_C言語/C++ 処理時間計測 入門

これで多少はマシになった。まだちょっとギクシャク感はあるけれど、明らかな処理落ち状態よりマシだろう…。

2023/01/18(水) [n年前の日記]

#1 [linux] ノートPC上でベンチマークを取ってみた

お袋さん用の旧ノートPC FUJITSU LIFEBOOK AH33/J FMVA33JW1 + Ubuntu Linux 22.04 LTS x64 と、Gateway M-2408j + Linux Mint 21.1 x64 を比較すると、Gateway M-2408j のほうがハードウェアスペックは低いはずなのに、LIFEBOOK AH33/J のほうが起動その他が遅い。おかしい。ベンチマークを取って現状を確認したい。

ハードウェアスペックについて :

Gateway M-2408j のスペックは以下。
  • OS: Linux Mint 21.1 x86_64, Kernel 5.15.0-58-generic
  • CPU: AMD Athlon X2 QL-60 (2) @ 1.900GHz
  • GPU: AMD ATI Mobility Radeon HD 3200
  • Memory: 615MiB / 1722MiB (1GB x 2, DDR2-667/PC2-5300, Dual channel)
  • HDD: HGST HTS542525K9SA00 (Travelstar 5K250, 250GB, 5400rpm, Cache 8MB, Serial ATA150, 9.5 mm)

FUJITSU LIFEBOOK AH33/J FMVA33JW1 のスペックは以下。
  • OS: Ubuntu 22.04.1 LTS x86_64, Kernel: 5.15.0-58-generic
  • CPU: Intel Celeron B820 (2) @ 1.700GHz
  • GPU: Intel 2nd Generation Core Processor Family
  • Memory: 684MiB / 5818MiB (2GB + 6GB, DDR3-1333/PC3-10600, Single channel)
  • HDD: Seagate ST320LT020-9YG142 (320GB, 5400rpm, SATA300, Cache 16MB, 7mm)

巷のベンチマーク結果を眺めると、Athlon64 X2 QL-60 より Celeon B820 のほうが 1.5倍ぐらい速いらしいのだけど。しかし、体感では逆。なんでだろ。

ベンチマークソフトについて :

CPUを測定 :

sysbench --test=cpu run と打てば、CPUの性能について調べることができるらしい。実行すると非推奨のオプションがどうとか表示されるあたりがが気になるけれど、そのあたりの解説記事が見つからないので、そのまま実行してみる。

Gateway M-2408j 上で実行。
$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   214.20

General statistics:
    total time:                          10.0003s
    total number of events:              2143

Latency (ms):
         min:                                    4.61
         avg:                                    4.66
         max:                                   15.13
         95th percentile:                        4.74
         sum:                                 9992.38

Threads fairness:
    events (avg/stddev):           2143.0000/0.00
    execution time (avg/stddev):   9.9924/0.00

LIFEBOOK AH33/J 上で実行。
$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   514.70

General statistics:
    total time:                          10.0009s
    total number of events:              5150

Latency (ms):
         min:                                    1.94
         avg:                                    1.94
         max:                                    2.74
         95th percentile:                        1.96
         sum:                                 9999.07

Threads fairness:
    events (avg/stddev):           5150.0000/0.00
    execution time (avg/stddev):   9.9991/0.00

どこを見ればいいのか分からんけど…。たぶん、「CPU speed」「events per second」のあたりを見ればいいのかな。1秒間にどれだけ処理できたか、ということだろうし。

  • M-2408j (Athlon64 x2 QL-60) は、214.20。
  • LIFEBOOK AH33/J (Celeron B820) は、514.70。

おそらく Celeron B820 のほうが速いのだろう。つまり、CPUは、ちゃんと LIFEBOOK AH33/J のほうが速い。たぶん。

メモリを測定。 :

sysbench --test=memory run と打てば、メモリの速度を測定できるらしい。

M-2408j を測定。
$ sysbench --test=memory run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
  block size: 1KiB
  total size: 102400MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 2094157 (209318.02 per second)

2045.08 MiB transferred (204.41 MiB/sec)

General statistics:
    total time:                          10.0002s
    total number of events:              2094157

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.41
         95th percentile:                        0.00
         sum:                                 3430.46

Threads fairness:
    events (avg/stddev):           2094157.0000/0.00
    execution time (avg/stddev):   3.4305/0.00

LIFEBOOK AH33/J を測定。
$ sysbench --test=memory run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
  block size: 1KiB
  total size: 102400MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 24866139 (2485276.02 per second)

24283.34 MiB transferred (2427.03 MiB/sec)

General statistics:
    total time:                          10.0001s
    total number of events:              24866139

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.96
         95th percentile:                        0.00
         sum:                                 4299.46

Threads fairness:
    events (avg/stddev):           24866139.0000/0.00
    execution time (avg/stddev):   4.2995/0.00

これまたどこを見ればいいのかわからんけど…。MiB/sec と書かれてるあたりを見ればいいのだろうか。1秒間に何MB転送できたか、という値なのだろう。たぶん。

  • M-2408j (1GB x 2, DDR2-667/PC2-5300, Dual channel) は、204.41 MiB/sec。
  • LIFEBOOK AH33/J (2GB + 6GB, DDR3-1333/PC3-10600, Single channel) は、2427.03 MiB/sec。

これもまた、LIFEBOOK AH33/J のほうが速い。しかも桁違いに速い。シングルチャネルだから遅いのかなと疑っていたけれど、DDR2 と DDR3 の違いのほうが大きいのだろうか。クロックが全然違うもんな…。

File I/Oを測定。 :

File I/O も sysbench で調べられるけど、書き込みはともかく読み込みも調べる場合は、テスト用のファイルを作っておく必要がある。大量のファイルが作られてしまうから、作業用のディレクトリを作成して、その中にテスト用ファイルを作ったほうがいいらしい。

なので、おおよそ以下を打ち込むことになる模様。
$ mkdir temp
$ cd temp
$ sysbench --test=fileio --file-total-size=1G prepare
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
$ sysbench --test=fileio --file-total-size=1G cleanup
  • mkdir で作業用ディレクトリを作成して、
  • cd でそのディレクトリに入って、
  • 最初の sysbench でテスト用ファイルを作成、
  • 2つ目の sysybench で測定、
  • 3つ目の sysbench でテスト用ファイルを削除する。

M-2408j を測定。
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!

File operations:
    reads/s:                      81.14
    writes/s:                     54.09
    fsyncs/s:                     173.19

Throughput:
    read, MiB/s:                  1.27
    written, MiB/s:               0.85

General statistics:
    total time:                          10.3492s
    total number of events:              3065

Latency (ms):
         min:                                    0.02
         avg:                                    3.26
         max:                                   62.78
         95th percentile:                       13.70
         sum:                                 9983.93

Threads fairness:
    events (avg/stddev):           3065.0000/0.00
    execution time (avg/stddev):   9.9839/0.00

LIFEBOOK AH33/J を測定。
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!


File operations:
    reads/s:                      123.62
    writes/s:                     82.41
    fsyncs/s:                     269.99

Throughput:
    read, MiB/s:                  1.93
    written, MiB/s:               1.29

General statistics:
    total time:                          10.1884s
    total number of events:              4724

Latency (ms):
         min:                                    0.00
         avg:                                    2.12
         max:                                  127.80
         95th percentile:                       13.46
         sum:                                 9992.38

Threads fairness:
    events (avg/stddev):           4724.0000/0.00
    execution time (avg/stddev):   9.9924/0.00

これまたどこを見ればいいのかわからんのだけど…。「Throughput」のところで、MiB/S という単位が出てるから、そこが1秒間あたりに何MB転送できたか、という値なのだろう。たぶん。

  • M-2408j (HGST HTS542525K9SA00, 250GB, 5400rpm, SATA150, Cache 8MB) は、read 1.27 MiB/s, write 0.85 MiB/S。
  • LIFEBOOK AH33/J (Seagate ST320LT020-9YG142, 320GB, 5400rpm, SATA300, Cache 16MB) は、read 1.93 MiB/s, write 1.29 MiB/s。

これもまた、LIFEBOOK AH33/J のほうが速い。HDDだから、CPUやメモリほど全然違う差が出るわけではないけれど、それでも速い。

ついでに、hdparm でHDDの速度測定をしてみた。

M-2408j を測定。
$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads:   1612 MB in  2.00 seconds = 805.62 MB/sec
Timing buffered disk reads: 172 MB in  3.01 seconds =  57.08 MB/sec

LIFEBOOK AH33/J を測定。
$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads:   5262 MB in  2.00 seconds = 2637.05 MB/sec
Timing buffered disk reads: 248 MB in  3.01 seconds =  82.35 MB/sec

  • M-2408j は、57.08 MB/sec。
  • LIFEBOOK AH33/J は、82.35 MB/sec。

やはり、LIFEBOOK AH33/J のほうが速い。

結論。 :

ハードウェアスペック通りに、M-2408j より LIFEBOOK AH33/J のほうが、ベンチマーク上では速いことが分かった。

でも、LIFEBOOK AH33/J のほうが起動が遅い…。
  • M-2408j は、grub表示画面が消えてから LightDM が表示されるまで、1分ぐらいで起動する。
  • LIFEBOOK AH33/J は 3分6秒〜2分10秒ぐらいかかる。
性能が高いほうが時間がかかっているのは何故だろう。

余談。 :

消費電力は結構違いがある。ACアダプタ駆動で、ワットチェッカーを使って測ってみたけど…。
  • M-2408j は、アイドル状態で66W。何か処理をさせても66Wで変わらない。
  • LIFEBOOK AH33/J は、アイドル状態で7〜13W。何か処理をさせると20Wぐらいになる。
数分の一の消費電力でまあまあそこそこ動いてしまうのだから、後者もそれなりにイイ感じなPCのような気もしてくる…。

#2 [linux] 古いIntel製内蔵GPUを使っている場合はgrubの設定に注意

Sandy Bridge世代のIntel製内蔵GPUを使っている場合、grubの起動が遅くなってしまう問題があるらしい。(あったらしい?)

_インテルのせいで起動の遅い Lubuntu 18.04 LTS を何とかしてやりました。 | 極楽はぜのブログ
_【対策】Core2Duo世代のPC:Ubuntu 18.04 LTSの起動が遅い問題 - 某氏の猫空
_使用するPC環境 - dachkerokeroの日記

S-VIDEO出力があるかどうかを調べに行って、反応が返ってこなくて時間がかかってしまうのだとか。

FUJITSU LIFEBOOK AH33/J 上で Ubuntu Linux 22.04 LTS の起動が遅いのはこのせいだろうかと思えてきたので、試しに反映させてみた。

/etc/default/grub を編集。GRUB_CMDLINE_LINUX_DEFAULT の行に、video=SVIDEO-1:d を追加した。
GRUB_CMDLINE_LINUX_DEFAULT="noquiet nosplash video=SVIDEO-1:d"

設定を反映。
sudo update-grub

ストップウォッチで時間を測ってみたけど、劇的な効果は感じられなかった…。やはり LightDM (ログイン画面)に辿り着くまで2分以上かかる…。

#3 [zatta] 裁判所が原発再稼働に否定的な判決をまた出したっぽいのでもやもやしてる

思考メモ。

ちょっと気になるニュースを見かけた。

_福島第一原発事故の刑事裁判 東電元会長ら旧経営陣3人、二審も無罪 「津波の可能性は予測できない」:東京新聞 TOKYO Web
_【詳細】東電旧経営陣3人に無罪判決 東京高裁 判決のポイント | NHK | 東電刑事裁判

福島第一原発事故において、東電の旧経営陣が二審でも無罪判決になった、というニュースらしい。

これは前にも書いたような記憶もあるようなないような気もするのだけど。こういう判決を出されてしまうと、日本としては困る…。

日本国内で原発を再稼働するにあたって、以下のような建前があるよなと。

「日本の現代科学技術をもってすれば、天災が起こる可能性について、100%的中とまでは行かないまでも、ある程度のところまでは充分に予測ができる」
「予測ができるのだから、その予測に基づいて安全対策をすることも可能」
「しっかり安全対策をすれば、重大事故には繋がらないはず」
「今後はより厳しい安全対策をしていくので、原発を再稼働させても問題無い」

こういう建前を前提として、日本は今後、原発をガンガン再稼働させようとしているわけだけど。

ところが、裁判所が…。

「天災? そんなもん予測できるかボケ」
「天災が起きたら原発の重大事故は避けられない。そんなの当たり前だろ」
「よって旧経営陣は無罪」

こんなことを言い出してしまった。

このバカタレ共が…。そこは本音でそう思ってしまったとしても、言っちゃダメだろう…。政府がやろうとしていることの建前が崩れちまうだろうが…。それとも、原発再稼働絶対反対マンが裁判官として雁首揃えて並んでるのだろうか。それならまあ分かるけど…。

「原発の安全対策はしっかりやりました。重大事故は起きないはずです。大丈夫です。だから再稼働させますね」
「ちょっと待ってください。裁判所は天災なんて予測できないし、天災が起きたら重大事故は避けられないと明言してますけど? 全然大丈夫じゃないですよね?」

こういう反対意見が出てきた時に、説得する側はどう答えればいいんだよ。裁判官共、責任取れよ…。面倒臭い状況にしやがって…。

こんなの、事実がどうであったかに関係なく、有罪判決一択じゃないのかと。「あの原発事故は天災じゃなくて人災だった」「やるべきことをサボってたから起きたんだ」「でも今後はサボらないように対策したからあそこまでの事故は起きないはずだ」「だから再稼働は問題無い」…そういうロジック組まないと話がおかしくなる。「天災だから仕方ない」は今後の原発政策を考えたら言っちゃダメだろ…。「天災だろうとなんだろうと本来なら重大事故は防げます」「事故が起きたらそれは人災です。ソイツの努力が足りなかっただけです」って嘯き続けないと…。

これは何度も書いてることだけど…。自分は常々、上流なのであろう方々に対して、「ぶっちゃけ本音はどうでもいいからせめて建前だけでもそれっぽくしてくれよ」と願っているのですが。その建前すら…。何をやってるんだコイツラ…。

それにしても、こんな判決が出てしまうと、東電も、東電以外の電力会社の経営陣も、ニンマリしちゃうじゃないか。ガンガンコストカットして安全対策をそっちのけにしても罪に問われない流れが確定しつつある…。そんな状況でまともに安全対策するわけないじゃん。対策しないんだから防げたはずの事故も防げなくなるじゃん。でも事故が起きたって経営陣は無罪。お咎め一切無し。そんな馬鹿な話があるか。「ちゃんと仕事してる振りをしておかないと有罪になっちゃうからそれらしく見えるようにそこそこそれっぽく振舞っておこう」と思わせる程度の判決を出してくれないと困る…。

いやまあ、裁判所って、現実とは無関係に妙な判断をされちゃう世界のようだから、怒ってみても仕方ないことなんだろうけど。

_「ハチは魚である」と裁判所が認める 米|ニューズウィーク日本版 オフィシャルサイト

それとも単に戦い方がマズかっただけなんだろうか…。「あの時点でそれを要求するのはさすがに無茶だろう」「そんな要求されちゃったら無罪にするしかないわ」と思える要求をしてるのでは…。

思考メモです。オチは無いです。

2022/01/18(火) [n年前の日記]

#1 [windows] スマホからPCにキー入力できるアプリを試してみた

Windows機にテンキーを増設したいなと。

一応、USB有線接続のELECOM製テンキー、TK-TCM004WH を持っていて、Windows10 x64 21H2 でも動作することは確認できたけど、有線接続なので好きな場所に置いて利用できないのがちょっとツライ。これがワイヤレスなら使い勝手がよくなったりするだろうかと。

そんなわけで、ワイヤレステンキーを物色していたけれど、ふと、手元のAndroidスマートフォン、HUAWEI P9 Lite をPCのテンキーに出来ないものかなと思いついた。

ググってみたら、どうやらそういうアプリも存在しているらしい。LAN内のPC、もしくはスマホのIPアドレスを指定して、そのIPアドレスの機器に入力データを送ることで、まるでテンキーから入力されているように見せかける(?)仕組みっぽい。

最初に Air HID というアプリを見かけたけれど、これは Google Play 上から何故か削除されているようで…。

_Air HID

似たようなアプリで、N&P Remote Mouse and Keyboard というものを見かけたので、試用してみた。

_N&P remote mouse and keybordのおかげで外付けテンキーはいまのところ不要なので断捨離│タログタログ

インストールは以下。
  1. Android機上で、Google Play から N&P Remote Mouse and Keyboard をインストール。
  2. Windows上で、N&P Companion 4.2 Setup.exe を入手して、実行してインストール。

使い方は以下。
  1. Android機上で、N&P Remote Mouse and Keyboard を起動。
  2. メニューから Wi-Fi Mode を選択すると、自身のIPアドレスが表示されて、これをPC上で打ち込め、みたいなメッセージが出てくる。
  3. Windows機上で、N&P Companion を実行。IPアドレスを打ち込む欄があるので、Android機のIPアドレスを入力。

これでたしかに、AndroidスマホをPCのテンキーとして利用することができた。

安いテンキーの中には、テンキー側(Numpad)の数字や記号ではなく、英数字キー側の数字や記号を送ってくるものもあるらしいので、そのあたりも確認しておいた。以下のサイトで入力されているキーの種類を確認できるけれど、このアプリはたしかにNumpad側のキーを送ってくる模様。

_ちょっとしたキーボード故障チェック・テスト - ちょっとしたタイマー

更に、Android機上でテンキー画面の下のあたりを左右にスワイプすると、Microsoft PowerPointのプレゼンモード、タッチパッド入力モード等々に切り替えることができる。また、テンキー画面上でマルチメディアキー入力モードに切り替えることもできた。なかなか高機能だなと…。

ただ…。触覚でキーの位置を確認できなくて、キーを叩く時は必ず目視で確認しないといけないので、そのあたりは個人的に厳しいものがあるなと…。例えば、お絵かき作業時の左手デバイスとして利用したりするのは難しいかもしれない。指がキーの位置を覚えて作業効率が上がる、みたいなことは期待できないので…。

2021/01/18(月) [n年前の日記]

#1 [windows] Waterfoxのインストールで少しハマった

Windows10 x64 20H2上で、Waterfox Classic 2020.12 をインストールしようとしてちょっとハマった。インストールしても日本語化ができなくて。本来、Options → General → Locale Select で「Japanese - 日本語」を選んで再起動すれば日本語化されるらしいのだけど、試しても変化が無く。

HDDの中に残していた、Waterfox Classic 2020.07.1 Setup.exe をインストールして、かつ、起動時のインポート指定で、何もインポートしない設定を選んだところ、前述の手順で日本語化ができた。尚、再起動したらバージョンも 2020.12 になってくれた。

もしかすると、Firefox の設定その他をインポートする選択肢を選んでしまったのが良くなかったのかもしれないなと…。

ScrapBookをインストール。 :

ちなみに、Waterfox Classic をインストールしたのは、昔の Firefox で使っていた ScrapBook というアドオンを使いたかったからで。HDD内に ScrapBook で保存したWebページがたくさんあって、それを閲覧したい時が稀にあるわけで。

Waterfox Classic で、昔のタイプのアドオン(現在のFirefoxでは使えないタイプのアドオン)を使うには、Classic Add-on Archive Extension (ca-archive)をインストールすれば良い。

_Add-ons
_Releases - JustOff/ca-archive

今回は ca-archive-2.0.3.xpi をインストール。Waterfox のツールバー上にアイコンが増えるので、そのアイコンをクリックすれば、昔のアドオンを検索・リストアップできるページが開く。

ScarpBook 1.5.14 を検索してインストールした。ちなみに、Waterfox のオプションで、「マルチプロセス Waterfox を有効にする」を無効にしておかないと、ScrapBook の動作に不具合が起きてしまう、という話があったような気がするので一応無効にしておいた。たしか保存ができなくなるとかそういう症状だったような…。違ったかな…。ちょっと自信が無い。

2020/01/18() [n年前の日記]

#1 [cg_tools] Chasys Draw IESを試用

Chasys Draw IES なる、Windows上で動作するペイントソフトがあるらしい。ケニアのナイロビで作られたソフトだそうで。

_John Paul Chacha's Lab - Chasys Draw IES - Product Homepage
_Chasys Draw IES - Wikipedia

興味が湧いたので試用してみたり。環境は Windows10 x64 1909。

chasys_draw_ies_4_80_01.exe をDLしてインストール。

ポータブル版を ―― USBメモリ等にインストールして他のPCでも使える版を用意することもできるらしいけど、そのためには、一度HDDやSDDにインストールしてから、File → Install to USB (Portable) を選ばないといけない模様。

ざっくり触ってみた感じでは、かなり高機能なソフトのようで。レイヤー機能はあるし、ベクターデータ状態で図形を調整してラスターデータとしてFIX、という描き方もできる。ただ、UIが微妙に分かりづらい印象も…。

簡易アニメも作れる。 :

GIFアニメレベルだけど、簡易なアニメも作れるらしい。大まかには、2つのモードがあるようで。
  • レイヤーの位置等を変化させて動かす、Object Animation Mode。
  • 1コマずつ描いて動かす、Frame Animation Mode。

更に、後者の Frame Animation Mode は…。
  • 1コマずつ画面の状態をキャプチャする作り方。
  • オニオンスキンを有効にして1コマずつ描いていく作り方。
この2つが選べる模様。

以下の動画や解説ページが参考になった。

_Introducing Object Animation in Chasys Draw IES - YouTube
_Chasys Draw IES Help: Frame Animation Tutorial

結構落ちる。 :

試用中、ファイル保存をしようとしたらソフトが落ちてしまって少し困った。

まあ、そのあたりの問題を回避するために、オートセーブ機能もついているようで。Configure → Auto-save → Interval = xx:xx を選んで保存間隔を設定すれば、指定した間隔でオートセーブが働く模様。

オニオンスキンを使った簡易アニメの作り方をメモ。 :

一応、Frame Animation Mode の使い方を ―― オニオンスキンを使いながら簡易アニメを作る手順をメモ。

まずは、新規プロジェクトを作成。ウインドウ左上の、新規作成アイコンをクリックして、「Blank Project」を選択して「Go!」をクリック。

frameanime_type0_ss01.png


キャンバスサイズの入力を求められるので、「Presets」をクリック。

frameanime_type0_ss02.png


今回は、640x360を選んでみた。「OK」をクリック。

frameanime_type0_ss03.png


背景色を指定。白の不透明を選んだ。オニオンスキンを使う時は、背景が不透明になってないといかんらしい。

frameanime_type0_ss04.png


キャンバスができたので、何か描く。鉛筆アイコンをクリックして、丸ブラシ(?)を選んだ。

frameanime_type0_ss05.png


ブラシの大きさは、左側真ん中あたりの「Tool Width」で変更できる。マウスの左ボタンを押しながら左右にドラッグして変更するか、右側の小さい三角をカチカチとクリックして変更する模様。

frameanime_type0_ss06.png


テキトーに何か描いた。オニオンスキンを有効にするために、ウインドウ左上の、絵のようなアイコンをクリック。

frameanime_type0_ss07.png


出てくるメニューの中から、「Frame Animation / Onion-Skin」を選ぶ。これで、オニオンスキンが有効なモードに切り替わる。

frameanime_type0_ss08.png


おもむろに、スペースキーを叩く。1フレーム追加されて、前のフレーム内容がうっすらと表示される状態になった。

frameanime_type0_ss09.png


こうやって、「何か描く」→「スペースキーを叩いて1フレーム増やす」→「何か描く」を繰り返す。1フレーム増えるごとに、レイヤーが増えていく。1レイヤーが1フレームとして扱われていることが分かる。

frameanime_type0_ss10.png


おおよそ描き終えたら、全体の表示ディレイ値(1フレームを何ミリ秒表示するか)を指定する。「Animation」→「Set Global Frame Delay」を選択。

frameanime_type0_ss11.png


ディレイ値をミリ秒で指定する。
  • 8FPS なら、1000/8 = 125ミリ秒。
  • 12FPS なら、1000/12 = 約83ミリ秒。
  • 24FPS なら、1000/24 = 約42ミリ秒。
もっとも…。例えばGIFアニメにする場合、GIFアニメは1/100秒単位(10ミリ秒単位)でしかディレイ値を指定できないので、大体の値でいいと思う。

frameanime_type0_ss12.png


レイヤーリスト上に表示されているディレイ値(xxx ms)の表示が変わった。ディレイ値を変更できた。

frameanime_type0_ss13.png


特定のレイヤー(=フレーム)だけディレイ値を変えてタイミング調整をしたい時がある。その際は、レイヤーリスト上でレイヤーを右クリックして、「Properties」を選択。

frameanime_type0_ss14.png


「Frame delay」を変更して、Enterキーを叩けば、そのレイヤーのディレイ値だけを変更できる。

frameanime_type0_ss15.png


今回は GIFアニメとして保存する。File → Save As ... で保存してもいいし、File → Export で保存してもいい。

frameanime_type0_ss16.png


保存ファイルの種類として、「.gif」を選んで保存すれば、GIFアニメとして保存できる。

frameanime_type0_ss17.png


出力された GIFアニメは以下。

type0_result.gif


このソフトの便利っぽい点についてメモ。プレビューウインドウで、常時、現在作成中のアニメがプレビュー再生される。おおよその結果を確認しながら作業ができるのは結構ありがたい気がする。他のソフトも、こういう機能があればいいのに…。

frameanime_type0_ss18.gif

キャプチャしながら簡易アニメを作る手順をメモ。 :

レイヤーの位置等を変更しながら簡易アニメを作る方法もあるので一応メモ。

新規プロジェクトを作成して、背景レイヤーと、手前に乗せるレイヤーの2つを用意する。

frameanime_type1_ss01.png


現在の見た目を「キャプチャ」して、アニメの最初の1フレーム目とする。Animation → Animation Composer → Add Frame (we have 0) を選択。

frameanime_type1_ss02.png


Animation Composerウインドウが表示される。また、ウインドウの左上に、右向きの再生マークが表示されて、「現在、アニメ作成モードだよ」と教えてくれる。

frameanime_type1_ss03.png


レイヤー移動ツールに切り替える。指先っぽいアイコンをクリックして、どれかしらを選ぶ。

frameanime_type1_ss04.png


背景の手前に乗ってるレイヤーを、マウスの左ボタンを押しながらドラッグすることで、レイヤーの位置を移動できる。位置が決まったら、Animation Composer ウインドウの、カメラのシャッターっぽいアイコンを ―― 「Add Frame」のアイコンをクリックする。これで、現在の見た目が、新しいフレームとしてキャプチャされる。

frameanime_type1_ss05.png


こうやって、「レイヤーの位置を移動する」→「キャプチャする」→「レイヤーの位置を移動する」、を繰り返して、アニメを作っていく。

おおよそキャプチャし終えたら、Animation Composer ウインドウの、チェックマークっぽいアイコンを ―― 「Render Animation Sequence」アイコンをクリック。

frameanime_type1_ss06.png


全体のディレイ値を入力するダイアログが開くので、値を入力して「OK」をクリック。

frameanime_type1_ss07.png


今までキャプチャしたフレームがタイル状に並んで、アニメ再生される状態になった。この状態で GIF として保存すれば、GIFアニメになる。

frameanime_type1_ss08.gif


出来上がったGIFアニメは以下。

type1_result.gif

Object Animation Mode について。 :

自分にとって興味があったのは Frame Animation Mode だったのだけど。一応、 Object Animation Mode についても、ざっくり説明。

Object Animation Mode は、「このレイヤー(オブジェクト)を、何ミリ秒かけて、こういう変化具合で、座標変更せよ」という指示をタイムライン上で指定していくアニメ作成モードらしい。等速運動だけではなく、加速、減速の動きを指定できるようで。

まあ、Adobe Flash の簡易版というか、より分かりにくいキーフレーム指定方法でアニメを作れる、とでも思っておけばよさそうな気もする。

ここまで書いといてなんだけど。 :

ここまで書いといてなんだけど…。この手のアニメを作りたかったら、Krita あたりを使ったほうがいいんじゃないか、という気も…。Krita なら、解説ページや解説動画も結構あるし…。

1レイヤー=1フレームとして扱う簡易アニメ作成なら、FireAlpaca でも作業できるし…。

_オニオンスキンモードって何? - イラストTips集 [アルパカ学園]

2019/01/18(金) [n年前の日記]

#1 [tv] 「トクサツガガガ」実写ドラマ版を視聴

特撮ヒーローオタクのヒロインが、日常内の様々なピンチを特撮ヒーローへの愛で乗り越えていく、「トクサツガガガ」という漫画作品があるのだけど。NHKで実写ドラマ化されたらしいので視聴してみたり。

これは…面白い…。漫画原作のノリを意識した、原作を尊重した作りだなと…。素晴らしい。

TVの中にチラリと映る程度の映像でありながら、特撮ヒーローの背景でセメント爆発を使っていたあたりで唸ってしまった。「昭和の特撮ヒーローと言えばセメント爆発でしょう」てなあたりをよく分かってらっしゃる…。このスタッフ、一体何者なんだ…。

特撮協力に東映の名前があったあたりも気になるなと。どのあたりで、どんな協力をしていたのか…。

何にせよ、これは実に良い出来の実写化だな…。

テキスト情報の活用。 :

本編内の要所要所で、イラスト+テキストを堂々と表示しながら、あるいは手書きのテロップを出しながら状況を説明したりするあたりに感心。漫画でよくある見せ方を、実写ドラマ内でも活用していたなと…。

漫画や小説は文字情報を使って説明できるところが長所の一つではあるけれど。アニメや実写になった際、「テロップを出したら死んじゃう」系の演出家さんが担当しちゃうと、無理して台詞だけで説明しようとして酷い出来になるわけで。しかし、このドラマは ―― 少なくとも1話を担当した演出家さんは違うなと…。映像作品であっても、必要なら文字情報を出すべき派というか、使える道具を全部使って映像作品を作っている、そんな気配を感じたり。

もっとも、考えてみれば、例えばNHKの「歴史ヒストリア」等では、イラスト+テキストで説明したり等しているわけだから…。実写ドラマの枠ばかり意識しないで、他の番組も注意を払って眺めていれば、そういう見せ方もアリと気付きそうではあるのかな…。

でもまあ、コミカルな内容の企画なので、そのあたり自由度が高い、というのもあるのだろうな…。

2019/01/26追記。 :

ググってみたら、戦隊シリーズや牙狼シリーズに助監督として参加していた女性監督さんが、このドラマにも助監督として参加していたらしい。戦隊シリーズに惚れてしまって業界を目指したという、ドラマの主人公とかなりシンクロする監督さんで…。それで細部が本格的なのだなと納得。

レインボー造型企画がスーツ制作に関わってるらしいし、スーツの中の人は岡元次郎さんだったりするし、道理で架空のヒーローキャラなのに本物にしか見えないわけで…。本物作ってた人達が参加しているのだもの…。限りなく本物…。

#2 [cg_tools][pc] PC-6001のペーパークラフトを作れないか試行錯誤中

まずは箱を作れないと話にならないので、blender で試行錯誤中。

前面の端の丸みを帯びた部分は諦めた。そこが丸くなってるだけで、組立ての難易度が上がりすぎてしまう…。

上面の後ろの、脇の角度の差も諦めた。あまりにビミョーな角度差だから、平面にしちゃってもいいんじゃないかな…。

ペーパークラフトの罠。 :

当初は形状を再現できないかアレコレ試していたけれど。途中で、「いかんいかん。コレは罠だ」と気づいたり。

ペーパークラフトの設計(?)をしていると、ついつい陥る罠があるよなと。複雑な形状をどうやって紙で再現するか、そのことについて、うっかり努力してしまう。

もっとも、世間一般でいうところのペーパークラフトというのは、大体そういうものだけど。複雑怪奇な形状を紙で再現して「ドヤァ」するのがペーパークラフトです、みたいな。ただ、自分は、その方向はいかんだろうと思っていて。設計者は組み立てられても、他の人が組み立てられないのではつまんないよなと。

自分が子供の頃に読んだ、「紙工作ペーパークラフト入門」という本で、やたらと複雑なSLのソレを見て、工作好きだった自分ですらゲンナリしてペーパークラフトへの興味が消滅した、あの時の気持ちを忘れてはいけないなと…。「コレなら自分でも作れそうかなあ」と思える程度の難易度に留めておかないと…。頭の中にうっすら残ってる小学生の頃の自分に、「どうかな? コレなら作れそう?」と尋ねながら設計していかないと…。

ということで、ガツンと省略して設計することにしたいなと。幸い、昔と違って、今はプリンタで出力してそれなりのテクスチャを印刷できるわけで。形のシンプルさを、テクスチャの細かさで補えるはず。

といいつつ、上面後ろの出っ張りと、下部の段差ぐらいは再現したいなと四苦八苦しているのだけど。

只の箱もアリかもしれず。 :

もしかすると、単なる箱で作るのもアリかもしれない。テクスチャだけはレトロPCっぽいソレにして…。SDキャラならぬ、SDレトロPC、みたいなノリで。

只の箱なら、蓋を開けて入れ物として使うことだってできるかも。ペーパークラフトに実用性を付加できる、そんな可能性もありそうだなと。

2018/01/18(木) [n年前の日記]

#1 [pc][nitijyou] 親父さんPCの無線LAN子機がインターネットに繋がらず

朝方、親父さんから苦情が。PCがインターネットに繋がらないとの話。

確認してみたら、親父さんPCに差しているUSB接続無線LAN子機 ELECOM WDC-433DU2HBK に変なIPアドレスが渡されていた。192.168.A.x にならなければいかんのに、192.168.B.x になってる…。なんでや…。ルータには繋がってるようだけど、IPアドレスが正しくないのでは繋がってないも同然…。

Windows10を再起動したり、接続を切断したり等試してみたけどダメ。

他の無線LAN子機を使ってるWindows機からは、ルータに繋がってるし、正常なIPアドレスも取得できてる。親父さんPCだけがおかしいな…。

ドライバを再インストールすることにした。ちなみに、ドライバのインストールは、無線LAN子機を接続しない状態で行う。コントロールパネル経由で、ELECOM WDC-433DU2HBK のドライバをアンインストール。USBメモリ経由で、現行版のドライバのセットアップファイルをコピー。インストール。再起動。

ELECOM WDC-433DU2HBK を接続してキーを入力。ちゃんと正しいIPアドレスを取得して、ネットにも繋がるようになった。何なんだろうな…。

#2 [krita] kritaの基準線がよく分からず

kritaで作業していて、基準線という機能があるらしいと知ったのだけど、何をどうしたら画面に出てくるのか、よく分からず。

_Grids and Guides - Krita Documentation を眺めてみてやっとわかった。基準線=ガイド(Guides)のことか…。

作成するためには、ルーラー(座標目盛)を表示しないといかんらしい。表示 → 座標目盛りを表示、にチェックを入れると、キャンバスの上と左に目盛が表示される。

更に、表示 → 基準線を表示、にもチェックを入れる。

移動ツールを選択して、ルーラー上からキャンバスに向かってドラッグするとガイド(基準線)が作成できる。また、移動ツールで、キャンバス上のガイドをドラッグすると、位置を調整することができる。このあたりは GIMP と共通の操作、のような気がする。たしかそのはず。

設定 → ドッキングパネル → グリッドと基準線、にチェックを入れると、グリッド及び基準線を設定できるパネルも表示される。

ガイドの削除は、ガイドをキャンバス外までドラッグすることでできるっぽい。

ガイドの位置をキッチリ数値で指定する方法が見つからず。そのあたりは未実装らしい。

2017/01/18(水) [n年前の日記]

#1 [game][neta] スクロールSTGの背景スクロール速度についてぼんやり考えたり

なんとなく、横スクロールSTG(シューティングゲーム)のBG(背景、Background)スクロール速度についてぼんやり考えてしまったり。

横スクロールSTGの始祖は _「スクランブル」 あたりではないか、と思っているのだけど。「スクランブル」のパワーアップ版が「グラディウス」だったりするし。

「スクランプル」は、スクロールで出現してくる地形(背景)にぶつからないよう自機を操作しながら敵や地上物を破壊するゲーム、なわけだけど。プレイヤーが地形に当たらないよう操作するためには、そもそもそこにある地形の形が認識できてないといけないわけで。つまり、地形・背景は、プレイヤーが認識できる程度にゆっくりスクロールさせないといけない。

しかし、その手のゲームの自機は、ロケットだったり飛行機だったり、なんだか速く動きそうな見た目だったりするわけで。ロケットや飛行機がのんびりじわじわと低速で飛んでいる、という光景は考えてみるとおかしい。

本来なら、自機は凄い勢いで移動してるはず。つまり、地形・背景も凄い勢いでスクロールしてないとおかしい。けれど、実際に高速スクロールさせてしまったら、一瞬で地形とぶつかってゲームオーバーになるのは目に見えてる。

このあたり、問題解決はできないのだろうか。

策その1。自機の形を変えてしまう。 :

ロケットや飛行機の形だから、高速移動してないのはおかしいと思ってしまうわけで。だったら、自機の見た目を変えてしまえばいい。

もし、ヘリコプターや、風船にぶら下がって飛んでる人間キャラ、等であれば…。これなら、のんびりじわじわと空を飛んでいても全然おかしくないよなと。

策その2。地形とアタリを取らなければいい。 :

そもそも、地形とアタリを取らなければ ―― 衝突判定をしなければいい。

縦スクロールSTGは、えてしてこの策で解決してる気がする。地形とアタリを取ってる縦スクロールSTGのほうが珍しい印象も。

策その3。ステージ開始時だけ高速スクロール。 :

地形・背景が高速スクロールすることは、ゲーム性というか、遊びとは全然関係ない。単に、見た目の雰囲気としてはそのほうが正しいのでしょうな、という話でしかない。であれば、単なる一演出として見せてしまえばいいわけで。

ということで、ステージ開始時は背景が高速スクロールして雰囲気作りをするけれど、そのうち少しずつスクロール速度が遅くなって通常速度になるSTGがチラホラあるわけで。 _「メタルブラック」 とか、 _「ツインビーヤッホー」 とか。

策その4。地形相当の巨大物を並走させる。 :

地形と衝突、とは言うけれど、ぶつかる何かが地形でなければいけない道理はない。何かにぶつからないように自機を操作すれば遊びは成立する。ので、背景は高速スクロールして自機が高速移動してるように見せるけど、同じぐらいの速度で巨大な何かが並走してるのだ、ということにすれば相対速度はゆっくりだから遊びになる。

ということで、巨大戦艦や巨大列車が並走、みたいなステージが用意されることも。 _PS1「アインハンダー」の2面 とか。 _MSX2「スペースマンボウ」の1面 とか。 _AC「イメージファイト」の2面 とか。

策その5。本当に高速スクロールさせる。 :

_「グラディウスII」の高速スクロール面 とか。

しかし、コレを全ステージでやるのはちょっと無理…。さすがに操作がせわしない…。

その他。 :

今思いついたのはそのぐらいだけど、もっと他にも策がありそう。

2016/01/18(月) [n年前の日記]

#1 [pc] Windows10 x64上でCD-Rが焼けなくてハマった

親父さんPC、Windows10 x64機で、CD-Rが焼けなくて悩んだり。

スペックは…。 CD-Rの書き込みは、Windows標準機能で試したり。

積んでる光学ドライブは、てっきり親父さん自身が買ってきた _IO-DATA DVR-AN18GLVB だと思い込んでたけど、 _2010/07/19 の日記に、IO-DATA DVR-AN20GL (Sony Optiarc AD-7203A) とメモしてあった。…すると、DVR-AN18GLVB は、家の中のどこにあるんだろう。まあいいか。

症状としては…。親父さんのPC = Windows10機で、USB接続外付けケースに入れたIDE接続のDVDドライブを使ってCD-R書き込みを行うと、プログレスバーが最後のあたりまで伸びかかったところで、
ディスクへの書き込み中に問題が発生しました

ディスクは正常に書き込まれませんでした。コンピューターを再起動して、再試行してください。
と表示されてしまう。みたいな。

CD-Rの中身はちゃんと焼けてない。ファイル管理領域だけは焼けてるのか、ファイル一覧は見れるけど、ファイルを開こうとすると中身が読み取れないとエラーが出たり、エクスプローラが固まったり。昨晩から5〜6枚ほど、速度を変えて試してみたり等してるけど、全部失敗。

しかし、DVD-Rならフツーに焼けてしまうわけで…。CD-Rだけが焼けない。なんでや。

また、自分のメインPCに接続して試したら、フツーにCD-Rが焼けてしまった。つまり、DVDドライブが壊れているわけではナサゲ。

そうなると…。 どれなんだろう…。

親父さんPCにインストールされている B's Recoreder GOLD9 が何か悪さをしているのではないかとアンインストール・OS再起動をしてみたけど、症状は変わらず。

試しに、 _ポータブルDVD-Rドライブ IO-DATA DVRP-U8XLE2 を親父さんPCに繋いでCD-Rを焼いてみた。…アレ? これだと焼けてしまった。一体どうなってるんだ。

とりあえず、親父さんPCに、IO-DATA DVR-AN20GL + サイズ 鎌蔵2 5IDEを接続すると不具合が起きることは間違いないので…。仕方ないから、しばらくはポータブルDVDドライブを使ってほしい、という話に。 *1

しかし、どうして、大きいほうの光学ドライブでは不具合が起きるのか…。

電源が弱まっているのかなあ。しかし…。 となると、電源ではないよな。たぶん。

USB周りで何か不具合が…。しかし…。 となると、USB周りでも無さそうな気がする。たぶん。

仮想PC上のWindows10 x64 で試してみた。 :

VMware Workstation 12 Player + Windows10 x64 Enterprise 評価版に、USB接続で AD-7203A を繋いで CD-Rに書き込みできるか試してみた。

エラーが出た。48倍速のみならず、8倍速で焼いてみてもダメ。エクスプローラ上から「取り出し」もできない。

ホストOSの Windows7 x64 で焼いてみた。やっぱり、Windows7なら、CD-Rを焼けるなあ…。

Windows8.1で焼いてみたらどうなるだろう。VMware Workstation 12 Player + Windows 8.1 x64 Enterprise評価版で、CD-R書き込みができるか試してみた。

これも Windows10 と同様に、最後のあたりでエラーが出た。取り出しができない云々のエラーメッセージが表示されて、そのうちタイムアウトになるのか、関連ウインドウが閉じてしまう。

VMware上で試してるからエラーが出たのか、それとも Windows 8.1以降では軒並みエラーが出るようになったのか…。これじゃよくわからんな…。

IDE接続のDVDドライブを、USB接続の外付けケースに入れて使ってるから問題が出ているのだろうか。VMware Workstation 12 Player では、光学ドライブの型番ではなく、Cypress USB Mass Storage Device と表示されてるし…。Cypress製の変換チップが Windows 8.1 や Windows 10 に対応していないとか? いや、Windows8.1 や Windows10 が対応してないと言うべきだろうけど。

実機に直接IDEで接続して試すだけの気力はないな…。手持ちのCD-Rも5〜6枚ほど無駄にしちゃってるし。それも太陽誘電の日本製を謳うCD-Rですよ。残り3枚になっちゃったよ…。

ググってみると、Windows10は、光学ドライブ関係の不具合が結構あるみたいで。外付けならともかく、PC本体付属の光学ドライブが使えなくなった、てな事例も見かけて、それはあまりにあんまりだ、酷過ぎると思えてきたり。USB接続の外付けDVDドライブが、今では3,000円ぐらいで入手できるとか、(CD|DVD)-Rを焼く場面がめっきり少なくなってる等あるにしても、今まで使えていたものがWindows10にしたらなんで使えなくなるの、てな不満はあるよなと。

一応ドライババージョンのスクリーンショットをメモ。 :

役に立つとは思えんけど一応メモ。

_Windows 10 + AD-7203A
_Windows 8.1 x64 + AD-7203A
_Windows 7 x64 AD-7203A

Windows7 だけ、他にもドライバが入ってるみたいだけど、ググっても各ファイルの正体が分からなかった。Intelチップセットを使ってるM/Bだから、Intelの何かじゃないかと思うのだけど…。

*1: このポータブルDVDドライブは、本来、ノートPC用に確保したドライブなので、親父さんPCのところに置きっぱなしにするのは若干不満もあるのだけど。しかし今時、親父さんも、自分も、光学ドライブを使う場面はほとんど無いし。自分がノートPCを外に持ち出す時や、何かをセットアップしなきゃいけない時だけ、親父さんPCのところから回収する感じでもなんとかなるかな、てな予感も。

#2 [nitijyou] 雪が積もった

結構積もった。雪だるまを作れるレベル。

体調悪い。 :

起きたらどうも体がだるくて。歯医者の予約を入れていたのだけど、申し訳ないけどキャンセルさせてもらった。以前、こんな感じの体調の時に無理して歯医者に行って治療してもらったら、そこから数日は原因も分からずグッタリしちゃったので…。こういう時は、無理をしないほうがいい…。いや、歯医者さんの受付の方は、「こんなに雪が積もってるからキャンセルしたんだな」とか思ってそうだけど。

2015/01/18() [n年前の日記]

#1 [prog] ベルトスクロールアクションで必要なキャラパターン

どのぐらい必要になるんだろう。とりあえず思いつく範囲で種類をリストアップ、してみようと思ったのだけど。

プレイヤーキャラ。
雑魚キャラ。
これでもまだ全然抜けがありそうな気も。仮画像を作るにしても、こんなに必要になるのか。作業が大変そう。でも、画像が無いとプログラムを書けないし。

2014/01/18() [n年前の日記]

#1 [anime] 「生徒会役員共*」を視聴

映像中の、描き文字? 書き文字?の使い方に感心。おそらくは漫画原作の各コマの再現なのかなと思うのだけど。ここまで徹底的に挿入してくると、ある種、スタイリッシュだなと。さらに、それぞれの描き文字に必ずモーションを付加してる拘り具合も好印象。まあ、内容は下ネタだらけなので、一般の方には全くオススメできないのですが…。

昔、佐藤順一監督が、「きんぎょ注意報!」「セーラームーン」等の中で漫符を活用して、それがアニメの表現としてもフツーに定着しちゃった、てなことがあったわけだけど。アニメにおいては、漫符の活用から、更に描き文字まで活用されるところまできたのかな、てなことを考えたり。また、実写じゃちょっとやりづらい・見た目が漫画に比較的近いアニメという映像表現だからこそ使える見せ方、とも思うわけで。だったら活用しなきゃもったいない、かもしれないな、とも。

特に感心したのは、「ティッシュ持ってない?」と声優さんに喋らせると同時に、「切れちゃって」という描き文字を並べていたカット。「ティッシュ持ってない?」という台詞を喋る実時間分で、「切れちゃって」という情報までも同時に伝えてしまった ―― 直列ではなく並列で情報伝達していたわけで。これがフツーの演出家・脚本家なら、「ティッシュ持ってない? 切れちゃって」と、そのまま喋らせてしまうだろうなと。結果、実時間が増えて、おそらくは漫画原作にあるのであろうテンポの良さなんてさっぱり再現されずに間延びしてしまうはずで。

こういう時間の切り詰め方は、喋ることで情報を伝達せざるを得ない落語や漫才では実現できないよなと…。また、前述のとおり、実写映像作品でも、ちょっと難しい。もしかすると、アニメでしかできない見せ方かもしれん、と。

内容は、どこを切り取っても、実にくだらないのに…。しかし、各所で技が駆使されていて、このアニメ、スゴイ作りだなと大変感心しました。勉強になります…。や、何の勉強だか分かりませんけど。

#2 [dxruby] STGサンプルを弄ってるところ

ゲームオーバーの仕様までは入れることができた。

しかし、見た目はソレっぽいのに、敵は乱数で発生させてるので、ちっとも面白くない。やっぱり敵発生テーブルを書かないとダメかな。敵発生テーブルを作るなら、地形マップも欲しくなるなと。…この際、そこまでやってしまおうか。

2013/01/18(金) [n年前の日記]

#1 [anime] 新海作品を視聴

「秒速5センチメートル」「ほしのこえ」「星を追う子ども」を視聴。元旦にBS系で放送されてた、のかな。ようやく消化。

「秒速」の感想。 :

とにかく凄かった。背景美術も相変わらず凄いけど、話がもう…。切なさとか、いじらしさとか、女々しさとか、そのへんが…。 *1 誰かが、「正月からアレはキツイ」と言ってたけど、たしかにそうかも。

絶賛する人、ボロクソに叩く人、両方を見かけるから一体どんな作品だろうと思ってたけど、視聴してなんだか分かったような気も。ハマる気持ちも、嫌悪する気持ちも、両方わかる。最後のあたりで「えー、そんなあ」という気分になる人も居そうだし。何にしても、これは評判になるわな…。や、自分はこういうの好きだけど。自分も、踏切のソレはあの流れでしょう、と思えたり。

「ほしのこえ」の感想。 :

今見てもやっぱり面白いなと。あり得ない設定群も、全てはあのアイデアを実現するための舞台装置…と誰かが言ってた気もするけど、やっぱりそうだよなと。

「星を追う子ども」の感想。 :

想像してたよりフツーに見れた。もっと悲惨な出来を予想してたので…これなら全然OKじゃん、みたいな。まあ、ところどころに出てくる宮崎アニメそのまんまの各シーンが気になったりもしたけれど。

なんとなく、 _青い海のエルフィ を連想したり。アレを見た当時、「なんだコレ。ナウシカの真似じゃないか」と困惑したものですが、アレに近い何かを感じたり。いや、結構そういう作品も好きなんだけど。グレンダイザーに対する _宇宙円盤大戦争 (ガッタイガーが出るヤツ)とか、ガンダムに対するガンガルとか、ゼビウスに対するゼビオスとか、そういうパチモン臭い(?)品は意外と好き。 *2

絵的には、ジブリよりも日本アニメーションやテレコムに近いと思った。ジブリは絵がくどいけど、日本アニメーションやテレコムはもう少しさっぱりしてる印象。

宮粼ゴロー監督がゲド戦記で使わずに捨ててしまった、シュナの旅に出てくる各設定のほとんどを、拾って繋いでたようにも思えたり。ここまでやってくれるなら、いっそ、新海監督をジブリに呼んでシュナの旅を作ってもらうわけにはいかんのだろうか。語りで間を持たせる監督の作家性とも相性がいいと思うし、観念的な設定を列挙した構成も新海作品と合ってるだろうし、ゴロー監督より、よほどシュナの旅の良いところを分かってくれそうな気もするし。

新海監督を一度ぐらいジブリで起用してくれないかな。話題になると思うんだけどな。ゴロー監督と新海監督のダブル監督で1本作る、なんてのも面白そう。どっちがよりたくさん宮崎アニメを パクれるのか リスペクトできるのか、作品中で競ってもらってソレを宣伝に、とか。…まあ、新海監督としては、ジブリ風はやるだけやったから次は別の路線で、と考えてそうだけど。

にしても、新海作品は見ていてなんだかハラハラする…。どこかの時点でプツンと糸が切れそうな、そんな不安が。どうして自分はそう感じるのだろう。謎。それはさておき、どの作品もとにかく凄いなと再認識。

*1: 女々しさと書いてはいるけど、作品中の男性キャラがそうなのであって、女性キャラはある意味男らしいので、なんだかややこしい。
*2: Wikipediaによると、宇宙円盤大戦争はパチモンどころかグレンダイザーのパイロット版だったそうで。しかし自分は、グレンダイザー放映開始後に宇宙円盤大戦争を見てしまったので、子供心に「なんでグレンダイザーそっくりのロボットが…」と困惑した記憶が。

2012/01/18(水) [n年前の日記]

#1 [nitijyou] まだ喉が痛い

熱はないけど、相変わらず喉が痛い。

#2 [comic] 「あわてん坊本屋さん」(久世番子著)1〜3巻を読んだ

本屋さんで働いている漫画家さんの手によるエッセイ漫画。…正しいタイトルは「暴れん坊本屋さん」。妹が購入したとのことで以下略。

本屋さんはとにかく大変なのだ、的内容だったけど。読んでいるうちになんだか腹が立ってきてしまった。もし、電子書籍が普及すれば、書かれていることのほとんどがあっさり解決しちゃうよなと。 たくさん解決しそう。でも、業界的には、電子書籍は悪、という流れになってるようだし? 自炊代行業者を裁判で訴えてたりするぐらいに悪者扱いしてるようだし? ということは、これらの問題は解決しないのだろう。解決できる術があるのに解決されない。

てなことをチラリと思ってしまった後では、書かれている内容一つ一つに、「なんでこの業界、わざわざ苦労する道を選んでるの?」「その苦労、昔ならともかく今なら不要だよね? 本来であれば」「売る側が勝手に苦労するだけならともかく、なんで買う側にまで苦労を強制してんの?」と思えてしまって素直に楽しめず。

紙の本と電子書籍、好きなほうを選べたら、苦労は減るはずなのに。なんで紙の本しか用意しないのだ…。

#3 [comic] 紙の本を購入して所有すること自体が行き過ぎ、ということではないのかしら

「猫も杓子も紙の本を手に入れられるようになってしまったのが間違い」ではないのか。庶民にとって、貸本屋で借りて読むぐらいでちょうどいいのではないか。今時なら、閲覧ライセンスだけ購入してサーバにアクセスして閲覧する、とか。

紙の本と言うブツは、本来、「蔵書室を持っているぐらいにお金持ちな人」だけが所有できるブツ、という扱いが相応しいのではないか。貧乏人は、たくさん本を購入所有しても、そもそも置き場所がないわけだし。

置き場所がないからと、どこかの店長みたいに読んだ本をゴミ箱に突っ込むのは、何かおかしい。根本的なところで、この国は何かを間違えてしまったとしか思えない。貴重な森林資源で作られた紙の本をゴミ箱に突っ込むぐらいなら、最初からデジタルデータで配信閲覧したほうがよくないか。でもそれを、業界は否定する。否定して、紙の本をゴミ箱に突っ込んだり、版元に返品して裁断することを肯定し続ける。何をやっているんだ、この国は。と思ったりもして。

紙の本を客に買わせることは手段。金を稼ぐのが目的。なのに、手段を目的にしていないか。

紙の本だから起きてしまう事故もあるわけで。 :

_震度5強の地震で死亡か 松本市の男性 - 社会 - SANSPO.COM
 1日午前10時ごろ、長野県松本市並柳2丁目のアパートの会社員安田勇一さん(44)方で、安田さんが室内で大量の本の下敷きになって死亡しているのが見つかった。

震度5強の地震で死亡か 松本市の男性 - 社会 - SANSPO.COM より


_他人ごとではない・・・・ - 日々雑感〜あれもこれも書きます - Yahoo!ブログ
11日早朝に発生した駿河湾沖を震源とする地震で、静岡県警は12日、マンション室内で大量の本に埋もれた状態で死亡していた女性を、地震による死者と判断した。この地震による死者は初めて。静岡市は同日中にも災害死亡者として認定する見込み。

他人ごとではない・・・・ - 日々雑感〜あれもこれも書きます - Yahoo!ブログ より

同署によると、池本さんは1人暮らし。室内には天井に届くほどの高さまで、数千冊の書籍や雑誌が平積みにされていた。

他人ごとではない・・・・ - 日々雑感〜あれもこれも書きます - Yahoo!ブログ より


_【社会】"部屋に大量の雑誌" アパートの2階床崩れ、住人ガレキの下敷きに…東京
6日夜、東京・豊島区の木造アパートの2階の床が崩れ、住人が一時、がれきの下敷きになった。

【社会】"部屋に大量の雑誌" アパートの2階床崩れ、住人ガレキの下敷きに…東京 より

佐藤さんの部屋には、大量の雑誌が積まれていたということで、警視庁などで崩落の原因をくわしく調べている。

【社会】"部屋に大量の雑誌" アパートの2階床崩れ、住人ガレキの下敷きに…東京 より


_【書籍流】積んでいた本が地震で崩れ、人命が失われるニュースまとめ(2008〜2011) PE2HO

_蔵書で圧死 - 武蔵野日和下駄

電子書籍だったら、これらの事故は起きずに済むのではないか。…電子書籍こそが貧乏人の味方、と思うのだけどなあ。

2011/01/18(火) [n年前の日記]

#1 [nitijyou] 先日買ってきたLEDセンサライトを玄関付近に設置

そのままだと人感センサが反応しない感じがしたので、AR-CADを使って色々シミュレーション。センサの範囲は水平垂直40度なので、ライトから垂直に線を引いて、そこから20度の線を引いて、設置する天井までの高さを、とかそんな感じで。

100円ショップで買っておいたPP板が部屋に転がっていたので、それを使って土台部分の加工を。ライトが17度ぐらい傾くような土台を作って、ライトと、ライトの固定する板、の間に挟み込んだ。

玄関の天井の桟?のところに、親父さんから貰ったL字型金具をねじ込んで、そこにライト+PP板の土台をぶら下げた。角度的にはイイ感じ。玄関を開けて入ると、ちゃんと反応する。

が、見た目が見苦しい。天井から何かがぶらんとぶら下がってる見たい目なので、チョーカッコ悪い。

お袋さんから「これじゃ明るさが足りない。こんなに暗くては玄関で作業ができない」と苦情が。いやいやいや。これは作業用のライトじゃないから…。真っ暗闇の中で足をぶつけたりするよりはマシだろう、てな目的でつけたライトなので…。作業する時はフツーに蛍光灯のスイッチを入れていただきたい。

少し調べたが、さすがに乾電池使用のLEDセンサライトで、作業ができるほどに明るいライトは売ってない模様。まあ当たり前だけど。そんな明るさになるぐらいの電流を流したらあっという間に乾電池が切れるだろうなあ…。玄関にコンセントの類があればもう少しなんとかなったんだろうけど、そういうものは無いし。ていうか、玄関のライトのスイッチが家の中に入ったところにある、というのが変なんだけど。 _3路スイッチ にしてあれば、玄関でもスイッチを入れられるし、家の中からもスイッチを入れられて、便利だっただろうに…。

#2 [pc] Windowsが起動しなくなった

chkdsk をかけたらWindows XPが起動しなくなってしまってかなり焦った。

流れとしては以下のような感じ。 ここまでで、一晩かかった…。

ワイヤレスキーボードは壊れてしまったらしい。 :

BUFFALO BSKBW03WH は、相変わらず無反応。上記の作業をしていた間、Ideapad S10-2 で不具合対策を検索していたので、もしかするとIdeapad S10-2 の無線LANと干渉してマズいことになっているのかも、と思ったが、Ideapad を終了させた後も無反応で。
  • 受信機側を別のUSBポートに差し直してみたり。
  • キーボード側の電池を抜き差ししたり。
  • 受信機とキーボートの位置を色々変えて様子を見てみたり。
しかし無反応。そもそもキーボード本体側のPOWER LEDが点灯してない。以前は、何かキーを押すと、POWER LEDが点灯した記憶があるのだけど。どうも完全に故障してしまったらしい…。

先日購入した CHERRY G85-23100JAAESF 有線キーボードを接続したけれど。どうもコレもBIOSに入れない感じで首を捻る。キー入力すると、入力したそのキーが連続して何度も入り続けてしまう模様。一度USBポートから抜いてから差し直すと正しく動作するのだけど。むしろワイヤレスキーボード サンワサプライ SKB-WL12BK のほうがちゃんとBISO画面にも入れる。有線キーボードのほうが正しく動作しなくて、ワイヤレスキーボードのほうが正しい動作するというのはなんだか不可解。ただ、G85-23100JAAESF は、Windowsが起動すると正常に動作する。ということはたぶん壊れているわけではないのだろう。一体何が起きているのやら。

2010/01/18(月) [n年前の日記]

#1 [pc] CD-RWの消去でハマる

ひとまず memtest86 3.5 を単独でCDに焼いて、D945GSEJT のメモリチェックにチャレンジしてみようと。手持ちのCD-RWの中から消してもいいものを選んで、消去・書き込み・ベリファイを。ちなみに、以下の環境。
ベリファイでめちゃくちゃエラーが出てきた。さては高速消去では無く、完全消去を選ばないとCD-RWを書き換えられないのかな。と思って試してみたが、ますますエラーが続出。うーん。

他のメディアを試すも、そちらも似たような状況。1枚だけならともかく2枚もダメとは…。いや、特定ロットがダメな場合は、5枚とか10枚買って全部ダメ、なんてこともあるだろうけど。しかしなんとなく、ドライブがダメとか、ソフトがダメとか、そういう可能性もありそうな気がする。何せ日立LGだし。Neroだし。

CD Manipulator で完全消去したらエラーが減ったという話も見かけたのでDLして試してみたり。消去しています的なメッセージダイアログが表示されたまま、いつまで立っても帰ってこない。うーん。

メディアがダメなのか、ドライブがダメなのか、ソフトがダメなのか。…メディアかなあ。maxell は評判悪いしなあ。

ドライブのファームウェアを更新してみた。 :

HWiNFO32 で確認した限りでは、GH22NS40 のファームウェアは NL00 らしい。検索したところ、どうやら今現在は NL02 が出ているらしい。ということで試しにDL。NL01も念のためにDLしておきたかったのだけど、日本語版サイトにはリンクが無い。仕方ないのでUSAサイトから。DLしたファイルは以下の通り。
  • GH22NS40_NL01(EW).zip
  • GH22NS40_NL02(ew).zip
解凍して、出てきた exe を実行。ファームウェアを更新。再起動。

試しに、エラーだらけになっていた1枚を、また、Nero Express 7 Essentials で完全消去してから、Windowsメモリ診断のisoを焼いてみたり。…おお。べりファイ時にエラーが出なかった。ということは、ファームウェア NL00 がバグバグだった、ということであろうか。

更にもう1枚も完全消去。…こっちは相変わらずダメだった。

別のソフトで試してみた。 :

CDBurnerXP というフリーソフトをインストールして、完全消去をしてみたり。消去処理はできたけど、書き込みをしようとした段階でエラーが出る。やっぱりメディアがダメみたい。

#2 [pc][d945gsejt] D945GSEJT機に対してWindowsメモリ診断を使ってみたり

Microsoftで、メモリを診断できるツールを配布していたらしい。

_Microsoft オンライン クラッシュ ダンプ解析サービス - windiag
_Windows Memory Diagnostic - コンピュータ系blog

mtinst.exe をDLして実行。FDに作るか、isoを保存するかと尋ねられるので、isoを保存。CD-R等に焼けば、ブート可能・いきなりメモリ診断をするCDが作れる。

Windowsメモリ診断というからには、Windowsを既にインストール済み・Windowsが起動してる環境でしか使えないのかな、と思ったけれど。そうではなくて、単独で動かせるツールらしい。要するに、Windowsをインストールする前に、メモリが正常かどうか確認することを目的としたツールなのかもしれず。メモリが壊れていたら、Windowsのインストール時に謎のエラーが続出するわけだけど。それらを全てをとにかくMicrosoftのせいにされるなんて冗談じゃねえ、ということなのだろうと想像。そういうわけで、OSインストール前には、せめて、コレでざっくりとチェックしておかないといかんのだろうなと。

さておき。D945GSEJT にUSBでDVDドライブを接続して、件のツールを動かしてみた。…おお。すんなりチェックが始まった。しかも全項目が「Succeeded」。やっぱり memtest86 がダメというか、このM/Bと memtest86 は相性が悪かった、ということなのだろうなあ。

「T」キーを押して、拡張テストもしてみる。1passするのに、めちゃくちゃ時間がかかった。とりあえずエラーは出ていない。たぶん、大丈夫だろう。メモリは初期不良品ではない。たぶん。

#3 [digital] 親父さんがイーサネットコンバータを買ってきた

PLANEX MZK-MF150B。ヨドバシで4,980円。先日購入した TOSHIBA 37Z9000 のポイントで買ってきたらしい。37Z9000 をLANに無線接続で参加させるために使う予定。

コンバータというか、そもそも無線ルータなんだけど。ルータモード、アクセスポイントモード、コンバータモードの3つを有していて、しかも手のひらサイズ。凄い時代になった…。

本体のスイッチを「コンバータモード」にして、添付CD-ROM内に入っているマニュアル(html)を見ながら設定。
  1. 設定作業をするために、作業に使うノートPC側の無線接続を切って、IPアドレスを手動で指定して固定。192.168.1.150とかそんな感じに。
  2. ノートPCとLANケーブルで接続して、ブラウザで、MZK-MF150B の工場出荷時の設定IP、192.168.1.250 を開くと設定管理ページが出てくる。
で、色々やるわけだけど、これが上手くいかない。

無線で接続しようとしているのは、NEC Aterm WR6670S。しかもアクセスポイントモードとして動作中。これがもし、PLANEX製の無線ルータであれば、おそらくボタン一発で繋がるのだろうけど、メーカが違うのでアレコレ手動で設定しないといけない。が、これが繋がらない。

1時間ぐらい作業して、ふと気がついた。Aterm側で、MACアドレスを指定して、接続できる機器をフィルタリングしていたことを、すっかり忘れてた…。ノートPC側で一時的に無線接続を有効にして、Aterm の設定管理ページにアクセスして、MZK-MF150B のMACアドレスを指定。MACアドレスは、MZK-MF150B の設定管理画面から知ることができる。ちなみに、本体の裏側に書いてある文字列とは微妙に違っていた。

元の作業に戻る。繋がった。よく判らんけど念のために Aterm と無線接続するための設定をプロファイルとして保存。ノートPC側のIPアドレスを自動取得にして、一旦 MZK-MF150B もノートPCも電源を落とす。MZK-MF150B → ノートPCの順で電源を入れてみたところ、ノートPC側の無線接続は使ってないのに、Googleに接続できた。ということは、ノートPCの有線LANポート → MZK-MF150B → <IEEE802.11g> → Aterm → 有線ルータ → インターネット、と繋がったということ。

後はコレを、37Z9000 に繋げばいいはず。

む。メーカサイトを覗いたら、どうやら新しいファームウェアが出ていたらしい。またPCに繋いで、更新しておいたほうがいいだろうか…。

2009/01/18() [n年前の日記]

#1 [iappli] テーブルデータ作成中

今度は結構ちゃんとできた、はず。

2008/01/18(金) [n年前の日記]

#1 [anime] ヤッターマン1話を鑑賞

どう見ても結界師のほうが面白そうなんですけど…。大丈夫なのかな、コレ。うーん。しかしこの企画の良い意味での脱力ぶりはこの時代において希少価値がありそうな感も…。うーん。

OP曲のアレンジの是非はともかく、OP映像の絵柄のタッチはかなり好み。何度もOPだけ再生してしまった。

_さとうけいいち - Wikipedia :

OP映像の演出を担当した方。

#2 [nitijyou] ヨドバシから自動ごますり器が届いた

_National製 BH-925 。3,300円。いりごま専用、らしい。単4電池4本で駆動。近所の電器店には、象印製自動ごますり器しか置いてなかったのだけど。象印のソレよりも高さが低目。また、象印のソレはボタンが出っ張っているけど、こちらはボタンが出っ張ってないので、収納時は邪魔にならない・間違って押してしまうことがなさそうな予感。

階下に持っていって、お袋さんや妹の前で使ってみた。概ね評判はヨサゲ。

ただ、以前、手回し式のごますり器を買ってきた妹は、自分の買ってきたソレの出番がなくなりそうなので、ちと残念そうな表情。別の何かに使えんかしら。>手回し式のごますり器。

手回し式のごますり器の何がいかんのかというと、指でつまむ取っ手部分が、くるくると回るようになってないので、ゴマをすってる間に指の皮が擦れて痛くなってくるという。設計者は詰めが甘い。

#3 [iappli] BG画像を分割・合致セルをカウントするスクリプトを作成

BG画像、というかBGマップ全体画像をセル単位に分割して ImageMap で表示できないかなと。 Python + PIL で、セル単位で分割・同じセルがあるかどうかをカウントするスクリプトを作成。

スクリプトはできたものの。セル単位をアレコレ変化させてカウントしてみても、どうしても128個以下にはならず。セル単位の上下反転・左右反転・90度回転を ImageMapがサポートしてれば、結構容量削減できそうなのだけど…。自前でBG描画ルーチンを作ってしまおうか。うーん。

#4 [prog] 「1行80文字まで」てのは現代においても有効なのかしら

プログラムソースを書くときに、「1行80文字以内におさめるのが望ましい」と昔言われてた記憶があるんだけど。それって今も有効なんだろうか…。

80文字までしか表示できない環境でプログラミングしてる人って、現代においてはどれくらい居るんだろう。どういう環境だとそういう制約がでてくるの? みたいな。

制約ではなくて、使い勝手や視認性の問題なんだろうか。横に長い行は見辛いとか。でも、縦に長いソースってのも見辛くないか。

2007/01/18(木) [n年前の日記]

#1 [iappli] カードを複数枚同時に入れ替えて欲しいという仕様追加が来ているのだけど

一旦は実装してみたが…どう考えてもマズイ。画面の中で何が起きてるのかさっぱりわからない。以前の状態でも、自分はもはやクリアできそうにない感じだったのに。これではもう完全にクリアできない。開発者自身が、1ステージすら先に進めない。いいのか? 本当にコレを実装して? とはいえ、要求どおりに実装しないと認可?が通らないみたいだし。

自分のようなヘタレでもクリアできるか、というのが難易度を上げるときの判断基準ではあったりするのだけど。バグチェックをしてる方からは、現状では簡単すぎる、という話が来ていて。バグチェックしてる間に、プレイする上での必勝法・コツに関して開眼してしまったのだろうか。あるいは。パッと見た瞬間に配置その他を記憶できる、常人離れした特殊な脳を持ってる人なのでは…。それともコレが、ゲーマー(?)が一般的に持っている能力なのか。

微妙に時間をずらして入れ替えてみるか…。あるいは、2枚 x 2箇所じゃなくて、3枚とか4枚で入れ替えるか…。

頭がこんがらがってきた。 :

例えば4枚カードがあるとして、1234のうち1と3を入れ替えたら3214になるわけだが、その次に1の位置と4の位置のカードを入れ替えようとした場合、1と4ではなく3と4を入れ替えて4213になるわけで、その次に1と3を入れ替えるということは…。カードを表示するために表示位置等を記録してるワークがあるわけだけど。表示順とワークの番号付けが一致してないわけで…。それらが微妙に時間差を持って1枚ずつ移動していくわけで…。移動しているそのカードに対して、あるいはこれから移動しようとしてる場所に居るカードに対して、別のカードが「これから俺はそこに移動する」とか「俺はこれから別の場所に行く」とか言ってきたときは、今移動してるカードはどう動けば、いや、何を頼りに動けばいいのか…。今までは、2枚を入れ替えた瞬間に、実は内部でカードの表示位置を元に戻してカード種類だけ入れ替える、というズルイことをしてたので処理が判りやすかったけど。今後は表示順とワーク番号が異なるからもう何がなんだか。

ではあるけれど。なんとかなった。1枚ずつ移動させていくわけじゃなくて、内部的には2枚、3枚、4枚という単位で一度に入れ替えて。移動が始まるタイミングだけを遅らせて。

入れ替える際に動く方向も時計回りのみにした。そのことで、移動してるカードの場所さえ覚えれば、後から、どこがどこに動いたか、類推しやすくなったような気もする。

夜、相手先にバイナリを送った。 :

Ver.0.0.12。期限的に、今からバイナリを送って間に合うのかどうか判らんけど。もっとも、「この要望は、実装に時間がかかる」と知らせてはあったし。期限よりも、実装してあるかどうかのほうが、優先順位が高いからこその「実装すべし」という話でもあったのだろう、と勝手な予想もするわけで。

夕方頃は、「これ、自分の頭じゃできないんじゃないか…?」と不安だったりもしたので、とりあえずは実装できてよかった…。

2006/01/18(水) [n年前の日記]

#1 [pc] dd_rescue について検索

_dd_rescue
_覚え書き/壊れたReiserFSの回復 - PukiWiki
_re-in-car-na-tion: dd_rescue大作戦

_あなたのhorikou - 故障したハードディスクからのデータ取得
とりあえずネットの接続できるところに行って,いろいろ調べた結果,壊れたLinuxディスク(reiserfsフォーマット)の復旧には「dd_rescue」コマンドを使えばいけるかもということがわかりました。

そこで,壊れたディスクをプライマリのマスタ,新しいディスク(壊れたディスクより容量の大きいもの)をセカンダリのマスタ,CD-ROMをセカンダリのスレーブにつないで,CDからknoppix(KNOPPIX Japanese edition)(当時はVer3.4でCD版でした。今はDVD版なんですね……。)をブート。

そしてターミナルを起動して,dd_rescueコマンド使って無事に全データを取得できました(何か壊れてるファイルがあるかもしれないけど,今のところ気づいてない。)。

あなたのhorikou より

しまった。knoppix にも dd_rescure とやらは入っていたのか。…ていうか dd と何が違うのかすら自分は判ってないんだけど。

_dd_rescue を自動翻訳して眺めた限りでは、 と書いてあるように見える。たぶん。自信無し。とりあえず、コピーの速度はたしかに期待できそう。

#2 [comic] _はてなダイアリー - ぶ〜けとは

集英社の月刊少女漫画誌(1978年9月号創刊〜2000年3月号休刊)。

はてなダイアリー - ぶ〜けとは より

休刊していたのか。知らなかった。

#3 [linux] wget のファイルサイズ制限

_レッドハット | サポート
大きなファイルのサポートを追加したwgetのアップデートパッケージが利用可能になりました。GNU Wgetは、HTTPまたはFTPを使用できるファイル取得ユーティリティです。このアップデートパッケージでは、2 GBを超えるファイルのダウンロードのサポートが追加されています。

レッドハット | サポート より

1.9.1-16 の段階で、2GB以上のファイルに対応してるらしい。

_Debian CD のよくある質問
Q. DVD は 4.4 GB もありますが、wget を使うと 379 MB あたりでダウンロードが止ってしまいます!

A. あなたの wget のバージョンが大きなファイルに対応していません。 つまり、4 GB を超えるファイルのダウンロードでは問題があります。 この制限がないバージョンの wget にアップグレードするか、コマンド ライン版のダウロードツールである curl を使って、次のように実行 してください:"curl -C - [URL]"

Debian CD のよくある質問 より

curl なるツールがあるのか。

_はてなダイアリー - curlとは
curl

URL を元にファイルをやりとりするコマンドラインツールです. curl は libcurl を使うので,上記のものを含む多様なプロトコルに対応しています.curl と cURL は,最初の 'k' を発音して [kurl] と呼びます.

はてなダイアリー - curlとは より

ふむ。しかし、
1995年、MITでHTML、Javascript、Javaアプレットにかわる次世代ウェブ記述言語として開発された。

はてなダイアリー - curlとは より

というものもあるらしくて。web検索してもどのcurlなのかよく判らず。ソフトの命名って大事な作業だなぁ。

_curlの使い方 :

Mac OS X 用のドキュメントだけど、解説が。
表示するのではなくてファイルに保存するには「 -O 」オプションを付けます ( アルファベットのオーです )。

curl -O http://img.yahoo.co.jp/images/tv/yjtv.gif

こうすると、「 yjtv.gif 」というファイルができます。既に、同名のファイルがあると上書きされてしまいますので注意が必要です。また、「 http://www.google.com/ 」のようにファイル名が無いURLの場合は、ファイルが作成されません。

curlの使い方 より

ふむ。

#4 [vine][linux] かなり頻繁に、Mozilla Firefox と emacs の間でクリップボードのやりとりができなくなるような

Webページを開いて、URLとタイトルをコピーして、emacs に戻ってペーストしても、期待した文字列が出てこない。emacs を終了・起動しなおすとペーストができるようになるけど、かなり不便。何が原因なのでありましょう。

xemacs とやらを使えば改善するのかしらん。でも、複数の設定ファイルを弄るのも面倒な予感。

#5 [pc] 起動ドライブに「USB-FDD」を指定できるBIOSがあるみたいなんだよなぁ

親父さんPCのBIOS設定を眺めていて気がついたのだけど。起動順のリストの中に、「USB-FDD」なる項目が。どういうことなんだろう。M/Bによっては、USB接続のFDDから起動することも可能になってたりする、ということなのでありましょうか。

_【コラム】PCスクランブル 第53回 便利アイテムUSBメモリを使いこなそう(3) (MYCOM PC WEB) :

現状の多くのマザーボードでは、USB-FDDやUSB-CDROMからの起動をサポートしていますが、最近のマザーボードではこれらに加えて、USB-HDDからの起動をサポートするものもあります。

【コラム】PCスクランブル 第53回 便利アイテムUSBメモリを使いこなそう(3) (MYCOM PC WEB) より

知らなかった。時代は進んでるのだな。

_I-O Data USB-FDX4 - レビュー - ZDNet Japan :

このドライブは、USBブートに対応したものです。BIOSレベルから認識して、MS-DOSやLinuxのブートディスクなどを起動できるようです。私は、Norton Ghost2003を利用する目的でしたので、MS-DOSのみ起動して見ました。

I-O Data USB-FDX4 - レビュー - ZDNet Japan より

なるほど、起動できる製品もあるのか。時代は進んで(以下略)。

この記事へのツッコミ

起動ドライブに「USB-FDD」を指定できるBIOSがある? by がんした    2006/01/19 01:12
>現状の多くのマザーボードでは、USB-FDDやUSB-CDROMからの起動をサポートしていますが、
>最近のマザーボードではこれらに加えて、USB-HDDからの起動をサポートするものもあります。

ウチのマザボも多分対応してるぽい。
ipod を USB 接続したまま XP を立ち上げると、どうも USB HDD と認識してしまい
優先的に OS を探してしまい(当然 ipod の中に OS なぞ無いから)黒画面のまま固まるし。

また、 OS を再セットアップする時など、インストールしてる段階で
USB 接続のキーボード&マウスが認識されてるし。
Re: 起動ドライブに「USB-FDD」を指定できるBIOSがある? by けいと    2006/01/19 14:04
> ipod を USB 接続したまま XP を立ち上げると、どうも USB HDD と認識してしまい
> 優先的に OS を探してしまい(当然 ipod の中に OS なぞ無いから)黒画面のまま固まるし。

うちもまったく同じです^^;
充電ついでにつけっぱなしにしたまま忘れていること多し。

しかもiTuneが中途半端に壊れているので
iTuneの起動にも失敗して
ちゃんと?1つのUSBメディア(うちはnanoなのでHDDではないが)として
1ドライブ割り当てられますね。
Re: 起動ドライブに「USB-FDD」を指定できるBIOSがある? by がんした    2006/01/21 02:00
>しかもiTuneが中途半端に壊れているので
>iTuneの起動にも失敗して
>ちゃんと?1つのUSBメディア(うちはnanoなのでHDDではないが)として
>1ドライブ割り当てられますね。

ウチのは iTune が自動認識して立ち上がるけど、エクスプロラーで見ると
1ドライブ扱いされてます。 iPod は、それが普通みたい。
つーか、USB 2.0 リムーバルメディアとしても使えるのが味噌であり、
また、だからこそ USB 接続したままだと OS が立ち上がらないという罠。


>充電ついでにつけっぱなしにしたまま忘れていること多し。

ウチの iPod はアニソンとネットラジオのほぼ再生専用器となってて、
主に通勤途中の車の中で聞いてます。
シガレターから電源取り、 iPod を充電しつつ FM トランスミッターで
音声飛ばし、カーラジオで再生。
Re: 起動ドライブに「USB-FDD」を指定できるBIOSがある? by けいと    2006/01/22 03:09
> ウチの iPod は

うーん、なんだろう…
アニソンも結構あるけどニューエイジとかユーロビートも入ってるなぁ

んなわけで、アニメのユーロバージョンとかあると
かなりロングプレイになります。
ベタですが高速道路や山道で「頭文字D」がかなり強烈に〜
(でも今は薔薇乙女のヘビーローテーション)

> シガレターから電源取り、 iPod を充電しつつ FM トランスミッターで
> 音声飛ばし、カーラジオで再生。

再生環境は私もほとんど車の中ですね。
カーステの外部入力にピンコードで直結なので
ノイズなし、FMの洩れなしです^^

残念ながら連動はしませんが、
メディア交換がいらずで重宝してます。

ちなみにうちのあたりは76.1MHzが地元FMなので
よそから来たであろうFMトランスミッターな人の曲を
よく横聞き?出来ちゃいます。

首都圏の人だってインターFM聞くだろうに
FMトランスミッターのデフォ値なんで76.1MHzが多いんだろう。

#6 [pc] コンバインモードを使えば昔のHDDも活用できるだろうか

_センチュリー製「ニコイチBOX」がパワーアップして帰ってきた!
_ノバックから3.5インチHDDを4台搭載可能なUSB2.0接続の外付けHDDケース「4台はい〜る Kit USB」が発売!

昔のHDD、容量が数GBしかないHDDも、こういったケースに入れて使えば…。

と思ったが。価格を考えると今時の外付けHDDを買ってしまった方が、容量的にも、電気使用量的にも、よほど幸せになれそうな。こういった製品は、大容量のHDDをガシガシ接続してこそ本領発揮なんだろうなぁ。

#7 [pc][neta] 静音PCは音を消す方向で対策をするのが常だが、音の種類を変えることで静音PCを目指すのは無理だろうか

波の音にしか聞こえないファン音とか。<サーファーな人に好まれそう。蝉の音にしか聞こえないファン音とか。<なんかEVAっぽい。アニメ声優の声にしか聞こえないファン音とか。

無茶を言ってるなー。

この記事へのツッコミ

Re: 静音PCは音を消す方向で対策をするのが常だが、音の種類を変えることで静音PCを目指すのは無理だろうか by けいと    2006/01/22 03:15
シーメンスならきっと何とかしてくれる。
Re: 静音PCは音を消す方向で対策をするのが常だが、音の種類を変えることで静音PCを目指すのは無理だろうか by mieki256    2006/01/26 20:50
> シーメンスならきっと何とかしてくれる。

シーメンスとは一体…
と思って検索してみたら。
http://www.siemens-hi.co.jp/index2.html
もしかして補聴器関係?
Re: 静音PCは音を消す方向で対策をするのが常だが、音の種類を変えることで静音PCを目指すのは無理だろうか by けいと    2006/01/29 21:04
「シーメンス 走行音」

あたりでググるといいかも。

#あくまでしゃれですので

#8 [anime] _宇宙戦士バルディオス「地球氷河期作戦」放映29話の脚本

_WEBアニメスタイル COLUMN - シナリオえーだば創作術 より。

バルディオスはほとんど見たことがなかったのだけど。こんな話があったとは…。失敗した。見ておくんだった。 *1

_「街角のメルヘン」誕生話 :

1968年に脚本が書かれた段階で「世に出るのが10年早すぎる」と評されて、1984年に映像化された段階でも「世に出るのが10年早すぎる」と評されてしまったアニメ作品、らしい。…気になる。一体どんな作品なんだらう。

いくらなんでも2006年の今ならば、世間にも受け入れられたりはしないだらうか。それともまた、「10年早すぎる」と評されてしまったりするのだらうか。

*1: とはいえ、脚本段階では想像力をかきたてられるのでグッときてしまうところもありそうな。

#9 [pc][linux][windows] 1CD Linux その他をCD-Rに焼き

復旧作業用に色々焼いてみたり。 _(via void GraphicWizardsLair( void ); //)

_Ultimate Boot CD :

HDDメーカが配布してるツールが、既にこの一枚にまとまってたりするらしい。数日前に日記に書いてた夢想が既に実現していたとは。testdisk とかその手のツールも満載。素晴らしい。ありがたや。…Linux が起動するわけではなさそうだけど。たぶん。

_SystemRescueCd :

testdisk とか dd_rescue とかとにかく色々入ってるらしい。 _入ってるツールのリスト を見ると、便利そう。knoppix と違って、デスクトップ用途で使うためのアプリまで入れてるわけではなさそうなので、復旧作業に必要になりそうなツールを余すところなく入れてくれてる感じ。

ついでに knoppix 4.0.2 DVD版も焼いてみたり :

どんな感じになってるのか楽しみ。<まだ起動してない。

_FreeSBIE :

_スラッシュドット ジャパン | FreeSBIE:インストール不要のFreeBSDベースLiveCD

CDから起動する FreeBSD。BSDとやらは使ったことがないので、これは焼かなかったけど。機会があれば触ってみたいと思うのでメモ。

#10 [windows] _フリーで使えるらしいファイル復元ツール PC INSPECTOR File Recovery

なんだか試用することになりそうな予感がするのでメモ。 _(via データ復元 - 中の人をあきらめる前に - Software Linkage)

#11 [windows] _wMD5sum - MD5ハッシュ値でファイルの同一性を確認するツール

linux から Windows 機に、ftp でファイルをダウンロードしたのだけど。転送に失敗してないか、md5 をチェックして確認する際に使用させてもらったり。ありがたや。

ちなみに linux の場合は、
md5sum --check hoge.md5
とかそんな感じ。

_FTPサイトに置かれているmd5sumとは :

メモ。

#12 [linux] knoppix 4.0.2 DVD版を起動してみた

親父さんのPC (DVDドライブ = GSA-4163B)で起動してみたけど。特に起動が遅くなることもなく、アッサリ起動してくれた。

ペイントツールのGIMPはもちろんだけど、3DCGツールの blender や、ドローツールの Inkscape、sodipodi まで入ってるのですな。このDVDが1枚あれば、大抵のことはできそうな。絵描きさんにもオススメな予感。 *1

CD版と違って、testdisk も動いてくれた。となると、今後はDVD版での配布が主流になっていくのであらうか。

終了時は、CD版と違って結構待たされた。umount 云々で時間がかかってるみたい。起動時のオプションのつけ方で回避できるのかもしれないけど、まだそのへん情報を集めてないのでした。
*1: いや、待てよ。タブレットは使えるのであらうか。親父さんのPCにはタブレットがついてないので確認できず。

#13 [linux] dd、あるいは、DMA off は遅すぎ

dd でコピーしようと思ったけど、1日近く走らせて30GB程度しか転送できてない状態。80GBほどコピーしなくちゃいけないのに…。

ということで、dd によるコピーは Ctrl+c で停止。hdparm で DMA on、I/O support = 32bit、multcount = 16 を指定。
hdparm -d1 -c1 -m16 /dev/hdd
みたいな。

また、dd ではなくて dd_rescue を使用することにした。
dd_rescue -l log.txt /dev/hdd /dev/hda
みたいな。/dev/hdd から /dev/hda にコピー。ついでに、./log.txt にログも取る。

dd_rescue なら、現在どこまで転送したか、常時表示してくれるのだな。気持ちいいぐらいに数値が上がっていく。まあ、途中でエラーが出てくるだろうけど。

#14 [vine] Vine Linux 3.2 を apt-get update、apt-get upgrade したら Mozilla Firefox 1.5 が入ったけど一部の拡張で問題が。

拡張も、1.5に対応したものが増えていて、色々アップデートしたのだけど。翻訳パネルが妙な動作をする。Firefox を起動すると、本来サイドバーに入るはずの翻訳パネルのウインドウが、Firefox とは違うウインドウとして表示されてしまう。

関連情報を検索したところ、 _Firefox まとめサイトのファイル置き場 にある translation_v1.4.13plus.xpi ならそういった不具合は起きないらしく。該当 xpi をDL・インストールした。まともな動作になった。

2005/01/18(火) [n年前の日記]

#1 [nitijyou] 地震が多いな…

新潟に続いて、今度は北海道か…。

#2 [game] _嗜好の細分化の果て・・・そして「超ニッチ市場」の誕生?

_(via クロノス・クラウン)

#3 [comic] _海老原大作 ロンド・トッカータ

ビックリ。実在してたのか…

#4 [digital] _東京モーターショー2003 音声対応のカーナビエージェント登場 〜その名は「SATSUKI」

_2006年、車は“ナイトライダー”への一歩を踏み出す
_「私とデート気分でドライブしましょう」〜“ナイト2000”第1号はサツキ・メイ・リン
こんなものがあったとは。知らなかった。

_「Mac miniを“KITT”にする」車載キットが登場 :


2004/01/18() [n年前の日記]

#1 [nitijyou] ローソンでWinXP Home UPGのお金を払ってきた

近所のコンビニがローソンであると思い込んで徒歩で行ったら実際はファミリーマートだったのでトボトボ帰ってきた。徒歩歩。自転車で国道沿いのローソンまで。

#2 [pc] クレバリーからHDDとOSが届いた

Seagate ST380011A(80GB、ATA100、7200rpm/2MB 流体軸受)と、WinXP Home SP1a OEMと、IDEスマートケーブル。代金+送料+手数料+消費税で、20,694円。パソコン工房の店頭で買ったら+5,000円だったはず。というわけで、Y氏から戴いたパーツでセットアップ開始。ひとまず、昔使ってたCD-ROMドライブをつけて作業。

MEMTEST86 v3.0のisoをCD-Rに焼いてメモリをチェック :

一巡させたけど問題無し。てことは、以前クラッシュした原因はメモリじゃなさそうですね。いや、何回か廻さないとハッキリ判らないだろうか。でも時間がかかるので、ひとまずこのへんで。

これがWinXPの画面か :

随分オシャレ。見栄えが変わるだけでも、結構印象が違ってくるのだな。

HDDのアクセスLEDがずっと点灯したまま :

気になる。

2003/01/18() [n年前の日記]

#1 また落ちてた

朝、サーバ機がまた落ちた。温度のせいか、kernelその他が動作不安定なせいか。

サーバ機M/B(TYAN S1573ATX-2)のBIOSが1.05な事に今頃気づいた。最新の1.06(それでも1999年公開)にアップデート。しかしM/BのPCBが適合しない可能性も。ウチのはかなり前のはず。不安。

2002/01/18(金) [n年前の日記]

#1 Painter6

Painter6のレンダー筆のバグにブチ切れ _(以下略)


IRC初体験。
面白い!
openCanvasのネットワークを使った描画、初体験。
面白い! つか凄く変な感じ〜

お付き合いしてくれた方々、ありがとうございます。
眠くなるまで付合わせちゃってスイマセン。
や、自分は昼夜逆転しちゃってるんで…
時間忘れて夢中になってしまいました(汗
社会人の皆様には大変申し訳無い事をしたと反省しきり。
てことで、とにかく感謝感謝、であります。

#2 [cg_tools] Painter6

Painter6のレンダー筆のバグにブチ切れ。
『「レンダー」で描画する筆を使うと、描画後に数ドットゴミが入る』ってヤツですよ。
描画色を黒、筆はペン-スクラッチボード、ブラシサイズを大きめにしてしばらく描き続けたりすれば、たぶんすぐ確認できるかと。
ちなみにMMXをon/offしようが変わりませんでした。


で、Painter5.5を再インストールですよ。
しかし、5.5はタブレット関連バグが頻繁に起きることを思い知らされ、またブチ切れ。

・筆圧が突然100%になったままになる。別のウインドウにフォーカスを移したり、マウス操作したりすると復帰。
・パレット操作をすると、謎の座標(パレット上の座標値?)から現在座標までヒャッと線が引かれる。
ってヤツですよ。
後者は6でも起きます。
ちなみに、タブレットはWACOM intuos GD-0608-U USBを使用。
Photoshopじゃなりません。
てことはタブレットドライバじゃなくてPainterでしょう原因は。

7は買ってないんですが。(お金無いし)
話によると、水彩筆の仕様がガラリと変わったそうで。
有名イラストレーター某T田氏などは、
「俺にとってのPainterは6で終わった」
とまで言ってるそうだし。


もうね。なんなんだろうと。このPainterってヤツは。

バグ修正の6.1へのUpdateプログラムとかも存在するんですけど。
英語版だけなんですよ。日本語版の修正パッチは無いんですよ。

開発スタッフがローカライズ版に対してやる気無しとか、
日本における某販売元が不具合報告を片っ端からゴミ箱に突っ込んでるとか、
色々噂はあるようですが。
参っちゃいますよ。
バグは多いわ、修正しないわ。
それでいて、余計な仕様変更や無意味な機能追加ばっかで。


そんなわけで、個人的にPainterに対して、
「こうしたらいいんじゃないか…」
と以下の点を望むのです。


1.日本語版は発売しない。

国を問わず、市場に流すのは全て英語版にする。
せいぜいマニュアルを翻訳するぐらいにして、プログラム自体は全世界で同じモノにしてしまう。

ローカライズ版の修正パッチ出すつもりが毛頭無いなら、最初からローカライズ版なんか出すなと。
そのほうが、開発元もユーザも、双方嬉しいでしょう?
開発元は「イヤな仕事」をせずに済むし、ユーザは修正パッチを利用できる。

頼むから無理するな。
最終的にとばっちりを食う…混乱するのはユーザなんだから。
嫌々、無理無理、日本語版を出すのはもう止めてくれ。


2.α版、β版を出してから、新バージョンを発売する。

もうね。今までの流れ見てるとね。
開発スタッフはバグチェックすら満足にしてないのがわかるのですよ。
バグチェック要員居ないんでしょ?
皆、機能実装に夢中になって、そういう泥仕事(?)はやりたくないんでしょ?

中にバグチェック要員居ないなら…
外部でやってもらう以外ないじゃん。

某MSの某OSみたいに、α版、β版を、期間制限でもつけて公表・配布したらどうかと。
そうすりゃ、世界中のPainter信者が、
「うわー新機能だー(ハァハァ」
とか言いながら、みっちりねっちりバグチェックしてくれる。
しかも無償でやってくれますよ。

ていうかバグチェック・修正に対するシステムが全然確立してないんとちゃう?
例: _ココ の「Current bug reports」ってとこ見ればわかると思う。
こういう風にしてけば、ちゃんと報告は集まるし、一つ一つバグを潰していけるはず。
こういうの、ちゃんとやってるのかヤツラは?

つか、そもそもバグ修正する気ないんだろうな。ヤツラ。


3.機能を切り分けて実装する。

例えば。
PSDファイルのバージョンが違ったら、もうファイルを読めない…
じゃあ、新しいバージョンで対応しよう。新しいPainterを出荷して対応しよう…
…とかそういうのをやるなと。
そういうことしたらまたバグが増えるじゃん。
中身弄ったら、お前等またエンバグやっちゃうだろ?
そういう時は、PSD←→RIFコンバータとか別個に作る。
本体と切り分けて実装するってのはどうかと。

とにかくPainterは肥大化しすぎです。
なんでもかんでも詰めこみすぎ。
プログラムの安定性を実現するだけの能力も無いのに…
安定性をそっちのけにして、無理して巨大なモノ作るなと。

とにかく細かく分ける。本体とは別個のプログラムにする。
そうすれば不具合起きても、対処が楽なはず。

もうね。無理しすぎなんですよ。
開発スタッフに言ってやりたい。
お前等は、天才プログラマーじゃないんだと。
バグを量産する凡才プログラマーでしかないんだから、身のほどをわきまえろと <ひでえ
自分の身の丈にあったサイズで作れと言いたい。


他にも色々あるんですが…
とにかくPainterは商品になってないと思うのであります。
こんなんじゃ、仮にお金があっても、新しいバージョンを買う気にならないですよ… (;´Д`)

もう今の機能で充分だから、とにかくバグを無くせと。
ブラシ描画なんて、この手のツールの根幹機能ですよ。
それがバグってて、しかも修正もしないってのはどうかしてる。
ユーザをバカにするのもいい加減にしろと言いたい。

とにかく使っててイライラしたので書きなぐってみました(爆)

2001/01/18(木) [n年前の日記]

#1 首が痛い

炬燵で寝てたら首が痛くなった。
横向くだけでも痛い。まいった。

2000/01/18(火) [n年前の日記]

#1 (NoTitle)今日は何もしてなかっ...

今日は何もしてなかったなぁ… (´Д`;)

以上、25 日分です。

過去ログ表示

Prev - 2024/12 - 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 31

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project